From 50164e9d5df071f72b8f77057e526049f6f04e4c Mon Sep 17 00:00:00 2001 From: Nathan Woodburn Date: Fri, 31 Jan 2025 14:31:51 +1100 Subject: [PATCH] feat: Use javascript to pull data after page load to speed up interface --- FireWalletBrowser.bsdesign | Bin 331100 -> 333118 bytes main.py | 202 +++++++++++++++++------------- templates/404.html | 2 +- templates/assets/js/script.min.js | 2 +- templates/auction.html | 2 +- templates/auctions.html | 4 +- templates/confirm-password.html | 2 +- templates/confirm.html | 2 +- templates/index.html | 10 +- templates/manage.html | 2 +- templates/message.html | 2 +- templates/plugin-output.html | 2 +- templates/plugin.html | 2 +- templates/plugins.html | 2 +- templates/receive.html | 2 +- templates/search.html | 2 +- templates/send.html | 2 +- templates/settings.html | 2 +- templates/success.html | 2 +- templates/tx.html | 2 +- 20 files changed, 137 insertions(+), 111 deletions(-) diff --git a/FireWalletBrowser.bsdesign b/FireWalletBrowser.bsdesign index bd38920d1642e6303ac58921af4624c49a136c08..565523a59a0ec79db7ab3491b0a6a27019485c64 100644 GIT binary patch delta 66659 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 MzV%0L?yivTYZ)jy=?`2X2^*X6d6Y)$l4a-*ZB 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 bqf|{d%8=oqDG&FH8<>wLp!-sTxOe^^<}ASa delta 64625 zcmV(&K;gf>subLs6p&#CAOxidh{l0ug=YbUX99(11GQ%aoDzRS$#EoE5d0NdK0E84 zMP(6^1Z#Hoj07PF5P|>*5ZL!@4O(lBdHpZ_>YEn};@!Bf`N=M?rZZq!2AR974!(1ZHOex#3F@$yK0Hb~lPM2v{8HRIa zVzW=}v$dU!AR^MJ+1%io6RXUO~O?c3CsCJop&&WEYaLTpX=yVK|XNf<{W1?o8Cd$!eUm9)?g06dx zc`S07xT?y&4ZM;BB*GNup6m_xbQyL>8rYS*a~rf7E%4GAAg0BFX1kyD{y^@oSs#j9iPd>T6xx7h%2!jmiPm zU_&ZK?Lb!OmBZ zAAo}J3EO39evDBDyWR7zfT85p|F;+>wpqR@B@_dt{ znCj%;U^=|-P1)k1?X@l(jWkyst0GWjt{!{1=Oz7LouWCu zc?<;TyZ*v?I@Gfi?BpWf-fC|teUI z_RNbIIrtgRc^2&`95-p*kjdMCxfvNdRN;9Ir_2#%PS+Tlmz$z4S3W)95g${xtp%^W zCC6H$5*s1rY}s#YX0aV0yO#-5zCkf;!lvN_*zu%eI?>_^qX1s)D%jXa2wD+LmNDY& zDkOPB6Koeo?uHBFa(#+Rm05qcw}`&t+|g8^6N_Wp0|zg)51m<}_!GAcg_aK2i66J! z&f=mdINflH$b`twE7mqr-&G*vs98+SC? zTvrT6q;?p7OeLysDOTsrQ-EEMlk9Gk$nh{NJ=AM!tp`Pyc5`_1>IHwJvf%~T3FOZq zFl&8~RJb$9fShs7+OG(s0mkcjvAGJvMn=PukD)J3i=CF{?Tnp|SB+sk-q@JAj!+ko zHc!W+I|ZOGB=D=?utFXxGCn&$>c(_MIjsKjSBB%^~0VoZ6)^YXaWa^}j> zS~F4@nN~N)7&LFh(Rf@Jb&G7e^Pvk8mA%RhQ9%Xs*ZTSZ^(bM>`=G zeC*7hM@GrxX##(aiIO8^r^k82y2fo+l4*NHy8#I*aeJW3Th3j*Zjkc`8%|Bq%uWRN zr}PY(kwSqE?yJd}>8{YNGnvr@k8=mA3TTc;QFhi_0%v*vQ0=v>m}z?U<1?E$5q}Y# zJdG-DD+a+vBzoVhwnw7zPOP+}RmL)`F}(GsnKvtY5H^2f;$&8j)m3cmnd=xHGtp1g zgimRdp(&E>z2Vlv;YMk&IXQSSKA;g66?745v?mSv&G5Ii(4GLE>pMe(e9foitixTh z%VUzqs0{;cNp6jHTp7l+scZ)#^si99@kP#SBg>1s6Dg0!4oEu)MMTRRL#@FEAQhBd zKx#V*&xU_SFT(Uhf>-D$vV=P(QARmf95Jb2;|IW!ZGbED!QzQ+4>dXtYI-aifg*um zvEwDtq-H8yr(~Nibxja{zq@*HmYs|gA?uqj;Ss0HjD2;^-r0-^ii68q>d63~GV2ss z9x}937_qV4u$L+ifZzL&HRaD~;oe>Vc&+=dsMJj!T1oo!lG6r9!Q^?PJto^OJIgq$}QqAlS!5SE$Sma)HDv6aRSfgo5PPJDYM95OGZ#=-e^A z&2xX_7Nx%RIy3Bx4K)`DiN~`j7(-oohT-7Y38|~oX7UPr-fqM08i=uhcet+(=dRHp zNff5DcHzlI`N#TFn=5gbi{rLkWNh7CF7a+Zl(8=Hu{7@#OCS;cVz8DUtvgn|6_d_g z3Gl$Dy@4`EcT4#ZYVQ<_Cr4JmHH|Hg=A3`&_7!F$%ahHcbV=NNJGXnSlG9eT@$!%z zAs6;(B-whEv3E3brWj8hwTr?~338l(aduULo3_z9M~uO{LFX;9R`47^`d$isgpwVU zgQ1F}=%U25Irx)fXsQd&W*I5vOwTpk< z1`--Qq)j6tWK>_;QgpV&Jp?zF1<6SMtl(_I-HW;AGok_bZ+PC^58l*3UC7NsF8W@-A))sP2PsY zwx$iK!(jp<3q8;p$fEp48D)k!+BJW+rd4jkUXyF7V+0IEt-nv($WS3&tJfHsf~rA9 z#CF_CdsZ1?nCp2rnv%ixFB=MOk2mNFNe#)XLEKM13TiuJP2pjtZZEAg2* z2^dc2@^BVl3|5c*q&tVcEFh1&c3f3W5tDAyJwU}>M3tM~h}wD|0qwj;vzULOPq%sA zf%qI?@??VexL(H@Ph+vCWf#vs_GiA1H(7;W=*+pAs61?AD!c6*%rv=ni1+>0S|>Q5 zX>spmm(x+^xr}da$1JC0&p5TC5=EOTxk9zpGh!)|xGM&RI_C88v!x+vv5iJMYKherz5cT2qo2K4jcG#u2P z>{GQ(b1$iUp2XD39N1a8*tDh2YP-uAPrTBWgj*VlZ!VDv39Rm~o6~=_Ev-)3M}*%P z?3O@LiY+P16(t`J7%il#Z9E_MXEEFrV|>tPtj;sO0G3>!3>2l~=pb8U7D2<^^=dr{LC5u2FcAc%j;xZRWyGlGCuNke*mEQ3_7oXe1$yX(%uC^OOKlsWU5?3)l2 zr4C_&G>{XsA>&TNW+T9atWBlzQI_M%E6S>-&uH(nFqWlUr2@m=Z-|XmVCvfIlAXM< z30o1?dF!qD$mO{$$YiqEM!=8`ydF>8Fz#Z?hB=%q8L?h)I;wvvBVKhJ#2EJQJyf%s&(Gb%9Szysd+^q5Bm5)F+q2ds|Q8`N!#LF)l? zr^1_)nxqaZbWMyPfmC7_N-ozyHiuY}G#5CkYQ`6N6Y*_xujhpwbJF_A0Hx)GLL7?B zWS7<%k==ju*m+H>c(8_7vYKg{aNDxSosTxorQTq8+tX9r5%IW_2tdi#^SZuhbLzwR zbvPZ9&O7azW^z;8k#t))ebTFqWprBYHx2lz#xO zVhAON&TSed2?LkmZldHYhriNQwajxpFBucyOPov3$6lU*Ia|!@@ z>QJz?w`{HY|!SsjCm-g@1g99 z%veI@npg3OuAR-!9zC|%GtPKr)4D%70?~sVLl7RIU+P$ds%eyn{jH+wJ>hMMT~Mcq z56s7Y%L&c#M&zC(CIX#Tmrg?P%|w5VNl%gkI!Kq9<@zBGG`S;7+oc*pUAq8#zHxDM zs}h2Q+@TRDGYH!w1%cNtuCZ}A}AU|w{AUe7k z8r;+%8gS=UpHFPStfS1?5mL(NLg?)*g>O9cX!;>8!Sp0M>J|iT1iaF>vs+vmLp|8c zUJ?WqwMLm2`77*}TA6~yrB;6rTOCI+A3XC<_tAESJBLL*uc|IJUqF39P-v-aYdL=kmRcX?jq2D? zk~Zszro9S|JuIuFy@TJfj6k6dywa(p#9fm( zTIAc2gSo5?C0Zg`G({Rp0l{^^G&oGmQ3uhMQ#tU(b9O;}V=?q9>X&3_A7BB`W=Sd@ zcV|MToQgadX4oDSeQn$tGQ%$nO&oOhfR!p4YeF{VIt@EQ9Tb7rrv6Qo?X$LE?G_I` zqiu0rOKJ-{a7h&<;e1VRTs$7akedOi+j5YZlfK%_&X z^^zHb=#dF;og?QRbtU{QppCYn=tPf@yR~-fC4VL$nUjJud@=`f$pCSi3yV*J)=7&^ z0c?E|`dVoBl+(b6G3p_jTXTYs67ZEhTBGA`EUt0qp)pZM05jrTV!hULaMP-u%mstR z>3iyiWUjj_rf%&pFuAv?O+AjALEU8w?_SG>mza2KX3S8JAuZv;;A*XFQtGbYrV$OQ zU8MGzXO@2%s-FD|XjYdBT8FAcG$2(>VU0vhXf${ejXHZ&qm5453Z_tCYKBc4hYkdf zJPgl;B#28M#8QV2+9k+1K+EY~Xh~Q~wW19;+X1m0?hYj65 zV!XI+CSI(peyAPv%Gkc{A}234_k~ojB^t#!E3j(`nWLjfnsc>2$X7c)VqlBg{H{4e zawvb%R}E4*a@|u~o!5#ooR_Ayx(3*d~Z#7H_YXnOII=6vFSkQb`IKh+Du4tQyV( zKpvnx#GA{7UU(7_5@G;?EDz`{D^0pH=2csH0~L(};N>-cJhq7C%u1K09=P+MAao0; zAA(S0*UsVAxf%hHT#Lkn-*2QQ5;=c&J}hNeki<@Lb+)(mKE$${11PDh3GS9UizICj zTsf6SjuOEv()m%4=7pb*7IfW>`pM*C^8{c9f2&!n9Gxn$&`J=t!s34=r&ixlXI&gI zkIU|dL{Dgt=b42y2!PRGA+wPSHI!(Nab?Sp;cqopLo*~eHpfxAYMQwQ#?*hTNjL(H z(sD`WroTN2YMwPWAuIeuaJD}qcs$C$Z;qqB&fKq^LtM*_8V9oeNpL= zfrH0eyJ2oAe`!r3*du=tD>~uHoy~nUJLkMmBRB0eY0sQ(`?TCgWGhAQ?9V=V^2MB( zlm15L^;lXU1&~d1$rfM9?;2{}M%9$!`Z^O?&)n0S!>#5HeP^eqqU03B3Gri_nZ&#+ zmlNJVJ2XrxAW>rA{c z%JyLJSHwqpq84XeF}y>07i{3GfUZHsnx-dF_m9vr#sSr`>xGj2n_!Ha zZFmCM1CkQDw?lt*zRHCT2XR$#M3&od%b^i$q>R=_BTd$!7}#bGPthA=xdUmgc!*S@ ztlAD*=0JONi%jIMDK{*(qlQ2%?)8&BdE9Zz1WExiItgdZ6qQL%qI8oEv}Y4ShVRp+%;#r(w1|II0>Q zSf}NPbrse<3-Jye1GL=Kn0^5J3<> zD*kdFJc%}i<>Rf-k}yxARSukfmw3F_n=Wujs#I7Fd%=m#Vz;XuscpEteT$ZZMNLCLXJ_$ zMYuW~>CD*;bY(2}{ES>;&C4Azv*G4hOdXIC9)qQBxvCBV1~3t+Yw&OchN~FVDXDC# z#vzA2J%zT=Jk{;5txL!ENdtALE=DI5uQwxzM7uBxb}9)X$EXrhQG~A0;y`HAL0j%y zvqOLDV&cygL6B}4LzExeufTeBEVpgPAj;tO| z!0fq}hHYt2;)IgLRVk;y?8LJmly$Naj}$5PVuy_w(>f!F1S*VCxh1-dA6v4unWoT@ z)sa=jx#RXR7OE&D6|;kgX61QC#~*(y@*HtGhhM{OI&QE{f10teu2mQyqdnc3RV$;B z<(y6_Qf%>h*7?LJ;AE-6iNS5&Foa-3dBm1O5LxP6&JvGC4Z{aj&H>y?--R12Dp5kv9#{50Lj7hgsc5VL7H90@@z6e zCa9<*Lv}synL8V8uLGRr#)dyB@Z8yqA6sg|L|i6tW(m#IUdH2ajnEUW9Jkdxy2hAh zqgCE<2-!H4rq!Ambei5pXM}$(;u~Po_L)}Zks{9-f3h$IT~cytqBNCq2UzqBt0@up zRKrHhNFB*E^*3EDQ8LyObfbevp38Zx?fA;JxCL(BNkP+m)1k!yNoWw<+G@6g=E!DH zF=-n4tceT!J##*ix?bbd(Xy8Mq{19*Z+j(DDYxo*Sv{Pku0N$-otJ-(T9KHbZd4qb zg&E$`(^&MlEFa1vv@T9!ylySo-r6*Rv+bN2`6Xm}%cQu41vWV5A)-=^o6fLQwe{IP zN4OiELSh3kPqdKBc{GLPIwWS8j&QZNa}W0B>-DNoRF#w0K^`?f6g*UiVxdp9;;neMcn z1RQ8<@;QwYXq}p!quTKCIwlcj1tTS({Y~>HN!@?%Xd|u108w!)sSoe44#i)I%^_+6y34IK^+9sHh+LOtU%U+B(TL?Q!CBDcJ z6M_10Glto7A0|B!B2PN1V9d!JTb7F>v3`HkOPqFv|vD)uW zemTT8KT1ti1P5S$iWF~X4&#u|m!ZS44AAJo+Y-jfD{=pMoJ3BDjbOP#TO7AJE%EJ@ z$=y6w*QCD3>g1Z>vT{-k*{JpY=$1V#Hadg=amvRU5Ot{(aWbbVJ=P#n+le8r2xWf> z&)uOs=O?(y`%`%}&Z>AS$?{rMSZtm8{&19)8FDYvDBT>{2~Abo@tJAe79QjqhrRAl zV!IVZ?rO>F&^|I$9p9kCUAM5u(xzo*rt!gQ3WS+a9Zhzf6YGH+KI`SsYV93#(#LhM z)8eDwG3mqeIEWRa;=AD)9R3?=K z-{>BY>(e-ku0PiGOqOT>xoOcSRe2^0Ma9SlIx_T@CvnQ|Pgoh1rd*gV!^278pQ4*| zZP^1Fg=Shpd8DQ{P0hGnN{gJ(3+xSWnJa9jItg6IvkaWdq--}t9?hAB z%Z7aJv$UeSQwhxNX=_}}vvzYi>2xy`$e7jL+EmY5la7HaflUGgZzq4#fN$QuI9xqr ztj4_EjIrcqlIzLhE`J!&cSC1qdM*$F82`i&4Q(YgdkG z91ATic*-^N)RfAL&7?*XD4QccWKemKv7VzFZ`+{p9`a-IY*Mu1 z?dws~>l5nmS!;zsEZqHu%Q@#^sk{koeqkfaJze>lwVX4Cj+BQnNGw7K>wB1jLc6T> zN-?sW3yYnPseu3+XW4@D3vkS%bF2fGDj&%N57lNkteg5E_fUUwGld@Scjst1k^zrS zkqof5O9?c}lz@nOehbOM#_f5hMaf;~9fbm;F-K6TC!UU2LB33wt*%oQGKMM3O#%^{ zK~Oh6sq@idn@(;{PL$Bm6BH*l(@89zBU&CqGkes*tD;VnC|~%#@wi0V(mv=I_yid^ z7NJmImhu?5m&JcaVGo&hJObs7ACuB16<|h>%Qz`kJ;`4(rBlH(oaB6f$?KuD?3=3d zdjz?{RN$D(R@cL2&b%qhSRf$lU`<|1bY4dlw5ErJo-KRI?y~W!#(;T{5hSRtxT5q5COYZf zC03-}bqdn(1ZP^sbSHb8Yk6GYW6~-H&|GtkJVnM8#JyYzz$~{#G)@tyk6SD%ZRI#o zz@FU#tQ6|vS=!(m4-xAI1dRf{2tv2OP7p>K>Gyx|`4ndhjpI#GCbXJ&aUp`ZY?5aX z)y>>jF)`bhLhi_F#DvpH&Oo=d^VFHN#a=e9b-4-l`#l%3GD%&z>jk$QZQsRx?aZ2q zRd{iy3qc@+5gT_K1ec&ByUT1eM8U#5Y}0eRn-9v}j~$OA%d3zisv_OviVf!#%VNaH z3Lt+U$Bb^`>$2Q$R1>*B50xzX$Y@BaBPKD^s(!8Z@n!@DgAe)G+Lee>qQFY@;OV{T>M!@GxvHxJ%e zTDj}F5AS>{ZM-)RP8g+b?d1>e{`c~T(|qp(ZQXs`|9v;t^Q|sz-!2coc_{0m^y+^$ z@|KalS-wX_9ktWLJMhgzX$9UPwVWi4ns#~TQt@okHP75b#?yqRP)N|URet7rr z?%m_y*-6ws)?O3MUj6XqA@khGx^!MWeOOVEw^o#U^~cT4)U;mq{;QW;cKTsib(eZi zFMOW;B>nI4@-+RVo(L`-j zh%=Tpz7%Ru0y>PFti~61Ax4%ECmXW;t^^C2yt-p4y)_QEc zvHjc6TmEkb$JFyb0^^TE@#E*0xj#0c;Ln_wl}DNN2_@x4)Oe4}FDtlNMY$j4QR}VJ zDEF*-Wu>iG=T_@I)?V+`&Ch?AH&1M5dwx-SU-<5cVSXdVd*(aT+aj+2h422VeD?^i zkl%yz^5XG>&G5VO-JLvL&nfC}ukxpuDF1ag5aVB9?A4y*MZNbn{w-|1_oIbvmOlK~ zhgJAp?ko#iIYl|C1(8OjU0AjI_1{+i?5+B#*&Ex{KUQwxbeWg8Zv%g?B~x$tc$iM^ z*Iz9{=&Qf|{iW;Mrkzsn?K6T_|5$x>H#5I_)!~lHuU|jnwaUFQDstJ%1Mg0i%irJr z{{Fq*=s84@WmfKf{nhg5559E4&sTqcS;L`g+amv=Reb36JnYk#w^5#ZHKX$9fBfeI zQIwJA{^!Hrzj;_l@)>_qZRlmc5uRRQ=Ia;KEU5U;e6{+|hpzEfOJ({em5oQHtABsIOyOITed+W(>ZecM zQF)G;!0OfLfBP`{^RLA7Z_lHD$2;F2!{lkaufKYp*W=T7_dWiWzZYbG`>EHxKlFb^N3WiF zmiNu8r#_nDD{$G(3&>xA>@|Wvd2sdWiML_odSAbu{%U{q&4(}Fy#L_?!d~XSUayF> zXuOq`PphKz@>S;L-O6&DqIQ?q!fFV;d^JS5TMVnHSv|Sl?#lMkVpwfAcsV|e^wi}$ zu=MoAYc#!D%Chu+Sp8$gTW$C@v&Iix@$%uBoZmWWCEAV_ht1P{G<<~{F zYMi=A(H@_|NufNKQuJMM@^U~E(fZQ$Z2HF#!2kLd0W9zJz|}ui z-rJ&%f+)ArJKer{jcnITTWje9zP&Hvc>n(2|Gj$jz_+f~T2cB6{cRXEZ=VpT7Uc@~ z$Li~+0siL-T>alGX!UOO2>osKKUN6%>M8GS`9u`QrzqMhiu&fesOT>LpI@@P=7-ei zz1x3dTRgVkR(c`xtzQPWzv1%cp47=N|m?==PALw@Bg z3ht*q{bbYq0NTF!+t+`)TSjE=ergvzETMng=Gj_*vCqGGvcZ0VeU5_YlQsQ`)%Vaw zZMt-jtiW3dMZ2OFS8(;XqN3WjhpAUEa`0(ywF!Or)%0Glj@>;|MSDc9WM0}ad`T&h`)b2 za-W`EFaM-g9z48z@bX8idsyJ;r`CNb4~~@|Jih2(N57Y*qnCQ^w;H=LjU4M+?W7xh zt4*?;#0oxbeKN}5yQiOE<1YQjwzJa5C+GfYJs%eR(shAcW;MyH;k!JI^2BrZwP(F= zOfB0>pUA{1vg{6`yi3zhsN@Cshr)lIetY0Y?h?eY0&kHxU!ecJ&_71~?*#m3YvTK1 z|13E^0{!c@SCD_z{KJ5M)$s-H@5RLD1a`sd4_5sHkk70rUt%a$Z$I_>Wtez*--{Rb z;%T^6oqVvZS9b6i)RwzgH80_}Rrv_6o?idd``K}Lc=K@AIv<7c-mN~3-aUWXMeTa^ zW7FAf>izBS%knXX9e(H^@<(~xyU6wDe{5;9!eKh!vU_b4m_YZ&2gv(D&X4UQ9 zX`|j#TC4Tmzv4US?aljbz2{NA@zIUyrx?$xHY<&S{BhBGcT6r3jfam$d=*ap{m6Lf zd^$e7+x#F!A8P9!)cr|h{b+x`^!`nV`)RmU_PB(!!`ky7-aV{;FM4{_^z+H-1Kt+| zzu-CUnl|#M$CsUqcMp!2KkZn42OT{B_LtWc--*P>$SLyAQxyE!n&XsNf%oGa_RG1d zshx!|t$xA5+cFOx-aHJ8OS_o#=;w))+H1-pZ=&A&u$A$wq<$adJnetD{0WS)(B3K= zACb=!5q~y!D5aJEmZU)e`>rs}_ZjT3!=i5aRuLpS6ZkYb$T8 z`@T-|MM-^8Qr~~6q^$0lK)$G|pQNf5SshrtmwxW-@QXAR`oo&)!{Wavs=pR>f7XiX z5V>Cz)E5Qy-3qGla`%gJ`YFmOvs$l?tn_}2q50go;pgk8Z>{fpHPy#GS5GALMPvP? zNdB|dSc;dsD@IVhXss_=>pQj9b6)Qk#q~vT{R+jkq{)B&pJ!6~qQU-ZwEtOaF!@
Sync: {{sync}}%Wallet: {{wallet_status}} + Sync: {{sync}}%Wallet: {{wallet_status}}Height: {{height}}

TvhO#q5)m#vjXweXbt&-0+w! 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 ATL1t6 diff --git a/main.py b/main.py index 82620c0..089b897 100644 --- a/main.py +++ b/main.py @@ -38,15 +38,6 @@ def index(): if not account: return redirect("/logout") - balance = account_module.getBalance(account) - available = balance['available'] - total = balance['total'] - - # Add commas to the numbers - available = "{:,}".format(available) - total = "{:,}".format(total) - - pending = account_module.getPendingTX(account) domains = account_module.getDomains(account) # Sort @@ -86,12 +77,7 @@ def index(): domains = sorted(domains, key=lambda k: k['name'],reverse=reverse) sort_domain = direction sort_domain_next = reverseDirection(direction) - - - - - domain_count = len(domains) domainsMobile = render.domains(domains,True) domains = render.domains(domains) @@ -101,11 +87,8 @@ def index(): functionOutput = plugins_module.runPluginFunction(function["plugin"],function["function"],{},request.cookies.get("account")) plugins += render.plugin_output_dash(functionOutput,plugins_module.getPluginFunctionReturns(function["plugin"],function["function"])) - return render_template("index.html", account=account, available=available, - total=total, pending=pending, domains=domains, - domainsMobile=domainsMobile, plugins=plugins, - domain_count=domain_count, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("index.html", account=account,domains=domains, + domainsMobile=domainsMobile, plugins=plugins, sort_price=sort_price,sort_expiry=sort_expiry, sort_domain=sort_domain,sort_price_next=sort_price_next, sort_expiry_next=sort_expiry_next,sort_domain_next=sort_domain_next) @@ -138,8 +121,8 @@ def transactions(): transactions = account_module.getTransactions(account,page) txCount = len(transactions) transactions = render.transactions(transactions) - return render_template("tx.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(),tx=transactions, + return render_template("tx.html", account=account, + tx=transactions, page=page,txCount=txCount) @@ -167,8 +150,8 @@ def send_page(): amount = request.args.get("amount") - return render_template("send.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("send.html", account=account, + max=max,message=message,address=address,amount=amount) @app.route('/send', methods=["POST"]) @@ -217,8 +200,8 @@ def send(): return render_template("confirm.html", account=account_module.check_account(request.cookies.get("account")), - sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(),action=action, + + action=action, content=content,cancel=cancel,confirm=confirm) @@ -247,8 +230,8 @@ def receive(): address = account_module.getAddress(account) - return render_template("receive.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("receive.html", account=account, + address=address) @app.route('/success') @@ -262,8 +245,8 @@ def success(): return redirect("/logout") tx = request.args.get("tx") - return render_template("success.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(),tx=tx) + return render_template("success.html", account=account, + tx=tx) @app.route('/checkaddress') def check_address(): @@ -285,14 +268,6 @@ def auctions(): if not account: return redirect("/logout") - balance = account_module.getBalance(account) - locked = balance['locked'] - # Round to 2 decimals - locked = round(locked, 2) - - # Add commas to the numbers - locked = "{:,}".format(locked) - bids = account_module.getBids(account) domains = account_module.getDomains(account,False) @@ -366,12 +341,11 @@ def auctions(): message = '' if 'message' in request.args: message = request.args.get("message") - return render_template("auctions.html", account=account, locked=locked, domains=bidsHtml, + return render_template("auctions.html", account=account, domains=bidsHtml, domainsMobile=bidsHtml, plugins=plugins, - domain_count=bidsHtml, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), - sort_price=sort_price,sort_state=sort_state, - sort_domain=sort_domain,sort_price_next=sort_price_next, + domain_count=bidsHtml,sort_price=sort_price, + sort_state=sort_state,sort_domain=sort_domain, + sort_price_next=sort_price_next, sort_state_next=sort_state_next,sort_domain_next=sort_domain_next, bids=len(bids),reveal=pending_reveals,message=message, sort_time=sort_time,sort_time_next=sort_time_next) @@ -430,13 +404,13 @@ def search(): plugins += "" if 'error' in domain: - return render_template("search.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("search.html", account=account, + search_term=search_term, domain=domain['error'],plugins=plugins) if domain['info'] is None: - return render_template("search.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("search.html", account=account, + search_term=search_term,domain=search_term, state="AVAILABLE", next="Available Now",plugins=plugins) @@ -479,8 +453,8 @@ def search(): dns = render.dns(dns) txs = render.txs(txs) - return render_template("search.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("search.html", account=account, + search_term=search_term,domain=domain['info']['name'], raw=domain,state=state, next=next, owner=owner, dns=dns, txs=txs,plugins=plugins) @@ -505,8 +479,8 @@ def manage(domain: str): domain_info = account_module.getDomain(domain) if 'error' in domain_info: - return render_template("manage.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("manage.html", account=account, + domain=domain, error=domain_info['error']) expiry = domain_info['info']['stats']['daysUntilExpire'] @@ -542,8 +516,8 @@ def manage(domain: str): plugins += "" - return render_template("manage.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("manage.html", account=account, + error=errorMessage, address=address, domain=domain,expiry=expiry, dns=dns, raw_dns=urllib.parse.quote(raw_dns), @@ -612,8 +586,8 @@ def revokeInit(domain: str): return render_template("confirm-password.html", account=account_module.check_account(request.cookies.get("account")), - sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(),action=action, + + action=action, content=content,cancel=cancel,confirm=confirm,check=revokeCheck) @app.route('/manage//revoke/confirm', methods=["POST"]) @@ -719,8 +693,8 @@ def editPage(domain: str): errorMessage = "" - return render_template("edit.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("edit.html", account=account, + domain=domain, error=errorMessage, dns=dns,raw_dns=urllib.parse.quote(raw_dns)) @@ -779,8 +753,8 @@ def transfer(domain): return render_template("confirm.html", account=account_module.check_account(request.cookies.get("account")), - sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(),action=action, + + action=action, content=content,cancel=cancel,confirm=confirm) @app.route('/manage//sign') @@ -820,8 +794,8 @@ def signMessage(domain): - return render_template("message.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("message.html", account=account, + title="Sign Message",content=content) @@ -865,15 +839,15 @@ def auction(domain): error = "" if 'error' in domainInfo: - return render_template("auction.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("auction.html", account=account, + search_term=search_term, domain=domainInfo['error'], error=error) if domainInfo['info'] is None: next_action = f'Open Auction' - return render_template("auction.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("auction.html", account=account, + search_term=search_term,domain=search_term,next_action=next_action, state="AVAILABLE", next="Open Auction", error=error) @@ -926,8 +900,8 @@ def auction(domain): message = request.args.get("message") - return render_template("auction.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("auction.html", account=account, + search_term=search_term,domain=domainInfo['info']['name'], raw=domainInfo,state=state, next=next, next_action=next_action, bids=bids,error=message) @@ -990,7 +964,7 @@ def bid(domain): return render_template("confirm.html", account=account_module.check_account(request.cookies.get("account")), - sync=account_module.getNodeSync(),wallet_status=account_module.getWalletStatus(), + action=action, domain=domain,content=content,cancel=cancel,confirm=confirm) @@ -1081,8 +1055,8 @@ def settings(): success = "" if not os.path.exists(".git"): - return render_template("settings.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("settings.html", account=account, + hsd_version=account_module.hsdVersion(False), error=error,success=success,version="Error") info = gitinfo.get_git_info() @@ -1096,8 +1070,8 @@ def settings(): last_commit = datetime.datetime.strptime(last_commit, "%Y-%m-%d %H:%M:%S") version = f'{last_commit.strftime("%y-%m-%d")} {branch}' - return render_template("settings.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("settings.html", account=account, + hsd_version=account_module.hsdVersion(False), error=error,success=success,version=version) @@ -1135,8 +1109,8 @@ def settings_action(action): content += "" content += "" - return render_template("message.html", account=account,sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("message.html", account=account, + title="xPub Key", content=""+xpub+"" + content) @@ -1154,12 +1128,12 @@ def login(): if 'message' in request.args: - return render_template("login.html", sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("login.html", + error=request.args.get("message"),wallets=wallets) - return render_template("login.html", sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("login.html", + wallets=wallets) @app.route('/login', methods=["POST"]) @@ -1172,8 +1146,8 @@ def login_post(): if account.count(":") > 0: wallets = account_module.listWallets() wallets = render.wallets(wallets) - return render_template("login.html", sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("login.html", + error="Invalid account",wallets=wallets) account = account + ":" + password @@ -1182,7 +1156,7 @@ def login_post(): if not account_module.check_password(account,password): wallets = account_module.listWallets() wallets = render.wallets(wallets) - return render_template("login.html", sync=account_module.getNodeSync(), + return render_template("login.html", error="Invalid account or password",wallets=wallets) @@ -1233,8 +1207,8 @@ def register(): # Set the cookie - response = make_response(render_template("message.html", sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + response = make_response(render_template("message.html", + title="Account Created", content="Your account has been created. Here is your seed phrase. Please write it down and keep it safe as it will not be shown again

" + response['seed'])) response.set_cookie("account", account+":"+password) @@ -1316,8 +1290,8 @@ def plugins_index(): plugins = render.plugins(plugins_module.listPlugins(True)) - return render_template("plugins.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("plugins.html", account=account, + plugins=plugins) @app.route('/plugin//') @@ -1349,8 +1323,8 @@ def plugin(ptype,plugin): if error == None: error = "" - return render_template("plugin.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("plugin.html", account=account, + name=data['name'],description=data['description'], author=data['author'],version=data['version'], source=data['source'],functions=functions,error=error) @@ -1421,14 +1395,66 @@ def plugin_function(ptype,plugin,function): return redirect("/plugin/" + plugin + "?error=" + response['error']) response = render.plugin_output(response,plugins_module.getPluginFunctionReturns(plugin,function)) - return render_template("plugin-output.html", account=account, sync=account_module.getNodeSync(), - wallet_status=account_module.getWalletStatus(), + return render_template("plugin-output.html", account=account, + name=data['name'],description=data['description'],output=response) else: return jsonify({"error": "Function not found"}) +#endregion + +#region API Routes +@app.route('/api/v1/hsd/', methods=["GET"]) +def api_hsd(function): + # Check if the user is logged in + if request.cookies.get("account") is None: + return jsonify({"error": "Not logged in"}) + + account = account_module.check_account(request.cookies.get("account")) + if not account: + return jsonify({"error": "Invalid account"}) + + if function == "sync": + return jsonify({"result": account_module.getNodeSync()}) + if function == "version": + return jsonify({"result": account_module.hsdVersion(False)}) + if function == "height": + return jsonify({"result": account_module.getBlockHeight()}) + + return jsonify({"error": "Invalid function", "result": "Invalid function"}), 400 + +@app.route('/api/v1/wallet/', methods=["GET"]) +def api_wallet(function): + # Check if the user is logged in + if request.cookies.get("account") is None: + return jsonify({"error": "Not logged in"}) + + account = account_module.check_account(request.cookies.get("account")) + if not account: + return jsonify({"error": "Invalid account"}) + + if function == "sync": + return jsonify({"result": account_module.getWalletStatus()}) + + if function == "available": + return jsonify({"result": account_module.getBalance(account)['available']}) + if function == "total": + return jsonify({"result": account_module.getBalance(account)['total']}) + if function == "pending": + return jsonify({"result": account_module.getPendingTX(account)}) + if function == "locked": + return jsonify({"result": account_module.getBalance(account)['locked']}) + + if function == "domainCount": + return jsonify({"result": len(account_module.getDomains(account))}) + + + return jsonify({"error": "Invalid function", "result": "Invalid function"}), 400 + + + #endregion diff --git a/templates/404.html b/templates/404.html index fda914e..1ec86d0 100644 --- a/templates/404.html +++ b/templates/404.html @@ -43,7 +43,7 @@