From d102459b27c0414f93e454cfef7d80a36f00120f Mon Sep 17 00:00:00 2001 From: cryptooda Date: Tue, 30 Dec 2025 20:14:11 +0700 Subject: [PATCH] Update slippage handling in GMX position management to ensure valid ranges and improve logging. Refactor slippage calculations in openGmxPositionImpl and swapGmxTokensImpl, introducing clamping for slippage percentages and detailed output for swap calculations. Adjust tests to reflect changes in expected parameters for position opening. --- .DS_Store | Bin 10244 -> 14340 bytes .cursor/.DS_Store | Bin 0 -> 6148 bytes assets/.DS_Store | Bin 0 -> 6148 bytes scripts/.DS_Store | Bin 8196 -> 10244 bytes src/.DS_Store | Bin 12292 -> 20484 bytes src/Managing.Web3Proxy/.DS_Store | Bin 8196 -> 10244 bytes .../src/plugins/custom/gmx.ts | 57 +++++++++++++++--- .../test/plugins/open-position.test.ts | 2 +- 8 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 .cursor/.DS_Store create mode 100644 assets/.DS_Store diff --git a/.DS_Store b/.DS_Store index e9601c7b827ca1e9a1c240e9b1c0c94ed2c0e7eb..bfc6d5bbe119fb1199860d39a0f891f11269200d 100644 GIT binary patch delta 1748 zcmd6nO=uHA6vy9gHYU>8>?Xk)YB6AF4n<8PqAiMF5k!g&c$TI~+NP4Q`Sjo=MWW!r zN|=j!@=zg1!y;lNB^Ij}4|?fEErJI@5b@wa59*uEeoQ|0D3~yt-F^Se|M%XTnQE+> z3jhFjrkt7t2;;322mKXYc)1A>aMc2#F&jQ`IL_n1dl4W73or*+kRese?NF%F)5xE7C=RFKTv!x`R;v9 z?)co5%#!h*8~-!Dfl&t(afSjcLk>z%%*s*2;aBAI!z+vEFhFH;SgRNcE@VR(<(coW z&22Kk+RSQG`84v}KEwKM--~SAxTgBrkgfnpHt+r@;{#i3E1=vT%kqttb)E|omw2?2 zfq5v?!ZPV&PViez>>w?mu3#}H>aE#&NK3y*Wu|Yf(y<)W3wukZ#0WVdc69-OpU0+S z7pOrQb1h=$3oORt3;txiQ;j~AiD9kMF;oct4FFjd?^XmfT*9W8*qR83-pVL5Vk}1B z>-H9ZU9AQaHvtC4S!*G7iW1Ni(3d!+P({1PWtYa(6D$b|r%bi3V0k>s(31y0H#>_{ z%cV09yI8DMx%4h$FQAi1CZt7`=&HIQaQpSH7hg;xViYVQb3?vR3sF z1;}kFT-kvuvxwgXx;eWlH2mcV@^r;nns@I%=>6)^m@HNrvu}2^aDP;uN-sEEGAUe} z$sP;!Q>p1iJPwrzGa$xPecp=H<2+p diff --git a/.cursor/.DS_Store b/.cursor/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f56d4302b51f8d69eb119b60380f7d9506b581b3 GIT binary patch literal 6148 zcmeHKO-_SQ5T1uM!MLd#qq}znT)V&qPr%N&&=yl;KpIW=9KpS}@DlF4fQPByyqQoC zOk5e$%rx^pm>=fxL6{B^x!Jl%h^9moLm8t3EF;2x)`3K7VW$h%xTQxb=($`b`5@X1 z|B(TCxC^SO!msoE7In1>8;;JdfH8fGsp>47m-U=|N1M-0{P2D;9#{M-ZgrpJ+nO(2 zdY_(XO(osQ8`XO0_^t2l?qzxX`f++5_R`6(>g_JZBYO48bA1zIz!)$Fc9jA2Y?k;? z&{ku>7%&D}2Kf8np^T|wBN#p%Si%SZoWL9e$2?1Lj#o?-8$oy=PEvuA>U6|#k`BAq zxKyzblyq`Bd^oM_bV6~VIU`2d(IHiED~?2ka8!4_lSPZ{_E DRiI7y literal 0 HcmV?d00001 diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d194e99aae797a46a24d70039b34404f03e5b820 GIT binary patch literal 6148 zcmeHKy-veG4E8mVT8fZ5BC*^n^bJB4c0^wQ+CW>>G)1BtL!N>6U}HkeurTmGF!1?o zwTZ%ySdfZr$@g7+cFy;m6vss52CJ-3)FYw}l(Dsg;S=F?)`qmy!iz4vBd2p(&^4Vw zO}2pnzPmljsGu>esCs`h*cS6ie>g7kWjIRo*#6!-FVb{0FGld{yqvsWwJ)C!e~QR{ z8L^yJGK!Bmv502Kd{WD`dwaK8spj=|bANF0@Wgp(TwZK)Xs*`w>%Q`SCdPm|Xs6#Zpkh$!YW9bZ4g>iVM5r{XV#pO9X8+28@9^1Cc!Txc(n~-T&8v?8z7~ z2L2TTE>4H(07uf=+Bh87S`R&ivanw%xDLT2lw$aDDc*+$f!*^2m?)Nlut4lbAkbig JG4Q7hd;r~MRJ8yA literal 0 HcmV?d00001 diff --git a/scripts/.DS_Store b/scripts/.DS_Store index e52549c7dd964fc53c4f156c5287aae2daf18251..39ecf65d6d7e6d70d126d68dbaf6f5b7534cf698 100644 GIT binary patch delta 717 zcmZp1XbF&DU|?W$DortDU{C-uIe-{M3-C-V6q~50C@KQvFar4u45bVO48=L=hQZ1C z8w;ngPi)}b%+A5WQ4dnV&XB~A$dJsCjjSrS04T#Cl$Vl*sUkPu#U&{xKM5$qA@5uq zot1Xn5u2(Mf~tfViVHG8j)GbTv~=VRFESW7&cb(u?sRo*b3Z0+7*;=HWq$op3E;3D8d9uP8uKu Zz$9bVw delta 140 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8E20o2aKK$^w!H@);OP87df37?P68iwiau zPGg_gz`L29gN1{UW%3+>cbnGi Y02&3df?;wz&(zHuMUOK=^cXS%0EIdpssI20 diff --git a/src/.DS_Store b/src/.DS_Store index e50394b86a36ac6ad54a6450c7668756bc38b893..62c7156fad2229fc2ab3fac3bb1be505f993ad55 100644 GIT binary patch literal 20484 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 OtvNfvXuMYD|Nj6FEfD1Z delta 492 zcma)2Jxp3r6u$StYiS;ppS)1yLGML@O27c(gFqn=^r-_0{xEhRsfvS%I+!?>q5edj z$hUUr+D;}nP95shq!XRmk;%n{!NkO+>3vKc9nSgAIXTJqbNrbecVdJP+Bn?I5i%o3 zmn<8-ZrRQV;hIF!kEPU-L`T1!N4Duysa%}sPriay(6Dbt(Bd)NbHC7)dsT47L&bBK z(?ws8pISu?9|{aVi&cCrGQ618Vc)VP6MxDn+@&Y*qwGVxlEF>Fk6`5`%xVWGDIJ44 zN3=GDZ}kOysx$N&7CH?EYq5sJBE!gfi(eMQ*>VXx%QlCO@7@($`Xgf3&nepaBfOz! z=mj*f6quu;6WpNq7;53cm>pB!8b16D?}*wEr`*ZQw)*|xJuf45!)%-nq?H8pF$qU-L9>-6bUS=c}Q&5x!4 diff --git a/src/Managing.Web3Proxy/.DS_Store b/src/Managing.Web3Proxy/.DS_Store index c526cd96eb7c0d1be367b6a4701aac3f22caa869..5827818187a563f15883e3fd64c3582a0e633637 100644 GIT binary patch delta 1193 zcmZp1XbF&DU|?W$DortDU{C-uIe-{M3-C-V6q~50$Y`=LU^hRb$z&dZ+mm+-@Yd&~ z8wMxm=N16f00E;hkYHnQU?^dzWGG-rWhlT6oP6B zGLY>N02%>wTN1vnfWLPjcQ^;;|zL2;8a=?hN?313HB_tz)93q}(j8B-Fjypmn z5LO~f@FN>9cj3Y2g+exr_3XfqPX_ug6Bywo48_P+F)*l00sV!h0@>czye<+uJ;5=7 zp$g#$+^PyPc#+eE!RDL7#*C=(V0&i^&<)H$R~9iOBisGxnen04DzM#fS%jUKvdF$? zaD4zY6lQ8!a8X`PeqK6Igb|1*ON(j%6J-e~{i7vH##5k(hRY#4hqu3Rau38gNb(2= zVUtI35_161Xa-q`y_>y6_cCp4&|nc{28jZ5F*lHK1?A+8h2NPc^UDN^FhTOS21pv{ XZUYcKxj<&(=A}XwgE3w?U}*~gAG#g{ delta 129 zcmZn(XmOBWU|?W$DortDU;r^WfEYvza8E20o2aMAD6uhMH$S7qWFCRrlk){5Hros7 zF-{g0vD(ZoYR0(vte8II { TradeDirection.Long, 0.00012, // ~5.3 USDC collateral with 2x leverage (fits available balance of 5.69 USDC) 2, - 87856, + 87880, 75000, 100000 )