From bd3625cf1ff143defe705885bda603ea49ce4139 Mon Sep 17 00:00:00 2001 From: Lucas Meier Date: Wed, 24 Jul 2024 10:38:28 -0700 Subject: [PATCH] Add a Position to EventPositionOpen This is necessary because at no other point in the related chain of events do we ever see the full position, and we need to see the full position to get information such as the price. We could simply add in the price, but it's more conservative to simply emit the entire position, in case there's anything else we might've forgotten about. --- .../src/gen/proto_descriptor.bin.no_lfs | Bin 99467 -> 102002 bytes crates/core/component/dex/src/event.rs | 1 + .../src/gen/penumbra.core.component.dex.v1.rs | 5 +++++ .../penumbra.core.component.dex.v1.serde.rs | 17 +++++++++++++++++ .../proto/src/gen/proto_descriptor.bin.no_lfs | Bin 545451 -> 548215 bytes .../penumbra/core/component/dex/v1/dex.proto | 4 ++++ 6 files changed, 27 insertions(+) diff --git a/crates/cnidarium/src/gen/proto_descriptor.bin.no_lfs b/crates/cnidarium/src/gen/proto_descriptor.bin.no_lfs index cb5f8b9377fc15a61da07be47f5ef6ad339b0300..f41da7426e0409c58117d4e9d6a186a1632aff36 100644 GIT binary patch delta 22979 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 Z225EW#p54^xe%b&>!Yi$&t pb::EventPositionOpen { reserves_1: Some(position.reserves.r1.into()), reserves_2: Some(position.reserves.r2.into()), trading_fee: position.phi.component.fee, + position: Some(position.clone().into()), } } diff --git a/crates/proto/src/gen/penumbra.core.component.dex.v1.rs b/crates/proto/src/gen/penumbra.core.component.dex.v1.rs index 6a40e9c8a4..47bd11a9a1 100644 --- a/crates/proto/src/gen/penumbra.core.component.dex.v1.rs +++ b/crates/proto/src/gen/penumbra.core.component.dex.v1.rs @@ -1377,6 +1377,11 @@ pub struct EventPositionOpen { /// e.g. 2% fee is expressed as 200, 100% fee is expressed as 10000; #[prost(uint32, tag = "5")] pub trading_fee: u32, + /// The full position. + /// + /// This is somewhat redundant, but contains any information not present above. + #[prost(message, optional, tag = "6")] + pub position: ::core::option::Option, } impl ::prost::Name for EventPositionOpen { const NAME: &'static str = "EventPositionOpen"; diff --git a/crates/proto/src/gen/penumbra.core.component.dex.v1.serde.rs b/crates/proto/src/gen/penumbra.core.component.dex.v1.serde.rs index ba23216634..ef2766ee27 100644 --- a/crates/proto/src/gen/penumbra.core.component.dex.v1.serde.rs +++ b/crates/proto/src/gen/penumbra.core.component.dex.v1.serde.rs @@ -2547,6 +2547,9 @@ impl serde::Serialize for EventPositionOpen { if self.trading_fee != 0 { len += 1; } + if self.position.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("penumbra.core.component.dex.v1.EventPositionOpen", len)?; if let Some(v) = self.position_id.as_ref() { struct_ser.serialize_field("positionId", v)?; @@ -2563,6 +2566,9 @@ impl serde::Serialize for EventPositionOpen { if self.trading_fee != 0 { struct_ser.serialize_field("tradingFee", &self.trading_fee)?; } + if let Some(v) = self.position.as_ref() { + struct_ser.serialize_field("position", v)?; + } struct_ser.end() } } @@ -2583,6 +2589,7 @@ impl<'de> serde::Deserialize<'de> for EventPositionOpen { "reserves2", "trading_fee", "tradingFee", + "position", ]; #[allow(clippy::enum_variant_names)] @@ -2592,6 +2599,7 @@ impl<'de> serde::Deserialize<'de> for EventPositionOpen { Reserves1, Reserves2, TradingFee, + Position, __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { @@ -2619,6 +2627,7 @@ impl<'de> serde::Deserialize<'de> for EventPositionOpen { "reserves1" | "reserves_1" => Ok(GeneratedField::Reserves1), "reserves2" | "reserves_2" => Ok(GeneratedField::Reserves2), "tradingFee" | "trading_fee" => Ok(GeneratedField::TradingFee), + "position" => Ok(GeneratedField::Position), _ => Ok(GeneratedField::__SkipField__), } } @@ -2643,6 +2652,7 @@ impl<'de> serde::Deserialize<'de> for EventPositionOpen { let mut reserves_1__ = None; let mut reserves_2__ = None; let mut trading_fee__ = None; + let mut position__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::PositionId => { @@ -2677,6 +2687,12 @@ impl<'de> serde::Deserialize<'de> for EventPositionOpen { Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } + GeneratedField::Position => { + if position__.is_some() { + return Err(serde::de::Error::duplicate_field("position")); + } + position__ = map_.next_value()?; + } GeneratedField::__SkipField__ => { let _ = map_.next_value::()?; } @@ -2688,6 +2704,7 @@ impl<'de> serde::Deserialize<'de> for EventPositionOpen { reserves_1: reserves_1__, reserves_2: reserves_2__, trading_fee: trading_fee__.unwrap_or_default(), + position: position__, }) } } diff --git a/crates/proto/src/gen/proto_descriptor.bin.no_lfs b/crates/proto/src/gen/proto_descriptor.bin.no_lfs index c6bbc68a36899cb580be859f383d8f922a7da506..9184afa862c827ad52ab92fcd5406a45097a1c88 100644 GIT binary patch delta 26219 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 z�g+U!|Hw!w`(nEIif+BgHJZ>P*- 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 delta 23732 zcmZvEd3;sX)pqti)4k_rJPA{nF0%q*a!Q1NjDl8it`)USA!rms3qf1o+KUJRf*=Ih zVN^jTCn!cQC-YQqu;p2Mt!J;j_S*Bg`SFcb zFD`4f=Jf;C_{S{qT@R~Je7uC^R$no;u=<8WZgo{@yXwj%O~f-VSb5bK9c&_gskQGA zT?bj0zk2@QoX&hZPtM9>*Rp8qGCvsjV0mR#^+#uiB_GdWCnIC2E7pv1 z3X*@^s{`2gwT1~$!ct%MX+fzpV+Pl+!`lifo8h`nl(Y5kkfARL+!vgT^*UH3(0sv(wD60;RzksgNhD^lD|@_Tf(0RT zUNXS~1lvm#ENW{BHRu%z)}<7zRw8pIYf%J&3KWWExegQ{j9($|2TNlFYK_=26M-5# zlXWRtV_IFpiFb`@H6ZNPgmyq{$?lq>wV??GYHesjfm%x@lvO1hfvOc7pHfu?;_Iha zlkPS;wKgQ6u+=)bEoInX0fJhmbsJ6K1orDhaBb1+p@{>N*FzHrCa;sp?XphLuM?Ne zVs{K)=kNxa)`iJBr(tsgVY1GNx00Q6W#GQ)WW23A=Spb4=|md(H-ha->YR<@lUeNM zqK$?PLg;LC8g`a!fMDC`bnWKfEKN|jN$i`=ip9*?ta;HUaI zj@l0WvW4t!y>3frLS3>YG@&lpLMAkzdj{^iPR2jA<2|AIt`lkE_kkBZ$?>fYFDUFT z63?Zy@o3#@D99Gx`0;5g& zwav+GA=}YY=GQi-RcrrBIMpj~KXfv7i<{=KlAI5nNP9?ayBGPhLo}buE*BrqVQ!Bd z4iBU`O2D?m$!}^PT-o8YXz78`l&R z*pHnyZRG&##Sz$DV)WDO$}YP?6AJ7uC)dcJHX?8`<9w*XH zwxN{Tu$S7+O{f>XbYd!oy=6nbbegGQ0SJaK zX;{!)(3=`^Sp24jU3=+alZFt2_pq5X0bz2ODqX~+4d79Sw=JB(M4yFLBk@HIn@|La z%HrOfW}l-@R81a$QXezH2x*Pk=eU?PkBuCBJT#&C=C~78GeK`T-yAnHL7%|=*2y@j zgVqO{-_lHQ3E28j(CS5>`Rua6^`;9TgigJg{s7@XJxzbq1y=>`DJSDGSFPSxLGzRo zX(ZXMBDNpI2Cx=bUJ^?8K{N%+EP_fj>x^fZ!)b*bCX!U49B}D9}HJ z)li^+qG|?88wC1-BmTM&u3ZRiDAE_4sM?xbB_n;o$;tJ9Cv7mZj~B-mvSB^OyShKG z;xx05ccTrpYc#WucbgQ-{=AB^e}c=K6y7H47qZ4;)*?1!2m~q_Pz>V=WzUT|hNiG)P?2Hn=*pp?;}$ zqiV_OEBmF|ZQMlq-!E|Ix*7Ad|NWpj*TvqgGkobs?$?O7o@HI`ta0_&gb>lHabwDT zK$z6HP1Q&NghMqhMhYcr|G-_~W-Qj^{h_(QjkJ|>UVkEAmn8F-u<`xuLo;k&Jh#_vm0Wj-?aE;yIqejyv6Cfd*%`)P z_LG;KXVqN1a*q8@Ja~cKnf&?}cGO~ziho;tu~_2p@?=+s=h?Z_ecvBcURE`3O!>{_ zRlziILzMStC1OsLm*m})HL{|7)QB6#l#ea199|xb6o;a`n6(kjecmSLrbv0^xCd_e z>z~Sl+01Vw*396I#3-L%$vTJ?KJQ@N)L@L5z zHmYJoSyjd8N)$g3@{wBVO@m}l_(J7N( zB1UBLpICoUmc<8%7qj^D!BMZH8#(Ib9;5$1=H-6vi5s(d6Mlh_en;*FdJAT`*7;*HH(X~sxk-IP*{KylDb zDa{BpZ%S!K1MB9LW)zw?rxc@5ycvq?RA~Ibx?OzPn!g_Rp>{jA^QvYaYPaL~(iLM0 zgW}GNzl%58@UGc+Mw-ginPD(lcZna{@SeqYVFG}a4H-gnS1ivUFy4j1q|49?cVS-b zh@r@+yY3eEwdI|Q?@n1WSl^wprmnv`kdYvLSl`{Oxqqp&hI3_NM_Yb*aaqcm!@4YG zO%;>{bO_iy=PoQ`oFVaOWJh?AL;!;_RCP8X2<=cHNFER)u_jT&5Nsw>%^DYTp z=7Ht@6pIIz`(t!QAr?x;`&(aZ5LoW-T%=i$jH7rLT@(Sys1!*AB%@-qCnOR|)KPIm z5&_95A{iT@^FgL%Cg5NGBMo$A@)QQ5S!ivW^AT!=mfOd`0oYDf1Zm>ETo|#bEw$K&v{L z$6)?&)8_I@gz?P4dPL-Ot7q zfnmTYCKOI&yrb4-U;;Euw5guR&}GDwzz$hz$J-fgP)%ePQ6G|1*hx%c=zCQy9k>Av z744WN87k<4X%a*CYh^G^V(5Rx1T>lPPP)(n6JWwnS)iKC^mYPc7*vy4Q+1LBl*aN{ zN>0Ic3d7h?_1Fp;COZF5VHh2{6iibXhKGh=n!-AD_Oq#ZRw5&CpJ03@vsAf7fqjDc zjs0f6i}DQWm1)dw-a0crq;mMEabqhUEbrp`IliY#Q8$V+Ljn3}8p{eo0SKqD{KlaG z9!z7nYM~k;R0TAqixr)Di^TMFDol~~^mHofsp$+$ovEF+ebcGiv$eD6tr^Vjno^)h zK@hq}JvM`7wGK7FIfJ$7C11MHaPKAm;eq40Zptin*n0zso>J~`YBdu z5`ebXPlX8p-Pw$H)w-C`2pT3#Y4+?ym`k+Tp3UMNjW(!ehfaBcJ%@3V9hlY#8Y;|d zfGMXiu>lsg(o7zh=CHQy{Fi7(phR=$F}{#lg$tPI*M%?7n}_X|?tWVNaBq3G3vV%C zei%o&_}TNrzJUO>V3%pS83NQZ-*hvop}9zeLXaBV zk-%QWxH<%Lj@g)?X*;H4z?iz9MJc!zu_hgK+c6;nW@CwYOg5fJv1Jx+H$Lh1XG4xC zJbE^qYA_oE25P?G9Mdsi>$XS_I&!&7S;i+!?Z9c!E@il+rTN~X&@E$P(`0_lZ~*wZ z%+vu0KbM(73JA+(tmP%rPe9bMj9p$L2dQOYjILn(Ej>nop}m6n4g717_JCB=D)Cfz ze%*joCbUwFhO9E7l>!*9V);#EvP%IfTE(!{cvv$*;bqaP2mjl^m(!W3lU`<7`6)x{ zq?cJi^H2b$ml^IY? zXe0P$Iu%`fhe zyMi~%`zP}n_4uTv59=APwdJir-(!Z@uNeCZ19Z^8cE6k^puGOgtr40u@gwfW-ld=R=wq_zMx~ z$^Uxe7t9XzC||xHJ?bekL<)S#>;l=95`!56)wfari!aF+!)yzuC;yFT(TjIW97*TK zR?j|?&W#Y)F}p#En-)w6azgR5h3${Y0dSLqhCE+$y>RO5{CbGFe!YE$8RaSr)Wg^sEP+F zs>+kUDdm^3)+h=ij8iCd^YXEYRuT5;rgLd;-nDgodP{H&wd+}a1HX;di{VC7oa)Wn zB~GRD#h`bJ_>B9RfqgnXM%a3jAap+y7N=PdMl}l;pXu3?1q%qm5M{yQ2bQa|;(kOm zJFtIbcB51fvta^(ntUlOvSIQgD`=Q%8`x*X^;hwB z?Q@}fHoXbC&^=2{FuEAJ=ScVBe&^El@}PH4H5J*6S={}Z@kv~5Z-K%4GxIWWGN-zI;bw zV!EP~lOk;}Z5r{Dxjyy)VY&uXvmGEt%w(>QJ%FfmGS|l*K#bMNn6Wey3a4bHhWUI{rTe3CqoXJ#-HRd^+qGNp@6ySZW$0pPjcKXCviyz4%9y< z`FVd{!g|dKIcU+I69$Kt>^VG82T0g}V-Cl24P7YPwC$)7w+-auOKU;~hom6`O-D5x z`v(;w+P~LuEcvsP7jSuTGJg=yXQhin4i_AYLk^mt7IVE_v^m|9FXp%io~WXM$!Uog zel>r*bV*3zfnrG*P@1ro@I2Fzv}0ewaieoiQDC-ODcTR_KP6U%6cJFY485QkY-Jb= z+W4;IE$EttVu8u)1*X5uP>py^%QMF7T3V$k;Y1>RU~e_;xy7pOgJqJD(9Fqv&h zt{TGE+NE1U5+Ckt3A-0}5`g*<8a5!=!m)>Ljiu5F-1m6KHc@juZSP~JYVo#T3tTy@FS4~?rpr~pt^00>taw$M`_Hlh*AO&z`AJ+#-DS$KkxV|qS0TlLgyJ_l1;`Z=L zLKdS6l!sN&#J4}a3X0o)uI~|~398sno$vyUFqfvRgPeC0eY)_5V&+Y}x)-1c9nD+^ zx!!<67i0%{b9Ju+C~doR^+!o2_;N_xeKW5tJrpv~ymctd2%5JJnHj^C^VT8CxbDa} zFL1x&87D;a7VNFQ;t@51J&N*ClW{<(22gnj2>zpn9}xUUO~wJj!=onSJc{NqvuFT; z3D7W6=#H6*DS=|CtrrbIP#rUihDRB9oO5;41OzHTLq!>Poa?u2l!ECvZ>G`{5KPB; z`wlo=aXS*Y-|>vooE0{V4=5iyd`!h3%g4sc#1*&l{KR)0?}{|+A{2yr69gdC2dL@; zgzNPt2!N=s-UI;<_0^joM97(wT;C}GfeFws(XczoW9s9F1d640D|M*=2&$7DcM8fW z1mP6dS2GbA1VBSYK{&Gf!dVjpAh-^w>H|a&&YBXECm7Id=M2%f9B%t+jvdl=a7SP z;OCHoTK_Z0YXeOcumQ)GbkcsNMzytNAKvcH=0>=#k zm~I3!h{s!8UCRQ23eZr|ARKS$dmfa6YP{7%brGPn#rG-nd>$n)9upmJ=U3nHSja$w z@G(noK%fJL$1MGk2p||9v%sJlf|LYoce#OB#UHb}U8ecLG)Zg+|DBUUe%e}03i)Yk zF)8Gyt;M8}-vR%mklz9SB;sG4jZE+Zccqo_OtSKKyo;B+(u(A(w*a5|{uS}kANUWY zub7GdDqnBHf1D(DxIdeE)$?n(~a!_w?Gy(8su5Yw*)qn>C$40BYnk)bjfQ{D0 z>YxsY0Bp1_Ex~&MISJj(Vpcitl-L~d(|LV!$WJM-*~(QXf0&Ss)vbr@F+lKdwk{bU z4<`g=@umI!BPt9?k!=?5UHA!)4;dLBTV55f8Z)lEbG+)_@=E%j_%&q@mi35>HN$!H z1m2CyAuOx%@xNn6KZLodGG6|d;pKm#_vZLRuql7Ad<;p;s;bH#_)}H9Vr=|@GO`*S zFB?0y;vSU5D@Rur-FnNQqGCV($G=vUqt-ua_L zMtURhJuN+GrNfI!Ue%WyHb8J}quPYx5 zl3VVDyQ5WO?kywLc=^bYs5CBHmq19yjV&J$f2gABURn7loP6VB##L5TkP|xO^elmx zrXad&Ti9JR-nLo#Q#~X(`eU1Qv06pt5&+n_)KDQEwpmy7@_$3=5TRR??H2!747!(J zo44Ka=nEd#_HhWsi1<(}xt9-W{h?(?82G9tM;^)e6@9kwp- zsVl-c=13TKI>!K-is%~uNZ24c#~cY8MCX_zox&DHQPGjGMNw3Agj&=IH-kRvsT22% z=0#oVteE-~%$GO4=@2O)q5S3v-4)m;#D7Nf(|4Q*eWGL0iO?rH7M-y4htn{DPbVzA zlG36B2$xP+@$Lq~r4v@CZhk`cA})vOMdv^BM~Bsi{CLW>>qCCLfi!lwwk+ zFA{xhx$QHS*f)k>)B8+Fkp+q~Aq8DMov{M7Wq=JR&RF;WL7usNx^}u?CCkS0fc3f% zl4OJALP$cFQ5V8RE*m5lEL>yL(ckB|h?*c)SK;VC0cTI$`W!G!uv5zC(Z*oYH3yR4h1>IRqw)M&1=eeMmY~zsofug{L)pVP8DST7> zc^vO4Rz1k4_k+OrlLxZtAz2>CrrUv;7xF+h-R@N6zpcoEz@BB}!_8NTEH1=D{Fy!w z7_tClvqG`}WV7tl9v}eOEF0mWFMxfXk9!hu$p?defEY%=hAJOZ&Kz4m7@!nXb8P)! z00^o%MD;gGRe%clA8di4#@26LfMBSx@zyn&(NKfq3vKL4 z9~MJ#=PpkCmG@69wDq04FYnv|)tx&a2Hip%ckcB24H~A4ZTTG&nnmM%v7H*Nw1r8B zFqDv9@nV7doSji`t5-Z4G|$=iEOoDgHpMvYm}--2ALje{uv*h9h~a6it@n?Bu&T9l z)uBKe**Fx?Py@tJtF`rd28f|nYhyk8ntC%vo3Qnw?h$@s*!r*n+JmhRE1(9fw{z9= zF-+jqdb@{uF$6>f>+MSi>iQTeSa0_k;D4hkKx;RNt_l8KVpCWFEnAzy3doC1ww{b) za)Y+X#^sl40d3GW*)6*nhzd5@9lOfF#}N1}HqV!{ax989c#9oVpQQqUHiU^Nb(zGp zR>Y{6w%FO~8W8CJfl?QxN>?JhR7j8Hab=4gLR0#zD`SfI?6rA|!dY(oxA&G~3pa+g zD#_-LVqo?}iOTO7r)}ikFbcGd+-v8m7k!jU8a$A;MS@W~_ltWc^7ftghYci)bO=8r zY^g0i6>m)Bt-5>~TF~An9l}Dw|Il_iM#q)9WONcg!0xUK{iO3sUFauq)Y-Xe@`erk ztg}nh76cHzRcH4aD!01?WpU~Ca>U1|%P}+JQHq+5nGp{Ns$(?b z>5)4|2igFptS$ z4ycAXAR_b~4Rac;nSuMgoiRaw^-3$y_jaVfpKZaPOxggRvy1)1^{;3-E>TY#kH zFDJbQ!m8#CTP;slrY0{Z<$1o002;F? zd1WI}mVjnojyl#|A$Fp4w<;CDyr^#Y}2v|bs1{2=(0}B#>!_}!GAUzriiHdK zyt{XX70_{IXIKFpS9UtNCh6$7veUtlNBK|3m7Pv&wOE3X7@eXX{(CY&^g-ethwm5F z3;DZ=J&vay{W9^Ch3xypvDNn^5~CUj)C0B@AYDFj@OiTurgALoO}C(gh9I<{Y}}h} z0ld$#)i*hr^g$wxCrH!_JXJzDxsURRmcdL~iSZ*PlTLKJ0yLRPA3%NP=lT={DhWB)s=Kb~8OU zsjrnFP;bE?k&mTcI(R%(QNTATI1h$x0#*XkBnZ%?L)0W=0esl8+v++J>dO>JTBd5H zC>*ArAsQ33SqYTw$m32U#GVndza&m-82UfLMgb;IQpao2(B}Z-gjlv>HNGSKQ8PC z0HX6D5kABQ)CVqdFZA1waI+hD7w_Gu71*M5)x(5d;L$R98okt}~_!wub-qx-1IdbXOl% zfnWxx0tkr4O?UM!Hal=#n%ppX-&(f*3A=JU*vUn%nK6!Yk}Wt6;t zm}BO-deH~OEH%%?qEF|VY;^wuSG+lqH!aDg1K$FZ1VCU-hiJ8g+i1zjrdfQc%ZC=O z=OSkkKO*|R!tWjiiD@PsPL_r~QbU%y`kVu6__)+9QSStR@Nucz^Ljax5R}Eeu9HcU zP0GtDNlNR;nlPZ8@X;LMdwrHzVs))_2x!ZG9$U|S-uQHhe zP4KL8b*2DXo^3;<6zh1F0$Z!-OZQdG0a^bepk)gzg1 z1m703YWbblzHRy^NA?e(>K{Nf=55nIxq!upSk!g{T^z39>uZFO*UT7 zKViSGGj2hQy6Q~p0bx~VS`P@f>P+ha(fT^mdO)5seoJ6Bx)CjVx@ zaaZqsQ9!kyaP{6-V$=hH+Gt4uT5`h0CbKQ}9VCFlH?A1Jfwyb(jjO+SmU1Y5<2G#M zU!fI&zjej74fuWBx32zPloY8qzNH^C)9xt`d~UtVPrB;$6&T$EfyyL6bWgpjzpDU5 z_4RHub$0=XIMloP859t4IO)3T1pp9nIO*oK&6X*fM-`toDcc_qH36HNC=pJZoJA>W zI&E?m5H+2qoTZG)BXmYjnK!(}-7C(7JTxTFn1q5Rc+QxF0+g0|Nal&kb$r;Rd6Z1& zO)>$&1W+XtApAa0$u!Nvwjsc_!ON&gHrvFXVEGe0e5JLWmY#t2p-*`H$>jRY{2G>c z!t>SVttg;wp61!=XF(F9=@6(5s1zXGrg?hXC2we6pdU0z6={Qu`jh~q(>+Y3v=@4soKM{r#x%~1m}4A(;*-<4A4-~ z73~~PU*4ejBZSm=latfwTd-}6Cv{FICMAs@$hfdLI{j`_R4SZdBx1@lEiY`#*hECDBaITkUx`u8^=Tb5#r_eLP(;o!|oPPQRXqYag%MuZK zMF&RV1?utw+Mp61z6$!3vO7O;mwFjLdC6Pe49epZ^d8buR?!ry^1S&Xpb}PMQz%(G2$mkN?B7k=XdK83Ke8 z5*1EB1p5U~e;Nb`x)(hC6EHwj_kxFqnH-D?KzwWVg4g*Uh?;Bx1bC-=(bI=fQpiW# zUP{G{1YmsGvuThf;3p&nPhS5zM@(CRnN=O zVU*XNwPDu)LjeMH?T}CRq9CmG68heOB+z)x)7PUCD}lOFmI9c(=IJYC5&*yM>7NNm z3=0UMF=2xMCU1K( zY^oCAcfvuTZulTDgF@Z#y`zQ^r8vBP&*R%ufu@BR0uyIih~M+*gT#c4EH&yquT`-Q zG)<=Oc|CjSKx6L=w$kmXKyym*tzn?K4D|b9ibDX#ZDF9f%KJXH$jK)pk zM;_mq3N(%4k36q|4x7A0+~L`A9cXol2!Xng%GZ~OJ3O3VRiNc1;=fFwNrB=Ffr&F+ zA|n6(6$ToYhWKtd90TeS5dt#?Adnhz3{arq^)8R^O$C}39tcdJX{WNw)3-a&h6B4i z{qtTxD@Xw2gKL%1xaS93m%XV#tKXM}fyS46NZ0=j0}TNv{~ZR}l7Zes`KuBd0%&{^ z&K&f^GLQdP#~JxYYuJ8I-&q6FH2-O;PQp-tK;4u{1;pS}4`(YCX#5le8}4uhRzD4a zz|6o9z~VDC15-jH=L7pc*s=Ht=_Luk0f~B?ks4A3?XR z0Z-pr=gYmx0k5fg5CB9%AMo%^wTd%+AAG>;b_g*@$R^-@6B&Il)o5S}^yguqA%KHl zgn`D3AvC`9?B6H{u`zIuc>Gu@e`!5G;^D7#sUYDu1voN2NUwaMJ&H@l|{hD?bDz13t0a^Q#sr+>)tjEK!Ix?&$ z(gX<^*KfkOLIoavn=YV0f9Kglbw)cfqw77ppZs7IRnjRhrv7vm z5CWDCK`kL&LFHr9^aDOg4_XKDk)y}NZx}PWYV;q+jg0s2)QSE?3)tw?@B?kH*#k3^RLYcl%m)3CvrA44{pjebm|VbICq7Mku1(dGS`?&{Ho4BBTxV@j2D zXiD2?u5%tQY~3(E2<@z>tSTQDzQnQVEC}2Qk&HRXO*?rfmOmkazmd9z zj#LG7q?#PzPb7cd#k;b^|t&Aq6e?)gc9ip*p0HXDOoC z&(K#50(U_qW1(oim+#A45W#iSggkiHfExOKB0mkdWi2k9E z6u|aiBwzKE6riqy5zL>|yHbGLii446o%~#U^Q#01&%sFZj{YwC9WIGLQWr`7=P(c9^(ATBcN4Fz&>Gd&sMXRIwmSyVtAgGDj7Z=XK-$NORFN*MF zdh_UUV}_UaADvuX$8+5TidBx2dvpq}iRx(E|0*DFyJNCW@0VjT;gG&x_g} zQ&FHj2?QZ09f#+obJB>P7cEf3A|W{>3I2$UAqB_$sNEw)O6xBKAt{}V=ckj>gfKr^ zK${!Y8?*|~k9O-$-;{B?A-ak-Ooq$z=9B2_k2_@On|8D`DjCR-3y4So{wUP(kj=GvTj+FZ_!x?4DDr6zrdeK zzqAFWI#vq&G-y_0rD>EDqfslPI_IPSmMfz==cE8Nt&HlNlLF+x%BapcB|w+2j3Nhy z>dL_JV$^P1*e5<@1pZ7w1-`ByD?fuDSusk?tmh>IQLG|M1eAy`n#f9lBq&fX+fo20 zUX0>pn|@GF0@S!VDzZ-UzYJQPPDR%U(wnW7# zWk}wNiqg}(q~fip8%tBBK)n^k_kon=wiM gkkVWV(CW?6$p=nz{Ab}m8~-`@&rKdU?bY1#f11yKJpcdz diff --git a/proto/penumbra/penumbra/core/component/dex/v1/dex.proto b/proto/penumbra/penumbra/core/component/dex/v1/dex.proto index d20e5b004b..0ec1b5a9b8 100644 --- a/proto/penumbra/penumbra/core/component/dex/v1/dex.proto +++ b/proto/penumbra/penumbra/core/component/dex/v1/dex.proto @@ -655,6 +655,10 @@ message EventPositionOpen { // The trading fee for the position, expressed in basis points. // e.g. 2% fee is expressed as 200, 100% fee is expressed as 10000; uint32 trading_fee = 5; + // The full position. + // + // This is somewhat redundant, but contains any information not present above. + Position position = 6; } message EventPositionClose {