From 49be2ce0e97709081ba3ea88f76a0702f06d3fae Mon Sep 17 00:00:00 2001 From: jjz Date: Sat, 23 May 2015 12:36:58 +0800 Subject: [PATCH 01/63] no longer synchronized new address --- bitherj | 2 +- src/main/java/net/bither/utils/KeyUtil.java | 2 +- src/main/java/net/bither/xrandom/PrivateKeyUEntropyDialog.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bitherj b/bitherj index 2c6708b..0069b9a 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 2c6708b6527c244fb62d899bc7eb379ad7760551 +Subproject commit 0069b9a3a7afd8d9def2f0ef80250e3a90886d4b diff --git a/src/main/java/net/bither/utils/KeyUtil.java b/src/main/java/net/bither/utils/KeyUtil.java index 2e1bbc6..9579317 100644 --- a/src/main/java/net/bither/utils/KeyUtil.java +++ b/src/main/java/net/bither/utils/KeyUtil.java @@ -43,7 +43,7 @@ public static List
addPrivateKeyByRandomWithPassphras(IUEntropy iuEntro ECKey ecKey = ECKey.generateECKey(xRandom); ecKey = PrivateKeyUtil.encrypt(ecKey, password); Address address = new Address(ecKey.toAddress(), - ecKey.getPubKey(), PrivateKeyUtil.getEncryptedString(ecKey), ecKey.isFromXRandom()); + ecKey.getPubKey(), PrivateKeyUtil.getEncryptedString(ecKey), true, ecKey.isFromXRandom()); ecKey.clearPrivateKey(); addressList.add(address); AddressManager.getInstance().addAddress(address); diff --git a/src/main/java/net/bither/xrandom/PrivateKeyUEntropyDialog.java b/src/main/java/net/bither/xrandom/PrivateKeyUEntropyDialog.java index 8d81529..3d69e40 100644 --- a/src/main/java/net/bither/xrandom/PrivateKeyUEntropyDialog.java +++ b/src/main/java/net/bither/xrandom/PrivateKeyUEntropyDialog.java @@ -125,7 +125,7 @@ public void run() { // start encrypt ecKey = PrivateKeyUtil.encrypt(ecKey, password); Address address = new Address(ecKey.toAddress(), ecKey.getPubKey(), - PrivateKeyUtil.getEncryptedString(ecKey), ecKey.isFromXRandom()); + PrivateKeyUtil.getEncryptedString(ecKey), true, ecKey.isFromXRandom()); ecKey.clearPrivateKey(); addressList.add(address); addressStrs.add(address.getAddress()); From a4c4d05fe47c55cd72ee461da479337bbdfece8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E5=AE=B6=E5=BF=97?= Date: Thu, 28 May 2015 15:55:45 +0800 Subject: [PATCH 02/63] rebuild vanitygen in win64 --- vanitygen/windows/libeay32.dll | Bin 0 -> 2083840 bytes vanitygen/windows/msvcr100.dll | Bin 0 -> 829264 bytes vanitygen/windows/oclvanitygen64.exe | Bin 245248 -> 453632 bytes vanitygen/windows/vanitygen64.exe | Bin 209408 -> 415232 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 vanitygen/windows/libeay32.dll create mode 100644 vanitygen/windows/msvcr100.dll diff --git a/vanitygen/windows/libeay32.dll b/vanitygen/windows/libeay32.dll new file mode 100644 index 0000000000000000000000000000000000000000..7adefd1c9d1fb62476ee66a760ea70abfcbc9f42 GIT binary patch literal 2083840 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

&Xh$+Dtg!3~MYd|(1Kf;t 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

)g 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≷Z-$yp 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 z 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

    %ZrwOIb}Wi3^5ZQcO9#z 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ℑeUC+;%krc2mG7zC3}W7U8suZgGTb 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

    B5#(`6pCcc~Ng0H`zX;g<&?*Qu-*YXAJ8 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%0AuTG0U#Jr4ujZyniFcm%_Ry18XbHO7$1H#meC- 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

    #j7- zT|dWX$+v&^^mB!Xe~CMEK8EKWy?Nr4t=;!%eMLRbE$^GbTJIGx;8hc!IZ@gNR{1%v zy(ewpN*w{!a$_BmujOhh4 z3yyN`{dyle#J;XxF0J7-@lKxVN7Bqb5|Z<-;SreMaIbM*gI!eZ>(VkLR8~{$Hz88v z(BCYY17gIkSZU%{Sz;%ldv4CX`{Lvg$IybvxG!#GuOSlGyFX$nO$j`?beUODoSZSe zxBzbJdY0Plg`AXimk8a5>A0Bb&l2|%w_hW3I*iY(ENiequFQ32&tTGmPXh^1ueYF% zp(6KFE}<-RFUd`Pv@Rj2-8otZj^XRInXSf zDBBB%&qK7Z<1REu-{3hpf=wVNxai6r%(G;n7)arF=rTsrZRS+THhoqIh@W&Z^47Hb zE|@vHXhH!~OET}1y7GqfT=~c3rLfm7^1jK~SBZ64&-E}L#kCHK2f?NAEX(yb z=KddLKEbwZAECw3weP%{#HE+(WX=EElzmlWBg0=oFfI`UqD$V79lNjF4_#2qH|1aa z{x9syrPHq$fB#p_8|vN3$C6sTrq^e(ANth>srPN8*m%*zg9f?7R4|t}M?8G&D6ABZ zU=S8X?%fiXDlsmOq#Q@gsTxCLXI{*ndCW-Amyd-rY}WKC(`Ot#-8FIvm%;mTj>Meb z#Iq_t_I+owv)alEdx5B_d=s&7l=p(4kkMGbRHk^!r=I&!FNhBszgjQpe&{rVPf-J3 zv-%p<*QD$_=9{Z796l!}$o$PZW?D#_g>{@4p%d#SalHvMr{X~Br?|Zl<5ClnFY=4?o2_3j2gQfh zG|{$SGPGuiPsU)7I52-q7m+-Y?CEJP?`IdHzeKTn@5g&q&w;n^X<_lxnmQ6exqP;r zzJ-Xae22KW%AJTiU(v_q4@Nu_eYw0(NB>ff%gaQ+*t9_Bu3@r`6qXx}4)dZ`Z=&kuV|d#yMAq4s1EJNxPcq^x}~GVj5E==J{9 z_xrEDe$VvQ(iQ~L)mX~mpR(_^uC-B{iDQaNT^nfnjOi0-=sJB~8O!Kp?)GRV^J@Dz zVlGXtsJq4C=FJ4@+(|=>t}$jrGtEeU&fIm(luj&|S}=KhiJpTIF)x}}?Ax)@fm5o7 zP(=N^PyAAvzSR|eu9WjXZG6duLUV8JZ)ffn&6GAtyU+1@{hWzx^O9{Ixf64*^%_eC z8%LMARLQy@mIKLq$&RRXR?eR{U*xvTbmqDqv#_KjSvr-8@xI$P;L}GwVM?KFywY zsQn7h<7(gLd8gX9d!DcMYdr5#`!3G|wT}(8_$QSQ^E{mMSk<>hT^!;~m$0N#KA7|j8?_EXd-E?7r z(E0TH2TS!Q50bOZET44WV;0=JN?JZ_ejHvv0+9KWt{{f*MU4>i9wWCXGk59KWFD#7 zhVv}L^=r7#OiFa&h5=@!o10(hK04#>;DN|Q*LX!8eTotxw}Wx?`tsd(l6?O=Yq?L~ zE(+h~GV7E0NdR0qd|&!JtFI&6@-pY21%(YZZCLs*$Uc0KzrO7!_ZXU6OT^ptH1D~N z&g?n#JbT@c#94PC&RT}&zBjpkB&}T({WRo2>&tlMlC(BGjY}#mW&NM4yIg!-y-N3R zU0j-dne%L=ow%Tq4%h`GU&efqn^i45v(>hxaUJd8>`k({071IvwQWy*o@l#jePVpR z@lNCH@9ONkjGt;ewwL;+m&4g7j4v==Xq@#-&c4bxT~CfLGhS`H)%c0V+l@1y)4A_3 zPL=I=r*S^n9q%?y!FGJ$FpXcc@q}^K?>YNI<9v`ho;H4x@nyz&?45n9alTm{UuB%E zaD0t%=6gEcWt{bUjt?BJ@nJrvqnmFW|L6)c`{ zk5hDIkD1GEK2c-u-mMNOwP6&AL+G9b1yK)Xu2pix0&`xv30Cbiu%^iQr!`S(v!@-G zwL{*T7iI1+xlZfen*KqD@^;Vjm9O!
      >)N#)(1rp6_|9@;RQj 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%0Akn%+TNauPB+2v)p45u# z)vf&Q0p37-rptRsitgcSMEgsge+k!5rpw1jIX!{DkOp1&85T}xUC2KS$nQDhW|Ct} z7HeKwXnHbT&Li#VvT7TSReA{9lO$c9d>O|TU7kt?(!+Qosi4b^#HY)aZCPe|1}|x6 zw{sLzuFEsp+vyQ}hSa^jH1N&KIZk-3Oq1Po`4ibf&*C{(a9%K8en8sObj|T`7twx~b*^F^d97?l2GS!qmgqj1!0jaXeH-j>we3+{LRKmWAlvVXi4O=aJxAf#GZI^2j@hJ`=@puIoM?BYHNLiO!5+o^mUx zpl7l1b%nv-RU*^mxZW2l$v(R2!m&Ygt;^wEUG4jNcuF_740tQiHjz(}a92M6;%pM4 zr*J>fHpyYP8|-$7;ZoOqY;dF9Ch}F%k=M#UNh^8|7sa^O&||l7Y!Gc9x$id4b3VuA zuys$n?$X@O`ZHeMK|FdKR}!<7?`rUxJGhT9U7p&ToV=S{GI6fCT|?VxxjMDXURZ%5-%C*u3b2s=sGNylN4j*S0qW#;J-xIL;2t^u2D>v zZ<1y79G-H&I~VXNqGKS5ACf%X(&>I|;Te-uMXjR>sR`$$EMcFB$2!Ee_WxAw1vp2*zCZaH8u;T;#fs zYhBM^&h^k3=0k$(9(Hj(hJ#)AFzLFFYhBOaUe|LN8f)hh#;EIY9PN4nXStrjwCfq% z>v|4DkGc6^Ti2u5%XJU)ALsaId&;*-ce>m}I?}UPKVh%iVI1%T*C?iYxQOU_?&H%> zaSdg960d&R_82}%v`v!usp~mxINmKA_H*6CJw)e74)1=(p5q>-iQY?wCfF|TcHP5u zu4l0LS$lkju$${K{E}$?8N6lrM5&MsRB*Ad-MGq|UWZN)Q84vQzbF?gZt z5qy+r{t3*wE~As}bUD{`A4AXE>GBPtKR@MTjig=o5Ds)bf$x#vyu&I}+&W@AqTj=p zQ^{`jgGVUFIK7w7Qa?OwNSsn+I5M7QThMvIQ(>U+=elL!%675qT z>rc1K5XOG4d-y(?z-#5_Gq^|4W$RhYi!S?w)w4o<(>8pI^r2F`Digg*!Hph$S z*!PX$S0vbv*ley{h6vtEn%u@eJXI27aC9eovQKQkO0d5<@qia1N4fbm@_Dy1f5WJ|olRQ)DJxE+@n3 z@_o{qp2l>!J>KNWYxo>>3!e+H;B%g77$eUjyXg_U;tTuy6U8}1&m=ysCE7k2Jm|Wq z;Bzzyo?Eap(U=5Y`6b80MeJYvhUj-Gv$$j}`;2AqF-tUFPG85d!E|})dam1a*^_jn z%e|x-UEaFEPLE^buec^KT{ifd?N68O$OO7vn_*kg<&Q+uvv~bC?3eER9x0ZSHgq|B zBj+7mjv;mFayF?(mlb3m^U2^fn>Z$(WPP#PW}a6VBfFB3bomV#NYCPoEj$D8xiW
      ^^&&ANfWgy~n^{5%mD7 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
      {HU)ATo-a>|Bt9}o| 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

      `~ejf0kf=t;2(v%k%ha?3ipdk!eNXW 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�_U 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 ?8yt4PS7Ozv((R$iO~segCrLB}WufQwc)KH%K%? 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%0DGC1k=8CO*Okl6$9dW5Ey6<|0* zyZM;u%6T$k^_h)9@eLH0PuDMWB7Ve6iUtx>ulpQ;lTI}RfPff_nn7Ga}Uv;j%|?6=}pTG1GwLzlGuxoL@w~&LZN>8u3=z+HA2}H zl+grI*LLp|QPt$V^A{$=V*LqkzLWZW_s)W&v)Z6Xo46Gn8A4N^@N`PUZW}EF+}C2rOBR zYj_3HyzD zp!V+dagTHDNNduv+q4w0v&LlQsD2ty|IvYV(;RJYnwV!U5rMfZZf&RbbWRkVGez|s z=gJ-%+cI7gVMKh(N-|8g2B@D`=9ea~XHCrY7oYH&)mELGyd>_%wlnSK;C)_ELNQ zXd!T(UPk_rY-{c#-dz_%Y@3O6fg$ZDq{}VThfgI&ywaRa$;qr-s>zJFxdg3it`2ay zs|hATo6~}N%@rGQtQo@(WcX|fce-Xy;g6fCEmC7c=K=v0UOiL`x7jb=@+A4H=6hm9&M|&qqP3V^@jz+Q4@7;(Ec2>>DCmB`^W?f9N*4QDIq)zF- zUpN+}Mx`|o-i}gJ(jvt<6Ge4e+F_xcU2QjDmDuBJK`j|DI4rP~SOnL_#Zf#O_loqb zP1Wdu2~vJj(lAbVgIcvZ9(&Q1S)$Kxs?HzSu~s*fI9uJPlGIET>Ft}UhX!^RzseNX z4EkM|(pbGWC|W!;UMz|nJdTfC_$5p?7;~k4(%39tQ6E)ev}Vxlq>me^uMO!E|J~cv zAhw^OLvrPk{yHG~w+-019_%DnzQARVgz5$yA&IHArTS+L)S5#FN;83m5&)o5f|Ud=&KFXw!@dXr%gl+bhmPLnFL#{hmvp}DG`Xc z&&*iW1PJxd(r=wK2iq_87>;y^E~d5l86a1@*MCrXPR~1!8^gy;#BC)scFn``qX6Ze zFv{rec*61^wcUs%?kK>Vp59i}>+*G_-V`ua>D?1%rJTvD`N1cZ8g>7x(wEMm(k}o7 zr@KDs^sC5IjUTi14J$ovqD`Qc)}@?vdU{%Awe`sUU5A-eeNlg|$0i^Tyz&qh;!l)kN>$3!P@u+t0X25VNeJl{|6<-^4J79XS zNxI$-v=Q)O9pX2r0qNIK97b!Z@e<&-7+hNDNB#zR{WJp(3#^2Ek&uf_T+brp0YO|K4`P!(Dr96BRoMgn1`!Kfb z9_~c|nFDf+iQLPN+@W^S2V?5;VwcN8(fRZYKCJae#4R`x7f11aYzXuflIqN89+qMj zjAR7|s327;a%YHque4AmK<0kBz@r_Ae2UUPM1No-Nv`Pa2myCfsqo7}bWol>2BXQK zI|7u@YpBP@HFnnq1DsUp_iLj67un;u?4hMjdmNjB=K(`UH1*eU5qbS1L@A!3OpW?v zFxI!5XhD9ocL;5*i5AJ~cM#e#6YbtUpTv2D)@3?_4l&u)BfL>2-c3K=7{cpqqM7V| zUyVK)AMR>sV(#%{MiORKL@6F0!@a8kc@V;yvB8h_2lDzi3}}u9ef4T#O=dlJv5EMM zA8|h+zJUn*%$n1P--{;NU_Y8lXp0EwQ+G>X(QSqd*|U;8_#-P{=pO~Meb4}Xph+I( zCm&4YiHJG_jj5}A6(FrmG@Bo-Euqz6z_lh*>e-T2f_g4mKR$Ub+Cj(N^@- zgz9|gq8beD{m=(rQbV2m^t4tXxDB0bYtd`PU8gO?+VfM40b2_=p4iN#6wEo1Qn0Xu zN`i~SMb&t^UznTm4KBpRQQU#AdfDenqHtEx+;)~ONT z<3mTSy{f8jOtlN^s;MWZCWW31WEI){6`c-L>pv4Msf?Yu#b9SoNqSB-b@($qBjP{+ z5k6v5UfRhn=4u@isP28HU84t8NfLHE)k?n=z}PSJq3PcQsFrCR?Hd3FlWdbojY>?` z5CJCoqN?iXY3X8_2CRTzP25_I&dTSviK$T{63@xxSNyGf+L9wc%W<*Pam^_sf5vL~w zsOx8>3_pz;&lpk8O#){`b!Krii|esCh{caLQt2HQf5YO-EI!WSVixaU@g^3p+9;^; zGrNe>`rr(A=6JDBvZ!8}87;bS6=&JS)MT-!<*aaC*lAIn&%P`k>LseTo}DIU^c2

      #JBlmD1xdyJ1Jk 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
      JE1E11y6cz^aJ|S9U*r$>7TJ;;i4ErlY-)BE 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

      xgzRjo9_WbNiO3jp2M<~^&GrpqCj2u%y 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 du`%bdDQ7a9)w*E4>RacJ-K);6%-n1K^B(~GQ delta 42322 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 Oud03iZ`W`15B?8(TR;2& From c8c5b504b373c54101bed2abf814cc3520af7f59 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 28 May 2015 16:36:31 +0800 Subject: [PATCH 03/63] fix is_sync bug --- src/main/java/net/bither/db/AddressProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/bither/db/AddressProvider.java b/src/main/java/net/bither/db/AddressProvider.java index 9d053a7..24c2260 100644 --- a/src/main/java/net/bither/db/AddressProvider.java +++ b/src/main/java/net/bither/db/AddressProvider.java @@ -922,7 +922,7 @@ public void addAddress(final Address address) { this.mDb.getConn().setAutoCommit(false); String[] params = new String[]{address.getAddress(), address.hasPrivKey() ? address.getEncryptPrivKeyOfDb() : null, Base58.encode(address.getPubKey()), - Integer.toString(address.isFromXRandom() ? 1 : 0), Integer.toString(address.isSyncComplete() ? 1 : 0), Integer.toString(address.isTrashed() ? 1 : 0), Long.toString(address.getSortTime())}; + Integer.toString(address.isFromXRandom() ? 1 : 0), Integer.toString(address.isTrashed() ? 1 : 0), Integer.toString(address.isSyncComplete() ? 1 : 0), Long.toString(address.getSortTime())}; PreparedStatement stmt = this.mDb.getConn().prepareStatement(insertAddressSql); if (params != null) { for (int i = 0; i < params.length; i++) { From fd63f9965df7e1b5c152a5ad775be65594bf25e7 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 28 May 2015 16:37:24 +0800 Subject: [PATCH 04/63] upgrade bitherj --- bitherj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitherj b/bitherj index 0069b9a..e7b3bef 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 0069b9a3a7afd8d9def2f0ef80250e3a90886d4b +Subproject commit e7b3befbb76e8744603aac6953faa19f4370bcca From e121a7cce88364fccd415668a660e2a047e4bcc2 Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Fri, 5 Jun 2015 16:07:20 +0800 Subject: [PATCH 05/63] optimize sync performance --- src/main/java/net/bither/db/BlockProvider.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/net/bither/db/BlockProvider.java b/src/main/java/net/bither/db/BlockProvider.java index 06b1a05..ce78f61 100644 --- a/src/main/java/net/bither/db/BlockProvider.java +++ b/src/main/java/net/bither/db/BlockProvider.java @@ -270,13 +270,11 @@ public boolean isExist(byte[] blockHash) { public void addBlocks(List blockItemList) { final List addBlockList = new ArrayList(); - List allBlockList = getAllBlocks(); for (Block item : blockItemList) { - if (!allBlockList.contains(item)) { + if (!this.blockExists(item.getBlockHash())) { addBlockList.add(item); } } - allBlockList.clear(); try { this.mDb.getConn().setAutoCommit(false); for (Block item : addBlockList) { From 12833fc1441255d79ad24215012b3960fb494edc Mon Sep 17 00:00:00 2001 From: jjz Date: Fri, 12 Jun 2015 10:28:12 +0800 Subject: [PATCH 06/63] upgrade db --- bitherj | 2 +- .../net/bither/core/EnDesktopHDAccount.java | 221 +++++++++ .../net/bither/core/EnDesktopHDMAddress.java | 161 +++++++ .../net/bither/core/EnDesktopHDMKeychain.java | 444 ++++++++++++++++++ .../java/net/bither/db/AddressDBHelper.java | 21 + .../java/net/bither/db/AddressProvider.java | 2 +- .../java/net/bither/db/EnDesktopProvider.java | 132 ++++++ 7 files changed, 981 insertions(+), 2 deletions(-) create mode 100644 src/main/java/net/bither/core/EnDesktopHDAccount.java create mode 100644 src/main/java/net/bither/core/EnDesktopHDMAddress.java create mode 100644 src/main/java/net/bither/core/EnDesktopHDMKeychain.java create mode 100644 src/main/java/net/bither/db/EnDesktopProvider.java diff --git a/bitherj b/bitherj index e7b3bef..eb75889 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit e7b3befbb76e8744603aac6953faa19f4370bcca +Subproject commit eb75889d077d1f56cd24e20c571816cbb659a182 diff --git a/src/main/java/net/bither/core/EnDesktopHDAccount.java b/src/main/java/net/bither/core/EnDesktopHDAccount.java new file mode 100644 index 0000000..3ab431d --- /dev/null +++ b/src/main/java/net/bither/core/EnDesktopHDAccount.java @@ -0,0 +1,221 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.core; + +import net.bither.bitherj.core.*; +import net.bither.bitherj.crypto.hd.DeterministicKey; +import net.bither.bitherj.crypto.hd.HDKeyDerivation; +import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.utils.Utils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.*; + +public class EnDesktopHDAccount { + + private long balance = 0; + private static final int LOOK_AHEAD_SIZE = 100; + + protected int hdSeedId = -1; + + private static final Logger log = LoggerFactory.getLogger(EnDesktopHDAccount.class); + + public void supplyEnoughKeys(boolean isSyncedComplete) { + int lackOfExternal = issuedExternalIndex() + 1 + LOOK_AHEAD_SIZE - + allGeneratedExternalAddressCount(); + if (lackOfExternal > 0) { + supplyNewExternalKey(lackOfExternal, isSyncedComplete); + } + + int lackOfInternal = issuedInternalIndex() + 1 + LOOK_AHEAD_SIZE - + allGeneratedInternalAddressCount(); + if (lackOfInternal > 0) { + supplyNewInternalKey(lackOfInternal, isSyncedComplete); + } + } + + + private void supplyNewInternalKey(int count, boolean isSyncedComplete) { + DeterministicKey root = HDKeyDerivation.createMasterPubKeyFromExtendedBytes + (getInternalPub()); + int firstIndex = allGeneratedInternalAddressCount(); + ArrayList as = new ArrayList(); + for (int i = firstIndex; + i < firstIndex + count; + i++) { + as.add(new HDAccount.HDAccountAddress(root.deriveSoftened(i).getPubKey(), AbstractHD.PathType + .INTERNAL_ROOT_PATH, i, isSyncedComplete)); + } + AbstractDb.hdAccountProvider.addAddress(as); + log.info("HD supplied {} internal addresses", as.size()); + } + + private void supplyNewExternalKey(int count, boolean isSyncedComplete) { + DeterministicKey root = HDKeyDerivation.createMasterPubKeyFromExtendedBytes + (getExternalPub()); + int firstIndex = allGeneratedExternalAddressCount(); + ArrayList as = new ArrayList(); + for (int i = firstIndex; + i < firstIndex + count; + i++) { + as.add(new HDAccount.HDAccountAddress(root.deriveSoftened(i).getPubKey(), AbstractHD.PathType + .EXTERNAL_ROOT_PATH, i, isSyncedComplete)); + } + AbstractDb.hdAccountProvider.addAddress(as); + log.info("HD supplied {} external addresses", as.size()); + } + + public void onNewTx(Tx tx, List relatedAddresses, Tx.TxNotificationType txNotificationType) { + if (relatedAddresses == null || relatedAddresses.size() == 0) { + return; + } + + int maxInternal = -1, maxExternal = -1; +// for (HDAccount.HDAccountAddress a : relatedAddresses) { +// if (a.pathType == AbstractHD.PathType.EXTERNAL_ROOT_PATH) { +// if (a.index > maxExternal) { +// maxExternal = a.index; +// } +// } else { +// if (a.index > maxInternal) { +// maxInternal = a.index; +// } +// } +// } + + log.info("HD on new tx issued ex {}, issued in {}", maxExternal, maxInternal); + if (maxExternal >= 0 && maxExternal > issuedExternalIndex()) { + updateIssuedExternalIndex(maxExternal); + } + if (maxInternal >= 0 && maxInternal > issuedInternalIndex()) { + updateIssuedInternalIndex(maxInternal); + } + + supplyEnoughKeys(true); + + long deltaBalance = getDeltaBalance(); +// AbstractApp.notificationService.notificatTx(HDAccountPlaceHolder, tx, txNotificationType, +// deltaBalance); + } + + private long calculateUnconfirmedBalance() { + long balance = 0; + + List txs = AbstractDb.hdAccountProvider.getHDAccountUnconfirmedTx(); + Collections.sort(txs); + + Set invalidTx = new HashSet(); + Set spentOut = new HashSet(); + Set unspendOut = new HashSet(); + + for (int i = txs.size() - 1; i >= 0; i--) { + Set spent = new HashSet(); + Tx tx = txs.get(i); + + Set inHashes = new HashSet(); + for (In in : tx.getIns()) { + spent.add(new OutPoint(in.getPrevTxHash(), in.getPrevOutSn())); + inHashes.add(in.getPrevTxHash()); + } + + if (tx.getBlockNo() == Tx.TX_UNCONFIRMED + && (Utils.isIntersects(spent, spentOut) || Utils.isIntersects(inHashes, invalidTx))) { + invalidTx.add(tx.getTxHash()); + continue; + } + + spentOut.addAll(spent); + HashSet addressSet = getBelongAccountAddresses(tx.getOutAddressList()); + for (Out out : tx.getOuts()) { + if (addressSet.contains(out.getOutAddress())) { + unspendOut.add(new OutPoint(tx.getTxHash(), out.getOutSn())); + balance += out.getOutValue(); + } + } + spent.clear(); + spent.addAll(unspendOut); + spent.retainAll(spentOut); + for (OutPoint o : spent) { + Tx tx1 = AbstractDb.txProvider.getTxDetailByTxHash(o.getTxHash()); + unspendOut.remove(o); + for (Out out : tx1.getOuts()) { + if (out.getOutSn() == o.getOutSn()) { + balance -= out.getOutValue(); + } + } + } + } + return balance; + } + + private long getDeltaBalance() { + long oldBalance = this.balance; + this.updateBalance(); + return this.balance - oldBalance; + } + + public void updateBalance() { + this.balance = AbstractDb.hdAccountProvider.getHDAccountConfirmedBanlance(hdSeedId) + + calculateUnconfirmedBalance(); + } + + public HashSet getBelongAccountAddresses(List addressList) { + return AbstractDb.hdAccountProvider.getBelongAccountAddresses(addressList); + } + + public void updateIssuedInternalIndex(int index) { + AbstractDb.hdAccountProvider.updateIssuedIndex(AbstractHD.PathType.INTERNAL_ROOT_PATH, index); + } + + public void updateIssuedExternalIndex(int index) { + AbstractDb.hdAccountProvider.updateIssuedIndex(AbstractHD.PathType.EXTERNAL_ROOT_PATH, index); + } + + public byte[] getInternalPub() { + // return AbstractDb.addressProvider.getInternalPub(hdSeedId); + return new byte[]{}; + } + + public byte[] getExternalPub() { + + //return AbstractDb.addressProvider.getExternalPub(hdSeedId); + return new byte[]{}; + } + + public int issuedInternalIndex() { + + return AbstractDb.hdAccountProvider.issuedIndex(AbstractHD.PathType.INTERNAL_ROOT_PATH); + } + + public int issuedExternalIndex() { + return AbstractDb.hdAccountProvider.issuedIndex(AbstractHD.PathType.EXTERNAL_ROOT_PATH); + + } + + private int allGeneratedInternalAddressCount() { + return AbstractDb.hdAccountProvider.allGeneratedAddressCount(AbstractHD.PathType + .INTERNAL_ROOT_PATH); + } + + private int allGeneratedExternalAddressCount() { + return AbstractDb.hdAccountProvider.allGeneratedAddressCount(AbstractHD.PathType + .EXTERNAL_ROOT_PATH); + } +} diff --git a/src/main/java/net/bither/core/EnDesktopHDMAddress.java b/src/main/java/net/bither/core/EnDesktopHDMAddress.java new file mode 100644 index 0000000..1ab184d --- /dev/null +++ b/src/main/java/net/bither/core/EnDesktopHDMAddress.java @@ -0,0 +1,161 @@ +package net.bither.core; + +import net.bither.bitherj.core.Address; +import net.bither.bitherj.core.HDMAddress; +import net.bither.bitherj.core.Tx; +import net.bither.bitherj.crypto.TransactionSignature; +import net.bither.bitherj.crypto.hd.DeterministicKey; +import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.exception.PasswordException; +import net.bither.bitherj.script.Script; +import net.bither.bitherj.script.ScriptBuilder; +import net.bither.bitherj.utils.Utils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class EnDesktopHDMAddress extends Address { + public static interface HDMFetchOtherSignatureDelegate { + List getOtherSignature(int addressIndex, CharSequence password, + List unsignHash, Tx tx); + } + + private EnDesktopHDMKeychain keychain; + private HDMAddress.Pubs pubs; + + public EnDesktopHDMAddress(HDMAddress.Pubs pubs, EnDesktopHDMKeychain keychain, boolean isSyncComplete) { + this(pubs, pubs.getAddress(), isSyncComplete, keychain); + } + + public EnDesktopHDMAddress(HDMAddress.Pubs pubs, String address, boolean isSyncComplete, EnDesktopHDMKeychain keychain) { + super(address, pubs.getMultiSigScript().getProgram(), pubs.index, isSyncComplete, true, + false, null); + this.keychain = keychain; + this.pubs = pubs; + } + + public int getIndex() { + return pubs.index; + } + + public EnDesktopHDMKeychain getKeychain() { + return keychain; + } + + public void setKeychain(EnDesktopHDMKeychain keychain) { + this.keychain = keychain; + } + + @Override + public List signHashes(List unsignedInHashes, CharSequence passphrase) throws + PasswordException { + throw new RuntimeException("hdm address can't sign transactions all by self"); + } + + public void signTx(Tx tx, CharSequence passphrase, HDMFetchOtherSignatureDelegate delegate) { + tx.signWithSignatures(this.signWithOther(tx.getUnsignedInHashesForHDM(getPubKey()), + passphrase, tx, delegate)); + } + + public void signTx(Tx tx, CharSequence password, HDMFetchOtherSignatureDelegate delegateCold, + HDMFetchOtherSignatureDelegate delegateRemote) { + List unsigns = tx.getUnsignedInHashesForHDM(getPubKey()); + List coldSigs = delegateCold.getOtherSignature(getIndex(), + password, unsigns, tx); + List remoteSigs = delegateRemote.getOtherSignature(getIndex(), + password, unsigns, tx); + assert coldSigs.size() == remoteSigs.size() && coldSigs.size() == unsigns.size(); + List joined = formatInScript(coldSigs, remoteSigs, getPubKey()); + tx.signWithSignatures(joined); + } + + public List signWithOther(List unsignHash, CharSequence password, Tx tx, + HDMFetchOtherSignatureDelegate delegate) { + ArrayList hotSigs = signMyPart(unsignHash, password); + List otherSigs = delegate.getOtherSignature(getIndex(), password, + unsignHash, tx); + assert hotSigs.size() == otherSigs.size() && hotSigs.size() == unsignHash.size(); + return formatInScript(hotSigs, otherSigs, pubs.getMultiSigScript().getProgram()); + } + + public ArrayList signMyPart(List unsignedHashes, + CharSequence password) { + DeterministicKey key = keychain.getExternalKey(pubs.index, password); + ArrayList sigs = new ArrayList(); + for (int i = 0; + i < unsignedHashes.size(); + i++) { + TransactionSignature transactionSignature = new TransactionSignature(key.sign + (unsignedHashes.get(i)), TransactionSignature.SigHash.ALL, false); + sigs.add(transactionSignature); + } + key.wipe(); + return sigs; + } + + public String signMessage(String msg, CharSequence password) { + DeterministicKey key = keychain.getExternalKey(pubs.index, password); + String result = key.signMessage(msg); + key.clearPrivateKey(); + return result; + } + + @Override + public String getFullEncryptPrivKey() { + throw new RuntimeException("hdm address can't get encrypted private key"); + } + + public byte[] getPubCold() { + return pubs.cold; + } + + public byte[] getPubHot() { + return pubs.hot; + } + + public byte[] getPubRemote() { + return pubs.remote; + } + + public static List formatInScript(List signs1, + List signs2, + byte[] scriptPubKey) { + List result = new ArrayList(); + for (int i = 0; + i < signs1.size(); + i++) { + List signs = new ArrayList(2); + signs.add(signs1.get(i)); + signs.add(signs2.get(i)); + result.add(ScriptBuilder.createP2SHMultiSigInputScript(signs, + scriptPubKey).getProgram()); + } + return result; + } + + public List getPubs() { + ArrayList list = new ArrayList(); + list.add(pubs.hot); + list.add(pubs.cold); + list.add(pubs.remote); + return list; + } + + @Override + public void updateSyncComplete() { + AbstractDb.addressProvider.syncComplete(keychain.getHdSeedId(), pubs.index); + } + + @Override + public boolean isFromXRandom() { + return keychain.isFromXRandom(); + } + + @Override + public boolean isHDM() { + return true; + } + + +} diff --git a/src/main/java/net/bither/core/EnDesktopHDMKeychain.java b/src/main/java/net/bither/core/EnDesktopHDMKeychain.java new file mode 100644 index 0000000..ec5d023 --- /dev/null +++ b/src/main/java/net/bither/core/EnDesktopHDMKeychain.java @@ -0,0 +1,444 @@ +package net.bither.core; + + +import com.google.common.base.Predicate; +import com.google.common.collect.Collections2; +import net.bither.bitherj.AbstractApp; +import net.bither.bitherj.api.CreateHDMAddressApi; +import net.bither.bitherj.core.AbstractHD; +import net.bither.bitherj.core.HDMAddress; +import net.bither.bitherj.core.HDMBId; +import net.bither.bitherj.crypto.ECKey; +import net.bither.bitherj.crypto.EncryptedData; +import net.bither.bitherj.crypto.PasswordSeed; +import net.bither.bitherj.crypto.SecureCharSequence; +import net.bither.bitherj.crypto.hd.DeterministicKey; +import net.bither.bitherj.crypto.hd.HDKeyDerivation; +import net.bither.bitherj.crypto.mnemonic.MnemonicCode; +import net.bither.bitherj.crypto.mnemonic.MnemonicException; +import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.qrcode.QRCodeUtil; +import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.PrivateKeyUtil; +import net.bither.bitherj.utils.Utils; +import net.bither.db.EnDesktopProvider; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.annotation.Nullable; +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +public class EnDesktopHDMKeychain extends AbstractHD { + + public static interface HDMFetchRemotePublicKeys { + void completeRemotePublicKeys(CharSequence password, List partialPubs) + throws Exception; + } + + public static interface HDMFetchRemoteAddresses { + List getRemoteExistsPublicKeys(CharSequence password); + } + + public static interface HDMAddressChangeDelegate { + public void hdmAddressAdded(EnDesktopHDMAddress address); + } + + private static final Logger log = LoggerFactory.getLogger(EnDesktopHDMKeychain.class); + + + protected ArrayList allCompletedAddresses; + private Collection addressesInUse; + private Collection addressesTrashed; + + + private HDMAddressChangeDelegate addressChangeDelegate; + + public EnDesktopHDMKeychain(byte[] mnemonicSeed, CharSequence password) throws MnemonicException + .MnemonicLengthException { + this.mnemonicSeed = mnemonicSeed; + String firstAddress = null; + EncryptedData encryptedMnemonicSeed = null; + EncryptedData encryptedHDSeed = null; + ECKey k = new ECKey(mnemonicSeed, null); + String address = k.toAddress(); + k.clearPrivateKey(); + + hdSeed = seedFromMnemonic(mnemonicSeed); + encryptedHDSeed = new EncryptedData(hdSeed, password, isFromXRandom); + encryptedMnemonicSeed = new EncryptedData(mnemonicSeed, password, isFromXRandom); + firstAddress = getFirstAddressFromSeed(password); + wipeHDSeed(); + wipeMnemonicSeed(); + hdSeedId = EnDesktopProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), + encryptedHDSeed.toEncryptedString(), firstAddress, isFromXRandom, address, null, null); + allCompletedAddresses = new ArrayList(); + + } + + // Create With Random + public EnDesktopHDMKeychain(SecureRandom random, CharSequence password) { + isFromXRandom = random.getClass().getCanonicalName().indexOf("XRandom") >= 0; + mnemonicSeed = new byte[32]; + String firstAddress = null; + EncryptedData encryptedMnemonicSeed = null; + EncryptedData encryptedHDSeed = null; + while (firstAddress == null) { + try { + random.nextBytes(mnemonicSeed); + hdSeed = seedFromMnemonic(mnemonicSeed); + encryptedHDSeed = new EncryptedData(hdSeed, password, isFromXRandom); + encryptedMnemonicSeed = new EncryptedData(mnemonicSeed, password, isFromXRandom); + firstAddress = getFirstAddressFromSeed(password); + } catch (Exception e) { + e.printStackTrace(); + } + } + ECKey k = new ECKey(mnemonicSeed, null); + String address = k.toAddress(); + k.clearPrivateKey(); + wipeHDSeed(); + wipeMnemonicSeed(); + hdSeedId = EnDesktopProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), + encryptedHDSeed.toEncryptedString(), firstAddress, isFromXRandom, address, null, null); + allCompletedAddresses = new ArrayList(); + } + + // From DB + public EnDesktopHDMKeychain(int seedId) { + this.hdSeedId = seedId; + allCompletedAddresses = new ArrayList(); + initFromDb(); + } + + // Import + public EnDesktopHDMKeychain(EncryptedData encryptedMnemonicSeed, CharSequence password, + HDMFetchRemoteAddresses fetchDelegate) throws + HDMBitherIdNotMatchException, MnemonicException.MnemonicLengthException { + mnemonicSeed = encryptedMnemonicSeed.decrypt(password); + hdSeed = seedFromMnemonic(mnemonicSeed); + isFromXRandom = encryptedMnemonicSeed.isXRandom(); + EncryptedData encryptedHDSeed = new EncryptedData(hdSeed, password, isFromXRandom); + allCompletedAddresses = new ArrayList(); + ArrayList as = new ArrayList(); + ArrayList uncompPubs = new ArrayList(); + if (fetchDelegate != null) { + List pubs = fetchDelegate.getRemoteExistsPublicKeys(password); + if (pubs.size() > 0) { + try { + DeterministicKey root = externalChainRoot(password); + byte[] pubDerived = root.deriveSoftened(0).getPubKey(); + byte[] pubFetched = pubs.get(0).hot; + root.wipe(); + if (!Arrays.equals(pubDerived, pubFetched)) { + wipeMnemonicSeed(); + wipeHDSeed(); + throw new HDMBitherIdNotMatchException(); + } + } catch (MnemonicException.MnemonicLengthException e) { + wipeMnemonicSeed(); + wipeHDSeed(); + throw e; + } + } + for (HDMAddress.Pubs p : pubs) { + if (p.isCompleted()) { + as.add(new EnDesktopHDMAddress(p, this, false)); + } else { + uncompPubs.add(p); + } + } + } + ECKey k = new ECKey(mnemonicSeed, null); + String address = k.toAddress(); + k.clearPrivateKey(); + String firstAddress = getFirstAddressFromSeed(password); + wipeMnemonicSeed(); + wipeHDSeed(); + + this.hdSeedId = EnDesktopProvider.getInstance().addHDKey(encryptedMnemonicSeed + .toEncryptedString(), encryptedHDSeed.toEncryptedString(), firstAddress, + isFromXRandom, address, null, null); + if (as.size() > 0) { + EnDesktopProvider.getInstance().completeHDMAddresses(getHdSeedId(), as); + allCompletedAddresses.addAll(as); + if (uncompPubs.size() > 0) { + EnDesktopProvider.getInstance().prepareHDMAddresses(getHdSeedId(), uncompPubs); + for (HDMAddress.Pubs p : uncompPubs) { + AbstractDb.addressProvider.setHDMPubsRemote(getHdSeedId(), p.index, p.remote); + } + } + } + } + + + public int prepareAddresses(int count, CharSequence password, byte[] coldExternalRootPub) { + DeterministicKey externalRootHot; + DeterministicKey externalRootCold = HDKeyDerivation.createMasterPubKeyFromExtendedBytes + (coldExternalRootPub); + + try { + externalRootHot = externalChainRoot(password); + externalRootHot.clearPrivateKey(); + } catch (MnemonicException.MnemonicLengthException e) { + return 0; + } + ArrayList pubs = new ArrayList(); + int startIndex = 0; + int maxIndex = EnDesktopProvider.getInstance().maxHDMAddressPubIndex(getHdSeedId()); + if (maxIndex >= 0) { + startIndex = maxIndex + 1; + } + + if (startIndex > 0) { + HDMBId id = HDMBId.getHDMBidFromDb(); + if (id != null) { + String hdmIdAddress = id.getAddress(); + if (!Utils.compareString(hdmIdAddress, Utils.toAddress(externalRootCold + .deriveSoftened(0).getPubKeyHash()))) { + throw new HDMColdPubNotSameException(); + } + } + } + + for (int i = startIndex; + pubs.size() < count; + i++) { + HDMAddress.Pubs p = new HDMAddress.Pubs(); + try { + p.hot = externalRootHot.deriveSoftened(i).getPubKey(); + } catch (Exception e) { + e.printStackTrace(); + p.hot = HDMAddress.Pubs.EmptyBytes; + } + try { + p.cold = externalRootCold.deriveSoftened(i).getPubKey(); + } catch (Exception e) { + e.printStackTrace(); + p.cold = HDMAddress.Pubs.EmptyBytes; + } + p.index = i; + pubs.add(p); + } + EnDesktopProvider.getInstance().prepareHDMAddresses(getHdSeedId(), pubs); + if (externalRootHot != null) { + externalRootHot.wipe(); + } + if (externalRootCold != null) { + externalRootCold.wipe(); + } + return pubs.size(); + } + + + public List getAddresses() { + synchronized (allCompletedAddresses) { + if (addressesInUse == null) { + addressesInUse = Collections2.filter(allCompletedAddresses, + new Predicate() { + @Override + public boolean apply(@Nullable EnDesktopHDMAddress input) { + return !input.isTrashed(); + } + }); + } + return new ArrayList(addressesInUse); + } + } + + public List getTrashedAddresses() { + synchronized (allCompletedAddresses) { + if (addressesTrashed == null) { + addressesTrashed = Collections2.filter(allCompletedAddresses, + new Predicate() { + @Override + public boolean apply(@Nullable EnDesktopHDMAddress input) { + return input.isTrashed(); + } + }); + } + return new ArrayList(addressesTrashed); + } + } + + private DeterministicKey externalChainRoot(CharSequence password) throws MnemonicException.MnemonicLengthException { + DeterministicKey master = masterKey(password); + DeterministicKey accountKey = getAccount(master); + DeterministicKey externalKey = getChainRootKey(accountKey, PathType.EXTERNAL_ROOT_PATH); + master.wipe(); + accountKey.wipe(); + return externalKey; + } + + public byte[] getExternalChainRootPubExtended(CharSequence password) throws MnemonicException + .MnemonicLengthException { + DeterministicKey ex = externalChainRoot(password); + byte[] pub = ex.getPubKeyExtended(); + ex.wipe(); + return pub; + } + + public String getExternalChainRootPubExtendedAsHex(CharSequence password) throws + MnemonicException.MnemonicLengthException { + return Utils.bytesToHexString(getExternalChainRootPubExtended(password)).toUpperCase(); + } + + + public int getCurrentMaxAddressIndex() { + synchronized (allCompletedAddresses) { + int max = Integer.MIN_VALUE; + for (EnDesktopHDMAddress address : allCompletedAddresses) { + if (address.getIndex() > max) { + max = address.getIndex(); + } + } + return max; + } + } + + public List getAllCompletedAddresses() { + synchronized (allCompletedAddresses) { + return allCompletedAddresses; + } + } + + private void initFromDb() { + isFromXRandom = EnDesktopProvider.getInstance().isHDSeedFromXRandom(getHdSeedId()); + initAddressesFromDb(); + } + + private void initAddressesFromDb() { + synchronized (allCompletedAddresses) { + List addrs = EnDesktopProvider.getInstance().getHDMAddressInUse(this); + if (addrs != null) { + allCompletedAddresses.addAll(addrs); + } + } + } + + + public HDMAddressChangeDelegate getAddressChangeDelegate() { + return addressChangeDelegate; + } + + public void setAddressChangeDelegate(HDMAddressChangeDelegate addressChangeDelegate) { + this.addressChangeDelegate = addressChangeDelegate; + } + + public boolean isFromXRandom() { + return isFromXRandom; + } + + + public String getFullEncryptPrivKey() { + String encryptPrivKey = getEncryptedMnemonicSeed(); + return PrivateKeyUtil.getFullencryptHDMKeyChain(isFromXRandom, encryptPrivKey); + } + + public String getQRCodeFullEncryptPrivKey() { + return QRCodeUtil.HDM_QR_CODE_FLAG + + getFullEncryptPrivKey(); + } + + @Override + protected String getEncryptedHDSeed() { + + String encrypted = EnDesktopProvider.getInstance().getEncryptHDSeed(hdSeedId); + if (encrypted == null) { + return null; + } + return encrypted.toUpperCase(); + } + + @Override + public String getEncryptedMnemonicSeed() { + + return EnDesktopProvider.getInstance().getEncryptMnemonicSeed(hdSeedId).toUpperCase(); + } + + public String getFirstAddressFromDb() { + return EnDesktopProvider.getInstance().getHDMFristAddress(hdSeedId); + } + + public boolean checkWithPassword(CharSequence password) { + + try { + decryptHDSeed(password); + decryptMnemonicSeed(password); + byte[] hdCopy = Arrays.copyOf(hdSeed, hdSeed.length); + boolean hdSeedSafe = Utils.compareString(getFirstAddressFromDb(), + getFirstAddressFromSeed(null)); + boolean mnemonicSeedSafe = Arrays.equals(seedFromMnemonic(mnemonicSeed), hdCopy); + Utils.wipeBytes(hdCopy); + wipeHDSeed(); + wipeMnemonicSeed(); + return hdSeedSafe && mnemonicSeedSafe; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + + public static void getRemotePublicKeys(HDMBId hdmBId, CharSequence password, + List partialPubs) throws Exception { + byte[] decryptedPassword = hdmBId.decryptHDMBIdPassword(password); + CreateHDMAddressApi createHDMAddressApi = new CreateHDMAddressApi(hdmBId.getAddress(), + partialPubs, decryptedPassword); + createHDMAddressApi.handleHttpPost(); + List remotePubs = createHDMAddressApi.getResult(); + for (int i = 0; + i < partialPubs.size(); + i++) { + HDMAddress.Pubs pubs = partialPubs.get(i); + pubs.remote = remotePubs.get(i); + } + } + + public static final class HDMColdPubNotSameException extends RuntimeException { + + } + + public static final class HDMBitherIdNotMatchException extends RuntimeException { + public static final String msg = "HDM Bid Not Match"; + + public HDMBitherIdNotMatchException() { + super(msg); + } + } + + public static boolean checkPassword(String keysString, CharSequence password) throws + MnemonicException.MnemonicLengthException { + String[] passwordSeeds = QRCodeUtil.splitOfPasswordSeed(keysString); + String address = Base58.hexToBase58WithAddress(passwordSeeds[0]); + String encreyptString = Utils.joinString(new String[]{passwordSeeds[1], passwordSeeds[2], + passwordSeeds[3]}, QRCodeUtil.QR_CODE_SPLIT); + byte[] seed = new EncryptedData(encreyptString).decrypt(password); + MnemonicCode mnemonic = MnemonicCode.instance(); + + byte[] s = mnemonic.toSeed(mnemonic.toMnemonic(seed), ""); + + DeterministicKey master = HDKeyDerivation.createMasterPrivateKey(s); + + DeterministicKey purpose = master.deriveHardened(44); + + DeterministicKey coinType = purpose.deriveHardened(0); + + DeterministicKey account = coinType.deriveHardened(0); + + DeterministicKey external = account.deriveSoftened(0); + + external.clearPrivateKey(); + + DeterministicKey key = external.deriveSoftened(0); + boolean result = Utils.compareString(address, Utils.toAddress(key.getPubKeyHash())); + key.wipe(); + + return result; + } + + +} diff --git a/src/main/java/net/bither/db/AddressDBHelper.java b/src/main/java/net/bither/db/AddressDBHelper.java index 2fd4445..4c862e9 100644 --- a/src/main/java/net/bither/db/AddressDBHelper.java +++ b/src/main/java/net/bither/db/AddressDBHelper.java @@ -28,6 +28,26 @@ public class AddressDBHelper extends AbstractDBHelper { + public static final String CREATE_ENTERPRISE_HDM_ACCOUNT = "create table if not exists enterprise_hdm_account " + + "( hd_account_id integer not null primary key autoincrement" + + ", encrypt_seed text " + + ", encrypt_mnemonic_seed text" + + ", hd_address text " + + ", external_pub text not null" + + ", internal_pub text not null" + + ", is_xrandom integer);"; + + public static final String CREATE_ENTERPRISE_HDM_ADDRESSES = "create table if not exists hd_account_addresses " + + "(path_type integer not null" + + ", address_index integer not null" + + ", is_issued integer not null" + + ", address text not null" + + ", pub_key_1 text not null" + + ", pub_key_2 text not null" + + ", pub_key_3 text not null" + + ", is_synced integer not null" + + ", primary key (address));"; + private static final String DB_NAME = "address.db"; private static final int CURRENT_VERSION = 3; @@ -35,6 +55,7 @@ public AddressDBHelper(String dbDir) { super(dbDir); } + @Override protected String getDBName() { return DB_NAME; diff --git a/src/main/java/net/bither/db/AddressProvider.java b/src/main/java/net/bither/db/AddressProvider.java index 24c2260..dd2cd7a 100644 --- a/src/main/java/net/bither/db/AddressProvider.java +++ b/src/main/java/net/bither/db/AddressProvider.java @@ -335,7 +335,7 @@ public boolean hasPasswordSeed() { } - private boolean hasPasswordSeed(Connection conn) throws SQLException { + public boolean hasPasswordSeed(Connection conn) throws SQLException { PreparedStatement stmt = conn.prepareStatement("select count(0) cnt from password_seed where password_seed is not null "); ResultSet c = stmt.executeQuery(); int count = 0; diff --git a/src/main/java/net/bither/db/EnDesktopProvider.java b/src/main/java/net/bither/db/EnDesktopProvider.java new file mode 100644 index 0000000..5daf76d --- /dev/null +++ b/src/main/java/net/bither/db/EnDesktopProvider.java @@ -0,0 +1,132 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.db; + +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.core.HDMAddress; +import net.bither.bitherj.crypto.PasswordSeed; +import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.Utils; +import net.bither.core.EnDesktopHDMAddress; +import net.bither.core.EnDesktopHDMKeychain; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +/** + * Created by nn on 15/6/10. + */ +public class EnDesktopProvider { + + private static final String insertHDSeedSql = "insert into enterprise_hdm_account " + + "(encrypt_mnemonic_seed,encrypt_seed,is_xrandom,hd_address,external_pub,internal_pub)" + + " values (?,?,?,?,?,?) "; + + private static EnDesktopProvider addressProvider = + new EnDesktopProvider(ApplicationInstanceManager.addressDBHelper); + + public static EnDesktopProvider getInstance() { + return addressProvider; + } + + private EnDesktopProvider(AddressDBHelper db) { + this.mDb = db; + } + + private AddressDBHelper mDb; + + public int addHDKey(String encryptedMnemonicSeed, String encryptHdSeed, + String firstAddress, boolean isXrandom, String addressOfPS + , byte[] externalPub, byte[] internalPub) { + int result = 0; + try { + this.mDb.getConn().setAutoCommit(false); + String[] params = new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress, + Base58.encode(externalPub), Base58.encode(internalPub)}; + PreparedStatement stmt = this.mDb.getConn().prepareStatement(insertHDSeedSql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + stmt.close(); + if (!AddressProvider.getInstance().hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { + AddressProvider.getInstance().addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); + } + this.mDb.getConn().commit(); + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where encrypt_seed=? and encrypt_mnemonic_seed=? and is_xrandom=? and hd_address=?" + , new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress}); + ResultSet cursor = statement.executeQuery(); + + if (cursor.next()) { + int idColumn = cursor.findColumn("hd_account_id"); + if (idColumn != -1) { + result = cursor.getInt(idColumn); + } + + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return result; + } + + public void completeHDMAddresses(int hdSeedId, List addresses) { + + } + + public void prepareHDMAddresses(int hdSeedId, List pubs) { + + } + + public int maxHDMAddressPubIndex(int hdSeedId) { + return 0; + } + + public List getHDMAddressInUse(EnDesktopHDMKeychain keychain) { + return null; + } + + public boolean isHDSeedFromXRandom(int hdSeedId) { + return true; + } + + + public String getEncryptMnemonicSeed(int hdSeedId) { + return null; + } + + public String getEncryptHDSeed(int hdSeedId) { + return null; + } + + public String getHDMFristAddress(int hdSeedId) { + return null; + } + + public void addAddress(EnDesktopHDMAddress address) { + + + } +} From 18cbf9fd27cb14084378f2bcc90ca525fc2fd3ac Mon Sep 17 00:00:00 2001 From: jjz Date: Fri, 12 Jun 2015 15:18:22 +0800 Subject: [PATCH 07/63] upgrade --- build.gradle | 2 +- src/main/java/net/bither/BitherSetting.java | 4 +- .../net/bither/core/EnDesktopHDMAddress.java | 23 ++ .../net/bither/core/EnDesktopHDMKeychain.java | 36 ++- .../java/net/bither/db/AddressDBHelper.java | 25 +- .../java/net/bither/db/AddressProvider.java | 5 + .../java/net/bither/db/DesktopDbImpl.java | 5 + .../bither/db/EnDesktopAddressProvider.java | 240 ++++++++++++++++++ .../java/net/bither/db/EnDesktopProvider.java | 132 ---------- .../net/bither/db/EnDesktopTxProvider.java | 94 +++++++ .../net/bither/db/EnterpriseHDMProvider.java | 91 +++++++ src/main/java/net/bither/db/TxDBHelper.java | 27 +- 12 files changed, 516 insertions(+), 168 deletions(-) create mode 100644 src/main/java/net/bither/db/EnDesktopAddressProvider.java delete mode 100644 src/main/java/net/bither/db/EnDesktopProvider.java create mode 100644 src/main/java/net/bither/db/EnDesktopTxProvider.java create mode 100644 src/main/java/net/bither/db/EnterpriseHDMProvider.java diff --git a/build.gradle b/build.gradle index 5ed720b..68647c7 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'signing' sourceCompatibility = 1.5 -version = '1.3.5' +version = '1.3.6' jar { from { diff --git a/src/main/java/net/bither/BitherSetting.java b/src/main/java/net/bither/BitherSetting.java index aad4373..0e8e3f6 100644 --- a/src/main/java/net/bither/BitherSetting.java +++ b/src/main/java/net/bither/BitherSetting.java @@ -26,8 +26,8 @@ public class BitherSetting { - public static final String VERSION = "1.3.5"; - public static final int VERSION_CODE = 135; + public static final String VERSION = "1.3.6"; + public static final int VERSION_CODE = 136; public static final int NOT_RELEVANT_PERCENTAGE_COMPLETE = -1; diff --git a/src/main/java/net/bither/core/EnDesktopHDMAddress.java b/src/main/java/net/bither/core/EnDesktopHDMAddress.java index 1ab184d..051ab21 100644 --- a/src/main/java/net/bither/core/EnDesktopHDMAddress.java +++ b/src/main/java/net/bither/core/EnDesktopHDMAddress.java @@ -1,5 +1,6 @@ package net.bither.core; +import net.bither.bitherj.core.AbstractHD; import net.bither.bitherj.core.Address; import net.bither.bitherj.core.HDMAddress; import net.bither.bitherj.core.Tx; @@ -24,6 +25,12 @@ List getOtherSignature(int addressIndex, CharSequence pass private EnDesktopHDMKeychain keychain; private HDMAddress.Pubs pubs; + + private AbstractHD.PathType pathType; + + + private boolean isIssued; + public EnDesktopHDMAddress(HDMAddress.Pubs pubs, EnDesktopHDMKeychain keychain, boolean isSyncComplete) { this(pubs, pubs.getAddress(), isSyncComplete, keychain); } @@ -35,6 +42,22 @@ public EnDesktopHDMAddress(HDMAddress.Pubs pubs, String address, boolean isSyncC this.pubs = pubs; } + public AbstractHD.PathType getPathType() { + return pathType; + } + + public void setPathType(AbstractHD.PathType pathType) { + this.pathType = pathType; + } + + public boolean isIssued() { + return isIssued; + } + + public void setIssued(boolean isIssued) { + this.isIssued = isIssued; + } + public int getIndex() { return pubs.index; } diff --git a/src/main/java/net/bither/core/EnDesktopHDMKeychain.java b/src/main/java/net/bither/core/EnDesktopHDMKeychain.java index ec5d023..7857c6d 100644 --- a/src/main/java/net/bither/core/EnDesktopHDMKeychain.java +++ b/src/main/java/net/bither/core/EnDesktopHDMKeychain.java @@ -3,15 +3,12 @@ import com.google.common.base.Predicate; import com.google.common.collect.Collections2; -import net.bither.bitherj.AbstractApp; import net.bither.bitherj.api.CreateHDMAddressApi; import net.bither.bitherj.core.AbstractHD; import net.bither.bitherj.core.HDMAddress; import net.bither.bitherj.core.HDMBId; import net.bither.bitherj.crypto.ECKey; import net.bither.bitherj.crypto.EncryptedData; -import net.bither.bitherj.crypto.PasswordSeed; -import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.crypto.hd.DeterministicKey; import net.bither.bitherj.crypto.hd.HDKeyDerivation; import net.bither.bitherj.crypto.mnemonic.MnemonicCode; @@ -21,7 +18,8 @@ import net.bither.bitherj.utils.Base58; import net.bither.bitherj.utils.PrivateKeyUtil; import net.bither.bitherj.utils.Utils; -import net.bither.db.EnDesktopProvider; +import net.bither.db.EnDesktopAddressProvider; +import net.bither.db.EnDesktopTxProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -73,7 +71,7 @@ public EnDesktopHDMKeychain(byte[] mnemonicSeed, CharSequence password) throws M firstAddress = getFirstAddressFromSeed(password); wipeHDSeed(); wipeMnemonicSeed(); - hdSeedId = EnDesktopProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), + hdSeedId = EnDesktopAddressProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), encryptedHDSeed.toEncryptedString(), firstAddress, isFromXRandom, address, null, null); allCompletedAddresses = new ArrayList(); @@ -102,7 +100,7 @@ public EnDesktopHDMKeychain(SecureRandom random, CharSequence password) { k.clearPrivateKey(); wipeHDSeed(); wipeMnemonicSeed(); - hdSeedId = EnDesktopProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), + hdSeedId = EnDesktopAddressProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), encryptedHDSeed.toEncryptedString(), firstAddress, isFromXRandom, address, null, null); allCompletedAddresses = new ArrayList(); } @@ -159,14 +157,14 @@ public EnDesktopHDMKeychain(EncryptedData encryptedMnemonicSeed, CharSequence pa wipeMnemonicSeed(); wipeHDSeed(); - this.hdSeedId = EnDesktopProvider.getInstance().addHDKey(encryptedMnemonicSeed + this.hdSeedId = EnDesktopAddressProvider.getInstance().addHDKey(encryptedMnemonicSeed .toEncryptedString(), encryptedHDSeed.toEncryptedString(), firstAddress, isFromXRandom, address, null, null); if (as.size() > 0) { - EnDesktopProvider.getInstance().completeHDMAddresses(getHdSeedId(), as); + // EnDesktopAddressProvider.getInstance().completeHDMAddresses(getHdSeedId(), as); allCompletedAddresses.addAll(as); if (uncompPubs.size() > 0) { - EnDesktopProvider.getInstance().prepareHDMAddresses(getHdSeedId(), uncompPubs); + // EnDesktopAddressProvider.getInstance().prepareHDMAddresses(getHdSeedId(), uncompPubs); for (HDMAddress.Pubs p : uncompPubs) { AbstractDb.addressProvider.setHDMPubsRemote(getHdSeedId(), p.index, p.remote); } @@ -188,7 +186,7 @@ public int prepareAddresses(int count, CharSequence password, byte[] coldExterna } ArrayList pubs = new ArrayList(); int startIndex = 0; - int maxIndex = EnDesktopProvider.getInstance().maxHDMAddressPubIndex(getHdSeedId()); + int maxIndex = EnDesktopTxProvider.getInstance().maxHDMAddressPubIndex(); if (maxIndex >= 0) { startIndex = maxIndex + 1; } @@ -223,7 +221,7 @@ public int prepareAddresses(int count, CharSequence password, byte[] coldExterna p.index = i; pubs.add(p); } - EnDesktopProvider.getInstance().prepareHDMAddresses(getHdSeedId(), pubs); + //EnDesktopAddressProvider.getInstance().prepareHDMAddresses(getHdSeedId(), pubs); if (externalRootHot != null) { externalRootHot.wipe(); } @@ -306,16 +304,16 @@ public List getAllCompletedAddresses() { } private void initFromDb() { - isFromXRandom = EnDesktopProvider.getInstance().isHDSeedFromXRandom(getHdSeedId()); + isFromXRandom = EnDesktopAddressProvider.getInstance().isHDSeedFromXRandom(getHdSeedId()); initAddressesFromDb(); } private void initAddressesFromDb() { synchronized (allCompletedAddresses) { - List addrs = EnDesktopProvider.getInstance().getHDMAddressInUse(this); - if (addrs != null) { - allCompletedAddresses.addAll(addrs); - } +// List addrs = EnDesktopTxProvider.getInstance().getHDMAddressInUse(this); +// if (addrs != null) { +// allCompletedAddresses.addAll(addrs); +// } } } @@ -346,7 +344,7 @@ public String getQRCodeFullEncryptPrivKey() { @Override protected String getEncryptedHDSeed() { - String encrypted = EnDesktopProvider.getInstance().getEncryptHDSeed(hdSeedId); + String encrypted = EnDesktopAddressProvider.getInstance().getEncryptHDSeed(hdSeedId); if (encrypted == null) { return null; } @@ -356,11 +354,11 @@ protected String getEncryptedHDSeed() { @Override public String getEncryptedMnemonicSeed() { - return EnDesktopProvider.getInstance().getEncryptMnemonicSeed(hdSeedId).toUpperCase(); + return EnDesktopAddressProvider.getInstance().getEncryptMnemonicSeed(hdSeedId).toUpperCase(); } public String getFirstAddressFromDb() { - return EnDesktopProvider.getInstance().getHDMFristAddress(hdSeedId); + return EnDesktopAddressProvider.getInstance().getHDMFristAddress(hdSeedId); } public boolean checkWithPassword(CharSequence password) { diff --git a/src/main/java/net/bither/db/AddressDBHelper.java b/src/main/java/net/bither/db/AddressDBHelper.java index 4c862e9..41f4dba 100644 --- a/src/main/java/net/bither/db/AddressDBHelper.java +++ b/src/main/java/net/bither/db/AddressDBHelper.java @@ -37,19 +37,8 @@ public class AddressDBHelper extends AbstractDBHelper { ", internal_pub text not null" + ", is_xrandom integer);"; - public static final String CREATE_ENTERPRISE_HDM_ADDRESSES = "create table if not exists hd_account_addresses " + - "(path_type integer not null" + - ", address_index integer not null" + - ", is_issued integer not null" + - ", address text not null" + - ", pub_key_1 text not null" + - ", pub_key_2 text not null" + - ", pub_key_3 text not null" + - ", is_synced integer not null" + - ", primary key (address));"; - private static final String DB_NAME = "address.db"; - private static final int CURRENT_VERSION = 3; + private static final int CURRENT_VERSION = 4; public AddressDBHelper(String dbDir) { super(dbDir); @@ -92,6 +81,8 @@ protected void onUpgrade(Connection conn, int newVersion, int oldVerion) throws v1Tov2(stmt); case 2: v2ToV3(stmt); + case 3: + v3Tov4(stmt); } conn.commit(); @@ -114,6 +105,8 @@ protected void onCreate(Connection conn) throws SQLException { stmt.executeUpdate(AbstractDb.CREATE_ALIASES_SQL); stmt.executeUpdate(AbstractDb.CREATE_VANITY_ADDRESS_SQL); stmt.executeUpdate(AbstractDb.CREATE_HD_ACCOUNT); + + stmt.executeUpdate(CREATE_ENTERPRISE_HDM_ACCOUNT); conn.commit(); stmt.close(); UserPreference.getInstance().setAddressDbVersion(CURRENT_VERSION); @@ -131,6 +124,14 @@ private void v2ToV3(Statement statement) throws SQLException { statement.executeUpdate(AbstractDb.CREATE_VANITY_ADDRESS_SQL); } + //1.3.6 + private void v3Tov4(Statement statement) throws SQLException { + + statement.executeUpdate(CREATE_ENTERPRISE_HDM_ACCOUNT); + + } + + private boolean hasAddressTables(Connection conn) throws SQLException { ResultSet rs = conn.getMetaData().getTables(null, null, AbstractDb.Tables.Addresses, null); boolean hasTable = rs.next(); diff --git a/src/main/java/net/bither/db/AddressProvider.java b/src/main/java/net/bither/db/AddressProvider.java index dd2cd7a..4d78738 100644 --- a/src/main/java/net/bither/db/AddressProvider.java +++ b/src/main/java/net/bither/db/AddressProvider.java @@ -510,6 +510,11 @@ public int addHDKey(final String encryptedMnemonicSeed, final String encryptHdSe return result; } + @Override + public int addEnterpriseHDKey(String encryptedMnemonicSeed, String encryptHdSeed, String firstAddress, boolean isXrandom, String addressOfPS) { + return 0; + } + @Override public HDMBId getHDMBId() { HDMBId hdmbId = null; diff --git a/src/main/java/net/bither/db/DesktopDbImpl.java b/src/main/java/net/bither/db/DesktopDbImpl.java index deaa5f5..7dabbcc 100644 --- a/src/main/java/net/bither/db/DesktopDbImpl.java +++ b/src/main/java/net/bither/db/DesktopDbImpl.java @@ -43,4 +43,9 @@ public IAddressProvider initAddressProvider() { public IHDAccountProvider initHDAccountProvider() { return HDAccountProvider.getInstance(); } + + @Override + public EnterpriseHDMProvider initEnterpriseHDMProvider() { + return EnterpriseHDMProvider.getInstance(); + } } diff --git a/src/main/java/net/bither/db/EnDesktopAddressProvider.java b/src/main/java/net/bither/db/EnDesktopAddressProvider.java new file mode 100644 index 0000000..03828f8 --- /dev/null +++ b/src/main/java/net/bither/db/EnDesktopAddressProvider.java @@ -0,0 +1,240 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.db; + +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.crypto.PasswordSeed; +import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.exception.AddressFormatException; +import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.Utils; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +public class EnDesktopAddressProvider { + + private static final String insert_hd_seed_sql = "insert into enterprise_hdm_account " + + "(encrypt_mnemonic_seed,encrypt_seed,is_xrandom,hd_address,external_pub,internal_pub)" + + " values (?,?,?,?,?,?) "; + + private static EnDesktopAddressProvider addressProvider = + new EnDesktopAddressProvider(ApplicationInstanceManager.addressDBHelper); + + public static EnDesktopAddressProvider getInstance() { + return addressProvider; + } + + private EnDesktopAddressProvider(AddressDBHelper db) { + this.mDb = db; + } + + private AddressDBHelper mDb; + + public int addHDKey(String encryptedMnemonicSeed, String encryptHdSeed, + String firstAddress, boolean isXrandom, String addressOfPS + , byte[] externalPub, byte[] internalPub) { + int result = 0; + try { + this.mDb.getConn().setAutoCommit(false); + String[] params = new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress, + Base58.encode(externalPub), Base58.encode(internalPub)}; + PreparedStatement stmt = this.mDb.getConn().prepareStatement(insert_hd_seed_sql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + stmt.close(); + if (!AddressProvider.getInstance().hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { + AddressProvider.getInstance().addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); + } + this.mDb.getConn().commit(); + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where encrypt_seed=? and encrypt_mnemonic_seed=? and is_xrandom=? and hd_address=?" + , new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress}); + ResultSet cursor = statement.executeQuery(); + + if (cursor.next()) { + int idColumn = cursor.findColumn("hd_account_id"); + if (idColumn != -1) { + result = cursor.getInt(idColumn); + } + + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return result; + } + + public void addHDMPub(List externalPubs, List internalPubs) { + try { + String hdSeedSql = "insert into enterprise_hdm_account " + + "(external_pub,internal_pub)" + + " values (?,?)"; + this.mDb.getConn().setAutoCommit(false); + for (int i = 0; i < externalPubs.size(); i++) { + PreparedStatement statement = this.mDb.getPreparedStatement(hdSeedSql, new String[]{ + Base58.encode(externalPubs.get(i)), Base58.encode(internalPubs.get(i)) + }); + statement.close(); + } + this.mDb.getConn().commit(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + } + + public List getExternalPubs() { + + List externalPubs = new ArrayList(); + try { + String sql = "select external_pub from enterprise_hdm_account where encrypt_seed=null order by hd_account_id asc"; + PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); + ResultSet cursor = stmt.executeQuery(); + while (cursor.next()) { + int idColumn = cursor.findColumn("external_pub"); + if (idColumn != -1) { + String str = cursor.getString(idColumn); + externalPubs.add(Base58.decode(str)); + } + } + } catch (SQLException e) { + e.printStackTrace(); + } catch (AddressFormatException e) { + e.printStackTrace(); + } + return externalPubs; + + } + + public List getInternalPubs() { + List internalPubs = new ArrayList(); + try { + String sql = "select internal_pub from enterprise_hdm_account where encrypt_seed=null order by hd_account_id asc"; + PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); + ResultSet cursor = stmt.executeQuery(); + while (cursor.next()) { + int idColumn = cursor.findColumn("internal_pub"); + if (idColumn != -1) { + String str = cursor.getString(idColumn); + internalPubs.add(Base58.decode(str)); + } + } + } catch (SQLException e) { + e.printStackTrace(); + } catch (AddressFormatException e) { + e.printStackTrace(); + } + return internalPubs; + + } + + public boolean isHDSeedFromXRandom(int hdSeedId) { + boolean isXRandom = false; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select is_xrandom from enterprise_hdm_account order by hd_seed_id asc limit 1" + , new String[]{Integer.toString(hdSeedId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.IS_XRANDOM); + if (idColumn != -1) { + isXRandom = cursor.getInt(idColumn) == 1; + } + } + cursor.close(); + statement.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + } + return isXRandom; + + } + + + public String getEncryptMnemonicSeed(int hdSeedId) { + String encryptMnemonicSeed = null; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select encrypt_mnemonic_seed from enterprise_hdm_account order by hd_seed_id asc limit 1" + , new String[]{Integer.toString(hdSeedId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.ENCRYPT_MNEMONIC_SEED); + if (idColumn != -1) { + encryptMnemonicSeed = cursor.getString(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + } + return encryptMnemonicSeed; + } + + public String getEncryptHDSeed(int hdSeedId) { + String encryptSeed = null; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select encrypt_seed from enterprise_hdm_account order by hd_seed_id asc limit 1" + , new String[]{Integer.toString(hdSeedId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.ENCRYPT_SEED); + if (idColumn != -1) { + encryptSeed = cursor.getString(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + } + return encryptSeed; + } + + public String getHDMFristAddress(int hdSeedId) { + String address = null; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_address from enterprise_hdm_account order by hd_seed_id asc limit 1" + , new String[]{Integer.toString(hdSeedId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.ENCRYPT_SEED); + if (idColumn != -1) { + address = cursor.getString(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + } + return address; + } + + +} diff --git a/src/main/java/net/bither/db/EnDesktopProvider.java b/src/main/java/net/bither/db/EnDesktopProvider.java deleted file mode 100644 index 5daf76d..0000000 --- a/src/main/java/net/bither/db/EnDesktopProvider.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * - * Copyright 2014 http://Bither.net - * - * 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. - * / - */ - -package net.bither.db; - -import net.bither.ApplicationInstanceManager; -import net.bither.bitherj.core.HDMAddress; -import net.bither.bitherj.crypto.PasswordSeed; -import net.bither.bitherj.utils.Base58; -import net.bither.bitherj.utils.Utils; -import net.bither.core.EnDesktopHDMAddress; -import net.bither.core.EnDesktopHDMKeychain; - -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.List; - -/** - * Created by nn on 15/6/10. - */ -public class EnDesktopProvider { - - private static final String insertHDSeedSql = "insert into enterprise_hdm_account " + - "(encrypt_mnemonic_seed,encrypt_seed,is_xrandom,hd_address,external_pub,internal_pub)" + - " values (?,?,?,?,?,?) "; - - private static EnDesktopProvider addressProvider = - new EnDesktopProvider(ApplicationInstanceManager.addressDBHelper); - - public static EnDesktopProvider getInstance() { - return addressProvider; - } - - private EnDesktopProvider(AddressDBHelper db) { - this.mDb = db; - } - - private AddressDBHelper mDb; - - public int addHDKey(String encryptedMnemonicSeed, String encryptHdSeed, - String firstAddress, boolean isXrandom, String addressOfPS - , byte[] externalPub, byte[] internalPub) { - int result = 0; - try { - this.mDb.getConn().setAutoCommit(false); - String[] params = new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress, - Base58.encode(externalPub), Base58.encode(internalPub)}; - PreparedStatement stmt = this.mDb.getConn().prepareStatement(insertHDSeedSql); - if (params != null) { - for (int i = 0; i < params.length; i++) { - stmt.setString(i + 1, params[i]); - } - } - stmt.executeUpdate(); - stmt.close(); - if (!AddressProvider.getInstance().hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { - AddressProvider.getInstance().addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); - } - this.mDb.getConn().commit(); - PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where encrypt_seed=? and encrypt_mnemonic_seed=? and is_xrandom=? and hd_address=?" - , new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress}); - ResultSet cursor = statement.executeQuery(); - - if (cursor.next()) { - int idColumn = cursor.findColumn("hd_account_id"); - if (idColumn != -1) { - result = cursor.getInt(idColumn); - } - - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return result; - } - - public void completeHDMAddresses(int hdSeedId, List addresses) { - - } - - public void prepareHDMAddresses(int hdSeedId, List pubs) { - - } - - public int maxHDMAddressPubIndex(int hdSeedId) { - return 0; - } - - public List getHDMAddressInUse(EnDesktopHDMKeychain keychain) { - return null; - } - - public boolean isHDSeedFromXRandom(int hdSeedId) { - return true; - } - - - public String getEncryptMnemonicSeed(int hdSeedId) { - return null; - } - - public String getEncryptHDSeed(int hdSeedId) { - return null; - } - - public String getHDMFristAddress(int hdSeedId) { - return null; - } - - public void addAddress(EnDesktopHDMAddress address) { - - - } -} diff --git a/src/main/java/net/bither/db/EnDesktopTxProvider.java b/src/main/java/net/bither/db/EnDesktopTxProvider.java new file mode 100644 index 0000000..7a942fe --- /dev/null +++ b/src/main/java/net/bither/db/EnDesktopTxProvider.java @@ -0,0 +1,94 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.db; + +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.utils.Base58; +import net.bither.core.EnDesktopHDMAddress; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +public class EnDesktopTxProvider { + + private static EnDesktopTxProvider enDesktopTxProvider = + new EnDesktopTxProvider(ApplicationInstanceManager.txDBHelper); + + private TxDBHelper mDb; + + public static EnDesktopTxProvider getInstance() { + return enDesktopTxProvider; + } + + private EnDesktopTxProvider(TxDBHelper db) { + this.mDb = db; + } + + + private static final String insert_hdm_address_sql = "insert into hd_account_addresses " + + "(path_type,address_index,is_issued,address,pub_key_1,pub_key_2,pub_key_3,is_synced)" + + " values (?,?,?,?,?,?,?,?) "; + + + public void addAddress(EnDesktopHDMAddress address) { + try { + PreparedStatement stmt = this.mDb.getConn().prepareStatement(insert_hdm_address_sql); + String[] params = new String[]{Integer.toString(address.getPathType().getValue()), + Integer.toString(address.getIndex()), Integer.toString(address.isIssued() ? 1 : 0), + address.getAddress(), Base58.encode(address.getPubHot()), Base58.encode(address.getPubRemote()) + , Base58.encode(address.getPubCold()), Integer.toString(address.isSyncComplete() ? 1 : 0) + }; + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + stmt.close(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + } + + public int maxHDMAddressPubIndex() { + int maxIndex = -1; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(max(address_index),-1) address_index from hd_account_addresses ", null); + ResultSet cursor = statement.executeQuery(); + + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.HDMAddressesColumns.HD_SEED_INDEX); + if (idColumn != -1) { + maxIndex = cursor.getInt(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return maxIndex; + } + + +} diff --git a/src/main/java/net/bither/db/EnterpriseHDMProvider.java b/src/main/java/net/bither/db/EnterpriseHDMProvider.java new file mode 100644 index 0000000..d3a262c --- /dev/null +++ b/src/main/java/net/bither/db/EnterpriseHDMProvider.java @@ -0,0 +1,91 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.db; + +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.core.EnterpriseHDMAddress; +import net.bither.bitherj.core.EnterpriseHDMKeychain; +import net.bither.bitherj.db.IEnterpriseHDMProvider; + +import java.util.List; + +public class EnterpriseHDMProvider implements IEnterpriseHDMProvider { + private static EnterpriseHDMProvider enterpriseHDMProvider = + new EnterpriseHDMProvider(ApplicationInstanceManager.addressDBHelper); + + public static EnterpriseHDMProvider getInstance() { + return enterpriseHDMProvider; + } + + private EnterpriseHDMProvider(AddressDBHelper db) { + this.mDb = db; + } + + private AddressDBHelper mDb; + + @Override + public String getEnterpriseEncryptMnemonicSeed(int hdSeedId) { + return null; + } + + @Override + public String getEnterpriseEncryptHDSeed(int hdSeedId) { + return null; + } + + @Override + public String getEnterpriseHDFristAddress(int hdSeedId) { + return null; + } + + @Override + public boolean isEnterpriseHDMSeedFromXRandom(int hdSeedId) { + return false; + } + + @Override + public void addEnterpriseHDMAddress(List enterpriseHDMAddressList) { + + } + + @Override + public List getEnterpriseHDMAddress(EnterpriseHDMKeychain keychain) { + return null; + } + + @Override + public void addMultiSignSet(int n, int m) { + + } + + @Override + public void updateSyncComplete(EnterpriseHDMAddress enterpriseHDMAddress) { + + } + + @Override + public List getEnterpriseHDMKeychainIds() { + return null; + } + + @Override + public int getEnterpriseHDMSeedId() { + return 0; + } +} diff --git a/src/main/java/net/bither/db/TxDBHelper.java b/src/main/java/net/bither/db/TxDBHelper.java index e75992c..99b9dac 100644 --- a/src/main/java/net/bither/db/TxDBHelper.java +++ b/src/main/java/net/bither/db/TxDBHelper.java @@ -29,7 +29,20 @@ public class TxDBHelper extends AbstractDBHelper { private static final String DB_NAME = "bither.db"; - private static final int CURRENT_VERSION = 2; + private static final int CURRENT_VERSION = 3; + + public static final String CREATE_ENTERPRISE_HDM_ADDRESSES = "create table if not exists hd_account_addresses " + + "(path_type integer not null" + + ", address_index integer not null" + + ", is_issued integer not null" + + ", address text not null" + + ", pub_key_1 text not null" + + ", pub_key_2 text not null" + + ", pub_key_3 text not null" + + ", is_synced integer not null" + + ", primary key (address));"; + + public static final String ADD_ENTERPRISE_HD_ACCOUNT_ID_FOR_OUTS = "alter table outs add column enterprise_hd_account_id integer;"; public TxDBHelper(String dbDir) { super(dbDir); @@ -69,6 +82,9 @@ protected void onUpgrade(Connection conn, int newVersion, int oldVerion) throws switch (oldVerion) { case 1: v1ToV2(stmt); + case 2: + v2Tov3(stmt); + } conn.commit(); stmt.close(); @@ -93,6 +109,9 @@ protected void onCreate(Connection conn) throws SQLException { createHDAccountAddress(stmt); + stmt.executeUpdate(CREATE_ENTERPRISE_HDM_ADDRESSES); + stmt.executeUpdate(ADD_ENTERPRISE_HD_ACCOUNT_ID_FOR_OUTS); + conn.commit(); stmt.close(); UserPreference.getInstance().setTxDbVersion(CURRENT_VERSION); @@ -136,11 +155,15 @@ private void createHDAccountAddress(Statement stmt) throws SQLException { private void v1ToV2(Statement stmt) throws SQLException { stmt.executeUpdate(AbstractDb.ADD_HD_ACCOUNT_ID_FOR_OUTS); - createHDAccountAddress(stmt); } + private void v2Tov3(Statement statement) throws SQLException { + statement.executeUpdate(CREATE_ENTERPRISE_HDM_ADDRESSES); + statement.executeUpdate(ADD_ENTERPRISE_HD_ACCOUNT_ID_FOR_OUTS); + } + public void rebuildTx() { try { getConn().setAutoCommit(false); From b1dafa6337614e1e6a74ff57ada179b1e229f9ed Mon Sep 17 00:00:00 2001 From: jjz Date: Fri, 12 Jun 2015 16:39:49 +0800 Subject: [PATCH 08/63] add panel of EnDesktopHDM --- bitherj | 2 +- .../net/bither/core/EnDesktopHDAccount.java | 221 --------- .../net/bither/core/EnDesktopHDMAddress.java | 184 -------- .../net/bither/core/EnDesktopHDMKeychain.java | 442 ------------------ .../bither/db/EnDesktopAddressProvider.java | 3 +- .../viewsystem/froms/EnterpriseColdPanel.java | 45 ++ .../viewsystem/froms/EnterpriseHotPanel.java | 99 ++++ .../bither/viewsystem/froms/MorePanel.java | 21 +- 8 files changed, 166 insertions(+), 851 deletions(-) delete mode 100644 src/main/java/net/bither/core/EnDesktopHDAccount.java delete mode 100644 src/main/java/net/bither/core/EnDesktopHDMAddress.java delete mode 100644 src/main/java/net/bither/core/EnDesktopHDMKeychain.java create mode 100644 src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java create mode 100644 src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java diff --git a/bitherj b/bitherj index eb75889..d68a2ae 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit eb75889d077d1f56cd24e20c571816cbb659a182 +Subproject commit d68a2aef83c8b7f0b90e21d01ec90f464a2dd01a diff --git a/src/main/java/net/bither/core/EnDesktopHDAccount.java b/src/main/java/net/bither/core/EnDesktopHDAccount.java deleted file mode 100644 index 3ab431d..0000000 --- a/src/main/java/net/bither/core/EnDesktopHDAccount.java +++ /dev/null @@ -1,221 +0,0 @@ -/* - * - * Copyright 2014 http://Bither.net - * - * 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. - * / - */ - -package net.bither.core; - -import net.bither.bitherj.core.*; -import net.bither.bitherj.crypto.hd.DeterministicKey; -import net.bither.bitherj.crypto.hd.HDKeyDerivation; -import net.bither.bitherj.db.AbstractDb; -import net.bither.bitherj.utils.Utils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.*; - -public class EnDesktopHDAccount { - - private long balance = 0; - private static final int LOOK_AHEAD_SIZE = 100; - - protected int hdSeedId = -1; - - private static final Logger log = LoggerFactory.getLogger(EnDesktopHDAccount.class); - - public void supplyEnoughKeys(boolean isSyncedComplete) { - int lackOfExternal = issuedExternalIndex() + 1 + LOOK_AHEAD_SIZE - - allGeneratedExternalAddressCount(); - if (lackOfExternal > 0) { - supplyNewExternalKey(lackOfExternal, isSyncedComplete); - } - - int lackOfInternal = issuedInternalIndex() + 1 + LOOK_AHEAD_SIZE - - allGeneratedInternalAddressCount(); - if (lackOfInternal > 0) { - supplyNewInternalKey(lackOfInternal, isSyncedComplete); - } - } - - - private void supplyNewInternalKey(int count, boolean isSyncedComplete) { - DeterministicKey root = HDKeyDerivation.createMasterPubKeyFromExtendedBytes - (getInternalPub()); - int firstIndex = allGeneratedInternalAddressCount(); - ArrayList as = new ArrayList(); - for (int i = firstIndex; - i < firstIndex + count; - i++) { - as.add(new HDAccount.HDAccountAddress(root.deriveSoftened(i).getPubKey(), AbstractHD.PathType - .INTERNAL_ROOT_PATH, i, isSyncedComplete)); - } - AbstractDb.hdAccountProvider.addAddress(as); - log.info("HD supplied {} internal addresses", as.size()); - } - - private void supplyNewExternalKey(int count, boolean isSyncedComplete) { - DeterministicKey root = HDKeyDerivation.createMasterPubKeyFromExtendedBytes - (getExternalPub()); - int firstIndex = allGeneratedExternalAddressCount(); - ArrayList as = new ArrayList(); - for (int i = firstIndex; - i < firstIndex + count; - i++) { - as.add(new HDAccount.HDAccountAddress(root.deriveSoftened(i).getPubKey(), AbstractHD.PathType - .EXTERNAL_ROOT_PATH, i, isSyncedComplete)); - } - AbstractDb.hdAccountProvider.addAddress(as); - log.info("HD supplied {} external addresses", as.size()); - } - - public void onNewTx(Tx tx, List relatedAddresses, Tx.TxNotificationType txNotificationType) { - if (relatedAddresses == null || relatedAddresses.size() == 0) { - return; - } - - int maxInternal = -1, maxExternal = -1; -// for (HDAccount.HDAccountAddress a : relatedAddresses) { -// if (a.pathType == AbstractHD.PathType.EXTERNAL_ROOT_PATH) { -// if (a.index > maxExternal) { -// maxExternal = a.index; -// } -// } else { -// if (a.index > maxInternal) { -// maxInternal = a.index; -// } -// } -// } - - log.info("HD on new tx issued ex {}, issued in {}", maxExternal, maxInternal); - if (maxExternal >= 0 && maxExternal > issuedExternalIndex()) { - updateIssuedExternalIndex(maxExternal); - } - if (maxInternal >= 0 && maxInternal > issuedInternalIndex()) { - updateIssuedInternalIndex(maxInternal); - } - - supplyEnoughKeys(true); - - long deltaBalance = getDeltaBalance(); -// AbstractApp.notificationService.notificatTx(HDAccountPlaceHolder, tx, txNotificationType, -// deltaBalance); - } - - private long calculateUnconfirmedBalance() { - long balance = 0; - - List txs = AbstractDb.hdAccountProvider.getHDAccountUnconfirmedTx(); - Collections.sort(txs); - - Set invalidTx = new HashSet(); - Set spentOut = new HashSet(); - Set unspendOut = new HashSet(); - - for (int i = txs.size() - 1; i >= 0; i--) { - Set spent = new HashSet(); - Tx tx = txs.get(i); - - Set inHashes = new HashSet(); - for (In in : tx.getIns()) { - spent.add(new OutPoint(in.getPrevTxHash(), in.getPrevOutSn())); - inHashes.add(in.getPrevTxHash()); - } - - if (tx.getBlockNo() == Tx.TX_UNCONFIRMED - && (Utils.isIntersects(spent, spentOut) || Utils.isIntersects(inHashes, invalidTx))) { - invalidTx.add(tx.getTxHash()); - continue; - } - - spentOut.addAll(spent); - HashSet addressSet = getBelongAccountAddresses(tx.getOutAddressList()); - for (Out out : tx.getOuts()) { - if (addressSet.contains(out.getOutAddress())) { - unspendOut.add(new OutPoint(tx.getTxHash(), out.getOutSn())); - balance += out.getOutValue(); - } - } - spent.clear(); - spent.addAll(unspendOut); - spent.retainAll(spentOut); - for (OutPoint o : spent) { - Tx tx1 = AbstractDb.txProvider.getTxDetailByTxHash(o.getTxHash()); - unspendOut.remove(o); - for (Out out : tx1.getOuts()) { - if (out.getOutSn() == o.getOutSn()) { - balance -= out.getOutValue(); - } - } - } - } - return balance; - } - - private long getDeltaBalance() { - long oldBalance = this.balance; - this.updateBalance(); - return this.balance - oldBalance; - } - - public void updateBalance() { - this.balance = AbstractDb.hdAccountProvider.getHDAccountConfirmedBanlance(hdSeedId) - + calculateUnconfirmedBalance(); - } - - public HashSet getBelongAccountAddresses(List addressList) { - return AbstractDb.hdAccountProvider.getBelongAccountAddresses(addressList); - } - - public void updateIssuedInternalIndex(int index) { - AbstractDb.hdAccountProvider.updateIssuedIndex(AbstractHD.PathType.INTERNAL_ROOT_PATH, index); - } - - public void updateIssuedExternalIndex(int index) { - AbstractDb.hdAccountProvider.updateIssuedIndex(AbstractHD.PathType.EXTERNAL_ROOT_PATH, index); - } - - public byte[] getInternalPub() { - // return AbstractDb.addressProvider.getInternalPub(hdSeedId); - return new byte[]{}; - } - - public byte[] getExternalPub() { - - //return AbstractDb.addressProvider.getExternalPub(hdSeedId); - return new byte[]{}; - } - - public int issuedInternalIndex() { - - return AbstractDb.hdAccountProvider.issuedIndex(AbstractHD.PathType.INTERNAL_ROOT_PATH); - } - - public int issuedExternalIndex() { - return AbstractDb.hdAccountProvider.issuedIndex(AbstractHD.PathType.EXTERNAL_ROOT_PATH); - - } - - private int allGeneratedInternalAddressCount() { - return AbstractDb.hdAccountProvider.allGeneratedAddressCount(AbstractHD.PathType - .INTERNAL_ROOT_PATH); - } - - private int allGeneratedExternalAddressCount() { - return AbstractDb.hdAccountProvider.allGeneratedAddressCount(AbstractHD.PathType - .EXTERNAL_ROOT_PATH); - } -} diff --git a/src/main/java/net/bither/core/EnDesktopHDMAddress.java b/src/main/java/net/bither/core/EnDesktopHDMAddress.java deleted file mode 100644 index 051ab21..0000000 --- a/src/main/java/net/bither/core/EnDesktopHDMAddress.java +++ /dev/null @@ -1,184 +0,0 @@ -package net.bither.core; - -import net.bither.bitherj.core.AbstractHD; -import net.bither.bitherj.core.Address; -import net.bither.bitherj.core.HDMAddress; -import net.bither.bitherj.core.Tx; -import net.bither.bitherj.crypto.TransactionSignature; -import net.bither.bitherj.crypto.hd.DeterministicKey; -import net.bither.bitherj.db.AbstractDb; -import net.bither.bitherj.exception.PasswordException; -import net.bither.bitherj.script.Script; -import net.bither.bitherj.script.ScriptBuilder; -import net.bither.bitherj.utils.Utils; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class EnDesktopHDMAddress extends Address { - public static interface HDMFetchOtherSignatureDelegate { - List getOtherSignature(int addressIndex, CharSequence password, - List unsignHash, Tx tx); - } - - private EnDesktopHDMKeychain keychain; - private HDMAddress.Pubs pubs; - - - private AbstractHD.PathType pathType; - - - private boolean isIssued; - - public EnDesktopHDMAddress(HDMAddress.Pubs pubs, EnDesktopHDMKeychain keychain, boolean isSyncComplete) { - this(pubs, pubs.getAddress(), isSyncComplete, keychain); - } - - public EnDesktopHDMAddress(HDMAddress.Pubs pubs, String address, boolean isSyncComplete, EnDesktopHDMKeychain keychain) { - super(address, pubs.getMultiSigScript().getProgram(), pubs.index, isSyncComplete, true, - false, null); - this.keychain = keychain; - this.pubs = pubs; - } - - public AbstractHD.PathType getPathType() { - return pathType; - } - - public void setPathType(AbstractHD.PathType pathType) { - this.pathType = pathType; - } - - public boolean isIssued() { - return isIssued; - } - - public void setIssued(boolean isIssued) { - this.isIssued = isIssued; - } - - public int getIndex() { - return pubs.index; - } - - public EnDesktopHDMKeychain getKeychain() { - return keychain; - } - - public void setKeychain(EnDesktopHDMKeychain keychain) { - this.keychain = keychain; - } - - @Override - public List signHashes(List unsignedInHashes, CharSequence passphrase) throws - PasswordException { - throw new RuntimeException("hdm address can't sign transactions all by self"); - } - - public void signTx(Tx tx, CharSequence passphrase, HDMFetchOtherSignatureDelegate delegate) { - tx.signWithSignatures(this.signWithOther(tx.getUnsignedInHashesForHDM(getPubKey()), - passphrase, tx, delegate)); - } - - public void signTx(Tx tx, CharSequence password, HDMFetchOtherSignatureDelegate delegateCold, - HDMFetchOtherSignatureDelegate delegateRemote) { - List unsigns = tx.getUnsignedInHashesForHDM(getPubKey()); - List coldSigs = delegateCold.getOtherSignature(getIndex(), - password, unsigns, tx); - List remoteSigs = delegateRemote.getOtherSignature(getIndex(), - password, unsigns, tx); - assert coldSigs.size() == remoteSigs.size() && coldSigs.size() == unsigns.size(); - List joined = formatInScript(coldSigs, remoteSigs, getPubKey()); - tx.signWithSignatures(joined); - } - - public List signWithOther(List unsignHash, CharSequence password, Tx tx, - HDMFetchOtherSignatureDelegate delegate) { - ArrayList hotSigs = signMyPart(unsignHash, password); - List otherSigs = delegate.getOtherSignature(getIndex(), password, - unsignHash, tx); - assert hotSigs.size() == otherSigs.size() && hotSigs.size() == unsignHash.size(); - return formatInScript(hotSigs, otherSigs, pubs.getMultiSigScript().getProgram()); - } - - public ArrayList signMyPart(List unsignedHashes, - CharSequence password) { - DeterministicKey key = keychain.getExternalKey(pubs.index, password); - ArrayList sigs = new ArrayList(); - for (int i = 0; - i < unsignedHashes.size(); - i++) { - TransactionSignature transactionSignature = new TransactionSignature(key.sign - (unsignedHashes.get(i)), TransactionSignature.SigHash.ALL, false); - sigs.add(transactionSignature); - } - key.wipe(); - return sigs; - } - - public String signMessage(String msg, CharSequence password) { - DeterministicKey key = keychain.getExternalKey(pubs.index, password); - String result = key.signMessage(msg); - key.clearPrivateKey(); - return result; - } - - @Override - public String getFullEncryptPrivKey() { - throw new RuntimeException("hdm address can't get encrypted private key"); - } - - public byte[] getPubCold() { - return pubs.cold; - } - - public byte[] getPubHot() { - return pubs.hot; - } - - public byte[] getPubRemote() { - return pubs.remote; - } - - public static List formatInScript(List signs1, - List signs2, - byte[] scriptPubKey) { - List result = new ArrayList(); - for (int i = 0; - i < signs1.size(); - i++) { - List signs = new ArrayList(2); - signs.add(signs1.get(i)); - signs.add(signs2.get(i)); - result.add(ScriptBuilder.createP2SHMultiSigInputScript(signs, - scriptPubKey).getProgram()); - } - return result; - } - - public List getPubs() { - ArrayList list = new ArrayList(); - list.add(pubs.hot); - list.add(pubs.cold); - list.add(pubs.remote); - return list; - } - - @Override - public void updateSyncComplete() { - AbstractDb.addressProvider.syncComplete(keychain.getHdSeedId(), pubs.index); - } - - @Override - public boolean isFromXRandom() { - return keychain.isFromXRandom(); - } - - @Override - public boolean isHDM() { - return true; - } - - -} diff --git a/src/main/java/net/bither/core/EnDesktopHDMKeychain.java b/src/main/java/net/bither/core/EnDesktopHDMKeychain.java deleted file mode 100644 index 7857c6d..0000000 --- a/src/main/java/net/bither/core/EnDesktopHDMKeychain.java +++ /dev/null @@ -1,442 +0,0 @@ -package net.bither.core; - - -import com.google.common.base.Predicate; -import com.google.common.collect.Collections2; -import net.bither.bitherj.api.CreateHDMAddressApi; -import net.bither.bitherj.core.AbstractHD; -import net.bither.bitherj.core.HDMAddress; -import net.bither.bitherj.core.HDMBId; -import net.bither.bitherj.crypto.ECKey; -import net.bither.bitherj.crypto.EncryptedData; -import net.bither.bitherj.crypto.hd.DeterministicKey; -import net.bither.bitherj.crypto.hd.HDKeyDerivation; -import net.bither.bitherj.crypto.mnemonic.MnemonicCode; -import net.bither.bitherj.crypto.mnemonic.MnemonicException; -import net.bither.bitherj.db.AbstractDb; -import net.bither.bitherj.qrcode.QRCodeUtil; -import net.bither.bitherj.utils.Base58; -import net.bither.bitherj.utils.PrivateKeyUtil; -import net.bither.bitherj.utils.Utils; -import net.bither.db.EnDesktopAddressProvider; -import net.bither.db.EnDesktopTxProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.annotation.Nullable; -import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -public class EnDesktopHDMKeychain extends AbstractHD { - - public static interface HDMFetchRemotePublicKeys { - void completeRemotePublicKeys(CharSequence password, List partialPubs) - throws Exception; - } - - public static interface HDMFetchRemoteAddresses { - List getRemoteExistsPublicKeys(CharSequence password); - } - - public static interface HDMAddressChangeDelegate { - public void hdmAddressAdded(EnDesktopHDMAddress address); - } - - private static final Logger log = LoggerFactory.getLogger(EnDesktopHDMKeychain.class); - - - protected ArrayList allCompletedAddresses; - private Collection addressesInUse; - private Collection addressesTrashed; - - - private HDMAddressChangeDelegate addressChangeDelegate; - - public EnDesktopHDMKeychain(byte[] mnemonicSeed, CharSequence password) throws MnemonicException - .MnemonicLengthException { - this.mnemonicSeed = mnemonicSeed; - String firstAddress = null; - EncryptedData encryptedMnemonicSeed = null; - EncryptedData encryptedHDSeed = null; - ECKey k = new ECKey(mnemonicSeed, null); - String address = k.toAddress(); - k.clearPrivateKey(); - - hdSeed = seedFromMnemonic(mnemonicSeed); - encryptedHDSeed = new EncryptedData(hdSeed, password, isFromXRandom); - encryptedMnemonicSeed = new EncryptedData(mnemonicSeed, password, isFromXRandom); - firstAddress = getFirstAddressFromSeed(password); - wipeHDSeed(); - wipeMnemonicSeed(); - hdSeedId = EnDesktopAddressProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), - encryptedHDSeed.toEncryptedString(), firstAddress, isFromXRandom, address, null, null); - allCompletedAddresses = new ArrayList(); - - } - - // Create With Random - public EnDesktopHDMKeychain(SecureRandom random, CharSequence password) { - isFromXRandom = random.getClass().getCanonicalName().indexOf("XRandom") >= 0; - mnemonicSeed = new byte[32]; - String firstAddress = null; - EncryptedData encryptedMnemonicSeed = null; - EncryptedData encryptedHDSeed = null; - while (firstAddress == null) { - try { - random.nextBytes(mnemonicSeed); - hdSeed = seedFromMnemonic(mnemonicSeed); - encryptedHDSeed = new EncryptedData(hdSeed, password, isFromXRandom); - encryptedMnemonicSeed = new EncryptedData(mnemonicSeed, password, isFromXRandom); - firstAddress = getFirstAddressFromSeed(password); - } catch (Exception e) { - e.printStackTrace(); - } - } - ECKey k = new ECKey(mnemonicSeed, null); - String address = k.toAddress(); - k.clearPrivateKey(); - wipeHDSeed(); - wipeMnemonicSeed(); - hdSeedId = EnDesktopAddressProvider.getInstance().addHDKey(encryptedMnemonicSeed.toEncryptedString(), - encryptedHDSeed.toEncryptedString(), firstAddress, isFromXRandom, address, null, null); - allCompletedAddresses = new ArrayList(); - } - - // From DB - public EnDesktopHDMKeychain(int seedId) { - this.hdSeedId = seedId; - allCompletedAddresses = new ArrayList(); - initFromDb(); - } - - // Import - public EnDesktopHDMKeychain(EncryptedData encryptedMnemonicSeed, CharSequence password, - HDMFetchRemoteAddresses fetchDelegate) throws - HDMBitherIdNotMatchException, MnemonicException.MnemonicLengthException { - mnemonicSeed = encryptedMnemonicSeed.decrypt(password); - hdSeed = seedFromMnemonic(mnemonicSeed); - isFromXRandom = encryptedMnemonicSeed.isXRandom(); - EncryptedData encryptedHDSeed = new EncryptedData(hdSeed, password, isFromXRandom); - allCompletedAddresses = new ArrayList(); - ArrayList as = new ArrayList(); - ArrayList uncompPubs = new ArrayList(); - if (fetchDelegate != null) { - List pubs = fetchDelegate.getRemoteExistsPublicKeys(password); - if (pubs.size() > 0) { - try { - DeterministicKey root = externalChainRoot(password); - byte[] pubDerived = root.deriveSoftened(0).getPubKey(); - byte[] pubFetched = pubs.get(0).hot; - root.wipe(); - if (!Arrays.equals(pubDerived, pubFetched)) { - wipeMnemonicSeed(); - wipeHDSeed(); - throw new HDMBitherIdNotMatchException(); - } - } catch (MnemonicException.MnemonicLengthException e) { - wipeMnemonicSeed(); - wipeHDSeed(); - throw e; - } - } - for (HDMAddress.Pubs p : pubs) { - if (p.isCompleted()) { - as.add(new EnDesktopHDMAddress(p, this, false)); - } else { - uncompPubs.add(p); - } - } - } - ECKey k = new ECKey(mnemonicSeed, null); - String address = k.toAddress(); - k.clearPrivateKey(); - String firstAddress = getFirstAddressFromSeed(password); - wipeMnemonicSeed(); - wipeHDSeed(); - - this.hdSeedId = EnDesktopAddressProvider.getInstance().addHDKey(encryptedMnemonicSeed - .toEncryptedString(), encryptedHDSeed.toEncryptedString(), firstAddress, - isFromXRandom, address, null, null); - if (as.size() > 0) { - // EnDesktopAddressProvider.getInstance().completeHDMAddresses(getHdSeedId(), as); - allCompletedAddresses.addAll(as); - if (uncompPubs.size() > 0) { - // EnDesktopAddressProvider.getInstance().prepareHDMAddresses(getHdSeedId(), uncompPubs); - for (HDMAddress.Pubs p : uncompPubs) { - AbstractDb.addressProvider.setHDMPubsRemote(getHdSeedId(), p.index, p.remote); - } - } - } - } - - - public int prepareAddresses(int count, CharSequence password, byte[] coldExternalRootPub) { - DeterministicKey externalRootHot; - DeterministicKey externalRootCold = HDKeyDerivation.createMasterPubKeyFromExtendedBytes - (coldExternalRootPub); - - try { - externalRootHot = externalChainRoot(password); - externalRootHot.clearPrivateKey(); - } catch (MnemonicException.MnemonicLengthException e) { - return 0; - } - ArrayList pubs = new ArrayList(); - int startIndex = 0; - int maxIndex = EnDesktopTxProvider.getInstance().maxHDMAddressPubIndex(); - if (maxIndex >= 0) { - startIndex = maxIndex + 1; - } - - if (startIndex > 0) { - HDMBId id = HDMBId.getHDMBidFromDb(); - if (id != null) { - String hdmIdAddress = id.getAddress(); - if (!Utils.compareString(hdmIdAddress, Utils.toAddress(externalRootCold - .deriveSoftened(0).getPubKeyHash()))) { - throw new HDMColdPubNotSameException(); - } - } - } - - for (int i = startIndex; - pubs.size() < count; - i++) { - HDMAddress.Pubs p = new HDMAddress.Pubs(); - try { - p.hot = externalRootHot.deriveSoftened(i).getPubKey(); - } catch (Exception e) { - e.printStackTrace(); - p.hot = HDMAddress.Pubs.EmptyBytes; - } - try { - p.cold = externalRootCold.deriveSoftened(i).getPubKey(); - } catch (Exception e) { - e.printStackTrace(); - p.cold = HDMAddress.Pubs.EmptyBytes; - } - p.index = i; - pubs.add(p); - } - //EnDesktopAddressProvider.getInstance().prepareHDMAddresses(getHdSeedId(), pubs); - if (externalRootHot != null) { - externalRootHot.wipe(); - } - if (externalRootCold != null) { - externalRootCold.wipe(); - } - return pubs.size(); - } - - - public List getAddresses() { - synchronized (allCompletedAddresses) { - if (addressesInUse == null) { - addressesInUse = Collections2.filter(allCompletedAddresses, - new Predicate() { - @Override - public boolean apply(@Nullable EnDesktopHDMAddress input) { - return !input.isTrashed(); - } - }); - } - return new ArrayList(addressesInUse); - } - } - - public List getTrashedAddresses() { - synchronized (allCompletedAddresses) { - if (addressesTrashed == null) { - addressesTrashed = Collections2.filter(allCompletedAddresses, - new Predicate() { - @Override - public boolean apply(@Nullable EnDesktopHDMAddress input) { - return input.isTrashed(); - } - }); - } - return new ArrayList(addressesTrashed); - } - } - - private DeterministicKey externalChainRoot(CharSequence password) throws MnemonicException.MnemonicLengthException { - DeterministicKey master = masterKey(password); - DeterministicKey accountKey = getAccount(master); - DeterministicKey externalKey = getChainRootKey(accountKey, PathType.EXTERNAL_ROOT_PATH); - master.wipe(); - accountKey.wipe(); - return externalKey; - } - - public byte[] getExternalChainRootPubExtended(CharSequence password) throws MnemonicException - .MnemonicLengthException { - DeterministicKey ex = externalChainRoot(password); - byte[] pub = ex.getPubKeyExtended(); - ex.wipe(); - return pub; - } - - public String getExternalChainRootPubExtendedAsHex(CharSequence password) throws - MnemonicException.MnemonicLengthException { - return Utils.bytesToHexString(getExternalChainRootPubExtended(password)).toUpperCase(); - } - - - public int getCurrentMaxAddressIndex() { - synchronized (allCompletedAddresses) { - int max = Integer.MIN_VALUE; - for (EnDesktopHDMAddress address : allCompletedAddresses) { - if (address.getIndex() > max) { - max = address.getIndex(); - } - } - return max; - } - } - - public List getAllCompletedAddresses() { - synchronized (allCompletedAddresses) { - return allCompletedAddresses; - } - } - - private void initFromDb() { - isFromXRandom = EnDesktopAddressProvider.getInstance().isHDSeedFromXRandom(getHdSeedId()); - initAddressesFromDb(); - } - - private void initAddressesFromDb() { - synchronized (allCompletedAddresses) { -// List addrs = EnDesktopTxProvider.getInstance().getHDMAddressInUse(this); -// if (addrs != null) { -// allCompletedAddresses.addAll(addrs); -// } - } - } - - - public HDMAddressChangeDelegate getAddressChangeDelegate() { - return addressChangeDelegate; - } - - public void setAddressChangeDelegate(HDMAddressChangeDelegate addressChangeDelegate) { - this.addressChangeDelegate = addressChangeDelegate; - } - - public boolean isFromXRandom() { - return isFromXRandom; - } - - - public String getFullEncryptPrivKey() { - String encryptPrivKey = getEncryptedMnemonicSeed(); - return PrivateKeyUtil.getFullencryptHDMKeyChain(isFromXRandom, encryptPrivKey); - } - - public String getQRCodeFullEncryptPrivKey() { - return QRCodeUtil.HDM_QR_CODE_FLAG - + getFullEncryptPrivKey(); - } - - @Override - protected String getEncryptedHDSeed() { - - String encrypted = EnDesktopAddressProvider.getInstance().getEncryptHDSeed(hdSeedId); - if (encrypted == null) { - return null; - } - return encrypted.toUpperCase(); - } - - @Override - public String getEncryptedMnemonicSeed() { - - return EnDesktopAddressProvider.getInstance().getEncryptMnemonicSeed(hdSeedId).toUpperCase(); - } - - public String getFirstAddressFromDb() { - return EnDesktopAddressProvider.getInstance().getHDMFristAddress(hdSeedId); - } - - public boolean checkWithPassword(CharSequence password) { - - try { - decryptHDSeed(password); - decryptMnemonicSeed(password); - byte[] hdCopy = Arrays.copyOf(hdSeed, hdSeed.length); - boolean hdSeedSafe = Utils.compareString(getFirstAddressFromDb(), - getFirstAddressFromSeed(null)); - boolean mnemonicSeedSafe = Arrays.equals(seedFromMnemonic(mnemonicSeed), hdCopy); - Utils.wipeBytes(hdCopy); - wipeHDSeed(); - wipeMnemonicSeed(); - return hdSeedSafe && mnemonicSeedSafe; - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - - public static void getRemotePublicKeys(HDMBId hdmBId, CharSequence password, - List partialPubs) throws Exception { - byte[] decryptedPassword = hdmBId.decryptHDMBIdPassword(password); - CreateHDMAddressApi createHDMAddressApi = new CreateHDMAddressApi(hdmBId.getAddress(), - partialPubs, decryptedPassword); - createHDMAddressApi.handleHttpPost(); - List remotePubs = createHDMAddressApi.getResult(); - for (int i = 0; - i < partialPubs.size(); - i++) { - HDMAddress.Pubs pubs = partialPubs.get(i); - pubs.remote = remotePubs.get(i); - } - } - - public static final class HDMColdPubNotSameException extends RuntimeException { - - } - - public static final class HDMBitherIdNotMatchException extends RuntimeException { - public static final String msg = "HDM Bid Not Match"; - - public HDMBitherIdNotMatchException() { - super(msg); - } - } - - public static boolean checkPassword(String keysString, CharSequence password) throws - MnemonicException.MnemonicLengthException { - String[] passwordSeeds = QRCodeUtil.splitOfPasswordSeed(keysString); - String address = Base58.hexToBase58WithAddress(passwordSeeds[0]); - String encreyptString = Utils.joinString(new String[]{passwordSeeds[1], passwordSeeds[2], - passwordSeeds[3]}, QRCodeUtil.QR_CODE_SPLIT); - byte[] seed = new EncryptedData(encreyptString).decrypt(password); - MnemonicCode mnemonic = MnemonicCode.instance(); - - byte[] s = mnemonic.toSeed(mnemonic.toMnemonic(seed), ""); - - DeterministicKey master = HDKeyDerivation.createMasterPrivateKey(s); - - DeterministicKey purpose = master.deriveHardened(44); - - DeterministicKey coinType = purpose.deriveHardened(0); - - DeterministicKey account = coinType.deriveHardened(0); - - DeterministicKey external = account.deriveSoftened(0); - - external.clearPrivateKey(); - - DeterministicKey key = external.deriveSoftened(0); - boolean result = Utils.compareString(address, Utils.toAddress(key.getPubKeyHash())); - key.wipe(); - - return result; - } - - -} diff --git a/src/main/java/net/bither/db/EnDesktopAddressProvider.java b/src/main/java/net/bither/db/EnDesktopAddressProvider.java index 03828f8..0c69f0b 100644 --- a/src/main/java/net/bither/db/EnDesktopAddressProvider.java +++ b/src/main/java/net/bither/db/EnDesktopAddressProvider.java @@ -21,6 +21,7 @@ import net.bither.ApplicationInstanceManager; import net.bither.bitherj.crypto.PasswordSeed; import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.db.IEnDesktopAddressProvider; import net.bither.bitherj.exception.AddressFormatException; import net.bither.bitherj.utils.Base58; import net.bither.bitherj.utils.Utils; @@ -31,7 +32,7 @@ import java.util.ArrayList; import java.util.List; -public class EnDesktopAddressProvider { +public class EnDesktopAddressProvider implements IEnDesktopAddressProvider { private static final String insert_hd_seed_sql = "insert into enterprise_hdm_account " + "(encrypt_mnemonic_seed,encrypt_seed,is_xrandom,hd_address,external_pub,internal_pub)" + diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java new file mode 100644 index 0000000..5c3bc00 --- /dev/null +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java @@ -0,0 +1,45 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.viewsystem.froms; + +import net.bither.fonts.AwesomeIcon; +import net.bither.languages.MessageKey; +import net.bither.viewsystem.base.Panels; +import net.miginfocom.swing.MigLayout; + +import javax.swing.*; + +public class EnterpriseColdPanel extends WizardPanel { + + public EnterpriseColdPanel() { + super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); + + } + + @Override + public void initialiseContent(JPanel panel) { + panel.setLayout(new MigLayout( + Panels.migXYLayout(), + "[][][][][][][]", // Column constraints + "[]10[][][]10" // Row constraints + + )); + + } +} diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java new file mode 100644 index 0000000..3bfa696 --- /dev/null +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -0,0 +1,99 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.viewsystem.froms; + +import net.bither.Bither; +import net.bither.bitherj.crypto.SecureCharSequence; +import net.bither.bitherj.delegate.IPasswordGetterDelegate; +import net.bither.core.EnDesktopHDMKeychain; +import net.bither.fonts.AwesomeIcon; +import net.bither.languages.MessageKey; +import net.bither.viewsystem.base.Panels; +import net.miginfocom.swing.MigLayout; + +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.security.SecureRandom; + +public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDelegate { + + private PasswordPanel.PasswordGetter passwordGetter; + + public EnterpriseHotPanel() { + super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); + passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseHotPanel.this); + setOkAction(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + new Thread(new Runnable() { + @Override + public void run() { + final SecureCharSequence password = passwordGetter.getPassword(); + if (password == null) { + return; + } + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + closePanel(); +// if (xrandomCheckBox.isSelected()) { +// HDMKeychainColdUEntropyDialog hdmKeychainColdUEntropyDialog = new HDMKeychainColdUEntropyDialog(passwordGetter); +// hdmKeychainColdUEntropyDialog.pack(); +// hdmKeychainColdUEntropyDialog.setVisible(true); +// } else { + EnDesktopHDMKeychain chain = new EnDesktopHDMKeychain(new SecureRandom(), password); + + password.wipe(); + Bither.refreshFrame(); + + + // } + } + }); + + } + }).start(); + + } + }); + + + } + + @Override + public void initialiseContent(JPanel panel) { + panel.setLayout(new MigLayout( + Panels.migXYLayout(), + "[][][][][][][]", // Column constraints + "[]10[][][]10" // Row constraints + + )); + + } + + @Override + public void beforePasswordDialogShow() { + + } + + @Override + public void afterPasswordDialogDismiss() { + + } +} diff --git a/src/main/java/net/bither/viewsystem/froms/MorePanel.java b/src/main/java/net/bither/viewsystem/froms/MorePanel.java index 4a4a77a..36858db 100644 --- a/src/main/java/net/bither/viewsystem/froms/MorePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/MorePanel.java @@ -51,6 +51,8 @@ public class MorePanel extends WizardPanel { private JButton btnDonate; private JButton btnChangePassword; + private JButton btnEnterpriseHDM; + public MorePanel() { super(MessageKey.MORE, AwesomeIcon.ELLIPSIS_H); @@ -149,6 +151,20 @@ public void actionPerformed(ActionEvent e) { } }, MessageKey.SHOW_CHANGE_PASSWORD_WIZARD, AwesomeIcon.LOCK); + btnEnterpriseHDM = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + + if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { + EnterpriseHotPanel enterpriseHotPanel = new EnterpriseHotPanel(); + enterpriseHotPanel.showPanel(); + } else { + EnterpriseColdPanel enterpriseColdPanel = new EnterpriseColdPanel(); + enterpriseColdPanel.showPanel(); + } + } + }, MessageKey.HDM, AwesomeIcon.HDD_O); + if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { panel.add(btnChangePassword, "align center,cell 3 0 ,grow ,shrink,wrap"); @@ -158,7 +174,7 @@ public void actionPerformed(ActionEvent e) { panel.add(btnSignMessage, "align center,cell 3 4,shrink,grow,wrap"); panel.add(btnVerfyMessage, "align center,cell 3 5,shrink,grow,wrap"); panel.add(btnPeer, "align center,cell 3 6,shrink,grow,wrap"); - panel.add(btnBlcok, "align center,cell 3 7,shrink,grow,wrap"); + panel.add(btnBlcok, " align center,cell 3 7,shrink,grow,wrap"); btnDonate = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -220,12 +236,13 @@ public void selectAddress(Address address) { }, MessageKey.donate_button, AwesomeIcon.BITCOIN); panel.add(btnDonate, "align center,cell 3 8,grow,shrink,wrap"); + panel.add(btnEnterpriseHDM, "align center,cell 3 9,grow,shrink,wrap"); } else { panel.add(btnChangePassword, "align center,cell 3 0 ,shrink"); panel.add(btnVanitygen, "align center,cell 3 1 ,shrink"); JCheckBox cbCheckPassword = RadioButtons.newCheckPassword(); panel.add(cbCheckPassword, "align center,cell 3 2 ,shrink"); - + panel.add(btnEnterpriseHDM, "align center,cell 3 4,grow,shrink,wrap"); } From 2467322a1edef2913bc94f640f5f769ea36c7d19 Mon Sep 17 00:00:00 2001 From: jjz Date: Sat, 13 Jun 2015 12:52:10 +0800 Subject: [PATCH 09/63] upgrade bitherj --- bitherj | 2 +- src/main/java/net/bither/db/DesktopDbImpl.java | 5 +++++ src/main/java/net/bither/db/EnDesktopTxProvider.java | 3 ++- .../java/net/bither/viewsystem/froms/EnterpriseHotPanel.java | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bitherj b/bitherj index d68a2ae..4ebee52 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit d68a2aef83c8b7f0b90e21d01ec90f464a2dd01a +Subproject commit 4ebee5277376f977ce638fb6ca69d718645df4a8 diff --git a/src/main/java/net/bither/db/DesktopDbImpl.java b/src/main/java/net/bither/db/DesktopDbImpl.java index 7dabbcc..d027289 100644 --- a/src/main/java/net/bither/db/DesktopDbImpl.java +++ b/src/main/java/net/bither/db/DesktopDbImpl.java @@ -48,4 +48,9 @@ public IHDAccountProvider initHDAccountProvider() { public EnterpriseHDMProvider initEnterpriseHDMProvider() { return EnterpriseHDMProvider.getInstance(); } + + @Override + public IEnDesktopAddressProvider initEnDesktopAddressProvider() { + return EnDesktopAddressProvider.getInstance(); + } } diff --git a/src/main/java/net/bither/db/EnDesktopTxProvider.java b/src/main/java/net/bither/db/EnDesktopTxProvider.java index 7a942fe..c9fbbc3 100644 --- a/src/main/java/net/bither/db/EnDesktopTxProvider.java +++ b/src/main/java/net/bither/db/EnDesktopTxProvider.java @@ -19,9 +19,10 @@ package net.bither.db; import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.core.EnDesktopHDMAddress; import net.bither.bitherj.db.AbstractDb; import net.bither.bitherj.utils.Base58; -import net.bither.core.EnDesktopHDMAddress; + import java.sql.PreparedStatement; import java.sql.ResultSet; diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index 3bfa696..b0d5638 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -19,9 +19,9 @@ package net.bither.viewsystem.froms; import net.bither.Bither; +import net.bither.bitherj.core.EnDesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.delegate.IPasswordGetterDelegate; -import net.bither.core.EnDesktopHDMKeychain; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; import net.bither.viewsystem.base.Panels; From d40e55567855f17bbbbf2b0850aa303813548b73 Mon Sep 17 00:00:00 2001 From: jjz Date: Sat, 13 Jun 2015 15:10:38 +0800 Subject: [PATCH 10/63] rename --- bitherj | 2 +- ...vider.java => DesktopAddressProvider.java} | 34 +++++++++++++++---- .../java/net/bither/db/DesktopDbImpl.java | 4 +-- ...TxProvider.java => DesktopTxProvider.java} | 14 ++++---- .../viewsystem/froms/EnterpriseHotPanel.java | 4 +-- 5 files changed, 40 insertions(+), 18 deletions(-) rename src/main/java/net/bither/db/{EnDesktopAddressProvider.java => DesktopAddressProvider.java} (88%) rename src/main/java/net/bither/db/{EnDesktopTxProvider.java => DesktopTxProvider.java} (87%) diff --git a/bitherj b/bitherj index 4ebee52..96f8191 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 4ebee5277376f977ce638fb6ca69d718645df4a8 +Subproject commit 96f819136334b04cca42ed671f9e5012f2cf6e14 diff --git a/src/main/java/net/bither/db/EnDesktopAddressProvider.java b/src/main/java/net/bither/db/DesktopAddressProvider.java similarity index 88% rename from src/main/java/net/bither/db/EnDesktopAddressProvider.java rename to src/main/java/net/bither/db/DesktopAddressProvider.java index 0c69f0b..471ba83 100644 --- a/src/main/java/net/bither/db/EnDesktopAddressProvider.java +++ b/src/main/java/net/bither/db/DesktopAddressProvider.java @@ -21,7 +21,7 @@ import net.bither.ApplicationInstanceManager; import net.bither.bitherj.crypto.PasswordSeed; import net.bither.bitherj.db.AbstractDb; -import net.bither.bitherj.db.IEnDesktopAddressProvider; +import net.bither.bitherj.db.IDesktopAddressProvider; import net.bither.bitherj.exception.AddressFormatException; import net.bither.bitherj.utils.Base58; import net.bither.bitherj.utils.Utils; @@ -32,20 +32,20 @@ import java.util.ArrayList; import java.util.List; -public class EnDesktopAddressProvider implements IEnDesktopAddressProvider { +public class DesktopAddressProvider implements IDesktopAddressProvider { private static final String insert_hd_seed_sql = "insert into enterprise_hdm_account " + "(encrypt_mnemonic_seed,encrypt_seed,is_xrandom,hd_address,external_pub,internal_pub)" + " values (?,?,?,?,?,?) "; - private static EnDesktopAddressProvider addressProvider = - new EnDesktopAddressProvider(ApplicationInstanceManager.addressDBHelper); + private static DesktopAddressProvider addressProvider = + new DesktopAddressProvider(ApplicationInstanceManager.addressDBHelper); - public static EnDesktopAddressProvider getInstance() { + public static DesktopAddressProvider getInstance() { return addressProvider; } - private EnDesktopAddressProvider(AddressDBHelper db) { + private DesktopAddressProvider(AddressDBHelper db) { this.mDb = db; } @@ -237,5 +237,27 @@ public String getHDMFristAddress(int hdSeedId) { return address; } + @Override + public List getDesktopKeyChainSeed() { + List seeds = new ArrayList(); + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where encrypt_seed is not null order by hd_seed_id asc " + , null); + + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.HD_ACCOUNT_ID); + if (idColumn != -1) { + seeds.add(cursor.getInt(idColumn)); + } + } + cursor.close(); + statement.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + } + return seeds; + } + } diff --git a/src/main/java/net/bither/db/DesktopDbImpl.java b/src/main/java/net/bither/db/DesktopDbImpl.java index d027289..6bddb13 100644 --- a/src/main/java/net/bither/db/DesktopDbImpl.java +++ b/src/main/java/net/bither/db/DesktopDbImpl.java @@ -50,7 +50,7 @@ public EnterpriseHDMProvider initEnterpriseHDMProvider() { } @Override - public IEnDesktopAddressProvider initEnDesktopAddressProvider() { - return EnDesktopAddressProvider.getInstance(); + public IDesktopAddressProvider initEnDesktopAddressProvider() { + return DesktopAddressProvider.getInstance(); } } diff --git a/src/main/java/net/bither/db/EnDesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java similarity index 87% rename from src/main/java/net/bither/db/EnDesktopTxProvider.java rename to src/main/java/net/bither/db/DesktopTxProvider.java index c9fbbc3..b410486 100644 --- a/src/main/java/net/bither/db/EnDesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -19,7 +19,7 @@ package net.bither.db; import net.bither.ApplicationInstanceManager; -import net.bither.bitherj.core.EnDesktopHDMAddress; +import net.bither.bitherj.core.DesktopHDMAddress; import net.bither.bitherj.db.AbstractDb; import net.bither.bitherj.utils.Base58; @@ -28,18 +28,18 @@ import java.sql.ResultSet; import java.sql.SQLException; -public class EnDesktopTxProvider { +public class DesktopTxProvider { - private static EnDesktopTxProvider enDesktopTxProvider = - new EnDesktopTxProvider(ApplicationInstanceManager.txDBHelper); + private static DesktopTxProvider enDesktopTxProvider = + new DesktopTxProvider(ApplicationInstanceManager.txDBHelper); private TxDBHelper mDb; - public static EnDesktopTxProvider getInstance() { + public static DesktopTxProvider getInstance() { return enDesktopTxProvider; } - private EnDesktopTxProvider(TxDBHelper db) { + private DesktopTxProvider(TxDBHelper db) { this.mDb = db; } @@ -49,7 +49,7 @@ private EnDesktopTxProvider(TxDBHelper db) { " values (?,?,?,?,?,?,?,?) "; - public void addAddress(EnDesktopHDMAddress address) { + public void addAddress(DesktopHDMAddress address) { try { PreparedStatement stmt = this.mDb.getConn().prepareStatement(insert_hdm_address_sql); String[] params = new String[]{Integer.toString(address.getPathType().getValue()), diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index b0d5638..227ac3d 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -19,7 +19,7 @@ package net.bither.viewsystem.froms; import net.bither.Bither; -import net.bither.bitherj.core.EnDesktopHDMKeychain; +import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.delegate.IPasswordGetterDelegate; import net.bither.fonts.AwesomeIcon; @@ -57,7 +57,7 @@ public void run() { // hdmKeychainColdUEntropyDialog.pack(); // hdmKeychainColdUEntropyDialog.setVisible(true); // } else { - EnDesktopHDMKeychain chain = new EnDesktopHDMKeychain(new SecureRandom(), password); + DesktopHDMKeychain chain = new DesktopHDMKeychain(new SecureRandom(), password); password.wipe(); Bither.refreshFrame(); From 74ee108f11696fa6314cf9d2cd0f0fbdfb3459cd Mon Sep 17 00:00:00 2001 From: jjz Date: Mon, 15 Jun 2015 11:54:10 +0800 Subject: [PATCH 11/63] add DesktopHDMKeychain --- bitherj | 2 +- .../net/bither/db/DesktopAddressProvider.java | 10 +-- src/main/java/net/bither/utils/KeyUtil.java | 9 +++ .../viewsystem/froms/EnterpriseColdPanel.java | 65 ++++++++++++++++++- .../viewsystem/froms/EnterpriseHotPanel.java | 7 +- .../bither/viewsystem/froms/MorePanel.java | 2 +- 6 files changed, 86 insertions(+), 9 deletions(-) diff --git a/bitherj b/bitherj index 96f8191..919574e 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 96f819136334b04cca42ed671f9e5012f2cf6e14 +Subproject commit 919574e7e7c2fb96576ee06507db16e72e0134cd diff --git a/src/main/java/net/bither/db/DesktopAddressProvider.java b/src/main/java/net/bither/db/DesktopAddressProvider.java index 471ba83..b77f2e9 100644 --- a/src/main/java/net/bither/db/DesktopAddressProvider.java +++ b/src/main/java/net/bither/db/DesktopAddressProvider.java @@ -158,7 +158,7 @@ public List getInternalPubs() { public boolean isHDSeedFromXRandom(int hdSeedId) { boolean isXRandom = false; try { - PreparedStatement statement = this.mDb.getPreparedStatement("select is_xrandom from enterprise_hdm_account order by hd_seed_id asc limit 1" + PreparedStatement statement = this.mDb.getPreparedStatement("select is_xrandom from enterprise_hdm_account where hd_account_id=? " , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { @@ -180,7 +180,7 @@ public boolean isHDSeedFromXRandom(int hdSeedId) { public String getEncryptMnemonicSeed(int hdSeedId) { String encryptMnemonicSeed = null; try { - PreparedStatement statement = this.mDb.getPreparedStatement("select encrypt_mnemonic_seed from enterprise_hdm_account order by hd_seed_id asc limit 1" + PreparedStatement statement = this.mDb.getPreparedStatement("select encrypt_mnemonic_seed from enterprise_hdm_account where hd_account_id=? " , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { @@ -200,7 +200,7 @@ public String getEncryptMnemonicSeed(int hdSeedId) { public String getEncryptHDSeed(int hdSeedId) { String encryptSeed = null; try { - PreparedStatement statement = this.mDb.getPreparedStatement("select encrypt_seed from enterprise_hdm_account order by hd_seed_id asc limit 1" + PreparedStatement statement = this.mDb.getPreparedStatement("select encrypt_seed from enterprise_hdm_account where hd_account_id=? " , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { @@ -220,7 +220,7 @@ public String getEncryptHDSeed(int hdSeedId) { public String getHDMFristAddress(int hdSeedId) { String address = null; try { - PreparedStatement statement = this.mDb.getPreparedStatement("select hd_address from enterprise_hdm_account order by hd_seed_id asc limit 1" + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_address from enterprise_hdm_account where hd_account_id=? " , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { @@ -241,7 +241,7 @@ public String getHDMFristAddress(int hdSeedId) { public List getDesktopKeyChainSeed() { List seeds = new ArrayList(); try { - PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where encrypt_seed is not null order by hd_seed_id asc " + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where encrypt_seed is not null order by hd_account_id asc " , null); ResultSet cursor = statement.executeQuery(); diff --git a/src/main/java/net/bither/utils/KeyUtil.java b/src/main/java/net/bither/utils/KeyUtil.java index 9579317..6ce304f 100644 --- a/src/main/java/net/bither/utils/KeyUtil.java +++ b/src/main/java/net/bither/utils/KeyUtil.java @@ -98,6 +98,15 @@ public static void setHDKeyChain(HDMKeychain keyChain) { } + public static void setDesktopHMDKeychains(List keychains) { + AddressManager.getInstance().setDesktopHDMKeychains(keychains); + if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.COLD) { + BackupUtil.backupColdKey(false); + } else { + BackupUtil.backupHotKey(); + } + } + public static void setHDAccount(HDAccount hdAccount) { AddressManager.getInstance().setHdAccount(hdAccount); if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.COLD) { diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java index 5c3bc00..3cc1cf4 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java @@ -18,18 +18,70 @@ package net.bither.viewsystem.froms; +import net.bither.Bither; +import net.bither.bitherj.core.DesktopHDMKeychain; +import net.bither.bitherj.crypto.SecureCharSequence; +import net.bither.bitherj.delegate.IPasswordGetterDelegate; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; +import net.bither.utils.KeyUtil; import net.bither.viewsystem.base.Panels; import net.miginfocom.swing.MigLayout; import javax.swing.*; +import java.awt.event.ActionEvent; +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.List; -public class EnterpriseColdPanel extends WizardPanel { +public class EnterpriseColdPanel extends WizardPanel implements IPasswordGetterDelegate { + + private PasswordPanel.PasswordGetter passwordGetter; public EnterpriseColdPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); + passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseColdPanel.this); + setOkAction(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + new Thread(new Runnable() { + @Override + public void run() { + final SecureCharSequence password = passwordGetter.getPassword(); + if (password == null) { + return; + } + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + closePanel(); +// if (xrandomCheckBox.isSelected()) { +// HDMKeychainColdUEntropyDialog hdmKeychainColdUEntropyDialog = new HDMKeychainColdUEntropyDialog(passwordGetter); +// hdmKeychainColdUEntropyDialog.pack(); +// hdmKeychainColdUEntropyDialog.setVisible(true); +// } else { + List desktopHDMKeychainList = new ArrayList(); + DesktopHDMKeychain chain1 = new DesktopHDMKeychain(new SecureRandom(), password); + desktopHDMKeychainList.add(chain1); + DesktopHDMKeychain chain2 = new DesktopHDMKeychain(new SecureRandom(), password); + desktopHDMKeychainList.add(chain2); + KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); + password.wipe(); + Bither.refreshFrame(); + + + // } + } + }); + + } + }).start(); + + } + }); + + } @Override @@ -42,4 +94,15 @@ public void initialiseContent(JPanel panel) { )); } + + @Override + public void beforePasswordDialogShow() { + + } + + @Override + public void afterPasswordDialogDismiss() { + + } + } diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index 227ac3d..86c61f2 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -24,12 +24,15 @@ import net.bither.bitherj.delegate.IPasswordGetterDelegate; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; +import net.bither.utils.KeyUtil; import net.bither.viewsystem.base.Panels; import net.miginfocom.swing.MigLayout; import javax.swing.*; import java.awt.event.ActionEvent; import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.List; public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDelegate { @@ -58,7 +61,9 @@ public void run() { // hdmKeychainColdUEntropyDialog.setVisible(true); // } else { DesktopHDMKeychain chain = new DesktopHDMKeychain(new SecureRandom(), password); - + List desktopHDMKeychainList = new ArrayList(); + desktopHDMKeychainList.add(chain); + KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); password.wipe(); Bither.refreshFrame(); diff --git a/src/main/java/net/bither/viewsystem/froms/MorePanel.java b/src/main/java/net/bither/viewsystem/froms/MorePanel.java index 36858db..b89ef69 100644 --- a/src/main/java/net/bither/viewsystem/froms/MorePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/MorePanel.java @@ -154,7 +154,7 @@ public void actionPerformed(ActionEvent e) { btnEnterpriseHDM = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { - + closePanel(); if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { EnterpriseHotPanel enterpriseHotPanel = new EnterpriseHotPanel(); enterpriseHotPanel.showPanel(); From 77ca72577656413f4561ae8301cff79c8d512ec5 Mon Sep 17 00:00:00 2001 From: jjz Date: Mon, 15 Jun 2015 14:41:02 +0800 Subject: [PATCH 12/63] upgrade bitherj --- bitherj | 2 +- .../net/bither/db/DesktopAddressProvider.java | 2 +- .../viewsystem/froms/EnterpriseColdPanel.java | 96 ++++++++++++++++++- 3 files changed, 96 insertions(+), 4 deletions(-) diff --git a/bitherj b/bitherj index 919574e..348367e 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 919574e7e7c2fb96576ee06507db16e72e0134cd +Subproject commit 348367e9bf6472c68da312eb1b98aed04b7eb7ac diff --git a/src/main/java/net/bither/db/DesktopAddressProvider.java b/src/main/java/net/bither/db/DesktopAddressProvider.java index b77f2e9..00bc2d4 100644 --- a/src/main/java/net/bither/db/DesktopAddressProvider.java +++ b/src/main/java/net/bither/db/DesktopAddressProvider.java @@ -245,7 +245,7 @@ public List getDesktopKeyChainSeed() { , null); ResultSet cursor = statement.executeQuery(); - if (cursor.next()) { + while (cursor.next()) { int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.HD_ACCOUNT_ID); if (idColumn != -1) { seeds.add(cursor.getInt(idColumn)); diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java index 3cc1cf4..24a8ce9 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java @@ -19,13 +19,17 @@ package net.bither.viewsystem.froms; import net.bither.Bither; +import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.delegate.IPasswordGetterDelegate; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; +import net.bither.qrcode.DisplayBitherQRCodePanel; import net.bither.utils.KeyUtil; +import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Panels; +import net.bither.viewsystem.dialogs.DialogProgress; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -37,6 +41,8 @@ public class EnterpriseColdPanel extends WizardPanel implements IPasswordGetterDelegate { private PasswordPanel.PasswordGetter passwordGetter; + private JButton btnFirstMasterPub; + private JButton btnSecondMasterPub; public EnterpriseColdPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); @@ -89,9 +95,95 @@ public void initialiseContent(JPanel panel) { panel.setLayout(new MigLayout( Panels.migXYLayout(), "[][][][][][][]", // Column constraints - "[]10[][][]10" // Row constraints - + "[][][][][][]" // Row constraints )); + btnFirstMasterPub = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + final DialogProgress dp = new DialogProgress(); + new Thread(new Runnable() { + @Override + public void run() { + final SecureCharSequence password = passwordGetter.getPassword(); + if (password == null) { + return; + } + List desktopHDMKeychains = + AddressManager.getInstance().getDesktopHDMKeychains(); + if (desktopHDMKeychains == null || desktopHDMKeychains.size() == 0) { + return; + } + DesktopHDMKeychain desktopHDMKeychain = desktopHDMKeychains.get(0); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + dp.pack(); + dp.setVisible(true); + } + }); + final String extendPubkey = desktopHDMKeychain.getMasterPubKeyExtendedStr(password); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + dp.dispose(); + DisplayBitherQRCodePanel bitherQRCodePanel = + new DisplayBitherQRCodePanel(extendPubkey); + bitherQRCodePanel.showPanel(); + } + }); + + + } + }).start(); + + } + }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + btnSecondMasterPub = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + final DialogProgress dp = new DialogProgress(); + new Thread(new Runnable() { + @Override + public void run() { + final SecureCharSequence password = passwordGetter.getPassword(); + if (password == null) { + return; + } + List desktopHDMKeychains = + AddressManager.getInstance().getDesktopHDMKeychains(); + if (desktopHDMKeychains == null || desktopHDMKeychains.size() == 0) { + return; + } + DesktopHDMKeychain desktopHDMKeychain = desktopHDMKeychains.get(0); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + dp.pack(); + dp.setVisible(true); + } + }); + final String extendPubkey = desktopHDMKeychain.getMasterPubKeyExtendedStr(password); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + dp.dispose(); + DisplayBitherQRCodePanel bitherQRCodePanel = + new DisplayBitherQRCodePanel(extendPubkey); + bitherQRCodePanel.showPanel(); + } + }); + + + } + }).start(); + + + } + }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + if (AddressManager.getInstance().hasDesktopHDMKeychain()) { + panel.add(btnFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); + panel.add(btnSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); + } } From 9663efbba9fa2e413e0b263861a6c62e781344d4 Mon Sep 17 00:00:00 2001 From: jjz Date: Mon, 15 Jun 2015 22:14:57 +0800 Subject: [PATCH 13/63] upgrade bitherj --- bitherj | 2 +- .../java/net/bither/db/DesktopDbImpl.java | 5 + .../java/net/bither/db/DesktopTxProvider.java | 32 +++--- .../net/bither/qrcode/SelectQRCodePanel.java | 1 - .../viewsystem/froms/EnterpriseColdPanel.java | 16 +++ .../viewsystem/froms/EnterpriseHotPanel.java | 101 +++++++++++++++++- 6 files changed, 140 insertions(+), 17 deletions(-) diff --git a/bitherj b/bitherj index 348367e..77025ba 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 348367e9bf6472c68da312eb1b98aed04b7eb7ac +Subproject commit 77025ba479156692f68a636fe95e50324f1cf91d diff --git a/src/main/java/net/bither/db/DesktopDbImpl.java b/src/main/java/net/bither/db/DesktopDbImpl.java index 6bddb13..84e38a0 100644 --- a/src/main/java/net/bither/db/DesktopDbImpl.java +++ b/src/main/java/net/bither/db/DesktopDbImpl.java @@ -53,4 +53,9 @@ public EnterpriseHDMProvider initEnterpriseHDMProvider() { public IDesktopAddressProvider initEnDesktopAddressProvider() { return DesktopAddressProvider.getInstance(); } + + @Override + public IDesktopTxProvider initDesktopTxProvider() { + return DesktopTxProvider.getInstance(); + } } diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index b410486..599c347 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -21,14 +21,16 @@ import net.bither.ApplicationInstanceManager; import net.bither.bitherj.core.DesktopHDMAddress; import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.db.IDesktopTxProvider; import net.bither.bitherj.utils.Base58; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.List; -public class DesktopTxProvider { +public class DesktopTxProvider implements IDesktopTxProvider { private static DesktopTxProvider enDesktopTxProvider = new DesktopTxProvider(ApplicationInstanceManager.txDBHelper); @@ -49,21 +51,25 @@ private DesktopTxProvider(TxDBHelper db) { " values (?,?,?,?,?,?,?,?) "; - public void addAddress(DesktopHDMAddress address) { + public void addAddress(List addressList) { try { - PreparedStatement stmt = this.mDb.getConn().prepareStatement(insert_hdm_address_sql); - String[] params = new String[]{Integer.toString(address.getPathType().getValue()), - Integer.toString(address.getIndex()), Integer.toString(address.isIssued() ? 1 : 0), - address.getAddress(), Base58.encode(address.getPubHot()), Base58.encode(address.getPubRemote()) - , Base58.encode(address.getPubCold()), Integer.toString(address.isSyncComplete() ? 1 : 0) - }; - if (params != null) { - for (int i = 0; i < params.length; i++) { - stmt.setString(i + 1, params[i]); + this.mDb.getConn().setAutoCommit(false); + for (DesktopHDMAddress address : addressList) { + PreparedStatement stmt = this.mDb.getConn().prepareStatement(insert_hdm_address_sql); + String[] params = new String[]{Integer.toString(address.getPathType().getValue()), + Integer.toString(address.getIndex()), Integer.toString(address.isIssued() ? 1 : 0), + address.getAddress(), Base58.encode(address.getPubHot()), Base58.encode(address.getPubRemote()) + , Base58.encode(address.getPubCold()), Integer.toString(address.isSyncComplete() ? 1 : 0) + }; + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } } + stmt.executeUpdate(); + stmt.close(); } - stmt.executeUpdate(); - stmt.close(); + this.mDb.getConn().commit(); } catch (SQLException e) { e.printStackTrace(); diff --git a/src/main/java/net/bither/qrcode/SelectQRCodePanel.java b/src/main/java/net/bither/qrcode/SelectQRCodePanel.java index 29cd505..b33bc0e 100644 --- a/src/main/java/net/bither/qrcode/SelectQRCodePanel.java +++ b/src/main/java/net/bither/qrcode/SelectQRCodePanel.java @@ -50,7 +50,6 @@ public interface IFileChooser { public SelectQRCodePanel(IScanQRCode scanQRCode) { super(MessageKey.QR_CODE, AwesomeIcon.QRCODE); this.scanQRCode = scanQRCode; - } @Override diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java index 24a8ce9..e19e46f 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java @@ -27,9 +27,11 @@ import net.bither.languages.MessageKey; import net.bither.qrcode.DisplayBitherQRCodePanel; import net.bither.utils.KeyUtil; +import net.bither.utils.LocaliserUtils; import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Panels; import net.bither.viewsystem.dialogs.DialogProgress; +import net.bither.viewsystem.dialogs.MessageDialog; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -43,6 +45,7 @@ public class EnterpriseColdPanel extends WizardPanel implements IPasswordGetterD private PasswordPanel.PasswordGetter passwordGetter; private JButton btnFirstMasterPub; private JButton btnSecondMasterPub; + private JButton btnSignTransaction; public EnterpriseColdPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); @@ -180,9 +183,22 @@ public void run() { } }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + + Action signActionListener = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent actionEvent) { + if (AddressManager.getInstance().getPrivKeyAddresses().size() == 0 && AddressManager.getInstance().getHdmKeychain() == null) { + new MessageDialog(LocaliserUtils.getString("private_key_is_empty")).showMsg(); + } else { + // toSignTx(); + } + } + }; + btnSignTransaction = Buttons.addWizardButton(signActionListener, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); if (AddressManager.getInstance().hasDesktopHDMKeychain()) { panel.add(btnFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); panel.add(btnSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); + panel.add(btnSignTransaction, "align center,cell 3 2 ,grow ,shrink,wrap"); } } diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index 86c61f2..89479f4 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -19,13 +19,21 @@ package net.bither.viewsystem.froms; import net.bither.Bither; +import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.delegate.IPasswordGetterDelegate; +import net.bither.bitherj.qrcode.QRCodeUtil; +import net.bither.bitherj.utils.Utils; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; +import net.bither.qrcode.IReadQRCode; +import net.bither.qrcode.IScanQRCode; +import net.bither.qrcode.SelectQRCodePanel; import net.bither.utils.KeyUtil; +import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Panels; +import net.bither.viewsystem.dialogs.DialogProgress; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -38,9 +46,16 @@ public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDe private PasswordPanel.PasswordGetter passwordGetter; + private JButton btnImportFirstMasterPub; + private JButton btnImportSecondMasterPub; + private byte[] bytesFirst = null; + private byte[] bytesSecond = null; + + //todo get coin address, banlance public EnterpriseHotPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseHotPanel.this); + setOkAction(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -77,6 +92,83 @@ public void run() { } }); + ininUI(); + + } + + private void ininUI() { + btnImportFirstMasterPub = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + SelectQRCodePanel selectQRCodePanel = new SelectQRCodePanel(new IScanQRCode() { + @Override + public void handleResult(String result, IReadQRCode readQRCode) { + readQRCode.close(); + if (QRCodeUtil.verifyBitherQRCode(result)) { + bytesFirst = Utils.hexStringToByteArray(result); + btnImportFirstMasterPub.setEnabled(true); + addOtherPubkey(); + } else { + readQRCode.reTry(""); + } + + } + }); + selectQRCodePanel.showPanel(); + + } + }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + btnImportSecondMasterPub = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + SelectQRCodePanel selectQRCodePanel = new SelectQRCodePanel(new IScanQRCode() { + @Override + public void handleResult(String result, IReadQRCode readQRCode) { + readQRCode.close(); + if (QRCodeUtil.verifyBitherQRCode(result)) { + bytesSecond = Utils.hexStringToByteArray(result); + btnImportSecondMasterPub.setEnabled(true); + addOtherPubkey(); + } else { + readQRCode.reTry(""); + } + + } + }); + selectQRCodePanel.showPanel(); + + } + }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + } + + private void addOtherPubkey() { + if (bytesSecond == null || bytesFirst == null || !AddressManager.getInstance().hasDesktopHDMKeychain()) { + return; + } + final DialogProgress dialogProgress = new DialogProgress(); + + new Thread(new Runnable() { + @Override + public void run() { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + dialogProgress.pack(); + dialogProgress.setVisible(true); + } + }); + DesktopHDMKeychain desktopHDMKeychain = + AddressManager.getInstance().getDesktopHDMKeychains().get(0); + desktopHDMKeychain.addAccountKey(bytesFirst, bytesSecond); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + dialogProgress.dispose(); + } + }); + + } + }).start(); } @@ -86,10 +178,15 @@ public void initialiseContent(JPanel panel) { panel.setLayout(new MigLayout( Panels.migXYLayout(), "[][][][][][][]", // Column constraints - "[]10[][][]10" // Row constraints - + "[][][][][][]" // Row constraints )); + if (AddressManager.getInstance().hasDesktopHDMKeychain()) { + panel.add(btnImportFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); + panel.add(btnImportSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); + } + + } @Override From 0912962896d6fcfe83bca824960efb6f8f31499e Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 16 Jun 2015 11:03:32 +0800 Subject: [PATCH 14/63] add DesktopHDMAddress to db --- bitherj | 2 +- .../net/bither/db/DesktopAddressProvider.java | 5 ++-- .../java/net/bither/db/DesktopTxProvider.java | 4 +-- src/main/java/net/bither/db/TxDBHelper.java | 2 +- .../viewsystem/froms/EnterpriseHotPanel.java | 27 +++++++++++++++---- 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/bitherj b/bitherj index 77025ba..290d81d 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 77025ba479156692f68a636fe95e50324f1cf91d +Subproject commit 290d81dd0b8d717b7ed4d8f8fce13c8a123758b5 diff --git a/src/main/java/net/bither/db/DesktopAddressProvider.java b/src/main/java/net/bither/db/DesktopAddressProvider.java index 00bc2d4..b12c2bf 100644 --- a/src/main/java/net/bither/db/DesktopAddressProvider.java +++ b/src/main/java/net/bither/db/DesktopAddressProvider.java @@ -100,6 +100,7 @@ public void addHDMPub(List externalPubs, List internalPubs) { PreparedStatement statement = this.mDb.getPreparedStatement(hdSeedSql, new String[]{ Base58.encode(externalPubs.get(i)), Base58.encode(internalPubs.get(i)) }); + statement.executeUpdate(); statement.close(); } this.mDb.getConn().commit(); @@ -114,7 +115,7 @@ public List getExternalPubs() { List externalPubs = new ArrayList(); try { - String sql = "select external_pub from enterprise_hdm_account where encrypt_seed=null order by hd_account_id asc"; + String sql = "select external_pub from enterprise_hdm_account order by hd_account_id asc"; PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); ResultSet cursor = stmt.executeQuery(); while (cursor.next()) { @@ -136,7 +137,7 @@ public List getExternalPubs() { public List getInternalPubs() { List internalPubs = new ArrayList(); try { - String sql = "select internal_pub from enterprise_hdm_account where encrypt_seed=null order by hd_account_id asc"; + String sql = "select internal_pub from enterprise_hdm_account order by hd_account_id asc"; PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); ResultSet cursor = stmt.executeQuery(); while (cursor.next()) { diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index 599c347..2d26633 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -46,7 +46,7 @@ private DesktopTxProvider(TxDBHelper db) { } - private static final String insert_hdm_address_sql = "insert into hd_account_addresses " + + private static final String insert_hdm_address_sql = "insert into desktop_hdm_account_addresses " + "(path_type,address_index,is_issued,address,pub_key_1,pub_key_2,pub_key_3,is_synced)" + " values (?,?,?,?,?,?,?,?) "; @@ -80,7 +80,7 @@ public void addAddress(List addressList) { public int maxHDMAddressPubIndex() { int maxIndex = -1; try { - PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(max(address_index),-1) address_index from hd_account_addresses ", null); + PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(max(address_index),-1) address_index from desktop_hdm_account_addresses ", null); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { diff --git a/src/main/java/net/bither/db/TxDBHelper.java b/src/main/java/net/bither/db/TxDBHelper.java index 99b9dac..ed27581 100644 --- a/src/main/java/net/bither/db/TxDBHelper.java +++ b/src/main/java/net/bither/db/TxDBHelper.java @@ -31,7 +31,7 @@ public class TxDBHelper extends AbstractDBHelper { private static final String DB_NAME = "bither.db"; private static final int CURRENT_VERSION = 3; - public static final String CREATE_ENTERPRISE_HDM_ADDRESSES = "create table if not exists hd_account_addresses " + + public static final String CREATE_ENTERPRISE_HDM_ADDRESSES = "create table if not exists desktop_hdm_account_addresses " + "(path_type integer not null" + ", address_index integer not null" + ", is_issued integer not null" + diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index 89479f4..c9023a1 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -48,6 +48,9 @@ public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDe private JButton btnImportFirstMasterPub; private JButton btnImportSecondMasterPub; + + private JButton btnAddKeychain; + private byte[] bytesFirst = null; private byte[] bytesSecond = null; @@ -56,9 +59,17 @@ public EnterpriseHotPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseHotPanel.this); - setOkAction(new AbstractAction() { + ininPubKeyUI(); + initAddKeychain(); + initAddress(); + + } + + private void initAddKeychain() { + btnAddKeychain = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { + new Thread(new Runnable() { @Override public void run() { @@ -80,7 +91,7 @@ public void run() { desktopHDMKeychainList.add(chain); KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); password.wipe(); - Bither.refreshFrame(); + // Bither.refreshFrame(); // } @@ -90,13 +101,17 @@ public void run() { } }).start(); + } - }); - ininUI(); + }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + + } + + private void initAddress() { } - private void ininUI() { + private void ininPubKeyUI() { btnImportFirstMasterPub = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -184,6 +199,8 @@ public void initialiseContent(JPanel panel) { if (AddressManager.getInstance().hasDesktopHDMKeychain()) { panel.add(btnImportFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); panel.add(btnImportSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); + } else { + panel.add(btnAddKeychain, "align center,cell 3 0 ,grow ,shrink,wrap"); } From 6a4e5ec52dbad2981c3a7b4e59383d549df7764a Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 16 Jun 2015 14:52:01 +0800 Subject: [PATCH 15/63] upgrade bitherj --- bitherj | 2 +- .../java/net/bither/db/DesktopTxProvider.java | 243 +++++++++++++++++- .../java/net/bither/languages/MessageKey.java | 3 +- .../viewsystem/froms/EnterpriseHotPanel.java | 35 ++- 4 files changed, 275 insertions(+), 8 deletions(-) diff --git a/bitherj b/bitherj index 290d81d..066b5fa 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 290d81dd0b8d717b7ed4d8f8fce13c8a123758b5 +Subproject commit 066b5fa0b4ff48899e4434730424c8b4139bb79e diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index 2d26633..53f659a 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -19,19 +19,30 @@ package net.bither.db; import net.bither.ApplicationInstanceManager; -import net.bither.bitherj.core.DesktopHDMAddress; +import net.bither.bitherj.core.*; import net.bither.bitherj.db.AbstractDb; import net.bither.bitherj.db.IDesktopTxProvider; +import net.bither.bitherj.exception.AddressFormatException; import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.Sha256Hash; +import net.bither.bitherj.utils.Utils; +import net.bither.utils.SystemUtil; +import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; public class DesktopTxProvider implements IDesktopTxProvider { + private final static String queryTxHashOfHDAccount = " select distinct txs.tx_hash from addresses_txs txs ,desktop_hdm_account_addresses hd where txs.address=hd.address"; + private final static String inQueryTxHashOfDesktopHDMKeychain = " (" + queryTxHashOfHDAccount + ")"; + private static DesktopTxProvider enDesktopTxProvider = new DesktopTxProvider(ApplicationInstanceManager.txDBHelper); @@ -50,7 +61,7 @@ private DesktopTxProvider(TxDBHelper db) { "(path_type,address_index,is_issued,address,pub_key_1,pub_key_2,pub_key_3,is_synced)" + " values (?,?,?,?,?,?,?,?) "; - + @Override public void addAddress(List addressList) { try { this.mDb.getConn().setAutoCommit(false); @@ -77,6 +88,7 @@ public void addAddress(List addressList) { } + @Override public int maxHDMAddressPubIndex() { int maxIndex = -1; try { @@ -97,5 +109,232 @@ public int maxHDMAddressPubIndex() { return maxIndex; } + @Override + public String externalAddress() { + String address = null; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select address from desktop_hdm_account_addresses where path_type=? and is_issued=? order by address_index asc limit 1 ", + new String[]{Integer.toString(AbstractHD.PathType.EXTERNAL_ROOT_PATH.getValue()), "0"}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); + if (idColumn != -1) { + address = cursor.getString(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return address; + } + + @Override + public boolean hasAddress() { + boolean hasAddress = false; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select count(address) cnt from desktop_hdm_account_addresses ", + null); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn("cnt"); + if (idColumn != -1) { + hasAddress = cursor.getInt(idColumn) > 0; + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return hasAddress; + } + + @Override + public long getHDAccountConfirmedBanlance(int hdSeedId) { + long sum = 0; + String unspendOutSql = "select ifnull(sum(a.out_value),0) sum from outs a,txs b where a.tx_hash=b.tx_hash " + + " and a.out_status=? and a.enterprise_hd_account_id=? and b.block_no is not null"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(unspendOutSql, + new String[]{Integer.toString(Out.OutStatus.unspent.getValue()), Integer.toString(hdSeedId)}); + ResultSet c = statement.executeQuery(); + if (c.next()) { + int idColumn = c.findColumn("sum"); + if (idColumn != -1) { + sum = c.getLong(idColumn); + } + } + c.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return sum; + } + + @Override + public HashSet getBelongAccountAddresses(List addressList) { + HashSet addressSet = new HashSet(); + + List temp = new ArrayList(); + if (addressList != null) { + for (String str : addressList) { + temp.add(Utils.format("'%s'", str)); + } + } + try { + String sql = Utils.format("select address from desktop_hdm_account_addresses where address in (%s) " + , Utils.joinString(temp, ",")); + PreparedStatement statement = this.mDb.getPreparedStatement(sql, + null); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); + if (idColumn != -1) { + addressSet.add(cursor.getString(idColumn)); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + SystemUtil.maxUsedSize(); + return addressSet; + } + + @Override + public void updateIssuedIndex(AbstractHD.PathType pathType, int index) { + String sql = "update desktop_hdm_account_addresses set is_issued=? where path_type=? and address_index<=? "; + Connection conn = this.mDb.getConn(); + try { + String[] params = new String[]{ + "1", Integer.toString(pathType.getValue()), Integer.toString(index) + }; + PreparedStatement stmt = conn.prepareStatement(sql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + conn.commit(); + stmt.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public int issuedIndex(AbstractHD.PathType pathType) { + + int issuedIndex = -1; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(max(address_index),-1) address_index from " + + "desktop_hdm_account_addresses where path_type=? and is_issued=? ", + new String[]{Integer.toString(pathType.getValue()), "1"}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn("address_index"); + if (idColumn != -1) { + issuedIndex = cursor.getInt(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return issuedIndex; + } + + @Override + public int allGeneratedAddressCount(AbstractHD.PathType pathType) { + int count = 0; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(count(address),0) count from " + + "desktop_hdm_account_addresses where path_type=? ", + new String[]{Integer.toString(pathType.getValue())}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn("count"); + if (idColumn != -1) { + count = cursor.getInt(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return count; + } + + @Override + public List getHDAccountUnconfirmedTx() { + List txList = new ArrayList(); + HashMap txDict = new HashMap(); + try { + String sql = "select * from txs where tx_hash in" + + inQueryTxHashOfDesktopHDMKeychain + + " and block_no is null " + + " order by block_no desc"; + PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); + ResultSet c = statement.executeQuery(); + while (c.next()) { + Tx txItem = TxHelper.applyCursor(c); + txItem.setIns(new ArrayList()); + txItem.setOuts(new ArrayList()); + txList.add(txItem); + txDict.put(new Sha256Hash(txItem.getTxHash()), txItem); + } + c.close(); + statement.close(); + sql = "select b.* " + + " from ins b, txs c " + + " where c.tx_hash in " + + inQueryTxHashOfDesktopHDMKeychain + + " and b.tx_hash=c.tx_hash and c.block_no is null " + + " order by b.tx_hash ,b.in_sn"; + statement = this.mDb.getPreparedStatement(sql, null); + c = statement.executeQuery(); + while (c.next()) { + In inItem = TxHelper.applyCursorIn(c); + Tx tx = txDict.get(new Sha256Hash(inItem.getTxHash())); + if (tx != null) { + tx.getIns().add(inItem); + } + } + c.close(); + statement.close(); + + sql = "select b.* " + + " from outs b, txs c " + + " where c.tx_hash in" + + inQueryTxHashOfDesktopHDMKeychain + + " and b.tx_hash=c.tx_hash and c.block_no is null " + + " order by b.tx_hash,b.out_sn"; + statement = this.mDb.getPreparedStatement(sql, null); + c = statement.executeQuery(); + while (c.next()) { + Out out = TxHelper.applyCursorOut(c); + Tx tx = txDict.get(new Sha256Hash(out.getTxHash())); + if (tx != null) { + tx.getOuts().add(out); + } + } + c.close(); + statement.close(); + + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return txList; + } + } diff --git a/src/main/java/net/bither/languages/MessageKey.java b/src/main/java/net/bither/languages/MessageKey.java index 3c1886a..2eb6e9d 100755 --- a/src/main/java/net/bither/languages/MessageKey.java +++ b/src/main/java/net/bither/languages/MessageKey.java @@ -805,7 +805,8 @@ public enum MessageKey { add_hd_account_seed_qr_phrase("add_hd_account_seed_qr_phrase"), import_hd_account_seed_qr_code("import_hd_account_seed_qr_code"), import_hd_account_seed_phrase("import_hd_account_seed_phrase"), - vanity_address_option("vanity_address_option") + vanity_address_option("vanity_address_option"), + address("address") // End of enum diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index c9023a1..0316259 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -18,7 +18,6 @@ package net.bither.viewsystem.froms; -import net.bither.Bither; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; @@ -27,6 +26,7 @@ import net.bither.bitherj.utils.Utils; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; +import net.bither.qrcode.DisplayQRCodePanle; import net.bither.qrcode.IReadQRCode; import net.bither.qrcode.IScanQRCode; import net.bither.qrcode.SelectQRCodePanel; @@ -51,6 +51,9 @@ public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDe private JButton btnAddKeychain; + private JButton btnAddress; + private JButton btnSignTx; + private byte[] bytesFirst = null; private byte[] bytesSecond = null; @@ -91,7 +94,7 @@ public void run() { desktopHDMKeychainList.add(chain); KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); password.wipe(); - // Bither.refreshFrame(); + // Bither.refreshFrame(); // } @@ -108,6 +111,24 @@ public void run() { } private void initAddress() { + btnAddress = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + if (!AddressManager.getInstance().hasDesktopHDMKeychain()) { + return; + } + DesktopHDMKeychain hdmKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); + DisplayQRCodePanle displayQRCodePanle = new DisplayQRCodePanle(hdmKeychain.externalAddress()); + displayQRCodePanle.showPanel(); + + } + }, MessageKey.address, AwesomeIcon.QRCODE); + btnSignTx = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + + } + }, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); } @@ -197,8 +218,14 @@ public void initialiseContent(JPanel panel) { )); if (AddressManager.getInstance().hasDesktopHDMKeychain()) { - panel.add(btnImportFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); - panel.add(btnImportSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); + DesktopHDMKeychain desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); + if (desktopHDMKeychain.hasDesktopHDMAddress()) { + panel.add(btnAddress, "align center,cell 3 0 ,shrink,wrap"); + panel.add(btnSignTx, "align center,cell 3 1 ,shrink,wrap"); + } else { + panel.add(btnImportFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); + panel.add(btnImportSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); + } } else { panel.add(btnAddKeychain, "align center,cell 3 0 ,grow ,shrink,wrap"); } From bf975eacc3cffd6183fb8ae8fab8d91beeb7f93a Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 16 Jun 2015 15:23:22 +0800 Subject: [PATCH 16/63] upgrade bitherj --- bitherj | 2 +- .../java/net/bither/db/DesktopTxProvider.java | 93 +++++++++++++++++++ 2 files changed, 94 insertions(+), 1 deletion(-) diff --git a/bitherj b/bitherj index 066b5fa..39bc2b2 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 066b5fa0b4ff48899e4434730424c8b4139bb79e +Subproject commit 39bc2b218db6b5a5b909b070c8291aaf161b3453 diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index 53f659a..3df2445 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -336,5 +336,98 @@ public List getHDAccountUnconfirmedTx() { return txList; } + @Override + public List getPubs(AbstractHD.PathType pathType) { + List pubList = new ArrayList(); + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select address_index,address,pub_key_1,pub_key_2,pub_key_3 " + + "from desktop_hdm_account_addresses where path_type=? ", + new String[]{Integer.toString(pathType.getValue())}); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + try { + HDMAddress.Pubs pubs = new HDMAddress.Pubs(); + int idColumn = cursor.findColumn("pub_key_1"); + if (idColumn != -1) { + pubs.hot = Base58.decode(cursor.getString(idColumn)); + } + idColumn = cursor.findColumn("pub_key_2"); + if (idColumn != -1) { + pubs.remote = Base58.decode(cursor.getString(idColumn)); + } + idColumn = cursor.findColumn("pub_key_3"); + if (idColumn != -1) { + pubs.cold = Base58.decode(cursor.getString(idColumn)); + } + idColumn = cursor.findColumn("address_index"); + if (idColumn != -1) { + pubs.index = cursor.getInt(idColumn); + } + pubList.add(pubs); + } catch (AddressFormatException e) { + e.printStackTrace(); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return pubList; + } + + @Override + public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { + int result = 0; + String sql = "select count(tx_hash) cnt from outs where out_address in " + + "(select address from desktop_hdm_account_addresses where path_type =? and out_status=?) " + + "and hd_account_id=?"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) + , Integer.toString(Out.OutStatus.unspent.getValue()) + , Integer.toString(hdAccountId) + }); + ResultSet c = statement.executeQuery(); + if (c.next()) { + int idColumn = c.findColumn("cnt"); + if (idColumn != -1) { + result = c.getInt(idColumn); + } + } + c.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return result; + } + + @Override + public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { + List outList = new ArrayList(); + + String sql = "select * from outs where out_address in " + + "(select address from desktop_hdm_account_addresses where path_type =? and out_status=?) " + + "and hd_account_id=?"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) + , Integer.toString(Out.OutStatus.unspent.getValue()) + , Integer.toString(hdAccountId) + }); + ResultSet c = statement.executeQuery(); + while (c.next()) { + outList.add(TxHelper.applyCursorOut(c)); + } + c.close(); + statement.close(); + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return outList; + } + } From 162600e0b2db1aee95c71381cb52baa1608731f7 Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 16 Jun 2015 16:10:30 +0800 Subject: [PATCH 17/63] implements db --- bitherj | 2 +- .../java/net/bither/db/DesktopTxProvider.java | 129 +++++++++++++++++- 2 files changed, 126 insertions(+), 5 deletions(-) diff --git a/bitherj b/bitherj index 39bc2b2..ce658aa 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 39bc2b218db6b5a5b909b070c8291aaf161b3453 +Subproject commit ce658aa46f43e87e4fa68176a9c8180586e01706 diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index 3df2445..195dd64 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -69,8 +69,8 @@ public void addAddress(List addressList) { PreparedStatement stmt = this.mDb.getConn().prepareStatement(insert_hdm_address_sql); String[] params = new String[]{Integer.toString(address.getPathType().getValue()), Integer.toString(address.getIndex()), Integer.toString(address.isIssued() ? 1 : 0), - address.getAddress(), Base58.encode(address.getPubHot()), Base58.encode(address.getPubRemote()) - , Base58.encode(address.getPubCold()), Integer.toString(address.isSyncComplete() ? 1 : 0) + address.getAddress(), Base58.encode(address.getPubHot()) + , Base58.encode(address.getPubCold()), Base58.encode(address.getPubRemote()), Integer.toString(address.isSyncComplete() ? 1 : 0) }; if (params != null) { for (int i = 0; i < params.length; i++) { @@ -353,11 +353,11 @@ public List getPubs(AbstractHD.PathType pathType) { } idColumn = cursor.findColumn("pub_key_2"); if (idColumn != -1) { - pubs.remote = Base58.decode(cursor.getString(idColumn)); + pubs.cold = Base58.decode(cursor.getString(idColumn)); } idColumn = cursor.findColumn("pub_key_3"); if (idColumn != -1) { - pubs.cold = Base58.decode(cursor.getString(idColumn)); + pubs.remote = Base58.decode(cursor.getString(idColumn)); } idColumn = cursor.findColumn("address_index"); if (idColumn != -1) { @@ -429,5 +429,126 @@ public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.Pa return outList; } + @Override + public DesktopHDMAddress addressForPath(DesktopHDMKeychain keychain, AbstractHD.PathType type, int index) { + + DesktopHDMAddress accountAddress = null; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select * from desktop_hdm_account_addresses where path_type=? and address_index=? ", + new String[]{Integer.toString(type.getValue()), Integer.toString(index)}); + ResultSet cursor = statement.executeQuery(); + + if (cursor.next()) { + accountAddress = formatAddress(keychain, cursor); + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return accountAddress; + } + + @Override + public List getSigningAddressesForInputs(DesktopHDMKeychain keychain, List inList) { + List desktopHDMAddresses = + new ArrayList(); + ResultSet c; + try { + for (In in : inList) { + String sql = "select a.*" + + " from desktop_hdm_account_addresses a ,outs b" + + " where a.address=b.out_address" + + " and b.tx_hash=? and b.out_sn=? "; + OutPoint outPoint = in.getOutpoint(); + PreparedStatement statement = this.mDb.getPreparedStatement(sql, + new String[]{Base58.encode(in.getPrevTxHash()), + Integer.toString(outPoint.getOutSn())}); + c = statement.executeQuery(); + if (c.next()) { + desktopHDMAddresses.add(formatAddress(keychain, c)); + } + c.close(); + statement.close(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return desktopHDMAddresses; + } + + @Override + public List belongAccount(DesktopHDMKeychain keychain, List addresses) { + List desktopHDMAddresses = new ArrayList(); + List temp = new ArrayList(); + for (String str : addresses) { + temp.add(Utils.format("'%s'", str)); + } + String sql = "select address,pub,path_type,address_index,is_issued,is_synced from desktop_hdm_account_addresses where address in (" + Utils.joinString(temp, ",") + ")"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + desktopHDMAddresses.add(formatAddress(keychain, cursor)); + + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return desktopHDMAddresses; + } + + private DesktopHDMAddress formatAddress(DesktopHDMKeychain keychain, ResultSet c) throws SQLException { + String address = null; + AbstractHD.PathType ternalRootType = AbstractHD.PathType.EXTERNAL_ROOT_PATH; + boolean isIssued = false; + boolean isSynced = true; + HDMAddress.Pubs pubs = new HDMAddress.Pubs(); + DesktopHDMAddress hdAccountAddress = null; + try { + int idColumn = c.findColumn("address"); + if (idColumn != -1) { + address = c.getString(idColumn); + } + idColumn = c.findColumn("path_type"); + if (idColumn != -1) { + ternalRootType = AbstractHD.getTernalRootType(c.getInt(idColumn)); + + } + idColumn = c.findColumn("address_index"); + if (idColumn != -1) { + pubs.index = c.getInt(idColumn); + } + idColumn = c.findColumn("pub_key_1"); + if (idColumn != -1) { + pubs.hot = Base58.decode(c.getString(idColumn)); + } + idColumn = c.findColumn("pub_key_2"); + if (idColumn != -1) { + pubs.cold = Base58.decode(c.getString(idColumn)); + } + idColumn = c.findColumn("pub_key_3"); + if (idColumn != -1) { + pubs.remote = Base58.decode(c.getString(idColumn)); + } + + idColumn = c.findColumn("is_issued"); + if (idColumn != -1) { + isIssued = c.getInt(idColumn) == 1; + } + idColumn = c.findColumn("is_synced"); + if (idColumn != -1) { + isSynced = c.getInt(idColumn) == 1; + } + hdAccountAddress = new DesktopHDMAddress(pubs, address, + ternalRootType, isIssued, isSynced, keychain); + } catch (AddressFormatException e) { + e.printStackTrace(); + } + return hdAccountAddress; + } + } From b226b629188f6eecf0c809500515cc08ec794596 Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 16 Jun 2015 17:24:11 +0800 Subject: [PATCH 18/63] upgrade --- .../java/net/bither/languages/MessageKey.java | 7 +- .../viewsystem/froms/EnterpriseColdPanel.java | 125 ++++++++++-------- .../bither/viewsystem/froms/MorePanel.java | 34 ++++- src/main/resources/viewer.properties | 6 + src/main/resources/viewer_zh_CN.properties | 9 +- src/main/resources/viewer_zh_TW.properties | 9 +- 6 files changed, 129 insertions(+), 61 deletions(-) diff --git a/src/main/java/net/bither/languages/MessageKey.java b/src/main/java/net/bither/languages/MessageKey.java index 2eb6e9d..12b4d94 100755 --- a/src/main/java/net/bither/languages/MessageKey.java +++ b/src/main/java/net/bither/languages/MessageKey.java @@ -806,7 +806,12 @@ public enum MessageKey { import_hd_account_seed_qr_code("import_hd_account_seed_qr_code"), import_hd_account_seed_phrase("import_hd_account_seed_phrase"), vanity_address_option("vanity_address_option"), - address("address") + address("address"), + add_desktop_hdm_keychain("add_desktop_hdm_keychain"), + desktop_hdm_first_account("desktop_hdm_first_account"), + desktop_hdm_second_account("desktop_hdm_second_account"), + import_desktop_hdm_first_account("import_desktop_hdm_first_account"), + import_desktop_hdm_second_account("import_desktop_hdm_second_account") // End of enum diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java index e19e46f..91d9742 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java @@ -43,63 +43,22 @@ public class EnterpriseColdPanel extends WizardPanel implements IPasswordGetterDelegate { private PasswordPanel.PasswordGetter passwordGetter; + private JButton btnAddHDMKeychain; private JButton btnFirstMasterPub; private JButton btnSecondMasterPub; private JButton btnSignTransaction; + private JPanel panel; public EnterpriseColdPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); - passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseColdPanel.this); - setOkAction(new AbstractAction() { - @Override - public void actionPerformed(ActionEvent e) { - new Thread(new Runnable() { - @Override - public void run() { - final SecureCharSequence password = passwordGetter.getPassword(); - if (password == null) { - return; - } - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - closePanel(); -// if (xrandomCheckBox.isSelected()) { -// HDMKeychainColdUEntropyDialog hdmKeychainColdUEntropyDialog = new HDMKeychainColdUEntropyDialog(passwordGetter); -// hdmKeychainColdUEntropyDialog.pack(); -// hdmKeychainColdUEntropyDialog.setVisible(true); -// } else { - List desktopHDMKeychainList = new ArrayList(); - DesktopHDMKeychain chain1 = new DesktopHDMKeychain(new SecureRandom(), password); - desktopHDMKeychainList.add(chain1); - DesktopHDMKeychain chain2 = new DesktopHDMKeychain(new SecureRandom(), password); - desktopHDMKeychainList.add(chain2); - KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); - password.wipe(); - Bither.refreshFrame(); - - - // } - } - }); - - } - }).start(); - - } - }); + initUI(); } - @Override - public void initialiseContent(JPanel panel) { - panel.setLayout(new MigLayout( - Panels.migXYLayout(), - "[][][][][][][]", // Column constraints - "[][][][][][]" // Row constraints - )); + private void initUI() { + btnFirstMasterPub = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -140,7 +99,7 @@ public void run() { }).start(); } - }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + }, MessageKey.desktop_hdm_first_account, AwesomeIcon.HEADER); btnSecondMasterPub = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -182,9 +141,8 @@ public void run() { } - }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); - - Action signActionListener = new AbstractAction() { + }, MessageKey.desktop_hdm_second_account, AwesomeIcon.HEADER); + btnSignTransaction = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent actionEvent) { if (AddressManager.getInstance().getPrivKeyAddresses().size() == 0 && AddressManager.getInstance().getHdmKeychain() == null) { @@ -193,12 +151,69 @@ public void actionPerformed(ActionEvent actionEvent) { // toSignTx(); } } - }; - btnSignTransaction = Buttons.addWizardButton(signActionListener, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); + }, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); + btnAddHDMKeychain = Buttons.newNormalButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + new Thread(new Runnable() { + @Override + public void run() { + final SecureCharSequence password = passwordGetter.getPassword(); + if (password == null) { + return; + } + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + // closePanel(); +// if (xrandomCheckBox.isSelected()) { +// HDMKeychainColdUEntropyDialog hdmKeychainColdUEntropyDialog = new HDMKeychainColdUEntropyDialog(passwordGetter); +// hdmKeychainColdUEntropyDialog.pack(); +// hdmKeychainColdUEntropyDialog.setVisible(true); +// } else { + List desktopHDMKeychainList = new ArrayList(); + DesktopHDMKeychain chain1 = new DesktopHDMKeychain(new SecureRandom(), password); + desktopHDMKeychainList.add(chain1); + DesktopHDMKeychain chain2 = new DesktopHDMKeychain(new SecureRandom(), password); + desktopHDMKeychainList.add(chain2); + KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); + password.wipe(); + refreshPanel(); + + + // } + } + }); + + } + }).start(); + + } + }, MessageKey.add_desktop_hdm_keychain, AwesomeIcon.PLUS); + + } + + @Override + public void initialiseContent(JPanel panel) { + this.panel = panel; + refreshPanel(); + } + + private void refreshPanel() { + panel.removeAll(); + panel.setLayout(new MigLayout( + Panels.migXYLayout(), + "[][][][][][][]", // Column constraints + "[][][][][][]" // Row constraints + )); + + if (AddressManager.getInstance().hasDesktopHDMKeychain()) { - panel.add(btnFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); - panel.add(btnSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); - panel.add(btnSignTransaction, "align center,cell 3 2 ,grow ,shrink,wrap"); + panel.add(btnFirstMasterPub, "align center,cell 3 0 ,shrink,wrap"); + panel.add(btnSecondMasterPub, "align center,cell 3 1 ,shrink,wrap"); + panel.add(btnSignTransaction, "align center,cell 3 2 ,shrink,wrap"); + } else { + panel.add(btnAddHDMKeychain, "align center,cell 3 0 ,shrink,wrap"); } } diff --git a/src/main/java/net/bither/viewsystem/froms/MorePanel.java b/src/main/java/net/bither/viewsystem/froms/MorePanel.java index b89ef69..78ff069 100644 --- a/src/main/java/net/bither/viewsystem/froms/MorePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/MorePanel.java @@ -28,6 +28,7 @@ import net.bither.languages.MessageKey; import net.bither.preference.UserPreference; import net.bither.utils.LocaliserUtils; +import net.bither.utils.SystemUtil; import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Panels; import net.bither.viewsystem.base.RadioButtons; @@ -35,12 +36,19 @@ import net.miginfocom.swing.MigLayout; import javax.swing.*; +import javax.swing.event.MouseInputAdapter; import java.awt.event.ActionEvent; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.List; public class MorePanel extends WizardPanel { + private static final int MouseClickedCount = 7; + private static final long MouseClickedTime = 5 * 1000; + private JButton btnAdvance; private JButton btnVanitygen; private JButton btnPeer; @@ -53,9 +61,13 @@ public class MorePanel extends WizardPanel { private JButton btnEnterpriseHDM; + private long beginClickTime = System.currentTimeMillis(); + private int clickCount = 0; + public MorePanel() { super(MessageKey.MORE, AwesomeIcon.ELLIPSIS_H); + } @Override @@ -65,6 +77,21 @@ public void initialiseContent(JPanel panel) { "[][][][][][][]", // Column constraints "[][][][][][]" // Row constraints )); + panel.addMouseListener(new MouseInputAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + super.mouseClicked(e); + if (System.currentTimeMillis() - beginClickTime < MouseClickedTime) { + clickCount++; + } else { + clickCount = 0; + } + beginClickTime = System.currentTimeMillis(); + if (clickCount == 7) { + btnEnterpriseHDM.setVisible(true); + } + } + }); btnAdvance = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -236,15 +263,16 @@ public void selectAddress(Address address) { }, MessageKey.donate_button, AwesomeIcon.BITCOIN); panel.add(btnDonate, "align center,cell 3 8,grow,shrink,wrap"); - panel.add(btnEnterpriseHDM, "align center,cell 3 9,grow,shrink,wrap"); + panel.add(btnEnterpriseHDM, "align center,cell 3 9,shrink,wrap"); } else { panel.add(btnChangePassword, "align center,cell 3 0 ,shrink"); panel.add(btnVanitygen, "align center,cell 3 1 ,shrink"); JCheckBox cbCheckPassword = RadioButtons.newCheckPassword(); panel.add(cbCheckPassword, "align center,cell 3 2 ,shrink"); - panel.add(btnEnterpriseHDM, "align center,cell 3 4,grow,shrink,wrap"); + panel.add(btnEnterpriseHDM, "align center,cell 3 4,shrink,wrap"); } - + btnEnterpriseHDM.setVisible(false); } + } diff --git a/src/main/resources/viewer.properties b/src/main/resources/viewer.properties index dfedd6e..450d364 100755 --- a/src/main/resources/viewer.properties +++ b/src/main/resources/viewer.properties @@ -624,3 +624,9 @@ thread_count=Thread count compressed_private_key=Compressed Private Key vanity_address_option=Vanity Address Option +add_desktop_hdm_keychain=Add Enterprise HDM +desktop_hdm_first_account=First Account +desktop_hdm_second_account=Second Account +import_desktop_hdm_first_account=Import First Account +import_desktop_hdm_second_account=Import Second Account + diff --git a/src/main/resources/viewer_zh_CN.properties b/src/main/resources/viewer_zh_CN.properties index 55d5799..8472432 100755 --- a/src/main/resources/viewer_zh_CN.properties +++ b/src/main/resources/viewer_zh_CN.properties @@ -620,4 +620,11 @@ hd_account_xrandom_final_confirm=\u60a8\u751f\u6210\u4e86\u4e00\u4e2a\u6781\u968 thread_count=\u7ebf\u7a0b\u6570 compressed_private_key=\u538b\u7f29\u683c\u5f0f\u79c1\u94a5 -vanity_address_option=\u8363\u8000\u5730\u5740\u9009\u9879 \ No newline at end of file +vanity_address_option=\u8363\u8000\u5730\u5740\u9009\u9879 + +add_desktop_hdm_keychain=\u6dfb\u52a0\u4f01\u4e1aHDM + +desktop_hdm_first_account=\u51b7\u8d26\u6237\u4e00 +desktop_hdm_second_account=\u51b7\u8d26\u6237\u4e8c +import_desktop_hdm_first_account=\u5bfc\u5165\u51b7\u8d26\u6237\u4e00 +import_desktop_hdm_second_account=\u5bfc\u5165\u51b7\u8d26\u6237\u4e8c \ No newline at end of file diff --git a/src/main/resources/viewer_zh_TW.properties b/src/main/resources/viewer_zh_TW.properties index 7a459f0..0e63b3a 100755 --- a/src/main/resources/viewer_zh_TW.properties +++ b/src/main/resources/viewer_zh_TW.properties @@ -624,4 +624,11 @@ hd_account_xrandom_final_confirm\u60a8\u751f\u6210\u4e86\u4e00\u500b\u6975\u96a8 thread_count=\u7dda\u7a0b\u6578 compressed_private_key=\u58d3\u7e2e\u683c\u5f0f\u79c1\u9470 -vanity_address_option=\u69ae\u8000\u5730\u5740\u9078\u9805 \ No newline at end of file +vanity_address_option=\u69ae\u8000\u5730\u5740\u9078\u9805 + +add_desktop_hdm_keychain= \u6dfb\u52a0\u4f01\u696dHDM + +desktop_hdm_first_account=\u51b7\u8cec\u6236\u4e00 +desktop_hdm_second_account=\u51b7\u8cec\u6236\u4e8c +import_desktop_hdm_first_account=\u5c0e\u5165\u51b7\u8cec\u6236\u4e00 +import_desktop_hdm_second_account=\u5c0e\u5165\u51b7\u8cec\u6236\u4e8c \ No newline at end of file From a1ac8b2d12992d414ebd50a1961d1197f06708e0 Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 16 Jun 2015 17:49:21 +0800 Subject: [PATCH 19/63] upgrade --- .../net/bither/db/DesktopAddressProvider.java | 15 ++++++++------- .../viewsystem/froms/EnterpriseColdPanel.java | 12 ++++++++++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/bither/db/DesktopAddressProvider.java b/src/main/java/net/bither/db/DesktopAddressProvider.java index b12c2bf..813790f 100644 --- a/src/main/java/net/bither/db/DesktopAddressProvider.java +++ b/src/main/java/net/bither/db/DesktopAddressProvider.java @@ -54,6 +54,7 @@ private DesktopAddressProvider(AddressDBHelper db) { public int addHDKey(String encryptedMnemonicSeed, String encryptHdSeed, String firstAddress, boolean isXrandom, String addressOfPS , byte[] externalPub, byte[] internalPub) { + //todo changepassword int result = 0; try { this.mDb.getConn().setAutoCommit(false); @@ -71,8 +72,8 @@ public int addHDKey(String encryptedMnemonicSeed, String encryptHdSeed, AddressProvider.getInstance().addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); } this.mDb.getConn().commit(); - PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where encrypt_seed=? and encrypt_mnemonic_seed=? and is_xrandom=? and hd_address=?" - , new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress}); + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_account_id from enterprise_hdm_account where hd_address=?" + , new String[]{firstAddress}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { @@ -163,7 +164,7 @@ public boolean isHDSeedFromXRandom(int hdSeedId) { , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.IS_XRANDOM); + int idColumn = cursor.findColumn("is_xrandom"); if (idColumn != -1) { isXRandom = cursor.getInt(idColumn) == 1; } @@ -185,7 +186,7 @@ public String getEncryptMnemonicSeed(int hdSeedId) { , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.ENCRYPT_MNEMONIC_SEED); + int idColumn = cursor.findColumn("encrypt_mnemonic_seed"); if (idColumn != -1) { encryptMnemonicSeed = cursor.getString(idColumn); } @@ -205,7 +206,7 @@ public String getEncryptHDSeed(int hdSeedId) { , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.ENCRYPT_SEED); + int idColumn = cursor.findColumn("encrypt_seed"); if (idColumn != -1) { encryptSeed = cursor.getString(idColumn); } @@ -225,7 +226,7 @@ public String getHDMFristAddress(int hdSeedId) { , new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.ENCRYPT_SEED); + int idColumn = cursor.findColumn("hd_address"); if (idColumn != -1) { address = cursor.getString(idColumn); } @@ -247,7 +248,7 @@ public List getDesktopKeyChainSeed() { ResultSet cursor = statement.executeQuery(); while (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.EnterpriseHDAccountColumns.HD_ACCOUNT_ID); + int idColumn = cursor.findColumn("hd_account_id"); if (idColumn != -1) { seeds.add(cursor.getInt(idColumn)); } diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java index 91d9742..77fd322 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java @@ -116,7 +116,7 @@ public void run() { if (desktopHDMKeychains == null || desktopHDMKeychains.size() == 0) { return; } - DesktopHDMKeychain desktopHDMKeychain = desktopHDMKeychains.get(0); + DesktopHDMKeychain desktopHDMKeychain = desktopHDMKeychains.get(1); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { @@ -177,7 +177,7 @@ public void run() { DesktopHDMKeychain chain2 = new DesktopHDMKeychain(new SecureRandom(), password); desktopHDMKeychainList.add(chain2); KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); - password.wipe(); + passwordGetter.wipe(); refreshPanel(); @@ -199,6 +199,14 @@ public void initialiseContent(JPanel panel) { refreshPanel(); } + @Override + public void closePanel() { + super.closePanel(); + if (passwordGetter != null) { + passwordGetter.wipe(); + } + } + private void refreshPanel() { panel.removeAll(); panel.setLayout(new MigLayout( From c149a3966d28d038373c5feb1747f8ccd79fd078 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 17 Jun 2015 10:42:55 +0800 Subject: [PATCH 20/63] add desktopHDMKeychain --- .../java/net/bither/languages/MessageKey.java | 6 ++-- .../viewsystem/froms/EnterpriseColdPanel.java | 3 +- .../viewsystem/froms/EnterpriseHotPanel.java | 29 +++++++++++++------ .../bither/viewsystem/froms/MorePanel.java | 4 +-- src/main/resources/viewer.properties | 4 ++- src/main/resources/viewer_zh_CN.properties | 4 ++- src/main/resources/viewer_zh_TW.properties | 5 +++- 7 files changed, 37 insertions(+), 18 deletions(-) diff --git a/src/main/java/net/bither/languages/MessageKey.java b/src/main/java/net/bither/languages/MessageKey.java index 12b4d94..38e46f9 100755 --- a/src/main/java/net/bither/languages/MessageKey.java +++ b/src/main/java/net/bither/languages/MessageKey.java @@ -807,11 +807,13 @@ public enum MessageKey { import_hd_account_seed_phrase("import_hd_account_seed_phrase"), vanity_address_option("vanity_address_option"), address("address"), - add_desktop_hdm_keychain("add_desktop_hdm_keychain"), + add_desktop_hdm_cold_keychain("add_desktop_hdm_cold_keychain"), + add_desktop_hdm_hot_keychain("add_desktop_hdm_hot_keychain"), desktop_hdm_first_account("desktop_hdm_first_account"), desktop_hdm_second_account("desktop_hdm_second_account"), import_desktop_hdm_first_account("import_desktop_hdm_first_account"), - import_desktop_hdm_second_account("import_desktop_hdm_second_account") + import_desktop_hdm_second_account("import_desktop_hdm_second_account"), + desktop_enterprise_hdm("desktop_enterprise_hdm") // End of enum diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java index 77fd322..518b966 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java @@ -18,7 +18,6 @@ package net.bither.viewsystem.froms; -import net.bither.Bither; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; @@ -189,7 +188,7 @@ public void run() { }).start(); } - }, MessageKey.add_desktop_hdm_keychain, AwesomeIcon.PLUS); + }, MessageKey.add_desktop_hdm_cold_keychain, AwesomeIcon.PLUS); } diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index 0316259..5fa3d91 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -56,6 +56,7 @@ public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDe private byte[] bytesFirst = null; private byte[] bytesSecond = null; + private JPanel panel; //todo get coin address, banlance public EnterpriseHotPanel() { @@ -83,7 +84,7 @@ public void run() { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - closePanel(); + // closePanel(); // if (xrandomCheckBox.isSelected()) { // HDMKeychainColdUEntropyDialog hdmKeychainColdUEntropyDialog = new HDMKeychainColdUEntropyDialog(passwordGetter); // hdmKeychainColdUEntropyDialog.pack(); @@ -94,6 +95,7 @@ public void run() { desktopHDMKeychainList.add(chain); KeyUtil.setDesktopHMDKeychains(desktopHDMKeychainList); password.wipe(); + refreshPanel(); // Bither.refreshFrame(); @@ -106,7 +108,7 @@ public void run() { } - }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + }, MessageKey.add_desktop_hdm_hot_keychain, AwesomeIcon.PLUS); } @@ -153,7 +155,7 @@ public void handleResult(String result, IReadQRCode readQRCode) { selectQRCodePanel.showPanel(); } - }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + }, MessageKey.import_desktop_hdm_first_account, AwesomeIcon.FA_SIGN_IN); btnImportSecondMasterPub = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -174,7 +176,7 @@ public void handleResult(String result, IReadQRCode readQRCode) { selectQRCodePanel.showPanel(); } - }, MessageKey.EXTENDED_PUBLIC_KEY, AwesomeIcon.HEADER); + }, MessageKey.import_desktop_hdm_second_account, AwesomeIcon.FA_SIGN_IN); } private void addOtherPubkey() { @@ -199,6 +201,7 @@ public void run() { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { + refreshPanel(); dialogProgress.dispose(); } }); @@ -209,8 +212,9 @@ public void run() { } - @Override - public void initialiseContent(JPanel panel) { + + private void refreshPanel() { + panel.removeAll(); panel.setLayout(new MigLayout( Panels.migXYLayout(), "[][][][][][][]", // Column constraints @@ -223,13 +227,20 @@ public void initialiseContent(JPanel panel) { panel.add(btnAddress, "align center,cell 3 0 ,shrink,wrap"); panel.add(btnSignTx, "align center,cell 3 1 ,shrink,wrap"); } else { - panel.add(btnImportFirstMasterPub, "align center,cell 3 0 ,grow ,shrink,wrap"); - panel.add(btnImportSecondMasterPub, "align center,cell 3 1 ,grow ,shrink,wrap"); + panel.add(btnImportFirstMasterPub, "align center,cell 3 0 ,shrink,wrap"); + panel.add(btnImportSecondMasterPub, "align center,cell 3 1 ,shrink,wrap"); } } else { - panel.add(btnAddKeychain, "align center,cell 3 0 ,grow ,shrink,wrap"); + panel.add(btnAddKeychain, "align center,cell 3 0 ,shrink,wrap"); } + } + + @Override + public void initialiseContent(JPanel panel) { + this.panel = panel; + refreshPanel(); + } diff --git a/src/main/java/net/bither/viewsystem/froms/MorePanel.java b/src/main/java/net/bither/viewsystem/froms/MorePanel.java index 78ff069..0ed8eb7 100644 --- a/src/main/java/net/bither/viewsystem/froms/MorePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/MorePanel.java @@ -190,7 +190,7 @@ public void actionPerformed(ActionEvent e) { enterpriseColdPanel.showPanel(); } } - }, MessageKey.HDM, AwesomeIcon.HDD_O); + }, MessageKey.desktop_enterprise_hdm, AwesomeIcon.HDD_O); if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { @@ -263,7 +263,7 @@ public void selectAddress(Address address) { }, MessageKey.donate_button, AwesomeIcon.BITCOIN); panel.add(btnDonate, "align center,cell 3 8,grow,shrink,wrap"); - panel.add(btnEnterpriseHDM, "align center,cell 3 9,shrink,wrap"); + panel.add(btnEnterpriseHDM, "align center,cell 3 9,grow,shrink,wrap"); } else { panel.add(btnChangePassword, "align center,cell 3 0 ,shrink"); panel.add(btnVanitygen, "align center,cell 3 1 ,shrink"); diff --git a/src/main/resources/viewer.properties b/src/main/resources/viewer.properties index 450d364..91cec5a 100755 --- a/src/main/resources/viewer.properties +++ b/src/main/resources/viewer.properties @@ -624,7 +624,9 @@ thread_count=Thread count compressed_private_key=Compressed Private Key vanity_address_option=Vanity Address Option -add_desktop_hdm_keychain=Add Enterprise HDM +add_desktop_hdm_cold_keychain=Add Enterprise HDM (Cold) +add_desktop_hdm_hot_keychain=Add Enterprise HDM (Hot)\ +desktop_enterprise_hdm=Enterprise HDM desktop_hdm_first_account=First Account desktop_hdm_second_account=Second Account import_desktop_hdm_first_account=Import First Account diff --git a/src/main/resources/viewer_zh_CN.properties b/src/main/resources/viewer_zh_CN.properties index 8472432..abf5695 100755 --- a/src/main/resources/viewer_zh_CN.properties +++ b/src/main/resources/viewer_zh_CN.properties @@ -622,8 +622,10 @@ thread_count=\u7ebf\u7a0b\u6570 compressed_private_key=\u538b\u7f29\u683c\u5f0f\u79c1\u94a5 vanity_address_option=\u8363\u8000\u5730\u5740\u9009\u9879 -add_desktop_hdm_keychain=\u6dfb\u52a0\u4f01\u4e1aHDM +add_desktop_hdm_cold_keychain=\u6dfb\u52a0\u4f01\u4e1aHDM (\u51b7) +add_desktop_hdm_hot_keychain=\u6dfb\u52a0\u4f01\u4e1aHDM (\u70ed) +desktop_enterprise_hdm=\u4f01\u4e1a HDM desktop_hdm_first_account=\u51b7\u8d26\u6237\u4e00 desktop_hdm_second_account=\u51b7\u8d26\u6237\u4e8c import_desktop_hdm_first_account=\u5bfc\u5165\u51b7\u8d26\u6237\u4e00 diff --git a/src/main/resources/viewer_zh_TW.properties b/src/main/resources/viewer_zh_TW.properties index 0e63b3a..7ea07a5 100755 --- a/src/main/resources/viewer_zh_TW.properties +++ b/src/main/resources/viewer_zh_TW.properties @@ -626,8 +626,11 @@ thread_count=\u7dda\u7a0b\u6578 compressed_private_key=\u58d3\u7e2e\u683c\u5f0f\u79c1\u9470 vanity_address_option=\u69ae\u8000\u5730\u5740\u9078\u9805 -add_desktop_hdm_keychain= \u6dfb\u52a0\u4f01\u696dHDM +add_desktop_hdm_cold_keychain=\u6dfb\u52a0\u4f01\u696dHDM (\u51b7) +add_desktop_hdm_hot_keychain=\u6dfb\u52a0\u4f01\u696dHDM (\u71b1) + +desktop_enterprise_hdm=\u4f01\u696d HDM desktop_hdm_first_account=\u51b7\u8cec\u6236\u4e00 desktop_hdm_second_account=\u51b7\u8cec\u6236\u4e8c import_desktop_hdm_first_account=\u5c0e\u5165\u51b7\u8cec\u6236\u4e00 From a348abf30612e733c807785c45c0c3fa5a101e07 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 17 Jun 2015 11:08:17 +0800 Subject: [PATCH 21/63] use getBalance --- bitherj | 2 +- .../java/net/bither/db/AddressProvider.java | 54 ++++++++++++++++++- .../implbitherj/TxNotificationCenter.java | 2 +- .../viewsystem/froms/EnterpriseHotPanel.java | 38 +++++++++++-- 4 files changed, 89 insertions(+), 7 deletions(-) diff --git a/bitherj b/bitherj index ce658aa..1b6640d 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit ce658aa46f43e87e4fa68176a9c8180586e01706 +Subproject commit 1b6640dc5f95a5dabad5fcd2a4d4d31f53138c5f diff --git a/src/main/java/net/bither/db/AddressProvider.java b/src/main/java/net/bither/db/AddressProvider.java index 4d78738..6d62360 100644 --- a/src/main/java/net/bither/db/AddressProvider.java +++ b/src/main/java/net/bither/db/AddressProvider.java @@ -83,9 +83,13 @@ public boolean changePassword(CharSequence oldPassword, CharSequence newPassword HashMap hdEncryptSeedHashMap = new HashMap(); HashMap hdEncryptMnemonicSeedHashMap = new HashMap(); + HashMap singularModeBackupHashMap = new HashMap(); + + + HashMap desktopHdmEncryptSeedHashMap = new HashMap(); + HashMap desktopHdEmncryptMnemonicSeedHashMap = new HashMap(); - HashMap singularModeBackupHashMap = new HashMap(); try { String sql = "select address,encrypt_private_key,pub_key,is_xrandom from addresses where encrypt_private_key is not null"; PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); @@ -190,6 +194,31 @@ public boolean changePassword(CharSequence oldPassword, CharSequence newPassword c.close(); statement.close(); + + statement = this.mDb.getPreparedStatement("select hd_account_id,encrypt_seed,encrypt_mnemonic_seed from enterprise_hdm_account " + + " where encrypt_seed is not null and encrypt_mnemonic_seed is not null ", null); + c = statement.executeQuery(); + while (c.next()) { + int idColumn = c.findColumn("hd_account_id"); + Integer hdAccountId = 0; + if (idColumn != -1) { + hdAccountId = c.getInt(idColumn); + } + idColumn = c.findColumn("encrypt_seed"); + if (idColumn != -1) { + String encryptSeed = c.getString(idColumn); + desktopHdmEncryptSeedHashMap.put(hdAccountId, encryptSeed); + } + idColumn = c.findColumn("encrypt_mnemonic_seed"); + if (idColumn != -1) { + String encryptHDSeed = c.getString(idColumn); + desktopHdEmncryptMnemonicSeedHashMap.put(hdAccountId, encryptHDSeed); + } + + } + c.close(); + statement.close(); + sql = "select password_seed from password_seed limit 1"; statement = this.mDb.getPreparedStatement(sql, null); c = statement.executeQuery(); @@ -229,6 +258,15 @@ public boolean changePassword(CharSequence oldPassword, CharSequence newPassword for (Map.Entry kv : hdEncryptMnemonicSeedHashMap.entrySet()) { kv.setValue(EncryptedData.changePwd(kv.getValue(), oldPassword, newPassword)); } + + + for (Map.Entry kv : desktopHdmEncryptSeedHashMap.entrySet()) { + kv.setValue(EncryptedData.changePwd(kv.getValue(), oldPassword, newPassword)); + } + for (Map.Entry kv : desktopHdEmncryptMnemonicSeedHashMap.entrySet()) { + kv.setValue(EncryptedData.changePwd(kv.getValue(), oldPassword, newPassword)); + } + if (passwordSeed != null) { boolean result = passwordSeed.changePassword(oldPassword, newPassword); if (!result) { @@ -286,6 +324,20 @@ public boolean changePassword(CharSequence oldPassword, CharSequence newPassword stmt.executeUpdate(); stmt.close(); } + + + sql = "update enterprise_hdm_account set encrypt_seed=?,encrypt_mnemonic_seed=? where hd_account_id=? "; + + for (Map.Entry kv : desktopHdmEncryptSeedHashMap.entrySet()) { + + PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); + stmt.setString(1, kv.getValue()); + stmt.setString(2, desktopHdEmncryptMnemonicSeedHashMap.get(kv.getKey())); + stmt.setString(3, kv.getKey().toString()); + stmt.executeUpdate(); + stmt.close(); + } + if (finalPasswordSeed != null) { sql = "update password_seed set password_seed=? "; PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); diff --git a/src/main/java/net/bither/implbitherj/TxNotificationCenter.java b/src/main/java/net/bither/implbitherj/TxNotificationCenter.java index 46ca374..be59f64 100644 --- a/src/main/java/net/bither/implbitherj/TxNotificationCenter.java +++ b/src/main/java/net/bither/implbitherj/TxNotificationCenter.java @@ -67,7 +67,7 @@ public static void addTxListener(ITxListener txListener) { } public static void removeTxListener(ITxListener txListener) { - txListenerList.add(txListener); + txListenerList.remove(txListener); } private static void notifyCoins(String address, final long amount, diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java index 5fa3d91..bd3d359 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java @@ -20,18 +20,23 @@ import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; +import net.bither.bitherj.core.Tx; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.delegate.IPasswordGetterDelegate; import net.bither.bitherj.qrcode.QRCodeUtil; +import net.bither.bitherj.utils.UnitUtil; import net.bither.bitherj.utils.Utils; import net.bither.fonts.AwesomeIcon; +import net.bither.implbitherj.TxNotificationCenter; import net.bither.languages.MessageKey; import net.bither.qrcode.DisplayQRCodePanle; import net.bither.qrcode.IReadQRCode; import net.bither.qrcode.IScanQRCode; import net.bither.qrcode.SelectQRCodePanel; import net.bither.utils.KeyUtil; +import net.bither.utils.LocaliserUtils; import net.bither.viewsystem.base.Buttons; +import net.bither.viewsystem.base.Labels; import net.bither.viewsystem.base.Panels; import net.bither.viewsystem.dialogs.DialogProgress; import net.miginfocom.swing.MigLayout; @@ -42,7 +47,7 @@ import java.util.ArrayList; import java.util.List; -public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDelegate { +public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDelegate, TxNotificationCenter.ITxListener { private PasswordPanel.PasswordGetter passwordGetter; @@ -54,14 +59,17 @@ public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDe private JButton btnAddress; private JButton btnSignTx; + private JLabel labelBanlance; + private byte[] bytesFirst = null; private byte[] bytesSecond = null; private JPanel panel; - //todo get coin address, banlance + public EnterpriseHotPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseHotPanel.this); + TxNotificationCenter.addTxListener(EnterpriseHotPanel.this); ininPubKeyUI(); initAddKeychain(); @@ -113,6 +121,7 @@ public void run() { } private void initAddress() { + labelBanlance = Labels.newValueLabel(""); btnAddress = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -224,8 +233,10 @@ private void refreshPanel() { if (AddressManager.getInstance().hasDesktopHDMKeychain()) { DesktopHDMKeychain desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); if (desktopHDMKeychain.hasDesktopHDMAddress()) { - panel.add(btnAddress, "align center,cell 3 0 ,shrink,wrap"); - panel.add(btnSignTx, "align center,cell 3 1 ,shrink,wrap"); + panel.add(labelBanlance, "align center,cell 3 0 ,shrink,wrap"); + panel.add(btnAddress, "align center,cell 3 1 ,shrink,wrap"); + panel.add(btnSignTx, "align center,cell 3 2 ,shrink,wrap"); + refreshBanlance(); } else { panel.add(btnImportFirstMasterPub, "align center,cell 3 0 ,shrink,wrap"); panel.add(btnImportSecondMasterPub, "align center,cell 3 1 ,shrink,wrap"); @@ -236,6 +247,14 @@ private void refreshPanel() { } + private void refreshBanlance() { + if (AddressManager.getInstance().hasDesktopHDMKeychain()) { + DesktopHDMKeychain desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); + labelBanlance.setText(LocaliserUtils.getString("send_confirm_amount") + UnitUtil.formatValue(desktopHDMKeychain.getBalance(), UnitUtil.BitcoinUnit.BTC)); + } + + } + @Override public void initialiseContent(JPanel panel) { this.panel = panel; @@ -253,4 +272,15 @@ public void beforePasswordDialogShow() { public void afterPasswordDialogDismiss() { } + + @Override + public void notificatTx(String address, Tx tx, Tx.TxNotificationType txNotificationType, long deltaBalance) { + refreshBanlance(); + } + + @Override + public void closePanel() { + super.closePanel(); + TxNotificationCenter.removeTxListener(EnterpriseHotPanel.this); + } } From aa570b219a25fe2c98de2ccbb04aab48e26a5f6e Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 17 Jun 2015 11:47:32 +0800 Subject: [PATCH 22/63] add enterprise_hd_account_id to out --- bitherj | 2 +- src/main/java/net/bither/db/TxProvider.java | 30 ++++++++++++++++----- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/bitherj b/bitherj index 1b6640d..16e3d01 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 1b6640dc5f95a5dabad5fcd2a4d4d31f53138c5f +Subproject commit 16e3d0101bed34ac37f3508bc5b8bc4599256fad diff --git a/src/main/java/net/bither/db/TxProvider.java b/src/main/java/net/bither/db/TxProvider.java index 81ef3d1..32047bd 100644 --- a/src/main/java/net/bither/db/TxProvider.java +++ b/src/main/java/net/bither/db/TxProvider.java @@ -18,10 +18,7 @@ import net.bither.ApplicationInstanceManager; import net.bither.bitherj.BitherjSettings; -import net.bither.bitherj.core.AddressManager; -import net.bither.bitherj.core.In; -import net.bither.bitherj.core.Out; -import net.bither.bitherj.core.Tx; +import net.bither.bitherj.core.*; import net.bither.bitherj.db.AbstractDb; import net.bither.bitherj.db.ITxProvider; import net.bither.bitherj.exception.AddressFormatException; @@ -45,8 +42,8 @@ public class TxProvider implements ITxProvider { " values (?,?,?,?,?,?) "; String outInsertSql = "insert into outs " + - "(tx_hash,out_sn,out_script,out_value,out_status,out_address,hd_account_id)" + - " values (?,?,?,?,?,?,?) "; + "(tx_hash,out_sn,out_script,out_value,out_status,out_address,hd_account_id,enterprise_hd_account_id)" + + " values (?,?,?,?,?,?,?,?) "; private static TxProvider txProvider = new TxProvider(ApplicationInstanceManager.txDBHelper); @@ -347,6 +344,18 @@ private void addTxToDb(Connection conn, Tx txItem) throws SQLException { out.setHDAccountId(AddressManager.getInstance().getHdAccount().getHdSeedId()); } } + + + if (AddressManager.getInstance().hasDesktopHDMKeychain()) { + DesktopHDMKeychain desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); + HashSet desktophdmAddressSet = AbstractDb.desktopTxProvider. + getBelongAccountAddresses(txItem.getOutAddressList()); + for (Out out : txItem.getOuts()) { + if (desktophdmAddressSet.contains(out.getOutAddress())) { + out.setDesktopHDMAccountId(desktopHDMKeychain.getHdSeedId()); + } + } + } insertTx(conn, txItem); List addressesTxsRels = new ArrayList(); List temp = insertIn(conn, txItem); @@ -436,6 +445,7 @@ private List insertOut(Connection conn, Tx txItem) throws SQLExceptio preparedStatement.setInt(5, outItem.getOutStatus().getValue()); preparedStatement.setString(6, outAddress); preparedStatement.setInt(7, outItem.getHDAccountId()); + preparedStatement.setInt(8, outItem.getDesktopHDMAccountId()); preparedStatement.executeUpdate(); preparedStatement.close(); } else { @@ -447,6 +457,14 @@ private List insertOut(Connection conn, Tx txItem) throws SQLExceptio preparedStatement.executeUpdate(); preparedStatement.close(); } + if (outItem.getDesktopHDMAccountId() > -1) { + preparedStatement = conn.prepareStatement("update outs set enterprise_hd_account_id=? where tx_hash=? and out_sn=?"); + preparedStatement.setString(1, Integer.toString(outItem.getDesktopHDMAccountId())); + preparedStatement.setString(2, Base58.encode(txItem.getTxHash())); + preparedStatement.setString(3, Integer.toString(outItem.getOutSn())); + preparedStatement.executeUpdate(); + preparedStatement.close(); + } } if (!Utils.isEmpty(outItem.getOutAddress())) { addressTxes.add(new AddressTx(outItem.getOutAddress(), Base58.encode(txItem.getTxHash()))); From 07ff63915a3bb307a3a4bd19c427be29c98dcdb5 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 17 Jun 2015 12:04:59 +0800 Subject: [PATCH 23/63] remove todo --- bitherj | 2 +- src/main/java/net/bither/db/DesktopAddressProvider.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/bitherj b/bitherj index 16e3d01..fd7d1f7 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 16e3d0101bed34ac37f3508bc5b8bc4599256fad +Subproject commit fd7d1f7c215b5a7c9b09de60b1877616eba33a3d diff --git a/src/main/java/net/bither/db/DesktopAddressProvider.java b/src/main/java/net/bither/db/DesktopAddressProvider.java index 813790f..d867cb1 100644 --- a/src/main/java/net/bither/db/DesktopAddressProvider.java +++ b/src/main/java/net/bither/db/DesktopAddressProvider.java @@ -54,7 +54,6 @@ private DesktopAddressProvider(AddressDBHelper db) { public int addHDKey(String encryptedMnemonicSeed, String encryptHdSeed, String firstAddress, boolean isXrandom, String addressOfPS , byte[] externalPub, byte[] internalPub) { - //todo changepassword int result = 0; try { this.mDb.getConn().setAutoCommit(false); From dd18398b9f3a4eb328bc94be28310a649271b9aa Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 17 Jun 2015 13:34:08 +0800 Subject: [PATCH 24/63] fix sql bug --- src/main/java/net/bither/db/DesktopTxProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index 195dd64..6aa513e 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -484,7 +484,7 @@ public List belongAccount(DesktopHDMKeychain keychain, List Date: Wed, 17 Jun 2015 13:39:34 +0800 Subject: [PATCH 25/63] upgrade bitherj --- bitherj | 2 +- src/main/java/net/bither/db/EnterpriseHDMProvider.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bitherj b/bitherj index fd7d1f7..ac5b76b 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit fd7d1f7c215b5a7c9b09de60b1877616eba33a3d +Subproject commit ac5b76b9412d41fb4d4347313f5796fea4d2d098 diff --git a/src/main/java/net/bither/db/EnterpriseHDMProvider.java b/src/main/java/net/bither/db/EnterpriseHDMProvider.java index d3a262c..f640b54 100644 --- a/src/main/java/net/bither/db/EnterpriseHDMProvider.java +++ b/src/main/java/net/bither/db/EnterpriseHDMProvider.java @@ -88,4 +88,14 @@ public List getEnterpriseHDMKeychainIds() { public int getEnterpriseHDMSeedId() { return 0; } + + @Override + public int getPubCount() { + return 0; + } + + @Override + public int getThreshold() { + return 0; + } } From abbdfb403674306076e6a4519f5fda7b8a561d6e Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 17 Jun 2015 17:45:39 +0800 Subject: [PATCH 26/63] add DesktopHDMQRCode --- .../bither/qrcode/DesktopQRCodReceive.java | 44 ++++ .../net/bither/qrcode/DesktopQRCodSend.java | 64 ++++++ .../dialogs/AbstractDesktopHDMMsgDialog.form | 55 +++++ .../dialogs/AbstractDesktopHDMMsgDialog.java | 189 ++++++++++++++++++ .../bither/viewsystem/froms/MorePanel.java | 12 +- .../desktop/hdm/DesktopHDMColdMsgPanel.java | 41 ++++ .../hdm/DesktopHDMColdPanel.java} | 14 +- .../hdm/DesktopHDMHotPanel.java} | 18 +- .../desktop/hdm/DesktopHDMMsgHotDialog.java | 98 +++++++++ 9 files changed, 517 insertions(+), 18 deletions(-) create mode 100644 src/main/java/net/bither/qrcode/DesktopQRCodReceive.java create mode 100644 src/main/java/net/bither/qrcode/DesktopQRCodSend.java create mode 100644 src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form create mode 100644 src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java create mode 100644 src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java rename src/main/java/net/bither/viewsystem/froms/{EnterpriseColdPanel.java => desktop/hdm/DesktopHDMColdPanel.java} (94%) rename src/main/java/net/bither/viewsystem/froms/{EnterpriseHotPanel.java => desktop/hdm/DesktopHDMHotPanel.java} (93%) create mode 100644 src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java new file mode 100644 index 0000000..6a17fcb --- /dev/null +++ b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java @@ -0,0 +1,44 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.qrcode; + +public class DesktopQRCodReceive { + private int receiveCode; + private int sumPage; + private int currentPage; + + private String receiveMsg; + + + public boolean receiveComplete() { + return false; + } + + public String getShowMsg() { + return ""; + } + + public void receiveMsg(String msg) { + + } + + + + +} diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java new file mode 100644 index 0000000..8fcd74f --- /dev/null +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -0,0 +1,64 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.qrcode; + +import net.bither.bitherj.core.Tx; +import net.bither.bitherj.utils.Utils; + +public class DesktopQRCodSend { + + public static int QRCodeSendCode = 1; + private Tx tx; + private String message; + private int sendCode; + private int sumPage; + private int currentPage; + private String receiveMsg; + + + public boolean sendComplete() { + return false; + } + + public boolean signComplete() { + return false; + } + + public String getShowMessage() { + return ""; + } + + public void setReceiveMsg(String msg) { + this.receiveMsg = msg; + } + + public boolean canNextPage() { + return true; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof DesktopQRCodSend) { + DesktopQRCodSend other = (DesktopQRCodSend) obj; + return sendCode == other.sendCode && Utils.compareString(message, other.message); + + } + return false; + } +} diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form new file mode 100644 index 0000000..f49746b --- /dev/null +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form @@ -0,0 +1,55 @@ + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java new file mode 100644 index 0000000..9f1ab02 --- /dev/null +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java @@ -0,0 +1,189 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.viewsystem.dialogs; + +import com.github.sarxos.webcam.Webcam; +import com.github.sarxos.webcam.WebcamPanel; +import com.github.sarxos.webcam.WebcamResolution; +import com.google.zxing.*; +import com.google.zxing.client.j2se.BufferedImageLuminanceSource; +import com.google.zxing.common.HybridBinarizer; +import net.bither.BitherUI; +import net.bither.qrcode.DesktopQRCodReceive; +import net.bither.qrcode.DesktopQRCodSend; +import net.bither.qrcode.QRCodeGenerator; +import net.bither.utils.LocaliserUtils; +import net.bither.viewsystem.base.Labels; +import net.bither.viewsystem.base.Panels; +import net.miginfocom.swing.MigLayout; + +import javax.swing.*; +import java.awt.*; +import java.awt.Dimension; +import java.awt.event.*; +import java.awt.image.BufferedImage; +import java.awt.image.VolatileImage; +import java.util.concurrent.ThreadFactory; + +public abstract class AbstractDesktopHDMMsgDialog extends BitherDialog implements Runnable, ThreadFactory { + private JPanel contentPane; + private JButton buttonCancel; + private JPanel mainPanel; + + + private JLabel imageLabel; + + private Webcam webcam = null; + private WebcamPanel panel = null; + + protected boolean isRunning = true; + + protected DesktopQRCodSend desktopQRCodSend; + protected DesktopQRCodReceive desktopQRCodReceive; + + + public AbstractDesktopHDMMsgDialog() { + setContentPane(contentPane); + setModal(true); + getRootPane().setDefaultButton(buttonCancel); + + + buttonCancel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + onCancel(); + } + }); + + + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + addWindowListener(new WindowAdapter() { + public void windowClosing(WindowEvent e) { + onCancel(); + } + }); + + contentPane.registerKeyboardAction(new ActionListener() { + public void actionPerformed(ActionEvent e) { + onCancel(); + } + }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + initialiseContent(); + + Dimension dimension = new Dimension(BitherUI.UI_MIN_WIDTH, BitherUI.WIZARD_MIN_HEIGHT); + setMinimumSize(dimension); + setPreferredSize(dimension); + setMaximumSize(dimension); + initDialog(); + inited(); + } + + public void onCancel() { + if (webcam.isOpen()) { + webcam.close(); + } + isRunning = false; + + dispose(); + } + + public void initialiseContent() { + mainPanel.setLayout(new MigLayout( + Panels.migXYLayout(), + "[][]", // Column constraints + "[][]" // Row constraints + )); + imageLabel = Labels.newValueLabel(""); + mainPanel.add(imageLabel, "align center,cell 0 0,grow"); + + Dimension size = WebcamResolution.QVGA.getSize(); + java.util.List webcams = Webcam.getWebcams(); + if (webcams.size() > 0) { + webcam = webcams.get(0); + webcam.setViewSize(size); + panel = new WebcamPanel(webcam); + panel.setPreferredSize(size); + mainPanel.add(panel, "align center,cell 1 0,grow"); + + } else { + dispose(); + new MessageDialog(LocaliserUtils.getString("camer_is_not_available")).showMsg(); + } + + + } + + + protected void showQRCode(String qrCodeString) { + int scaleWidth = BitherUI.POPOVER_MIN_WIDTH; + int scaleHeight = BitherUI.POPOVER_MIN_WIDTH; + Image image = QRCodeGenerator.generateQRcode(qrCodeString, null, null, 1); + if (image != null) { + int scaleFactor = (int) (Math.floor(Math.min(scaleHeight / image.getHeight(null), + scaleWidth / image.getWidth(null)))); + BufferedImage qrCodeImage = QRCodeGenerator.generateQRcode(qrCodeString, null, null, scaleFactor); + imageLabel.setIcon(new ImageIcon(qrCodeImage)); + } + + } + + @Override + public void run() { + do { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + } + Result result = null; + BufferedImage image = null; + if (webcam.isOpen()) { + if ((image = webcam.getImage()) == null) { + continue; + } + LuminanceSource source = new BufferedImageLuminanceSource(image); + BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); + + try { + result = new MultiFormatReader().decode(bitmap); + + } catch (NotFoundException e) { + + } + } + if (result != null && result.getText() != null) { + handleScanResult(result.getText()); + + } + + + } while (isRunning); + } + + protected abstract void handleScanResult(final String result); + + protected abstract void inited(); + + @Override + public Thread newThread(Runnable r) { + Thread t = new Thread(r, "example-runner"); + t.setDaemon(true); + return t; + } + +} diff --git a/src/main/java/net/bither/viewsystem/froms/MorePanel.java b/src/main/java/net/bither/viewsystem/froms/MorePanel.java index 0ed8eb7..8f97e30 100644 --- a/src/main/java/net/bither/viewsystem/froms/MorePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/MorePanel.java @@ -19,7 +19,6 @@ package net.bither.viewsystem.froms; import net.bither.Bither; -import net.bither.BitherSetting; import net.bither.bitherj.BitherjSettings; import net.bither.bitherj.core.Address; import net.bither.bitherj.core.AddressManager; @@ -28,18 +27,17 @@ import net.bither.languages.MessageKey; import net.bither.preference.UserPreference; import net.bither.utils.LocaliserUtils; -import net.bither.utils.SystemUtil; import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Panels; import net.bither.viewsystem.base.RadioButtons; import net.bither.viewsystem.dialogs.MessageDialog; +import net.bither.viewsystem.froms.desktop.hdm.DesktopHDMColdPanel; +import net.bither.viewsystem.froms.desktop.hdm.DesktopHDMHotPanel; import net.miginfocom.swing.MigLayout; import javax.swing.*; import javax.swing.event.MouseInputAdapter; import java.awt.event.ActionEvent; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.List; @@ -183,10 +181,10 @@ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { closePanel(); if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { - EnterpriseHotPanel enterpriseHotPanel = new EnterpriseHotPanel(); - enterpriseHotPanel.showPanel(); + DesktopHDMHotPanel desktopHDMHotPanel = new DesktopHDMHotPanel(); + desktopHDMHotPanel.showPanel(); } else { - EnterpriseColdPanel enterpriseColdPanel = new EnterpriseColdPanel(); + DesktopHDMColdPanel enterpriseColdPanel = new DesktopHDMColdPanel(); enterpriseColdPanel.showPanel(); } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java new file mode 100644 index 0000000..227abd2 --- /dev/null +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -0,0 +1,41 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.viewsystem.froms.desktop.hdm; + +import net.bither.qrcode.DesktopQRCodReceive; +import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; + +public class DesktopHDMColdMsgPanel extends AbstractDesktopHDMMsgDialog { + + + @Override + protected void handleScanResult(String result) { + desktopQRCodReceive.receiveMsg(result); + showQRCode(desktopQRCodReceive.getShowMsg()); + + + } + + @Override + protected void inited() { + desktopQRCodReceive = new DesktopQRCodReceive(); + + + } +} diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java similarity index 94% rename from src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java rename to src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java index 518b966..2ff86ad 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java @@ -16,7 +16,7 @@ * / */ -package net.bither.viewsystem.froms; +package net.bither.viewsystem.froms.desktop.hdm; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; @@ -31,6 +31,8 @@ import net.bither.viewsystem.base.Panels; import net.bither.viewsystem.dialogs.DialogProgress; import net.bither.viewsystem.dialogs.MessageDialog; +import net.bither.viewsystem.froms.PasswordPanel; +import net.bither.viewsystem.froms.WizardPanel; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -39,7 +41,7 @@ import java.util.ArrayList; import java.util.List; -public class EnterpriseColdPanel extends WizardPanel implements IPasswordGetterDelegate { +public class DesktopHDMColdPanel extends WizardPanel implements IPasswordGetterDelegate { private PasswordPanel.PasswordGetter passwordGetter; private JButton btnAddHDMKeychain; @@ -48,9 +50,9 @@ public class EnterpriseColdPanel extends WizardPanel implements IPasswordGetterD private JButton btnSignTransaction; private JPanel panel; - public EnterpriseColdPanel() { + public DesktopHDMColdPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); - passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseColdPanel.this); + passwordGetter = new PasswordPanel.PasswordGetter(DesktopHDMColdPanel.this); initUI(); @@ -147,7 +149,9 @@ public void actionPerformed(ActionEvent actionEvent) { if (AddressManager.getInstance().getPrivKeyAddresses().size() == 0 && AddressManager.getInstance().getHdmKeychain() == null) { new MessageDialog(LocaliserUtils.getString("private_key_is_empty")).showMsg(); } else { - // toSignTx(); + DesktopHDMColdMsgPanel desktopHDMColdMsgPanel=new DesktopHDMColdMsgPanel(); + desktopHDMColdMsgPanel.pack(); + desktopHDMColdMsgPanel.setVisible(true); } } }, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); diff --git a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java similarity index 93% rename from src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java rename to src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java index bd3d359..7701ffc 100644 --- a/src/main/java/net/bither/viewsystem/froms/EnterpriseHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java @@ -16,7 +16,7 @@ * / */ -package net.bither.viewsystem.froms; +package net.bither.viewsystem.froms.desktop.hdm; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; @@ -38,7 +38,10 @@ import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Labels; import net.bither.viewsystem.base.Panels; +import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; import net.bither.viewsystem.dialogs.DialogProgress; +import net.bither.viewsystem.froms.PasswordPanel; +import net.bither.viewsystem.froms.WizardPanel; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -47,7 +50,7 @@ import java.util.ArrayList; import java.util.List; -public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDelegate, TxNotificationCenter.ITxListener { +public class DesktopHDMHotPanel extends WizardPanel implements IPasswordGetterDelegate, TxNotificationCenter.ITxListener { private PasswordPanel.PasswordGetter passwordGetter; @@ -66,10 +69,10 @@ public class EnterpriseHotPanel extends WizardPanel implements IPasswordGetterDe private JPanel panel; - public EnterpriseHotPanel() { + public DesktopHDMHotPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); - passwordGetter = new PasswordPanel.PasswordGetter(EnterpriseHotPanel.this); - TxNotificationCenter.addTxListener(EnterpriseHotPanel.this); + passwordGetter = new PasswordPanel.PasswordGetter(DesktopHDMHotPanel.this); + TxNotificationCenter.addTxListener(DesktopHDMHotPanel.this); ininPubKeyUI(); initAddKeychain(); @@ -137,6 +140,9 @@ public void actionPerformed(ActionEvent e) { btnSignTx = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { + DesktopHDMMsgHotDialog desktopHDMHotMsgPanel = new DesktopHDMMsgHotDialog(); + desktopHDMHotMsgPanel.pack(); + desktopHDMHotMsgPanel.setVisible(true); } }, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); @@ -281,6 +287,6 @@ public void notificatTx(String address, Tx tx, Tx.TxNotificationType txNotificat @Override public void closePanel() { super.closePanel(); - TxNotificationCenter.removeTxListener(EnterpriseHotPanel.this); + TxNotificationCenter.removeTxListener(DesktopHDMHotPanel.this); } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java new file mode 100644 index 0000000..4744b44 --- /dev/null +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -0,0 +1,98 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.viewsystem.froms.desktop.hdm; + +import net.bither.bitherj.core.Tx; +import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; + +import javax.swing.*; + +/** + * Created by nn on 15/6/17. + */ +public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { + + private static final long CHECK_TX_INTERVAL = 3 * 1000; + + private Tx tx; + + @Override + public void handleScanResult(final String result) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + System.out.println("scan :" + result); + if (desktopQRCodSend != null) { + desktopQRCodSend.setReceiveMsg(result); + } + if (desktopQRCodSend.signComplete()) { + publishTx(); + } + + if (desktopQRCodSend.canNextPage()) { + showQRCode(desktopQRCodReceive.getShowMsg()); + return; + } + + + } + }); + + } + + public void publishTx() { + + } + + @Override + protected void inited() { + refreshTx(); + } + + private void refreshTx() { + new Thread(new Runnable() { + @Override + public void run() { + while (isRunning) { + try { + if (desktopQRCodSend == null || desktopQRCodSend.signComplete()) { + getTx(); + } else { + if (desktopQRCodSend.canNextPage()) { + showQRCode(desktopQRCodSend.getShowMessage()); + } + + } + + Thread.sleep(CHECK_TX_INTERVAL); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + } + }).start(); + } + + //todo get tx + private void getTx() { + //todo init DesktopQRCodSend + } + +} From c476accf92c09ed25502821abf471c5000a1e887 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 18 Jun 2015 11:27:33 +0800 Subject: [PATCH 27/63] get Txs from api --- bitherj | 2 +- .../java/net/bither/db/DesktopTxProvider.java | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/bitherj b/bitherj index ac5b76b..598c4ef 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit ac5b76b9412d41fb4d4347313f5796fea4d2d098 +Subproject commit 598c4ef5c5d73b466ab4e37cd1697843d70f6b9c diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index 6aa513e..cbeadfb 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -500,6 +500,37 @@ public List belongAccount(DesktopHDMKeychain keychain, List? " + , new String[]{"1", Integer.toString(pathType.getValue()), Integer.toString(index)}); + + } + + @Override + public void updateSyncdComplete(DesktopHDMAddress address) { + + String sql = "update desktop_hdm_account_addresses set is_synced=? where address=? "; + Connection conn = this.mDb.getConn(); + try { + String[] params = new String[]{ + Integer.toString(address.isSyncComplete() ? 1 : 0), address.getAddress() + }; + PreparedStatement stmt = conn.prepareStatement(sql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + conn.commit(); + stmt.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + } + private DesktopHDMAddress formatAddress(DesktopHDMKeychain keychain, ResultSet c) throws SQLException { String address = null; AbstractHD.PathType ternalRootType = AbstractHD.PathType.EXTERNAL_ROOT_PATH; From 861d90e716f4cded6e4466b5eda5c3c5651bb8b7 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 18 Jun 2015 13:22:54 +0800 Subject: [PATCH 28/63] upgrade --- .../bither/qrcode/DesktopQRCodReceive.java | 39 +++++++++--- .../net/bither/qrcode/DesktopQRCodSend.java | 61 ++++++++++++++++--- .../dialogs/AbstractDesktopHDMMsgDialog.java | 2 + .../desktop/hdm/DesktopHDMColdMsgPanel.java | 32 +++++++++- .../desktop/hdm/DesktopHDMMsgHotDialog.java | 54 +++++++++++----- 5 files changed, 153 insertions(+), 35 deletions(-) diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java index 6a17fcb..839c18a 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java @@ -18,27 +18,52 @@ package net.bither.qrcode; +import net.bither.bitherj.qrcode.QRCodeTransportPage; +import net.bither.bitherj.qrcode.QRCodeUtil; +import net.bither.bitherj.utils.Utils; + +import java.util.ArrayList; +import java.util.List; + public class DesktopQRCodReceive { - private int receiveCode; + private int sendCode; private int sumPage; private int currentPage; - private String receiveMsg; + private List qrCodeTransportPageList = new ArrayList(); + + public String getShowMsg() { + String[] headers = new String[]{Integer.toString(sendCode), + Integer.toString(sumPage), Integer.toString(currentPage)}; + String sendHeader = Utils.joinString(headers, QRCodeUtil.QR_CODE_SPLIT); + return sendHeader; + } public boolean receiveComplete() { - return false; + return currentPage == sumPage; } - public String getShowMsg() { - return ""; + public String getReceiveResult() { + if (currentPage == sumPage) { + return QRCodeTransportPage.qrCodeTransportToString(qrCodeTransportPageList); + } else { + return null; + } } public void receiveMsg(String msg) { + if (QRCodeUtil.verifyBitherQRCode(msg)) { + String[] strings = QRCodeUtil.splitString(msg); + sendCode = Integer.valueOf(strings[0]); + sumPage = Integer.valueOf(strings[1]); + currentPage = Integer.valueOf(strings[2]); + String qrCodeTransport = msg.substring(strings.length + 1); + qrCodeTransportPageList.add(QRCodeTransportPage.formatQrCodeTransport(qrCodeTransport)); - } - + } + } } diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index 8fcd74f..466e27e 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -19,44 +19,85 @@ package net.bither.qrcode; import net.bither.bitherj.core.Tx; +import net.bither.bitherj.qrcode.QRCodeTxTransport; +import net.bither.bitherj.qrcode.QRCodeUtil; import net.bither.bitherj.utils.Utils; +import net.bither.utils.LocaliserUtils; public class DesktopQRCodSend { public static int QRCodeSendCode = 1; - private Tx tx; - private String message; + private static byte[] lock = new byte[0]; + private java.util.List contents; private int sendCode; - private int sumPage; private int currentPage; private String receiveMsg; + public DesktopQRCodSend(Tx tx, String changeAddress, int signingIndex) { + synchronized (lock) { + this.sendCode = QRCodeSendCode; + String codeString = QRCodeTxTransport.getPresignTxString(tx, changeAddress, + LocaliserUtils.getString("address_cannot_be_parsed"), signingIndex); + this.contents = QRCodeUtil.getQrCodeStringList(QRCodeUtil.encodeQrCodeString(codeString)); + this.currentPage = 0; + QRCodeSendCode++; + } + + } + + public DesktopQRCodSend(String codeString) { + synchronized (lock) { + this.sendCode = QRCodeSendCode; + this.contents = QRCodeUtil.getQrCodeStringList(QRCodeUtil.encodeQrCodeString(codeString)); + this.currentPage = 0; + QRCodeSendCode++; + } + + } + + public boolean sendComplete() { - return false; + String[] headers = new String[]{Integer.toString(sendCode), + Integer.toString(contents.size() - 1), Integer.toString(currentPage)}; + String sendHeader = Utils.joinString(headers, QRCodeUtil.QR_CODE_SPLIT); + return Utils.compareString(sendHeader, receiveMsg); } - public boolean signComplete() { + public boolean allComplete() { + if (sendComplete()) { + return currentPage == this.contents.size() - 1; + } return false; } public String getShowMessage() { - return ""; + String msg = ""; + String[] headers = new String[]{Integer.toString(sendCode), + Integer.toString(contents.size() - 1), Integer.toString(currentPage)}; + String sendHeader = Utils.joinString(headers, QRCodeUtil.QR_CODE_SPLIT); + if (this.contents.size() == 1) { + msg = sendHeader + QRCodeUtil.QR_CODE_SPLIT + this.contents.get(0); + } else { + if (currentPage < this.contents.size()) { + msg = Integer.toString(sendCode) + QRCodeUtil.QR_CODE_SPLIT + this.contents.get(currentPage); + currentPage++; + } + + } + return msg; } public void setReceiveMsg(String msg) { this.receiveMsg = msg; } - public boolean canNextPage() { - return true; - } @Override public boolean equals(Object obj) { if (obj instanceof DesktopQRCodSend) { DesktopQRCodSend other = (DesktopQRCodSend) obj; - return sendCode == other.sendCode && Utils.compareString(message, other.message); + return sendCode == other.sendCode; } return false; diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java index 9f1ab02..c9e5ee4 100644 --- a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java @@ -58,6 +58,8 @@ public abstract class AbstractDesktopHDMMsgDialog extends BitherDialog implement protected DesktopQRCodReceive desktopQRCodReceive; + protected boolean isSendMode; + public AbstractDesktopHDMMsgDialog() { setContentPane(contentPane); setModal(true); diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index 227abd2..bebe8ba 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -19,15 +19,39 @@ package net.bither.viewsystem.froms.desktop.hdm; import net.bither.qrcode.DesktopQRCodReceive; +import net.bither.qrcode.DesktopQRCodSend; import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; public class DesktopHDMColdMsgPanel extends AbstractDesktopHDMMsgDialog { + public DesktopHDMColdMsgPanel() { + isSendMode = false; + } @Override protected void handleScanResult(String result) { - desktopQRCodReceive.receiveMsg(result); - showQRCode(desktopQRCodReceive.getShowMsg()); + if (isSendMode) { + if (desktopQRCodSend != null) { + desktopQRCodSend.setReceiveMsg(result); + showQRCode(desktopQRCodSend.getShowMessage()); + if (desktopQRCodSend.allComplete()) { + isSendMode = false; + } + } + + } else { + desktopQRCodReceive.receiveMsg(result); + showQRCode(desktopQRCodReceive.getShowMsg()); + if (desktopQRCodReceive.receiveComplete()) { + isSendMode = true; + desktopQRCodSend = new DesktopQRCodSend(getSignString()); + showQRCode(desktopQRCodSend.getShowMessage()); + } + } + if (desktopQRCodSend != null && desktopQRCodSend.allComplete() + && desktopQRCodReceive != null && desktopQRCodReceive.receiveComplete()) { + desktopQRCodReceive = new DesktopQRCodReceive(); + } } @@ -36,6 +60,10 @@ protected void handleScanResult(String result) { protected void inited() { desktopQRCodReceive = new DesktopQRCodReceive(); + } + private String getSignString() { + String string = desktopQRCodReceive.getReceiveResult(); + return ""; } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 4744b44..5ccdd64 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -19,6 +19,9 @@ package net.bither.viewsystem.froms.desktop.hdm; import net.bither.bitherj.core.Tx; +import net.bither.bitherj.utils.Utils; +import net.bither.qrcode.DesktopQRCodReceive; +import net.bither.qrcode.DesktopQRCodSend; import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; import javax.swing.*; @@ -30,6 +33,11 @@ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { private static final long CHECK_TX_INTERVAL = 3 * 1000; + + public DesktopHDMMsgHotDialog() { + isSendMode = true; + } + private Tx tx; @Override @@ -38,16 +46,28 @@ public void handleScanResult(final String result) { @Override public void run() { System.out.println("scan :" + result); - if (desktopQRCodSend != null) { - desktopQRCodSend.setReceiveMsg(result); + if (isSendMode) { + if (desktopQRCodSend != null) { + desktopQRCodSend.setReceiveMsg(result); + } + + if (desktopQRCodSend.sendComplete()) { + showQRCode(desktopQRCodReceive.getShowMsg()); + + } + if (desktopQRCodSend.allComplete()) { + isSendMode = false; + desktopQRCodReceive = new DesktopQRCodReceive(); + } + } else { + desktopQRCodReceive.receiveMsg(result); + showQRCode(desktopQRCodReceive.getShowMsg()); + } - if (desktopQRCodSend.signComplete()) { + + if (desktopQRCodSend.allComplete() && desktopQRCodReceive.receiveComplete()) { publishTx(); - } - if (desktopQRCodSend.canNextPage()) { - showQRCode(desktopQRCodReceive.getShowMsg()); - return; } @@ -57,6 +77,10 @@ public void run() { } public void publishTx() { + String signStr = desktopQRCodReceive.getReceiveResult(); + desktopQRCodReceive = null; + desktopQRCodSend = null; + } @@ -71,15 +95,9 @@ private void refreshTx() { public void run() { while (isRunning) { try { - if (desktopQRCodSend == null || desktopQRCodSend.signComplete()) { + if (desktopQRCodSend == null) { getTx(); - } else { - if (desktopQRCodSend.canNextPage()) { - showQRCode(desktopQRCodSend.getShowMessage()); - } - } - Thread.sleep(CHECK_TX_INTERVAL); } catch (InterruptedException e) { e.printStackTrace(); @@ -90,9 +108,13 @@ public void run() { }).start(); } - //todo get tx + //todo get tx,init DesktopQRCodSend private void getTx() { - //todo init DesktopQRCodSend + byte[] rawTx = Utils.hexStringToByteArray("0100000001bdc0141fe3e5c2223a6d26a95acbf791042d93f9d9b8b38f133bf7adb5c1e293010000006a47304402202214770c0f5a9261190337273219a108132a4bc987c745db8dd6daded34b0dcb0220573de1d973166024b8342d6b6fef2a864a06cceee6aee13a910e5d8df465ed2a01210382b259804ad8d88b96a23222e24dd5a130d39588e78960c9e9b48a5b49943649ffffffff02a0860100000000001976a91479a7bf0bba8359561d4dab457042d7b632d5e64188ac605b0300000000001976a914b036c529faeca8040232cc4bd5918e709e90c4ff88ac00000000"); + tx = new Tx(rawTx); + desktopQRCodSend = new DesktopQRCodSend(tx, "1JJZwUBy6Mr9i62JpGccBprqcte8eYxALg", 1); + + } } From fb2f2c79c302240fe3f419850adf87288f595374 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 18 Jun 2015 17:33:20 +0800 Subject: [PATCH 29/63] sign tx --- bitherj | 2 +- .../java/net/bither/db/DesktopTxProvider.java | 26 ++++- .../net/bither/qrcode/DesktopQRCodSend.java | 2 +- src/main/java/net/bither/utils/FileUtil.java | 12 ++ .../desktop/hdm/DesktopHDMMsgHotDialog.java | 103 +++++++++++++++++- 5 files changed, 135 insertions(+), 10 deletions(-) diff --git a/bitherj b/bitherj index 598c4ef..c667b12 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 598c4ef5c5d73b466ab4e37cd1697843d70f6b9c +Subproject commit c667b122f10a2cdaf9e8851328474a93d77afd86 diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index cbeadfb..c36a4e8 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -381,7 +381,7 @@ public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.Pat int result = 0; String sql = "select count(tx_hash) cnt from outs where out_address in " + "(select address from desktop_hdm_account_addresses where path_type =? and out_status=?) " + - "and hd_account_id=?"; + "and enterprise_hd_account_id=?"; try { PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) , Integer.toString(Out.OutStatus.unspent.getValue()) @@ -408,7 +408,7 @@ public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.Pa String sql = "select * from outs where out_address in " + "(select address from desktop_hdm_account_addresses where path_type =? and out_status=?) " + - "and hd_account_id=?"; + "and enterprise_hd_account_id=?"; try { PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) , Integer.toString(Out.OutStatus.unspent.getValue()) @@ -582,4 +582,26 @@ private DesktopHDMAddress formatAddress(DesktopHDMKeychain keychain, ResultSet c } + @Override + public List getUnspendOutByHDAccount(int hdAccountId) { + List outItems = new ArrayList(); + String unspendOutSql = "select a.* from outs a,txs b where a.tx_hash=b.tx_hash " + + " and a.out_status=? and a.hd_account_id=?"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(unspendOutSql, + new String[]{Integer.toString(Out.OutStatus.unspent.getValue()), Integer.toString(hdAccountId)}); + ResultSet c = statement.executeQuery(); + while (c.next()) { + outItems.add(TxHelper.applyCursorOut(c)); + } + + c.close(); + statement.close(); + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return outItems; + } } diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index 466e27e..039e744 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -38,7 +38,7 @@ public DesktopQRCodSend(Tx tx, String changeAddress, int signingIndex) { synchronized (lock) { this.sendCode = QRCodeSendCode; String codeString = QRCodeTxTransport.getPresignTxString(tx, changeAddress, - LocaliserUtils.getString("address_cannot_be_parsed"), signingIndex); + LocaliserUtils.getString("address_cannot_be_parsed"), signingIndex, QRCodeTxTransport.TxTransportType.DesktopHDM); this.contents = QRCodeUtil.getQrCodeStringList(QRCodeUtil.encodeQrCodeString(codeString)); this.currentPage = 0; QRCodeSendCode++; diff --git a/src/main/java/net/bither/utils/FileUtil.java b/src/main/java/net/bither/utils/FileUtil.java index 1ec46cd..1fce212 100644 --- a/src/main/java/net/bither/utils/FileUtil.java +++ b/src/main/java/net/bither/utils/FileUtil.java @@ -62,8 +62,11 @@ public class FileUtil { private static final String BITHER_BACKUP_SDCARD_DIR = "BitherBackup"; private static final String BITHER_BACKUP_ROM_DIR = "backup"; + private static final String BITHER_BACKUP_HOT_FILE_NAME = "keys"; + private static final String SEND_BITCOIN_FOLDER = "send"; + public static File getExchangeRateFile() { File file = getDir(""); return new File(file, EXCHANGERATE); @@ -155,6 +158,15 @@ public static File getBackupDir() { return backupDir; } + public static File getSendBitcoinDir() { + File dir = getDir(SEND_BITCOIN_FOLDER); + if (!dir.exists()) { + dir.mkdirs(); + } + return dir; + + } + public static File getBackupFile() { File file = new File(getBackupDir(), DateUtils.getNameForFile(System.currentTimeMillis()) diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 5ccdd64..5ff278b 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -19,18 +19,26 @@ package net.bither.viewsystem.froms.desktop.hdm; import net.bither.bitherj.core.Tx; +import net.bither.bitherj.exception.AddressFormatException; +import net.bither.bitherj.utils.Base58; import net.bither.bitherj.utils.Utils; +import net.bither.db.TxProvider; import net.bither.qrcode.DesktopQRCodReceive; import net.bither.qrcode.DesktopQRCodSend; +import net.bither.utils.FileUtil; import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; import javax.swing.*; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; -/** - * Created by nn on 15/6/17. - */ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { + private static final long CHECK_TX_INTERVAL = 3 * 1000; @@ -40,6 +48,10 @@ public DesktopHDMMsgHotDialog() { private Tx tx; + private List> addressAmtList = new ArrayList>(); + + private File addressAmtFile; + @Override public void handleScanResult(final String result) { SwingUtilities.invokeLater(new Runnable() { @@ -78,6 +90,11 @@ public void run() { public void publishTx() { String signStr = desktopQRCodReceive.getReceiveResult(); + + if (addressAmtList.size() > 0) { + addressAmtList.remove(0); + saveFile(addressAmtList, addressAmtFile); + } desktopQRCodReceive = null; desktopQRCodSend = null; @@ -109,12 +126,86 @@ public void run() { } //todo get tx,init DesktopQRCodSend + private void getTx() { - byte[] rawTx = Utils.hexStringToByteArray("0100000001bdc0141fe3e5c2223a6d26a95acbf791042d93f9d9b8b38f133bf7adb5c1e293010000006a47304402202214770c0f5a9261190337273219a108132a4bc987c745db8dd6daded34b0dcb0220573de1d973166024b8342d6b6fef2a864a06cceee6aee13a910e5d8df465ed2a01210382b259804ad8d88b96a23222e24dd5a130d39588e78960c9e9b48a5b49943649ffffffff02a0860100000000001976a91479a7bf0bba8359561d4dab457042d7b632d5e64188ac605b0300000000001976a914b036c529faeca8040232cc4bd5918e709e90c4ff88ac00000000"); - tx = new Tx(rawTx); - desktopQRCodSend = new DesktopQRCodSend(tx, "1JJZwUBy6Mr9i62JpGccBprqcte8eYxALg", 1); + addressAmtFile = getSendBitcoinFile(); + + addressAmtList = getAddressAndAmts(addressAmtFile); + String address = null; + long amt; + if (addressAmtList.size() > 0) { + for (HashMap hashMap : addressAmtList) { + for (Map.Entry kv : hashMap.entrySet()) { + address = kv.getKey(); + amt = kv.getValue(); + + } + } + } + + + } + + private void saveFile(List> list, File file) { + try { + String result = ""; + for (HashMap hashMap : list) { + for (Map.Entry kv : hashMap.entrySet()) { + result = result + kv.getKey() + "," + Long.toString(kv.getValue()) + "\n"; + } + } + + Utils.writeFile(result.getBytes(), file); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private List> getAddressAndAmts(File file) { + if (file != null) { + String content = Utils.readFile(file); + if (Utils.isEmpty(content)) { + if (file.exists()) { + file.delete(); + } + } + String[] addrssAndAmts = content.split("\n"); + if (addrssAndAmts.length == 0) { + if (file.exists()) { + file.delete(); + } + } + for (String str : addrssAndAmts) { + String[] temp = str.split(","); + if (temp.length > 1) { + if (Utils.validBicoinAddress(temp[0])) { + HashMap hashMap = new HashMap(); + hashMap.put(temp[0], Long.valueOf(temp[1])); + addressAmtList.add(hashMap); + } + } + } + if (addressAmtList.size() == 0) { + if (file.exists()) { + file.delete(); + } + } + + } + return addressAmtList; + + + } + private File getSendBitcoinFile() { + File file = FileUtil.getSendBitcoinDir(); + File[] files = file.listFiles(); + if (files != null && files.length > 0) { + return files[0]; + } else { + return null; + } } } From 12d1168fe9dd859ed8b1dafc5bfa211826d66bc9 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 18 Jun 2015 18:10:07 +0800 Subject: [PATCH 30/63] upgrade --- .../net/bither/viewsystem/base/Buttons.java | 15 +++++++++++ .../bither/viewsystem/froms/AdvancePanel.java | 15 +++++++++++ .../bither/viewsystem/froms/MorePanel.java | 26 +++++++------------ 3 files changed, 39 insertions(+), 17 deletions(-) diff --git a/src/main/java/net/bither/viewsystem/base/Buttons.java b/src/main/java/net/bither/viewsystem/base/Buttons.java index feefaea..4a848f5 100755 --- a/src/main/java/net/bither/viewsystem/base/Buttons.java +++ b/src/main/java/net/bither/viewsystem/base/Buttons.java @@ -1000,6 +1000,21 @@ public static JButton newLargeReloadTxWizardButton(Action action) { return button; } + public static JButton newExcahngeWizardButton(Action action) { + + JButton button = newLargeButton(action, MessageKey.EXCHANGE_SETTINGS_TITLE); + + AwesomeDecorator.applyIcon( + AwesomeIcon.DOLLAR, + button, + true, + JLabel.BOTTOM, + BitherUI.LARGE_ICON_SIZE + ); + + return button; + } + public static JButton newLargeRecoveryButton(Action action) { JButton button = newLargeButton(action, MessageKey.address_group_hdm_recovery); AwesomeDecorator.applyIcon( diff --git a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java index 6ef038f..364d137 100644 --- a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java @@ -59,6 +59,7 @@ public class AdvancePanel extends WizardPanel { private JButton btnReloadTx; private JButton btnRecovery; private JButton btnRestHDMPassword; + private JButton btnExchange; private DialogProgress dp; private HDMKeychainRecoveryUtil hdmRecoveryUtil; private HDMResetServerPasswordUtil hdmResetServerPasswordUtil; @@ -116,7 +117,21 @@ public void actionPerformed(ActionEvent e) { reloadTx(); } }); + + panel.add(btnReloadTx, "push,align left"); + if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { + btnExchange = Buttons.newExcahngeWizardButton(new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + closePanel(); + ExchangePreferencePanel exchangePreferencePanel = new ExchangePreferencePanel(); + exchangePreferencePanel.showPanel(); + + } + }); + panel.add(btnExchange, "push,align left"); + } if (hdmRecoveryUtil.canRecover()) { btnRecovery = Buttons.newLargeRecoveryButton(new AbstractAction() { @Override diff --git a/src/main/java/net/bither/viewsystem/froms/MorePanel.java b/src/main/java/net/bither/viewsystem/froms/MorePanel.java index 8f97e30..282240a 100644 --- a/src/main/java/net/bither/viewsystem/froms/MorePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/MorePanel.java @@ -51,7 +51,7 @@ public class MorePanel extends WizardPanel { private JButton btnVanitygen; private JButton btnPeer; private JButton btnBlcok; - private JButton btnExchange; + private JButton btnVerfyMessage; private JButton btnSignMessage; private JButton btnDonate; @@ -73,7 +73,7 @@ public void initialiseContent(JPanel panel) { panel.setLayout(new MigLayout( Panels.migXYLayout(), "[][][][][][][]", // Column constraints - "[][][][][][]" // Row constraints + "[][][][][]" // Row constraints )); panel.addMouseListener(new MouseInputAdapter() { @Override @@ -126,15 +126,7 @@ public void actionPerformed(ActionEvent e) { } }, MessageKey.BLOCKS, AwesomeIcon.FA_SHARE_ALT); - btnExchange = Buttons.newNormalButton(new AbstractAction() { - @Override - public void actionPerformed(ActionEvent e) { - closePanel(); - ExchangePreferencePanel exchangePreferencePanel = new ExchangePreferencePanel(); - exchangePreferencePanel.showPanel(); - } - }, MessageKey.EXCHANGE_SETTINGS_TITLE, AwesomeIcon.DOLLAR); btnVerfyMessage = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -195,11 +187,11 @@ public void actionPerformed(ActionEvent e) { panel.add(btnChangePassword, "align center,cell 3 0 ,grow ,shrink,wrap"); panel.add(btnVanitygen, "align center,cell 3 1 ,grow ,shrink,wrap"); panel.add(btnAdvance, "align center,cell 3 2 ,shrink,grow,wrap"); - panel.add(btnExchange, "align center,cell 3 3,shrink,grow,wrap"); - panel.add(btnSignMessage, "align center,cell 3 4,shrink,grow,wrap"); - panel.add(btnVerfyMessage, "align center,cell 3 5,shrink,grow,wrap"); - panel.add(btnPeer, "align center,cell 3 6,shrink,grow,wrap"); - panel.add(btnBlcok, " align center,cell 3 7,shrink,grow,wrap"); +// panel.add(btnExchange, "align center,cell 3 3,shrink,grow,wrap"); + panel.add(btnSignMessage, "align center,cell 3 3,shrink,grow,wrap"); + panel.add(btnVerfyMessage, "align center,cell 3 4,shrink,grow,wrap"); + panel.add(btnPeer, "align center,cell 3 5,shrink,grow,wrap"); + panel.add(btnBlcok, " align center,cell 3 6,shrink,grow,wrap"); btnDonate = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { @@ -260,8 +252,8 @@ public void selectAddress(Address address) { } }, MessageKey.donate_button, AwesomeIcon.BITCOIN); - panel.add(btnDonate, "align center,cell 3 8,grow,shrink,wrap"); - panel.add(btnEnterpriseHDM, "align center,cell 3 9,grow,shrink,wrap"); + panel.add(btnDonate, "align center,cell 3 7,grow,shrink,wrap"); + panel.add(btnEnterpriseHDM, "align center,cell 3 8,grow,shrink,wrap"); } else { panel.add(btnChangePassword, "align center,cell 3 0 ,shrink"); panel.add(btnVanitygen, "align center,cell 3 1 ,shrink"); From 6c32fe98d54dd740381cd9dc61ae630e3b1a5e6c Mon Sep 17 00:00:00 2001 From: jjz Date: Fri, 19 Jun 2015 12:20:14 +0800 Subject: [PATCH 31/63] build tx of desktopHDM --- bitherj | 2 +- .../java/net/bither/db/DesktopTxProvider.java | 2 +- .../net/bither/qrcode/DesktopQRCodSend.java | 10 ++- .../desktop/hdm/DesktopHDMColdPanel.java | 2 +- .../froms/desktop/hdm/DesktopHDMHotPanel.java | 21 +++++- .../desktop/hdm/DesktopHDMMsgHotDialog.java | 66 ++++++++++++------- 6 files changed, 71 insertions(+), 32 deletions(-) diff --git a/bitherj b/bitherj index c667b12..5af1060 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit c667b122f10a2cdaf9e8851328474a93d77afd86 +Subproject commit 5af1060f1a1004c6cbadbde30402f88be0567746 diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index c36a4e8..fedb725 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -586,7 +586,7 @@ private DesktopHDMAddress formatAddress(DesktopHDMKeychain keychain, ResultSet c public List getUnspendOutByHDAccount(int hdAccountId) { List outItems = new ArrayList(); String unspendOutSql = "select a.* from outs a,txs b where a.tx_hash=b.tx_hash " + - " and a.out_status=? and a.hd_account_id=?"; + " and a.out_status=? and a.enterprise_hd_account_id=?"; try { PreparedStatement statement = this.mDb.getPreparedStatement(unspendOutSql, new String[]{Integer.toString(Out.OutStatus.unspent.getValue()), Integer.toString(hdAccountId)}); diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index 039e744..0deadfa 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -18,12 +18,15 @@ package net.bither.qrcode; +import net.bither.bitherj.core.AbstractHD; import net.bither.bitherj.core.Tx; import net.bither.bitherj.qrcode.QRCodeTxTransport; import net.bither.bitherj.qrcode.QRCodeUtil; import net.bither.bitherj.utils.Utils; import net.bither.utils.LocaliserUtils; +import java.util.List; + public class DesktopQRCodSend { public static int QRCodeSendCode = 1; @@ -34,11 +37,12 @@ public class DesktopQRCodSend { private String receiveMsg; - public DesktopQRCodSend(Tx tx, String changeAddress, int signingIndex) { + public DesktopQRCodSend(Tx tx, List pathTypeIndexList, String changeAddress) { synchronized (lock) { this.sendCode = QRCodeSendCode; - String codeString = QRCodeTxTransport.getPresignTxString(tx, changeAddress, - LocaliserUtils.getString("address_cannot_be_parsed"), signingIndex, QRCodeTxTransport.TxTransportType.DesktopHDM); + String codeString = QRCodeTxTransport.getDeskpHDMPresignTxString(QRCodeTxTransport.TxTransportType.DesktopHDM, + tx, changeAddress, + LocaliserUtils.getString("address_cannot_be_parsed"), pathTypeIndexList); this.contents = QRCodeUtil.getQrCodeStringList(QRCodeUtil.encodeQrCodeString(codeString)); this.currentPage = 0; QRCodeSendCode++; diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java index 2ff86ad..388d1e6 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java @@ -149,7 +149,7 @@ public void actionPerformed(ActionEvent actionEvent) { if (AddressManager.getInstance().getPrivKeyAddresses().size() == 0 && AddressManager.getInstance().getHdmKeychain() == null) { new MessageDialog(LocaliserUtils.getString("private_key_is_empty")).showMsg(); } else { - DesktopHDMColdMsgPanel desktopHDMColdMsgPanel=new DesktopHDMColdMsgPanel(); + DesktopHDMColdMsgPanel desktopHDMColdMsgPanel = new DesktopHDMColdMsgPanel(); desktopHDMColdMsgPanel.pack(); desktopHDMColdMsgPanel.setVisible(true); } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java index 7701ffc..f280964 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java @@ -140,9 +140,24 @@ public void actionPerformed(ActionEvent e) { btnSignTx = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { - DesktopHDMMsgHotDialog desktopHDMHotMsgPanel = new DesktopHDMMsgHotDialog(); - desktopHDMHotMsgPanel.pack(); - desktopHDMHotMsgPanel.setVisible(true); + new Thread(new Runnable() { + @Override + public void run() { + final SecureCharSequence password = passwordGetter.getPassword(); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + DesktopHDMMsgHotDialog desktopHDMHotMsgPanel = new DesktopHDMMsgHotDialog(password); + desktopHDMHotMsgPanel.pack(); + desktopHDMHotMsgPanel.setVisible(true); + + } + }); + + + } + }).start(); + } }, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 5ff278b..91ca380 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -18,11 +18,10 @@ package net.bither.viewsystem.froms.desktop.hdm; -import net.bither.bitherj.core.Tx; -import net.bither.bitherj.exception.AddressFormatException; -import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.core.*; +import net.bither.bitherj.crypto.SecureCharSequence; +import net.bither.bitherj.qrcode.QRCodeTxTransport; import net.bither.bitherj.utils.Utils; -import net.bither.db.TxProvider; import net.bither.qrcode.DesktopQRCodReceive; import net.bither.qrcode.DesktopQRCodSend; import net.bither.utils.FileUtil; @@ -41,16 +40,18 @@ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { private static final long CHECK_TX_INTERVAL = 3 * 1000; - - public DesktopHDMMsgHotDialog() { - isSendMode = true; - } - private Tx tx; private List> addressAmtList = new ArrayList>(); - private File addressAmtFile; + private SecureCharSequence password; + private DesktopHDMKeychain desktopHDMKeychain; + + public DesktopHDMMsgHotDialog(SecureCharSequence password) { + isSendMode = true; + this.password = password; + desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); + } @Override public void handleScanResult(final String result) { @@ -125,26 +126,45 @@ public void run() { }).start(); } - //todo get tx,init DesktopQRCodSend - private void getTx() { + try { - addressAmtFile = getSendBitcoinFile(); - - addressAmtList = getAddressAndAmts(addressAmtFile); - String address = null; - long amt; - if (addressAmtList.size() > 0) { - for (HashMap hashMap : addressAmtList) { - for (Map.Entry kv : hashMap.entrySet()) { - address = kv.getKey(); - amt = kv.getValue(); + if (desktopQRCodSend != null) { + return; + } + if (addressAmtList.size() == 0) { + addressAmtFile = getSendBitcoinFile(); + addressAmtList = getAddressAndAmts(addressAmtFile); + } + String address = null; + long amt; + if (addressAmtList.size() > 0) { + for (HashMap hashMap : addressAmtList) { + for (Map.Entry kv : hashMap.entrySet()) { + address = kv.getKey(); + amt = kv.getValue(); + String changeAddress = desktopHDMKeychain.getNewChangeAddress(); + tx = desktopHDMKeychain.newTx(address, amt); + + List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); + List pathTypeIndexList = new ArrayList(); + for (DesktopHDMAddress desktopHDMAddress : signingAddresses) { + AbstractHD.PathTypeIndex pathTypeIndex = new AbstractHD.PathTypeIndex(); + pathTypeIndex.pathType = desktopHDMAddress.getPathType(); + pathTypeIndex.index = desktopHDMAddress.getIndex(); + pathTypeIndexList.add(pathTypeIndex); + } + desktopQRCodSend = new DesktopQRCodSend(tx, pathTypeIndexList, changeAddress); + showQRCode(desktopQRCodSend.getShowMessage()); + return; + } } } + } catch (Exception e) { + e.printStackTrace(); } - } private void saveFile(List> list, File file) { From 85d0d91a5d15af66e6f2579d4e7eb18c4c7bbc66 Mon Sep 17 00:00:00 2001 From: jjz Date: Mon, 22 Jun 2015 13:12:54 +0800 Subject: [PATCH 32/63] cold sign of desktopHDM --- bitherj | 2 +- src/main/java/net/bither/Bither.java | 4 + .../java/net/bither/languages/MessageKey.java | 3 +- .../bither/qrcode/DesktopQRCodReceive.java | 2 +- .../dialogs/AbstractDesktopHDMMsgDialog.java | 9 +- .../viewsystem/froms/SelectWebcamPanel.java | 160 ++++++++++++++++++ .../desktop/hdm/DesktopHDMColdMsgPanel.java | 32 +++- .../desktop/hdm/DesktopHDMColdPanel.java | 38 ++++- .../froms/desktop/hdm/DesktopHDMHotPanel.java | 29 +++- .../desktop/hdm/DesktopHDMMsgHotDialog.java | 4 +- src/main/resources/viewer.properties | 2 + src/main/resources/viewer_zh_CN.properties | 4 +- src/main/resources/viewer_zh_TW.properties | 4 +- 13 files changed, 271 insertions(+), 22 deletions(-) create mode 100644 src/main/java/net/bither/viewsystem/froms/SelectWebcamPanel.java diff --git a/bitherj b/bitherj index 5af1060..438de54 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 5af1060f1a1004c6cbadbde30402f88be0567746 +Subproject commit 438de5425d1431d9aa6741f73243fe8bb720f991 diff --git a/src/main/java/net/bither/Bither.java b/src/main/java/net/bither/Bither.java index ac86356..e091b51 100755 --- a/src/main/java/net/bither/Bither.java +++ b/src/main/java/net/bither/Bither.java @@ -22,6 +22,9 @@ import net.bither.bitherj.core.Address; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.crypto.mnemonic.MnemonicCode; +import net.bither.bitherj.exception.AddressFormatException; +import net.bither.bitherj.qrcode.QRCodeUtil; +import net.bither.bitherj.utils.Base58; import net.bither.db.AddressDBHelper; import net.bither.db.DesktopDbImpl; import net.bither.db.TxDBHelper; @@ -94,6 +97,7 @@ public static void main(String args[]) { applicationDataDirectoryLocator = new ApplicationDataDirectoryLocator(); initBitherApplication(); initApp(args); + // new Thread(new Runnable() { // @Override // public void run() { diff --git a/src/main/java/net/bither/languages/MessageKey.java b/src/main/java/net/bither/languages/MessageKey.java index 38e46f9..089e442 100755 --- a/src/main/java/net/bither/languages/MessageKey.java +++ b/src/main/java/net/bither/languages/MessageKey.java @@ -813,7 +813,8 @@ public enum MessageKey { desktop_hdm_second_account("desktop_hdm_second_account"), import_desktop_hdm_first_account("import_desktop_hdm_first_account"), import_desktop_hdm_second_account("import_desktop_hdm_second_account"), - desktop_enterprise_hdm("desktop_enterprise_hdm") + desktop_enterprise_hdm("desktop_enterprise_hdm"), + select_camera("select_camera") // End of enum diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java index 839c18a..bb918ad 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java @@ -58,7 +58,7 @@ public void receiveMsg(String msg) { sendCode = Integer.valueOf(strings[0]); sumPage = Integer.valueOf(strings[1]); currentPage = Integer.valueOf(strings[2]); - String qrCodeTransport = msg.substring(strings.length + 1); + String qrCodeTransport = msg.substring(strings[0].length() +strings[1].length()+strings[2].length()+ 3); qrCodeTransportPageList.add(QRCodeTransportPage.formatQrCodeTransport(qrCodeTransport)); } diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java index c9e5ee4..0e13da3 100644 --- a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java @@ -39,13 +39,15 @@ import java.awt.event.*; import java.awt.image.BufferedImage; import java.awt.image.VolatileImage; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; public abstract class AbstractDesktopHDMMsgDialog extends BitherDialog implements Runnable, ThreadFactory { private JPanel contentPane; private JButton buttonCancel; private JPanel mainPanel; - + private Executor executor = Executors.newSingleThreadExecutor(this); private JLabel imageLabel; @@ -60,8 +62,9 @@ public abstract class AbstractDesktopHDMMsgDialog extends BitherDialog implement protected boolean isSendMode; - public AbstractDesktopHDMMsgDialog() { + public AbstractDesktopHDMMsgDialog(Webcam webcam) { setContentPane(contentPane); + this.webcam=webcam; setModal(true); getRootPane().setDefaultButton(buttonCancel); @@ -92,6 +95,7 @@ public void actionPerformed(ActionEvent e) { setPreferredSize(dimension); setMaximumSize(dimension); initDialog(); + executor.execute(this); inited(); } @@ -116,7 +120,6 @@ public void initialiseContent() { Dimension size = WebcamResolution.QVGA.getSize(); java.util.List webcams = Webcam.getWebcams(); if (webcams.size() > 0) { - webcam = webcams.get(0); webcam.setViewSize(size); panel = new WebcamPanel(webcam); panel.setPreferredSize(size); diff --git a/src/main/java/net/bither/viewsystem/froms/SelectWebcamPanel.java b/src/main/java/net/bither/viewsystem/froms/SelectWebcamPanel.java new file mode 100644 index 0000000..c35acee --- /dev/null +++ b/src/main/java/net/bither/viewsystem/froms/SelectWebcamPanel.java @@ -0,0 +1,160 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.viewsystem.froms; + +import com.github.sarxos.webcam.Webcam; +import net.bither.BitherSetting; +import net.bither.fonts.AwesomeIcon; +import net.bither.languages.MessageKey; +import net.bither.utils.LocaliserUtils; +import net.bither.viewsystem.base.FontSizer; +import net.bither.viewsystem.base.Panels; +import net.bither.viewsystem.base.renderer.SelectAddressImage; +import net.bither.viewsystem.components.ScrollBarUIDecorator; +import net.miginfocom.swing.MigLayout; + +import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import javax.swing.table.AbstractTableModel; +import java.awt.*; + +public class SelectWebcamPanel extends WizardPanel implements ListSelectionListener { + + public interface ISelectWencamListener { + public void onSelect(Webcam webcam); + } + + private JTable tbDevices; + + private Webcam selectedWebcam; + + java.util.List webcams = Webcam.getWebcams(); + + private JScrollPane sp; + private ISelectWencamListener selectWencamListener; + + public SelectWebcamPanel(ISelectWencamListener selectWencamListener) { + super(MessageKey.select_camera, AwesomeIcon.FA_LIST); + this.selectWencamListener = selectWencamListener; + } + + @Override + public void initialiseContent(JPanel panel) { + panel.setLayout(new MigLayout( + Panels.migXYLayout(), + "10[]10", // Column constraints + "10[]10" // Row constraints + )); + + tbDevices = new JTable(selectDeviceTableModel); + tbDevices.getColumnModel().getColumn(0).setResizable(true); + tbDevices.getColumnModel().getColumn(1).setResizable(true); + + tbDevices.getColumnModel().getColumn(1).setMinWidth(1); + tbDevices.getColumnModel().getColumn(1).setPreferredWidth(Integer.MAX_VALUE); + + tbDevices.getColumnModel().getColumn(0).setMinWidth(20); + tbDevices.getColumnModel().getColumn(0).setPreferredWidth(20); + tbDevices.getColumnModel().getColumn(0).setCellRenderer(new SelectAddressImage()); + tbDevices.setOpaque(true); + tbDevices.setAutoCreateColumnsFromModel(true); + tbDevices.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); + tbDevices.setAutoscrolls(true); + tbDevices.setBorder(BorderFactory.createEmptyBorder()); + tbDevices.setComponentOrientation(ComponentOrientation.getOrientation(LocaliserUtils + .getLocale())); + tbDevices.setRowHeight(Math.max(BitherSetting.MINIMUM_ICON_HEIGHT, panel.getFontMetrics + (FontSizer.INSTANCE.getAdjustedDefaultFont()).getHeight()) + BitherSetting + .HEIGHT_DELTA * 2); + sp = new JScrollPane(); + sp.setViewportView(tbDevices); + ScrollBarUIDecorator.apply(sp, false); + tbDevices.getSelectionModel().addListSelectionListener(this); + panel.add(sp, "push, grow"); + } + + @Override + public void showPanel() { + super.showPanel(); + if (webcams.size() == 1) { + closePanel(); + if (selectWencamListener != null) { + selectWencamListener.onSelect(webcams.get(0)); + + } + } + + + } + + private AbstractTableModel selectDeviceTableModel = new AbstractTableModel() { + @Override + public int getRowCount() { + return webcams == null ? 0 : webcams.size(); + } + + @Override + public int getColumnCount() { + return 2; + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + switch (columnIndex) { + case 1: + return webcams.get(rowIndex).getName(); + case 0: + return webcams.get(rowIndex).equals(selectedWebcam); + } + return null; + } + + @Override + public String getColumnName(int column) { + return ""; + } + }; + + @Override + public void valueChanged(ListSelectionEvent e) { + + ListSelectionModel lsm = (ListSelectionModel) e.getSource(); + if (!lsm.isSelectionEmpty()) { + int minIndex = lsm.getMinSelectionIndex(); + int maxIndex = lsm.getMaxSelectionIndex(); + for (int i = minIndex; + i <= maxIndex; + i++) { + if (lsm.isSelectedIndex(i)) { + selectedWebcam = webcams.get(i); + closePanel(); + if (this.selectWencamListener != null) { + this.selectWencamListener.onSelect(selectedWebcam); + + } + break; + } + } + + this.selectDeviceTableModel.fireTableDataChanged(); + } + + } +} diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index bebe8ba..c77884f 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -18,18 +18,35 @@ package net.bither.viewsystem.froms.desktop.hdm; +import com.github.sarxos.webcam.Webcam; +import net.bither.bitherj.core.AddressManager; +import net.bither.bitherj.core.DesktopHDMKeychain; +import net.bither.bitherj.crypto.SecureCharSequence; +import net.bither.bitherj.crypto.TransactionSignature; +import net.bither.bitherj.qrcode.QRCodeTxTransport; +import net.bither.bitherj.qrcode.QRCodeUtil; +import net.bither.bitherj.utils.Utils; import net.bither.qrcode.DesktopQRCodReceive; import net.bither.qrcode.DesktopQRCodSend; import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + public class DesktopHDMColdMsgPanel extends AbstractDesktopHDMMsgDialog { - public DesktopHDMColdMsgPanel() { + private SecureCharSequence password; + + public DesktopHDMColdMsgPanel(SecureCharSequence password, Webcam webcam) { + super(webcam); isSendMode = false; + this.password = password; } @Override protected void handleScanResult(String result) { + System.out.println("scan:" + result); if (isSendMode) { if (desktopQRCodSend != null) { desktopQRCodSend.setReceiveMsg(result); @@ -64,6 +81,17 @@ protected void inited() { private String getSignString() { String string = desktopQRCodReceive.getReceiveResult(); - return ""; + QRCodeTxTransport qrCodeTransportPage = QRCodeTxTransport.formatQRCodeTransportOfDesktopHDM(string); + DesktopHDMKeychain desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); + List unsignHashs = new ArrayList(); + for (String str : qrCodeTransportPage.getHashList()) { + unsignHashs.add(Utils.hexStringToByteArray(str)); + } + List signatureList = desktopHDMKeychain.signMyPart(unsignHashs, password, qrCodeTransportPage.getPathTypeIndexes()); + List result = new ArrayList(); + for(TransactionSignature signature :signatureList){ + result.add(Utils.bytesToHexString( signature.encodeToDER()).toUpperCase(Locale.US)); + } + return Utils.joinString(result, QRCodeUtil.QR_CODE_SPLIT); } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java index 388d1e6..d269509 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdPanel.java @@ -18,6 +18,7 @@ package net.bither.viewsystem.froms.desktop.hdm; +import com.github.sarxos.webcam.Webcam; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; @@ -32,6 +33,7 @@ import net.bither.viewsystem.dialogs.DialogProgress; import net.bither.viewsystem.dialogs.MessageDialog; import net.bither.viewsystem.froms.PasswordPanel; +import net.bither.viewsystem.froms.SelectWebcamPanel; import net.bither.viewsystem.froms.WizardPanel; import net.miginfocom.swing.MigLayout; @@ -41,7 +43,7 @@ import java.util.ArrayList; import java.util.List; -public class DesktopHDMColdPanel extends WizardPanel implements IPasswordGetterDelegate { +public class DesktopHDMColdPanel extends WizardPanel implements IPasswordGetterDelegate, SelectWebcamPanel.ISelectWencamListener { private PasswordPanel.PasswordGetter passwordGetter; private JButton btnAddHDMKeychain; @@ -49,6 +51,7 @@ public class DesktopHDMColdPanel extends WizardPanel implements IPasswordGetterD private JButton btnSecondMasterPub; private JButton btnSignTransaction; private JPanel panel; + private SecureCharSequence password; public DesktopHDMColdPanel() { super(MessageKey.HDM, AwesomeIcon.FA_RECYCLE); @@ -146,12 +149,28 @@ public void run() { btnSignTransaction = Buttons.newNormalButton(new AbstractAction() { @Override public void actionPerformed(ActionEvent actionEvent) { - if (AddressManager.getInstance().getPrivKeyAddresses().size() == 0 && AddressManager.getInstance().getHdmKeychain() == null) { + if (AddressManager.getInstance().getPrivKeyAddresses().size() == 0 && AddressManager.getInstance().getHdmKeychain() == null && !AddressManager.getInstance().hasDesktopHDMKeychain()) { new MessageDialog(LocaliserUtils.getString("private_key_is_empty")).showMsg(); } else { - DesktopHDMColdMsgPanel desktopHDMColdMsgPanel = new DesktopHDMColdMsgPanel(); - desktopHDMColdMsgPanel.pack(); - desktopHDMColdMsgPanel.setVisible(true); + new Thread(new Runnable() { + @Override + public void run() { + final SecureCharSequence secureCharSequence = passwordGetter.getPassword(); + if (secureCharSequence == null) { + return; + } + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + password = secureCharSequence; + SelectWebcamPanel selectWebcamPanel = new SelectWebcamPanel(DesktopHDMColdPanel.this); + selectWebcamPanel.showPanel(); + } + }); + + + } + }).start(); } } }, MessageKey.SIGN_TX, AwesomeIcon.PENCIL); @@ -239,4 +258,13 @@ public void afterPasswordDialogDismiss() { } + @Override + public void onSelect(Webcam webcam) { + if (webcam != null) { + DesktopHDMColdMsgPanel desktopHDMColdMsgPanel = new DesktopHDMColdMsgPanel(password, webcam); + desktopHDMColdMsgPanel.pack(); + desktopHDMColdMsgPanel.setVisible(true); + } + + } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java index f280964..aafd372 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMHotPanel.java @@ -18,6 +18,7 @@ package net.bither.viewsystem.froms.desktop.hdm; +import com.github.sarxos.webcam.Webcam; import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.core.Tx; @@ -38,9 +39,9 @@ import net.bither.viewsystem.base.Buttons; import net.bither.viewsystem.base.Labels; import net.bither.viewsystem.base.Panels; -import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; import net.bither.viewsystem.dialogs.DialogProgress; import net.bither.viewsystem.froms.PasswordPanel; +import net.bither.viewsystem.froms.SelectWebcamPanel; import net.bither.viewsystem.froms.WizardPanel; import net.miginfocom.swing.MigLayout; @@ -50,7 +51,7 @@ import java.util.ArrayList; import java.util.List; -public class DesktopHDMHotPanel extends WizardPanel implements IPasswordGetterDelegate, TxNotificationCenter.ITxListener { +public class DesktopHDMHotPanel extends WizardPanel implements IPasswordGetterDelegate, TxNotificationCenter.ITxListener, SelectWebcamPanel.ISelectWencamListener { private PasswordPanel.PasswordGetter passwordGetter; @@ -67,6 +68,7 @@ public class DesktopHDMHotPanel extends WizardPanel implements IPasswordGetterDe private byte[] bytesFirst = null; private byte[] bytesSecond = null; private JPanel panel; + private SecureCharSequence password; public DesktopHDMHotPanel() { @@ -143,13 +145,17 @@ public void actionPerformed(ActionEvent e) { new Thread(new Runnable() { @Override public void run() { - final SecureCharSequence password = passwordGetter.getPassword(); + final SecureCharSequence secureCharSequence = passwordGetter.getPassword(); + if (secureCharSequence == null) { + return; + } + password = secureCharSequence; SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - DesktopHDMMsgHotDialog desktopHDMHotMsgPanel = new DesktopHDMMsgHotDialog(password); - desktopHDMHotMsgPanel.pack(); - desktopHDMHotMsgPanel.setVisible(true); + SelectWebcamPanel selectWebcamPanel = new SelectWebcamPanel(DesktopHDMHotPanel.this); + selectWebcamPanel.showPanel(); + } }); @@ -304,4 +310,15 @@ public void closePanel() { super.closePanel(); TxNotificationCenter.removeTxListener(DesktopHDMHotPanel.this); } + + @Override + public void onSelect(Webcam webcam) { + if (webcam != null) { + DesktopHDMMsgHotDialog desktopHDMHotMsgPanel = new DesktopHDMMsgHotDialog(password, webcam); + desktopHDMHotMsgPanel.pack(); + desktopHDMHotMsgPanel.setVisible(true); + } + + + } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 91ca380..396713b 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -18,6 +18,7 @@ package net.bither.viewsystem.froms.desktop.hdm; +import com.github.sarxos.webcam.Webcam; import net.bither.bitherj.core.*; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.qrcode.QRCodeTxTransport; @@ -47,7 +48,8 @@ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { private SecureCharSequence password; private DesktopHDMKeychain desktopHDMKeychain; - public DesktopHDMMsgHotDialog(SecureCharSequence password) { + public DesktopHDMMsgHotDialog(SecureCharSequence password,Webcam webcam) { + super(webcam); isSendMode = true; this.password = password; desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); diff --git a/src/main/resources/viewer.properties b/src/main/resources/viewer.properties index 91cec5a..09473ca 100755 --- a/src/main/resources/viewer.properties +++ b/src/main/resources/viewer.properties @@ -632,3 +632,5 @@ desktop_hdm_second_account=Second Account import_desktop_hdm_first_account=Import First Account import_desktop_hdm_second_account=Import Second Account +select_camera=Select the camera + diff --git a/src/main/resources/viewer_zh_CN.properties b/src/main/resources/viewer_zh_CN.properties index abf5695..9291fb3 100755 --- a/src/main/resources/viewer_zh_CN.properties +++ b/src/main/resources/viewer_zh_CN.properties @@ -629,4 +629,6 @@ desktop_enterprise_hdm=\u4f01\u4e1a HDM desktop_hdm_first_account=\u51b7\u8d26\u6237\u4e00 desktop_hdm_second_account=\u51b7\u8d26\u6237\u4e8c import_desktop_hdm_first_account=\u5bfc\u5165\u51b7\u8d26\u6237\u4e00 -import_desktop_hdm_second_account=\u5bfc\u5165\u51b7\u8d26\u6237\u4e8c \ No newline at end of file +import_desktop_hdm_second_account=\u5bfc\u5165\u51b7\u8d26\u6237\u4e8c + +select_camera=\u9009\u62e9\u6444\u50cf\u5934 \ No newline at end of file diff --git a/src/main/resources/viewer_zh_TW.properties b/src/main/resources/viewer_zh_TW.properties index 7ea07a5..178ea5b 100755 --- a/src/main/resources/viewer_zh_TW.properties +++ b/src/main/resources/viewer_zh_TW.properties @@ -634,4 +634,6 @@ desktop_enterprise_hdm=\u4f01\u696d HDM desktop_hdm_first_account=\u51b7\u8cec\u6236\u4e00 desktop_hdm_second_account=\u51b7\u8cec\u6236\u4e8c import_desktop_hdm_first_account=\u5c0e\u5165\u51b7\u8cec\u6236\u4e00 -import_desktop_hdm_second_account=\u5c0e\u5165\u51b7\u8cec\u6236\u4e8c \ No newline at end of file +import_desktop_hdm_second_account=\u5c0e\u5165\u51b7\u8cec\u6236\u4e8c + +select_camera=\u9078\u64c7\u651d\u50cf\u982d \ No newline at end of file From d8a51a627abccbb942446252e2615ab0edb34844 Mon Sep 17 00:00:00 2001 From: jjz Date: Mon, 22 Jun 2015 17:38:01 +0800 Subject: [PATCH 33/63] upgrade bitherj --- bitherj | 2 +- .../desktop/hdm/DesktopHDMColdMsgPanel.java | 7 +- .../desktop/hdm/DesktopHDMMsgHotDialog.java | 67 +++++++++++++++---- 3 files changed, 57 insertions(+), 19 deletions(-) diff --git a/bitherj b/bitherj index 438de54..a62fd36 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 438de5425d1431d9aa6741f73243fe8bb720f991 +Subproject commit a62fd360a39eecf71c37b7580b94f7b53b8a9849 diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index c77884f..aebe7c4 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -22,7 +22,6 @@ import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.DesktopHDMKeychain; import net.bither.bitherj.crypto.SecureCharSequence; -import net.bither.bitherj.crypto.TransactionSignature; import net.bither.bitherj.qrcode.QRCodeTxTransport; import net.bither.bitherj.qrcode.QRCodeUtil; import net.bither.bitherj.utils.Utils; @@ -87,10 +86,10 @@ private String getSignString() { for (String str : qrCodeTransportPage.getHashList()) { unsignHashs.add(Utils.hexStringToByteArray(str)); } - List signatureList = desktopHDMKeychain.signMyPart(unsignHashs, password, qrCodeTransportPage.getPathTypeIndexes()); + List signatureList = desktopHDMKeychain.signWithCold(unsignHashs, password, qrCodeTransportPage.getPathTypeIndexes()); List result = new ArrayList(); - for(TransactionSignature signature :signatureList){ - result.add(Utils.bytesToHexString( signature.encodeToDER()).toUpperCase(Locale.US)); + for (byte[] signature : signatureList) { + result.add(Utils.bytesToHexString(signature).toUpperCase(Locale.US)); } return Utils.joinString(result, QRCodeUtil.QR_CODE_SPLIT); } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 396713b..a7cc0bd 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -20,11 +20,14 @@ import com.github.sarxos.webcam.Webcam; import net.bither.bitherj.core.*; +import net.bither.bitherj.crypto.ECKey; import net.bither.bitherj.crypto.SecureCharSequence; -import net.bither.bitherj.qrcode.QRCodeTxTransport; +import net.bither.bitherj.crypto.TransactionSignature; +import net.bither.bitherj.qrcode.QRCodeUtil; import net.bither.bitherj.utils.Utils; import net.bither.qrcode.DesktopQRCodReceive; import net.bither.qrcode.DesktopQRCodSend; +import net.bither.runnable.CommitTransactionThread; import net.bither.utils.FileUtil; import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; @@ -47,8 +50,9 @@ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { private File addressAmtFile; private SecureCharSequence password; private DesktopHDMKeychain desktopHDMKeychain; + private String lastResult; - public DesktopHDMMsgHotDialog(SecureCharSequence password,Webcam webcam) { + public DesktopHDMMsgHotDialog(SecureCharSequence password, Webcam webcam) { super(webcam); isSendMode = true; this.password = password; @@ -61,13 +65,17 @@ public void handleScanResult(final String result) { @Override public void run() { System.out.println("scan :" + result); + if (Utils.compareString(result, lastResult)) { + return; + } + lastResult = result; if (isSendMode) { if (desktopQRCodSend != null) { desktopQRCodSend.setReceiveMsg(result); } - if (desktopQRCodSend.sendComplete()) { - showQRCode(desktopQRCodReceive.getShowMsg()); + if (!desktopQRCodSend.sendComplete()) { + showQRCode(desktopQRCodSend.getShowMessage()); } if (desktopQRCodSend.allComplete()) { @@ -77,15 +85,13 @@ public void run() { } else { desktopQRCodReceive.receiveMsg(result); showQRCode(desktopQRCodReceive.getShowMsg()); + if (desktopQRCodSend.allComplete() && desktopQRCodReceive.receiveComplete()) { + publishTx(); - } - - if (desktopQRCodSend.allComplete() && desktopQRCodReceive.receiveComplete()) { - publishTx(); + } } - } }); @@ -93,13 +99,45 @@ public void run() { public void publishTx() { String signStr = desktopQRCodReceive.getReceiveResult(); + String[] signs = QRCodeUtil.splitString(signStr); + final List transactionSignatureList = new ArrayList(); + for (String str : signs) { + byte[] bytes = Utils.hexStringToByteArray(str); + TransactionSignature transactionSignature = new TransactionSignature(ECKey + .ECDSASignature.decodeFromDER(bytes), TransactionSignature.SigHash + .ALL, false); + transactionSignatureList.add(transactionSignature); + } + desktopHDMKeychain.signTx(tx, tx.getUnsignedInHashes(), password, new DesktopHDMKeychain.DesktopHDMFetchOtherSignatureDelegate() { + @Override + public List getOtherSignature(Tx tx, List unsignHash, List pathTypeIndexLsit) { + return transactionSignatureList; + } + }); + if (!tx.verifySignatures()) { + System.out.println("tx verify failed"); + } + try { + CommitTransactionThread commitTransactionThread = new CommitTransactionThread(null, tx, false, new CommitTransactionThread.CommitTransactionListener() { + @Override + public void onCommitTransactionSuccess(Tx tx) { + if (addressAmtList.size() > 0) { + addressAmtList.remove(0); + saveFile(addressAmtList, addressAmtFile); + } + desktopQRCodReceive = null; + desktopQRCodSend = null; + } - if (addressAmtList.size() > 0) { - addressAmtList.remove(0); - saveFile(addressAmtList, addressAmtFile); + @Override + public void onCommitTransactionFailed() { + + } + }); + commitTransactionThread.start(); + } catch (Exception e) { + e.printStackTrace(); } - desktopQRCodReceive = null; - desktopQRCodSend = null; } @@ -157,6 +195,7 @@ private void getTx() { pathTypeIndex.index = desktopHDMAddress.getIndex(); pathTypeIndexList.add(pathTypeIndex); } + isSendMode = true; desktopQRCodSend = new DesktopQRCodSend(tx, pathTypeIndexList, changeAddress); showQRCode(desktopQRCodSend.getShowMessage()); return; From 67047978530b84d15c94916a0eb005c6601d9331 Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 23 Jun 2015 10:33:41 +0800 Subject: [PATCH 34/63] publishTx --- bitherj | 2 +- src/main/java/net/bither/Bither.java | 10 +++++++++- .../java/net/bither/qrcode/DesktopQRCodReceive.java | 2 +- .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 11 ++++++++++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/bitherj b/bitherj index a62fd36..7cd7702 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit a62fd360a39eecf71c37b7580b94f7b53b8a9849 +Subproject commit 7cd77026f78b20ac639b65f31ed247ea4dc5fd79 diff --git a/src/main/java/net/bither/Bither.java b/src/main/java/net/bither/Bither.java index e091b51..35f05ee 100755 --- a/src/main/java/net/bither/Bither.java +++ b/src/main/java/net/bither/Bither.java @@ -21,10 +21,12 @@ import net.bither.bitherj.BitherjSettings; import net.bither.bitherj.core.Address; import net.bither.bitherj.core.AddressManager; +import net.bither.bitherj.crypto.ECKey; import net.bither.bitherj.crypto.mnemonic.MnemonicCode; import net.bither.bitherj.exception.AddressFormatException; import net.bither.bitherj.qrcode.QRCodeUtil; import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.Utils; import net.bither.db.AddressDBHelper; import net.bither.db.DesktopDbImpl; import net.bither.db.TxDBHelper; @@ -97,7 +99,13 @@ public static void main(String args[]) { applicationDataDirectoryLocator = new ApplicationDataDirectoryLocator(); initBitherApplication(); initApp(args); - +// try { +// boolean reslt = ECKey.verify(Utils.hexStringToByteArray("F7FBD709F5CDD0EE6020DB5B123F5A546B4649219E50F6F36AA70001CC41257F"), Utils.hexStringToByteArray("3044022011C8706BBA640A47514B65F2B6EE102CF1387426777B6C31812EDC72FED057A2022074D37A9C49BF69D71A0BB6A61977744C4405E332DF796DCDF3A98157921EF340"), Base58.decode +// ("2283VfwfS2A2vNPQktF3ZSo3QXpw2Lx72SMvDivAxmC9R")); +// System.out.println("result:" + reslt); +// }catch (AddressFormatException e){ +// e.printStackTrace(); +// } // new Thread(new Runnable() { // @Override // public void run() { diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java index bb918ad..5b80f40 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java @@ -58,7 +58,7 @@ public void receiveMsg(String msg) { sendCode = Integer.valueOf(strings[0]); sumPage = Integer.valueOf(strings[1]); currentPage = Integer.valueOf(strings[2]); - String qrCodeTransport = msg.substring(strings[0].length() +strings[1].length()+strings[2].length()+ 3); + String qrCodeTransport = msg.substring(strings[0].length() + 1); qrCodeTransportPageList.add(QRCodeTransportPage.formatQrCodeTransport(qrCodeTransport)); } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index a7cc0bd..5f14b91 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -23,6 +23,7 @@ import net.bither.bitherj.crypto.ECKey; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.crypto.TransactionSignature; +import net.bither.bitherj.db.AbstractDb; import net.bither.bitherj.qrcode.QRCodeUtil; import net.bither.bitherj.utils.Utils; import net.bither.qrcode.DesktopQRCodReceive; @@ -108,7 +109,15 @@ public void publishTx() { .ALL, false); transactionSignatureList.add(transactionSignature); } - desktopHDMKeychain.signTx(tx, tx.getUnsignedInHashes(), password, new DesktopHDMKeychain.DesktopHDMFetchOtherSignatureDelegate() { + List desktopHDMAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); + List unSignHash = new ArrayList(); + for (DesktopHDMAddress a : desktopHDMAddresses) { + for (byte[] h : tx.getUnsignedInHashesForHDM(a.getPubKey())) { + unSignHash.add(h); + } + } + // System.out.println("unSign:" + Utils.bytesToHexString(unSignHash.get(0))); + desktopHDMKeychain.signTx(tx, unSignHash, password, new DesktopHDMKeychain.DesktopHDMFetchOtherSignatureDelegate() { @Override public List getOtherSignature(Tx tx, List unsignHash, List pathTypeIndexLsit) { return transactionSignatureList; From 105ac3384dfa32afdb2ce021a76c5222e89b8845 Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 23 Jun 2015 13:01:36 +0800 Subject: [PATCH 35/63] upgrade bitherj --- bitherj | 2 +- .../java/net/bither/db/DesktopTxProvider.java | 25 +++++++ src/main/java/net/bither/db/TxDBHelper.java | 1 + .../bither/viewsystem/froms/AdvancePanel.java | 2 + .../desktop/hdm/DesktopHDMMsgHotDialog.java | 72 ++++++++++--------- 5 files changed, 67 insertions(+), 35 deletions(-) diff --git a/bitherj b/bitherj index 7cd7702..5da25c9 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 7cd77026f78b20ac639b65f31ed247ea4dc5fd79 +Subproject commit 5da25c9fc74e9154c649eb18b51b88c12105cd0e diff --git a/src/main/java/net/bither/db/DesktopTxProvider.java b/src/main/java/net/bither/db/DesktopTxProvider.java index fedb725..225ab0a 100644 --- a/src/main/java/net/bither/db/DesktopTxProvider.java +++ b/src/main/java/net/bither/db/DesktopTxProvider.java @@ -402,6 +402,27 @@ public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.Pat return result; } + @Override + public int unSyncedAddressCount() { + int cnt = 0; + try { + String sql = "select count(address) cnt from desktop_hdm_account_addresses where is_synced=? "; + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{"0"}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn("cnt"); + if (idColumn != -1) { + cnt = cursor.getInt(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return cnt; + } + @Override public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { List outList = new ArrayList(); @@ -582,6 +603,10 @@ private DesktopHDMAddress formatAddress(DesktopHDMKeychain keychain, ResultSet c } + public void setSyncdNotComplete() { + this.mDb.executeUpdate("update desktop_hdm_account_addresses set is_synced=?", new String[]{"0"}); + } + @Override public List getUnspendOutByHDAccount(int hdAccountId) { List outItems = new ArrayList(); diff --git a/src/main/java/net/bither/db/TxDBHelper.java b/src/main/java/net/bither/db/TxDBHelper.java index ed27581..3b9d774 100644 --- a/src/main/java/net/bither/db/TxDBHelper.java +++ b/src/main/java/net/bither/db/TxDBHelper.java @@ -181,6 +181,7 @@ public void rebuildTx() { stmt.executeUpdate(AbstractDb.CREATE_INS_SQL); stmt.executeUpdate(AbstractDb.CREATE_ADDRESSTXS_SQL); stmt.executeUpdate(AbstractDb.CREATE_PEER_SQL); + stmt.executeUpdate(ADD_ENTERPRISE_HD_ACCOUNT_ID_FOR_OUTS); getConn().commit(); stmt.close(); diff --git a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java index 364d137..0f5caf3 100644 --- a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java @@ -27,6 +27,7 @@ import net.bither.bitherj.crypto.PasswordSeed; import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.utils.TransactionsUtil; +import net.bither.db.DesktopTxProvider; import net.bither.db.HDAccountProvider; import net.bither.db.TxProvider; import net.bither.fonts.AwesomeIcon; @@ -356,6 +357,7 @@ public void run() { } HDAccountProvider.getInstance().setSyncdNotComplete(); + DesktopTxProvider.getInstance().setSyncdNotComplete(); TxProvider.getInstance().clearAllTx(); for (Address address : AddressManager.getInstance().getAllAddresses()) { address.notificatTx(null, Tx.TxNotificationType.txFromApi); diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 5f14b91..241bfdf 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -125,17 +125,20 @@ public List getOtherSignature(Tx tx, List unsignHa }); if (!tx.verifySignatures()) { System.out.println("tx verify failed"); + return; } try { CommitTransactionThread commitTransactionThread = new CommitTransactionThread(null, tx, false, new CommitTransactionThread.CommitTransactionListener() { @Override public void onCommitTransactionSuccess(Tx tx) { - if (addressAmtList.size() > 0) { - addressAmtList.remove(0); - saveFile(addressAmtList, addressAmtFile); + synchronized (addressAmtList) { + if (addressAmtList.size() > 0) { + addressAmtList.remove(0); + saveFile(addressAmtList, addressAmtFile); + } + desktopQRCodReceive = null; + desktopQRCodSend = null; } - desktopQRCodReceive = null; - desktopQRCodSend = null; } @Override @@ -177,37 +180,38 @@ public void run() { private void getTx() { try { + synchronized (addressAmtList) { + if (desktopQRCodSend != null) { + return; + } + if (addressAmtList.size() == 0) { + addressAmtFile = getSendBitcoinFile(); - if (desktopQRCodSend != null) { - return; - } - if (addressAmtList.size() == 0) { - addressAmtFile = getSendBitcoinFile(); - - addressAmtList = getAddressAndAmts(addressAmtFile); - } - String address = null; - long amt; - if (addressAmtList.size() > 0) { - for (HashMap hashMap : addressAmtList) { - for (Map.Entry kv : hashMap.entrySet()) { - address = kv.getKey(); - amt = kv.getValue(); - String changeAddress = desktopHDMKeychain.getNewChangeAddress(); - tx = desktopHDMKeychain.newTx(address, amt); - - List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); - List pathTypeIndexList = new ArrayList(); - for (DesktopHDMAddress desktopHDMAddress : signingAddresses) { - AbstractHD.PathTypeIndex pathTypeIndex = new AbstractHD.PathTypeIndex(); - pathTypeIndex.pathType = desktopHDMAddress.getPathType(); - pathTypeIndex.index = desktopHDMAddress.getIndex(); - pathTypeIndexList.add(pathTypeIndex); + addressAmtList = getAddressAndAmts(addressAmtFile); + } + String address = null; + long amt; + if (addressAmtList.size() > 0) { + for (HashMap hashMap : addressAmtList) { + for (Map.Entry kv : hashMap.entrySet()) { + address = kv.getKey(); + amt = kv.getValue(); + String changeAddress = desktopHDMKeychain.getNewChangeAddress(); + tx = desktopHDMKeychain.newTx(address, amt); + + List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); + List pathTypeIndexList = new ArrayList(); + for (DesktopHDMAddress desktopHDMAddress : signingAddresses) { + AbstractHD.PathTypeIndex pathTypeIndex = new AbstractHD.PathTypeIndex(); + pathTypeIndex.pathType = desktopHDMAddress.getPathType(); + pathTypeIndex.index = desktopHDMAddress.getIndex(); + pathTypeIndexList.add(pathTypeIndex); + } + isSendMode = true; + desktopQRCodSend = new DesktopQRCodSend(tx, pathTypeIndexList, changeAddress); + showQRCode(desktopQRCodSend.getShowMessage()); + return; } - isSendMode = true; - desktopQRCodSend = new DesktopQRCodSend(tx, pathTypeIndexList, changeAddress); - showQRCode(desktopQRCodSend.getShowMessage()); - return; } } } From 046451705e320e9db7d234b2fc4870f38f56f2f5 Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 23 Jun 2015 15:52:53 +0800 Subject: [PATCH 36/63] upgrade bitherj --- bitherj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitherj b/bitherj index 5da25c9..81e7008 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 5da25c9fc74e9154c649eb18b51b88c12105cd0e +Subproject commit 81e700871b371327e5f9541ba688d916e7b435cf From a771c5d55b198da36808eee35fcfe7ce94ccec45 Mon Sep 17 00:00:00 2001 From: jjz Date: Tue, 23 Jun 2015 17:27:42 +0800 Subject: [PATCH 37/63] upgrade bitherj --- bitherj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitherj b/bitherj index 81e7008..89f8144 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 81e700871b371327e5f9541ba688d916e7b435cf +Subproject commit 89f81448ae5cf996915526647af6a414e17da821 From d3dad8c70fd1097b26d60ca4a304a34b7e9a5a56 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 11:20:56 +0800 Subject: [PATCH 38/63] add lastResult --- .../froms/desktop/hdm/DesktopHDMColdMsgPanel.java | 7 ++++++- .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index aebe7c4..5d3b1e6 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -36,6 +36,7 @@ public class DesktopHDMColdMsgPanel extends AbstractDesktopHDMMsgDialog { private SecureCharSequence password; + private String lastResult; public DesktopHDMColdMsgPanel(SecureCharSequence password, Webcam webcam) { super(webcam); @@ -45,7 +46,11 @@ public DesktopHDMColdMsgPanel(SecureCharSequence password, Webcam webcam) { @Override protected void handleScanResult(String result) { - System.out.println("scan:" + result); + if (Utils.compareString(result, lastResult)) { + return; + } + lastResult = result; + if (isSendMode) { if (desktopQRCodSend != null) { desktopQRCodSend.setReceiveMsg(result); diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 241bfdf..ee8dae0 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -65,7 +65,6 @@ public void handleScanResult(final String result) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - System.out.println("scan :" + result); if (Utils.compareString(result, lastResult)) { return; } From 4ca14dcc9730d79e47e900ce88d019f103b2ebd3 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 11:56:43 +0800 Subject: [PATCH 39/63] show error msg --- .../runnable/CompleteTransactionRunnable.java | 2 +- .../dialogs/AbstractDesktopHDMMsgDialog.form | 14 ++- .../dialogs/AbstractDesktopHDMMsgDialog.java | 76 +++++++++++++++- .../desktop/hdm/DesktopHDMMsgHotDialog.java | 89 +++++++++++-------- 4 files changed, 141 insertions(+), 40 deletions(-) diff --git a/src/main/java/net/bither/runnable/CompleteTransactionRunnable.java b/src/main/java/net/bither/runnable/CompleteTransactionRunnable.java index 3d52f9b..24defea 100644 --- a/src/main/java/net/bither/runnable/CompleteTransactionRunnable.java +++ b/src/main/java/net/bither/runnable/CompleteTransactionRunnable.java @@ -146,7 +146,7 @@ public void run() { } - public String getMessageFromException(Exception e) { + public static String getMessageFromException(Exception e) { if (e != null && e instanceof TxBuilderException) { return e.getMessage(); } else if (e != null && e instanceof PasswordException) { diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form index f49746b..38148fc 100644 --- a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.form @@ -8,7 +8,7 @@ - + @@ -18,13 +18,13 @@ - + - + @@ -39,6 +39,14 @@ + + + + + + + + diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java index 0e13da3..86decc8 100644 --- a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java @@ -24,6 +24,9 @@ import com.google.zxing.*; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.common.HybridBinarizer; +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; import net.bither.BitherUI; import net.bither.qrcode.DesktopQRCodReceive; import net.bither.qrcode.DesktopQRCodSend; @@ -39,6 +42,7 @@ import java.awt.event.*; import java.awt.image.BufferedImage; import java.awt.image.VolatileImage; +import java.util.ResourceBundle; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; @@ -47,6 +51,7 @@ public abstract class AbstractDesktopHDMMsgDialog extends BitherDialog implement private JPanel contentPane; private JButton buttonCancel; private JPanel mainPanel; + protected JLabel labMsg; private Executor executor = Executors.newSingleThreadExecutor(this); private JLabel imageLabel; @@ -64,7 +69,7 @@ public abstract class AbstractDesktopHDMMsgDialog extends BitherDialog implement public AbstractDesktopHDMMsgDialog(Webcam webcam) { setContentPane(contentPane); - this.webcam=webcam; + this.webcam = webcam; setModal(true); getRootPane().setDefaultButton(buttonCancel); @@ -191,4 +196,73 @@ public Thread newThread(Runnable r) { return t; } + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer + * >>> IMPORTANT!! <<< + * DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, 1, null, null, null, 0, false)); + final Spacer spacer1 = new Spacer(); + panel1.add(spacer1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + panel1.add(panel2, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + buttonCancel = new JButton(); + this.$$$loadButtonText$$$(buttonCancel, ResourceBundle.getBundle("viewer").getString("cancel")); + panel2.add(buttonCancel, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + labMsg = new JLabel(); + labMsg.setText(""); + panel1.add(labMsg, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + mainPanel = new JPanel(); + mainPanel.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(mainPanel, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + } + + /** + * @noinspection ALL + */ + private void $$$loadButtonText$$$(AbstractButton component, String text) { + StringBuffer result = new StringBuffer(); + boolean haveMnemonic = false; + char mnemonic = '\0'; + int mnemonicIndex = -1; + for (int i = 0; i < text.length(); i++) { + if (text.charAt(i) == '&') { + i++; + if (i == text.length()) break; + if (!haveMnemonic && text.charAt(i) != '&') { + haveMnemonic = true; + mnemonic = text.charAt(i); + mnemonicIndex = result.length(); + } + } + result.append(text.charAt(i)); + } + component.setText(result.toString()); + if (haveMnemonic) { + component.setMnemonic(mnemonic); + component.setDisplayedMnemonicIndex(mnemonicIndex); + } + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index ee8dae0..2f8f090 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -29,8 +29,11 @@ import net.bither.qrcode.DesktopQRCodReceive; import net.bither.qrcode.DesktopQRCodSend; import net.bither.runnable.CommitTransactionThread; +import net.bither.runnable.CompleteTransactionRunnable; import net.bither.utils.FileUtil; +import net.bither.utils.WalletUtils; import net.bither.viewsystem.dialogs.AbstractDesktopHDMMsgDialog; +import net.bither.viewsystem.dialogs.MessageDialog; import javax.swing.*; import java.io.File; @@ -43,6 +46,10 @@ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { + static { + WalletUtils.initTxBuilderException(); + } + private static final long CHECK_TX_INTERVAL = 3 * 1000; private Tx tx; @@ -165,7 +172,22 @@ public void run() { while (isRunning) { try { if (desktopQRCodSend == null) { - getTx(); + try { + getTx(); + SwingUtilities.invokeLater(new Runnable() { + public void run() { + labMsg.setText(""); + } + }); + } catch (Exception e) { + e.printStackTrace(); + final String msg = CompleteTransactionRunnable.getMessageFromException(e); + SwingUtilities.invokeLater(new Runnable() { + public void run() { + labMsg.setText(msg); + } + }); + } } Thread.sleep(CHECK_TX_INTERVAL); } catch (InterruptedException e) { @@ -177,45 +199,42 @@ public void run() { }).start(); } - private void getTx() { - try { - synchronized (addressAmtList) { - if (desktopQRCodSend != null) { - return; - } - if (addressAmtList.size() == 0) { - addressAmtFile = getSendBitcoinFile(); + private void getTx() throws Exception { - addressAmtList = getAddressAndAmts(addressAmtFile); - } - String address = null; - long amt; - if (addressAmtList.size() > 0) { - for (HashMap hashMap : addressAmtList) { - for (Map.Entry kv : hashMap.entrySet()) { - address = kv.getKey(); - amt = kv.getValue(); - String changeAddress = desktopHDMKeychain.getNewChangeAddress(); - tx = desktopHDMKeychain.newTx(address, amt); - - List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); - List pathTypeIndexList = new ArrayList(); - for (DesktopHDMAddress desktopHDMAddress : signingAddresses) { - AbstractHD.PathTypeIndex pathTypeIndex = new AbstractHD.PathTypeIndex(); - pathTypeIndex.pathType = desktopHDMAddress.getPathType(); - pathTypeIndex.index = desktopHDMAddress.getIndex(); - pathTypeIndexList.add(pathTypeIndex); - } - isSendMode = true; - desktopQRCodSend = new DesktopQRCodSend(tx, pathTypeIndexList, changeAddress); - showQRCode(desktopQRCodSend.getShowMessage()); - return; + synchronized (addressAmtList) { + if (desktopQRCodSend != null) { + return; + } + if (addressAmtList.size() == 0) { + addressAmtFile = getSendBitcoinFile(); + + addressAmtList = getAddressAndAmts(addressAmtFile); + } + String address = null; + long amt; + if (addressAmtList.size() > 0) { + for (HashMap hashMap : addressAmtList) { + for (Map.Entry kv : hashMap.entrySet()) { + address = kv.getKey(); + amt = kv.getValue(); + String changeAddress = desktopHDMKeychain.getNewChangeAddress(); + tx = desktopHDMKeychain.newTx(address, amt); + + List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); + List pathTypeIndexList = new ArrayList(); + for (DesktopHDMAddress desktopHDMAddress : signingAddresses) { + AbstractHD.PathTypeIndex pathTypeIndex = new AbstractHD.PathTypeIndex(); + pathTypeIndex.pathType = desktopHDMAddress.getPathType(); + pathTypeIndex.index = desktopHDMAddress.getIndex(); + pathTypeIndexList.add(pathTypeIndex); } + isSendMode = true; + desktopQRCodSend = new DesktopQRCodSend(tx, pathTypeIndexList, changeAddress); + showQRCode(desktopQRCodSend.getShowMessage()); + return; } } } - } catch (Exception e) { - e.printStackTrace(); } } From a4d1c3e128e1e1b99781ccc53d6a29168096d5fe Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 12:20:54 +0800 Subject: [PATCH 40/63] save file --- .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 2f8f090..3989e10 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -213,6 +213,7 @@ private void getTx() throws Exception { String address = null; long amt; if (addressAmtList.size() > 0) { + for (HashMap hashMap : addressAmtList) { for (Map.Entry kv : hashMap.entrySet()) { address = kv.getKey(); @@ -247,8 +248,12 @@ private void saveFile(List> list, File file) { result = result + kv.getKey() + "," + Long.toString(kv.getValue()) + "\n"; } } - - Utils.writeFile(result.getBytes(), file); + if (file.exists()) { + file.delete(); + } + if (list.size() > 0) { + Utils.writeFile(result.getBytes(), file); + } } catch (IOException e) { e.printStackTrace(); } From d98c333fa52ade37405a9b7c7bedaf570a66adb4 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 13:57:14 +0800 Subject: [PATCH 41/63] upgrade QRCode finish --- .../java/net/bither/qrcode/DesktopQRCodReceive.java | 13 ++++++++++--- .../java/net/bither/qrcode/DesktopQRCodSend.java | 10 ++++++++++ .../froms/desktop/hdm/DesktopHDMColdMsgPanel.java | 7 +------ .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 10 +++------- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java index 5b80f40..7103a01 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java @@ -55,9 +55,15 @@ public String getReceiveResult() { public void receiveMsg(String msg) { if (QRCodeUtil.verifyBitherQRCode(msg)) { String[] strings = QRCodeUtil.splitString(msg); - sendCode = Integer.valueOf(strings[0]); - sumPage = Integer.valueOf(strings[1]); - currentPage = Integer.valueOf(strings[2]); + int sendCode = Integer.valueOf(strings[0]); + int sumPage = Integer.valueOf(strings[1]); + int currentPage = Integer.valueOf(strings[2]); + if (sendCode == this.sendCode && sumPage == this.sumPage && currentPage == this.currentPage) { + return; + } + this.sendCode = sendCode; + this.sumPage = sumPage; + this.currentPage = currentPage; String qrCodeTransport = msg.substring(strings[0].length() + 1); qrCodeTransportPageList.add(QRCodeTransportPage.formatQrCodeTransport(qrCodeTransport)); @@ -66,4 +72,5 @@ public void receiveMsg(String msg) { } + } diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index 0deadfa..aa1adb6 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -60,6 +60,9 @@ public DesktopQRCodSend(String codeString) { } + public int getSendCode() { + return this.sendCode; + } public boolean sendComplete() { String[] headers = new String[]{Integer.toString(sendCode), @@ -97,6 +100,13 @@ public void setReceiveMsg(String msg) { } + public static int getSendCodeFromMsg(String msg) { + String[] strings = QRCodeUtil.splitString(msg); + int sendCode = Integer.valueOf(strings[0]); + return sendCode; + } + + @Override public boolean equals(Object obj) { if (obj instanceof DesktopQRCodSend) { diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index 5d3b1e6..c191694 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -36,7 +36,6 @@ public class DesktopHDMColdMsgPanel extends AbstractDesktopHDMMsgDialog { private SecureCharSequence password; - private String lastResult; public DesktopHDMColdMsgPanel(SecureCharSequence password, Webcam webcam) { super(webcam); @@ -46,16 +45,12 @@ public DesktopHDMColdMsgPanel(SecureCharSequence password, Webcam webcam) { @Override protected void handleScanResult(String result) { - if (Utils.compareString(result, lastResult)) { - return; - } - lastResult = result; if (isSendMode) { if (desktopQRCodSend != null) { desktopQRCodSend.setReceiveMsg(result); showQRCode(desktopQRCodSend.getShowMessage()); - if (desktopQRCodSend.allComplete()) { + if (desktopQRCodSend.allComplete() && DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { isSendMode = false; } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 3989e10..ec72a30 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -58,7 +58,7 @@ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { private File addressAmtFile; private SecureCharSequence password; private DesktopHDMKeychain desktopHDMKeychain; - private String lastResult; + public DesktopHDMMsgHotDialog(SecureCharSequence password, Webcam webcam) { super(webcam); @@ -72,20 +72,16 @@ public void handleScanResult(final String result) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - if (Utils.compareString(result, lastResult)) { - return; - } - lastResult = result; if (isSendMode) { if (desktopQRCodSend != null) { desktopQRCodSend.setReceiveMsg(result); } - if (!desktopQRCodSend.sendComplete()) { showQRCode(desktopQRCodSend.getShowMessage()); } - if (desktopQRCodSend.allComplete()) { + if (desktopQRCodSend.allComplete() + && DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { isSendMode = false; desktopQRCodReceive = new DesktopQRCodReceive(); } From 5bb47b0e1fa82b72e12b86c43a1f3f5c09825511 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 14:13:04 +0800 Subject: [PATCH 42/63] use QRCodeSendCode --- src/main/java/net/bither/qrcode/DesktopQRCodReceive.java | 4 +++- src/main/java/net/bither/qrcode/DesktopQRCodSend.java | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java index 7103a01..268f19b 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodReceive.java @@ -58,6 +58,9 @@ public void receiveMsg(String msg) { int sendCode = Integer.valueOf(strings[0]); int sumPage = Integer.valueOf(strings[1]); int currentPage = Integer.valueOf(strings[2]); + if (sendCode > DesktopQRCodSend.QRCodeSendCode) { + DesktopQRCodSend.QRCodeSendCode = sendCode; + } if (sendCode == this.sendCode && sumPage == this.sumPage && currentPage == this.currentPage) { return; } @@ -72,5 +75,4 @@ public void receiveMsg(String msg) { } - } diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index aa1adb6..8b1551c 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -96,6 +96,14 @@ public String getShowMessage() { } public void setReceiveMsg(String msg) { + + String[] strings = QRCodeUtil.splitString(msg); + if (Utils.isInteger(strings[0])) { + int sendCode = Integer.valueOf(strings[0]); + if (sendCode > QRCodeSendCode) { + QRCodeSendCode = sendCode; + } + } this.receiveMsg = msg; } From e9dda5a6e25d796c12bcacb1f74a7aae106976a3 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 14:19:55 +0800 Subject: [PATCH 43/63] upgrade --- src/main/java/net/bither/qrcode/DesktopQRCodSend.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index 8b1551c..2949a88 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -39,23 +39,25 @@ public class DesktopQRCodSend { public DesktopQRCodSend(Tx tx, List pathTypeIndexList, String changeAddress) { synchronized (lock) { + QRCodeSendCode++; this.sendCode = QRCodeSendCode; String codeString = QRCodeTxTransport.getDeskpHDMPresignTxString(QRCodeTxTransport.TxTransportType.DesktopHDM, tx, changeAddress, LocaliserUtils.getString("address_cannot_be_parsed"), pathTypeIndexList); this.contents = QRCodeUtil.getQrCodeStringList(QRCodeUtil.encodeQrCodeString(codeString)); this.currentPage = 0; - QRCodeSendCode++; + } } public DesktopQRCodSend(String codeString) { synchronized (lock) { + QRCodeSendCode++; this.sendCode = QRCodeSendCode; this.contents = QRCodeUtil.getQrCodeStringList(QRCodeUtil.encodeQrCodeString(codeString)); this.currentPage = 0; - QRCodeSendCode++; + } } From 9792482d78ff7c3727a5f89f251cb2f92a546f01 Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 14:38:01 +0800 Subject: [PATCH 44/63] upgrade qrcode --- .../net/bither/qrcode/DesktopQRCodSend.java | 4 +++ .../desktop/hdm/DesktopHDMColdMsgPanel.java | 16 ++++++------ .../desktop/hdm/DesktopHDMMsgHotDialog.java | 25 +++++++++++-------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index 2949a88..ef5455e 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -66,6 +66,10 @@ public int getSendCode() { return this.sendCode; } + public boolean sendFinish() { + return currentPage == this.contents.size() - 1; + } + public boolean sendComplete() { String[] headers = new String[]{Integer.toString(sendCode), Integer.toString(contents.size() - 1), Integer.toString(currentPage)}; diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index c191694..57f36e8 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -48,10 +48,14 @@ protected void handleScanResult(String result) { if (isSendMode) { if (desktopQRCodSend != null) { - desktopQRCodSend.setReceiveMsg(result); - showQRCode(desktopQRCodSend.getShowMessage()); - if (desktopQRCodSend.allComplete() && DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { - isSendMode = false; + if (DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { + if (desktopQRCodSend.sendFinish()) { + isSendMode = false; + desktopQRCodReceive = new DesktopQRCodReceive(); + } + } else { + desktopQRCodSend.setReceiveMsg(result); + showQRCode(desktopQRCodSend.getShowMessage()); } } @@ -64,10 +68,6 @@ protected void handleScanResult(String result) { showQRCode(desktopQRCodSend.getShowMessage()); } } - if (desktopQRCodSend != null && desktopQRCodSend.allComplete() - && desktopQRCodReceive != null && desktopQRCodReceive.receiveComplete()) { - desktopQRCodReceive = new DesktopQRCodReceive(); - } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index ec72a30..7aacf52 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -73,22 +73,25 @@ public void handleScanResult(final String result) { @Override public void run() { if (isSendMode) { - if (desktopQRCodSend != null) { - desktopQRCodSend.setReceiveMsg(result); - } - if (!desktopQRCodSend.sendComplete()) { - showQRCode(desktopQRCodSend.getShowMessage()); + if (DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { + if (desktopQRCodSend.sendFinish()) { + isSendMode = false; + desktopQRCodReceive = new DesktopQRCodReceive(); - } - if (desktopQRCodSend.allComplete() - && DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { - isSendMode = false; - desktopQRCodReceive = new DesktopQRCodReceive(); + } + } else { + if (desktopQRCodSend != null) { + desktopQRCodSend.setReceiveMsg(result); + } + if (!desktopQRCodSend.sendComplete()) { + showQRCode(desktopQRCodSend.getShowMessage()); + + } } } else { desktopQRCodReceive.receiveMsg(result); showQRCode(desktopQRCodReceive.getShowMsg()); - if (desktopQRCodSend.allComplete() && desktopQRCodReceive.receiveComplete()) { + if (desktopQRCodSend.sendFinish() && desktopQRCodReceive.receiveComplete()) { publishTx(); } From c4e49cf9000e0f76aee9e04c12defec34b5a03ef Mon Sep 17 00:00:00 2001 From: jjz Date: Wed, 24 Jun 2015 14:42:05 +0800 Subject: [PATCH 45/63] wallet is null when commit tx --- .../java/net/bither/runnable/CommitTransactionThread.java | 4 +++- .../viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/bither/runnable/CommitTransactionThread.java b/src/main/java/net/bither/runnable/CommitTransactionThread.java index 07764cc..beedb4e 100644 --- a/src/main/java/net/bither/runnable/CommitTransactionThread.java +++ b/src/main/java/net/bither/runnable/CommitTransactionThread.java @@ -57,7 +57,9 @@ public void run() { boolean success = false; try { PeerManager.instance().publishTransaction(tx); - TransactionsUtil.removeSignTx(new UnSignTransaction(tx, wallet.getAddress())); + if (wallet != null) { + TransactionsUtil.removeSignTx(new UnSignTransaction(tx, wallet.getAddress())); + } success = true; } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 7aacf52..03f7cf9 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -137,6 +137,7 @@ public List getOtherSignature(Tx tx, List unsignHa @Override public void onCommitTransactionSuccess(Tx tx) { synchronized (addressAmtList) { + if (addressAmtList.size() > 0) { addressAmtList.remove(0); saveFile(addressAmtList, addressAmtFile); From fd8a1e1183aacdf091ea5e998ee981675e74ea81 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 25 Jun 2015 10:51:14 +0800 Subject: [PATCH 46/63] implements bitherj --- bitherj | 2 +- .../db/ColdHDAccountAddressProvider.java | 93 ++++++++++ .../net/bither/db/ColdHDAccountProvider.java | 164 ++++++++++++++++++ .../java/net/bither/db/DesktopDbImpl.java | 10 ++ .../java/net/bither/db/HDAccountProvider.java | 2 +- 5 files changed, 269 insertions(+), 2 deletions(-) create mode 100644 src/main/java/net/bither/db/ColdHDAccountAddressProvider.java create mode 100644 src/main/java/net/bither/db/ColdHDAccountProvider.java diff --git a/bitherj b/bitherj index 89f8144..76329ba 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 89f81448ae5cf996915526647af6a414e17da821 +Subproject commit 76329ba40bf2bcc4e0fd887944fd52fd294cb0b7 diff --git a/src/main/java/net/bither/db/ColdHDAccountAddressProvider.java b/src/main/java/net/bither/db/ColdHDAccountAddressProvider.java new file mode 100644 index 0000000..d111a57 --- /dev/null +++ b/src/main/java/net/bither/db/ColdHDAccountAddressProvider.java @@ -0,0 +1,93 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.db; + +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.db.IColdHDAccountAddressProvider; + +import java.util.ArrayList; +import java.util.List; + +public class ColdHDAccountAddressProvider implements IColdHDAccountAddressProvider { + + + private static ColdHDAccountAddressProvider coldHDAccountAddressProvider = + new ColdHDAccountAddressProvider(ApplicationInstanceManager.addressDBHelper); + + public static ColdHDAccountAddressProvider getInstance() { + return coldHDAccountAddressProvider; + } + + private AddressDBHelper mDb; + + + private ColdHDAccountAddressProvider(AddressDBHelper db) { + this.mDb = db; + } + + @Override + public int addHDAccount(String encryptedMnemonicSeed, String encryptSeed, String firstAddress, boolean isXrandom, String addressOfPS, byte[] externalPub, byte[] internalPub) { + return 0; + } + + @Override + public int addMonitoredHDAccount(boolean isXrandom, byte[] externalPub, byte[] internalPub) { + return 0; + } + + @Override + public String getHDFristAddress(int hdSeedId) { + return null; + } + + @Override + public byte[] getExternalPub(int hdSeedId) { + return new byte[0]; + } + + @Override + public byte[] getInternalPub(int hdSeedId) { + return new byte[0]; + } + + @Override + public String getHDAccountEncryptSeed(int hdSeedId) { + return null; + } + + @Override + public String getHDAccountEncryptMnmonicSeed(int hdSeedId) { + return null; + } + + @Override + public boolean hdAccountIsXRandom(int seedId) { + return false; + } + + @Override + public List getHDAccountSeeds() { + return new ArrayList(); + } + + @Override + public boolean hasHDAccountCold() { + return false; + } +} diff --git a/src/main/java/net/bither/db/ColdHDAccountProvider.java b/src/main/java/net/bither/db/ColdHDAccountProvider.java new file mode 100644 index 0000000..b09c81e --- /dev/null +++ b/src/main/java/net/bither/db/ColdHDAccountProvider.java @@ -0,0 +1,164 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.db; + +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.core.*; +import net.bither.bitherj.db.IColdHDAccountProvider; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; + +public class ColdHDAccountProvider implements IColdHDAccountProvider { + + private static ColdHDAccountProvider coldHDAccountProvider = + new ColdHDAccountProvider(ApplicationInstanceManager.txDBHelper); + + public static ColdHDAccountProvider getInstance() { + return coldHDAccountProvider; + } + + private TxDBHelper mDb; + + + private ColdHDAccountProvider(TxDBHelper db) { + this.mDb = db; + } + + @Override + public void addAddress(List hdAccountAddresses) { + + } + + @Override + public int issuedIndex(AbstractHD.PathType pathType) { + return 0; + } + + @Override + public int allGeneratedAddressCount(AbstractHD.PathType pathType) { + return 0; + } + + @Override + public void updateIssuedIndex(AbstractHD.PathType pathType, int index) { + + } + + @Override + public String externalAddress() { + return null; + } + + @Override + public HashSet getBelongAccountAddresses(List addressList) { + return new HashSet(); + } + + @Override + public HDAccount.HDAccountAddress addressForPath(AbstractHD.PathType type, int index) { + return null; + } + + @Override + public List getPubs(AbstractHD.PathType pathType) { + return new ArrayList(); + } + + @Override + public List belongAccount(List addresses) { + return new ArrayList(); + } + + @Override + public void updateSyncdComplete(HDAccount.HDAccountAddress address) { + + } + + @Override + public void setSyncdNotComplete() { + + } + + @Override + public int unSyncedAddressCount() { + return 0; + } + + @Override + public void updateSyncdForIndex(AbstractHD.PathType pathType, int index) { + + } + + @Override + public List getSigningAddressesForInputs(List inList) { + return new ArrayList(); + } + + @Override + public int hdAccountTxCount() { + return 0; + } + + @Override + public long getHDAccountConfirmedBanlance(int hdAccountId) { + return 0; + } + + @Override + public List getHDAccountUnconfirmedTx() { + return new ArrayList(); + } + + @Override + public long sentFromAccount(int hdAccountId, byte[] txHash) { + return 0; + } + + @Override + public List getTxAndDetailByHDAccount(int page) { + return new ArrayList(); + } + + @Override + public List getTxAndDetailByHDAccount() { + return new ArrayList(); + } + + @Override + public List getUnspendOutByHDAccount(int hdAccountId) { + return new ArrayList(); + } + + @Override + public List getRecentlyTxsByAccount(int greateThanBlockNo, int limit) { + return new ArrayList(); + } + + @Override + public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { + return 0; + } + + @Override + public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { + return new ArrayList(); + } +} diff --git a/src/main/java/net/bither/db/DesktopDbImpl.java b/src/main/java/net/bither/db/DesktopDbImpl.java index 84e38a0..302c33b 100644 --- a/src/main/java/net/bither/db/DesktopDbImpl.java +++ b/src/main/java/net/bither/db/DesktopDbImpl.java @@ -58,4 +58,14 @@ public IDesktopAddressProvider initEnDesktopAddressProvider() { public IDesktopTxProvider initDesktopTxProvider() { return DesktopTxProvider.getInstance(); } + + @Override + public IColdHDAccountProvider initColdHDAccountProvider() { + return ColdHDAccountProvider.getInstance(); + } + + @Override + public IColdHDAccountAddressProvider initColdHDAccountAddressPrivider() { + return ColdHDAccountAddressProvider.getInstance(); + } } diff --git a/src/main/java/net/bither/db/HDAccountProvider.java b/src/main/java/net/bither/db/HDAccountProvider.java index 22e0182..2c5c7fb 100644 --- a/src/main/java/net/bither/db/HDAccountProvider.java +++ b/src/main/java/net/bither/db/HDAccountProvider.java @@ -755,7 +755,7 @@ private HDAccount.HDAccountAddress formatAddress(ResultSet c) throws SQLExceptio isSynced = c.getInt(idColumn) == 1; } hdAccountAddress = new HDAccount.HDAccountAddress(address, pubs, - ternalRootType, index, isIssued, isSynced); + ternalRootType, index, isIssued, isSynced, 0); } catch (AddressFormatException e) { e.printStackTrace(); } From 0436ac1b42fc6d738ace20105fb84ecfd2eb6281 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 25 Jun 2015 14:58:48 +0800 Subject: [PATCH 47/63] upgrade bitherj --- bitherj | 2 +- src/main/java/net/bither/qrcode/DesktopQRCodSend.java | 11 ++++------- .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 3 ++- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/bitherj b/bitherj index 76329ba..069e528 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 76329ba40bf2bcc4e0fd887944fd52fd294cb0b7 +Subproject commit 069e52816d3b270ba0de1656ce82844030e8ff72 diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index ef5455e..b30c889 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -70,18 +70,16 @@ public boolean sendFinish() { return currentPage == this.contents.size() - 1; } - public boolean sendComplete() { + public boolean canNextPage() { String[] headers = new String[]{Integer.toString(sendCode), Integer.toString(contents.size() - 1), Integer.toString(currentPage)}; String sendHeader = Utils.joinString(headers, QRCodeUtil.QR_CODE_SPLIT); return Utils.compareString(sendHeader, receiveMsg); } - public boolean allComplete() { - if (sendComplete()) { - return currentPage == this.contents.size() - 1; - } - return false; + + public void nextPage() { + currentPage++; } public String getShowMessage() { @@ -94,7 +92,6 @@ public String getShowMessage() { } else { if (currentPage < this.contents.size()) { msg = Integer.toString(sendCode) + QRCodeUtil.QR_CODE_SPLIT + this.contents.get(currentPage); - currentPage++; } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 03f7cf9..3cebb7d 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -83,7 +83,8 @@ public void run() { if (desktopQRCodSend != null) { desktopQRCodSend.setReceiveMsg(result); } - if (!desktopQRCodSend.sendComplete()) { + if (desktopQRCodSend.canNextPage()) { + desktopQRCodSend.nextPage(); showQRCode(desktopQRCodSend.getShowMessage()); } From 4770c57daf14c6e4203a148fd4948cc1e2f355b1 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 25 Jun 2015 15:01:21 +0800 Subject: [PATCH 48/63] upgrade DesktopQRCodSend --- .../viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index 57f36e8..5911e06 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -55,7 +55,10 @@ protected void handleScanResult(String result) { } } else { desktopQRCodSend.setReceiveMsg(result); - showQRCode(desktopQRCodSend.getShowMessage()); + if (desktopQRCodSend.canNextPage()) { + desktopQRCodSend.nextPage(); + showQRCode(desktopQRCodSend.getShowMessage()); + } } } From ff24140fdc788bf0c7f169e42f07a4220ce99c70 Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 25 Jun 2015 16:53:20 +0800 Subject: [PATCH 49/63] upgrade --- bitherj | 2 +- src/main/java/net/bither/BitherUI.java | 1 + .../viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java | 6 +++--- .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 4 +++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/bitherj b/bitherj index 069e528..2f6c170 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 069e52816d3b270ba0de1656ce82844030e8ff72 +Subproject commit 2f6c1700fbacc71a551be27993a145517b0146fd diff --git a/src/main/java/net/bither/BitherUI.java b/src/main/java/net/bither/BitherUI.java index 98f2c1f..e77819a 100755 --- a/src/main/java/net/bither/BitherUI.java +++ b/src/main/java/net/bither/BitherUI.java @@ -29,6 +29,7 @@ public interface BitherUI { // Panel dimensions + int UI_MAX_WIDTH = 1100; /** * The minimum width for the application UI (900 is the minimum for tables) diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java index 86decc8..6ae8f62 100644 --- a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java @@ -95,7 +95,7 @@ public void actionPerformed(ActionEvent e) { }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); initialiseContent(); - Dimension dimension = new Dimension(BitherUI.UI_MIN_WIDTH, BitherUI.WIZARD_MIN_HEIGHT); + Dimension dimension = new Dimension(BitherUI.UI_MIN_WIDTH, 600); setMinimumSize(dimension); setPreferredSize(dimension); setMaximumSize(dimension); @@ -140,8 +140,8 @@ public void initialiseContent() { protected void showQRCode(String qrCodeString) { - int scaleWidth = BitherUI.POPOVER_MIN_WIDTH; - int scaleHeight = BitherUI.POPOVER_MIN_WIDTH; + int scaleWidth = BitherUI.WIZARD_MIN_HEIGHT; + int scaleHeight = BitherUI.WIZARD_MIN_HEIGHT; Image image = QRCodeGenerator.generateQRcode(qrCodeString, null, null, 1); if (image != null) { int scaleFactor = (int) (Math.floor(Math.min(scaleHeight / image.getHeight(null), diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 3cebb7d..f704eb6 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -117,13 +117,15 @@ public void publishTx() { } List desktopHDMAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); List unSignHash = new ArrayList(); + List unSignDesktopHDMAddress = new ArrayList(); for (DesktopHDMAddress a : desktopHDMAddresses) { for (byte[] h : tx.getUnsignedInHashesForHDM(a.getPubKey())) { unSignHash.add(h); + unSignDesktopHDMAddress.add(a); } } // System.out.println("unSign:" + Utils.bytesToHexString(unSignHash.get(0))); - desktopHDMKeychain.signTx(tx, unSignHash, password, new DesktopHDMKeychain.DesktopHDMFetchOtherSignatureDelegate() { + desktopHDMKeychain.signTx(tx, unSignHash, password, unSignDesktopHDMAddress, new DesktopHDMKeychain.DesktopHDMFetchOtherSignatureDelegate() { @Override public List getOtherSignature(Tx tx, List unsignHash, List pathTypeIndexLsit) { return transactionSignatureList; From 91ad9e08dc550bb0f631f2f55400e306545ae11d Mon Sep 17 00:00:00 2001 From: jjz Date: Thu, 25 Jun 2015 17:17:27 +0800 Subject: [PATCH 50/63] scan qrcode --- .../dialogs/AbstractDesktopHDMMsgDialog.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java index 6ae8f62..5849a5b 100644 --- a/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java +++ b/src/main/java/net/bither/viewsystem/dialogs/AbstractDesktopHDMMsgDialog.java @@ -27,6 +27,7 @@ import com.intellij.uiDesigner.core.GridConstraints; import com.intellij.uiDesigner.core.GridLayoutManager; import com.intellij.uiDesigner.core.Spacer; +import net.bither.Bither; import net.bither.BitherUI; import net.bither.qrcode.DesktopQRCodReceive; import net.bither.qrcode.DesktopQRCodSend; @@ -47,7 +48,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; -public abstract class AbstractDesktopHDMMsgDialog extends BitherDialog implements Runnable, ThreadFactory { +public abstract class AbstractDesktopHDMMsgDialog extends JDialog implements Runnable, ThreadFactory { private JPanel contentPane; private JButton buttonCancel; private JPanel mainPanel; @@ -95,11 +96,12 @@ public void actionPerformed(ActionEvent e) { }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); initialiseContent(); - Dimension dimension = new Dimension(BitherUI.UI_MIN_WIDTH, 600); + Dimension dimension = Bither.getMainFrame().getSize(); setMinimumSize(dimension); setPreferredSize(dimension); setMaximumSize(dimension); - initDialog(); + setSize(dimension); + // initDialog(); executor.execute(this); inited(); } @@ -134,14 +136,12 @@ public void initialiseContent() { dispose(); new MessageDialog(LocaliserUtils.getString("camer_is_not_available")).showMsg(); } - - } protected void showQRCode(String qrCodeString) { - int scaleWidth = BitherUI.WIZARD_MIN_HEIGHT; - int scaleHeight = BitherUI.WIZARD_MIN_HEIGHT; + int scaleWidth = BitherUI.UI_MIN_HEIGHT; + int scaleHeight = BitherUI.UI_MIN_HEIGHT; Image image = QRCodeGenerator.generateQRcode(qrCodeString, null, null, 1); if (image != null) { int scaleFactor = (int) (Math.floor(Math.min(scaleHeight / image.getHeight(null), From 94bbc8d9b71773ee56f4c2025f9e5a23c0535530 Mon Sep 17 00:00:00 2001 From: jjz Date: Fri, 26 Jun 2015 10:26:54 +0800 Subject: [PATCH 51/63] upgrade bitherj --- bitherj | 2 +- src/main/java/net/bither/qrcode/DesktopQRCodSend.java | 7 ++++--- .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 9 +-------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/bitherj b/bitherj index 2f6c170..14f01ae 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 2f6c1700fbacc71a551be27993a145517b0146fd +Subproject commit 14f01ae8aaeb246bebef9bc3e50695f192e45af8 diff --git a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java index b30c889..e35efda 100644 --- a/src/main/java/net/bither/qrcode/DesktopQRCodSend.java +++ b/src/main/java/net/bither/qrcode/DesktopQRCodSend.java @@ -19,6 +19,7 @@ package net.bither.qrcode; import net.bither.bitherj.core.AbstractHD; +import net.bither.bitherj.core.DesktopHDMAddress; import net.bither.bitherj.core.Tx; import net.bither.bitherj.qrcode.QRCodeTxTransport; import net.bither.bitherj.qrcode.QRCodeUtil; @@ -37,13 +38,13 @@ public class DesktopQRCodSend { private String receiveMsg; - public DesktopQRCodSend(Tx tx, List pathTypeIndexList, String changeAddress) { + public DesktopQRCodSend(Tx tx, List desktopHDMAddresses, String changeAddress) { synchronized (lock) { QRCodeSendCode++; this.sendCode = QRCodeSendCode; String codeString = QRCodeTxTransport.getDeskpHDMPresignTxString(QRCodeTxTransport.TxTransportType.DesktopHDM, tx, changeAddress, - LocaliserUtils.getString("address_cannot_be_parsed"), pathTypeIndexList); + LocaliserUtils.getString("address_cannot_be_parsed"), desktopHDMAddresses); this.contents = QRCodeUtil.getQrCodeStringList(QRCodeUtil.encodeQrCodeString(codeString)); this.currentPage = 0; @@ -67,7 +68,7 @@ public int getSendCode() { } public boolean sendFinish() { - return currentPage == this.contents.size() - 1; + return currentPage >= this.contents.size() - 1; } public boolean canNextPage() { diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index f704eb6..75bf748 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -225,15 +225,8 @@ private void getTx() throws Exception { tx = desktopHDMKeychain.newTx(address, amt); List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); - List pathTypeIndexList = new ArrayList(); - for (DesktopHDMAddress desktopHDMAddress : signingAddresses) { - AbstractHD.PathTypeIndex pathTypeIndex = new AbstractHD.PathTypeIndex(); - pathTypeIndex.pathType = desktopHDMAddress.getPathType(); - pathTypeIndex.index = desktopHDMAddress.getIndex(); - pathTypeIndexList.add(pathTypeIndex); - } isSendMode = true; - desktopQRCodSend = new DesktopQRCodSend(tx, pathTypeIndexList, changeAddress); + desktopQRCodSend = new DesktopQRCodSend(tx, signingAddresses, changeAddress); showQRCode(desktopQRCodSend.getShowMessage()); return; } From cfcc8787efe1bcbcf4540e26db6292186597836a Mon Sep 17 00:00:00 2001 From: jjz Date: Fri, 26 Jun 2015 11:04:06 +0800 Subject: [PATCH 52/63] getUnsignedInHashesForDesktopHDM --- bitherj | 2 +- .../froms/desktop/hdm/DesktopHDMMsgHotDialog.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bitherj b/bitherj index 14f01ae..1290d6c 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 14f01ae8aaeb246bebef9bc3e50695f192e45af8 +Subproject commit 1290d6c14c8ed1aa3e3ca7f9b05586e07ceec438 diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 75bf748..2f7213f 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -118,8 +118,9 @@ public void publishTx() { List desktopHDMAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); List unSignHash = new ArrayList(); List unSignDesktopHDMAddress = new ArrayList(); - for (DesktopHDMAddress a : desktopHDMAddresses) { - for (byte[] h : tx.getUnsignedInHashesForHDM(a.getPubKey())) { + for (int i = 0; i < desktopHDMAddresses.size(); i++) { + DesktopHDMAddress a = desktopHDMAddresses.get(i); + for (byte[] h : tx.getUnsignedInHashesForDesktpHDM(a.getPubKey(), i)) { unSignHash.add(h); unSignDesktopHDMAddress.add(a); } @@ -140,7 +141,7 @@ public List getOtherSignature(Tx tx, List unsignHa @Override public void onCommitTransactionSuccess(Tx tx) { synchronized (addressAmtList) { - + isSendMode = true; if (addressAmtList.size() > 0) { addressAmtList.remove(0); saveFile(addressAmtList, addressAmtFile); From 005c6ed1172001325a07be156e3ca46993bc5c1f Mon Sep 17 00:00:00 2001 From: jjz Date: Fri, 26 Jun 2015 12:36:57 +0800 Subject: [PATCH 53/63] fix nullpointException --- .../desktop/hdm/DesktopHDMColdMsgPanel.java | 14 ++++--- .../desktop/hdm/DesktopHDMMsgHotDialog.java | 38 ++++++++++--------- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java index 5911e06..f6b8931 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMColdMsgPanel.java @@ -63,12 +63,14 @@ protected void handleScanResult(String result) { } } else { - desktopQRCodReceive.receiveMsg(result); - showQRCode(desktopQRCodReceive.getShowMsg()); - if (desktopQRCodReceive.receiveComplete()) { - isSendMode = true; - desktopQRCodSend = new DesktopQRCodSend(getSignString()); - showQRCode(desktopQRCodSend.getShowMessage()); + if (desktopQRCodReceive != null) { + desktopQRCodReceive.receiveMsg(result); + showQRCode(desktopQRCodReceive.getShowMsg()); + if (desktopQRCodReceive.receiveComplete()) { + isSendMode = true; + desktopQRCodSend = new DesktopQRCodSend(getSignString()); + showQRCode(desktopQRCodSend.getShowMessage()); + } } } diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index 2f7213f..db283a7 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -73,30 +73,34 @@ public void handleScanResult(final String result) { @Override public void run() { if (isSendMode) { - if (DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { - if (desktopQRCodSend.sendFinish()) { - isSendMode = false; - desktopQRCodReceive = new DesktopQRCodReceive(); + if (desktopQRCodSend != null) { - } - } else { - if (desktopQRCodSend != null) { - desktopQRCodSend.setReceiveMsg(result); - } - if (desktopQRCodSend.canNextPage()) { - desktopQRCodSend.nextPage(); - showQRCode(desktopQRCodSend.getShowMessage()); + if (DesktopQRCodSend.getSendCodeFromMsg(result) > desktopQRCodSend.getSendCode()) { + if (desktopQRCodSend.sendFinish()) { + isSendMode = false; + desktopQRCodReceive = new DesktopQRCodReceive(); + + } + } else { + if (desktopQRCodSend != null) { + desktopQRCodSend.setReceiveMsg(result); + } + if (desktopQRCodSend.canNextPage()) { + desktopQRCodSend.nextPage(); + showQRCode(desktopQRCodSend.getShowMessage()); + } } } } else { - desktopQRCodReceive.receiveMsg(result); - showQRCode(desktopQRCodReceive.getShowMsg()); - if (desktopQRCodSend.sendFinish() && desktopQRCodReceive.receiveComplete()) { - publishTx(); + if (desktopQRCodReceive != null) { + desktopQRCodReceive.receiveMsg(result); + showQRCode(desktopQRCodReceive.getShowMsg()); + if (desktopQRCodSend.sendFinish() && desktopQRCodReceive.receiveComplete()) { + publishTx(); + } } - } } From 0e5c34d48ddf1343949d832aef5b10f73f19a9cf Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Fri, 26 Jun 2015 16:31:38 +0800 Subject: [PATCH 54/63] if init db failed, throw runtime exception --- src/main/java/net/bither/db/AbstractDBHelper.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/net/bither/db/AbstractDBHelper.java b/src/main/java/net/bither/db/AbstractDBHelper.java index 49da253..84adffd 100644 --- a/src/main/java/net/bither/db/AbstractDBHelper.java +++ b/src/main/java/net/bither/db/AbstractDBHelper.java @@ -69,11 +69,8 @@ public void initDb() { onUpgrade(conn, cuerrentVersion, dbVersion); } } catch (SQLException e) { - File file = new File(dbFileFullName); - if (file.exists()) { - file.delete(); - } e.printStackTrace(); + throw new RuntimeException(e); } } From 72727504ad7d85c81fc95556d427e66d476f938e Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Fri, 26 Jun 2015 16:37:25 +0800 Subject: [PATCH 55/63] 1. if create db failed, delete the file. 2. init db failed in other situation , throw runtime exception. --- src/main/java/net/bither/db/AbstractDBHelper.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/bither/db/AbstractDBHelper.java b/src/main/java/net/bither/db/AbstractDBHelper.java index 84adffd..4fbd7a1 100644 --- a/src/main/java/net/bither/db/AbstractDBHelper.java +++ b/src/main/java/net/bither/db/AbstractDBHelper.java @@ -64,7 +64,15 @@ public void initDb() { int dbVersion = dbVersion(); int cuerrentVersion = currentVersion(); if (dbVersion == 0) { - onCreate(conn); + try { + onCreate(conn); + } catch (SQLException e) { + File file = new File(dbFileFullName); + if (file.exists()) { + file.delete(); + } + e.printStackTrace(); + } } else if (dbVersion() < cuerrentVersion) { onUpgrade(conn, cuerrentVersion, dbVersion); } From 806fd52bd943701f00f444efea40d91f8ef9a3b6 Mon Sep 17 00:00:00 2001 From: songchenwen Date: Wed, 1 Jul 2015 10:51:13 +0800 Subject: [PATCH 56/63] Update Bitherj --- bitherj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitherj b/bitherj index 1290d6c..c7034e2 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 1290d6c14c8ed1aa3e3ca7f9b05586e07ceec438 +Subproject commit c7034e2d3c05e378eea3b2dcde580b99532c63db From e850b6c1a94157deb5257bc227c01770a5609b9f Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Wed, 8 Jul 2015 16:37:00 +0800 Subject: [PATCH 57/63] db upgrade --- bitherj | 2 +- .../java/net/bither/db/AddressProvider.java | 436 ++++---- .../db/ColdHDAccountAddressProvider.java | 93 -- .../net/bither/db/ColdHDAccountProvider.java | 164 --- .../java/net/bither/db/DesktopDbImpl.java | 15 +- .../bither/db/HDAccountAddressProvider.java | 943 ++++++++++++++++++ .../java/net/bither/db/HDAccountProvider.java | 743 +++----------- src/main/java/net/bither/db/TxProvider.java | 40 +- src/main/java/net/bither/utils/KeyUtil.java | 2 +- .../net/bither/viewsystem/MainFrameUI.java | 4 +- .../bither/viewsystem/froms/AdvancePanel.java | 4 +- .../froms/CheckPrivateKeyPanel.java | 6 +- .../froms/ExportPrivateKeyPanel.java | 2 +- .../viewsystem/froms/HDAccountAddPanel.java | 2 +- .../froms/ImportPrivateKeyPanel.java | 2 +- .../net/bither/viewsystem/froms/MenuBar.java | 4 +- .../bither/viewsystem/froms/MorePanel.java | 6 +- .../froms/ShowTransactionsForm.java | 4 +- .../viewsystem/panels/WalletListPanel.java | 8 +- 19 files changed, 1324 insertions(+), 1156 deletions(-) delete mode 100644 src/main/java/net/bither/db/ColdHDAccountAddressProvider.java delete mode 100644 src/main/java/net/bither/db/ColdHDAccountProvider.java create mode 100644 src/main/java/net/bither/db/HDAccountAddressProvider.java diff --git a/bitherj b/bitherj index ea5c711..8cb1c5b 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit ea5c711218ca3954e31fcb94558ca24341f773c0 +Subproject commit 8cb1c5bd266adeeb3a2c19b8aa98dfae6722bf64 diff --git a/src/main/java/net/bither/db/AddressProvider.java b/src/main/java/net/bither/db/AddressProvider.java index 6d62360..ac98a95 100644 --- a/src/main/java/net/bither/db/AddressProvider.java +++ b/src/main/java/net/bither/db/AddressProvider.java @@ -379,7 +379,7 @@ public PasswordSeed getPasswordSeed() { public boolean hasPasswordSeed() { boolean result = false; try { - result = hasPasswordSeed(this.mDb.getConn()); + result = AddressProvider.hasPasswordSeed(this.mDb.getConn()); } catch (SQLException e) { e.printStackTrace(); } @@ -387,7 +387,7 @@ public boolean hasPasswordSeed() { } - public boolean hasPasswordSeed(Connection conn) throws SQLException { + public static boolean hasPasswordSeed(Connection conn) throws SQLException { PreparedStatement stmt = conn.prepareStatement("select count(0) cnt from password_seed where password_seed is not null "); ResultSet c = stmt.executeQuery(); int count = 0; @@ -539,8 +539,8 @@ public int addHDKey(final String encryptedMnemonicSeed, final String encryptHdSe } stmt.executeUpdate(); stmt.close(); - if (!hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { - addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); + if (!AddressProvider.hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { + AddressProvider.addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); } this.mDb.getConn().commit(); PreparedStatement statement = this.mDb.getPreparedStatement("select hd_seed_id from hd_seeds where encrypt_seed=? and encrypt_hd_seed=? and is_xrandom=? and hdm_address=?" @@ -629,8 +629,8 @@ public void addAndUpdateHDMBId(final HDMBId bitherId, final String addressOfPS) stmt.setString(1, bitherId.getAddress()); stmt.setString(2, encryptedBitherPasswordString); stmt.executeUpdate(); - if (!hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { - addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedBitherPasswordString)); + if (!AddressProvider.hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { + AddressProvider.addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedBitherPasswordString)); } this.mDb.getConn().commit(); stmt.close(); @@ -645,8 +645,8 @@ public void addAndUpdateHDMBId(final HDMBId bitherId, final String addressOfPS) stmt.setString(1, encryptedBitherPasswordString); stmt.setString(2, bitherId.getAddress()); stmt.executeUpdate(); - if (!hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { - addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedBitherPasswordString)); + if (!AddressProvider.hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { + AddressProvider.addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedBitherPasswordString)); } this.mDb.getConn().commit(); stmt.close(); @@ -988,9 +988,9 @@ public void addAddress(final Address address) { } stmt.executeUpdate(); if (address.hasPrivKey()) { - if (!hasPasswordSeed(this.mDb.getConn())) { + if (!AddressProvider.hasPasswordSeed(this.mDb.getConn())) { PasswordSeed passwordSeed = new PasswordSeed(address.getAddress(), address.getFullEncryptPrivKeyOfDb()); - addPasswordSeed(this.mDb.getConn(), passwordSeed); + AddressProvider.addPasswordSeed(this.mDb.getConn(), passwordSeed); } } this.mDb.getConn().commit(); @@ -1193,214 +1193,214 @@ public String getSingularModeBackup(int hdSeedId) { } - @Override - public int addHDAccount(String encryptedMnemonicSeed, String encryptSeed, - String firstAddress, boolean isXrandom, String addressOfPS, - byte[] externalPub, byte[] internalPub) { - int result = 0; - try { - - String[] params = new String[]{encryptedMnemonicSeed, encryptSeed, firstAddress, Base58.encode(externalPub) - , Base58.encode(internalPub), Integer.toString(isXrandom ? 1 : 0),}; - String sql = "insert into hd_account(encrypt_mnemonic_seed,encrypt_seed" + - ",hd_address,external_pub,internal_pub,is_xrandom) " + - " values(?,?,?,?,?,?)"; - - this.mDb.getConn().setAutoCommit(false); - - PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); - if (params != null) { - for (int i = 0; i < params.length; i++) { - stmt.setString(i + 1, params[i]); - } - } - stmt.executeUpdate(); - stmt.close(); - if (!hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { - addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); - } - this.mDb.getConn().commit(); - stmt = this.mDb.getPreparedStatement("select hd_account_id from hd_account where encrypt_mnemonic_seed=? and encrypt_seed=? and is_xrandom=? and hd_address=?" - , new String[]{encryptedMnemonicSeed, encryptSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress}); - ResultSet cursor = stmt.executeQuery(); - if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.HDAccountColumns.HD_ACCOUNT_ID); - if (idColumn != -1) { - result = cursor.getInt(idColumn); - } - - } - cursor.close(); - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return result; - - } - - @Override - public String getHDFristAddress(int hdSeedId) { - String address = null; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select hd_address from hd_account where hd_account_id=?" - , new String[]{Integer.toString(hdSeedId)}); - ResultSet cursor = statement.executeQuery(); - if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.HDAccountColumns.HD_ADDRESS); - if (idColumn != -1) { - address = cursor.getString(idColumn); - } - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return address; - } - - @Override - public byte[] getExternalPub(int hdSeedId) { - byte[] pub = null; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select external_pub from hd_account where hd_account_id=? " - , new String[]{Integer.toString(hdSeedId)}); - ResultSet c = statement.executeQuery(); - if (c.next()) { - int idColumn = c.findColumn(AbstractDb.HDAccountColumns.EXTERNAL_PUB); - if (idColumn != -1) { - String pubStr = c.getString(idColumn); - pub = Base58.decode(pubStr); - } - } - c.close(); - statement.close(); - } catch (AddressFormatException e) { - e.printStackTrace(); - } catch (SQLException e) { - e.printStackTrace(); - } - - return pub; - } - - @Override - public byte[] getInternalPub(int hdSeedId) { - byte[] pub = null; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select internal_pub from hd_account where hd_account_id=? " - , new String[]{Integer.toString(hdSeedId)}); - ResultSet c = statement.executeQuery(); - if (c.next()) { - int idColumn = c.findColumn(AbstractDb.HDAccountColumns.INTERNAL_PUB); - if (idColumn != -1) { - String pubStr = c.getString(idColumn); - pub = Base58.decode(pubStr); - } - } - c.close(); - statement.close(); - } catch (AddressFormatException e) { - e.printStackTrace(); - } catch (SQLException e) { - e.printStackTrace(); - } - - return pub; - } - - @Override - public String getHDAccountEncryptSeed(int hdSeedId) { - String hdAccountEncryptSeed = null; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.ENCRYPT_SEED + " from hd_account where hd_account_id=? " - , new String[]{Integer.toString(hdSeedId)}); - ResultSet c = statement.executeQuery(); - if (c.next()) { - int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_SEED); - if (idColumn != -1) { - hdAccountEncryptSeed = c.getString(idColumn); - } - } - c.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return hdAccountEncryptSeed; - - } - - @Override - public String getHDAccountEncryptMnmonicSeed(int hdSeedId) { - String hdAccountMnmonicEncryptSeed = null; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.ENCRYPT_MNMONIC_SEED + " from hd_account where hd_account_id=? " - , new String[]{Integer.toString(hdSeedId)}); - ResultSet c = statement.executeQuery(); - if (c.next()) { - int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_MNMONIC_SEED); - if (idColumn != -1) { - hdAccountMnmonicEncryptSeed = c.getString(idColumn); - } - } - c.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return hdAccountMnmonicEncryptSeed; - - - } - - @Override - public List getHDAccountSeeds() { - List hdSeedIds = new ArrayList(); - - try { - - String sql = "select " + AbstractDb.HDAccountColumns.HD_ACCOUNT_ID + " from " + AbstractDb.Tables.HD_ACCOUNT; - PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); - ResultSet c = statement.executeQuery(); - while (c.next()) { - int idColumn = c.findColumn(AbstractDb.HDAccountColumns.HD_ACCOUNT_ID); - if (idColumn != -1) { - hdSeedIds.add(c.getInt(idColumn)); - } - } - c.close(); - statement.close(); - } catch (Exception ex) { - ex.printStackTrace(); - } - return hdSeedIds; - } - - @Override - public boolean hdAccountIsXRandom(int seedId) { - boolean result = false; - String sql = "select is_xrandom from hd_account where hd_account_id=?"; - try { - PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(seedId)}); - ResultSet rs = statement.executeQuery(); - if (rs.next()) { - int idColumn = rs.findColumn(AbstractDb.HDAccountColumns.IS_XRANDOM); - if (idColumn != -1) { - result = rs.getBoolean(idColumn); - } - } - rs.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - - return result; - } - - public void addPasswordSeed(Connection conn, PasswordSeed passwordSeed) throws SQLException { +// @Override +// public int addHDAccount(String encryptedMnemonicSeed, String encryptSeed, +// String firstAddress, boolean isXrandom, String addressOfPS, +// byte[] externalPub, byte[] internalPub) { +// int result = 0; +// try { +// +// String[] params = new String[]{encryptedMnemonicSeed, encryptSeed, firstAddress, Base58.encode(externalPub) +// , Base58.encode(internalPub), Integer.toString(isXrandom ? 1 : 0),}; +// String sql = "insert into hd_account(encrypt_mnemonic_seed,encrypt_seed" + +// ",hd_address,external_pub,internal_pub,is_xrandom) " + +// " values(?,?,?,?,?,?)"; +// +// this.mDb.getConn().setAutoCommit(false); +// +// PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql); +// if (params != null) { +// for (int i = 0; i < params.length; i++) { +// stmt.setString(i + 1, params[i]); +// } +// } +// stmt.executeUpdate(); +// stmt.close(); +// if (!hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { +// addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); +// } +// this.mDb.getConn().commit(); +// stmt = this.mDb.getPreparedStatement("select hd_account_id from hd_account where encrypt_mnemonic_seed=? and encrypt_seed=? and is_xrandom=? and hd_address=?" +// , new String[]{encryptedMnemonicSeed, encryptSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress}); +// ResultSet cursor = stmt.executeQuery(); +// if (cursor.next()) { +// int idColumn = cursor.findColumn(AbstractDb.HDAccountColumns.HD_ACCOUNT_ID); +// if (idColumn != -1) { +// result = cursor.getInt(idColumn); +// } +// +// } +// cursor.close(); +// stmt.close(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// return result; +// +// } +// +// @Override +// public String getHDFristAddress(int hdSeedId) { +// String address = null; +// try { +// PreparedStatement statement = this.mDb.getPreparedStatement("select hd_address from hd_account where hd_account_id=?" +// , new String[]{Integer.toString(hdSeedId)}); +// ResultSet cursor = statement.executeQuery(); +// if (cursor.next()) { +// int idColumn = cursor.findColumn(AbstractDb.HDAccountColumns.HD_ADDRESS); +// if (idColumn != -1) { +// address = cursor.getString(idColumn); +// } +// } +// cursor.close(); +// statement.close(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// return address; +// } +// +// @Override +// public byte[] getExternalPub(int hdSeedId) { +// byte[] pub = null; +// try { +// PreparedStatement statement = this.mDb.getPreparedStatement("select external_pub from hd_account where hd_account_id=? " +// , new String[]{Integer.toString(hdSeedId)}); +// ResultSet c = statement.executeQuery(); +// if (c.next()) { +// int idColumn = c.findColumn(AbstractDb.HDAccountColumns.EXTERNAL_PUB); +// if (idColumn != -1) { +// String pubStr = c.getString(idColumn); +// pub = Base58.decode(pubStr); +// } +// } +// c.close(); +// statement.close(); +// } catch (AddressFormatException e) { +// e.printStackTrace(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// +// return pub; +// } +// +// @Override +// public byte[] getInternalPub(int hdSeedId) { +// byte[] pub = null; +// try { +// PreparedStatement statement = this.mDb.getPreparedStatement("select internal_pub from hd_account where hd_account_id=? " +// , new String[]{Integer.toString(hdSeedId)}); +// ResultSet c = statement.executeQuery(); +// if (c.next()) { +// int idColumn = c.findColumn(AbstractDb.HDAccountColumns.INTERNAL_PUB); +// if (idColumn != -1) { +// String pubStr = c.getString(idColumn); +// pub = Base58.decode(pubStr); +// } +// } +// c.close(); +// statement.close(); +// } catch (AddressFormatException e) { +// e.printStackTrace(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// +// return pub; +// } +// +// @Override +// public String getHDAccountEncryptSeed(int hdSeedId) { +// String hdAccountEncryptSeed = null; +// try { +// PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.ENCRYPT_SEED + " from hd_account where hd_account_id=? " +// , new String[]{Integer.toString(hdSeedId)}); +// ResultSet c = statement.executeQuery(); +// if (c.next()) { +// int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_SEED); +// if (idColumn != -1) { +// hdAccountEncryptSeed = c.getString(idColumn); +// } +// } +// c.close(); +// statement.close(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// return hdAccountEncryptSeed; +// +// } +// +// @Override +// public String getHDAccountEncryptMnmonicSeed(int hdSeedId) { +// String hdAccountMnmonicEncryptSeed = null; +// try { +// PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.ENCRYPT_MNMONIC_SEED + " from hd_account where hd_account_id=? " +// , new String[]{Integer.toString(hdSeedId)}); +// ResultSet c = statement.executeQuery(); +// if (c.next()) { +// int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_MNMONIC_SEED); +// if (idColumn != -1) { +// hdAccountMnmonicEncryptSeed = c.getString(idColumn); +// } +// } +// c.close(); +// statement.close(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// return hdAccountMnmonicEncryptSeed; +// +// +// } +// +// @Override +// public List getHDAccountSeeds() { +// List hdSeedIds = new ArrayList(); +// +// try { +// +// String sql = "select " + AbstractDb.HDAccountColumns.HD_ACCOUNT_ID + " from " + AbstractDb.Tables.HD_ACCOUNT; +// PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); +// ResultSet c = statement.executeQuery(); +// while (c.next()) { +// int idColumn = c.findColumn(AbstractDb.HDAccountColumns.HD_ACCOUNT_ID); +// if (idColumn != -1) { +// hdSeedIds.add(c.getInt(idColumn)); +// } +// } +// c.close(); +// statement.close(); +// } catch (Exception ex) { +// ex.printStackTrace(); +// } +// return hdSeedIds; +// } +// +// @Override +// public boolean hdAccountIsXRandom(int seedId) { +// boolean result = false; +// String sql = "select is_xrandom from hd_account where hd_account_id=?"; +// try { +// PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(seedId)}); +// ResultSet rs = statement.executeQuery(); +// if (rs.next()) { +// int idColumn = rs.findColumn(AbstractDb.HDAccountColumns.IS_XRANDOM); +// if (idColumn != -1) { +// result = rs.getBoolean(idColumn); +// } +// } +// rs.close(); +// statement.close(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } +// +// return result; +// } + + public static void addPasswordSeed(Connection conn, PasswordSeed passwordSeed) throws SQLException { PreparedStatement stmt = conn.prepareStatement("insert into password_seed (password_seed) values (?)"); stmt.setString(1, passwordSeed.toPasswordSeedString()); stmt.executeUpdate(); diff --git a/src/main/java/net/bither/db/ColdHDAccountAddressProvider.java b/src/main/java/net/bither/db/ColdHDAccountAddressProvider.java deleted file mode 100644 index d111a57..0000000 --- a/src/main/java/net/bither/db/ColdHDAccountAddressProvider.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * - * Copyright 2014 http://Bither.net - * - * 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. - * / - */ - -package net.bither.db; - -import net.bither.ApplicationInstanceManager; -import net.bither.bitherj.db.IColdHDAccountAddressProvider; - -import java.util.ArrayList; -import java.util.List; - -public class ColdHDAccountAddressProvider implements IColdHDAccountAddressProvider { - - - private static ColdHDAccountAddressProvider coldHDAccountAddressProvider = - new ColdHDAccountAddressProvider(ApplicationInstanceManager.addressDBHelper); - - public static ColdHDAccountAddressProvider getInstance() { - return coldHDAccountAddressProvider; - } - - private AddressDBHelper mDb; - - - private ColdHDAccountAddressProvider(AddressDBHelper db) { - this.mDb = db; - } - - @Override - public int addHDAccount(String encryptedMnemonicSeed, String encryptSeed, String firstAddress, boolean isXrandom, String addressOfPS, byte[] externalPub, byte[] internalPub) { - return 0; - } - - @Override - public int addMonitoredHDAccount(boolean isXrandom, byte[] externalPub, byte[] internalPub) { - return 0; - } - - @Override - public String getHDFristAddress(int hdSeedId) { - return null; - } - - @Override - public byte[] getExternalPub(int hdSeedId) { - return new byte[0]; - } - - @Override - public byte[] getInternalPub(int hdSeedId) { - return new byte[0]; - } - - @Override - public String getHDAccountEncryptSeed(int hdSeedId) { - return null; - } - - @Override - public String getHDAccountEncryptMnmonicSeed(int hdSeedId) { - return null; - } - - @Override - public boolean hdAccountIsXRandom(int seedId) { - return false; - } - - @Override - public List getHDAccountSeeds() { - return new ArrayList(); - } - - @Override - public boolean hasHDAccountCold() { - return false; - } -} diff --git a/src/main/java/net/bither/db/ColdHDAccountProvider.java b/src/main/java/net/bither/db/ColdHDAccountProvider.java deleted file mode 100644 index b09c81e..0000000 --- a/src/main/java/net/bither/db/ColdHDAccountProvider.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * - * Copyright 2014 http://Bither.net - * - * 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. - * / - */ - -package net.bither.db; - -import net.bither.ApplicationInstanceManager; -import net.bither.bitherj.core.*; -import net.bither.bitherj.db.IColdHDAccountProvider; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; - -public class ColdHDAccountProvider implements IColdHDAccountProvider { - - private static ColdHDAccountProvider coldHDAccountProvider = - new ColdHDAccountProvider(ApplicationInstanceManager.txDBHelper); - - public static ColdHDAccountProvider getInstance() { - return coldHDAccountProvider; - } - - private TxDBHelper mDb; - - - private ColdHDAccountProvider(TxDBHelper db) { - this.mDb = db; - } - - @Override - public void addAddress(List hdAccountAddresses) { - - } - - @Override - public int issuedIndex(AbstractHD.PathType pathType) { - return 0; - } - - @Override - public int allGeneratedAddressCount(AbstractHD.PathType pathType) { - return 0; - } - - @Override - public void updateIssuedIndex(AbstractHD.PathType pathType, int index) { - - } - - @Override - public String externalAddress() { - return null; - } - - @Override - public HashSet getBelongAccountAddresses(List addressList) { - return new HashSet(); - } - - @Override - public HDAccount.HDAccountAddress addressForPath(AbstractHD.PathType type, int index) { - return null; - } - - @Override - public List getPubs(AbstractHD.PathType pathType) { - return new ArrayList(); - } - - @Override - public List belongAccount(List addresses) { - return new ArrayList(); - } - - @Override - public void updateSyncdComplete(HDAccount.HDAccountAddress address) { - - } - - @Override - public void setSyncdNotComplete() { - - } - - @Override - public int unSyncedAddressCount() { - return 0; - } - - @Override - public void updateSyncdForIndex(AbstractHD.PathType pathType, int index) { - - } - - @Override - public List getSigningAddressesForInputs(List inList) { - return new ArrayList(); - } - - @Override - public int hdAccountTxCount() { - return 0; - } - - @Override - public long getHDAccountConfirmedBanlance(int hdAccountId) { - return 0; - } - - @Override - public List getHDAccountUnconfirmedTx() { - return new ArrayList(); - } - - @Override - public long sentFromAccount(int hdAccountId, byte[] txHash) { - return 0; - } - - @Override - public List getTxAndDetailByHDAccount(int page) { - return new ArrayList(); - } - - @Override - public List getTxAndDetailByHDAccount() { - return new ArrayList(); - } - - @Override - public List getUnspendOutByHDAccount(int hdAccountId) { - return new ArrayList(); - } - - @Override - public List getRecentlyTxsByAccount(int greateThanBlockNo, int limit) { - return new ArrayList(); - } - - @Override - public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { - return 0; - } - - @Override - public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { - return new ArrayList(); - } -} diff --git a/src/main/java/net/bither/db/DesktopDbImpl.java b/src/main/java/net/bither/db/DesktopDbImpl.java index 302c33b..e632225 100644 --- a/src/main/java/net/bither/db/DesktopDbImpl.java +++ b/src/main/java/net/bither/db/DesktopDbImpl.java @@ -39,6 +39,11 @@ public IAddressProvider initAddressProvider() { return AddressProvider.getInstance(); } + @Override + public IHDAccountAddressProvider initHDAccountAddressProvider() { + return HDAccountAddressProvider.getInstance(); + } + @Override public IHDAccountProvider initHDAccountProvider() { return HDAccountProvider.getInstance(); @@ -58,14 +63,4 @@ public IDesktopAddressProvider initEnDesktopAddressProvider() { public IDesktopTxProvider initDesktopTxProvider() { return DesktopTxProvider.getInstance(); } - - @Override - public IColdHDAccountProvider initColdHDAccountProvider() { - return ColdHDAccountProvider.getInstance(); - } - - @Override - public IColdHDAccountAddressProvider initColdHDAccountAddressPrivider() { - return ColdHDAccountAddressProvider.getInstance(); - } } diff --git a/src/main/java/net/bither/db/HDAccountAddressProvider.java b/src/main/java/net/bither/db/HDAccountAddressProvider.java new file mode 100644 index 0000000..8f62a38 --- /dev/null +++ b/src/main/java/net/bither/db/HDAccountAddressProvider.java @@ -0,0 +1,943 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + +package net.bither.db; + +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.BitherjSettings; +import net.bither.bitherj.core.*; +import net.bither.bitherj.db.AbstractDb; +import net.bither.bitherj.db.IHDAccountAddressProvider; +import net.bither.bitherj.exception.AddressFormatException; +import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.Sha256Hash; +import net.bither.bitherj.utils.Utils; +import net.bither.utils.SystemUtil; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; + +public class HDAccountAddressProvider implements IHDAccountAddressProvider { + + private final static String queryTxHashOfHDAccount = " select distinct txs.tx_hash from addresses_txs txs ,hd_account_addresses hd where txs.address=hd.address"; + private final static String inQueryTxHashOfHDAccount = " (" + queryTxHashOfHDAccount + ")"; + + + private static HDAccountAddressProvider txProvider = new HDAccountAddressProvider(ApplicationInstanceManager.txDBHelper); + + public static HDAccountAddressProvider getInstance() { + return txProvider; + } + + private TxDBHelper mDb; + + public HDAccountAddressProvider(TxDBHelper db) { + this.mDb = db; + } + + @Override + public void addAddress(List hdAccountAddresses) { + try { + this.mDb.getConn().setAutoCommit(false); + Connection conn = this.mDb.getConn(); + for (HDAccount.HDAccountAddress hdAccountAddress : hdAccountAddresses) { + addAddress(conn, hdAccountAddress); + } + conn.commit(); + + } catch (SQLException e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + + } + + @Override + public int issuedIndex(int hdAccountId, AbstractHD.PathType pathType) { + int issuedIndex = -1; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(max(address_index),-1) address_index from " + + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + + " where path_type=? and is_issued=? and hd_account_id=? ", + new String[]{Integer.toString(pathType.getValue()), "1", Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS_INDEX); + if (idColumn != -1) { + issuedIndex = cursor.getInt(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return issuedIndex; + } + + @Override + public int allGeneratedAddressCount(int hdAccountId, AbstractHD.PathType pathType) { + int count = 0; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(count(address),0) count from " + + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + " where path_type=? and hd_account_id=? ", + new String[]{Integer.toString(pathType.getValue()), Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn("count"); + if (idColumn != -1) { + count = cursor.getInt(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return count; + } + + @Override + public void updateIssuedIndex(int hdAccountId, AbstractHD.PathType pathType, int index) { + String sql = "update hd_account_addresses set is_issued=? where path_type=? and address_index<=? and hd_account_id=?"; + Connection conn = this.mDb.getConn(); + try { + String[] params = new String[]{ + "1", Integer.toString(pathType.getValue()), Integer.toString(index), Integer.toString(hdAccountId) + }; + PreparedStatement stmt = conn.prepareStatement(sql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + conn.commit(); + stmt.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public String externalAddress(int hdAccountId) { + String address = null; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select address from " + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + + " where path_type=? and is_issued=? and hd_account_id=? order by address_index asc limit 1 ", + new String[]{Integer.toString(AbstractHD.PathType.EXTERNAL_ROOT_PATH.getValue()), "0", Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); + if (idColumn != -1) { + address = cursor.getString(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return address; + } + + @Override + public HashSet getBelongAccountAddresses(int hdAccountId, List addressList) { + HashSet addressSet = new HashSet(); + + List temp = new ArrayList(); + if (addressList != null) { + for (String str : addressList) { + temp.add(Utils.format("'%s'", str)); + } + } + try { + String sql = Utils.format("select address from hd_account_addresses where hd_account_id=? address in (%s) " + , Utils.joinString(temp, ",")); + PreparedStatement statement = this.mDb.getPreparedStatement(sql, + new String[] {Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); + if (idColumn != -1) { + addressSet.add(cursor.getString(idColumn)); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + SystemUtil.maxUsedSize(); + return addressSet; + } + + @Override + public HashSet getBelongAccountAddresses(List addressList) { + HashSet addressSet = new HashSet(); + + List temp = new ArrayList(); + if (addressList != null) { + for (String str : addressList) { + temp.add(Utils.format("'%s'", str)); + } + } + String sql = Utils.format("select address from hd_account_addresses where address in (%s) " + , Utils.joinString(temp, ",")); + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); + if (idColumn != -1) { + addressSet.add(cursor.getString(idColumn)); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + + return addressSet; + } + + @Override + public Tx updateOutHDAccountId(Tx tx) { + List addressList = tx.getOutAddressList(); + if (addressList != null && addressList.size() > 0) { + HashSet set = new HashSet(); + set.addAll(addressList); + StringBuilder strBuilder = new StringBuilder(); + for (String str : set) { + strBuilder.append("'").append(str).append("',"); + } + + String sql = Utils.format("select address,hd_account_id from hd_account_addresses where address in (%s) " + , strBuilder.substring(0, strBuilder.length() - 1)); + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + String address = cursor.getString(1); + int hdAccountId = cursor.getInt(2); + for (Out out: tx.getOuts()) { + if (Utils.compareString(out.getOutAddress(), address)) { + out.setHDAccountId(hdAccountId); + } + } + } + cursor.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + return tx; + } + + @Override + public int getRelatedAddressCnt(List addresses) { + int cnt = 0; + if (addresses != null && addresses.size() > 0) { + HashSet set = new HashSet(); + set.addAll(addresses); + StringBuilder strBuilder = new StringBuilder(); + for (String str : set) { + strBuilder.append("'").append(str).append("',"); + } + String sql = Utils.format("select count(0) cnt from hd_account_addresses where address in (%s) " + , strBuilder.substring(0, strBuilder.length() - 1)); + + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); + ResultSet c = statement.executeQuery(); + if (c.next()) { + cnt = c.getInt(1); + } + c.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + return cnt; + } + + @Override + public List getRelatedHDAccountIdList(List addresses) { + List hdAccountIdList = new ArrayList(); + if (addresses != null && addresses.size() > 0) { + HashSet set = new HashSet(); + set.addAll(addresses); + StringBuilder strBuilder = new StringBuilder(); + for (String str : set) { + strBuilder.append("'").append(str).append("',"); + } + + String sql = Utils.format("select distinct hd_account_id from hd_account_addresses where address in (%s) " + , strBuilder.substring(0, strBuilder.length() - 1)); + PreparedStatement statement = null; + try { + statement = this.mDb.getPreparedStatement(sql, null); + ResultSet c = statement.executeQuery(); + + while (c.next()) { + hdAccountIdList.add(c.getInt(1)); + } + c.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + return hdAccountIdList; + } + + @Override + public HDAccount.HDAccountAddress addressForPath(int hdAccountId, AbstractHD.PathType type, int index) { + HDAccount.HDAccountAddress accountAddress = null; + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select address,pub,path_type,address_index,is_issued,is_synced from " + + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + " where path_type=? and address_index=? and hd_account_id=? ", + new String[]{Integer.toString(type.getValue()), Integer.toString(index), Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + + if (cursor.next()) { + accountAddress = formatAddress(cursor); + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return accountAddress; + } + + @Override + public List getPubs(int hdAccountId, AbstractHD.PathType pathType) { + List adressPubList = new ArrayList(); + try { + PreparedStatement statement = this.mDb.getPreparedStatement("select pub from hd_account_addresses where path_type=? and hd_account_id=? ", + new String[]{Integer.toString(pathType.getValue()), Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + try { + int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.PUB); + if (idColumn != -1) { + adressPubList.add(Base58.decode(cursor.getString(idColumn))); + } + } catch (AddressFormatException e) { + e.printStackTrace(); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return adressPubList; + } + + @Override + public List belongAccount(int hdAccountId, List addresses) { + List hdAccountAddressList = new ArrayList(); + List temp = new ArrayList(); + for (String str : addresses) { + temp.add(Utils.format("'%s'", str)); + } + String sql = "select address,pub,path_type,address_index,is_issued,is_synced from " + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + + " where hd_account_id=? and address in (" + Utils.joinString(temp, ",") + ")"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[] {Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + while (cursor.next()) { + hdAccountAddressList.add(formatAddress(cursor)); + + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return hdAccountAddressList; + } + + @Override + public void updateSyncdComplete(int hdAccountId, HDAccount.HDAccountAddress address) { + String sql = "update hd_account_addresses set is_synced=? where address=? and hd_account_id=? "; + Connection conn = this.mDb.getConn(); + try { + String[] params = new String[]{ + Integer.toString(address.isSyncedComplete() ? 1 : 0), address.getAddress() + , Integer.toString(hdAccountId) + }; + PreparedStatement stmt = conn.prepareStatement(sql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + conn.commit(); + stmt.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void setSyncedNotComplete() { + this.mDb.executeUpdate("update hd_account_addresses set is_synced=?", new String[]{"0"}); + } + + @Override + public int unSyncedAddressCount(int hdAccountId) { + int cnt = 0; + try { + String sql = "select count(address) cnt from hd_account_addresses where is_synced=? and hd_account_id=? "; + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{"0", Integer.toString(hdAccountId)}); + ResultSet cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn("cnt"); + if (idColumn != -1) { + cnt = cursor.getInt(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return cnt; + } + + @Override + public void updateSyncedForIndex(int hdAccountId, AbstractHD.PathType pathType, int index) { + this.mDb.executeUpdate("update hd_account_addresses set is_synced=? where path_type=? and address_index>? and hd_account_id=? " + , new String[]{"1", Integer.toString(pathType.getValue()), Integer.toString(index), Integer.toString(hdAccountId)}); + + } + + @Override + public List getSigningAddressesForInputs(int hdAccountId, List inList) { + + List hdAccountAddressList = + new ArrayList(); + ResultSet c; + try { + for (In in : inList) { + String sql = "select a.*" + + " from hd_account_addresses a ,outs b" + + " where a.address=b.out_address" + + " and b.tx_hash=? and b.out_sn=? and a.hd_account_id=? "; + OutPoint outPoint = in.getOutpoint(); + PreparedStatement statement = this.mDb.getPreparedStatement(sql, + new String[]{Base58.encode(in.getPrevTxHash()), + Integer.toString(outPoint.getOutSn()), Integer.toString(hdAccountId)}); + c = statement.executeQuery(); + if (c.next()) { + hdAccountAddressList.add(formatAddress(c)); + } + c.close(); + statement.close(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return hdAccountAddressList; + } + + @Override + public int hdAccountTxCount(int hdAccountId) { + int result = 0; + try { + String sql = "select count( distinct a.tx_hash) cnt from addresses_txs a ,hd_account_addresses b where a.address=b.address and b.hd_account_id=? "; + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[] {Integer.toString(hdAccountId)}); + ResultSet c = statement.executeQuery(); + if (c.next()) { + int idColumn = c.findColumn("cnt"); + if (idColumn != -1) { + result = c.getInt(idColumn); + } + } + c.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return result; + } + + @Override + public long getHDAccountConfirmedBalance(int hdAccountId) { + long sum = 0; + String unspendOutSql = "select ifnull(sum(a.out_value),0) sum from outs a,txs b where a.tx_hash=b.tx_hash " + + " and a.out_status=? and a.hd_account_id=? and b.block_no is not null"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(unspendOutSql, + new String[]{Integer.toString(Out.OutStatus.unspent.getValue()), Integer.toString(hdAccountId)}); + ResultSet c = statement.executeQuery(); + if (c.next()) { + int idColumn = c.findColumn("sum"); + if (idColumn != -1) { + sum = c.getLong(idColumn); + } + } + c.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return sum; + } + + @Override + public List getHDAccountUnconfirmedTx(int hdAccountId) { + List txList = new ArrayList(); + + HashMap txDict = new HashMap(); + + try { + String sql = "select distinct a.* " + + " from txs a,addresses_txs b,hd_account_addresses c" + + " where a.tx_hash=b.tx_hash and b.address=c.address and c.hd_account_id=? and a.block_no is null" + + " order by a.tx_hash"; +// String sql = "select * from txs where tx_hash in" + +// inQueryTxHashOfHDAccount + +// " and block_no is null " + +// " order by block_no desc"; + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[] {Integer.toString(hdAccountId)}); + ResultSet c = statement.executeQuery(); + while (c.next()) { + Tx txItem = TxHelper.applyCursor(c); + txItem.setIns(new ArrayList()); + txItem.setOuts(new ArrayList()); + txList.add(txItem); + txDict.put(new Sha256Hash(txItem.getTxHash()), txItem); + } + c.close(); + statement.close(); + sql = "select distinct a.* " + + " from ins a, txs b,addresses_txs c,hd_account_addresses d" + + " where a.tx_hash=b.tx_hash and b.tx_hash=c.tx_hash and c.address=d.address" + + " and b.block_no is null and d.hd_account_id=?" + + " order by a.tx_hash,a.in_sn"; +// sql = "select b.* " + +// " from ins b, txs c " + +// " where c.tx_hash in " + +// inQueryTxHashOfHDAccount + +// " and b.tx_hash=c.tx_hash and c.block_no is null " + +// " order by b.tx_hash ,b.in_sn"; + statement = this.mDb.getPreparedStatement(sql, new String[] {Integer.toString(hdAccountId)}); + c = statement.executeQuery(); + while (c.next()) { + In inItem = TxHelper.applyCursorIn(c); + Tx tx = txDict.get(new Sha256Hash(inItem.getTxHash())); + if (tx != null) { + tx.getIns().add(inItem); + } + } + c.close(); + statement.close(); + + sql = "select distinct a.* " + + " from outs a, txs b,addresses_txs c,hd_account_addresses d" + + " where a.tx_hash=b.tx_hash and b.tx_hash=c.tx_hash and c.address=d.address" + + " and b.block_no is null and d.hd_account_id=?" + + " order by a.tx_hash,a.out_sn"; +// sql = "select b.* " + +// " from outs b, txs c " + +// " where c.tx_hash in" + +// inQueryTxHashOfHDAccount + +// " and b.tx_hash=c.tx_hash and c.block_no is null " + +// " order by b.tx_hash,b.out_sn"; + statement = this.mDb.getPreparedStatement(sql, new String[] {Integer.toString(hdAccountId)}); + c = statement.executeQuery(); + while (c.next()) { + Out out = TxHelper.applyCursorOut(c); + Tx tx = txDict.get(new Sha256Hash(out.getTxHash())); + if (tx != null) { + tx.getOuts().add(out); + } + } + c.close(); + statement.close(); + + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return txList; + } + + @Override + public long sentFromAccount(int hdAccountId, byte[] txHash) { + String sql = "select sum(o.out_value) out_value from ins i,outs o where" + + " i.tx_hash=? and o.tx_hash=i.prev_tx_hash and i.prev_out_sn=o.out_sn and o.hd_account_id=?"; + long sum = 0; + + ResultSet cursor; + + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Base58.encode(txHash), + Integer.toString(hdAccountId)}); + cursor = statement.executeQuery(); + if (cursor.next()) { + int idColumn = cursor.findColumn(AbstractDb.OutsColumns.OUT_VALUE); + if (idColumn != -1) { + sum = cursor.getLong(idColumn); + } + } + cursor.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return sum; + } + + @Override + public List getTxAndDetailByHDAccount(int hdAccountId) { + List txItemList = new ArrayList(); + + HashMap txDict = new HashMap(); + + try { + String sql = "select distinct a.* " + + " from txs a,addresses_txs b,hd_account_addresses c" + + " where a.tx_hash=b.tx_hash and b.address=c.address and c.hd_account_id=?" + + " order by ifnull(block_no,4294967295) desc,a.tx_hash"; +// String sql = "select * from txs where tx_hash in " + +// inQueryTxHashOfHDAccount + +// " order by" + +// " ifnull(block_no,4294967295) desc "; + PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); + ResultSet c = statement.executeQuery(); + StringBuilder txsStrBuilder = new StringBuilder(); + while (c.next()) { + Tx txItem = TxHelper.applyCursor(c); + txItem.setIns(new ArrayList()); + txItem.setOuts(new ArrayList()); + txItemList.add(txItem); + txDict.put(new Sha256Hash(txItem.getTxHash()), txItem); + txsStrBuilder.append("'").append(Base58.encode(txItem.getTxHash())).append("'").append(","); + } + c.close(); + statement.close(); + + if (txsStrBuilder.length() > 1) { + String txs = txsStrBuilder.substring(0, txsStrBuilder.length() - 1); + sql = Utils.format("select b.* from ins b where b.tx_hash in (%s)" + + " order by b.tx_hash ,b.in_sn", txs); + statement = this.mDb.getPreparedStatement(sql, null); + c = statement.executeQuery(); + while (c.next()) { + In inItem = TxHelper.applyCursorIn(c); + Tx tx = txDict.get(new Sha256Hash(inItem.getTxHash())); + if (tx != null) { + tx.getIns().add(inItem); + } + } + c.close(); + statement.close(); + + sql = Utils.format("select b.* from outs b where b.tx_hash in (%s)" + + " order by b.tx_hash,b.out_sn", txs); + statement = this.mDb.getPreparedStatement(sql, null); + c = statement.executeQuery(); + while (c.next()) { + Out out = TxHelper.applyCursorOut(c); + Tx tx = txDict.get(new Sha256Hash(out.getTxHash())); + if (tx != null) { + tx.getOuts().add(out); + } + } + c.close(); + statement.close(); + } + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return txItemList; + } + + @Override + public List getTxAndDetailByHDAccount(int hdAccountId, int page) { + List txItemList = new ArrayList(); + + HashMap txDict = new HashMap(); + + + try { + String sql = "select distinct a.* " + + " from txs a,addresses_txs b,hd_account_addresses c" + + " where a.tx_hash=b.tx_hash and b.address=c.address and c.hd_account_id=?" + + " order by ifnull(block_no,4294967295) desc,a.tx_hash" + + " limit ?,?"; +// String sql = "select * from txs where tx_hash in " + +// inQueryTxHashOfHDAccount + +// " order by" + +// " ifnull(block_no,4294967295) desc limit ?,? "; + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(hdAccountId) + , Integer.toString((page - 1) * BitherjSettings.TX_PAGE_SIZE) + , Integer.toString(BitherjSettings.TX_PAGE_SIZE) + }); + ResultSet c = statement.executeQuery(); + StringBuilder txsStrBuilder = new StringBuilder(); + while (c.next()) { + Tx txItem = TxHelper.applyCursor(c); + txItem.setIns(new ArrayList()); + txItem.setOuts(new ArrayList()); + txItemList.add(txItem); + txDict.put(new Sha256Hash(txItem.getTxHash()), txItem); + txsStrBuilder.append("'").append(Base58.encode(txItem.getTxHash())).append("'").append(","); + } + c.close(); + statement.close(); + + if (txsStrBuilder.length() > 1) { + String txs = txsStrBuilder.substring(0, txsStrBuilder.length() - 1); + sql = Utils.format("select b.* from ins b where b.tx_hash in (%s)" + + " order by b.tx_hash ,b.in_sn", txs); + statement = this.mDb.getPreparedStatement(sql, null); + c = statement.executeQuery(); + while (c.next()) { + In inItem = TxHelper.applyCursorIn(c); + Tx tx = txDict.get(new Sha256Hash(inItem.getTxHash())); + if (tx != null) { + tx.getIns().add(inItem); + } + } + c.close(); + statement.close(); + + sql = Utils.format("select b.* from outs b where b.tx_hash in (%s)" + + " order by b.tx_hash,b.out_sn", txs); + statement = this.mDb.getPreparedStatement(sql, null); + c = statement.executeQuery(); + while (c.next()) { + Out out = TxHelper.applyCursorOut(c); + Tx tx = txDict.get(new Sha256Hash(out.getTxHash())); + if (tx != null) { + tx.getOuts().add(out); + } + } + c.close(); + statement.close(); + + } + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return txItemList; + } + + @Override + public List getUnspendOutByHDAccount(int hdAccountId) { + List outItems = new ArrayList(); + String unspendOutSql = "select a.* from outs a,txs b where a.tx_hash=b.tx_hash " + + " and a.out_status=? and a.hd_account_id=?"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(unspendOutSql, + new String[]{Integer.toString(Out.OutStatus.unspent.getValue()), Integer.toString(hdAccountId)}); + ResultSet c = statement.executeQuery(); + while (c.next()) { + outItems.add(TxHelper.applyCursorOut(c)); + } + + c.close(); + statement.close(); + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return outItems; + } + + @Override + public List getRecentlyTxsByAccount(int hdAccountId, int greateThanBlockNo, int limit) { + List txItemList = new ArrayList(); + String sql = "select distinct a.* " + + " from txs a, addresses_txs b, hd_account_addresses c" + + " where a.tx_hash=b.tx_hash and b.address=c.address " + + " and ((a.block_no is null) or (a.block_no is not null and a.block_no>?)) " + + " and c.hd_account_id=?" + + " order by ifnull(a.block_no,4294967295) desc, a.tx_time desc" + + " limit ?"; +// String sql = "select * from txs where tx_hash in " + +// inQueryTxHashOfHDAccount + +// " and ((block_no is null) or (block_no is not null and block_no>?)) " + +// " order by ifnull(block_no,4294967295) desc, tx_time desc " + +// " limit ? "; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, + new String[]{Integer.toString(greateThanBlockNo) + , Integer.toString(hdAccountId), Integer.toString(limit)}); + ResultSet c = statement.executeQuery(); + while (c.next()) { + Tx txItem = TxHelper.applyCursor(c); + txItemList.add(txItem); + } + + for (Tx item : txItemList) { + TxHelper.addInsAndOuts(mDb, item); + } + c.close(); + statement.close(); + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return txItemList; + } + + + @Override + public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { + int result = 0; + String sql = "select count(tx_hash) cnt from outs where out_address in " + + "(select address from hd_account_addresses where path_type =? and out_status=?) " + + "and hd_account_id=?"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) + , Integer.toString(Out.OutStatus.unspent.getValue()) + , Integer.toString(hdAccountId) + }); + ResultSet c = statement.executeQuery(); + if (c.next()) { + int idColumn = c.findColumn("cnt"); + if (idColumn != -1) { + result = c.getInt(idColumn); + } + } + c.close(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return result; + } + + @Override + public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { + List outList = new ArrayList(); + + String sql = "select * from outs where out_address in " + + "(select address from hd_account_addresses where path_type =? and out_status=?) " + + "and hd_account_id=?"; + try { + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) + , Integer.toString(Out.OutStatus.unspent.getValue()) + , Integer.toString(hdAccountId) + }); + ResultSet c = statement.executeQuery(); + while (c.next()) { + outList.add(TxHelper.applyCursorOut(c)); + } + c.close(); + statement.close(); + } catch (AddressFormatException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return outList; + } + + private HDAccount.HDAccountAddress formatAddress(ResultSet c) throws SQLException { + String address = null; + byte[] pubs = null; + AbstractHD.PathType ternalRootType = AbstractHD.PathType.EXTERNAL_ROOT_PATH; + int index = 0; + boolean isIssued = false; + boolean isSynced = true; + HDAccount.HDAccountAddress hdAccountAddress = null; + try { + int idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); + if (idColumn != -1) { + address = c.getString(idColumn); + } + idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.PUB); + if (idColumn != -1) { + pubs = Base58.decode(c.getString(idColumn)); + } + idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.PATH_TYPE); + if (idColumn != -1) { + ternalRootType = AbstractHD.getTernalRootType(c.getInt(idColumn)); + + } + idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS_INDEX); + if (idColumn != -1) { + index = c.getInt(idColumn); + } + idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.IS_ISSUED); + if (idColumn != -1) { + isIssued = c.getInt(idColumn) == 1; + } + idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.IS_SYNCED); + if (idColumn != -1) { + isSynced = c.getInt(idColumn) == 1; + } + hdAccountAddress = new HDAccount.HDAccountAddress(address, pubs, + ternalRootType, index, isIssued, isSynced, 0); + } catch (AddressFormatException e) { + e.printStackTrace(); + } + return hdAccountAddress; + } + + private void addAddress(Connection conn, HDAccount.HDAccountAddress accountAddress) throws SQLException { + String sql = "insert into hd_account_addresses(path_type,address_index" + + ",is_issued,address,pub,is_synced) " + + " values(?,?,?,?,?,?)"; + + String[] params = new String[]{Integer.toString(accountAddress.getPathType().getValue()) + , Integer.toString(accountAddress.getIndex()) + , Integer.toString(accountAddress.isIssued() ? 1 : 0) + , accountAddress.getAddress() + , Base58.encode(accountAddress.getPub()) + , Integer.toString(accountAddress.isSyncedComplete() ? 1 : 0) + }; + PreparedStatement stmt = conn.prepareStatement(sql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + stmt.close(); + } + + +} diff --git a/src/main/java/net/bither/db/HDAccountProvider.java b/src/main/java/net/bither/db/HDAccountProvider.java index 2c5c7fb..767a969 100644 --- a/src/main/java/net/bither/db/HDAccountProvider.java +++ b/src/main/java/net/bither/db/HDAccountProvider.java @@ -1,154 +1,43 @@ -/* - * - * Copyright 2014 http://Bither.net - * - * 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. - * / - */ - package net.bither.db; import net.bither.ApplicationInstanceManager; -import net.bither.bitherj.BitherjSettings; -import net.bither.bitherj.core.*; +import net.bither.bitherj.core.In; +import net.bither.bitherj.crypto.PasswordSeed; import net.bither.bitherj.db.AbstractDb; import net.bither.bitherj.db.IHDAccountProvider; import net.bither.bitherj.exception.AddressFormatException; import net.bither.bitherj.utils.Base58; -import net.bither.bitherj.utils.Sha256Hash; import net.bither.bitherj.utils.Utils; -import net.bither.utils.StringUtil; -import net.bither.utils.SystemUtil; -import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; public class HDAccountProvider implements IHDAccountProvider { - private final static String queryTxHashOfHDAccount = " select distinct txs.tx_hash from addresses_txs txs ,hd_account_addresses hd where txs.address=hd.address"; - private final static String inQueryTxHashOfHDAccount = " (" + queryTxHashOfHDAccount + ")"; - - - private static HDAccountProvider txProvider = new HDAccountProvider(ApplicationInstanceManager.txDBHelper); + private static HDAccountProvider addressProvider = new HDAccountProvider(ApplicationInstanceManager.addressDBHelper); public static HDAccountProvider getInstance() { - return txProvider; + return addressProvider; } - private TxDBHelper mDb; + private AddressDBHelper mDb; - public HDAccountProvider(TxDBHelper db) { + public HDAccountProvider(AddressDBHelper db) { this.mDb = db; } @Override - public void addAddress(List hdAccountAddresses) { - try { - this.mDb.getConn().setAutoCommit(false); - Connection conn = this.mDb.getConn(); - for (HDAccount.HDAccountAddress hdAccountAddress : hdAccountAddresses) { - addAddress(conn, hdAccountAddress); - } - conn.commit(); - - } catch (SQLException e) { - e.printStackTrace(); - throw new RuntimeException(e); - } - - } - - @Override - public int issuedIndex(AbstractHD.PathType pathType) { - int issuedIndex = -1; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(max(address_index),-1) address_index from " + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + " where path_type=? and is_issued=? ", - new String[]{Integer.toString(pathType.getValue()), "1"}); - ResultSet cursor = statement.executeQuery(); - if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS_INDEX); - if (idColumn != -1) { - issuedIndex = cursor.getInt(idColumn); - } - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return issuedIndex; - } - - @Override - public int allGeneratedAddressCount(AbstractHD.PathType pathType) { - int count = 0; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select ifnull(count(address),0) count from " - + AbstractDb.Tables.HD_ACCOUNT_ADDRESS + " where path_type=? ", - new String[]{Integer.toString(pathType.getValue())}); - ResultSet cursor = statement.executeQuery(); - if (cursor.next()) { - int idColumn = cursor.findColumn("count"); - if (idColumn != -1) { - count = cursor.getInt(idColumn); - } - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return count; - } - - @Override - public void updateIssuedIndex(AbstractHD.PathType pathType, int index) { - String sql = "update hd_account_addresses set is_issued=? where path_type=? and address_index<=? "; - Connection conn = this.mDb.getConn(); - try { - String[] params = new String[]{ - "1", Integer.toString(pathType.getValue()), Integer.toString(index) - }; - PreparedStatement stmt = conn.prepareStatement(sql); - if (params != null) { - for (int i = 0; i < params.length; i++) { - stmt.setString(i + 1, params[i]); - } - } - stmt.executeUpdate(); - conn.commit(); - stmt.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - - @Override - public String externalAddress() { + public String getHDFirstAddress(int hdSeedId) { String address = null; try { - PreparedStatement statement = this.mDb.getPreparedStatement("select address from " + AbstractDb.Tables.HD_ACCOUNT_ADDRESS - + " where path_type=? and is_issued=? order by address_index asc limit 1 ", - new String[]{Integer.toString(AbstractHD.PathType.EXTERNAL_ROOT_PATH.getValue()), "0"}); + PreparedStatement statement = this.mDb.getPreparedStatement("select hd_address from hd_account where hd_account_id=?", new String[]{Integer.toString(hdSeedId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); + int idColumn = cursor.findColumn(AbstractDb.HDAccountColumns.HD_ADDRESS); if (idColumn != -1) { address = cursor.getString(idColumn); } @@ -162,143 +51,86 @@ public String externalAddress() { } @Override - public HashSet getBelongAccountAddresses(List addressList) { - HashSet addressSet = new HashSet(); - - List temp = new ArrayList(); - if (addressList != null) { - for (String str : addressList) { - temp.add(Utils.format("'%s'", str)); - } - } + public int addHDAccount(String encryptedMnemonicSeed, String encryptSeed, String firstAddress + , boolean isXrandom, String addressOfPS, byte[] externalPub + , byte[] internalPub) { + int hdAccountId = -1; try { - String sql = Utils.format("select address from hd_account_addresses where address in (%s) " - , Utils.joinString(temp, ",")); - PreparedStatement statement = this.mDb.getPreparedStatement(sql, - null); - ResultSet cursor = statement.executeQuery(); - while (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); - if (idColumn != -1) { - addressSet.add(cursor.getString(idColumn)); - } - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - SystemUtil.maxUsedSize(); - return addressSet; - } - - @Override - public HDAccount.HDAccountAddress addressForPath(AbstractHD.PathType type, int index) { - HDAccount.HDAccountAddress accountAddress = null; - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select address,pub,path_type,address_index,is_issued,is_synced from " + - AbstractDb.Tables.HD_ACCOUNT_ADDRESS + " where path_type=? and address_index=? ", - new String[]{Integer.toString(type.getValue()), Integer.toString(index)}); - ResultSet cursor = statement.executeQuery(); - - if (cursor.next()) { - accountAddress = formatAddress(cursor); - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return accountAddress; - } - - @Override - public List getPubs(AbstractHD.PathType pathType) { - List adressPubList = new ArrayList(); - try { - PreparedStatement statement = this.mDb.getPreparedStatement("select pub from hd_account_addresses where path_type=? ", - new String[]{Integer.toString(pathType.getValue())}); - ResultSet cursor = statement.executeQuery(); - while (cursor.next()) { - try { - int idColumn = cursor.findColumn(AbstractDb.HDAccountAddressesColumns.PUB); - if (idColumn != -1) { - adressPubList.add(Base58.decode(cursor.getString(idColumn))); - } - } catch (AddressFormatException e) { - e.printStackTrace(); - } - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - return adressPubList; - } - - @Override - public List belongAccount(List addresses) { - List hdAccountAddressList = new ArrayList(); - List temp = new ArrayList(); - for (String str : addresses) { - temp.add(Utils.format("'%s'", str)); - } - String sql = "select address,pub,path_type,address_index,is_issued,is_synced from " + AbstractDb.Tables.HD_ACCOUNT_ADDRESS - + " where address in (" + Utils.joinString(temp, ",") + ")"; - try { - PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); - ResultSet cursor = statement.executeQuery(); - while (cursor.next()) { - hdAccountAddressList.add(formatAddress(cursor)); - + this.mDb.getConn().setAutoCommit(false); + String sql = "insert into hd_account(encrypt_seed,encrypt_mnemonic_seed,is_xrandom,hd_address,external_pub,internal_pub) values(?,?,?,?,?,?);"; + PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); + stmt.setString(1, encryptSeed); + stmt.setString(2, encryptedMnemonicSeed); + stmt.setInt(3, isXrandom ? 1 : 0); + stmt.setString(4, firstAddress); + stmt.setString(5, Base58.encode(externalPub)); + stmt.setString(6, Base58.encode(internalPub)); + stmt.executeUpdate(); + if (!AddressProvider.hasPasswordSeed(this.mDb.getConn()) && !Utils.isEmpty(addressOfPS)) { + AddressProvider.addPasswordSeed(this.mDb.getConn(), new PasswordSeed(addressOfPS, encryptedMnemonicSeed)); } - cursor.close(); - statement.close(); + ResultSet tableKeys = stmt.getGeneratedKeys(); + tableKeys.next(); + hdAccountId = tableKeys.getInt(1); + this.mDb.getConn().commit(); + stmt.close(); } catch (SQLException e) { e.printStackTrace(); } - return hdAccountAddressList; + return hdAccountId; } @Override - public void updateSyncdComplete(HDAccount.HDAccountAddress address) { - String sql = "update hd_account_addresses set is_synced=? where address=? "; - Connection conn = this.mDb.getConn(); + public int addMonitoredHDAccount(String firstAddress, boolean isXrandom, byte[] externalPub, byte[] internalPub) { + int hdAccountId = -1; try { - String[] params = new String[]{ - Integer.toString(address.isSyncedComplete() ? 1 : 0), address.getAddress() - }; - PreparedStatement stmt = conn.prepareStatement(sql); - if (params != null) { - for (int i = 0; i < params.length; i++) { - stmt.setString(i + 1, params[i]); - } - } + this.mDb.getConn().setAutoCommit(false); + String sql = "insert into hd_account(is_xrandom,hd_address,external_pub,internal_pub) values(?,?,?,?);"; + PreparedStatement stmt = this.mDb.getConn().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); + stmt.setInt(1, isXrandom ? 1 : 0); + stmt.setString(2, firstAddress); + stmt.setString(3, Base58.encode(externalPub)); + stmt.setString(4, Base58.encode(internalPub)); stmt.executeUpdate(); - conn.commit(); + ResultSet tableKeys = stmt.getGeneratedKeys(); + tableKeys.next(); + hdAccountId = tableKeys.getInt(1); + this.mDb.getConn().commit(); stmt.close(); } catch (SQLException e) { e.printStackTrace(); } + return hdAccountId; } - @Override - public void setSyncdNotComplete() { - this.mDb.executeUpdate("update hd_account_addresses set is_synced=?", new String[]{"0"}); - } +// @Override +// public boolean hasHDAccountCold() { +// boolean result = false; +// SQLiteDatabase db = this.mDb.getReadableDatabase(); +// String sql = "select count(hd_address) cnt from hd_account where encrypt_seed is not " + +// "null and encrypt_mnemonic_seed is not null"; +// Cursor cursor = db.rawQuery(sql, null); +// if (cursor.moveToNext()) { +// int idColumn = cursor.getColumnIndex("cnt"); +// if (idColumn != -1) { +// result = cursor.getInt(idColumn) > 0; +// } +// } +// cursor.close(); +// return result; +// } @Override - public int unSyncedAddressCount() { - int cnt = 0; + public boolean hasMnemonicSeed(int hdAccountId) { + boolean result = false; + String sql = "select count(0) cnt from hd_account where encrypt_mnemonic_seed is not null and hd_account_id=?"; try { - String sql = "select count(address) cnt from hd_account_addresses where is_synced=? "; - PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{"0"}); + PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(hdAccountId)}); ResultSet cursor = statement.executeQuery(); if (cursor.next()) { int idColumn = cursor.findColumn("cnt"); if (idColumn != -1) { - cnt = cursor.getInt(idColumn); + result = cursor.getInt(idColumn) > 0; } } cursor.close(); @@ -306,383 +138,114 @@ public int unSyncedAddressCount() { } catch (SQLException e) { e.printStackTrace(); } - return cnt; - } - - @Override - public void updateSyncdForIndex(AbstractHD.PathType pathType, int index) { - this.mDb.executeUpdate("update hd_account_addresses set is_synced=? where path_type=? and address_index>? " - , new String[]{"1", Integer.toString(pathType.getValue()), Integer.toString(index)}); - - } - - @Override - public List getSigningAddressesForInputs(List inList) { - - List hdAccountAddressList = - new ArrayList(); - ResultSet c; - try { - for (In in : inList) { - String sql = "select a.*" + - " from hd_account_addresses a ,outs b" + - " where a.address=b.out_address" + - " and b.tx_hash=? and b.out_sn=? "; - OutPoint outPoint = in.getOutpoint(); - PreparedStatement statement = this.mDb.getPreparedStatement(sql, - new String[]{Base58.encode(in.getPrevTxHash()), - Integer.toString(outPoint.getOutSn())}); - c = statement.executeQuery(); - if (c.next()) { - hdAccountAddressList.add(formatAddress(c)); - } - c.close(); - statement.close(); - } - } catch (SQLException e) { - e.printStackTrace(); - } - return hdAccountAddressList; + return result; } @Override - public int hdAccountTxCount() { - int result = 0; + public byte[] getExternalPub(int hdSeedId) { + byte[] pub = null; try { - String sql = "select count( distinct a.tx_hash) cnt from addresses_txs a ,hd_account_addresses b where a.address=b.address "; - PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); + PreparedStatement statement = this.mDb.getPreparedStatement("select external_pub from hd_account where hd_account_id=? ", new String[]{Integer.toString(hdSeedId)}); ResultSet c = statement.executeQuery(); if (c.next()) { - int idColumn = c.findColumn("cnt"); + int idColumn = c.findColumn(AbstractDb.HDAccountColumns.EXTERNAL_PUB); if (idColumn != -1) { - result = c.getInt(idColumn); + String pubStr = c.getString(idColumn); + pub = Base58.decode(pubStr); } } c.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); + } catch (AddressFormatException e) { + e.printStackTrace(); } - return result; + + return pub; } @Override - public long getHDAccountConfirmedBanlance(int hdAccountId) { - long sum = 0; - String unspendOutSql = "select ifnull(sum(a.out_value),0) sum from outs a,txs b where a.tx_hash=b.tx_hash " + - " and a.out_status=? and a.hd_account_id=? and b.block_no is not null"; + public byte[] getInternalPub(int hdSeedId) { + byte[] pub = null; try { - PreparedStatement statement = this.mDb.getPreparedStatement(unspendOutSql, - new String[]{Integer.toString(Out.OutStatus.unspent.getValue()), Integer.toString(hdAccountId)}); + PreparedStatement statement = this.mDb.getPreparedStatement("select internal_pub from hd_account where hd_account_id=? ", new String[]{Integer.toString(hdSeedId)}); ResultSet c = statement.executeQuery(); if (c.next()) { - int idColumn = c.findColumn("sum"); + int idColumn = c.findColumn(AbstractDb.HDAccountColumns.INTERNAL_PUB); if (idColumn != -1) { - sum = c.getLong(idColumn); + String pubStr = c.getString(idColumn); + pub = Base58.decode(pubStr); } } c.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); - } - return sum; - } - - @Override - public List getHDAccountUnconfirmedTx() { - List txList = new ArrayList(); - - HashMap txDict = new HashMap(); - - try { - String sql = "select * from txs where tx_hash in" + - inQueryTxHashOfHDAccount + - " and block_no is null " + - " order by block_no desc"; - PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); - ResultSet c = statement.executeQuery(); - while (c.next()) { - Tx txItem = TxHelper.applyCursor(c); - txItem.setIns(new ArrayList()); - txItem.setOuts(new ArrayList()); - txList.add(txItem); - txDict.put(new Sha256Hash(txItem.getTxHash()), txItem); - } - c.close(); - statement.close(); - sql = "select b.* " + - " from ins b, txs c " + - " where c.tx_hash in " + - inQueryTxHashOfHDAccount + - " and b.tx_hash=c.tx_hash and c.block_no is null " + - " order by b.tx_hash ,b.in_sn"; - statement = this.mDb.getPreparedStatement(sql, null); - c = statement.executeQuery(); - while (c.next()) { - In inItem = TxHelper.applyCursorIn(c); - Tx tx = txDict.get(new Sha256Hash(inItem.getTxHash())); - if (tx != null) { - tx.getIns().add(inItem); - } - } - c.close(); - statement.close(); - - sql = "select b.* " + - " from outs b, txs c " + - " where c.tx_hash in" + - inQueryTxHashOfHDAccount + - " and b.tx_hash=c.tx_hash and c.block_no is null " + - " order by b.tx_hash,b.out_sn"; - statement = this.mDb.getPreparedStatement(sql, null); - c = statement.executeQuery(); - while (c.next()) { - Out out = TxHelper.applyCursorOut(c); - Tx tx = txDict.get(new Sha256Hash(out.getTxHash())); - if (tx != null) { - tx.getOuts().add(out); - } - } - c.close(); - statement.close(); - } catch (AddressFormatException e) { e.printStackTrace(); - } catch (SQLException e) { - e.printStackTrace(); } - return txList; - } - @Override - public long sentFromAccount(int hdAccountId, byte[] txHash) { - String sql = "select sum(o.out_value) out_value from ins i,outs o where" + - " i.tx_hash=? and o.tx_hash=i.prev_tx_hash and i.prev_out_sn=o.out_sn and o.hd_account_id=?"; - long sum = 0; - - ResultSet cursor; - try { - PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Base58.encode(txHash), - Integer.toString(hdAccountId)}); - cursor = statement.executeQuery(); - if (cursor.next()) { - int idColumn = cursor.findColumn(AbstractDb.OutsColumns.OUT_VALUE); - if (idColumn != -1) { - sum = cursor.getLong(idColumn); - } - } - cursor.close(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - - return sum; + return pub; } - @Override - public List getTxAndDetailByHDAccount() { - List txItemList = new ArrayList(); - - HashMap txDict = new HashMap(); - - try { - String sql = "select * from txs where tx_hash in " + - inQueryTxHashOfHDAccount + - " order by" + - " ifnull(block_no,4294967295) desc "; - PreparedStatement statement = this.mDb.getPreparedStatement(sql, null); - ResultSet c = statement.executeQuery(); - StringBuilder txsStrBuilder = new StringBuilder(); - while (c.next()) { - Tx txItem = TxHelper.applyCursor(c); - txItem.setIns(new ArrayList()); - txItem.setOuts(new ArrayList()); - txItemList.add(txItem); - txDict.put(new Sha256Hash(txItem.getTxHash()), txItem); - txsStrBuilder.append("'").append(Base58.encode(txItem.getTxHash())).append("'").append(","); - } - c.close(); - statement.close(); - - if (txsStrBuilder.length() > 1) { - String txs = txsStrBuilder.substring(0, txsStrBuilder.length() - 1); - sql = Utils.format("select b.* from ins b where b.tx_hash in (%s)" + - " order by b.tx_hash ,b.in_sn", txs); - statement = this.mDb.getPreparedStatement(sql, null); - c = statement.executeQuery(); - while (c.next()) { - In inItem = TxHelper.applyCursorIn(c); - Tx tx = txDict.get(new Sha256Hash(inItem.getTxHash())); - if (tx != null) { - tx.getIns().add(inItem); - } - } - c.close(); - statement.close(); - - sql = Utils.format("select b.* from outs b where b.tx_hash in (%s)" + - " order by b.tx_hash,b.out_sn", txs); - statement = this.mDb.getPreparedStatement(sql, null); - c = statement.executeQuery(); - while (c.next()) { - Out out = TxHelper.applyCursorOut(c); - Tx tx = txDict.get(new Sha256Hash(out.getTxHash())); - if (tx != null) { - tx.getOuts().add(out); - } - } - c.close(); - statement.close(); - } - } catch (AddressFormatException e) { - e.printStackTrace(); - } catch (SQLException e) { - e.printStackTrace(); - } - return txItemList; - } @Override - public List getTxAndDetailByHDAccount(int page) { - List txItemList = new ArrayList(); - - HashMap txDict = new HashMap(); - + public String getHDAccountEncryptSeed(int hdSeedId) { + String hdAccountEncryptSeed = null; try { - String sql = "select * from txs where tx_hash in " + - inQueryTxHashOfHDAccount + - " order by" + - " ifnull(block_no,4294967295) desc limit ?,? "; - PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{ - Integer.toString((page - 1) * BitherjSettings.TX_PAGE_SIZE), Integer.toString(BitherjSettings.TX_PAGE_SIZE) - }); + PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.ENCRYPT_SEED + " from hd_account where hd_account_id=? ", new String[]{Integer.toString(hdSeedId)}); ResultSet c = statement.executeQuery(); - StringBuilder txsStrBuilder = new StringBuilder(); - while (c.next()) { - Tx txItem = TxHelper.applyCursor(c); - txItem.setIns(new ArrayList()); - txItem.setOuts(new ArrayList()); - txItemList.add(txItem); - txDict.put(new Sha256Hash(txItem.getTxHash()), txItem); - txsStrBuilder.append("'").append(Base58.encode(txItem.getTxHash())).append("'").append(","); - } - c.close(); - statement.close(); - - if (txsStrBuilder.length() > 1) { - String txs = txsStrBuilder.substring(0, txsStrBuilder.length() - 1); - sql = Utils.format("select b.* from ins b where b.tx_hash in (%s)" + - " order by b.tx_hash ,b.in_sn", txs); - statement = this.mDb.getPreparedStatement(sql, null); - c = statement.executeQuery(); - while (c.next()) { - In inItem = TxHelper.applyCursorIn(c); - Tx tx = txDict.get(new Sha256Hash(inItem.getTxHash())); - if (tx != null) { - tx.getIns().add(inItem); - } - } - c.close(); - statement.close(); - - sql = Utils.format("select b.* from outs b where b.tx_hash in (%s)" + - " order by b.tx_hash,b.out_sn", txs); - statement = this.mDb.getPreparedStatement(sql, null); - c = statement.executeQuery(); - while (c.next()) { - Out out = TxHelper.applyCursorOut(c); - Tx tx = txDict.get(new Sha256Hash(out.getTxHash())); - if (tx != null) { - tx.getOuts().add(out); - } + if (c.next()) { + int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_SEED); + if (idColumn != -1) { + hdAccountEncryptSeed = c.getString(idColumn); } - c.close(); - statement.close(); - } - } catch (AddressFormatException e) { - e.printStackTrace(); - } catch (SQLException e) { - e.printStackTrace(); - } - return txItemList; - } - - @Override - public List getUnspendOutByHDAccount(int hdAccountId) { - List outItems = new ArrayList(); - String unspendOutSql = "select a.* from outs a,txs b where a.tx_hash=b.tx_hash " + - " and a.out_status=? and a.hd_account_id=?"; - try { - PreparedStatement statement = this.mDb.getPreparedStatement(unspendOutSql, - new String[]{Integer.toString(Out.OutStatus.unspent.getValue()), Integer.toString(hdAccountId)}); - ResultSet c = statement.executeQuery(); - while (c.next()) { - outItems.add(TxHelper.applyCursorOut(c)); - } - c.close(); statement.close(); - } catch (AddressFormatException e) { - e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } - return outItems; + + return hdAccountEncryptSeed; } @Override - public List getRecentlyTxsByAccount(int greateThanBlockNo, int limit) { - List txItemList = new ArrayList(); + public String getHDAccountEncryptMnemonicSeed(int hdSeedId) { + String hdAccountMnmonicEncryptSeed = null; - String sql = "select * from txs where tx_hash in " + - inQueryTxHashOfHDAccount + - " and ((block_no is null) or (block_no is not null and block_no>?)) " + - " order by ifnull(block_no,4294967295) desc, tx_time desc " + - " limit ? "; try { - PreparedStatement statement = this.mDb.getPreparedStatement(sql, - new String[]{Integer.toString(greateThanBlockNo), Integer.toString(limit)}); + PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.ENCRYPT_MNMONIC_SEED + " from hd_account where hd_account_id=? ", new String[]{Integer.toString(hdSeedId)}); ResultSet c = statement.executeQuery(); - while (c.next()) { - Tx txItem = TxHelper.applyCursor(c); - txItemList.add(txItem); - } - - for (Tx item : txItemList) { - TxHelper.addInsAndOuts(mDb, item); + if (c.next()) { + int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_MNMONIC_SEED); + if (idColumn != -1) { + hdAccountMnmonicEncryptSeed = c.getString(idColumn); + } } c.close(); statement.close(); - } catch (AddressFormatException e) { - e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } - return txItemList; - } + return hdAccountMnmonicEncryptSeed; + } @Override - public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { - int result = 0; - String sql = "select count(tx_hash) cnt from outs where out_address in " + - "(select address from hd_account_addresses where path_type =? and out_status=?) " + - "and hd_account_id=?"; + public boolean hdAccountIsXRandom(int seedId) { + boolean result = false; + try { - PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) - , Integer.toString(Out.OutStatus.unspent.getValue()) - , Integer.toString(hdAccountId) - }); + PreparedStatement statement = this.mDb.getPreparedStatement("select is_xrandom from hd_account where hd_account_id=?", new String[]{Integer.toString(seedId)}); ResultSet c = statement.executeQuery(); if (c.next()) { - int idColumn = c.findColumn("cnt"); + int idColumn = c.findColumn(AbstractDb.HDAccountColumns.ENCRYPT_MNMONIC_SEED); if (idColumn != -1) { - result = c.getInt(idColumn); + result = c.getInt(idColumn) == 1; } } c.close(); @@ -694,95 +257,19 @@ public int getUnspendOutCountByHDAccountWithPath(int hdAccountId, AbstractHD.Pat } @Override - public List getUnspendOutByHDAccountWithPath(int hdAccountId, AbstractHD.PathType pathType) { - List outList = new ArrayList(); - - String sql = "select * from outs where out_address in " + - "(select address from hd_account_addresses where path_type =? and out_status=?) " + - "and hd_account_id=?"; + public List getHDAccountSeeds() { + List hdSeedIds = new ArrayList(); try { - PreparedStatement statement = this.mDb.getPreparedStatement(sql, new String[]{Integer.toString(pathType.getValue()) - , Integer.toString(Out.OutStatus.unspent.getValue()) - , Integer.toString(hdAccountId) - }); + PreparedStatement statement = this.mDb.getPreparedStatement("select " + AbstractDb.HDAccountColumns.HD_ACCOUNT_ID + " from " + AbstractDb.Tables.HD_ACCOUNT, null); ResultSet c = statement.executeQuery(); while (c.next()) { - outList.add(TxHelper.applyCursorOut(c)); + hdSeedIds.add(c.getInt(1)); } c.close(); statement.close(); - } catch (AddressFormatException e) { - e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } - - return outList; + return hdSeedIds; } - - private HDAccount.HDAccountAddress formatAddress(ResultSet c) throws SQLException { - String address = null; - byte[] pubs = null; - AbstractHD.PathType ternalRootType = AbstractHD.PathType.EXTERNAL_ROOT_PATH; - int index = 0; - boolean isIssued = false; - boolean isSynced = true; - HDAccount.HDAccountAddress hdAccountAddress = null; - try { - int idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS); - if (idColumn != -1) { - address = c.getString(idColumn); - } - idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.PUB); - if (idColumn != -1) { - pubs = Base58.decode(c.getString(idColumn)); - } - idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.PATH_TYPE); - if (idColumn != -1) { - ternalRootType = AbstractHD.getTernalRootType(c.getInt(idColumn)); - - } - idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.ADDRESS_INDEX); - if (idColumn != -1) { - index = c.getInt(idColumn); - } - idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.IS_ISSUED); - if (idColumn != -1) { - isIssued = c.getInt(idColumn) == 1; - } - idColumn = c.findColumn(AbstractDb.HDAccountAddressesColumns.IS_SYNCED); - if (idColumn != -1) { - isSynced = c.getInt(idColumn) == 1; - } - hdAccountAddress = new HDAccount.HDAccountAddress(address, pubs, - ternalRootType, index, isIssued, isSynced, 0); - } catch (AddressFormatException e) { - e.printStackTrace(); - } - return hdAccountAddress; - } - - private void addAddress(Connection conn, HDAccount.HDAccountAddress accountAddress) throws SQLException { - String sql = "insert into hd_account_addresses(path_type,address_index" + - ",is_issued,address,pub,is_synced) " + - " values(?,?,?,?,?,?)"; - - String[] params = new String[]{Integer.toString(accountAddress.getPathType().getValue()) - , Integer.toString(accountAddress.getIndex()) - , Integer.toString(accountAddress.isIssued() ? 1 : 0) - , accountAddress.getAddress() - , Base58.encode(accountAddress.getPub()) - , Integer.toString(accountAddress.isSyncedComplete() ? 1 : 0) - }; - PreparedStatement stmt = conn.prepareStatement(sql); - if (params != null) { - for (int i = 0; i < params.length; i++) { - stmt.setString(i + 1, params[i]); - } - } - stmt.executeUpdate(); - stmt.close(); - } - - } diff --git a/src/main/java/net/bither/db/TxProvider.java b/src/main/java/net/bither/db/TxProvider.java index 32047bd..8104f44 100644 --- a/src/main/java/net/bither/db/TxProvider.java +++ b/src/main/java/net/bither/db/TxProvider.java @@ -337,25 +337,25 @@ public void addTxs(List txItems) { } private void addTxToDb(Connection conn, Tx txItem) throws SQLException { - HashSet addressSet = AbstractDb.hdAccountProvider. - getBelongAccountAddresses(txItem.getOutAddressList()); - for (Out out : txItem.getOuts()) { - if (addressSet.contains(out.getOutAddress())) { - out.setHDAccountId(AddressManager.getInstance().getHdAccount().getHdSeedId()); - } - } - - - if (AddressManager.getInstance().hasDesktopHDMKeychain()) { - DesktopHDMKeychain desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); - HashSet desktophdmAddressSet = AbstractDb.desktopTxProvider. - getBelongAccountAddresses(txItem.getOutAddressList()); - for (Out out : txItem.getOuts()) { - if (desktophdmAddressSet.contains(out.getOutAddress())) { - out.setDesktopHDMAccountId(desktopHDMKeychain.getHdSeedId()); - } - } - } +// HashSet addressSet = AbstractDb.hdAccountProvider. +// getBelongAccountAddresses(txItem.getOutAddressList()); +// for (Out out : txItem.getOuts()) { +// if (addressSet.contains(out.getOutAddress())) { +// out.setHDAccountId(AddressManager.getInstance().getHdAccount().getHdSeedId()); +// } +// } +// +// +// if (AddressManager.getInstance().hasDesktopHDMKeychain()) { +// DesktopHDMKeychain desktopHDMKeychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); +// HashSet desktophdmAddressSet = AbstractDb.desktopTxProvider. +// getBelongAccountAddresses(txItem.getOutAddressList()); +// for (Out out : txItem.getOuts()) { +// if (desktophdmAddressSet.contains(out.getOutAddress())) { +// out.setDesktopHDMAccountId(desktopHDMKeychain.getHdSeedId()); +// } +// } +// } insertTx(conn, txItem); List addressesTxsRels = new ArrayList(); List temp = insertIn(conn, txItem); @@ -379,7 +379,7 @@ private void addTxToDb(Connection conn, Tx txItem) throws SQLException { } - private void insertTx(Connection conn, Tx txItem) throws SQLException { + private void insertTx(Connection conn, Tx txItem) throws SQLException { String existSql = "select count(0) cnt from txs where tx_hash=?"; PreparedStatement preparedStatement = conn.prepareStatement(existSql); preparedStatement.setString(1, Base58.encode(txItem.getTxHash())); diff --git a/src/main/java/net/bither/utils/KeyUtil.java b/src/main/java/net/bither/utils/KeyUtil.java index 6ce304f..8429f24 100644 --- a/src/main/java/net/bither/utils/KeyUtil.java +++ b/src/main/java/net/bither/utils/KeyUtil.java @@ -108,7 +108,7 @@ public static void setDesktopHMDKeychains(List keychains) { } public static void setHDAccount(HDAccount hdAccount) { - AddressManager.getInstance().setHdAccount(hdAccount); + AddressManager.getInstance().setHdAccountHot(hdAccount); if (UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.COLD) { BackupUtil.backupColdKey(false); } else { diff --git a/src/main/java/net/bither/viewsystem/MainFrameUI.java b/src/main/java/net/bither/viewsystem/MainFrameUI.java index f63f3cb..1127cb5 100644 --- a/src/main/java/net/bither/viewsystem/MainFrameUI.java +++ b/src/main/java/net/bither/viewsystem/MainFrameUI.java @@ -342,8 +342,8 @@ public void updateHeader() { for (Address address : AddressManager.getInstance().getAllAddresses()) { finalEstimatedBalance = finalEstimatedBalance + address.getBalance(); } - if (AddressManager.getInstance().getHdAccount() != null) { - finalEstimatedBalance = finalEstimatedBalance + AddressManager.getInstance().getHdAccount().getBalance(); + if (AddressManager.getInstance().getHDAccountHot() != null) { + finalEstimatedBalance = finalEstimatedBalance + AddressManager.getInstance().getHDAccountHot().getBalance(); } final long total = finalEstimatedBalance; diff --git a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java index 0f5caf3..fd0bbd5 100644 --- a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java @@ -28,7 +28,7 @@ import net.bither.bitherj.crypto.SecureCharSequence; import net.bither.bitherj.utils.TransactionsUtil; import net.bither.db.DesktopTxProvider; -import net.bither.db.HDAccountProvider; +import net.bither.db.HDAccountAddressProvider; import net.bither.db.TxProvider; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; @@ -356,7 +356,7 @@ public void run() { address.updateSyncComplete(); } - HDAccountProvider.getInstance().setSyncdNotComplete(); + HDAccountAddressProvider.getInstance().setSyncedNotComplete(); DesktopTxProvider.getInstance().setSyncdNotComplete(); TxProvider.getInstance().clearAllTx(); for (Address address : AddressManager.getInstance().getAllAddresses()) { diff --git a/src/main/java/net/bither/viewsystem/froms/CheckPrivateKeyPanel.java b/src/main/java/net/bither/viewsystem/froms/CheckPrivateKeyPanel.java index 1d10591..9903b43 100644 --- a/src/main/java/net/bither/viewsystem/froms/CheckPrivateKeyPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/CheckPrivateKeyPanel.java @@ -81,7 +81,7 @@ public void initialiseContent(JPanel panel) { )); addressCheckList = new ArrayList(); - HDAccount hdAccount = AddressManager.getInstance().getHdAccount(); + HDAccount hdAccount = AddressManager.getInstance().getHDAccountHot(); if (hdAccount != null) { addressCheckList.add(new AddressCheck(AddressCheck.CheckType.HDAccount, LocaliserUtils.getString("add_hd_account_tab_hd"), AddressCheck.CheckStatus.Prepare)); @@ -117,7 +117,7 @@ public void initialiseContent(JPanel panel) { @Override public void actionPerformed(ActionEvent e) { if (AddressManager.getInstance().getPrivKeyAddresses().size() > 0 || AddressManager.getInstance().getHdmKeychain() != null - || AddressManager.getInstance().getHdAccount() != null) { + || AddressManager.getInstance().getHDAccountHot() != null) { PasswordPanel dialogPassword = new PasswordPanel((CheckPrivateKeyPanel.this)); dialogPassword.showPanel(); @@ -177,7 +177,7 @@ public void beginCheck(SecureCharSequence password) { point = new CheckPoint(addressCheck); checkPoints.add(point); checks.add(CheckUtil.initCheckForHDAccount(AddressManager.getInstance() - .getHdAccount(), new SecureCharSequence(password)).setCheckListener(point)); + .getHDAccountHot(), new SecureCharSequence(password)).setCheckListener(point)); break; } diff --git a/src/main/java/net/bither/viewsystem/froms/ExportPrivateKeyPanel.java b/src/main/java/net/bither/viewsystem/froms/ExportPrivateKeyPanel.java index 21cae07..e173d09 100644 --- a/src/main/java/net/bither/viewsystem/froms/ExportPrivateKeyPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/ExportPrivateKeyPanel.java @@ -61,7 +61,7 @@ public class ExportPrivateKeyPanel extends WizardPanel implements IDialogPasswor public ExportPrivateKeyPanel() { super(MessageKey.EXPORT, AwesomeIcon.FA_SIGN_OUT); keychain = AddressManager.getInstance().getHdmKeychain(); - hdAccount = AddressManager.getInstance().getHdAccount(); + hdAccount = AddressManager.getInstance().getHDAccountHot(); } diff --git a/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java b/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java index 27d2b7a..055a45d 100644 --- a/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java @@ -52,7 +52,7 @@ public class HDAccountAddPanel extends WizardPanel implements IPasswordGetterDel public HDAccountAddPanel() { super(MessageKey.add_hd_account_tab_hd, AwesomeIcon.HEADER); - hdAccount = AddressManager.getInstance().getHdAccount(); + hdAccount = AddressManager.getInstance().getHDAccountHot(); passwordGetter = new PasswordPanel.PasswordGetter(HDAccountAddPanel.this); setOkAction(new AbstractAction() { diff --git a/src/main/java/net/bither/viewsystem/froms/ImportPrivateKeyPanel.java b/src/main/java/net/bither/viewsystem/froms/ImportPrivateKeyPanel.java index 29c3bfc..28822bf 100644 --- a/src/main/java/net/bither/viewsystem/froms/ImportPrivateKeyPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/ImportPrivateKeyPanel.java @@ -193,7 +193,7 @@ public void handleResult(String result, IReadQRCode readQRCode) { } } } else { - if (AddressManager.getInstance().getHdAccount() == null) { + if (AddressManager.getInstance().getHDAccountHot() == null) { panel.add(btnHDAccountSeed, "align center,cell 2 5,grow,wrap"); panel.add(btnHDAccountPhras, "align center,cell 2 6,grow,wrap"); } diff --git a/src/main/java/net/bither/viewsystem/froms/MenuBar.java b/src/main/java/net/bither/viewsystem/froms/MenuBar.java index 5879200..57abef4 100644 --- a/src/main/java/net/bither/viewsystem/froms/MenuBar.java +++ b/src/main/java/net/bither/viewsystem/froms/MenuBar.java @@ -331,8 +331,8 @@ public void run() { for (Address address : AddressManager.getInstance().getAllAddresses()) { finalEstimatedBalance = finalEstimatedBalance + address.getBalance(); } - if (AddressManager.getInstance().getHdAccount() != null) { - finalEstimatedBalance = finalEstimatedBalance + AddressManager.getInstance().getHdAccount().getBalance(); + if (AddressManager.getInstance().getHDAccountHot() != null) { + finalEstimatedBalance = finalEstimatedBalance + AddressManager.getInstance().getHDAccountHot().getBalance(); } final long total = finalEstimatedBalance; final String exchange = MarketUtil.getMarketName(UserPreference.getInstance().getDefaultMarket()); diff --git a/src/main/java/net/bither/viewsystem/froms/MorePanel.java b/src/main/java/net/bither/viewsystem/froms/MorePanel.java index 282240a..571f1d6 100644 --- a/src/main/java/net/bither/viewsystem/froms/MorePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/MorePanel.java @@ -201,9 +201,9 @@ public void actionPerformed(ActionEvent e) { availableList.add(address); } } - if (AddressManager.getInstance().getHdAccount() != null - && AddressManager.getInstance().getHdAccount().getBalance() > 0) { - availableList.add(AddressManager.getInstance().getHdAccount()); + if (AddressManager.getInstance().getHDAccountHot() != null + && AddressManager.getInstance().getHDAccountHot().getBalance() > 0) { + availableList.add(AddressManager.getInstance().getHDAccountHot()); } if (availableList.size() == 0) { diff --git a/src/main/java/net/bither/viewsystem/froms/ShowTransactionsForm.java b/src/main/java/net/bither/viewsystem/froms/ShowTransactionsForm.java index ec0079e..0a9cd63 100644 --- a/src/main/java/net/bither/viewsystem/froms/ShowTransactionsForm.java +++ b/src/main/java/net/bither/viewsystem/froms/ShowTransactionsForm.java @@ -134,7 +134,7 @@ private void initUI() { panelMain.add(btnTxPanel, BorderLayout.SOUTH); if (AddressManager.getInstance().getAllAddresses().size() == 0 && - AddressManager.getInstance().getHdAccount() == null) { + AddressManager.getInstance().getHDAccountHot() == null) { showTransactionHeaderForm.setVisible(false); } else { showTransactionHeaderForm.setVisible(true); @@ -334,7 +334,7 @@ private void scrollPaneSetup() { @Override public void displayView(DisplayHint displayHint) { if (AddressManager.getInstance().getAllAddresses().size() == 0 && - AddressManager.getInstance().getHdAccount() == null) { + AddressManager.getInstance().getHDAccountHot() == null) { showTransactionHeaderForm.setVisible(false); } else { showTransactionHeaderForm.setVisible(true); diff --git a/src/main/java/net/bither/viewsystem/panels/WalletListPanel.java b/src/main/java/net/bither/viewsystem/panels/WalletListPanel.java index 88d4fb2..f17accb 100755 --- a/src/main/java/net/bither/viewsystem/panels/WalletListPanel.java +++ b/src/main/java/net/bither/viewsystem/panels/WalletListPanel.java @@ -161,9 +161,9 @@ private JPanel createWalletListPanel() { } } else { - if (AddressManager.getInstance().getHdAccount() != null) { + if (AddressManager.getInstance().getHDAccountHot() != null) { addPanel(constraints, LocaliserUtils.getString("add_hd_account_tab_hd")); - addHDAccountAddressList(constraints, AddressManager.getInstance().getHdAccount()); + addHDAccountAddressList(constraints, AddressManager.getInstance().getHDAccountHot()); } if (AddressManager.getInstance().hasHDMKeychain()) { @@ -183,8 +183,8 @@ private JPanel createWalletListPanel() { addHotAddressList(constraints, AddressManager.getInstance().getWatchOnlyAddresses()); } - if (AddressManager.getInstance().hasHDAccount()) { - activeAddress = AddressManager.getInstance().getHdAccount().getAddress(); + if (AddressManager.getInstance().hasHDAccountHot()) { + activeAddress = AddressManager.getInstance().getHDAccountHot().getAddress(); } else if (AddressManager.getInstance().hasHDMKeychain() && AddressManager.getInstance().getHdmKeychain().getAllCompletedAddresses().size() > 0) { activeAddress = AddressManager.getInstance().getHdmKeychain().getAllCompletedAddresses().get(0).getAddress(); } else if (AddressManager.getInstance().getPrivKeyAddresses().size() > 0) { From d0da529c9ecb2f4a4839a7042acc133520e0be86 Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Mon, 20 Jul 2015 16:45:46 +0800 Subject: [PATCH 58/63] add tx2 provider --- bitherj | 2 +- .../java/net/bither/db/AddressDBHelper.java | 30 ++ .../java/net/bither/db/HDAccountProvider.java | 5 + src/main/java/net/bither/db/Tx2Provider.java | 212 ++++++++++++++ src/main/java/net/bither/db/TxDBHelper.java | 63 ++++ .../java/net/bither/db/base/JavaCursor.java | 273 ++++++++++++++++++ src/main/java/net/bither/db/base/JavaDb.java | 46 +++ .../viewsystem/froms/HDAccountAddPanel.java | 18 +- 8 files changed, 642 insertions(+), 7 deletions(-) create mode 100644 src/main/java/net/bither/db/Tx2Provider.java create mode 100644 src/main/java/net/bither/db/base/JavaCursor.java create mode 100644 src/main/java/net/bither/db/base/JavaDb.java diff --git a/bitherj b/bitherj index 8cb1c5b..f8256fa 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 8cb1c5bd266adeeb3a2c19b8aa98dfae6722bf64 +Subproject commit f8256fa0778ac1acb7a074a40eb9dd0abbf59da8 diff --git a/src/main/java/net/bither/db/AddressDBHelper.java b/src/main/java/net/bither/db/AddressDBHelper.java index 41f4dba..3c3a27a 100644 --- a/src/main/java/net/bither/db/AddressDBHelper.java +++ b/src/main/java/net/bither/db/AddressDBHelper.java @@ -129,6 +129,36 @@ private void v3Tov4(Statement statement) throws SQLException { statement.executeUpdate(CREATE_ENTERPRISE_HDM_ACCOUNT); + // modify encrypt_seed null + statement.executeUpdate("create table if not exists hd_account2 " + + "( hd_account_id integer not null primary key autoincrement" + + ", encrypt_seed text" + + ", encrypt_mnemonic_seed text" + + ", hd_address text not null" + + ", external_pub text not null" + + ", internal_pub text not null" + + ", is_xrandom integer not null);"); + statement.executeUpdate("INSERT INTO hd_account2(hd_account_id,encrypt_seed,encrypt_mnemonic_seed,hd_address,external_pub,internal_pub,is_xrandom) " + + " SELECT hd_account_id,encrypt_seed,encrypt_mnemonic_seed,hd_address,external_pub,internal_pub,is_xrandom FROM hd_account;"); + int oldCnt = 0; + int newCnt = 0; + ResultSet c = statement.executeQuery("select count(0) cnt from hd_account"); + if (c.next()) { + oldCnt = c.getInt(0); + } + c.close(); + c = statement.executeQuery("select count(0) cnt from hd_account2"); + if (c.next()) { + newCnt = c.getInt(0); + } + c.close(); + if (oldCnt != newCnt) { + throw new RuntimeException("address db upgrade from 6 to 7 failed. new hd_account_addresses table record count not the same as old one"); + } else { + statement.executeUpdate("DROP TABLE hd_account;"); + statement.executeUpdate("ALTER TABLE hd_account2 RENAME TO hd_account;"); + } + } diff --git a/src/main/java/net/bither/db/HDAccountProvider.java b/src/main/java/net/bither/db/HDAccountProvider.java index 767a969..17e13f8 100644 --- a/src/main/java/net/bither/db/HDAccountProvider.java +++ b/src/main/java/net/bither/db/HDAccountProvider.java @@ -272,4 +272,9 @@ public List getHDAccountSeeds() { } return hdSeedIds; } + + @Override + public boolean isPubExist(byte[] externalPub, byte[] internalPub) { + return false; + } } diff --git a/src/main/java/net/bither/db/Tx2Provider.java b/src/main/java/net/bither/db/Tx2Provider.java new file mode 100644 index 0000000..555d9de --- /dev/null +++ b/src/main/java/net/bither/db/Tx2Provider.java @@ -0,0 +1,212 @@ +package net.bither.db; + +import com.google.common.base.Function; +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.core.In; +import net.bither.bitherj.core.Out; +import net.bither.bitherj.core.Tx; +import net.bither.bitherj.db.imp.AbstractTxProvider; +import net.bither.bitherj.db.imp.base.ICursor; +import net.bither.bitherj.db.imp.base.IDb; +import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.Utils; +import net.bither.db.base.JavaCursor; +import net.bither.db.base.JavaDb; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +public class Tx2Provider extends AbstractTxProvider { + + private static Tx2Provider txProvider = new Tx2Provider(ApplicationInstanceManager.txDBHelper); + + public static Tx2Provider getInstance() { + return txProvider; + } + + private TxDBHelper helper; + + public Tx2Provider(TxDBHelper helper) { + this.helper = helper; + } + + @Override + public IDb getReadDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + public IDb getWriteDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + public void execUpdate(String sql, String[] params) { + try { + PreparedStatement statement = ((JavaDb)this.getWriteDb()).getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + statement.setString(1, params[i - 1]); + } + } + statement.executeUpdate(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void execQueryOneRecord(String sql, String[] params, Function func) { + try { + PreparedStatement preparedStatement = ((JavaDb)this.getReadDb()).getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + preparedStatement.setString(1, params[i - 1]); + } + } + ICursor c = new JavaCursor(preparedStatement.executeQuery()); + if (c.moveToNext()) { + func.apply(c); + } + c.close(); + preparedStatement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void execQueryLoop(String sql, String[] params, Function func) { + try { + PreparedStatement preparedStatement = ((JavaDb)this.getReadDb()).getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + preparedStatement.setString(1, params[i - 1]); + } + } + ICursor c = new JavaCursor(preparedStatement.executeQuery()); + while (c.moveToNext()) { + func.apply(c); + } + c.close(); + preparedStatement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void execUpdate(IDb db, String sql, String[] params) { + try { + PreparedStatement statement = ((JavaDb)db).getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + statement.setString(1, params[i - 1]); + } + } + statement.executeUpdate(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void execQueryOneRecord(IDb db, String sql, String[] params, Function func) { + try { + PreparedStatement preparedStatement = ((JavaDb)db).getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + preparedStatement.setString(1, params[i - 1]); + } + } + ICursor c = new JavaCursor(preparedStatement.executeQuery()); + if (c.moveToNext()) { + func.apply(c); + } + c.close(); + preparedStatement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void execQueryLoop(IDb db, String sql, String[] params, Function func) { + try { + PreparedStatement preparedStatement = ((JavaDb)db).getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + preparedStatement.setString(1, params[i - 1]); + } + } + ICursor c = new JavaCursor(preparedStatement.executeQuery()); + while (c.moveToNext()) { + func.apply(c); + } + c.close(); + preparedStatement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + String txInsertSql = "insert into txs " + + "(tx_hash,tx_ver,tx_locktime,tx_time,block_no,source)" + + " values (?,?,?,?,?,?) "; + String inInsertSql = "insert into ins " + + "(tx_hash,in_sn,prev_tx_hash,prev_out_sn,in_signature,in_sequence)" + + " values (?,?,?,?,?,?) "; + String outInsertSql = "insert into outs " + + "(tx_hash,out_sn,out_script,out_value,out_status,out_address,hd_account_id)" + + " values (?,?,?,?,?,?,?)"; + + @Override + protected void insertTxToDb(IDb db, Tx tx) { + String blockNoString = null; + if (tx.getBlockNo() != Tx.TX_UNCONFIRMED) { + blockNoString = Integer.toString(tx.getBlockNo()); + } + this.execUpdate(db, txInsertSql, new String[] { + Base58.encode(tx.getTxHash()), + Long.toString(tx.getTxVer()), + Long.toString(tx.getTxLockTime()), + Long.toString(tx.getTxTime()), + blockNoString, + Integer.toString(tx.getSource()) + }); + } + + @Override + protected void insertInToDb(IDb db, In in) { + String signatureString = null; + if (in.getInSignature() != null) { + signatureString = Base58.encode(in.getInSignature()); + } + this.execUpdate(db, inInsertSql, new String[]{ + Base58.encode(in.getTxHash()), + Integer.toString(in.getInSn()), + Base58.encode(in.getPrevTxHash()), + Integer.toString(in.getPrevOutSn()), + signatureString, + Long.toString(in.getInSequence()) + }); + } + + @Override + protected void insertOutToDb(IDb db, Out out) { + String outAddress = null; + if (!Utils.isEmpty(out.getOutAddress())) { + outAddress = out.getOutAddress(); + } + this.execUpdate(db, outInsertSql, new String[] {Base58.encode(out.getTxHash()) + , Integer.toString(out.getOutSn()) + , Base58.encode(out.getOutScript()) + , Long.toString(out.getOutValue()) + , Integer.toString(out.getOutStatus().getValue()) + , outAddress + , Integer.toString(out.getHDAccountId())}); + } +} diff --git a/src/main/java/net/bither/db/TxDBHelper.java b/src/main/java/net/bither/db/TxDBHelper.java index 3b9d774..3630bb6 100644 --- a/src/main/java/net/bither/db/TxDBHelper.java +++ b/src/main/java/net/bither/db/TxDBHelper.java @@ -18,6 +18,7 @@ package net.bither.db; +import net.bither.ApplicationInstanceManager; import net.bither.bitherj.db.AbstractDb; import net.bither.preference.UserPreference; @@ -162,6 +163,68 @@ private void v1ToV2(Statement stmt) throws SQLException { private void v2Tov3(Statement statement) throws SQLException { statement.executeUpdate(CREATE_ENTERPRISE_HDM_ADDRESSES); statement.executeUpdate(ADD_ENTERPRISE_HD_ACCOUNT_ID_FOR_OUTS); + + // add hd_account_id to hd_account_addresses + ResultSet c = statement.executeQuery("select count(0) from hd_account_addresses"); + int cnt = 0; + if (c.next()) { + cnt = c.getInt(0); + } + c.close(); + + statement.execute("create table if not exists " + + "hd_account_addresses2 " + + "(hd_account_id integer not null" + + ", path_type integer not null" + + ", address_index integer not null" + + ", is_issued integer not null" + + ", address text not null" + + ", pub text not null" + + ", is_synced integer not null" + + ", primary key (address));"); + if (cnt > 0) { + statement.execute("ALTER TABLE hd_account_addresses ADD COLUMN hd_account_id integer"); + + int hd_account_id = -1; + c = ApplicationInstanceManager.addressDBHelper.getConn().createStatement().executeQuery("select hd_account_id from hd_account"); + if (c.next()) { + hd_account_id = c.getInt(0); + if (c.next()) { + c.close(); + throw new RuntimeException("tx db upgrade from 2 to 3 failed. more than one record in hd_account"); + } else { + c.close(); + } + } else { + c.close(); + throw new RuntimeException("tx db upgrade from 2 to 3 failed. no record in hd_account"); + } + + statement.execute("update hd_account_addresses set hd_account_id=?", new String[] {Integer.toString(hd_account_id)}); + statement.execute("INSERT INTO hd_account_addresses2(hd_account_id,path_type,address_index,is_issued,address,pub,is_synced) " + + "SELECT hd_account_id,path_type,address_index,is_issued,address,pub,is_synced FROM hd_account_addresses;"); + } + int oldCnt = 0; + int newCnt = 0; + c = statement.executeQuery("select count(0) cnt from hd_account_addresses"); + if (c.next()) { + oldCnt = c.getInt(0); + } + c.close(); + c = statement.executeQuery("select count(0) cnt from hd_account_addresses2"); + if (c.next()) { + newCnt = c.getInt(0); + } + c.close(); + if (oldCnt != newCnt) { + throw new RuntimeException("tx db upgrade from 2 to 3 failed. new hd_account_addresses table record count not the same as old one"); + } else { + statement.execute("DROP TABLE hd_account_addresses;"); + statement.execute("ALTER TABLE hd_account_addresses2 RENAME TO hd_account_addresses;"); + } + + statement.execute(AbstractDb.CREATE_OUT_HD_ACCOUNT_ID_INDEX); + statement.execute(AbstractDb.CREATE_HD_ACCOUNT_ACCOUNT_ID_AND_PATH_TYPE_INDEX); } public void rebuildTx() { diff --git a/src/main/java/net/bither/db/base/JavaCursor.java b/src/main/java/net/bither/db/base/JavaCursor.java new file mode 100644 index 0000000..c146214 --- /dev/null +++ b/src/main/java/net/bither/db/base/JavaCursor.java @@ -0,0 +1,273 @@ +package net.bither.db.base; + +import net.bither.bitherj.db.imp.base.ICursor; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class JavaCursor implements ICursor { + private ResultSet rs; + + public JavaCursor(ResultSet rs) { + this.rs = rs; + } + + @Override + public int getCount() { + try { + return rs.getRow(); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public int getPosition() { + return 0; + } + + @Override + public boolean move(int var1) { + try { + return rs.absolute(var1); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean moveToPosition(int var1) { + try { + return rs.absolute(var1); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean moveToFirst() { + try { + return rs.first(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean moveToLast() { + try { + return rs.last(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean moveToNext() { + try { + return rs.next(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean moveToPrevious() { + try { + return rs.previous(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean isFirst() { + try { + return rs.isFirst(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean isLast() { + try { + return rs.isLast(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean isBeforeFirst() { + try { + return rs.isBeforeFirst(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public boolean isAfterLast() { + try { + return rs.isAfterLast(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public int getColumnIndex(String var1) { + try { + return rs.findColumn(var1); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public int getColumnIndexOrThrow(String var1) throws IllegalArgumentException { + try { + return rs.findColumn(var1); + } catch (SQLException e) { + e.printStackTrace(); + throw new IllegalArgumentException(e); + } + } + + @Override + public String getColumnName(int var1) { + return null; + } + + @Override + public String[] getColumnNames() { + return new String[0]; + } + + @Override + public int getColumnCount() { + return 0; + } + + @Override + public byte[] getBlob(int var1) { + try { + return rs.getBytes(var1 + 1); + } catch (SQLException e) { + e.printStackTrace(); + return new byte[0]; + } + } + + @Override + public String getString(int var1) { + try { + return rs.getString(var1 + 1); + } catch (SQLException e) { + e.printStackTrace(); + return null; + } + } + + @Override + public short getShort(int var1) { + try { + return rs.getShort(var1 + 1); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public int getInt(int var1) { + try { + return rs.getInt(var1 + 1); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public long getLong(int var1) { + try { + return rs.getLong(var1 + 1); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public float getFloat(int var1) { + try { + return rs.getFloat(var1 + 1); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public double getDouble(int var1) { + try { + return rs.getDouble(var1 + 1); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public int getType(int var1) { + try { + return rs.getType(); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + public boolean isNull(int var1) { + try { + return rs.wasNull(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } + + @Override + public void close() { + try { + rs.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public boolean isClosed() { + try { + return rs.isClosed(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + } +} diff --git a/src/main/java/net/bither/db/base/JavaDb.java b/src/main/java/net/bither/db/base/JavaDb.java new file mode 100644 index 0000000..3e9a487 --- /dev/null +++ b/src/main/java/net/bither/db/base/JavaDb.java @@ -0,0 +1,46 @@ +package net.bither.db.base; + +import net.bither.bitherj.db.imp.base.IDb; +import net.bither.db.AbstractDBHelper; + +import java.sql.Connection; +import java.sql.SQLException; + +public class JavaDb implements IDb { + private Connection connection; + + public JavaDb(Connection connection) { + this.connection = connection; + } + + @Override + public void beginTransaction() { + try { + this.connection.setAutoCommit(false); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void endTransaction() { + try { + this.connection.commit(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void close() { + try { + this.connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + public Connection getConnection() { + return connection; + } +} diff --git a/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java b/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java index 055a45d..84569fd 100644 --- a/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java +++ b/src/main/java/net/bither/viewsystem/froms/HDAccountAddPanel.java @@ -22,6 +22,7 @@ import net.bither.bitherj.core.AddressManager; import net.bither.bitherj.core.HDAccount; import net.bither.bitherj.crypto.SecureCharSequence; +import net.bither.bitherj.crypto.mnemonic.MnemonicException; import net.bither.bitherj.delegate.IPasswordGetterDelegate; import net.bither.fonts.AwesomeIcon; import net.bither.languages.MessageKey; @@ -77,12 +78,17 @@ public void run() { accountUEntropyDialog.setVisible(true); } else { - HDAccount account = new HDAccount(new SecureRandom(), password, new HDAccount.HDAccountGenerationDelegate() { - @Override - public void onHDAccountGenerationProgress(double progress) { - - } - }); + HDAccount account = null; + try { + account = new HDAccount(new SecureRandom(), password, new HDAccount.HDAccountGenerationDelegate() { + @Override + public void onHDAccountGenerationProgress(double progress) { + + } + }); + } catch (MnemonicException.MnemonicLengthException e1) { + e1.printStackTrace(); + } KeyUtil.setHDAccount(account); password.wipe(); Bither.refreshFrame(); From 50f4091122624b64f6d379ebcfdbadeaa72c8c70 Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Fri, 24 Jul 2015 09:53:01 +0800 Subject: [PATCH 59/63] use abstract provider --- src/main/java/net/bither/db/Address2Provider.java | 4 ++++ src/main/java/net/bither/db/Block2Provider.java | 4 ++++ src/main/java/net/bither/db/HDAccount2Provider.java | 4 ++++ src/main/java/net/bither/db/HDAccountAddress2Provider.java | 4 ++++ src/main/java/net/bither/db/Peer2Provider.java | 4 ++++ 5 files changed, 20 insertions(+) create mode 100644 src/main/java/net/bither/db/Address2Provider.java create mode 100644 src/main/java/net/bither/db/Block2Provider.java create mode 100644 src/main/java/net/bither/db/HDAccount2Provider.java create mode 100644 src/main/java/net/bither/db/HDAccountAddress2Provider.java create mode 100644 src/main/java/net/bither/db/Peer2Provider.java diff --git a/src/main/java/net/bither/db/Address2Provider.java b/src/main/java/net/bither/db/Address2Provider.java new file mode 100644 index 0000000..438c1f2 --- /dev/null +++ b/src/main/java/net/bither/db/Address2Provider.java @@ -0,0 +1,4 @@ +package net.bither.db; + +public class Address2Provider { +} diff --git a/src/main/java/net/bither/db/Block2Provider.java b/src/main/java/net/bither/db/Block2Provider.java new file mode 100644 index 0000000..52586f7 --- /dev/null +++ b/src/main/java/net/bither/db/Block2Provider.java @@ -0,0 +1,4 @@ +package net.bither.db; + +public class Block2Provider { +} diff --git a/src/main/java/net/bither/db/HDAccount2Provider.java b/src/main/java/net/bither/db/HDAccount2Provider.java new file mode 100644 index 0000000..8a72f53 --- /dev/null +++ b/src/main/java/net/bither/db/HDAccount2Provider.java @@ -0,0 +1,4 @@ +package net.bither.db; + +public class HDAccount2Provider { +} diff --git a/src/main/java/net/bither/db/HDAccountAddress2Provider.java b/src/main/java/net/bither/db/HDAccountAddress2Provider.java new file mode 100644 index 0000000..a07987d --- /dev/null +++ b/src/main/java/net/bither/db/HDAccountAddress2Provider.java @@ -0,0 +1,4 @@ +package net.bither.db; + +public class HDAccountAddress2Provider { +} diff --git a/src/main/java/net/bither/db/Peer2Provider.java b/src/main/java/net/bither/db/Peer2Provider.java new file mode 100644 index 0000000..1820b51 --- /dev/null +++ b/src/main/java/net/bither/db/Peer2Provider.java @@ -0,0 +1,4 @@ +package net.bither.db; + +public class Peer2Provider { +} From c9e93c707cb8c790d66388812581b78a275aea78 Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Fri, 24 Jul 2015 09:53:22 +0800 Subject: [PATCH 60/63] use abstract provider --- bitherj | 2 +- .../java/net/bither/db/Address2Provider.java | 123 ++++++++++++++++- .../java/net/bither/db/Block2Provider.java | 47 ++++++- .../java/net/bither/db/DesktopDbImpl.java | 12 +- .../net/bither/db/HDAccount2Provider.java | 107 +++++++++++++- .../bither/db/HDAccountAddress2Provider.java | 47 ++++++- .../java/net/bither/db/Peer2Provider.java | 97 ++++++++++++- src/main/java/net/bither/db/Tx2Provider.java | 130 +++--------------- .../java/net/bither/db/base/JavaCursor.java | 23 +--- src/main/java/net/bither/db/base/JavaDb.java | 59 ++++++++ 10 files changed, 502 insertions(+), 145 deletions(-) diff --git a/bitherj b/bitherj index f8256fa..58917ca 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit f8256fa0778ac1acb7a074a40eb9dd0abbf59da8 +Subproject commit 58917caecfca545b38fdeafae587e9d11974358f diff --git a/src/main/java/net/bither/db/Address2Provider.java b/src/main/java/net/bither/db/Address2Provider.java index 438c1f2..0387eed 100644 --- a/src/main/java/net/bither/db/Address2Provider.java +++ b/src/main/java/net/bither/db/Address2Provider.java @@ -1,4 +1,125 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + package net.bither.db; -public class Address2Provider { +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.core.Address; +import net.bither.bitherj.db.imp.AbstractAddressProvider; +import net.bither.bitherj.db.imp.base.IDb; +import net.bither.bitherj.utils.Base58; +import net.bither.bitherj.utils.Utils; +import net.bither.db.base.JavaDb; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +public class Address2Provider extends AbstractAddressProvider { + + private static Address2Provider addressProvider = new Address2Provider(ApplicationInstanceManager.addressDBHelper); + + public static Address2Provider getInstance() { + return addressProvider; + } + + private AddressDBHelper helper; + + public Address2Provider(AddressDBHelper helper) { + this.helper = helper; + } + + @Override + public IDb getReadDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + public IDb getWriteDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + protected int insertHDKeyToDb(IDb db, String encryptedMnemonicSeed, String encryptHdSeed, String firstAddress, boolean isXrandom) { + String insertHDSeedSql = "insert into hd_seeds (encrypt_seed,encrypt_hd_seed,is_xrandom,hdm_address) values (?,?,?,?) "; + String[] params = new String[]{encryptedMnemonicSeed, encryptHdSeed, Integer.toString(isXrandom ? 1 : 0), firstAddress}; + try { + PreparedStatement stmt = ((JavaDb) db).getConnection().prepareStatement(insertHDSeedSql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + ResultSet tableKeys = stmt.getGeneratedKeys(); + tableKeys.next(); + stmt.close(); + return tableKeys.getInt(1); + } catch (SQLException e) { + e.printStackTrace(); + return 0; + } + } + + @Override + protected int insertEnterpriseHDKeyToDb(IDb db, String encryptedMnemonicSeed, String encryptHdSeed, String firstAddress, boolean isXrandom) { + return 0; + } + + @Override + protected void insertHDMAddressToDb(IDb db, String address, int hdSeedId, int index, byte[] pubKeysHot, byte[] pubKeysCold, byte[] pubKeysRemote, boolean isSynced) { + String insertHDMAddressSql = "insert into hdm_addresses " + + "(hd_seed_id,hd_seed_index,pub_key_hot,pub_key_cold,pub_key_remote,address,is_synced)" + + " values (?,?,?,?,?,?,?) "; + try { + PreparedStatement stmt = ((JavaDb) db).getConnection().prepareStatement(insertHDMAddressSql); + stmt.setString(1, Integer.toString(hdSeedId)); + stmt.setString(2, Integer.toString(index)); + stmt.setString(3, Base58.encode(pubKeysHot)); + stmt.setString(4, Base58.encode(pubKeysCold)); + stmt.setString(5, pubKeysRemote == null ? null : Base58.encode(pubKeysRemote)); + stmt.setString(6, Utils.isEmpty(address) ? null : address); + stmt.setString(7, Integer.toString(isSynced ? 1 : 0)); + stmt.executeUpdate(); + stmt.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + protected void insertAddressToDb(IDb db, Address address) { + String insertAddressSql = "insert into addresses " + + "(address,encrypt_private_key,pub_key,is_xrandom,is_trash,is_synced,sort_time)" + + " values (?,?,?,?,?,?,?) "; + String[] params = new String[]{address.getAddress(), address.hasPrivKey() ? address.getEncryptPrivKeyOfDb() : null, Base58.encode(address.getPubKey()), + Integer.toString(address.isFromXRandom() ? 1 : 0), Integer.toString(address.isTrashed() ? 1 : 0), Integer.toString(address.isSyncComplete() ? 1 : 0), Long.toString(address.getSortTime())}; + try { + PreparedStatement stmt = ((JavaDb) db).getConnection().prepareStatement(insertAddressSql); + if (params != null) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + } + stmt.executeUpdate(); + stmt.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } } diff --git a/src/main/java/net/bither/db/Block2Provider.java b/src/main/java/net/bither/db/Block2Provider.java index 52586f7..751e2d2 100644 --- a/src/main/java/net/bither/db/Block2Provider.java +++ b/src/main/java/net/bither/db/Block2Provider.java @@ -1,4 +1,49 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + package net.bither.db; -public class Block2Provider { +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.db.imp.AbstractBlockProvider; +import net.bither.bitherj.db.imp.base.IDb; +import net.bither.db.base.JavaDb; + +public class Block2Provider extends AbstractBlockProvider { + + private static Block2Provider blockProvider = new Block2Provider(ApplicationInstanceManager.txDBHelper); + + public static Block2Provider getInstance() { + return blockProvider; + } + + private TxDBHelper helper; + + public Block2Provider(TxDBHelper helper) { + this.helper = helper; + } + + @Override + public IDb getReadDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + public IDb getWriteDb() { + return new JavaDb(this.helper.getConn()); + } } diff --git a/src/main/java/net/bither/db/DesktopDbImpl.java b/src/main/java/net/bither/db/DesktopDbImpl.java index e632225..dbf9b89 100644 --- a/src/main/java/net/bither/db/DesktopDbImpl.java +++ b/src/main/java/net/bither/db/DesktopDbImpl.java @@ -21,32 +21,32 @@ public class DesktopDbImpl extends AbstractDb { @Override public IBlockProvider initBlockProvider() { - return BlockProvider.getInstance(); + return Block2Provider.getInstance(); } @Override public IPeerProvider initPeerProvider() { - return PeerProvider.getInstance(); + return Peer2Provider.getInstance(); } @Override public ITxProvider initTxProvider() { - return TxProvider.getInstance(); + return Tx2Provider.getInstance(); } @Override public IAddressProvider initAddressProvider() { - return AddressProvider.getInstance(); + return Address2Provider.getInstance(); } @Override public IHDAccountAddressProvider initHDAccountAddressProvider() { - return HDAccountAddressProvider.getInstance(); + return HDAccountAddress2Provider.getInstance(); } @Override public IHDAccountProvider initHDAccountProvider() { - return HDAccountProvider.getInstance(); + return HDAccount2Provider.getInstance(); } @Override diff --git a/src/main/java/net/bither/db/HDAccount2Provider.java b/src/main/java/net/bither/db/HDAccount2Provider.java index 8a72f53..114f696 100644 --- a/src/main/java/net/bither/db/HDAccount2Provider.java +++ b/src/main/java/net/bither/db/HDAccount2Provider.java @@ -1,4 +1,109 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + package net.bither.db; -public class HDAccount2Provider { +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.crypto.PasswordSeed; +import net.bither.bitherj.db.imp.AbstractHDAccountProvider; +import net.bither.bitherj.db.imp.base.IDb; +import net.bither.bitherj.utils.Base58; +import net.bither.db.base.JavaDb; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +public class HDAccount2Provider extends AbstractHDAccountProvider { + + private static HDAccount2Provider hdAccountProvider = new HDAccount2Provider(ApplicationInstanceManager.addressDBHelper); + + public static HDAccount2Provider getInstance() { + return hdAccountProvider; + } + + private AddressDBHelper helper; + + public HDAccount2Provider(AddressDBHelper helper) { + this.helper = helper; + } + + @Override + public IDb getReadDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + public IDb getWriteDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + protected int insertHDAccountToDb(IDb db, String encryptedMnemonicSeed, String encryptSeed, String firstAddress, boolean isXrandom, byte[] externalPub, byte[] internalPub) { + try { + String sql = "insert into hd_account(encrypt_seed,encrypt_mnemonic_seed,is_xrandom,hd_address,external_pub,internal_pub) values(?,?,?,?,?,?);"; + PreparedStatement stmt = ((JavaDb) db).getConnection().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); + + stmt.setString(1, encryptSeed); + stmt.setString(2, encryptedMnemonicSeed); + stmt.setInt(3, isXrandom ? 1 : 0); + stmt.setString(4, firstAddress); + stmt.setString(5, Base58.encode(externalPub)); + stmt.setString(6, Base58.encode(internalPub)); + stmt.executeUpdate(); + ResultSet tableKeys = stmt.getGeneratedKeys(); + tableKeys.next(); + stmt.close(); + return tableKeys.getInt(1); + } catch (SQLException e) { + e.printStackTrace(); + return -1; + } + } + + @Override + protected int insertMonitorHDAccountToDb(IDb db, String firstAddress, boolean isXrandom, byte[] externalPub, byte[] internalPub) { + try { + String sql = "insert into hd_account(is_xrandom,hd_address,external_pub,internal_pub) values(?,?,?,?);"; + PreparedStatement stmt = ((JavaDb) db).getConnection().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); + stmt.setInt(1, isXrandom ? 1 : 0); + stmt.setString(2, firstAddress); + stmt.setString(3, Base58.encode(externalPub)); + stmt.setString(4, Base58.encode(internalPub)); + stmt.executeUpdate(); + ResultSet tableKeys = stmt.getGeneratedKeys(); + tableKeys.next(); + stmt.close(); + return tableKeys.getInt(1); + } catch (SQLException e) { + e.printStackTrace(); + return -1; + } + } + + @Override + protected boolean hasPasswordSeed(IDb db) { + return Address2Provider.getInstance().hasPasswordSeed(db); + } + + @Override + protected void addPasswordSeed(IDb db, PasswordSeed passwordSeed) { + Address2Provider.getInstance().addPasswordSeed(db, passwordSeed); + } } diff --git a/src/main/java/net/bither/db/HDAccountAddress2Provider.java b/src/main/java/net/bither/db/HDAccountAddress2Provider.java index a07987d..85737f4 100644 --- a/src/main/java/net/bither/db/HDAccountAddress2Provider.java +++ b/src/main/java/net/bither/db/HDAccountAddress2Provider.java @@ -1,4 +1,49 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + package net.bither.db; -public class HDAccountAddress2Provider { +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.db.imp.AbstractHDAccountAddressProvider; +import net.bither.bitherj.db.imp.base.IDb; +import net.bither.db.base.JavaDb; + +public class HDAccountAddress2Provider extends AbstractHDAccountAddressProvider { + + private static HDAccountAddress2Provider hdAccountAddressProvider = new HDAccountAddress2Provider(ApplicationInstanceManager.txDBHelper); + + public static HDAccountAddress2Provider getInstance() { + return hdAccountAddressProvider; + } + + private TxDBHelper helper; + + public HDAccountAddress2Provider(TxDBHelper helper) { + this.helper = helper; + } + + @Override + public IDb getReadDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + public IDb getWriteDb() { + return new JavaDb(this.helper.getConn()); + } } diff --git a/src/main/java/net/bither/db/Peer2Provider.java b/src/main/java/net/bither/db/Peer2Provider.java index 1820b51..56db6b9 100644 --- a/src/main/java/net/bither/db/Peer2Provider.java +++ b/src/main/java/net/bither/db/Peer2Provider.java @@ -1,4 +1,99 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + package net.bither.db; -public class Peer2Provider { +import net.bither.ApplicationInstanceManager; +import net.bither.bitherj.core.Peer; +import net.bither.bitherj.db.imp.AbstractPeerProvider; +import net.bither.bitherj.db.imp.base.IDb; +import net.bither.bitherj.utils.Utils; +import net.bither.db.base.JavaDb; + +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +public class Peer2Provider extends AbstractPeerProvider { + + private static Peer2Provider peerProvider = new Peer2Provider(ApplicationInstanceManager.txDBHelper); + + public static Peer2Provider getInstance() { + return peerProvider; + } + + private TxDBHelper helper; + + public Peer2Provider(TxDBHelper helper) { + this.helper = helper; + } + + @Override + public IDb getReadDb() { + return new JavaDb(this.helper.getConn()); + } + + @Override + public IDb getWriteDb() { + return new JavaDb(this.helper.getConn()); + } + +// @Override +// public void addPeers(List items) { +// List addItems = new ArrayList(); +// List allItems = getAllPeers(); +// for (Peer peerItem : items) { +// if (!allItems.contains(peerItem) && !addItems.contains(peerItem)) { +// addItems.add(peerItem); +// } +// } +// if (addItems.size() > 0) { +// String sql = "insert into peers(peer_address,peer_port,peer_services,peer_timestamp,peer_connected_cnt) values(?,?,?,?,?)"; +// IDb writeDb = this.getWriteDb(); +// writeDb.beginTransaction(); +// for (Peer item : addItems) { +// try { +// PreparedStatement statement = ((JavaDb)this.getWriteDb()).getConnection().prepareStatement(sql); +// statement.setLong(1, Utils.parseLongFromAddress(item.getPeerAddress())); +// statement.setString(2, "8333"); +// statement.setLong(3, item.getPeerServices()); +// statement.setLong(4, item.getPeerTimestamp()); +// statement.setInt(5, item.getPeerConnectedCnt()); +//// if (params != null && params.length > 0) { +//// for (int i = 1; i <= params.length; i++) { +//// statement.setString(1, params[i - 1]); +//// } +//// } +// statement.executeUpdate(); +// statement.close(); +// } catch (SQLException e) { +// +// } +// +//// this.execUpdate(writeDb, sql, new String[]{ +//// Long.toString(Utils.parseLongFromAddress(item.getPeerAddress())) +//// , Integer.toString(item.getPeerPort()) +//// , Long.toString(item.getPeerServices()) +//// , Integer.toString(item.getPeerTimestamp()) +//// , Integer.toString(item.getPeerConnectedCnt())}); +// } +// writeDb.endTransaction(); +// } +// } } diff --git a/src/main/java/net/bither/db/Tx2Provider.java b/src/main/java/net/bither/db/Tx2Provider.java index 555d9de..bc7e6ab 100644 --- a/src/main/java/net/bither/db/Tx2Provider.java +++ b/src/main/java/net/bither/db/Tx2Provider.java @@ -1,3 +1,21 @@ +/* + * + * Copyright 2014 http://Bither.net + * + * 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. + * / + */ + package net.bither.db; import com.google.common.base.Function; @@ -41,118 +59,6 @@ public IDb getWriteDb() { return new JavaDb(this.helper.getConn()); } - @Override - public void execUpdate(String sql, String[] params) { - try { - PreparedStatement statement = ((JavaDb)this.getWriteDb()).getConnection().prepareStatement(sql); - if (params != null && params.length > 0) { - for (int i = 1; i <= params.length; i++) { - statement.setString(1, params[i - 1]); - } - } - statement.executeUpdate(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - - @Override - public void execQueryOneRecord(String sql, String[] params, Function func) { - try { - PreparedStatement preparedStatement = ((JavaDb)this.getReadDb()).getConnection().prepareStatement(sql); - if (params != null && params.length > 0) { - for (int i = 1; i <= params.length; i++) { - preparedStatement.setString(1, params[i - 1]); - } - } - ICursor c = new JavaCursor(preparedStatement.executeQuery()); - if (c.moveToNext()) { - func.apply(c); - } - c.close(); - preparedStatement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - - @Override - public void execQueryLoop(String sql, String[] params, Function func) { - try { - PreparedStatement preparedStatement = ((JavaDb)this.getReadDb()).getConnection().prepareStatement(sql); - if (params != null && params.length > 0) { - for (int i = 1; i <= params.length; i++) { - preparedStatement.setString(1, params[i - 1]); - } - } - ICursor c = new JavaCursor(preparedStatement.executeQuery()); - while (c.moveToNext()) { - func.apply(c); - } - c.close(); - preparedStatement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - - @Override - public void execUpdate(IDb db, String sql, String[] params) { - try { - PreparedStatement statement = ((JavaDb)db).getConnection().prepareStatement(sql); - if (params != null && params.length > 0) { - for (int i = 1; i <= params.length; i++) { - statement.setString(1, params[i - 1]); - } - } - statement.executeUpdate(); - statement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - - @Override - public void execQueryOneRecord(IDb db, String sql, String[] params, Function func) { - try { - PreparedStatement preparedStatement = ((JavaDb)db).getConnection().prepareStatement(sql); - if (params != null && params.length > 0) { - for (int i = 1; i <= params.length; i++) { - preparedStatement.setString(1, params[i - 1]); - } - } - ICursor c = new JavaCursor(preparedStatement.executeQuery()); - if (c.moveToNext()) { - func.apply(c); - } - c.close(); - preparedStatement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - - @Override - public void execQueryLoop(IDb db, String sql, String[] params, Function func) { - try { - PreparedStatement preparedStatement = ((JavaDb)db).getConnection().prepareStatement(sql); - if (params != null && params.length > 0) { - for (int i = 1; i <= params.length; i++) { - preparedStatement.setString(1, params[i - 1]); - } - } - ICursor c = new JavaCursor(preparedStatement.executeQuery()); - while (c.moveToNext()) { - func.apply(c); - } - c.close(); - preparedStatement.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - String txInsertSql = "insert into txs " + "(tx_hash,tx_ver,tx_locktime,tx_time,block_no,source)" + " values (?,?,?,?,?,?) "; diff --git a/src/main/java/net/bither/db/base/JavaCursor.java b/src/main/java/net/bither/db/base/JavaCursor.java index c146214..ec9f615 100644 --- a/src/main/java/net/bither/db/base/JavaCursor.java +++ b/src/main/java/net/bither/db/base/JavaCursor.java @@ -22,11 +22,6 @@ public int getCount() { } } - @Override - public int getPosition() { - return 0; - } - @Override public boolean move(int var1) { try { @@ -130,7 +125,7 @@ public boolean isAfterLast() { @Override public int getColumnIndex(String var1) { try { - return rs.findColumn(var1); + return rs.findColumn(var1) - 1; } catch (SQLException e) { e.printStackTrace(); return 0; @@ -147,21 +142,6 @@ public int getColumnIndexOrThrow(String var1) throws IllegalArgumentException { } } - @Override - public String getColumnName(int var1) { - return null; - } - - @Override - public String[] getColumnNames() { - return new String[0]; - } - - @Override - public int getColumnCount() { - return 0; - } - @Override public byte[] getBlob(int var1) { try { @@ -245,6 +225,7 @@ public int getType(int var1) { @Override public boolean isNull(int var1) { try { + rs.getObject(var1 + 1); return rs.wasNull(); } catch (SQLException e) { e.printStackTrace(); diff --git a/src/main/java/net/bither/db/base/JavaDb.java b/src/main/java/net/bither/db/base/JavaDb.java index 3e9a487..b9ef689 100644 --- a/src/main/java/net/bither/db/base/JavaDb.java +++ b/src/main/java/net/bither/db/base/JavaDb.java @@ -1,9 +1,12 @@ package net.bither.db.base; +import com.google.common.base.Function; +import net.bither.bitherj.db.imp.base.ICursor; import net.bither.bitherj.db.imp.base.IDb; import net.bither.db.AbstractDBHelper; import java.sql.Connection; +import java.sql.PreparedStatement; import java.sql.SQLException; public class JavaDb implements IDb { @@ -40,6 +43,62 @@ public void close() { } } + @Override + public void execUpdate(String sql, String[] params) { + try { + PreparedStatement statement = this.getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + statement.setString(i, params[i - 1]); + } + } + statement.executeUpdate(); + statement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void execQueryOneRecord(String sql, String[] params, Function func) { + try { + PreparedStatement preparedStatement = this.getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + preparedStatement.setString(i, params[i - 1]); + } + } + ICursor c = new JavaCursor(preparedStatement.executeQuery()); + if (c.moveToNext()) { + func.apply(c); + } + c.close(); + preparedStatement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void execQueryLoop(String sql, String[] params, Function func) { + try { + PreparedStatement preparedStatement = this.getConnection().prepareStatement(sql); + if (params != null && params.length > 0) { + for (int i = 1; i <= params.length; i++) { + preparedStatement.setString(i, params[i - 1]); + } + } + ICursor c = new JavaCursor(preparedStatement.executeQuery()); + while (c.moveToNext()) { + func.apply(c); + } + c.close(); + preparedStatement.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + public Connection getConnection() { return connection; } From 5098fb60db727ac2dd8139e29fa38eefab58e598 Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Fri, 24 Jul 2015 16:28:13 +0800 Subject: [PATCH 61/63] add socket for desktop --- src/main/java/net/bither/Bither.java | 8 +- src/main/java/net/bither/service/Server.java | 188 ++++++++++++++++++ .../bither/viewsystem/action/ExitAction.java | 2 + .../desktop/hdm/DesktopHDMMsgHotDialog.java | 150 +++++++------- 4 files changed, 274 insertions(+), 74 deletions(-) create mode 100644 src/main/java/net/bither/service/Server.java diff --git a/src/main/java/net/bither/Bither.java b/src/main/java/net/bither/Bither.java index 35f05ee..f894fae 100755 --- a/src/main/java/net/bither/Bither.java +++ b/src/main/java/net/bither/Bither.java @@ -42,6 +42,7 @@ import net.bither.platform.listener.GenericOpenURIEvent; import net.bither.preference.UserPreference; import net.bither.runnable.RunnableListener; +import net.bither.service.Server; import net.bither.utils.*; import net.bither.viewsystem.CoreController; import net.bither.viewsystem.MainFrame; @@ -409,7 +410,12 @@ private static void initApp(final String args[]) { // Enclosing try to enable graceful closure for unexpected errors. fixJavaBug(); - + try { + Server.main(); + } catch (IOException e) { + e.printStackTrace(); + System.exit(-1); + } if (SwingUtilities.isEventDispatchThread()) { initController(args); diff --git a/src/main/java/net/bither/service/Server.java b/src/main/java/net/bither/service/Server.java new file mode 100644 index 0000000..e8da955 --- /dev/null +++ b/src/main/java/net/bither/service/Server.java @@ -0,0 +1,188 @@ +/* + * + * * Copyright 2014 http://Bither.net + * * + * * 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. + * + */ + +package net.bither.service; + +import net.bither.Bither; +import net.bither.BitherSetting; +import net.bither.bitherj.BitherjSettings; +import net.bither.bitherj.core.AddressManager; +import net.bither.bitherj.core.DesktopHDMKeychain; +import net.bither.bitherj.core.PeerManager; +import net.bither.bitherj.utils.Utils; +import net.bither.preference.UserPreference; +import org.json.JSONArray; +import org.json.JSONObject; + +import javax.annotation.Nullable; +import java.io.*; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class Server { + private static Thread instanceListenerThread; + private static boolean shutdownSocket = false; + + public static void main() throws IOException { + int port = 8326; + final ServerSocket server = new ServerSocket(port); + instanceListenerThread = new Thread(new Runnable() { + @Override + public void run() { + try { + while (!shutdownSocket) { + Socket socket = server.accept(); + new Thread(new Task(socket)).start(); + } + if (!server.isClosed()) { + server.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + }); + instanceListenerThread.start(); + } + + static class Task implements Runnable { + + private Socket socket; + + public Task(Socket socket) { + this.socket = socket; + } + + public void run() { + try { + handleSocket(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void handleSocket() throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); + Writer writer = new OutputStreamWriter(socket.getOutputStream()); + String command; + while ((command = br.readLine()) != null) { + String result; + if (command.equals("exit")) { + result = "bye"; + writer.write(result); + writer.write("\n"); + writer.flush(); + break; + } else { + result = this.execute(command); + writer.write(result); + writer.write("\n"); + writer.flush(); + } + } + writer.close(); + br.close(); + socket.close(); + } + + private String execute(String command) { + String[] sub = command.split(" "); + + if (Utils.compareString(sub[0], "hello") && sub.length >= 3) { + return "hello"; + } else if (Utils.compareString(sub[0], "getbalance")) { + return this.getBalance(); + } else if (Utils.compareString(sub[0], "getaddress")) { + return this.getAddress(); + } else if (Utils.compareString(sub[0], "sendtx") && sub.length >= 3) { + if (sub.length == 4) { + return this.sendTx(sub[1], sub[2], Integer.valueOf(sub[3])); + } else { + return this.sendTx(sub[1], sub[2], null); + } + } else if (Utils.compareString(sub[0], "startpeer")) { + return this.startPeer(); + } else { + return Utils.format("not support command: %s", command); + } + } + + private String getBalance() { + return "0"; + } + + private String getAddress() { + if (AddressManager.getInstance().hasDesktopHDMKeychain() + && UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { + String address = AddressManager.getInstance().getDesktopHDMKeychains().get(0).externalAddress(); + JSONObject result = new JSONObject(); + result.put("address", address); + return result.toString(); + } + JSONObject result = new JSONObject(); + result.put("result", false); + return result.toString(); + } + + private String startPeer() { + if (!PeerManager.instance().isRunning()) { + PeerManager.instance().start(); + } + JSONObject result = new JSONObject(); + result.put("result", true); + return result.toString(); + } + + private String sendTx(String sendRequest, String password, @Nullable Integer feeBaseMode) { + if (AddressManager.getInstance().hasDesktopHDMKeychain() + && UserPreference.getInstance().getAppMode() == BitherjSettings.AppMode.HOT) { + DesktopHDMKeychain keychain = AddressManager.getInstance().getDesktopHDMKeychains().get(0); + JSONObject jsonObject = new JSONObject(sendRequest); + JSONArray addressesJSonArray = jsonObject.getJSONArray("addresses"); + JSONArray amountsJSonArray = jsonObject.getJSONArray("amounts"); + + HashMap sr = new HashMap(); + for (int i = 0; i < addressesJSonArray.length(); i++) { + String tmp = amountsJSonArray.getString(i); + sr.put(addressesJSonArray.getString(i), amountsJSonArray.getLong(i)); + } + try { + keychain.getSendRequestList().put(sr); + } catch (InterruptedException e) { + e.printStackTrace(); + JSONObject result = new JSONObject(); + result.put("error", e.getMessage()); + return result.toString(); + } + JSONObject result = new JSONObject(); + result.put("result", true); + return result.toString(); + } + JSONObject result = new JSONObject(); + result.put("result", false); + return result.toString(); + } + } + + public static void shutdownSocket() { + shutdownSocket = true; + } +} diff --git a/src/main/java/net/bither/viewsystem/action/ExitAction.java b/src/main/java/net/bither/viewsystem/action/ExitAction.java index 91bca68..d108f57 100755 --- a/src/main/java/net/bither/viewsystem/action/ExitAction.java +++ b/src/main/java/net/bither/viewsystem/action/ExitAction.java @@ -19,6 +19,7 @@ import net.bither.ApplicationInstanceManager; import net.bither.Bither; import net.bither.bitherj.core.PeerManager; +import net.bither.service.Server; import net.bither.utils.LocaliserUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,6 +63,7 @@ public void run() { } PeerManager.instance().stop(); ApplicationInstanceManager.shutdownSocket(); + Server.shutdownSocket(); // Get rid of main display. if (Bither.getMainFrame() != null) { diff --git a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java index db283a7..a61036c 100644 --- a/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java +++ b/src/main/java/net/bither/viewsystem/froms/desktop/hdm/DesktopHDMMsgHotDialog.java @@ -54,8 +54,9 @@ public class DesktopHDMMsgHotDialog extends AbstractDesktopHDMMsgDialog { private Tx tx; - private List> addressAmtList = new ArrayList>(); - private File addressAmtFile; +// private List> addressAmtList = new ArrayList>(); + private HashMap sendingRequest = null; +// private File addressAmtFile; private SecureCharSequence password; private DesktopHDMKeychain desktopHDMKeychain; @@ -119,7 +120,7 @@ public void publishTx() { .ALL, false); transactionSignatureList.add(transactionSignature); } - List desktopHDMAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); + final List desktopHDMAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); List unSignHash = new ArrayList(); List unSignDesktopHDMAddress = new ArrayList(); for (int i = 0; i < desktopHDMAddresses.size(); i++) { @@ -144,15 +145,19 @@ public List getOtherSignature(Tx tx, List unsignHa CommitTransactionThread commitTransactionThread = new CommitTransactionThread(null, tx, false, new CommitTransactionThread.CommitTransactionListener() { @Override public void onCommitTransactionSuccess(Tx tx) { - synchronized (addressAmtList) { - isSendMode = true; - if (addressAmtList.size() > 0) { - addressAmtList.remove(0); - saveFile(addressAmtList, addressAmtFile); - } - desktopQRCodReceive = null; - desktopQRCodSend = null; +// synchronized (addressAmtList) { +// isSendMode = true; +// if (addressAmtList.size() > 0) { +// addressAmtList.remove(0); +// saveFile(addressAmtList, addressAmtFile); +// } + + if (sendingRequest != null) { + desktopHDMKeychain.getSendRequestList().remove(sendingRequest); } + desktopQRCodReceive = null; + desktopQRCodSend = null; +// } } @Override @@ -209,36 +214,35 @@ public void run() { private void getTx() throws Exception { - synchronized (addressAmtList) { - if (desktopQRCodSend != null) { + if (desktopQRCodSend != null) { + return; + } +// if (addressAmtList.size() == 0) { +// addressAmtFile = getSendBitcoinFile(); +// +// addressAmtList = getAddressAndAmts(addressAmtFile); +// } + String address = null; + long amt; + + while (this.desktopHDMKeychain.getSendRequestList().size() > 0) { + HashMap hashMap = this.desktopHDMKeychain.getSendRequestList().peek(); + sendingRequest = hashMap; +// for (HashMap hashMap : addressAmtList) { + for (Map.Entry kv : hashMap.entrySet()) { + address = kv.getKey(); + amt = kv.getValue(); + String changeAddress = desktopHDMKeychain.getNewChangeAddress(); + tx = desktopHDMKeychain.newTx(address, amt); + + List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); + isSendMode = true; + desktopQRCodSend = new DesktopQRCodSend(tx, signingAddresses, changeAddress); + showQRCode(desktopQRCodSend.getShowMessage()); return; } - if (addressAmtList.size() == 0) { - addressAmtFile = getSendBitcoinFile(); - - addressAmtList = getAddressAndAmts(addressAmtFile); - } - String address = null; - long amt; - if (addressAmtList.size() > 0) { - - for (HashMap hashMap : addressAmtList) { - for (Map.Entry kv : hashMap.entrySet()) { - address = kv.getKey(); - amt = kv.getValue(); - String changeAddress = desktopHDMKeychain.getNewChangeAddress(); - tx = desktopHDMKeychain.newTx(address, amt); - - List signingAddresses = desktopHDMKeychain.getSigningAddressesForInputs(tx.getIns()); - isSendMode = true; - desktopQRCodSend = new DesktopQRCodSend(tx, signingAddresses, changeAddress); - showQRCode(desktopQRCodSend.getShowMessage()); - return; - } - } - } +// } } - } private void saveFile(List> list, File file) { @@ -260,41 +264,41 @@ private void saveFile(List> list, File file) { } } - private List> getAddressAndAmts(File file) { - if (file != null) { - String content = Utils.readFile(file); - if (Utils.isEmpty(content)) { - if (file.exists()) { - file.delete(); - } - } - String[] addrssAndAmts = content.split("\n"); - if (addrssAndAmts.length == 0) { - if (file.exists()) { - file.delete(); - } - } - for (String str : addrssAndAmts) { - String[] temp = str.split(","); - if (temp.length > 1) { - if (Utils.validBicoinAddress(temp[0])) { - HashMap hashMap = new HashMap(); - hashMap.put(temp[0], Long.valueOf(temp[1])); - addressAmtList.add(hashMap); - } - } - } - if (addressAmtList.size() == 0) { - if (file.exists()) { - file.delete(); - } - } - - } - return addressAmtList; - - - } +// private List> getAddressAndAmts(File file) { +// if (file != null) { +// String content = Utils.readFile(file); +// if (Utils.isEmpty(content)) { +// if (file.exists()) { +// file.delete(); +// } +// } +// String[] addrssAndAmts = content.split("\n"); +// if (addrssAndAmts.length == 0) { +// if (file.exists()) { +// file.delete(); +// } +// } +// for (String str : addrssAndAmts) { +// String[] temp = str.split(","); +// if (temp.length > 1) { +// if (Utils.validBicoinAddress(temp[0])) { +// HashMap hashMap = new HashMap(); +// hashMap.put(temp[0], Long.valueOf(temp[1])); +// addressAmtList.add(hashMap); +// } +// } +// } +// if (addressAmtList.size() == 0) { +// if (file.exists()) { +// file.delete(); +// } +// } +// +// } +// return addressAmtList; +// +// +// } private File getSendBitcoinFile() { File file = FileUtil.getSendBitcoinDir(); From 45b39cc1311e140600a7777a70f4addb90d2bba8 Mon Sep 17 00:00:00 2001 From: ZhouQi Date: Sat, 25 Jul 2015 11:49:59 +0800 Subject: [PATCH 62/63] bitherj upgrade --- bitherj | 2 +- src/main/java/net/bither/service/Server.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitherj b/bitherj index 58917ca..a741d55 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit 58917caecfca545b38fdeafae587e9d11974358f +Subproject commit a741d552f49a2eb0eadc6d85c49816bf9c6dfd40 diff --git a/src/main/java/net/bither/service/Server.java b/src/main/java/net/bither/service/Server.java index e8da955..90d5089 100644 --- a/src/main/java/net/bither/service/Server.java +++ b/src/main/java/net/bither/service/Server.java @@ -106,7 +106,7 @@ private void handleSocket() throws Exception { private String execute(String command) { String[] sub = command.split(" "); - if (Utils.compareString(sub[0], "hello") && sub.length >= 3) { + if (Utils.compareString(sub[0], "hello")) { return "hello"; } else if (Utils.compareString(sub[0], "getbalance")) { return this.getBalance(); From 166951e97dbd9a75a75ddb9c3b8df2f5cbd85485 Mon Sep 17 00:00:00 2001 From: zhumingu Date: Thu, 11 May 2017 14:46:04 +0800 Subject: [PATCH 63/63] add: some miners fee options --- bitherj | 2 +- .../bither/viewsystem/froms/AdvancePanel.java | 78 +++++++++++++++---- src/main/resources/viewer.properties | 6 +- src/main/resources/viewer_zh_CN.properties | 6 +- src/main/resources/viewer_zh_TW.properties | 6 +- 5 files changed, 77 insertions(+), 21 deletions(-) diff --git a/bitherj b/bitherj index a741d55..6bc910d 160000 --- a/bitherj +++ b/bitherj @@ -1 +1 @@ -Subproject commit a741d552f49a2eb0eadc6d85c49816bf9c6dfd40 +Subproject commit 6bc910d0e3b1793e2beb35d578982bba7e98eee5 diff --git a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java index fd0bbd5..f844218 100644 --- a/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java +++ b/src/main/java/net/bither/viewsystem/froms/AdvancePanel.java @@ -54,7 +54,9 @@ public class AdvancePanel extends WizardPanel { private JRadioButton rbNormal; - private JRadioButton rbLow; + private JRadioButton rbHigh; + private JRadioButton rbHigher; + private JRadioButton rbTimes10; private JButton btnSwitchCold; private JButton btnReloadTx; @@ -73,26 +75,46 @@ public AdvancePanel() { @Override public void initialiseContent(JPanel panel) { + System.out.println(UserPreference.getInstance().getTransactionFeeMode().getMinFeeSatoshi() + "............................................."); panel.setLayout(new MigLayout( Panels.migXYLayout(), "[][][]", // Column constraints "[][][][][][]" // Row constraints )); - rbLow = getRbLow(); + rbNormal = getRbNormal(); + rbHigh = getRbHigh(); + rbHigher = getRbHigher(); + rbTimes10 = getRbTimes10(); + ButtonGroup groupFee = new ButtonGroup(); - groupFee.add(rbLow); + groupFee.add(rbHigh); + groupFee.add(rbHigher); + groupFee.add(rbTimes10); groupFee.add(rbNormal); - if (UserPreference.getInstance().getTransactionFeeMode() == BitherjSettings.TransactionFeeMode.Normal) { - rbNormal.setSelected(true); - } else { - rbLow.setSelected(true); + + switch (UserPreference.getInstance().getTransactionFeeMode()){ + case Normal: + rbNormal.setSelected(true); + break; + case High: + rbHigh.setSelected(true); + break; + case Higher: + rbHigher.setSelected(true); + break; + case Times10: + rbTimes10.setSelected(true); + break; } + JLabel label = Labels.newValueLabel(LocaliserUtils.getString("setting_name_transaction_fee")); - panel.add(label, "push,align left"); - panel.add(rbNormal, "push,align left"); - panel.add(rbLow, "push,align left,wrap"); + panel.add(label, "push,gaptop 12,span 1 4,align left top"); + panel.add(rbNormal, "push,wrap"); + panel.add(rbHigh, "push,wrap"); + panel.add(rbHigher, "push,wrap"); + panel.add(rbTimes10, "push,wrap"); JCheckBox cbCheckPassword = RadioButtons.newCheckPassword(); panel.add(cbCheckPassword, "push,align left,wrap"); // panel.add(rbCheckPWDOn, "push,align left"); @@ -254,7 +276,7 @@ public void run() { } }); - jRadioButton.setText(LocaliserUtils.getString("setting_name_transaction_fee_low")); + jRadioButton.setText(LocaliserUtils.getString("setting_name_transaction_fee_high")); return jRadioButton; } @@ -274,14 +296,42 @@ public void actionPerformed(ActionEvent actionEvent) { return jRadioButton; } - private JRadioButton getRbLow() { + private JRadioButton getRbHigh() { + JRadioButton jRadioButton = new JRadioButton(); + + jRadioButton.setText(LocaliserUtils.getString("setting_name_transaction_fee_high")); + jRadioButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent actionEvent) { + UserPreference.getInstance().setTransactionFeeMode(BitherjSettings.TransactionFeeMode.High); + } + }); + return jRadioButton; + + } + + private JRadioButton getRbHigher() { + JRadioButton jRadioButton = new JRadioButton(); + + jRadioButton.setText(LocaliserUtils.getString("setting_name_transaction_fee_higher")); + jRadioButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent actionEvent) { + UserPreference.getInstance().setTransactionFeeMode(BitherjSettings.TransactionFeeMode.Higher); + } + }); + return jRadioButton; + + } + + private JRadioButton getRbTimes10() { JRadioButton jRadioButton = new JRadioButton(); - jRadioButton.setText(LocaliserUtils.getString("setting_name_transaction_fee_low")); + jRadioButton.setText(LocaliserUtils.getString("setting_name_transaction_fee_times10")); jRadioButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { - UserPreference.getInstance().setTransactionFeeMode(BitherjSettings.TransactionFeeMode.Low); + UserPreference.getInstance().setTransactionFeeMode(BitherjSettings.TransactionFeeMode.Times10); } }); return jRadioButton; diff --git a/src/main/resources/viewer.properties b/src/main/resources/viewer.properties index 09473ca..fe14f4b 100755 --- a/src/main/resources/viewer.properties +++ b/src/main/resources/viewer.properties @@ -114,8 +114,10 @@ qr_code_form_camera=From Camera setting_name_transaction_fee=Default Transaction Fee -setting_name_transaction_fee_normal=Normal -setting_name_transaction_fee_low=Low +setting_name_transaction_fee_normal=Normal(0.1mBTC/kb) +setting_name_transaction_fee_high=High(0.2mBTC/kb) +setting_name_transaction_fee_higher=Higher(0.5mBTC/kb) +setting_name_transaction_fee_times10=10 Times(1.0mBTC/kb) setting_name_transaction_fee_normal_note=fast confirmation setting_name_transaction_fee_low_note=slow confirmation diff --git a/src/main/resources/viewer_zh_CN.properties b/src/main/resources/viewer_zh_CN.properties index 9291fb3..adc4f3c 100755 --- a/src/main/resources/viewer_zh_CN.properties +++ b/src/main/resources/viewer_zh_CN.properties @@ -114,8 +114,10 @@ qr_code_form_camera=\u6444\u50cf\u5934 setting_name_transaction_fee=\u9ed8\u8ba4\u624b\u7eed\u8d39 -setting_name_transaction_fee_normal=\u6b63\u5e38 -setting_name_transaction_fee_low=\u8f83\u4f4e +setting_name_transaction_fee_normal=\u6b63\u5e38\u0028\u0030\u002e\u0031\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 +setting_name_transaction_fee_high=\u9ad8\u0028\u0030\u002e\u0032\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 +setting_name_transaction_fee_higher=\u66f4\u9ad8\u0028\u0030\u002e\u0035\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 +setting_name_transaction_fee_times10=\u0031\u0030\u500d\u0028\u0031\u002e\u0030\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 setting_name_transaction_fee_normal_note=\u8f83\u5feb\u786e\u8ba4 setting_name_transaction_fee_low_note=\u8f83\u6162\u786e\u8ba4 diff --git a/src/main/resources/viewer_zh_TW.properties b/src/main/resources/viewer_zh_TW.properties index 178ea5b..54b0e00 100755 --- a/src/main/resources/viewer_zh_TW.properties +++ b/src/main/resources/viewer_zh_TW.properties @@ -114,8 +114,10 @@ qr_code_form_camera=\u651d\u50cf\u982d setting_name_transaction_fee=\u9ed8\u8a8d\u624b\u7e8c\u8cbb -setting_name_transaction_fee_normal=\u6b63\u5e38 -setting_name_transaction_fee_low=\u8f03\u4f4e +setting_name_transaction_fee_normal=\u6b63\u5e38\u0028\u0030\u002e\u0031\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 +setting_name_transaction_fee_high=\u9ad8\u0028\u0030\u002e\u0032\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 +setting_name_transaction_fee_higher=\u66f4\u9ad8\u0028\u0030\u002e\u0035\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 +setting_name_transaction_fee_times10=\u0031\u0030\u500d\u0028\u0031\u002e\u0030\u006d\u0042\u0054\u0043\u002f\u006b\u0062\u0029 setting_name_transaction_fee_normal_note=\u8f03\u5feb\u78ba\u8a8d setting_name_transaction_fee_low_note=\u8f03\u6162\u78ba\u8a8d

      1Vyiz)uw!dn@c7pCs0m#$)b? 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

      bF+mqUY@!#DlKWoZ)rk{=Paxx1` zjvkTYv#)fshaY3&%q!*AzYTT<%4%(#WfrN{{TO}taXYE+1N)X0miQ)lGqdHUxo)A) z^va!iL*$?yRo43TUmVNasZl_}=|MFOjJqB2QAQGK1gyu=#X$q|<4V$oTxUwx3IAP% zpCL74ReC3Oj0-(ft~dTXUKc8BN(zcgii!$-vhWukeVlYmtFFdgqXJ{E2B)9OUY+^P zf0-rr%B-2s{5NNH=0w4B)MHPJbdc+4s0qdKJ3sbpN_+I*W>UQ}k2RChYD3SCM#~A1 zvQc+tQ}0IbTqNk$anvcL{HWvRUiHSbK^`1etx;YC*Vp3?SFof1&9DDZyHz-4QfB6{ z7iU63ZA5z~T%4FXC@~{*m^%%qH73i}OwA3>!cK;?0A zZqQ}Y1>Xq{e$c(qbqjT7tvRSvXO0Oj*6yykbq55&6~k@x9`NA zH~F|Yai|O+HUnD(>&F8IK5vdYl5w}T4?WsdErHB6r72WVc7rExA0sK1y<%;x z?wD(!JLc9!I+Q1wBV-^_3a9jLD4@esM?Nz60fkJ-P}(xoqwX~C6rNXleWP+q{5geJ z7Pz}qA2S{`0|MF-_ElF8L2FW6=YNg4Zf5Fg9JuSYG{;EUfL)nj#}PK(Xi+^Gu*AwS zi`uk%lAAM=rl;gh%j5BEKx3dllSly@>M4K5(4pG#e~w+ljXXj54;3b{fePaWtbVg` zj1;^$&ztWyMInoVELWL{6Pc7HWU?uC$t1azcTU~n8M@3dGEzNYX5ysFOZdZ;x^Iz= zZ@T1m>Y)`JbEZ>M5^LSpOq2d6-)meS{Vi0zFxR;H?*UGe^K@pI$NNgLj?eBp$p7wI zwKe}Wvug%fnF065Q$&JX<$5Pgt>+|jbOAFU`NvH;1Lfaagf3?C<(!JQtf*<}nTf^h z*6t5&+3m>(B*nV(mrU(oAiDpvqok5)MZ?w8#G`qYIaa=g4)`PoCJjV`kjXJu*F zbZY#K%>SZ9|9OL4KvA4<-042dZAAmax=@afmio%I{ZRf9j8p8jo7d#~TYdo@h8-7{Jy1 zo8a-40JryZM{Jo#aokWz2zH%YSd#Dlmto?R?7V{G^If*+4{RQC-9AXov-;Yj(? z`nX!epw2+1SO|v=d0Efpag1Eue;P_S)+1?Eqel4)i;mN3dS1@-kbSe;TDskQW>Hao z=4AaxP<5v{^z}>xMrRHgJv1pHVbIt(JrHpxSm`{CO;GFMGWlb(|Hs(*|JZvU_$tT$ z@&7*ila(+DrSV>rqG+^~EIX@Ji&ayrR?1rY(^hBOu|I7Q+SxD+VUo8{OohD(A&jPy zVF)3a3_}P*7^3g8EGeePCGd1)DqBi&DVS;>S96X!IC^A?KDF&bx&rjEINvcg zN7Un(dcz`MCMN5Rq14pT_QN_!MFlKac^95!L|x{v{878`?LC>78Humd3F1Xv_3rP- z&GViIiN?Lqn|3?DXQ z?krpTdLi545|&%Xs>StYwZ4YASl-x}nwMFUnyudCrSebLOpv^*zU%Xmt5(BgT-ggV zi#iIYqy7^Qk^p^4wTJD^8@n%bVP>j4cU$O6lXI6UlP8MD{YgFj7lNv&y?NTNs&u^G zwo+rspErhmQCZ?2Q|hz?9aBl+{$^#LlgSIl+FhJTtEzsYhpD;Lxq8GPRo>0)EVOS= zbIEXczyr%TZk%%bnU;_m3jFaFAz3e_Ait} z?y_-PIXO-XZj?>J9K$dPVynf4ytyaP7;YvRkZP zLHHM1-QV|L$*J;x;3HTJ^=c|sM>^;jsposW@L*U$s{KG>ppG;-F76odb*qfS^JSuhEgmKC3UDI$U|5Qn@=aE|=SRBiR&DE)}S~DI;xRp*oh!c7L{3i{unSO_(xv zw8fr`HyQnI-Q@g{nP&3M%&_G0#4k!*`=`RraF#qbW~HX2yX6&}bW$rdH7;XbaUuKK z`jzylsUwSXTp6R%c&V>W1~2=Y5;9#p*U5oV-p3K`nN5stce@0rrBOV+rC&G63*6(G zXT)1Oa{wE!^X$O))Xa2WB;0%C95rhU9j~{dyoDq&)ffqS{?*?6EoUBR8mvv~ovGd! z)k|4b=IuK#-b3E%A~D$&)i-7iJgnM`J^BNWs0`_P^5%R(;@DJfnYyJxB$MK%u*C&= z;-atevxMaQsrfl{0i5v*=`=a%VpVRLPSv5w$&FF%X%lbRuKLgtozYBp~dCLAZUD~I*1s64vJ zRKjbp(ev5(F36KCXA~CA$w}kkNWGSu0 zYg3vSU98z95=9j$4qs2e;ikz=(-~F#i|WgQxDE(ZVp>`b@@8f`yExO*b2D6dI+pbO zTv^v@hhM$p%~!`bC~HnZz6q4&3qt92*xWh%$VXn(?RCoOqaE&aKYeblyGX_`B6XMe z9gyMm653iHD!N1laIKg4<+r3=MoQe?*i=k*L%6+t+a%#VP|ENv-JU#1GZtjZE|W4aIXA# ziH1p2H`icMe#RV{O;Z{WO*N#@B|a6+ksMX~ zfOZZUf#xhM$}B8NbEg*LMH28C7!>FFy9>F0NS@M7Dbi^QT+{#;&df}@E@V7L*9A?d z6~&K0+DMcVFO?-bBZvN+o}E#^R3pk<*^==pj9=;5j06JRWSS~0Q%XS=4~GglYfo>#E(qIcJ@q2f=eDh69s@#ec1noJl?a-q*MuOhW;Y^jn3a}v7! z?NU->FVyy8RUN$TT-5>%BH0!Arj7K%^t3!lP*DZbn#5)_Wt9_mFl!7ZX;D*nrZF)6iCcQ4qB*`mCL7(gx$uHwRMpMTDXbRLu9fSeoY?GBWfBRQ@)#pFMWchkEv^XSn2x*8Sa zkd!Tpb%i+_M9s=6C@hj1_j4Hk=Ablz_uyI4Iksn(L*9T|_l6Uv9Zc(XD5ifE8r(SxT~)p9(sf@Vzf1CE#5Xi#*+YW_nybzU`IfBF;}2LMi_JG` zD3^Cdu3Yw_TpZ?%7S${lMa|A+Iy?uDqF3;gDA#k0N8;9VvaRVBQsErEl6``Yn6pnhO7gPE5Ag3aVUOr=kSjJ zBh^v)Fq~9NuG6 zDsx0suiZbo_OZGBB2&6I40mL5>>5$JeS{IfTR&R&JL0V$j`-D2x@rZTHLZKY_|;r` zyP8YS&M7dpqf~E*`DsPAT~x2#6=f1|Mfq%J*tRo#HkJ$0(CMx-eYVWGX{NNSnb3Vl zq;J>({QHSs_?jc_YBk-jR<-Vpja{^KId3F+rTdO7%$<{OXMtT09NuI6+|io{rQ1ge zeJ!q3uidZpxR9nL^^v?ZIjahRod1P>x%O*(zkK;6#t`B?3(>ueTjF>AsSO#Ol2X-` zUQVIjpD=d6^RdLQy-Qray4CZp@$Z+h62F|4_-C!uFH%2Uk8XUck*p|RMmE01HIKeB zkG?UF`j|f_Tdp5mvPv`%FRpyXSXt((3oB+XF45(^?U8AaQ?dsFyNcQg8GnuAzWMp^KvCspTmT}%&{DE%s9+3misCQG?t=#Jt7c~R=svTA}G5(A}ELIQ!17su3pR- zuZ~bGV@LDGW6m?>!`r{aWvarPmqKstXidk!T3N07a`{&X(QIorEh)BaHOGjS%bG&d z_QPKgX%mWVv+J`^)vRqTbgPPCYt(IOrZ6K@HJ{M<%CVCW#cQ(@$w~L6!UGQ~VQBoB znrA?<<9C(l5}hZFJueQxn*|`9zm}KOGB8P+c)t z?d)sSXV*PZ(xk?`zP+`l?Y=yE>n3lGU+sv)mw&rc-fbop#6~%;S(9>N`6x)`` zrUl*#G8Y(&oro_DUlRT)*r$x|j6u_t0uZT{$dLy|u&Ew$JQWYsGGz18C9{P4_XSX{#isw9H&H3}zGLou z`+96OG#ht%eViPCR-nB z)6%|eVP9gpb7YUntplkQh*~BXjaIQWDTUEhb-K;vCsx@8G4NhdVPrQFs1 zmtZ#iy~`G*_vVRglvr}#Pxia@)acvVwl&*M=PE3k&ki>67v!pnF32sC`qb06d`tc5 zSzNxw#jN0B+EJkTV4feamtIcmyIEqHYj@aa-Nh4%iYpW4nY`<`A;+%1wY zYE7Z)%BxBTkTWJte!|6edUo1^9JzZTHoskDar*8bipy+J7*!sLQ1`*aZ8j`KJ@C>` z??;#veCrW)<5utIO1S-YD#T=JrTy-NI&i@51Xi-gE{C0^dD22yp=_R_`L6ZFp|15s zu>*K7@|g_fK0{%iw|R_~%7|)Pxp5%XYaj8~rFw0SFfw1EVU>{+%Mv>_mxg zds9lqZaY*6uS4fT?@Fm4eks^{RepAzAALTm2i8<)aHo~zNg9fruv(EiP!>6dmBtyT z={4AX)LwF-+ra*Kk)QrY)Gou+z7u`FfVJ*!nP&+)_sFM-W z*Wc|kE5}wCEDmK2neBg3c(?Dq3Z( zF^aP3%Rc@|PhaWo{U{O7TG>Dy-IhPK{lHHvp$RBpdp3&za^YHNO8 z(GI0r>YIxq3Y1;~YkjGqQwdQDhkLX~rr)OvcC~1M=hmWIZC(&l{Df+v(!wPoVT> z0jip}pqaO9O~sgA=$*H)>v_v4l2fIs$;8%-Rn1%2%)DhZ$+@=alF1V-c4+Usg%2}t z*_w$HtJkx4-V#4*@H2|ZwVJmu*@w)$g~iNKN>fvit(jEJ9Hp#Wzj>{q`&=@bs=_cz zo7qc+C|0u6-B#R`ulP zQuo7^f4Ls?2G$N=SaExUYKIA_SDPg~LB>U+^eAr8**2|dt6GoBVekE1d2UMG>k~!a z^|Lka#3TlFePa|Am%RZ>Y__WH`a-$Hz9Ke?I%cvYPjAT8koS&diMf2W&v7}6d?UD5 zRjunkGL_gDsYX$W6lCV|hp@!JKl-XC(bS!0aqBBf-vY*e{Zit+cEhJvR}pfasLf}I z)2=}8!d^Df)ym!|%9CEwi+AthUaQiRyvuu|Nng@7xd=e@uJC=j&WBl@m-sEum9F}P z-vS+@S&ZA73148wM~;i8t=xFcWJOluU7M9~<*gQJMp52)u1x&sr_CVGlghVB+WUl= zSX3i1V5sBz%x4v&7B(f`m5bIS@WLpBI|mE%EOoKWccGP*p0B^MEPGHlBrj<^3#-03 zSi}t&`8rd7Ym0oVXKv(SICS#Lm&;<`QSJU45*1tZCFvI12(+)2p2-b5`O327*<-n6 z@hbRb`-M9Wk}(7?`Gwi)E6d8rSzxL3c*FW7A@q|yR+c;FgrPQ51pSbTfmqcY5_#THWmhff?MFK-TM>WyL^IEC;51j3mMX4%$rCkD z#u5!eq3AEIlVdDQ(s<<;fDG$$v%uW6R+M|9<~B9dcS6n0XxwrKPwqsEs%|x!+j6+| zZAAVGSlu+tk$*kqHX!%Y^c`5G=*VR$!4uPRt4;2PE5+oa#7U73OQgjY8qXR`V?i;0oVp*w>TF_)PNfT8saIFN3$7T4Yfs9 z6smv9SC(bQcQ+SM2yVRxXOG;L>ZI}|jSLIri-uRLx9jy$S>S(c|EXyqK z-T>LwC%8=sqvsMCm60s@%2r>fxo&yp&?cVEETbWAeZ3F$$wFt;XBLXK=xb}sTsT|y zHKbP|k_Gm7P&KVkGO2uMO~+#rlm^F- zG`PZi1MNu~T$xP-Dkl37oq%Ji6Ubs)>cLcpKzw-z3DIPf5TmJjdl834pEKUsftR#; zKh6CXE%Z82PUo)<d0S7X4?EzensIdDmcTb{<}%X7RWz8y2@fRUY^R+ ze{SR#B#?jpWy2f7Iko-I`T4c^ekpdGu75oI$jGJt2>rkq<+rEm*N*&?(o_P)%kPoK ztF;QtnF41*fJ6_-w;jm=*_~lkpX{q?hfh`7{_gz_^H$yVpZ(qKk6H)y|98XxpN@b3 z{Os@EKmGq#-TV0XmtE@V7$nF@uwe-7frKK5A)S!U$RS8qB+O83;_iaTF?oZteN5t& zu)-q{Nh2H)+mT2&BVzB3hMyYbt0I~=wTD2;ZI zkCe+l$U(fTI$DjB4IGA&te8xOjhf6+Lkmq*&O-bLsI;I zEqwT?dOS-q^v|p0$lvX+|L^7YV4=c0{OFL89exfL^S{UOv^nX#sc&v}&b;}q+`N4E z#r#;UctJ_&!b^1i<3^5(A3bJl!npI!PaHpCV$ubZCMQpsIxS_obm9L?J{@)eGplyk z1tR}1setyy_&4to^=4dg1ck^l*Q#N`JlnI-)7zAC)rVSHd7oz4-OYPNb6&n!aSi^T zzjw#Ik^1lf-(`Pjlhg3=zvw^C_x|2F&YWfA%CgI<%a)YgQg&-uR#{Hjyt1WbmzIqxTT~Wb zc2U_xPm<>X&m_-ePqJr{Swh)uWwSkLo;jX$PlhMcljWJ~ z$@b)U=6U9OT%KG{o+sbq_FU{K@DzHAJjI>`o)S+fwVPXZV_9C=#Ig&@GRw+59#6Ta z!gHnPD$muPO3yW(YdzO_syx?wZt&dbS>n0LbF=3bPqpV(&r;8Ao@JifJ^%FNm(3}2 zmnD_4UUxXlA92K$uW^hlf7CIm{C-D#`D2dJ}v4K68vE%=i1 z*BzIYZ*^Q={)S_5`J0Zi^0yqG@>)lE`8G#I`M(@jmcQ+|s{A3x)#dLvD$Cz>TvNW? zac%i~j_b;III7CucU)iI6m$dSSVG=!DqrQex%>miEtIFa{0Yac#k z91Wf=j+Z;1mEf(O#^AR+uLi&4c`f)o&+CpR&sN6=o;Msj zJ#RWb^t|P0_S8B)@@#W_?D?1D6VKa@7SBVDPd)EAKJ&cm_}sJIvCH$G;|tFY$CsY> z9bb8xf_77mZ^-+%o>h)k&j*h0JdqA(*-FRAvU?oGW%oK3l+`%m%Iq|S_ z#yIWYu8+<8xliYSh@JjolaI!79q)gYSC~(QiFd1s_wQ2bPV%{b9j;B(Ic>ZrFCd4%ckhV7S(>($H;~Vwhk!%&@;<55q9Sw)1rSy9~D*)*G%ctTdc$Xvdpm zyAAsrh8tRjt>a8N3>ysXc-HLaUSiy(hAD z#juPySMF8F1z99=1#-Y=MUc~LYY6q}zlM2r=kl&zJ!#VsUcJwrZnnO7>9S*NJ+kh( zo>~vt@KUcEqD5c%b>nNjHoi5%8QFT*rZ+3F6S>BR>Xf@*6qeJ&r{9~F>kMWec!l$lx}>>nZKpE>WjrMjeYu-HF0%U z&Y#ln?CXDaH!m7l_rVQ2f4TFwuP%S!f>A3!TkuKa_ooc1C_6d6fB3Nvv^^C5$qSo* zjsI%(wjX}}>Z9{6x%KtYnT;>rboi==R`mSj-Z6(|9^19J?5g4gFC~mm8QHS>mb1?p zvi{MpCy!tK>8uei%sS_~yKbJbZ`P{Tm67$y_f-u|d*k=(W?Z+u@2qQnd4KK$x3>Mz zZ^Jzevp!gym-x~hw?$qXG->wczQvT+dbRP@M*aCM_Tmv;-o4i?Uv057GS2yM;`O)X zbu0fdcGFt}GkboVa_p0Dd>6a*h?6SD_8MFJ!s>5govWV6aXlRR?9i*eiXA+nZsaAO zzFocHozG)8{{H)GX%$D7G(Ol8J1FtOkH&9)uKL!`UW&bW^W<}i<6rIm+&>?V-8uK^ z>a$1x>x4&Mua50=(w2|wo<8S{wCgU3O`9_P`O6=fyr|nVsj=^VGwAwG&)t0G(Z9vV z_KCgki?i?R_vIC9PK~{+c4bRl#-cG>KbUfE`lX#3Pf9K+-*;2lh?{;L-t&_5zN5~l zuZ`(_%^Sl!V{cn;{r>JbO_eEOy&l>1$yKX@&)HHjdgLKb++IBN{nLjJzBuB|liok` zn{i8KoW1Jm=jx~JxX-idp2yGpIQ!8fS5LY-e)^N)1N)9^IqfW7CHT;5^ZVX7J*1|7 z=f=x^+qLC{yFRa+G3}<94N2uE_Ly*f=A7TlZ+y5@^<_u4oVN4s*WPRh`C!#{zZHG! z6%MIvK5eVVxF+?E8TsI)%afZcdu{w-%&NnpUU)C=^TelC-ZHP^`I2c(P2-05jyrqv zJ-7W-@<@HZE7N|;ef=zF#;S!IdwucPh9}b=y{i23ezBWAyL!hHGj4wF{vtyI(u8o&Wf8HgoAc4122HY7P4&kA^0cKteeuQMkq-|kxz%~hvvIFourlI|$IpzreZ}2( z-g^D*`}sR*WW-%xemB(d!}B9|G#}ab_f>H>ez(`vnsDCpyMH@9XTs;r&dW2VjwpS1 zUj3Yg8GAQ8@KtO||CBe&o91jdsV#SM>~mYseRk92V<-M_#&Zj@j+p-NKRhEwXSIzv zdhkcilr5vWzF+f=^Uj~|xc9QVb~>-f%XsY4g^xLJoA$}NmW+AMU72gbXCJ>O*7pBJ z*?Gskviuw8o^wwLI?l7x`BQe<;>?kcIp=TrF6`1dIo^EVclp(~zWRN!b60lLh@{G^ zoC9x|u=ka_FL6$-xy9M9G1=L*{?3NiMt5`mHspnzCCA(od-deh7wbkn>-_$f!yY@P z*K5un&&*tNeDm|pUw_FxeM91M=kQyOzAkIebZ`8Y`AljG`n74t&ztg(N-tk>Q`h*f z-aBz=a`c;v70{GcWv*Y)%T2CTm8!Dg;wOoOXK5)tdFjW zbKm*-2Kqriw8%?|Cl-Ly5YyZI_k#XFN=N2Ic3z(GZgBo?LqG>z%8eI-b^8JHGSAjh+=X^OsGZMHa3& z^5Y$&K05N`KSGbYWz)1CUp@R<@Q_i>A?zPV}a$c>MDy!Wh|o_fCT z_&fgj$m2)HjSso+#$f{@Vr$*h@v**g5$Hk9Y+xF}!^>@E8via>hCk2(n zjeK~0)7=C6JrVc%myruX2b~;u=AbX%YuLENo1Y%1#V7yP`eT)kxeERVdpRP2`)4}4kdd7G{+k^9@@5?;KXDcHKXYyEvP|DHKK z?gM!?;GJ{!o-KC!W0J8lmg#x@cynOAaUW;g>x{dXan~C6Ka6|L4LbZ$#yxwncK0^! zu-mlzaN{0!k#Eluc`7D~L-6v?LwZ`P9n{n3|ccgJQ z-=h7?eSP_4FVJqO8~KD?soh6wr?uRKmuC^=Q*GQmwbQCHZh3}4J{86->l*p2H~Eui z6XdhV96we&ts>(-(YW2leUfpzjJuC(~&fwO*q~Fi$w(SSwfTX^p-;ebBl72tZ4<-HHq<s04W_uR+ zpQ-t*W_yg@nfq@% zUZ%DV$eZ0d;Plki<6*DU(_4prnbA7nr%XiZI=yuW?!LJDDtA`vpapZ0tk!<8--5K( ze)HzE9zQRwbr2jhFX@^~7fQG#hE0b3uhsS}8*JH@cZ@IT@Iz3XqbY3~}tR>K&( z-K%u@B29a{4A&d}C%mqof7kjeHSJw**wwUqiecsTx_mLFy(t}l#P@>XRpxksarZLr;dXwF`vX&s^@j5M z68ZEo$GdxCMlZroR!biOj~0v(Oj&De8{|8tG|9>bH2zspRx(+$5i{u9jc z;l{q)(5}b%#^15Vez}R)uD9EbTixs-uCtB*!wd(TaF-ePa+BVX#@%L)e{0;o821X} z?-3LKABOVGx_so`o_yH;Q6IZ~?ftwubNo9K?;P#Tnqlnnn;rSQVUE9V>}Q$yelz@D zd$YbbZo40TV8ZP&$8WUrVd7b6j{jlo*BN)Qao=Ua)f)f58vCclZTGXsj62ToY{Q*~ z_nCNV48Jt#JZ$2V=R@VQ+wdR8KE(LjYTQQ~cd+5}Iv96w_2&c=-Z-uQZ}yAr{liu} z8v&np%jF*c_@ik4FDR#|{TssR9|3-U>U%!U_k+?v{)*(E!T1l#bl$m=;SBgr>45Q% z;#ETYvCIBhQB@Zx9phi#J=sAjfy?20?QLE@|4dm_lqT=N4VY}ed`_dj;_?=bl>fo# zDB(c)RpDH&za4Ho|GkzYf&Vn5?qPw_olGOUGXGixfx`clkb%O<@0HcBbbXI;2CPr} zPds@eUU6<_-a(%aFDZ@(Biu5Y_M_Dfv(pH%u+G0%d`Js^%i`S7Nw{uD4n{;c#bh0Dw2 z4{S2*)F`)og3BqGo_#J1ppgIE9$Ns@O zXaZHl0O?Mhtf$w^u?75L&VGp=)c>FM+Q9vO5`VhHJ5V!5@m9}{R-OUUos#-z0Zao1 z2uzjXI&JW>pp&ne?4d$W3A zkb~#5eTP#^&WD70zRz~z`aO0GK+<*&{DZfpVTWooi|PwjrA zO9z8#pmOQ(c3uiP2&u~yApDeZI)Z?mCxCyGU+w*1H5e#-Y#+Y_$MDMa{DOtfsdNsR zSo{tJE=T~6b{uC8b_Ndf=k0l5%65bumo7lLri>$^DS8<dP2wb z*+HCtw|?54S9ZoaiX>3|?w5~)b#2QjMUsVtc>vMh9Vq_&*HH&efT#n-qdU>xi!ES0 z{G)3Dz1SIhR%~p^0h?RX<5I>sXQ)C2&PQspMDXXO7VV z?q&PA*X-vGR8BR2WF+(di-o!Qa|;+KGBc72a&prc20Q8>c76lJ_jh6n6rOQFy4wB? z_@_(y0P(2tZ&ZG++m$KTG>KeN9yrMd2q)u^ck(*etn%mK*{QLY^c_@W2jO)W{%cdP zYKlLN$6K0%HfO-|$vZCZ-y#Q(&h94v;r~z##IS|`DI&k-O5)+=ixJUFVGH6sr;D{4 zPUJ!E@bO)&6u1x(KZ{`n4>WI^%yFd(Knyf#p(egcnH0Md?v#0k%1$-SZ#0~4{L`V z)5UVbOdgS|#J>w>@{oEdd9HvHBQ0zDP~wCWdu#tG@b(k6z5?EH5@j6I#j1h#@BsD- z^fj=7hp#2At?;CNS|13fBT|;x@Oq9Em4M5P5Qj9vvFN2IPA;MYdq18brzD?YA^ zRSRE5#LqT(^cj}5YeE+*0uDwb&KNi!k@_iuw;206__eX`fiJUZ5D`N?!0!-=v(I45 zYDA=r+u$G3*e~c}g$$t&AbTfvv8rM4P<~^N-W9GG&hMj=s9X3FBJpg6-x<9PE{vfJ z_*o3sA>yYF-ZuiB`l*Gz&eeJD1B($U%M!TW==IQw)nU8C5s3JShn2>@1iotQ+u%<| z4|7`9WJLN^HoON3A3~ntE+hnfFFZMpGDg#O@FGO=nE`Jw_G-Ar*c;(b#=aMxK2rOS zh8H0cPX=6S?91U6V{e3i7<s4~z}OeT zRmNTmcN%*OJbbM7-yM!YB;7=~z}OeThm3t4+-dAB@R$VcKLU%ZNByVsf1!w+g9&gUBK5Es&Y8h@Nd08PX%|{n0%^^LBWCLH zDjp7;Wmz-v6Ai;JvaBk`=N>Q-k+LVlpAdC!!XBySe1~r$;%7TNWVY7BVNM!jZ#U)+ zICPF>?K!oJ<%F&2q&1HD1@brfN-u@|vUGl;;B|<^Sq;CRtJ|v$o{_En41-O`BJ$Y+ z_vKKB#2Ge^IcvVw-SBOfWepqD#cG1%a&?^~!Knq*+te=BOn4b0byWdBH+m}^TB!5j zggX!^dow(t2s`zk4DUgt?bg8fV*2*EoD1*^MB1elp1(lr$#8m!o{!vc?j^b}x#9Dd zT2_DJX@KJ|OzIc^oZN<-4_#Gm7Zi6>ot^F*6-70yWi1?G?|NVU#$416Amz)u4_ zWT~#taCinH@ehOjmQfb!Dhj@f$avBWcigV~TQlr;H}k#tfuZ*hKm8;U?m^_d+Y6&> z@K2wKfiHmobMIz%hk-;#M26Yyr1iA#`C@Kjek);_}LCGdx$WsqblHl zhqWFJmm#u#TLEu=l>SUS%V6~5g`GdwVZ-6gMqdVhK-75(Cw`&pKLwupr5;bB;N4&8d2J0mcQ@k+WlVvWBa+Vw z_<+&(!h61^y-r~qgKr?>XFGiB8^Tg=P4I$mbstWFCEqhgum)ZXA4ViU>){DMFlLQr z?Fxf`Vthbf1h@Rmnv?czgzh%o4@=<|M8=9n`1Y@iA;j4Pzxj>&Xa3y-Pui>f420>3 zf2r}LHoA40^w4*r5jJhFLq5+eFQILP6!mL1MH z2&W@rpA9`muY^rO4lADaZ4m}L)L4`Va}n`h1aCF^a=3yA2}>!<8u&n{LtnGN7Z6o; z*sqgA<#d!6C7%+i-2DsYk%%+wZh+dI8gMENXmss z{NcTc2a!3Y3f3aBrd*KI0$xj75@nnZpbv|n?IK7{)li6?+B6(W>beT@DXG^W5RlP+yLD-BH_=7jH}i_hxPpF4$H-P)Brn0 zk$>XvDn!K3dU*dC4$F;wElfR=bkS?z?L3^iowis3FOMb<*el@TAr7m7F{cua=7G>9 z=!x*$p*qfZ_&6fvs)HvE(|SD|cQ)t-c`o(*TW4!KoarQ=jGr0s4`d1Bd`O(bdK;1Rq6uyq<*>GqRwH~PUf0idc-|Q5 zgt|?Fk0H{p>R{+tozJdtPJ+YgLp^81)5g)qXvb){^E@541simKyrD}a3oPbFEC&Q0tJFFhm!!GDf(_=*`yd9CSE8t`4 z_#yr}_)~_%YGFOL7w*Z_e)huavvj*u!wGX8YMqu0pG0K*sfXLMX$$rxn&DMBx<0Gm z||pT%>guJnb^- zkoI-LOORUn@M5?ekvMDMpv%bv=fyDiI?}?q7JY@odI*vA+d9~W$T=wgE^sy?x)VN( zBr+DQhds(1R?^fiRwVodk$%gBW!;U4z6O3?LESM{w8GFUb^CUO(TL)Fk+3On;I%q$(eMdG z&bvAodL8}Q$@&4FSH<}dOCN^EU9bH_!W(X2?4aJN;a)`gcEpX0=g1=Jxd@I~!dOk% zMA(YRIn@R$Zqn&4gWn=DKDWWgZ`NZ`9h`ED_Tz>xB5KVHe?lbxd*P63U9N1{?N-`? z{PciB5jl69@G?aFSHK^U8qSOGrPLMD2mf{O-rICMweXW=THg(;ZrA0ihTZok;W24e*#XT91J5AaZ@(1Z(f-T%cXn!B-He&u#F+2bojo^BM3KMB-Tv!)kRN!r|?R z*jK=A524fUJ>c!4iybap%UXo^7sGEJVI0T42QGh9*GUaLcorgsD zJhGiKHo*GlsSD9-m18bsQ630#jzy7lnpH_!>Y40d``$KMt9M#O)Ac+@uf zI`tC)#~>0m5nlB+a|C-n%i$}CQyQ0`EuUJZgkLd_tXI z-wXS<=y;-F+Nbns?Ah=ipXu|xKYR?4vedz^jJ^kc_qn#W!Ps5sj1LL$W<=^_8T?f2 zgxw8Ce4*2-fOUxY*$n6I)@z}zUo+PuGIx~1L%-4O-W@u=MW=qk;CHPiUHIU4%q8@P zb?{e2;*9#uhDis}PC53U>aTF%5e-9F2%Q5nhGVVP6K1`a}DP zfbM;a!@qR4O5tipkkyR77KQ}{SuMX356nTjvX*wk-AD}j9(W`_aFY7$0Vg7=jBsRV zkXmmiz@eRjEI0n0@Q*`+ti|XdVL{e!NW|~xorA0qh=h%YGmO3%ZZdi!+=s}$o3JiH zRvaSjl>jeCBo7tvX`|P}PKRoHSNK`iAZr=v?uN(lV>{RwVIY&w#rS z$!9C<-dl%_fD=z7Ui_rMrHG_e2S=P_;)k~zeFeE`$MVxElAILE2 zhi3#?TM;Q&|1*gjk+N@%4zhklq%77D>KG9{3Z7^5weWqT4?By#G*tJKC^!vq68~)I zF?uDu!{{~epTo5O6>t+G{u|+kM&AXeo*iVZ=tDcgs}RXU6USNN5j!0wEskykBI+Lc%9K};MjA6tkTn% zr(iLn&LbEW8)VJKe>j}tq(7t2gqOzA578^&_L17&3=ikW%VO^iS0WO24Qw5){j|a3 z#%e#2@M3=CD{+>>d&g;e3q0lgAgc;{6r7mIIfI@8YsYK*I{5JfZQli>lC*sooNy+*HvpBa5O?3bebN5OwgXWSMWlaL!&QjbYvIpDdQ7&88IuvI&qZ+U0_GvoS`RyyQr>;^ zD>w=1ft~_aBQfY};YWzXxeFeL^cHyCW7=K~&tIqYWOxT6d8>h^Jg(~@3f4ZU>tQoI z>uFsNF>p7MO#FM`W6x;44(8Np-3!|-{dH^6U=-Uf%ip#3=E9HVE$>x^CvUom0aWgSn=IZy^%433l1VypBB_ zo`!^kv5yBYFnS7HB>GXThv7!!|#w7^4SJY`&QedVJ0GW7d)X= zuPge%yO40g*1-Jlw7nGWL55-93(xpo_lIHdn;*yz`yqQ^;vUus_(_JNer9|?PlT(H zTJ*Iru8lDlJppDSQim>hjnS9Db)r*;b?`l7Zx;Td?Ooy0U&#~kEQbSrBhR6<1>A_l zpf|wZ5vhlez4T{9${PbOM#NqU?>F|f@X&pXr-Y4xtw;@e8!T`HTaD-|;5J0{CFltX zR_8?}+!GdTb?rp`!0r68Mhtp0ysiuW(W~L(h$c$kGqoGy4h5|6za zu16%@diVh%{##(@2wl(NaEQ@k;4DPyJOf^7^eTAf@wzO-U@jv4vk2aYNc^?%BV*qM zd-5kHVvmF+{|L6aqc4W>k-A)oFb9!xxnVUT{+Gk&5Gl)MxXajE;bFaX{=35=h?Fq~ zPB-@1@JdAbY88CM=;VFpJPZazRk^Aqv;PHKQdHcXA zh~#r7yvf*?!IzAEE3D}kY|X?^Eqt|qu(ce08+_oDU~4Vkt_;>)>vq z?}3+{PF>-r0 zGx}^;ZuBbnu+i7U_l@2H4;iMzhQk*SssE(2gRNe}wcZB~M=p1)V_y$1m>z7UkZuaReuh4es^Q`bsb}n!aQrOJAM|8cji`EtjYe;S zS6oE-S!=C_ol|w4M8Qo+3t<~!%xvNbXWWCoBVw;iqfX{%y&lG->#*^#XNJ}zVVTh@ z;n+-VUj$!4%#TXXog!Yv57yv_2cYjY!_I=M#@h z+t` z&G4mSt#5_Dmg+jR76x1AA`&(pUTpMIc<3dJIfpS9!z++Q=#_9CBL3^(Zlmvkt1n{> zK)P$8^9uSLdNSOzSf{lYjx5u8NPyQP(vH<|ZUt%K-whu}#9jv%UL9-|VP65aR^iN7!_HMkhna|!-39MJB+oVQEu%NVL$BBN?(k(qu3N)z2)1sxnLbHc z)iC>3#@W-!8|=A^H5v9ucp@rZ76pqDskcS&v!8;!ew$@;;fsR^TKVi^%h%~T=!CMf?=W@8?5ylYoW*GOl&O-ux8`*=s z366b2=RXO4gNS_(oc*M>XTuHa$s1#70}Ogv>tS&0Gg?oA1$A04g~8A2JamP(8GS7* zc`n$BB%UR3^oC%oKl*G~y^(fAUkm@aDcBk&I&^ME(39XHFR;cykAz#11oUQDxrO#c zUjc_SP)6|&AAN~3ps$D1U)FUs8*V}5o?RoH_=?t3;4?+qzErz(k`b!*1_jr{1Dr!Ml16t%R>4 zlAmp`*LJP%g5BTK@kGD`qbI?MJAy4Y@npk!?`wTAyrN0#%V6dQv>$#J!7mY+uUp}z zJLyZD3l;E!51A{mr@-juV5=5A1_pnm?OkC#(u}_82cG^_7Jk+lwHAA_>qj0F!)QxVf=K3ry??!MZx>NqOZ!F4nO^xc?dtd zVbV8xZIc3*B5Lk~ZAQ1gWewI!|HQuw4*yP{k4{+oJ>w+y&2Z3(;)lx-30niV7`+khGkVxBj5CP%al#vZr9LGO@W{Q)P3ST3 z$lqye^!_mD53Tor$LwRQz#aitAz{pkweT}U;@l12bc9$vu(!aPpb*ujwXkP!h!u@J z63z_?QDt8Yvpa=Y@z|^3(Y(lXCVB)+L?q5+xWMR(;KN2=4?i$^3tVs*aT0bJtT;SG z-OHVWIh_wxSBAnD+ z>)G%VM4r)#I5xz(36cHSHSm!hA=YO6H^A3=YX2?pjN{1L1lAt#PNT1boqK6}BrG<1 z6)cL-VXNTv$7{U?t~f#K>tX6Ybh@SRib$RAG8ofa+mm6;iQ0cMJpQB*tA)Hp!wV3p zhZMNL=!@VIqc4MveL~dz?rrecej(N#!bZZ4{X?u)&YcGM&43Vf9_@kiPYymsV2@Fhov@Mck9f+6J!CZPj>y_05;h^tVjn|U zMbN{>(q|I19s_%g3$dztQJ-++dAdKOz@YPW{r7+;jSsOx=qE9-*97Aq-i}CrSPN4o zYX5GyF)74~!2fm_d_jmMV_H`@)aXul=Oo=O>tF*S?YI?2B~uTCO@QAZ(kDZvgjijt z(l^dxe+Hg2O@~c}*@%R7!>QACSQpHjL0rUB0asqA{jZ0Oi1^*)w6Y+weX2F9kvlRBNBEO%$=jdR>0T{9X16n$<$%jz}UGV)@<^Y z0$qrNErMCuy8aiz={Z_=!&&pRUIbI;YrPUKb!oj8*5+z`Gdv`Rjs`Y5t zdtr#Rn0_@3ZoN9hT1GtE;XXvJ^};GSzYujj2v1!WV%6a%3Qj}B&umzRh@VP$QdBfp}b=rS_I1v&5DR3bo{ujftEz}iyCA=RI`&#%eBK}+9 z*)KA-qdVcNh^*Up!5g>JFR?F!PazVv9)6BUSnItIYw#yJ{unq55kDF5Iz;@`z#kBa ze=pqm4SfQ=1%`gB{da|f5%Hf0KSq|I?}G0*LajCEP4IU_;tvT5wFV&KKOV*%7OLV* zfH{cxal_jX@v|1bEjr^y6O2D0)M~_@2tP)o|LlTeqqIEwk>}zz!z-ricq-v`MAB-8-_H-V67k;#=U<`q zBA9Y*sO82!8*aN!r`rTitJ3jD!`Bdre;d5-u28EQ|F!TFMDn&9_I?1J`;3*)^B`e4 zUn=2tMCzd#*4Bnv>j@k3uTX0TBI9Q>JozE*XCQ1t#81S-q1LgFgjx;gk#IgDV@L(O z2a$Bwz%Gw!Jset(QIDr^F2HGsq+1IgUKgsy!1eHu$F)5i9`!`18mouF!RvKeG4N_c z(pmwZLnN)u@Z_hoJ`le0bf~qPytTl4o(WZJ$TjdAMAF>@f2s>rbLC#>c~;vi;q}ka zXO3o_1CQIF?UC@%=RX3GPcodhnff0@ zpM+sAXnQyuwk1@pv7K-mqWUL%u|cQ174~{bryC6?A(Czie9`DzVc%CmEhp*5z@o-b zYbJUXeEn6e?}D$q!7=PD@Yy$YzuF9c-yW)dyBG2v=g>~t8b3uazB$xtLQjPA5E;YW z@LHoUfe#sd9h~>64(o=gpXvCsVdB^1VI0@a@V9StoFU(aS|=hBXMZ@-=quo_NE_)| zt)W&wM9LclXBj;Mu0dpvcP-q3$aO?BbbP1%hru%uu@8gOjlC3pg~&O$2cGb~_TLAN zHhLn=HF^=e)#%&dPl&Y9UU=LOT91Syjh+l&L?r&L@aa9YBYHi28&T~GzcYFpJnBcC zhX^>-=uY?*5-s_Jm;My0ep6Nf`~Ix^@IZJOl8B!Q_^&qNVN6&De-@p3vwoo-5YdOh zrHItqa#-~%?M>Kf_#{##`Gg-JlFt^{`8UQ0?BVboWK@qRI{*+^6%f4tBOWDSJ4a>*%ENwg}#c^e5~xxDiP}Z-93MbyB~Z ztAXy|PAU(j@Y>K$RuO)dz?%>0WUZC3Fd?jy)r_75Q@eDs!g_FB2~Rn+lQj%I3T7YH z$x1?Z!x7zZqsPOX?wza(vBTh_J6X%oyTYkRE&5FO6tWGy9`-q=leHIpAe?|md0p^r zMEXM$OgNTu^&~&Aq6cpDD)>Ai=RyPQeOxE26nlSIf~-eh0yiPjc8%~OMB?8Cd-c-x zKJaWr>`qu{?CW7wgs!)0_&d@>oFT_|;sr^EueI*A@B41os=lGb9G|-#!Tk*kCH9byf^Dn}@eU={8o0lS zSpHFPWK*$UN5Ojte15?%I$6J&p`;lC=`~>E=Ayk4?1w-;83e9JpnjR#8cO~^;Qk4| zLm-<>aH5@{3*6BbHhpou1Cjy<@cJ?07L$#^i{$xyNab?pO>IE&>Zfd@KZzMww}))5RPagZ&+ z3hsuIqmZRwQAb1mdm<7KL;NnDA^-gH5bW(~$gf|4;CV0j0PIu2KfT2=AA;UKh7x16 z!53W63+oGVEI6bO@_-HsNfb1@Fx>l&GP93Lcm*w)rT?78vr+s=dMK2;{eG zz&i-!S5HBMg<`)f!61Y*loJb9jS=^vn&4`k90%Gg67{y=Q3Tqblfa3KMIQ(Uk0H=? zDhV94L>#M;;8_G}LkjpxCl`Y4mx^srfkv@no8@2_0=07nxEg`-#)0x>qP;2jVmWNk z=5#RT4>4~%n2138j~YC=0zL^FHTVF5uV2t)rLOOw8v^OQz=1k>7`S&8`UU+_@Dl>r z)$SBN1r6=7V-mF`lp=299}-dLf5`<6pp^ z8qk>#*MygbxQB&v9k>dC*82v~={4$t-W42&5DGaI+=Q?Kay)nw;V9(0;1`6ukoDgf zN`$xYJ;+|*Y6KdS>tG>*ydnJI9o7?q60$uQjNl7-3~2Kn`y@WM+JgNNLZA-E->^b^z%T?F=NVuwf-Cf;;C(H|5b{&7MwYnen}b)f;d9WZ zf$MYNhmhkz<2>xekZXdm`S1bAYrup8%)2$N>EO9Sj1S~g@Np5=3uFy=pcwND`6!r+ zKY zzF-sr_gk<4fquV3Vqhexhd}Gj8tkQ$1Hn+8JOey}KzWnE0t9MXO+zEe6a@0;NN^(p z*(88}A~>S_hhSYJ(Z(8VAvKb8fZiVLia_?g!RD2WBx9ggftd&!AWJJ7Nz4(*#u{|g z$*y3Tv5_PNHu@$;5(k-)L<`vm^pzX&Ym*9WQ{6~X*aUjeyQUHU9W-B1RSSJ@1Rn!! zYNI`nZNWnbbPqNW+-HjV@HsTMj*(<+UF5}H5ei;Ip#I(kz0HjzK2#349)a2!5B9S_ zUq}xs>x*Uf2GbGfevuZOZz+};3zi^+!(P9E5#A{>lB|I&1uI)&oFU7>R0Pw;@NICW zwU{>={ET1=eIb}{gZ4l!1-~>hk}QI(-x&2GP`#2SMiOg;H0YI}7s5lxzF<#;r;vld z!3Y}2BfW5KHk)W=NF%1)GR!J#^N3>dGIuY+w{h-1|Oe1%|)xyS`$TVl*1 z$AguWMv@T7a!}pMh`&pd3Jz>-B)&%hy4Yh(VB-NsIzSJ3KDe^I5#EQwUJ9Ob7Uwz@ z{Mte6Z%r5Um0{d)U*#d_;A(`kIL<}jDFnLTq6QasM4KSTf{i?kB#Dr1!37BP3?&x4 z+Zl5J{ZnwbmzZ}9SlwG}vnv>mK;yFleBK4^fxUiLjG+(48hb)47}ZT&cl$uYzF4Qt zuy2Dy`(bV%j{&7Bj1OcLSfZ2l{f#8M5qd+P06svVHLC#|1&BUo3vL+z--FFA@G(Lp zWDVG7pphgFav(T$F!};{1$Y;M+AJSpBuPL>hh7c(4#k>+tODN*HajZPR(FoMvQ1HqWasNpJ{ib4_BCiUR&M?B~B=iMzM+k@P1)f1z133lE zj)0#*HjYGHv*72D7lHNXh<#}S9!KE6`wxc97xm%b$OT6HIu!zrS}4kDa9<4O7vpmj z9J~l)2RQ_shY$yu*nBbedB{XNgiy$?U@XEL$i!x`Xd7f=JA?$X0ec}>V@!yp2>OtT zUl4L(BVUGoBaDQe=()m3;sKfHhhPs`1&%|Yy(<*lj6n0U3v^#8j=2|jAAx-SDQLeM zZARV>;8q0weRpf%!wCDJpAUB206p%V`hcf*VlHqVP5}?^HIiJ1O(NKHANpyDHh?Jz zbcVkU+8>1fQTbq}1kv6HlpI5uXoD0iM$p1Wa@;Fx6bx)2J=FNys!1z%r7Uf5)U zCvJ(d8r*vu;{*LsQ1JxUEXd~IG6Xf`HK6}ftU+8yg1|=4;14(t*n%$+?!qP=9Pu3M zt~-1NGKK(McA(ZV_w16QRWIT0fE*W#tM2-N0>pkJQYFBOQl$t7!`m*T&c6{M0R$c~_U zMXAKPHRcy|)t5>%&`S)Y5?=)JHx-y}B$a4MFO}ljFXg`10o;s0Hl>xNl9$F(i7k91 z9h^{Al*7T^aw-2Vh(NHonkYA^E|sjVDavu+XN6Q^sl;^zZOp+T*@x8f_ z!8y&Ok~qkVz+gL3KL)(mQi|_1g0F%Ot)-F_$Q{7yPEtu4WK-}tlS)bPq&I3_Wi2{MjF$dctkpH`aNu-BO3iw*5m&}q%7fK~xW8kZh zrHiDJsKuf@AN;yRl(kFY56h+eK5!7&aRt^d?0vwX9a70r$Roi{d*OSe2OI4ZeZv;K zP%iJ6O4c6~=O`XLl7O|1F-!uVBG7*F2Gl-)t?;y}w z_Z?V-P?%py@)cBmz`DbC8aROc5Ipc51p~m@2qUXimTUwcBWR)j1WG=NawE_kfowW~ zVLEv-cn%>A-(zqe%+Sd-GNqDs2xRX94%NxOf%A0oVsNicJ_KIZ$+y5votzCCe-g{7 z4%+JE)}W70_5;W0lnaw~?gxt!NC0)T_gmB#F83WEkAe+VDE}eV; z%tauZVotdmE8zw6}L;FK)Uel}P=8***zt6*!AQI{h)RVPP)dv)?5 z@R?424SqqOe(C36UqYa~HehF++zlL$KsI4utWI79zR}4az&5#}O?%LfWb{h~hU)a; z;0m3*4m^fHb)5$9>*Ob3zD_O$J@Q1GF5qyTJQ|#fK*xf3{8CkKO3I(Z(r zRVVKPFCb8vSHL$q`2%QBD3&h=TkB*;aF|YB4knh%#n_h+XbjtxVBbSXa>ZxEGMp!h6f@3S-nK0x9;4TCzXE%6PCw~CjR;(mR=~Y?c1TI8KfK0rn(?15A z>x=qUU?75RA6y4Pg#qfqS#brpAAznfN5Q)~Sqs`2;`dr`t&v+AOLjFhmOR9HECFqPz(u1D%#`um#5%{T=YQ4+sE16O`ai2h|J$1XFGs*D zDihyKF3FZv^RQNW#Tbln#dq$<^oDGe>=Sd<%h{kmG_q)Gd_{(jm5Ci9KF%f%K(nKA( zFk7a&g&bEA45GyZULWE%_F^eW z^QVlD5ne%`0YaxTpuhD2T67TYpjX+*MVag$A-wf$bH&-@BjbioVQ|4i*8PfC)Ooxz zj^|k~?R^#-SWp%>nZLf;%h|-0%5;;d^e^y#lS5m3&bi{Xz{gq{=7{oWK%-JD&y7{UVr(B(OA(B{1e}{jbZ9{8$POU z?G;ng+AEPKNwg6@F=;+lw|$(`WYN8-&!=>MPBsEsw?rBauS8QjkKQE>G6b?(TEZOIFx`04sU?HiJGa93vvigzKZExq>p;8!81CxE66~-u2Hrs)( zP-?l{VjVA0jvC~4`qRV-yS z($JwmG(c`Kg%^X_L&RdY#W`>(l&-_v|9s%qB=fi}}jMXi!0chzFu) zfmp3nnEVFhiwJ02;7hNlBAO!EVtg|`+@uJr+e~&ra`0j zU7#<+!=#n3AD9?~izbRlPRuL5Td{n+P>yWQWpQ{6dcYv#)KB?+7B8|^qX9mPqpcID zA&Xa7#}Q{|TBa97mVWh`onk4vBC3k!X%OPMaZEJN`{Q~>8k#El5Y-*M9)&?+(T0y9 z^+9e|z#Cf4n#L2}L^~X|Z#g849L=1{B3JAar6LRYpUN&l)WJq&ks`{9MZPpVa+(_2 z1XXs^#RLqZ>KSx24U`$fuR;|WNodZ`?ImB7+j)rPnAq~{a)VqR=j}oLys6Yo+MEOJ zjKoAFs7yX`S!HlUq}|6J z2$iYGUsAr$_iVM^Y)yqwQ?xk^n~EB#$v^f7`w#6m7s~x3{ly&2p-zc}Uw^*sPcxIT zD@8_l#H4vx-S(gz3ExJ;_bs28$2qe8s7bed{lhMW)};QlQ$;kU2BHhM+o-)`X!o)6 zLx(d4aOXpV%iH(sdQO6sY&O1N5>?anMJ$GV!e61}LngPAg1@ZjwosL?==PBRs}*gd zE6R@YdC6v;|9`%kMPH{8pk9u_^nF{|<1yOhE4ve|=ms#c@E1LVF4^#)z-t+AU{*dJ zFfcI{4HTB5D_qUEzzrhtuY|AXBM`{&b9W5s4n)3>C)LuG(vI-V-1p$Oa*Nqwp>M=m zX@ggpM2I@tXf1kinKoj6;7I-0vwZwbLVhXA_2;5!J(_g*p(y$HqG$)S^FlMh8#>=L z7B7Z@y0cLK^X2YI*Hf`G*dPLl&7h%#d>14e>yA5Q*~!VxrJ1;qAg!dQ=^Mt zfQ+&FcAUeZOGyO4N0)eQ>6gMQ_0V;S-bUWn~ZuJOXmJ#|K$97q{2Hdae2CY#Xs%b8i0$X+A-c|C4^dgD#5A&}V?36m z+%84*iN8>322H&Fd9THa&z*QBY*hjwO|MT z`%3#A?NwopC@u%OS@5^EP92`pBEuU{%qfuab^fv<083Qfn&;Bj8Pi}XY*DL>z{v9c{+is26#&X~Pn}1_waUpnO z5zFlYX`e>_1$yX}25Y>gBeT~*g3vLmpXv8V5kx{)c zaX+n*T}b6?f^)c?F*3dPiml)8&je_k(Fpy%r)fdpDF z4@iM9THwTQ9RS!^K@6R|-wAY~r2T^l1xA-J<7M^2qUNvVf03s;sxkxiN6% zmL`dW=<2!^Vg|DutdNO3(XIqhS@cBsuSZO(m4P{;9#$qcfZMH?ZWYhdc8}dYgxLfo>w7_M|{~4^Vf+o#HOM{A>fsdfOh_Y4YQS`6=EZAMZ zXRdH~1D$_SnPSao-UNe4P8Euir{-Y41~th35?QW5M#KDXgH$9=?EVT@^qCshgwy{H zx`DeibTxfqca-Y_FCv}F1Lf2_MWASF&|9QQ2a$I6oT_BlQ-?3=n)p%iaTITy;x&lE z`8GZU4aKZt7oT_!(_3s8jNGz-PZ|E$#A&tu=%1+BNc@ z8cO}aKb;NMK^@w}*`U8IwIOi0e z)rS7|rEJ!oU!AiEspOnlAe?jE6j89dWUWTW_$?1t{Oe=wOE;`tePTSU zeSKmS?%{awXNAw-t?(9^kF!BT#BtuGNQ}uROumoRRoudU4GH(Vjgd-6+7Ns`(TC`) z$R_`Y#%uT#A$wUg-v6P@>Tj8kb9Dk&D|RD-3UMZ`pP*9@NO9>!MY-5EgceN%gTZxQC)}e7O(c z3hio|;)x9&Lp2QT%bNsL&!ixrHp8Uh!fpNkd4 zm!Ym%=XhN>#mM9@vpece<{8=UGJk72sFdO&iw~sV&gv4e9*Z?75^9qm&L7VE&;tn+jd7%@&13IML4#j+tebtIUU+@hf0p) zeISlga+e8wQ2f6@e;M&YIud~N;m6?EWE4dXf{!%2AtUV$@}WxVt*Qh}_regya?g?v zv-X9y2mu!I6*@KD2$SOkCjX2;C!ZGx)D!g5KO4H6$UrAFG>d=gpvKbaKL=?pv(`|x zxK9@Z>q2tbARJI#xOQKcIW-tBCR%hBX;WV;32Af?SEsD zm}0c>gapeI3q)M^5X7ATpUP-wz_XPfuZI{?gEc5yHai(pNl#bytl~r&A5R6xet*6) z5mvhAD^p;id%mKp?&DJ3{c`d7$|@NA$LA|Fr{CI|@c^5LERC#m~ z73{3o&m-qBzbMBG5pmOITaV2ACDZXL^MspILwx2?@a97>BDXfM;AM+Qe;bBiE};hKuPavfM^x zG2we2e2k-yZgP5hg1w1uOZgi#5Yw@lsIV$jw5iY%C@xReif*JI^L=kr@v$aIqQNO8JrUhw(E| z!73vLdYn&iiwXCyF$ouNtrjQYBqT4H2ObZbJm<<(*&G8*34NkT&gk`Xd0sJ!Eo5J% zHzv7_x?9XcxYiVCM2{N_$y?@uIuy%!S!uF4mA;i_B$oB#`bMSgxglM{TSAgWH-(qL zWoGfn47efs?P2YTe{nRxzX~s;c*K}o#D|LXz);+~JBSsaTc0Q|gFbBVGr&%|;4eNJi4CYQ;6QG3*%(HsBJ{SI_wEwt2Cek53gNN9g( zCqaP9OXg`XA7WT78ZNcCxnyh)IOPqMF~W&7@Ev#$V1~G^L!|q zV^4!h^OXwo%Q|ys#TiJt`FaJ>$11Ix%=3|KP9LhqTQ&}#x@fn~=*F8U_QxO&mhjH= z8SSVE;?KAC^Y--BRUq@U7!C1b({JlpY_CIkx`#zqh$x~w|Fxahe7`F2lw~>`TU+kMGP>G*yd z+kl6&L2blk(FQn~qN@Bq0IRDW&L)|VVhq0EU-9rBjq8T9;sfHcXu3W)D_(KARLpo0 z5i#RwuAYM{DJnaF2rBb%R;(cP(wW>^vHF`jiqwlP!x|rhW?1{u^9uw#j;V&&KOW~R zqrpEO=c!HN;XMu#Hjgd9&xdvl=(oeV9bM54c^Mx~sDC)5_v7a;oK(xtr@tx#WZR;(x~O~3%@+o;U`TT1Ms*9Z{q~PlApT! ztN)9mB(8TJF&4M*S;#{?kHH;&*{_g(>|1(|e@a*QBVBYV0g`NKQ@AF4t*@x|jCmYm zG7YlZoev((6`^D@|2VeK7z2CAR>``v6nxT`tZk8qaGHS5k?U}p=!^x7QVi-skM$-(d^%N zDs^QLB=J1rteDN^-{I@Oj*UOr$Cwxb>03r&Y)13KqG8Gt>QFl0Y!eJdPCJYufm?pVnZSYS^CWb_BkB^h)**0oP@1!{DUZ*ylLhX$aZ`ykNlc^Vvs z6lRKEiK`>y89#KDkN1y_hfP}fX~Yq^(qI3E*6;txo<|+Z)9(sg|ngyBwZu>LHyRp!-SM{qy^O8Tg`MOlW!gadn~dj*Ybwe=UigT_Ns&7uU*vd;ibwVSD~g71>c<3sdLv zSDNH@PkA}zZ*6^lU+axnKHZ9;YxOH!yzJsc-3Q1PM@1P2HI-dBm&;$zQl(_jeyKa3 z;e8;t(=>*m3OD?DXS(o;@A{R0-f>n;Me}5{+aOWbIg5T`gK@c)+tuar-(L9}26g!h zLL(vL+D`pLTmSi$zuvqU-79}o{{O45{9U4H)V=c8P3#4K&hAF}MEV#hN%i6+gfC zNBbYzi*|}{+VFRiaJnI-#cQ#V=z!dACzt=@`+o7F`A_~6B!^}b)O124zqsaT#tJm@ArTk^Mj_zdTyvP7%I~4^tZHc55(d8{x*Mb zy~-p&XKy7|fCc#T`+n28-M_x?cPl+6)y?Wc!7aCfJ8o9js+^y#(F-%95yzIIMq&Kz zzwhfEcNJ;B`TqXj!2$pNvJ(t{*q`W~r^H|00qn+4GXMGIzn@T%ad zW#`9bx+^BWT$wQeg~op0U#kARzu?}V8cmVSw)|mZ8OR$)x3J`Pt;L4^`Yv%-sLMB& z9+3a5jm4Q4quW>*BL62F%eOZT_wuO}-y!xvYiVzzcZkF4BVsYH?JpY&y)P|(-bb>5 zmzb>Z<-~qc`}=-FYnq?G$*?{QGKx`^4|WlHQ#gTS-Me|XOM}-a>9yhLfPdIR7IEWW z-p!*H(*9?1Pi%s2g8A#_c3VUpCYMh#b`q7zMp4HncmkKdPw>Z~`20hKiT(Nh>Z7Tc ziM+)i)1D6n3gfTMnHYaB&_cu0_)STwz(6U+&(jH~{CfI-cRlLf#nY`xSA5q%|Npoi zF`)nZ^B+b4o{8^zkVvpE@t+Df8|%a$po#b)@(-d`C|6Q>KmMdW`uw7k>pXS2uKX7= z%HulX4YMDAw7=A+{iRKKbo$ee*7c|8b*;KQ{$*D4;hh!zen>C=;@)EJxAwMo-juYi z!2C?PeeE&lYmGVI_gi{3{uA{r-iQBe|0RC$TU;zh^GjSS433<_*4b)>&^d}b3I19k zb$ytr=RB<-TTnDcbxbR4y>+K`=4-9cGoX5!UX3h4W4HUjI`=GLde7fGBu>l{!mf?~ z7_co%*mH7Zt9f^`g!_wz%y%}-7959!jhp6}Ej*j?YPjd$n!yMsjtzn0y9dd+gyPewYoRA|FY<_G1WM_`h(7w9Qj^{Z-vlaynD%Z*t z>=q0Tl6KD((mI?!wsmf<(72hyy~pQrg`Kt=Cm$}#6=wC=*tfZTp76NwF^A6M^Mt0o zy`CBE%@e#D>{pC`pC`=eK6!CM!5I=IH*9Fr}uGE%`FAOknVpvBT~cqDSJ^HYGymfhF0KBT9tZ=ex$%yIvw}@SF2&eVtOF>#cq* zvPP5&zr}ujYI&kmn6bd9i=9!KFfYF3si~?=nA7@6#do{QghA`4w^?0UCgck-?_2nO z5gy0JZ#@|QMQGfA@LzR{zX-0L;{qo8eia_ZZi+g;^Q+De`1(-N{KG%eX#PPt%|94K z^A9R%{wba2AB>~{y{CxKNv^z4@zkMfdra=P)YMo zr1=M3Y5qY=ntzbbKbS!C52n%lgCR8kpfAlosHFL)beexqPV*1)`3ECu{=p!ce^5#D z4{B)sL0_7GFofox(rNy|Sekz#%|GZ$^G|V_e~`~V#cBS*NSc2zgyx^pY5qZ9ntw2s z=AZO5|DcxUpY$~UU>eOoXi4)=ahiY7mFAz~H2bck2V0u&^I~V`R*P--F^ElUb+KOcoZnb&C%Js_rcTW4+{bv| zfNYnFvx3hB_>E;nXHVvBEgs2Qjh*^o)r(*j84$U1U5o>}Z!u+Gor^&%Z}yFlln-Or zhK!Y=IScwR&(#Uh(<6GbFl&jOacltFdn=&XxS_+C^3AZ~6P6uW@17f)?fekPtjF(q z60xcmvmQCxW2E&+7SK9+^Q(yhOM8;y+I5I2TVmM5HAlZ68(1}L!>)(D*^obvt~(ss zpUIldFk)f-nfmbh-!|Xv&w`d8^4k?Viv2PERD(H3`?89^7pjt*nXo_E0_$qK-Pu`N z_tu|F{nHiXTqxNuWaVpC@AQhW1;r17lntJjgy^*!0K zw!^PnJsr%ftM`A?EX$3>?vs_}zwg6-t9qvY&SOK^mWWSz%{K+HXqP_ivLAP5F6s3a zglem^Rc;=R+bfS|d9{uGn&>*^1xAI@k0*npsK<%^lV+l%Yx-Y@BC-{R}m($AG|@qb)zg-g}t zjVZ&+fq(x=_?G|I^YXjiRN}F3>31)kLVXLq#W(lNGP3d>@-43YIv~|PvctFd4|T;= z){ZBAP%}*g(YN!{dBlWW>ZL^2_?v$aC3R1(CR(aDujldgvo;eWA0=!dCd}KkjTjfO zke`dSs?eR>Zg${qV#qW1y~N1TjrSAP%E||c$~9rUpBjhZhbV5D-|H|j_JP|GV#3oF zN4cF*UEbd~mEm!UN8Z+Q22Fl^g5qhO7ZQoC?t4#i`?1SU5iL{0PZJ}14@@Ga)#!MJ z7-ZD=ED`NEM^rA$)WQuG3R&vT8RJ=fO%hCy) z3CS-wgPM0s;dTzEI5lq@@%=W<@ej@r23fokn(_Q(NeInc|WKdpYCOid2dR z#YJ$YHOb(N?eE9^%hKUAr##8(Dz7gyhST**4rgr7fNP`=nVZb%JF@9@imMBja=Nz7 z=L~8Pc!TtDN#{8+J~t`uTVWBWdcRhTSMKvC>4Qv9a=MPG%Kbjp#+B1IaRR5tdYc#@ zeV0=kV{nV|N#;3l#s!Yxv@}`6sa})H8T+-6Q|s3BHrdOA{6+R(z^PQ8mk{v-E!xQT{ez0vdub9^@)pOyj~WkW`y}8vX`&u%;~yq zB4^~vjhvFvshk?C9L^xM#bdIMb@dV%KT%}n22Qow^5|xAg3lnEv6s6&8ZB1!x`HwUyMI6dQJ67rq$t8)@aU|u(bncY?JPs zn)pGYzV-x8ZR9M@G|eBJ%68j1U89eS>6b5a232^(8QbOqXJkMLr|UH1H&m}?sRd`y zh8ALcv%u-Q&X*JW1E(@{B4=8!*_@HhR&e?j#&ZUpImQ_`^%AGj?g6L#;d?PYt&me) zqtaWdR~=u6)6%XPr)0kqXOMMQPTxNQIMa$ob87p|;7r)Rh|{uU1E;I&eop1@XE@Ui z-Qe_n{){uO!e64k-WN`7>#F>`q-FIue>y+WJkU@7j=mKJ&OhdIdt70)KP}(6*mODd zsb+<*F5RExOq~&V&ZYVGsXLpu{orzMbNr~3zF%Ed_53`j)7dXBg;{GQ!CGTBV8xuT zhdWni$1C`qn^snX)w^f9`^vKV?CKrUtV!3TEHth7{^eyB%;#2<%(|;zx-7hG6<_PP zf=#$GWAKh4TU?rsRi`W)T8ky7q@B;}WXJC0XW2EW*@Bq_cX97L-juPhDVoJTcFerT z?U_pB7VOTMq4TzkYslJMX}9|RRU4+aK)Ti@zZpwAe1G3qp| z!Zp8I>{W{!ht0RNXEo+;JydyP16Iv6K629;YxZJW@v37rTeHL}YdU=pl(pZpt>y zZAR6p)3S42>VD0iJ8ESO_NZsuiC!aYS?P^Ne>|7iF#ozQyi(`N*;j{=`)9V*XV#If z?$)!dnaiQxQIF*=ENE8d$o=WGUH&(s?Zy^YXw zVP9%I^BP^>g*m<7scLiFl9@MHRAH#H5er(KFn8pr7OdipWr;C0Ixw?_CmK%K?7$Wc zG26HF_dFMId^)feU%bBF_EWH=R`FvFC$?i_2bn+3v}?*1?J?^!Bgu(%ZEH5k^_Tzzwtc8==;dMROnaw3;^EOy9*Ze5kXQLQ%6I$(A8Q78ax}HDFbE7p|+TO_A zr(b8bc+<`2opyC)??)yb+`P6HtEgA^t>-cyR(X!cwd_ruSy=U#E|>qR!q&v+nYGPr z!F;2RkKuvb7WQD$U;I&TcN;x4T&B$y7U+KS=&!!yY7=@2tJOE!+0U zoIN#a$GnxfOE#N1u~3K6jngW5utx#uHS%9svO)DEZ9*$(U52+FJNwnMwoL!vv~D#d zRxHoD@lnl*4oo_9X01QQ*|8_1{0{x5aA9s{3)_^gt;)>nZdp+yp}TG#^;yxh>AO4J zv|;@oR$U>h--OMWGk-u+hixDjZH6i?B~H|w%LDRS&9{FwP2E&>t`p{ zv{|Le&u=zhN1GRVEIrkOnXwKLgT{NXt|P9@9c0j%nT;FWe79Ry)@1VX7PVYF*rB2t zuC;?b*pLnPM^!R#W~x0h#czjP+0Frl7BP=Huw6@K(|uz)u~Tb9^X%NcSZIaSa}{l? zvA>p|+9#b^jWwl+fx_!KGdN=mu_c|Brt?kU}EO$EnZfX~Hkp+M1 z=;Op3bE9kauiJ?^8GkNt=-!ppHMudW!k}u*;Ln?Fk2whJ(lK@}qNJtH{}{V)IgpYU03dn|IoESmndk zttpvR-KY)Qpp6{0*TkLGo8I2%VW9`}+T<_&E6tTTJZ?8Le53^{J+vQ zVEcw_N!|NtQ!2J+Mkj+GnGEc~UP;!S=up9%JzSWq>Z$QyZx$YsPA_(5BL*FDd6(6l z^>FcSe;~Oki)*=8nQ_pS-8G5YQaGp~+djdpq~q#NY(k&#$(J?^VzY{_#dq@yV2N!N zjxj#{neD+1k!RbhSPk1m^M$K?*)d_F+o%Hr*^~IlZA~`}U;~FduDoZ3E4wN^KYsrt zf3|w>la{SJcV-RTHx@5<@Mn)Mm)NcCAIPRTR(RQ_es{J=-zV#Ak50^a;ME#=u^w#W zRG)4KceK;3qkhbMQG{EYL;YCI;kAu7eH_FJCbl|lv)PULC7zqUFyE79HJ$1m{%Rmo zZIl~oZU(X=52wdPX#!bdZPPW?tM+4Q727^K-mEFBcl^SG-><3IPkYxt2{U>7;gXaujOwp5Dk%IcT}ENZsJkImUvrkxY+#Fkxhx?9>~5ZhmQ z*efS%KX#{WY||RUdo!B{b~`S#4`4kv>$^VN5x^>i)_zdW!jskVizv%Z2xK)HcE90! z$ccG4*2$S(7Rb(64Du}e+KXKo6kBE3UxS#B)GKfQtKRJPje1X~`8%^Pr?HjJcy?ql z9XxNJ)a%KnUP%pnyU3SK800@w?_2^rO9>Qr|kD*k8TZ_^mOeYHfq!oN%5rKY)++X zl}?8>XQ$Rxxz#OhAPZf!`hHpk6GG@6CF&+mk)^T_;w#Py9f? z;O^{z6!^l#O;$0{VGgw@3LvQ z2jZ2jJo0V63ex&BwC9b!3Kf=k7GBQyBB(R74B7D?4H7)YM7h%K+?cP?)z6fu8 zS8q29{UU_E)w|-SoU(D!IAhuqvt zg{oB07GBU>DnK9CqW!T(rGiEsRne$wsSvYx?q9R>N`wN#6$_d_D-ou%`NPXnN`$mi z=W7=2D-o=|nl`VuvP6h!^Vns~?hO?njGAcG&j3g7#O=EBK=9RP&eeFS;)m=q3q+lmKFz#g|kCP1$|yq zEcm}v_Ix+1SQu-TwnJ}hvCw7VNF%p?#e!M98~!gA;><73Yi3(4ROmXb=uR!@K#?HczbX>Gs+X9woKqxBOf)Wh z6H+7`nDV;H>A)gElX1T^!K+AkXS+V)l6{fT^i`U7iDi*+FIKO550fIH*mT3v^F@V% z&@OA5-@8KLj;V67-kn0h>Fbclo97CJJvpOgC-FRI!vej0_1Z$AOTu35+qs3p$>r*# z#-W9R>DD?1;T|)jkMwZ0wJdT@zHzM7YM2G;ZZ&d3j~u( z>#9ko76^xS+rN1_qCglMrk8xRZ-LOM_JGh^o(00>tP6xnGd7G3 zuTda`L{$mYR45Q?2W8g^%FY)qx9d2%;AOrrI5n!#j$8SH`209ua539f+51qw5IeEg ztqxoA1$Ekdr_RfeJ~FD-$f$h5Y=oY}<_Y;iQNy02G6&}i+qyW<>EV|z3~NxuKh-^7 zc&=WU*tbo-;5tNaO0iYGu;M_gkw5+K~VGh4w z6P!l-cK9?QPk7}w-0OD&UwN|S*};5_IW~AgI#^UHp>$fg|9vs zS>y>9Q>wjeC_~&=5C7*0>wTULS(=k8v^QwEQ}Z@g@UeY*w&TNGVcbERd5KqZg_lcr zJY#2ag@AK@arY1A3SIOj?~mA;D~w1x{JQpaze%!vl_OjV+q3M^y&U2F-s$lxujB}Q znp!;yI+G*RbUswW`4FCqr%rRU-ku{2jWD$}Uz;N=kp|ysxESejEk=C`Y?&jR zlQ-}3+A2pl{xL%}#WY8Vy`|KvW0E5TRY+-;s+S{-Y`Nu3bbdCTM}OJU{bRPUIKU?T_bBkl~@7Y4z#!-pBld^@zdiQ4>8JR6)EsqRoI51l{JZ0I; zjlHsk<<{Q#KU)Y0s=fLI%NAZFtqbpKpDi@29@kK>S+)>f(je+Y{cPb~AFs%%ifrML zdW3Q3D%nDHOFjIbErirR|GR!cmf({Z(IGc8O9)LAoIk(H63%pKF(U6_mS7RJb-&@C zS%SaDytLuPETQSAPOe=}X9=%QWsjI~C`(v1-E8p5oms-BYMMHFo3exrTNg$4T9G9@ zX&yT}VPTd~-88D2X;hXFeZOv>&l^jeqtE*_R8m^2O>R4*V)xN@&- z+sU3;g7b~aRR?)x3D%wM7grUsgleg6@qd=EPyJ~@jBS?CMmgZU$|_4}zyqzLR|YruKj}dGi;6&f6CJeu^Zlv&dbya)q-aAF?^#HR&`ps%kqgC$$o1XuKkPcsI&sNSE0_(ee{7jjD`YgC zQaY@OR*>pfh;p^m3hk!#bg(vsJ^#@PkrKTM`cf^wFN0e_I!Yw})1L=becMPe{TjdD zDBj4xzu`Z`+pe6@q}}daKRzGwt>MA%3v+uLHsrbRx#ExMq<7_s-~RbN9-@lhrxV5h zA3i^#XHwsW=DQHP=}Z9mO~~DYqlrN)PlgiXCa;*z+08zR=qp_xO;k_#!k;%q#tw|3 zxOUX(CERXynjrUtiv@FV7M+~{JdIK@e&~Xzn z;o|+xJg#>tj%fLE-WH;|LZ7XiBN}WY##Z~p8L5{TPjQXotnEbk$*wzyuCr_M=UM7C zPdU?yx9uXmde12Sd@F6Yau3DP4o=CsQ+p{MyLje4qWqp4f9@4GLH_{7Lxx@AOgJ!) zKL=Acu}&bpwox=^?CsZ_O52WyNbhRDl{4t0>VDr$`?+Xg+61+6&HvQis!|PkXbNQ@P*` zr|So&B+`dSmvPG9yyJ}fy~7#ON8Ve;Dam}t8F$|KEa?;a#&X8(eZ#3%JD%hAs}^x8 z?KGTm$#vAc{2m=SgU*cMj5J=wDRDW+DesZasdcY*p6ugHoj4=YhH%D?is6*MKfwo%7n$}OXJmdXXOLbZ zr$+mnQ+d%Kh4*8oEoYi}FEJiBRb-_&PKoLgr*csyr|XXD7b%}|ha;!&qJf;Ts%TEv zDtkCX;{O!m)_I(13(fd*O5cY9XPWVF&d4SUMK(XksZrb&)87|zhHSCm&oedd?wqdI zgE`||VmOtn4|2*M-Qo1DSjcHv%UpckS& z<(J2tN>(QFxBC1!t80WCXGr8wPVJaEoCzK~#kkQGPWAB*oXVcY{5h=e13Qu4Jvd!= zhHxsgmWlDkM>r$B?{dmjd7P47wZ!MPPVGciRdGuG4Cf4)v6eHg)+x@kjgL9C)k-*( zlj`#4yI4n@zGVTNL5*f`YC3EX>6*kD+4?DGTD4M9|GX}L9-Ow;nKRBkfHU&ZG|rHL z>o{X?iO-F-tsjYYvkEzVHC58cALAz1j2J>ilaDvABS_g?w-dP6tapluH|-4><^skRmq$Q>=vi?`3ugFDSvSWNy|9n zmQ}e;=teu$xnJ z@`T7&7daF3?{fOqf5oY8t>v^7zHo+k81wT|g1Z@~rhOAmc{2yjpUzWgH~(2`dAMOx z<-;y_O+IG>@c!pic7Wamx69A zD011{qQ2$$A!RN%&OA5<{0P`ZD9IA6l{Pi?-VhQ5@g-1$pgd$j?p;C*-hlrH;S zsw&%Qg~?Ufg?z)#4~D#SshQNR{&hV=cJ6I{PfgATmybDS^{Py(#4cA*hb-8pcIkP! zAO4o4oK+on<1a~of*m|oF{J6-7cOJBIUG6JPtJOLFzk}rwFcXtv}M!dj!XXLmXx$0D@(nNjSZ*Tm5X@~`Te{#ZyQ~)HAYouPPh$nm{nrWS12-WDQmJ;aZBa$(H6`t`&5+;^J=l? zNjnDWNx!;`8FA@`%kienc5h0OZH4B{WB9Y*(`pyFY-(4rUy!SU1=XFlBIcGco4I>N zjv)zL>U+gx&8k?177?e`2HY=32>d>N6OXl>l`Rj`{YqNDdCY9|x-H6SO)*M@! zTjsK|O1I1FTUxOi##6o0Cl$GjQ(clKU9ZR1bnz?7P&8nPty=lJ)^5q#Iu5gm`LiyI z{1jucYfydm=26q4Ze6U|3gdy>`!amT-oD-Hv!Oj5>ckp1U=EG_ zzl6&QU9Os^+RXQpvr(aAfA6(Y<06iaDeLfuXXdU1L$>=#Ufsg}a;CV~r%~~%+U(q$ z1LrdRP1rVJ)=a)=0|2RCKP#wpcOJDM_wYyGR79%jkn^%_ST+gE1y zr!GC#XNehGw{hTx26h=Pqsk&o-VGI4&7nOXRbAhL8Mhr$C)TPdiy9d2IDdR=c5ugD zpHTtM%zW~ar=uEbT|SvPwR+H{1FOAw(v0+B3T7I-Fe`Iu8x}lyO5UdBE-W!_vDVqE zJ!_=e^H+33#{>Hj_Y|IK5eL8A`=YVmyvv0=SLjS@l8@FiEfL-0`-zF!-gxR?6sxdR7Ijgsz z!G&>np6DAELzhoB%;LeKwh4@du9(v>b+QwCJ@>iarK&FMplYt>dVEW^sj~X^)@WyT zDV8(gvAMH`x3aAzW?vrzSjszs0pRTG9}F&>7HpLL}SlBNoiA~k`Sh(LKH&wX`l8G zWgmM;vP4<4C%z0>veoms)4ilGzwh&Zp6CDj|DV^t%jtd3x#xb)z2~0uIcMgcdB2JH z@Knn&!`MWW{foNHdJCe+SWkMc*n;qxelKjTA&W?!c;rTF>V$6NeD1<|{X`p4kzc zz*^~pZ6-uiapK-p6}CjV*btjP!iF%quD3fLv57c~#afIhgNcuFo`s9A+7XXFo}SD| z*Cf8G?wlhqvnSBJYeM|+P$FxY`K7_O{R#PoH{0+SW8#@AbJv9mJA!xpn6naw6A%6Q zrl&So5)Uj7nm$-!L0kxmE_V;tC#1eQPwm}}h{u~3FTBYAWItk@@cMF}Z}!0t{JVb~ z%q9X>5{-<~K}2W9+`~cf9Ks->sLFT3SNjF#>w5Sl41w#I-`hL6*?udAl$U!9CiM5{ z%0Jh)rTURAF^aDmlcfUhlP4xWIbk!5&|o=eOZVc0SC5-9j!uZM4dcvG^BPLr?|x`< ztfLK)Rl84a<3(Gd=O&Ax(Re?CwXvIae5YYV^Z5De?%G=s-Cp!wUHux`>AirMjZ@8u zwfzRp9&<;FI5R}q;%(+zdz)eX=6tB*W<9Nw#Bjs5Po(~ii?n7uO7-;%icm(JqT6;4E* zJNJy6#GKewvvA4iP%fdXS9eCyxd)N#T6xO*ESI=Eq}HL!`N70kyMRd>GeYd0?m8%_ zePI&sYago#5(g44YZTXh>@k{{ob%$${>DR()+=f@CJ-fL!WQgkCUvob4ht{g=io^n=8 zaFa!-AFJ05yx>f9?eln3_x|>TWAyCK#^-wz%ffDtA-4A;EVCW__B4I7w^Ds8pFPr; zxU(=Sa&*C1LjAc{Gs|x*G3a&eapi{&#KxX)qb+?05Rn;o;@_$aB|e6n9ANXAOZ@5k zl#cgF9q*Gm-Y0duPwIG|)bT#4<9$-c`=p;g0}{e_9c_c`-3u4KM4*DO1&+53D#n^5)_ z%gfERZyPRGxD9I?Fo6|n8{U6c!rKP0f_@G6;a%0wFn%w4Xxo5c+u=AFTDQ*r(Ht_+ z@!IM4VNDZxKE1U-{j?3ur|2Ujes3F*?F;SOCbfV4C2V`JHNRckB&drvWy_9`_xJ0@ zooR;&@7iIKzQZudv|$)G9xx5?*f30Z3-;eaP_oB_pn1bJg6ruI`#2!TND0T;W0IM$ z?++myLKK8J2_qeF1$OGC=r;DRLRr;)BH>BJ>;`B6*c0*@LVjbwK9FV#X=bnw z`b%8+94Z_H`&O`T1N*kHPpSafLEIkp5$rocaEADBI1Y-Nl2H&J195i<;~;GUq)mcA zii1vr0Lnw$SrGUT=D_i}5PTr`LLPqzfe_$#a}oiB5D1`9BngKQ0bvP*NC?Z}Tp@%g z2%z7@T?uwcrKMF6NKL6Y2=S1Q467lmfv^_JNPw^o!g@F-5keA#4Ul&ugiVl#49ReO zGlVS=w!-lg2;1QJ&$df93g`7pZ1>z)Z#%BbDchT!#ng2bi_RzG43)>Yx!E0CwVUSbXzeff z!tF=#ts95pEN->QwcHO~`&pWlsRnmUiejWEXZm?ikW^Pll! z3Y|Cs+x0lfSG70`GXBDOtJCpOF(27?dd}i}yQ0I{Mey+N*l3RWh8)~#%{b1fYti_V z_`aML^`)Ge-fQq#$K*My2H9{r#ZTqzeHOx*Xj^SFD^1f@G9!Y+Q1Rm28tcfB8>h!H zo_HLW6hCL5u5#z(=DxvwK8V@Q=lgN0GZ4<%J%Cf#tbiw&s&j;vejN855%@Be8mA|J z6zA^pXG7-W1a2Reji0W(i`PwQ!Po9m;be_d=F}ekgh%I9;mdY!#a~Bs$IJC1IQujm zI589CIA&kGaBs$Y&KjTdoG)v(a1LoXaT*g+aTW8I9LIoYBKRakRGxIn(S%vkepDIV#)d zvD^ACsy%R<6q?aVoo{GBpD&0(G$Dfj5v^PO9^E_y>sh2yR66htQVjhI?LYPsrD`{z zeD8Wxa_SjMF?otO>mQ?tZx0bJs6#Ve+y@?tduR^)UP(LbHrgjwi)@o`p(x9nXzBSI zNXz#+GS<3=LKXTIBhi(|{MH>B!(fy%C$ib};S@H|e#_)XPpO}Zhf1*+4ISAE@QIxtE!E!5f zW>OY9usjo8$;m+Kx6;up<#cqKorbIeQc_omAV2 z1a3P}ebRQ+=hil4V6+XD`=%h%lC5Z<+*WkkeG4)XZANPEl2MdPGK$^433Yk95t)qK zh)U8nprhZD5I!vl^({+8OS&bZArb4*_}lByCHr;cnjLgfH38WO)}qFmHK@sP4RR=4 zjm{gaMyuoFQPih6ls7L9Db>cJHKSt@`@|}wYO@M`$%#R*_yw`Htwh1PE0H828X2ob zqxCUS2$rp&C?P#hpgqIy)~C>UXr$*6H2yM|fU!@w;@9wVEO^2kFm5tnyi9^|k^$qR0LH~S7!O$s;JigJE-iyG2*x@FjB!jD*H|!~amjHE#xE|6 zSzH*aSTIJhcENEG=nFL%Ll#>TG3Zd-1aJ&SLm4dxPP}Wf>{{+}P1^LcEp7U`0 zB9vPJ$F6|QYp{O<(rVoK0Xxqj-wQbZ72Mxz$nzGk5#k>qy$Ozg zg?!&3e+wLwL-5O8ge55;OrnS|sS?7NDhT7M!aP$AVIp-%*MM|QgfX-sT?b)&2Ev4$ z;FvBP>x{6vE(pW);Jj`KW9fsv?r^RF z7l9kz9)~OS7|Y(_l!!C5FXC$@7xCF2H{h3yquATG2jYFUCF2!K7vZJ@_Oh>6X5r7S zzr-&;{)(SkbqmLqFUQYrY{XZp-C#!=sNw~uW7vIORNzIkb#VOq2K?xVeB4rTD}HUf zIp;=YFeg;-nO(Sh7Cx%n8&B8hjO$%l%(-w8=e)mm8hQfp5He z7k?0-&vAP`fa9z-h~wGPgX8?y3%q>3FP^Lu!ne&1#qX#FasZ1S^DyXMd_-gk`mKbl0_^{9%F3QYVMXy{-hjRr{*q6Xpb zTb&b?M)S-GTjSCe3RnCg{=+xHSWa#$WPe*|ev&5Y{2xf!p$SW*CtB@dLK|wQh5F*7 znZhA-y38w0AIf8t|FmaTU`^~0X*q<`dRkx=<1NLD?vd0w01TX#G7RXX@p$ad1fuhPMKGAP6-touyar%*znh{7Zag%kq6imV;* zDCAPeqL4`;MxnH+HGdt2RTLIeD55ZlLLr3$3i%XrDP&Q|q>w=&Mxpc*RUU=FuOhqN zVhTkRCQ&G)P(UG{LLP-&3Rx5~DP&NHQ7HXLl}lk2g%S#jDHKtdM4^yE0fl@Dc@%Of zWKqbZkU=3vq4Wb)K7~~jN+>L*P()!8g}|#Ks~;K#RGd#Ck3uemEDD(vGAP8_q4Yg< zJrq_^D50>JLQy+RqT)gd1r+kzA&-i4DP&Q|Y=;agj!`IWq^_$SR#9;Yg~jbqM8%UR z6t+VF73WjPYlmDa&Z3an4jEJ&YlqTz)b+N*Dk?6au(%zHsCZI46jE_PJLFSwUOVJc zaaKEIQgKE*#Hcup(zn$0x5FwbE@_9wRGdZ;6;Eo1LMl$9fQs|mA&-jF$fe?}cF3gS zG%~0-jTjY&H9NBYLSr2jr?HBP(BHyQ|P%?n&^c-3TqX7bbL`&wL;hjY(5f&gln8I7>ssoaGJTr zpNIBUZdU30at2!Q%%-fdw>KIl+X5-RH3IcCH+YmdeF{=cw&NaBn2Rb7D1`nc2}EgQ zzBTG^7=eaY7T1lhorM(VK5f9J`cZsq_NdS=@NMG08OWzzc+W7v57n}oO&*0fp|q~H zD!K)HwEyx}h5mN}k&1Kd(ykTbkz!1jPY2w5D898}C`MzGL7KTI!t36~DHsN$9RlIu zCpV^1d~1QI*wWVEu+C((<+YYs=PCZ^#jDTEEgvSJK6@6fG=JxZW~}?>l^-z?P1c)N zvb4q@C3GqKx_<2xq_E4j%1>cFa%K16TN=+qt$b@5=;{cUeO_DUpjl3fwVn=fMhZun z<}Fq8kY0eKYk*`Dn)vya&g`KiO;NnU^D{l55d~ewwaGA*}fpCpQbcME(nc3yv+NdJPif_#p0oj@!zmbFVk_PE!o+Hqe?vrktM>DX>NmEhqt|{EdK{JuxsI#?kSNO=SkZC%F;f2zAe@IMN?2QV9 z2jp+6`=a29+eSP(?T?1v-Yf5!F`wdF>x%kp->-c3I)V5)TOVCN=0@?YO+rdd8n3r+ zoq^U@8`W>nor8p%)p-TY-e{bry zd1rM#I{m?HM&c=NG^#?f&v$14igIc^)Er@s)OiQ(^sbCWhhENGyZPaCWVik96wk49 z(E}}%JG#OjE$wS@=~9L%;ne|N2JT2c@YeOculdN7neHiX?T?ZaOu6~d!;p+_O?MjVza{Ov(=H#1 zZ%rPJ7CIhKG@FS0(Ny^zAHC2Qr@z-O9)VOAZ=O-v;E5h`x`H*<@?*!L&;wJLDxTgH-84Z!}R z`it$CN3_>lY&HEK(MQCjZS@f&-ud4TegFL!eTn~B`iNk^Lm#h0AFo3n?|-m9-v8!$ zK6h9`FcAEO5dOD7SkVS${uI_^t!Q16MXt}61<1oCPdP!IC(B2ks}Bj?AV3DJ^&BDW zwcF~b^>5U&JfO&H`89`>JiX1<^dsK7KJ3ry=UVmoo}o4;le^qs? zu|d}>YfdMbp4Y=A>90v0ud7#kY$5f#kiIe^b-UaGo~|MFx{P;N-6VCoysAeHCH1+S z&QDJyb-A9svj`&fxQ;a3u_AT2rmnAwB=xsM^9EIux?6od7&Vc4TVaWYGMz2MWtRd; zeJ#8MR&#@{){RZsGCi$c*SbF^b+puK8St+J1_6A+7-rKjIC-ty49B~gIb+B5mrxMvth1K7ndu2(?nosIoIaHM-lR8(A zlR_Vn`c~DW3O|#&R@zy4d8D4z*KK|$NgXSn#aF(P`c>(%_dAoiRaU(o9wzmwCM`?Z zPU=)OxcE&X^{Jj@$HtPnRHtV3JVokJrA92;OzKb#Xc`bl>Q4nubLmFvPF+;-7 zZ9aeK9jP-_)MbYusW0^;)iRgVl~SoX@{!b&N*i%+HmM_Zx+vO?)Q{@6*6=o|8#UeW zWGtx{RX)cyj?{_zs%PAj)Q4JI*DZ?Fg>p+d@ru-gQa|!krUNxfb^CTw|0y71gf*%A ziZ^_7f=OmPneU8R*4CQnE`rG$#Bt4JNCt!@K$ zllnLxW*!wPrMOG@2VbA;4M3cdg<-9aD8WY_{DQWvR;E0{&^iU->7tq^{9%hWlVr&uBp} zT@I;Zbp7GZU8H`|!4V@4kh(<%7L%`&dPRM{!76#sDf&8jfj_BFjWe z>JiPW{QQX2A!=<8Ptb$-hO4CR&=CSw(1YI4(AO13q|VUZ>7|`WeW3tfxe8KODDUia zQ&LYTC3)LCQb%Z8h;Yb^?_>RN4zI> zf&S!wXx@LC@1N%Rr}_P9UVoa;pXTwW`TJ?!ewweJ=IN*T`DtE$nvb96;ivicY2JOB zZ=dGbr}_11UVWNRpXSl0`SWSse3~zx=EGN=}G2a@{f znLGzCEpLPwUy!I`*`FJ*`_$>($db^|U@ctxHeq(bGEgwEjG;J5TG) z(>n9CzC5if-=>oO6L#e=a*7LcV&SjG;*yYIan{SMVIXi7D8p` z`a#~Gxqz+VZ#D~MR+&&M3&9eZmn@$NSLX*-$x=e#y2x!9rroBD$&f1qN};a+!>r)0 z20|eJlJ{y2DID0hf^$b%PYL?1M#Z$SduBp6Kk5qoDZ>k_QB2}0gpPH1Kk}66SrxvG{ zrAkuEQ>#*IQtMLdQ>Cd*saTq78Y4|VjhSYa#)5n2!rk-W{`pV?0;mHa)It)}g9vJ( z80ta-wNVB2Q3o|5g*w5~Rnr+zFBn%%)`Fzjm{?WJ5bKMXVly#IjElKqS20iQA?AyH z#R74JSU-oE1NY5S!^!{zS;DNOEKyc5Jh>`(YEpP&40vWNcwW40KGd%eYFGr%O9IcT zE}OK^0NX6E%LAJNu~3{O7K!1@0I2agu~dxZFrWlh4mXFF!_N`q2y>EhL^;JdlANlX zx*TZ^mdnUx=CX3Rxx8F{t{_*Ko0KccEzXtXR^`^^N^`M1MjkVdmB-EF}8k8YrtCN^64hRG~zDDANo|#i3kRDA@zb_Jz_Tp!|5af)v>`l)+V$!*$fa zmDJ}+^P2LoeARqLzJ5M4-z=Y%kLPpqUGsVQ9{K!y-+V!SM7}UTK0hfxC0~>;&M(d{ z%a`Pr=U3&|`~u$sK|w@;upqub zR3I)WE+{LI6jT+|6x0>e7f1`53a~=eLPnu}A+yk|kX48matmDxd4(Q@{6b-2d|^^y zN};GwTv%LKRwyYfFRUu8E37Y+7B&@PMXE)NBK;y}ky#O|h*#uM#4qwK5)?%g35(*3 zl8RD_M8EGb&{x#33UYA$7k%buD{tSz|8H716Z$<1dOjEWJ};e@;gP}5@XZipL}Umv z;xm#mQZhstRT(uIbs6;;(u}4IEK@a;k;%+7%VcHZncPg*OkSo(CO^|RQ;->vDa?$| zOv+5jWVZ86e3?IqfEFMB2d`2O?Z2r_4`cnNe+k9$&?8cyPl%ycltI5Jr+iU8^o}Oz zAF9wp^r4TKK`+6fpSVI#@qoVK3%w-*`b#|Ym=x$UV(2wxZQ6M~^qwYJ|Iz6wDBMND&@JkzxCPeTXW5S*mGCO{54nRnK7;gRsmJ6pJA4PXSjkV@dYmu z4<1CEQI=5-KBOM}hiaxi_zoQWh6nhJ2=Esv@YKqnrlFqy(f_t>zwN#7|7i;@`&}F6 zX<#MLZvK@&{#_fE{5PG${OaXBpbz+_3t*o2yFOQyUXxyzUY{;aZ%W59R5KVE`WZ}k zrYv}>TzIa(A0xyW#qg9R@SOiXTIm1dc+tMc@nBXVhStacPZ|#%vndaU5x*ElcU2h6 z`7mnN7cdKbVH}ng;xN7z!`u_&YhWU>{lP3V2|NV@W{XKMBh-gkUlPph^kIBU0-y4` zdk{hE)Q2`14}HEV(+qla3e2=sVWt)jb2BE)#zZjEFks}U&oP6UPYTR(nBdLH>q>zc zhZ)Q%L@<*e=Mi-7X@^XrzX)F)c;5I2bEE5GeOvFqx6!wHy7UVy7c#%QA zLLpzvkgp#I@*m5%jZMWaT@&4_Eyt-IKO#mP^v17x*YjzUMA5odtY}3(D_X%#q#!RR zFRwl@uhU&#%Zy!@B=p(6;EDuRmMn8+g-MDUoqIb43l@j?&GQXont7QstvDPubBv!? zNN{MdPZ-lFI7Bee%8=EwHFMWrj|7K!hWP~tSsAm8$m0r~^?x289~>OUbXXYX8yw;n zwwPtuO^d~5;nuJXwqjXN>!xL84bdTx2-`H)Vp)}e5#`SElO|YoW_2Phs&-bN;u-4e z7c?&niea#{$wZaTD&xK9&JPZnOJA6J=RaInAC__Jg&F+3FsIZtwg=je)c)D`x^3if~Sn1+rH)rm5;fQVWt!{rd88UK_mz3W{@iE#sN=DJ1#+?n+I%b-Sfsve z&V~q|ohhMOu|@CBG%^pl>#p;<)W6o+rTgn6qqf-bCg@lCj9Z*r5LZ5#*b~i*4^rAY zn$AuU8MaEFJP1JIl$nC@QfO09d`q1Z_n<#V!@SD#J0s^rE-7&y3wZ&Us+E zvzL^mK_1poRD^C6+otP4(~!fK<`pguoN+Q(#0c`Eaey@xjvOhY$0cKR&3|+Ap}d@v-|sJS}p-4f{Jb z8gtn4d!qdNto}H|E3tUm5zZ}s!lW33!5{2WMA4dQv)AtLUz(bEDepG(;0aduRm?70 z7Dvawcc`1idc4uhFYct^QDb&qrO+`XTpN7M67Vr|C?De~2YkHbrqi|`DS@B)FYMK% z!{LCBVOv|Xwzp~bg>DwJ)^aURrWe^?33fVtv9~m22T!se*EgX zr@{%*^_vUF%ov{Y*DUF^M}E@{LL2t?T&H;1+*vet>LA0EnL+3C^f}SqXR?pxEsXEp z5Vy69>HZa_;Tbn@PR!%|rq%kNEni%_pf_!z@w=_-;$qF4-;eD7Y;BVwT6X#JmW{Dm z3lttzHETK!X}MK~?yYxGU-t3V=z{6e@Q_}M`Yc;LgJadjuNZmleD%~PZ+7odigXnK62KXCDXdZsg|()L@%xTCaAvre51?Zx^I^o zGP+W}r->Ey;rG7hXD`MhltRmUSnrsci)@?G0Nm8!&q5ki8x{vWiePPW9@e zsL#?9{=VBglil7((Vk_;;)vLyA+dvf!@>kZ2MzKH2^=_|9v26C1GOy`!9*;xN`w7EZ@m^0ECXgNqg|`kg`VkT#aW+I1+I_c2pg znb%qCZF8q!$M71bys~qSU;2966fP`Yz*@iM;L0x{Pns{YpAQwJjALpaUQlx3ef5(y z^=5+5>c1YITKf9!WSeQi=$DLJAqow;V_)6VN?7XbuIah(d(cjmdzF^c^tCv}{O`A0 z6m#X%Yrd>cKXUA(|3o{h*-!chU3xplqUSrq@TIXu=i+YewfHN)LR<1=&x-mh^)Vq6 zqxFL<%6D%rF)%zCyy?!ItdpYy3NHL*zwziZ)a{PE>vtON34jdTLwX3p!|JWm&>)3+xv1M7YY;4%1 z>)}B3zhJI2(Qm$YXqe}G!T;`D=Po;)DgJierWJBK(mun^AGX^a?Xrfp$ zdAfg3uNGnCu-Da!CSy2@!c=CSno$$W?!WMYc7q{DEi$}$S76YRx>rQv*4+!VXIr@I z&*59|zP56#W$zijE^F@(ied2feLi5YF7UOP8`IS;} z?BLR->mi%G(Xoj~cQ)kPIXIoGVs-y#mt+r0d&mJ3ATU@;&47mCtUmE_=#7H^Kf`&g%R1 zKJ0bxdvDoUQM_p4xS=;gocHzl2o5S29Mnd7dZe5@KsG&6Yww!=ebb}AIRbKegu`rT z2)HI|E18cXCr1#qBBQLR{r`^XQ9qUmjJGgbG7NI^6Zm?EFr6p3FkL2$9m;mVtq0iR zxWfR>aE`T=39Ap8QK56spC9DNdm1o-^lr=v-XYduMauGF)KKYv<&&-38`mf=p*0paM`@Ga{LYgV&sD&90+nST14Z{54Oi96~~>wZo@ z9`o(y+Daw+V{+lVehN)7rFyaJ_{V3O_aAm8^Lxs)A-&x7BzTRXC$hKQKezBKT4>@V|Tazg;@}LH$j^jsxT0^78jCSF=)ku;R>S%g~st zb=vz~Ov5<&OG@>mI%@+OFT9wRyZNqg%$Vj6yDwg!^o?=By8nAO7ASW|E&je?dU|fx z+IqhtRf|m3q1l&TM4aJyE{$6`dv>{liuhQMqgi+58j+^nci+-jGrxdN6{2Y& zc?~V^MyA?a?W8&DS?J!7Rj>LSn0(xE>c{EFLYS^o*j>e&F1st4)Tv22SEWYF8?mD0 zd;EL`%2v_xnvkUWZ*Oev2S8|SKZj)%>bqLeOqTx7i&e1F_z_W&gNF8_DJfa$$i7an zhQSlJ;S8~v_P2(1?O5d9u_2YSKMgg~nYHGw@<{8kO>LV9%$3L{vZ41Zq3U&quU3l- zrcH_+Yf&9nntfPqpHklKLd{Om!=F10Xso^UX8-!?3n3EmbAKz>v5mEZE^Kpj*&8G6 zvvon$&Ls!#@a9+a-E=|w!l0y5{<@UQ619HXOP1VX%jpLk?dr9ucI$A2+n^lj7BP_NtT8Z4&!jSo7I>^z0H{6@(eo#O4CxAm6I Gi~bjVHPRjc literal 0 HcmV?d00001 diff --git a/vanitygen/windows/oclvanitygen64.exe b/vanitygen/windows/oclvanitygen64.exe index 5aa9dc17f1dc551ed35b86c98d0153389493bdfa..ecb045e273ec02c45665b67b467f31077a392143 100644 GIT binary patch literal 453632 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

      v-rW^?!Jjf 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 MUaNusu^RaQ0L^*G%m4rY literal 0 HcmV?d00001 diff --git a/vanitygen/windows/msvcr100.dll b/vanitygen/windows/msvcr100.dll new file mode 100644 index 0000000000000000000000000000000000000000..b1c3a5e77ccc7dec341d58a796aa379a4aec9517 GIT binary patch literal 829264 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�SX&v%MZyjO2seU?>o{ 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

    ZBB$?zB?$Ic)anE1oSoth&`;+ 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�}3Al%y|-UzQ7L#3LgW^T_fPqfL{m{ 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