From 0655c17175805bcae5343ed59d1481a358b390b4 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 17 Mar 2015 04:10:19 +0300 Subject: [PATCH 01/10] bring mn inputage/sigtime checks back (+regtest support) --- src/masternode.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/masternode.cpp b/src/masternode.cpp index 915feb77e0..a50d5f2c92 100644 --- a/src/masternode.cpp +++ b/src/masternode.cpp @@ -404,8 +404,8 @@ bool CMasternodePayments::ProcessBlock(int nBlockHeight) // pay to the oldest MN that still had no payment but its input is old enough and it was active long enough CMasternode *pmn = mnodeman.FindOldestNotInVec(vecLastPayments); - - if(pmn != NULL) + if(pmn != NULL && + (RegTest() || (!RegTest() && pmn->GetMasternodeInputAge() > nMinimumAge && pmn->lastTimeSeen - pmn->sigTime > nMinimumAge * 2.5 * 60))) { newWinner.score = 0; newWinner.nBlockHeight = nBlockHeight; From ae9aaf6c50ce9cbf6e191d108f4ed8dcb542bc92 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Tue, 17 Mar 2015 11:59:42 +0300 Subject: [PATCH 02/10] update docs with new mn donations feature description --- doc/guide-startmany.md | 8 +++++--- doc/masternode_conf.md | 14 ++++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/doc/guide-startmany.md b/doc/guide-startmany.md index 65fa39f526..7bddd4ae18 100644 --- a/doc/guide-startmany.md +++ b/doc/guide-startmany.md @@ -97,17 +97,19 @@ Make note of the hash (which is your collaterla_output) and index. ### Enter your MasterNode details into your masternode.conf file [From the darkcoin github repo](https://github.com/darkcoin/darkcoin/blob/master/doc/masternode_conf.md) -The new masternode.conf format consists of a space seperated text file. Each line consisting of an alias, IP address followed by port, masternode private key, collateral output transaction id and collateral output index. +The new masternode.conf format consists of a space seperated text file. Each line consisting of an alias, IP address followed by port, masternode private key, collateral output transaction id and collateral output index, donation address and donation percentage (the latter two are optional and should be in format "address:percantage"). ``` -alias ipaddress:port masternode_private_key collateral_output collateral_output_index +alias ipaddress:port masternode_private_key collateral_output collateral_output_index donationin_address:donation_percentage ``` + + Example: ``` mn01 127.0.0.1:9999 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0 -mn02 127.0.0.2:9999 93WaAb3htPJEV8E9aQcN23Jt97bPex7YvWfgMDTUdWJvzmrMqey aa9f1034d973377a5e733272c3d0eced1de22555ad45d6b24abadff8087948d4 0 +mn02 127.0.0.2:9999 93WaAb3htPJEV8E9aQcN23Jt97bPex7YvWfgMDTUdWJvzmrMqey aa9f1034d973377a5e733272c3d0eced1de22555ad45d6b24abadff8087948d4 0 7gnwGHt17heGpG9Crfeh4KGpYNFugPhJdh:25 ``` ## What about the darkcoin.conf file? diff --git a/doc/masternode_conf.md b/doc/masternode_conf.md index 1ca6284e73..2113bf38d7 100644 --- a/doc/masternode_conf.md +++ b/doc/masternode_conf.md @@ -6,18 +6,20 @@ The multi masternode config allows to control multiple masternodes from a single * Mac OS: ~/Library/Application Support/Darkcoin/ * Unix/Linux: ~/.darkcoin/ -The new masternode.conf format consists of a space seperated text file. Each line consisting of an alias, IP address followed by port, masternode private key, collateral output transaction id and collateral output index. +The new masternode.conf format consists of a space seperated text file. Each line consisting of an alias, IP address followed by port, masternode private key, collateral output transaction id, collateral output index, donation address and donation percentage (the latter two are optional and should be in format "address:percantage"). Example: ``` mn1 127.0.0.2:19999 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0 -mn2 127.0.0.3:19999 93WaAb3htPJEV8E9aQcN23Jt97bPex7YvWfgMDTUdWJvzmrMqey aa9f1034d973377a5e733272c3d0eced1de22555ad45d6b24abadff8087948d4 0 -mn3 127.0.0.4:19999 92Da1aYg6sbenP6uwskJgEY2XWB5LwJ7bXRqc3UPeShtHWJDjDv db478e78e3aefaa8c12d12ddd0aeace48c3b451a8b41c570d0ee375e2a02dfd9 1 +mn2 127.0.0.3:19999 93WaAb3htPJEV8E9aQcN23Jt97bPex7YvWfgMDTUdWJvzmrMqey aa9f1034d973377a5e733272c3d0eced1de22555ad45d6b24abadff8087948d4 0 7gnwGHt17heGpG9Crfeh4KGpYNFugPhJdh:33 +mn3 127.0.0.4:19999 92Da1aYg6sbenP6uwskJgEY2XWB5LwJ7bXRqc3UPeShtHWJDjDv db478e78e3aefaa8c12d12ddd0aeace48c3b451a8b41c570d0ee375e2a02dfd9 1 7gnwGHt17heGpG9Crfeh4KGpYNFugPhJdh ``` -In the example above, the collateral for mn1 consists of transaction: -http://test.explorer.darkcoin.fr/tx/2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c -output index 0 has amount 1000 +In the example above: +* the collateral for mn1 consists of transaction http://test.explorer.darkcoin.fr/tx/2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c, output index 0 has amount 1000 +* masternode 2 will donate 33% of its income +* masternode 3 will donate 100% of its income + The following new RPC commands are supported: * list-conf: shows the parsed masternode.conf From 820e660e10d40c33db742242d93ed6002b76e78c Mon Sep 17 00:00:00 2001 From: Evan Duffield Date: Tue, 17 Mar 2015 04:42:32 -0700 Subject: [PATCH 03/10] version bump / protocol bump --- configure.ac | 2 +- src/clientversion.h | 2 +- src/core.h | 2 +- src/masternode-pos.h | 6 +++--- src/version.h | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index b43bdb87ad..a9d2aaa0c5 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 11) define(_CLIENT_VERSION_REVISION, 2) -define(_CLIENT_VERSION_BUILD, 4) +define(_CLIENT_VERSION_BUILD, 5) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2015) AC_INIT([Darkcoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@darkcoin.io],[darkcoin]) diff --git a/src/clientversion.h b/src/clientversion.h index d8efe956d1..3971decb08 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -12,7 +12,7 @@ #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 11 #define CLIENT_VERSION_REVISION 2 -#define CLIENT_VERSION_BUILD 4 +#define CLIENT_VERSION_BUILD 5 diff --git a/src/core.h b/src/core.h index 6d6ebfd2f7..4868afc66d 100644 --- a/src/core.h +++ b/src/core.h @@ -43,7 +43,7 @@ static const int64_t DARKSEND_POOL_MAX = (999.99*COIN); #define MASTERNODE_EXPIRATION_SECONDS (65*60) #define MASTERNODE_REMOVAL_SECONDS (70*60) -static const int MIN_POOL_PEER_PROTO_VERSION = 70070; // minimum peer version accepted by DarkSendPool +static const int MIN_POOL_PEER_PROTO_VERSION = 70071; // minimum peer version accepted by DarkSendPool class CTransaction; diff --git a/src/masternode-pos.h b/src/masternode-pos.h index 0142a906c4..39533bd147 100644 --- a/src/masternode-pos.h +++ b/src/masternode-pos.h @@ -25,12 +25,12 @@ class CMasternodeScanningError; extern map mapMasternodeScanningErrors; extern CMasternodeScanning mnscan; -static const int MIN_MASTERNODE_POS_PROTO_VERSION = 70066; +static const int MIN_MASTERNODE_POS_PROTO_VERSION = 70071; /* 1% of the network is scanned every 2.5 minutes, making a full - round of scanning take about 4.16 hours. We're targeting about - a day of proof-of-service errors for complete removal from the + round of scanning take about 4.16 hours. We're targeting about + a day of proof-of-service errors for complete removal from the masternode system. */ static const int MASTERNODE_SCANNING_ERROR_THESHOLD = 6; diff --git a/src/version.h b/src/version.h index 4c6f90b68a..c4b23e1f13 100644 --- a/src/version.h +++ b/src/version.h @@ -27,7 +27,7 @@ extern const std::string CLIENT_DATE; // network protocol versioning // -static const int PROTOCOL_VERSION = 70070; +static const int PROTOCOL_VERSION = 70071; // intial proto version, to be increased after version/verack negotiation static const int INIT_PROTO_VERSION = 209; From 2633df7c4b19d3732aaf26d0bf43d27636c29d8e Mon Sep 17 00:00:00 2001 From: crowning- Date: Tue, 17 Mar 2015 21:38:22 +0100 Subject: [PATCH 04/10] Icons for outgoing transactions changed back to the color red --- src/qt/res/icons/tx_inout.png | Bin 39749 -> 3510 bytes src/qt/res/icons/tx_input.png | Bin 39749 -> 3210 bytes src/qt/res/icons/tx_mined.png | Bin 39749 -> 3593 bytes src/qt/res/icons/tx_output.png | Bin 39749 -> 508 bytes 4 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 src/qt/res/icons/tx_inout.png mode change 100644 => 100755 src/qt/res/icons/tx_input.png mode change 100644 => 100755 src/qt/res/icons/tx_mined.png mode change 100644 => 100755 src/qt/res/icons/tx_output.png diff --git a/src/qt/res/icons/tx_inout.png b/src/qt/res/icons/tx_inout.png old mode 100644 new mode 100755 index 49d7fbd647c50620e272a401293bcdde9b83af8b..d68761b95884a580b5ee1f9fd65e8a5882017e07 GIT binary patch delta 773 zcmV+g1N!{MwgR>ru)hj_0^vzSK~#9!?43Vu;y@gQpHT`*G$+Urh?E1s4Z;n=4MM#| z63IQ>0B%5TfO|K-K{x?RIn_9YA-h^x5F5|D(fU2fRRBxBkC|`&;Ur~QLg8hg5(t0* zC;}h=iU9O8Wm$e-^rZQ7thMoV#nS@Pd;(ytE{Ie7djMNGfK&W`(W&?&0pMf}V60IP z=iC1V;7P+!PVt`rylNi6DgL;RBc3<_RMK7dRk|^>fL=?N3qaB(0;rZ5UR81ifJ(Yc zm74*e=QG_HTEG^-y-LjhkmgGO6P1|(ppx#3O3VNt=@J1{(%nhAycVG1(*UHomKkUO zD(OC}qznLBUT&R#6y>kSqwkyCML6QwMFL<7Ad9^VT1vVs z0BQar>9PP+r`R;pr2y#hDKr7Hkr=?XyD%>R|H0EElCarWcdiv++=K8&+(KY5`5be{qZmh=Und+E+E zNml^K(iH%Ie_8xQx&q)Q8{_P%%^Pq3kzRvDwjtBizC;0F+N9qH{_Kba1rSpXgJBn& z;YR=u#@T(-H=gURF6g$*+7w?7=uW!Xtsf!)fu&28@PFcf!Z`bI>;2_`_R{V2Q3?Xk zERBbo0zh155P)u_yYcbCl5imDO2UyyS6xuU;&&~4T>)q|(=B}8L;&iu@+DnK__~BM z&6VR{-ks9!k2kGKl8?2?v(&>Dn^u-uD(zfc?Yt z9=Cwshrw{nu6v&WOk()r>rn;dXcQy>0-y*$fAci}iVlPeL|S!i00000NkvXXu0mjf DB^hg` literal 39749 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 TT=Fz6)LlzWPc==&^3;C-6H?Pc diff --git a/src/qt/res/icons/tx_input.png b/src/qt/res/icons/tx_input.png old mode 100644 new mode 100755 index 24fa1ed92c2b871fc153ecfc8a35eec7caea86d8..0d8fc423a7b4bc779af3c163d8c20a513b9bed12 GIT binary patch delta 471 zcmX@Qjj2m=!+x%M#;u+%jv*Dd-rU*fd)PsO^}+oPMk6NW00W0jj&2;%7lK<3)w-SF zkW~DVw~0}EL!)Mo64$DZC$gWuFS#=DU;pRNv3@0wEv7vwN@rnU;9y{2VrXDsPyjL; zex}GA|ExZ*?#33Y+1a(XA{qZ~ShH%cdqCO`{?O73j58nV?`z**&oJTSzEyI2SyTW0 zy1y#xt*MFepVH9Wx6DR|>*qX{_LpV|e);Zs)GpmM4UyCH#2j9-F)mAPTRTymVcDg- zlI2VZ&#do?g&kP9O0LI>@dE$uRZ&vKObJ?d#g+XSH0~-K2-)Snbapgjn>_Oi_TxN; z4J%8`-DWWq?5Qc-HUE0xu66ahx0Klb`>=C=R*Kp3k6&MYz7=0||AF-Rje-rKp?kOg zUt5&@#>DGVw=lYTV8-&Fe7=QuB=*Qr| pz#sr&6UCfRypMr_;s1YT2F|(Antd7jnk}To5~C!PldUw8y<*LB|B&Ux#Er|Y=y>l%+?p6B~KpU?ffe`96@9Mw^!Al*v}K@f$y znvy2no4~o6B2ZBg-&ms^soJ6y7LaAZ+O zAXpqPI@p{&Zw*1NJ!k`@p}_>b%;LbjqNYFUwx)wV9Wjf(Vi1ZpjDwq%gj&O&HL;sc zuWXmHG67Rff%Cy_`~HEo%R?Ub?K+AV-!`m0>69JMoI~d| z5tR~?N2&?yiK58U6!-6X<6T`@H8jd6??uY)2vHN~ongJS%7zCmc}hzkK2S>Z9Kv&L zBO``Nwc|!^Y+c-H3r`Rc4K)e>%p z5XwgVmJQex*btj&|FCWauT1TXG~3QY55dw5C-_m%DJD!lyRi`WI-HX##QV^LZDDXyxW4c z#~;r!(1b0Rm?6eziM33PfF_8Y<&{6J-T}=pQ8hvRKtmQIHRf5Fi#sIzPN+N!ld6G) zuCMqOs|w!s%GHy3P5uN?m@2;ahRQv%<}=QMu_5#cam^PW@0GbJmN?#=VN2B$B8#XN zD1EnwNVxL60AE#w;-e!xB;i(dj}By#XH@Ndcq|jYC}6>=>5&TojhAvMi5P*4B8$a- z1vL{b6P+%#RF-}0BD;D>#7XdP=#_IG2v5~~%<*j3$I3mHLV|uKYCLQmG$FhBsXhD= zmE!C)0SF<^!q6S+j~*Dd(zL3yUeITo;7N-UQQONF{;KDUT`rNtZ621xH9n*0(TY*w zQKnJWSu;|!rM%OFC4*ru{n~RHjAPVeB4dQs(LxGF_ha?@Qxgq$iH00k%u3AH&(ZTs z-7WHStVDx1y}D*n*1d?fy|xUti)VA*IX~OgAF*F2s@b@;ZbJ24)I0on7jg<;I`3+K zBo|}c9-=)+MwdM~(OSujZ9$CHh63V(Q_I_5DP8nRyRxuJb7)c{}9hqU2jy^hNz+`|-lS=hVN2WR$%02KjT@4^K zt@lb@RZ)LK1v^mwxAOn&hNpW_myNhU_e zPv)s)p|cKl6lE2q>`E!r3D?Pp??6^O{4M`gep&(J!?7;H-t2t){Hqp7O9o`Y%j}Ao z@RIPW&#wNmDnmr!*G-whe4N?y(&LM?lE)+mVjJ(w$X$IoA34E~G-;x4>JlEw-(7d8 z@+{gQu1yumfGoV^J?9@3pn1KHFG`j#j;X4@resvZdBN%AkbCO_Ixa7+d^)u^XGU!1 z?2KRE-FlI`hvH3zFEv-xAl~SWwaAg(jS#RK%=FYn=z1ZajI;4u@rM~_bv`Uea!Fsb zc+VjFLH6R^5!n%G@d2R$)6@0hr3Ezwb-EP}@uz(T5!cu-XE5%V7AOUE5D$qT;HBVY zwqtq8{R-=gU^&TN>kqlz(+W2e3Ki%SLat|BA1ljZwXOLzG>dg{Ji0Ng@hqj!QO|cB z%|sS&ErKdM$vJ)ee2jhNf*t)$_O=K{iMq7(AubIneNu{48i+#*>PqDBYKU^nrt_VX z?h$_`@=UIZ&&IUA-2`o-eqM8*1Rr;{*oE`Y2Un)&{D#rPWFsC7(fluD!evRKUMKg6Nf9UTEe{Q(n@1#pHK}$GJMWiE@$F#x^e+0%|29GvW_7OxNet z_J)ezd4Cr(O;b)YbSpo}SJRl6+2n0W<~fO6X(zW{(h<6yhkcI`W=cN|%;&am*UgwV zj>`5d;c(Zs^Ey>ld%f%lp4}9g5$TxE)v3PD>65x9{HB9XEI#?7nPlk#0<&p*8KUT} zb#e8%jxqT;)V_%6yZtyVqq6W!lTEA5#M=Shcr(h#^r*K{lou$vdmd8^9(z2!@Ikqk zKdOPNx5zsmQF#A_^wVPNlvj-nQgVh54Cf6$8H&xc_CK-cT)NOQ!{kx?LFCu=UbEuG zRoPe1dyVjnwA*dkt(Vo8^A_c@1JWm!BA4w?X6e{FO;_W$;;$01QRa6RzHVo3l`+&0 z={P*4N?HBW^ELE)7hVc63Zq}{R1LE^D!GkLERqZ^?x&FKxqQ_kMswdya zKJ(st`5xm|jf3Z?9Ns^pb{=X~#srN^6-zaqn0@Lzo7+3K+xV$*Y>wn<`$^|X>9z1S z-Rhz{MX}k1C+rGm+)JK#*ep&k#fvxg&zHFUMvv)ekC%|?FPU?9SbVv-Fi79;d69Fq zv974wg>xpWShx7}y!^C6H=^IKUCwN+uj_r^wR5E|33Dxds*8j^-c4&^3n5g9ogpzH zb-on7Q}IV+B_xLBF0M|jq#&BkG;zc;tle9y%VwbG_gre9>TGO@Zb^)qjS7EZe4tN+0_Mu?FMqmeQ$sqXu2><~wPXr(U2!NRY%<-TCfB={Yz#I=M00@AY z0L<~A0)POR3BVi=DgX$8nE=f31mBx464UU#hxp_E=GZ$4fBeB_e_xLj-t36KJpPZg z1j%F1^zL7t?LY9BKZ*brEZdxaAm9IaNk4)B>UH?I?Y0{~f&kpIgMH&@dk(k-ps?7F zZcp_8zG^rH;J{zo&hT;94wnGjlC$le@qB5r!6ATp9X@Wm?FSqJwsq6}e8z3H02KBF zaBDvp>jbt^fH^jE+c(|MXWmu`z%|{F&%?p}t$7xNYqq$T89>wh!i?LB3c$f<`9e1M z5thJa3&1Tq@__W86WB}v=Ga)rKaU2#!4cRj0ifxA<^0+V0k~%S0(%2Z_bVi9h5!Kn zE5QH$kc}1qUS{~6>{o6#Qh+%&6L$mS8whNa09@0>&3-Vxk-&HVj~Mo2DY#}kh`nu8 z(^dG!YuK!ZH)B7t@~_Q0`0vO4uFnOn!{6wpi#y(rFmMy0bhA(7dzT>GU%I&E2aLZ- z;BO1S&VEO1rupB@1-q>i_*(+7@a3`l<7Ph?-$~$`1z_Q`U^8>RGZ*Z>PT-patT$a8 z{Ed3Xv+YHElK?C&+_D3j?gmbquNDBB?gmo-!=b)P02cmH>^`9B{sG)ZefvKJVBzDI z9Pl#3MiKw)IDaW%z3JlMgQoi#xQ)8|mjbXMIQXFHZWQe=9Oq93U}rxH`*_^i55^`E z_@aRIrh9D@bHSn43H+A;&~&$UZv2OU^`;B{(%nJ_UwS{lVhi(sz$_9k2wZ0_7koitJDXf&Bmh{C~A)G<*-c3yKhn!{H!IxZDr{1yBG( z0TjSc00l48O#iVc3epxl`!6R zG8FI{K32l@o?qo9U>rV1g2KQ}N5C|ET?wY}*ZaHl1(?IvkpNox^97)H78v+$66V9N zkQK1`d&?acd^-t$b}PR`3MhvQs3L?vPlA2hxkUt-*+V$)xSPJspkFJsH>3JBQuTuZ()W@h&ihb3xGz zTrB}D;ZNocDWE6(uoch~{$$=E1w0eJ-c~fWAskEFDUkwp8Ns)0x5;foL%@F+ZXTgC zFNSSs82C+p{WyH4odm;kqVom#`1Q#W;GeIzMOMO%1DN#TyGd9f1+>|~x0e7FkQaPA z3AacAPuanrFQJO90+tUSFqmxxblJi;mr%tbAU^nJ5=x|iK705k64v__M!zIMo4!T&G!LO|mUQ0p4=B{tE69717KoFnl?Gr;3< z?mOI^wrq0*fITl`%n26eT>@(TjUTlQgMCjMx|#8_;>@&<`SOL%ml9>;T^THT;RU~G z;j|Sin1svYf*DVo@IB6ND$RM6{W(j!=*1KMmx7Nz_}1cm$>nKo|Le-3o6pocQ~P2v zt62(IInU}VnlAR`Owyh+t=YeNQ7K0M_yVpOayU3h-P8 zkTjFIZ=}#7KP8^#zJ~x17s?NI+c&tUiaWik zO8G<<_ePnw`OL#}9UR(*I;vCLH36W-)2DVwS}t>z?{a2e*P)B^dYGIyaK!EEKjxId zqj?jE>w0O`=MJ%1ap7e4ix(a3?ax=1XxrL9usSeADB4(HHMs4IkLvgSPtA8*#r+no z_tRqycjoS)P+E#Z%aGo=fdXBSRwDCGEVr+ipj zyrf8*SDSsa@9Z6R3sMhhO9ob66Opo$d#ovkNC*m%$7UN3F$9unI;742Tx$Gfh7xj=LYsXFAs~bg{mI*-;CerM^h7+KwqI zLF;tygf1@!79IK?n5(C7+AqUY?J?&~e0JiJS%-Bma@1`0REP=@h>Nb-abuR+apeo0 zH7U+KFGJMvW%31YX0j-jY?GHQE!MuiRGKYpQ^obUshlaLv#za4Wz0G9X;bxeFQ(~! zD+<_@nY^@d_H(rKt&OaWpX(>$W{WFLd&#zhjq$K)k;L4vM8g~N?@aqrGSgv^LXfq- zwAj<>Av5H7y@T;3OT?!i!7q}?J~_qU`elo{>2MFYQ z-h{tl{OHBW70B;j7EF*7ik`_blOW_Z^J;|A6`@DRgvu=Bmngi8=#1ovbhEUU%97g8 zANqj(%*r$K&j?G&StKQ2Np4K$u%*%Zsb=DtZmJ@3W%VCS@#~8<@$vR&?893Qhi2ERUV5VYr!LR&Ev4()#M@j;T}v;` zXPz%Q-*DC2RXtH=tFo^wxU$@6xlvi=!^(@5Pa_vct0_EN)EV6w{VclamfhMtYo)Ui zvu-;YWVElnV$+kAyFFm7icP$=<=XX`x@j?K^Pc9UwZ?! zEum{2&zbAfvs|+d*b^KC3AgU07x#qag&nwa;Lkxd7OtQd+$kb!MSOPN*ul4K&9cU* zs&hRW2kw15+a*V^uI8&`DY0s|RiuX$Hw|_6F{#kv;`8M@7)g_IK8f`W{TvBkW{8oiY zv0LoMfF}GwvEj|b`-W?Q1mAfK1jZwNT7I@uz76c#FPeWsV_Ci9=ZqKKTF2wEwfMC{ z4y7IHC`=P|F8}LfnrMG#L{(_j7Vd!6K5w4Zu-L!0KUVC+DG?A9U=^rw!adk}R;@z# zVz1f;{LUtwuR3RS8lwpcCMs8DRxXxOPnO-P`f|w~r8^p>vQ9P+pIFCO8*DS2ts*Ox zuDpHQ-KOu|eL<};tsHIMf)R4%>)rQWs4DsxkRXsGJ6(F&Sxuv0cB+&#T$ddsP-_&`G| z84>H(d8u1fGE_bG*0Z3sEq;rs`mOE&E35Ds#CkRRD_`bJVp zN%rPyr#h#u*NrlTPrT2i5Q2t+!;bT=m51iQ_ke zZ<+lX=|_^g2F`wSU7u#`>d{@sSjRZXBF3HdEc@{jkvcUCvyi6?-|2Ce{c(3F=Dn8; zmok^-pXW+j#oTrFws-ZjHTBQoTK01HaqrX?mPdc=79ohpZPkwIjna)akNRfoV0*{p zp?dApw~hP0>(&3kb52RsX79>Ai~Cz%b{%>YM(C|R9&;wBzSs+zX) zxV^u_>)BGbV)$6+^4#TB>w0f{_GZ*~%&@v`6?JvlM%TBVZ&ioF9+{NooXd$y&tB(} z-Lo(6rnggnmvHQos#hQL_I?l;e)=RI zlDqMvX1CT0{HvfR8n#0X&)+v3+*;rj*H_!1*Uuc_Up*B1DTD_ZwuZDU9B%I zDxGup{vJhz4IkHh>n`+a@Dh1{sfov=eLwD?z~YP6265Ag@p|>F-G)#-=rv0 z55C{TZPGVe1pxcz0f4VR0DKt+Z5IISk_Ujdb^x#}0ssWvPHnuW3jinG4Ro|D_Amf; zC(pYv3=e~@^nn?HDVSxZC;mZzE&#?a1iAop0Wc^%R|vAm<$5I@L`a|;J|CN zu%zPuUkWf1J`9)?BzT=tOD-<7hI&lo6F>?+41pXh*awZJb-W+BC#nFW!H2=p3L2s~ z;9F8nI5AQ?5d}aBA7+3E9_&oSQoEl>$p1|t764S2_kY_kdxRD~Tqvaw(e8u%Q4Pcb zfKkuGx7?^Q(9W4s_;3Z3z|03X^TGiTSTw#r!l4lW3Z9RV2-L!d*&!7HsUI8{wmk3y zq!x_;g-Zr8H~|$->oL~wwZMXFekmI2 zAs@V;o_^~XK#2&G2|mmLu|+FD4T8vMM3{{5 zH4rfRuM1iMKKyql`3Fcun2hkrQz5d7R)D{W#2__APK3z}A4duZv3axt)DR0oW{#K$ zlNmmQ0!N0&zn0Jn@UH*}CVmxRvcvy@1I=eAs009S#tIMsC*}f)0R7I69kE3k%>50< z7&kv&0Bey)+7l`PkOuwDe&Y>3s`e=npaxZjv2`A=@HLUPO^E7ZS54DX$+B+ozAdNj1eiH#c)Hg5E<|z@N0BLX<`(Xhe%1OzP zN4kj;0g%R~r5_gX?ZF11dkacMK-51a0@NUiOgks6;KzY2K)q5V0(dv93GN+rpcVkU z8y?eF#E6Qqgb$ZOu?TPgau&4!KZE@a5yk_2m>ne|;NZ>VETsZK1&!qxPw?SB(TaeB zH+sGp;Pf z0+8uqEa1cGNI@nw5APedmRbRtM|3up@ZnS=VUK(c`%MT-&D&6@!DjHnffqD>2mF6B z0RRLY$_M?HUL1H$*g>rT5CmxaPWb<1{O89O@Z$+an!$it z;8im+F#S0)0`&hUjEvKmc~N@;#;maam%wxZFjkr_09^o#31FO_egfzMU`znx^z;)z z7XV`d7^kP70J;De6Tmn<{RGejz?cBW>FFncE&#>^FiuZD0T>Iw006_oYj@f3rk3i9 PK(!dGFxE-ewmbA6Ig^FD diff --git a/src/qt/res/icons/tx_output.png b/src/qt/res/icons/tx_output.png old mode 100644 new mode 100755 index e872a0a1388c712d7c348e8720f8bea1aa55263c..425c571c89602e70b92b8f7fa1c0d80c95bb6fe8 GIT binary patch delta 483 zcmX@Qjp+~b1eJQp64!{5;QX|b^2DN42FH~Aq*MjZ+{E~)xqa97P=Ey61Lcp0ydSG2WKUcdB`C6ukI( z@q>-0^N~wt_p^U%T@heF13&cFWxab-T3=8sE&s09wqvde>Lo zEEA5~@YR={5oV{z?3CCS=!Pi$7m?N*8dxO23o-gXu;5 zuG9OZ1s$GVy2|+1IzhDE{!FRNxrQ&7WS`zyz;J2K-`C3+r1qRuXxOvVT7P4rYRt}( zxs1Ku;S8OJ&&Td!^7!pt9$KZ&bR$1(Rms%o4j+Apdp213fdwDf)K{ zUtSV*czh{!HS@MORNwa-O-~tBff!3cw2@Kne Vy854YtY!p-vZt$`%Q~loCIB4b-8}#R literal 39749 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 Date: Tue, 17 Mar 2015 16:12:06 -0700 Subject: [PATCH 05/10] fixed dsee sync --- src/masternodeman.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/masternodeman.cpp b/src/masternodeman.cpp index 45da49e03b..9e777bdbf5 100644 --- a/src/masternodeman.cpp +++ b/src/masternodeman.cpp @@ -800,9 +800,9 @@ void CMasternodeMan::ProcessMessage(CNode* pfrom, std::string& strCommand, CData { if(fDebug) LogPrintf("dseg - Sending Masternode entry - %s \n", mn.addr.ToString().c_str()); if(vin == CTxIn()){ - pfrom->PushMessage("dsee", mn.vin, mn.addr, mn.sig, mn.sigTime, mn.pubkey, mn.pubkey2, count, i, mn.lastTimeSeen, mn.protocolVersion); + pfrom->PushMessage("dsee", mn.vin, mn.addr, mn.sig, mn.sigTime, mn.pubkey, mn.pubkey2, count, i, mn.lastTimeSeen, mn.protocolVersion, mn.donationAddress, mn.donationPercentage); } else if (vin == mn.vin) { - pfrom->PushMessage("dsee", mn.vin, mn.addr, mn.sig, mn.sigTime, mn.pubkey, mn.pubkey2, count, i, mn.lastTimeSeen, mn.protocolVersion); + pfrom->PushMessage("dsee", mn.vin, mn.addr, mn.sig, mn.sigTime, mn.pubkey, mn.pubkey2, count, i, mn.lastTimeSeen, mn.protocolVersion, mn.donationAddress, mn.donationPercentage); LogPrintf("dseg - Sent 1 Masternode entries to %s\n", pfrom->addr.ToString().c_str()); return; } From 243975a610bb1f817ccb3dac967b483b48712a61 Mon Sep 17 00:00:00 2001 From: snogcel Date: Tue, 17 Mar 2015 22:17:11 -0600 Subject: [PATCH 06/10] window resize fix --- src/qt/res/css/drkblue.css | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/qt/res/css/drkblue.css b/src/qt/res/css/drkblue.css index 42bb1730a4..a53a5123ed 100755 --- a/src/qt/res/css/drkblue.css +++ b/src/qt/res/css/drkblue.css @@ -605,9 +605,13 @@ QDialog#AboutDialog QLabel#label_2 { /* Margin for About Darkcoin text */ margin-right:10px; } - /* OVERVIEW SCREEN */ +* { +margin:0; +padding:0; +} + QWidget .QFrame#frame { /* Wallet Balance */ } @@ -686,10 +690,14 @@ margin-left:16px; QWidget .QFrame#frameDarksend { /* Darksend Widget */ background-color:transparent; +qproperty-minimumSize: 451px 318px; +} + +QWidget .QFrame#frameDarksend QWidget { +qproperty-geometry: rect(10 0 431 22); } QWidget .QFrame#frameDarksend .QLabel#label_2 { /* Darksend Header */ -qproperty-geometry: rect(10 9 431 135); qproperty-alignment: 'AlignVCenter | AlignRight'; min-width:230px; color:#3398cc; @@ -702,7 +710,7 @@ min-height:22px; QWidget .QFrame#frameDarksend #formLayoutWidget { -qproperty-geometry: rect(10 55 451 175); +qproperty-geometry: rect(10 38 451 175); } QWidget .QFrame#frameDarksend #formLayoutWidget > .QLabel { @@ -784,7 +792,7 @@ QWidget .QFrame#frameDarksend #formLayoutWidget .QLabel#labelSubmittedDenom { /* QWidget .QFrame#frameDarksend .QLabel#darksendStatus { /* Darksend Status Notifications */ qproperty-alignment: 'AlignVCenter | AlignCenter'; -qproperty-geometry: rect(70 233 395 45); +qproperty-geometry: rect(70 213 395 34); font-size:11px; color:#818181; } @@ -792,6 +800,9 @@ color:#818181; /* DARKSEND BUTTONS */ + + + QWidget .QFrame#frameDarksend .QPushButton { /* Darksend Buttons - General Attributes */ border:0px solid #ffffff; } @@ -802,11 +813,11 @@ outline:none; } QWidget .QFrame#frameDarksend .QPushButton#runAutoDenom { /* No idea why this button is in the .UI file... */ -qproperty-geometry: rect(391 -25 1 1); +qproperty-geometry: rect(0 0 0 0); } QWidget .QFrame#frameDarksend .QPushButton#toggleDarksend { /* Start Darksend Mixing */ -qproperty-geometry: rect(120 282 295 35); +qproperty-geometry: rect(120 255 295 35); border:1px solid #ffffff; font-size:16px; font-weight:bold; @@ -818,7 +829,7 @@ padding-bottom:6px; } QWidget .QFrame#frameDarksend .QPushButton#darksendAuto { /* Try Mix Button */ -qproperty-geometry: rect(150 328 118 20); +qproperty-geometry: rect(150 301 118 20); background-color:#F8F6F6; border:0px; border-right:1px solid #c1c1c1; @@ -834,7 +845,7 @@ background-color:#f2f0f0; QWidget .QFrame#frameDarksend .QPushButton#darksendReset { /* Reset Button */ -qproperty-geometry: rect(268 328 117 20); +qproperty-geometry: rect(268 301 117 20); background-color:#F8F6F6; border:0px; border-radius: 0px; From 8825e7978b875f5809361250cb51ac718f04bdcf Mon Sep 17 00:00:00 2001 From: crowning- Date: Wed, 18 Mar 2015 06:57:42 +0100 Subject: [PATCH 07/10] Wrong default them name on initialization fixed --- src/qt/guiutil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index b134b268c9..89394807ce 100755 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -776,7 +776,7 @@ QString loadStyleSheet() } else { cssName = QString(":/css/drkblue"); - settings.setValue("theme", ":/css/drkblue"); + settings.setValue("theme", "drkblue"); } QFile qFile(cssName); From 686a99f7e1cbfe8fe474d0239fbc096a2f656b7e Mon Sep 17 00:00:00 2001 From: snogcel Date: Wed, 18 Mar 2015 06:59:14 -0600 Subject: [PATCH 08/10] remove leftover global style --- src/qt/res/css/drkblue.css | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/qt/res/css/drkblue.css b/src/qt/res/css/drkblue.css index a53a5123ed..655f7f6669 100755 --- a/src/qt/res/css/drkblue.css +++ b/src/qt/res/css/drkblue.css @@ -607,11 +607,6 @@ margin-right:10px; /* OVERVIEW SCREEN */ -* { -margin:0; -padding:0; -} - QWidget .QFrame#frame { /* Wallet Balance */ } From a1ac7ca8d3008372a5c21050e10652b4523d5deb Mon Sep 17 00:00:00 2001 From: Evan Duffield Date: Wed, 18 Mar 2015 09:41:30 -0700 Subject: [PATCH 09/10] Fixed blinding submission process --- configure.ac | 2 +- src/clientversion.h | 2 +- src/core.h | 2 +- src/darksend.cpp | 35 +++++++++++++++++++++-------------- src/darksend.h | 2 ++ src/masternode-pos.h | 2 +- src/masternode.cpp | 3 +++ src/version.h | 2 +- 8 files changed, 31 insertions(+), 19 deletions(-) diff --git a/configure.ac b/configure.ac index a9d2aaa0c5..cdab575224 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 11) define(_CLIENT_VERSION_REVISION, 2) -define(_CLIENT_VERSION_BUILD, 5) +define(_CLIENT_VERSION_BUILD, 6) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2015) AC_INIT([Darkcoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@darkcoin.io],[darkcoin]) diff --git a/src/clientversion.h b/src/clientversion.h index 3971decb08..894b54dd6e 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -12,7 +12,7 @@ #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 11 #define CLIENT_VERSION_REVISION 2 -#define CLIENT_VERSION_BUILD 5 +#define CLIENT_VERSION_BUILD 6 diff --git a/src/core.h b/src/core.h index 4868afc66d..f80f210334 100644 --- a/src/core.h +++ b/src/core.h @@ -43,7 +43,7 @@ static const int64_t DARKSEND_POOL_MAX = (999.99*COIN); #define MASTERNODE_EXPIRATION_SECONDS (65*60) #define MASTERNODE_REMOVAL_SECONDS (70*60) -static const int MIN_POOL_PEER_PROTO_VERSION = 70071; // minimum peer version accepted by DarkSendPool +static const int MIN_POOL_PEER_PROTO_VERSION = 70072; // minimum peer version accepted by DarkSendPool class CTransaction; diff --git a/src/darksend.cpp b/src/darksend.cpp index d5453f9895..76fe61dea9 100644 --- a/src/darksend.cpp +++ b/src/darksend.cpp @@ -285,7 +285,6 @@ void CDarksendPool::ProcessMessageDarksend(CNode* pfrom, std::string& strCommand } // relay to all peers that an entry was added to the pool successfully. - RelayStatus(sessionID, GetState(), GetEntriesCount(), MASTERNODE_ACCEPTED); Check(); } else if (strCommand == "dsi") { //Darksend vIn @@ -642,12 +641,7 @@ void CDarksendPool::SetNull(bool clearEverything){ if(clearEverything){ myEntries.clear(); - - if(fMasterNode){ - sessionID = 1 + (rand() % 999999); - } else { - sessionID = 0; - } + sessionID = 0; } // -- seed random number generator (used for ordering output lists) @@ -765,7 +759,7 @@ void CDarksendPool::CheckFinalTransaction() // See if the transaction is valid if (!txNew.AcceptToMemoryPool(false)) { - if(nCountAttempts > 10) { + if(nCountAttempts > 60) { LogPrintf("CDarksendPool::Check() - CommitTransaction : Error: Transaction not valid\n"); SetNull(); pwalletMain->Lock(); @@ -773,9 +767,8 @@ void CDarksendPool::CheckFinalTransaction() // not much we can do in this case] UpdateState(POOL_STATUS_ACCEPTING_ENTRIES); - if(nCountAttempts > 5) RelayCompletedTransaction(sessionID, true, "Transaction not valid, please try again"); - - if(!fSubmitAnonymousFailed && nCountAttempts > 5) + + if(!fSubmitAnonymousFailed && nCountAttempts > 30) fSubmitAnonymousFailed = true; return; } @@ -1418,7 +1411,7 @@ bool CDarksendPool::StatusUpdate(int newState, int newEntriesCount, int newAccep lastMessage = error; } - if(newAccepted == 1) { + if(newAccepted == 1 && newSessionID != 0) { sessionID = newSessionID; LogPrintf("CDarksendPool::StatusUpdate - set sessionID to %d\n", sessionID); sessionFoundMasternode = true; @@ -1476,8 +1469,8 @@ bool CDarksendPool::SignFinalTransaction(CTransaction& finalTransactionNew, CNod if(mine >= 0){ //might have to do this one input at a time? //already signed - if(finalTransaction.vin[mine].scriptSig != CScript()) continue; - if(sigs.size() > 7) break; //send 7 each signing + CScript scriptOld = finalTransaction.vin[mine].scriptSig; + if(!fSubmitAnonymousFailed && sigs.size() > 7) break; //send 7 each signing int foundOutputs = 0; int64_t nValue1 = 0; @@ -1510,6 +1503,8 @@ bool CDarksendPool::SignFinalTransaction(CTransaction& finalTransactionNew, CNod // not sure what to do here, it will timeout...? } + if(scriptOld != CScript() && finalTransaction.vin[mine].scriptSig == scriptOld) continue; + sigs.push_back(finalTransaction.vin[mine]); if(fDebug) LogPrintf(" -- dss %d %d %s\n", mine, (int)sigs.size(), finalTransaction.vin[mine].scriptSig.ToString().c_str()); } @@ -2127,6 +2122,7 @@ bool CDarksendPool::IsCompatibleWithSession(int64_t nDenom, CTransaction txColla if(sessionUsers < 0) sessionUsers = 0; if(sessionUsers == 0) { + sessionID = 1 + (rand() % 999999); sessionDenom = nDenom; sessionUsers++; lastTimeChanged = GetTimeMillis(); @@ -2554,6 +2550,7 @@ bool CDSAnonTx::AddOutput(const CTxOut out){ vout.push_back(out); std::random_shuffle ( vout.begin(), vout.end(), randomizeList); + ClearSigs(); return true; } @@ -2570,6 +2567,16 @@ bool CDSAnonTx::AddInput(const CTxIn in){ vin.push_back(in); std::random_shuffle ( vin.begin(), vin.end(), randomizeList); + ClearSigs(); + + return true; +} + +bool CDSAnonTx::ClearSigs(){ + LOCK(cs_darksend); + + BOOST_FOREACH(CTxDSIn& in, vin) + in.scriptSig = CScript(); return true; } diff --git a/src/darksend.h b/src/darksend.h index ecda13022c..dcf98dedf4 100644 --- a/src/darksend.h +++ b/src/darksend.h @@ -271,6 +271,8 @@ public: bool AddOutput(const CTxOut out); /// Add an input bool AddInput(const CTxIn in); + /// Clear Signatures + bool ClearSigs(); /// Add Signature bool AddSig(const CTxIn in); /// Count the number of entries in the transaction diff --git a/src/masternode-pos.h b/src/masternode-pos.h index 39533bd147..78e4a4c46f 100644 --- a/src/masternode-pos.h +++ b/src/masternode-pos.h @@ -25,7 +25,7 @@ class CMasternodeScanningError; extern map mapMasternodeScanningErrors; extern CMasternodeScanning mnscan; -static const int MIN_MASTERNODE_POS_PROTO_VERSION = 70071; +static const int MIN_MASTERNODE_POS_PROTO_VERSION = 70072; /* 1% of the network is scanned every 2.5 minutes, making a full diff --git a/src/masternode.cpp b/src/masternode.cpp index a50d5f2c92..7ea36fc891 100644 --- a/src/masternode.cpp +++ b/src/masternode.cpp @@ -143,6 +143,7 @@ CMasternode::CMasternode() nLastDsq = 0; donationAddress = CScript(); donationPercentage = 0; + nScanningErrorCount = 0; } CMasternode::CMasternode(const CMasternode& other) @@ -165,6 +166,7 @@ CMasternode::CMasternode(const CMasternode& other) nLastDsq = other.nLastDsq; donationAddress = other.donationAddress; donationPercentage = other.donationPercentage; + nScanningErrorCount = other.nScanningErrorCount; } CMasternode::CMasternode(CService newAddr, CTxIn newVin, CPubKey newPubkey, std::vector newSig, int64_t newSigTime, CPubKey newPubkey2, int protocolVersionIn, CScript newDonationAddress, int newDonationPercentage) @@ -185,6 +187,7 @@ CMasternode::CMasternode(CService newAddr, CTxIn newVin, CPubKey newPubkey, std: allowFreeTx = true; protocolVersion = protocolVersionIn; nLastDsq = 0; + nScanningErrorCount = 0; donationAddress = newDonationAddress; donationPercentage = newDonationPercentage; } diff --git a/src/version.h b/src/version.h index c4b23e1f13..217042db8e 100644 --- a/src/version.h +++ b/src/version.h @@ -27,7 +27,7 @@ extern const std::string CLIENT_DATE; // network protocol versioning // -static const int PROTOCOL_VERSION = 70071; +static const int PROTOCOL_VERSION = 70072; // intial proto version, to be increased after version/verack negotiation static const int INIT_PROTO_VERSION = 209; From e82c88ecbd10ce3a0aa112d9feef3db8dfd4e7ad Mon Sep 17 00:00:00 2001 From: Evan Duffield Date: Wed, 18 Mar 2015 10:19:13 -0700 Subject: [PATCH 10/10] increasing ds timeouts --- src/darksend.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/darksend.h b/src/darksend.h index dcf98dedf4..73b8dff16a 100644 --- a/src/darksend.h +++ b/src/darksend.h @@ -38,9 +38,9 @@ class CActiveMasternode; #define MASTERNODE_REJECTED 0 #define MASTERNODE_RESET -1 -#define DARKSEND_QUEUE_TIMEOUT 120 // in seconds +#define DARKSEND_QUEUE_TIMEOUT 180 // in seconds #define DARKSEND_SIGNING_TIMEOUT 30 // in seconds -#define DARKSEND_DOWNGRADE_TIMEOUT 30 // in seconds +#define DARKSEND_DOWNGRADE_TIMEOUT 60 // in seconds // used for anonymous relaying of inputs/outputs/sigs #define DARKSEND_RELAY_IN 1 @@ -63,7 +63,7 @@ class CTxDSIn : public CTxIn { public: bool fHasSig; // flag to indicate if signed - int nSentTimes; //times we've sent this anonymously + int nSentTimes; //times we've sent this anonymously CTxDSIn(const CTxIn& in) { @@ -80,7 +80,7 @@ public: class CTxDSOut : public CTxOut { public: - int nSentTimes; //times we've sent this anonymously + int nSentTimes; //times we've sent this anonymously CTxDSOut(const CTxOut& out) { @@ -206,7 +206,7 @@ public: return false; } - /// Set the 'strSharedKey' + /// Set the 'strSharedKey' void SetSharedKey(std::string strSharedKey); /** Sign this Darksend transaction @@ -269,7 +269,7 @@ public: bool IsTransactionValid(); /// Add an output bool AddOutput(const CTxOut out); - /// Add an input + /// Add an input bool AddInput(const CTxIn in); /// Clear Signatures bool ClearSigs(); @@ -523,11 +523,11 @@ public: void ClearLastMessage(); /// Used for liquidity providers bool SendRandomPaymentToSelf(); - + /// Split up large inputs or make fee sized inputs bool MakeCollateralAmounts(); bool CreateDenominated(int64_t nTotalValue); - + /// Get the denominations for a list of outputs (returns a bitshifted integer) int GetDenominations(const std::vector& vout); int GetDenominations(const std::vector& vout);