From 71f81012390d4aab7f76e8135cff58db954972fc Mon Sep 17 00:00:00 2001 From: Chris Hibbert Date: Wed, 8 Dec 2021 17:48:08 -0800 Subject: [PATCH] drop internalCreatorFacet from contract governance (#4164) * refactor: drop internalCreatorFacet from contract governance I added the internalCreatorFacet as a result of my confusion. The intent was that the limitedCreatorFacet would be the creatorFacet provided by the contract with access to the contractGovernor added. I forgot to interpolate the methods of the original creatorFacet into the limitedCreatorFacet. When I needed access to those methods later, I added the internalCreatorFacet. I've updated the contractGovernance diagram to show the methods. contractGovernor starts the governedContract, and gets the powerful creatorFacet. It uses the powerful methods itself, and passes only the limited facet on to its caller. * docs: clarify some governance requirements a comment in contractGovernor said governed contract in place of contractGovernor in contractHelper.js add API doc saying that the governed contract shouldn't use the powerful facets in AMM: reduce scope of creatorFacet by creating it after publicFacet also some other cleanups * rename make*Facet to wrap*Facet Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- packages/governance/README.md | 16 +++++++++-- .../governance/docs/contractGovernance.png | Bin 61736 -> 70021 bytes .../governance/docs/contractGovernance.puml | 8 ++++-- packages/governance/src/contractGovernor.js | 3 +- packages/governance/src/contractHelper.js | 27 +++++++++++------- packages/governance/src/types.js | 19 ++++++------ .../contractGovernor/governedContract.js | 6 ++-- packages/treasury/test/test-stablecoin.js | 2 +- .../vpool-xyk-amm/multipoolMarketMaker.js | 18 ++++++------ .../vpool-xyk-amm/test-amm-governance.js | 2 +- .../vpool-xyk-amm/test-xyk-amm-swap.js | 2 +- 11 files changed, 61 insertions(+), 42 deletions(-) diff --git a/packages/governance/README.md b/packages/governance/README.md index 7608acde1fe..327f9779944 100644 --- a/packages/governance/README.md +++ b/packages/governance/README.md @@ -65,7 +65,7 @@ voterHandle. ## ContractGovernor We want some contracts to be able to make it visible that their internal -parameters can be controlled by a public process, and allow observers to see who +parameters are controlled by a public process, and allow observers to see who has control, and how those changes can happen. To do so, the contract would use a ParamManager to hold its mutable state. ParamManager has facets for accessing the param values and for setting them. The governed contract would use @@ -75,7 +75,7 @@ values, is only accessible to a visible ContractGovernor. The ContractGovernor makes the Electorate visible, while tightly controlling the process of creating new questions and presenting them to the electorate. -The governor starts up the Contract and can see what params are subject to +The governor starts up the Contract and can see what parameters are subject to governance. It provides a private facet that carries the ability to request votes on changing particular parameters. Some day we may figure out how to make the process and schedule of selecting parameter changes to vote on also subject @@ -102,6 +102,16 @@ contract would also make the read-only facet visible, so others can see the current values. The initial values of the parameters, along with their types remain visible in the contract's terms. +By using ContractHelper, the governed contract returns a (powerful) creatorFacet +with two methods: `getParamMgrRetriever` (which provides access to read and +modify parameters), and `getLimitedCreatorFacet`, which has the creator facet +provided by the governed contract and doesn't include any powerful governance +capabilities. ContractGovernor starts the governed contract, so it gets the +powerful creatorFacet. ContractGovernor needs access to the paramManager, but +shouldn't share it. So the contractGovernor's creatorFacet provides access to +the governed contract's publicFacet, creatorFacet, instance, and +`voteOnParamChange()`, which the contract's owner should treat as powerful. + ### ParamManager `ContractGovernor` expects to work with contracts that use `ParamManager` to @@ -149,7 +159,7 @@ governor's public facet will also refer to the contract it governs. Once you have the instance you can retrieve the installation from Zoe which allows you to examine the source. -The governedContract will provide the electorate, which allows you to check the +The governed contract will provide the electorate, which allows you to check the electorate, and retrieve a list of open questions. (We should add closed questions and their resolution as well.) Each question refers to the voteCounter it uses. diff --git a/packages/governance/docs/contractGovernance.png b/packages/governance/docs/contractGovernance.png index 1c5ce6a3ea2c3de2ac337cbb4f7cac0eca48bab4..8e533400db78c3f970a413ed493f45ac168e1511 100644 GIT binary patch literal 70021 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�nY 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

J_o=(SMZkv$BT}xts3pEX>XE-`$mMZ71cP2M!Mh z;ECD$__Lfl?{XJ9{3KW(&0CqR`=OGJ%dS^{HdRqZBfQVS%eJ+4O6o;KJjJ;F&NOhy zDlVZ4D5|5-AXIlZBTr+Ci19}bk|DDFG(T${?NgawcyHJ5$ zBEt|fHTpIPhS{3ac1CteTd5X~T%Xk?V@=dCurP8vQ@@(7od6B0;Cavo;hXg*?w!djRPeXhDfi~b6C?b_nVKn*z@AAyjv@CkORNR5V<GS7d-&`}L z^pN`hoyDV=DOLR-SgG^s;jIkK(L3!G9ON{>sCSqvQZ0;_G=Aj!vmEk>Uk=-8v>Hy$ zt60gou;Mk*;Eg|sS>?O^WuW_G^)eM*|{YjKp$EK`@B@aaGb|qS&&c0952xmOhwo$M8FJ zv_tG>Ab4rC>N~B6%mul~RRwzWcP6~@OLQG7-uX(#QHQHf`G>J2L~?@(_@H_Z4!c$s4@<-MM2K$asC-5fLccZ=@|Tz8);Di1krfN>;W^ zk%T@7W^{5kVYa6}ziI+2qx$D-fYR}L=Hm9YJVT~$!1Dh0nv>a1c#)Cg`+msfSjL3< z;Pa2zgG8T_@sBcrI+S4wliYoT6f^Vlj-uVcGyAWWfsc`HoGoo}y*OS%3yn;z}G+%Iq8G_aa z4l=<(L3i=-MXfl5*NUAtg_EsFs*H~V&$b17D}8ncRlJk$9yz2kNQ0Ikm#RuW&}VOo z+4P)wD!SdXHs<^9|Ff8$i%Uxz!o*Zm9^(dykM`#gUUl%I#nsE>*26I&FfFS8POH1S z+u)yRF*1mZAS{oTjB_UO+rV&8-ma$;xS&VCjkMDkX=8%lF1siEw%JE_#e(Caqz*O& ze_T`__-5sw?hSp$`)94VdaSbBJ+9k{j1F8UC>|epDqgytC0b!LNU{(`CyqJ{tY#z& zKDE07`-dV<(;uOAv|qwEjr}nY`iyCTi&uxtw6BtaAm-Ri~&N;SZUI)hFBJ7Cg zV8boU{0DE^uo)O5%F)8Ftc1CuCYZLw9@vj3J7$Tmi`ez_sym&?c)=HZ3DDl!VVo=} z8g7BDCFV}>F+YymLAidxLWIV~H{LXGL|JeOEPwzEgwFdWsBZL8;)CnZoi9;b*CxV; zf&-O4o{wXKTf)>XuP$$-1}rMueuIPQjoywSb5>3>P$}2Pv!$zXYlAh7ec=yPU)D>! z2R7hk$WXaVObc+DDEETCSM6LJh*%bk3X3`ZaoF1cQz13d97^Y2)tY`X#vZlfEeuW` zEh=@GES+AMk#^QIA%SC;^SPQhO-rnGLL*JWp1z)wEz#rEcr;6_E8tmB+Swi-{E&?- zo=`VC*x;bn7h%>4f=M&Fk7cJW;LO=Qnnt}v{x-Z0Zmz%VPFblIzh3U(Hey&wa&#A7 zm@6#2y)$V^XYzam7krsi#8T;eCOmBTsC!|wP6H=(oi>IfSc9~y_Md5%(n$Z#r z5ar^~8oQ6e7nsb`cF6T>kAqfV`N*3J4gK#<^fWBQ{&c2>7o~#d%*U9>_}vlDtD-QM zJw0aRpMP{T+#bfdoS9S~ByEQ@ELPh;^=jaE#hAu72ZoBW{;PqiOERYroL2q&h@*|3 zVy{HrTf)fJ_sG2wFMjZ2=J0CS0?YsdE^o7Y<2hQ;vEHlk$`UI#5E$rUbad3Wn=ATh zCR-ir-Qb>U$Rg1M{vZw*sf%6fJQ!(I;J_sQ;9cbEF?X_ZeCXDxRJ-WMPd*%7VF9N1 z37U=dN8&3R4<^0TjG@qPNiZkz`dv%=yD1gHR?&@=%%?JJ6aAGwdSG=bGbssl%<;pI z8@ipmAO8I$+rXUs&rt9|Qq$J!T18-w?DrAazY;DLXE!xPOHU1j#D$RCtoKQBt)m*F zv}iasGTyV^eJ}Ayz7h?a#z=GFl^ey{-21a@-F{1~_jt&GBDO|s9u&`;YQq*(*M5TG zSuzugwwJ#6MtC{}razr4?>ESd>i3f}6d7n&lmY$} zAeBXd{}d8<0mIOJ33M%#jiA;A!GXCAz}aME0%|)!qeA>g{3Y^n5RlAwaJn%SL<3D| zK+`$pEV*BKDxkNL*Q%+;B%@gnOztFO+wUZrYybS%;_+p2pG;}dlxCgN&Yz_& zo0;mNGSh)Zk4xp(PEJnX9|0J^YcuD5xT>I`F`k(CC_1dBrUv9XcR;fpD0HGwvkZ{s zq&0G!K3k7uD};oHpBx^(mX}u@XLJmL(d_kI=TIv&wVtx!p#5FK1%8Ien+tRs(ODFhwfgKptsP*_Ih;~0<7 z>gKx_P3^u7*5G$Qc!Lr&%2j-5%IaxC@!SvWLUeyNh&ISU8=J^y3ZRE&o0p#4XX_sV zZ@m@eN9Ij0m>U2+Xlkz7_9+blT+4Ywfb`~?*&}oFs}wL8nE4L)!!zcK;Bd~Yhkaqg zz+W0D>h>q+PMrQx5~~Eo(@1Z`baO>wBC@xj@g50lI~PQUz%IHR=i2PH&O~|1`ycQd<>#m2omE zDzHR0=Fim&q0vlgI=Z?3v0bW+_51=UZG z?(a!7^<__1CvEm0z{dqc`yv6%7_|I};}ni2l7wn$X=!SDT<%l>b^`&m@LK^zzYn{? z7&s3HJFrQZ20Z}>=7?8}NZ$R6&G_EZoz_WpR%8dY+qb$vp-5TzTe^s-=*=(Y6AN@E z$_*{B%qrHeUcP)g7abt8@qz_G6CU!tst-7%sP$87rnfKuTQF4_^B)F$AQZfZ&6KSsmH!k~mFSS=sMUs$Pxf6dj`)P+qm6&_OFDvSCl3dsb5Y zRWJ27R1ZhJ)kdA|PNugJ4X_yQ**M z34T1c+EEJne;rOUtp&dgRZVtV+_|(d%C9&2wD!$q(Lv^{50epGyjpT0!D7G6l=sOB zke-+T8xQ%d8twH~!5SG8V^ubNy}iKFCB5=Mp=bBWijn|l`*b~&*M3#rQ+rmJu(gI^ zu8{^YstY%;f0fzfvh!}3#v*15&nS*pPq%(oYx)jR=O)sdzC=11Mv@`@d{7Bm=HaUP z2KUd&H8k5U`EInmVtro-44C0sm73mHjglHV;e;^x`s^njFAT+5E>i;o>))vEo_5a# z?s&H%_j@?<>sKYv=^n2tsMKj7TM>1Qq+abrL-<0nJ_8xEW zKR*6b$ACk85Bd7atghyld&4BQS1iBMejj&1n2>2L`8WSA@Vr-ig08L14=ve(GZTiu z+lR3#H}M&s!yUMM7N3%0z3BC`cdZcj=BD?^_m=9;1l-r^8)G;!RM^oJ_IkyyFcrz5 z2>Pul(GPTgeQIoEG*|bL8fXxM21oMA!ZpBo9B=-b22Hc(*%AZ7XbOeB5^6a?CtWU+ z-dwGU&72g^j~m1El$4ZH_89=GyScRSlyAv4N4}(9z&+EzLtqweYak>Jo|P!#`J$fR zJpSA*zgqbNAGzY?QqTew=Ae}qFb*K&1#mmF48Vl}7scM*@7b=^&!p@(OA%tqqw6C% z1kzc2;Ol+#pxXp}=jE3`682I@31UYVSN-&c1i@=nh zFWK1_7f&o{O)qxD`ShCM3L>{XJtiT}(R7QjQq9Twhmgzp8tdnf9vhcYP7W+T~vtr$L^%?$#}DvYGR zbNgd-{X%yOx5lI)1YxM}>i@(KOwGvI>Zkr!oXWDIgKr66&#n6oMjdX_54g=h)z=Z< zWPg8nQ#D{Q*OEPY)T^)h_KgzorCFSyDIKbL_TS$kbA)eONq{N52!chmtqZKEJFny1 za#Rw0ra+!(-Ng#VQ_Qw^Vg!x)5j4a(uU5>4ArJ@!XbJ`Hf6&ucN=62BYXY4Fvs;T( zl|KWm9njMl=+RvP+9v1)eYri!A^XsnheUhxrXQQV<2K+l zX919Z%-&liMZtZwuThka>nn~|6WorysZTyq#;g#Ah`Iea0vPt7-Bi7EpKw$6@|6sWpDN2Uv7@$vM83FJV<-wQ8m<1h=x0{iqmVu$~+8Gja zXNsHIjX6>lu^e$ZV(8~R*Qa3znjtA0oSi41y20b!o13iFheMB5hC!#MtI~XJK6Y^id3cLRGp2o*rlLMOZ3`m8BuFAO=74q;#6>xMUYU56 z1nmF;LJ?=7-nMVzaC$zCEeNB9vzX^Z+8;|)RZWndS=ll^K*keBU)|S+>hi=>Iev=9 zWQn>Ga=bsu>yM1ImM-(4{fPX;lSO68)p<)syMu7pkdt2jFRX@yJ5MhgY?gdfks(J= zcMTy9jX)v@Ih>a%5W~j$7|Ac_TEGngpKZMKcG*)#Jyt(AyY1kSko)NL8XGh)oRj?(r5 zCC}NMi{mrEWAUgYphE^CnG6d(BC+wlT#I^TRKu|e(H`|LQnr^>!Ba?z7tX@KBVxC( zhjc{qD=g!r5qS5J*NF16&(33_770wHZoJSHncd3mo#B zwe~Ma%bCAAfJ90eFoYRvYC{K>Y16kX{w|Gyv$Lyra+N>q*rV;67K)Gr^2Io z?A-$l|F1Q*++j^UaU$I2Z^xHD>Lcd^GFAnS{u2XI4Dq!`FKq z1g{>Rqfd~ZqJW1kQExjt7g-TPY+beFg{N^2klR2j_?#f6E?%poC>3Wh0tVuy9MOdJ z@ufhGG`IY*3!+CeY-(c?k7i#h|A=S((3o=wr(I(h0O!Xwwp+Toamm5>y1SCB@ENAv z!AW4;FyS6~;^}YA(68ei`A>;pF=XfJZ2r z_b$z@!NICY)LH2qq#0w>CuT758T9L}(=*8+A-;WMn6nIVe4gtapa zIt_SM4uHzsTDg?W&o;D_q#8ES>4g~8wRj^9XyzS#(FIKj;l4s!K4uUvf6QA$K|@zRLA1f?OiR? zZnHz0*-ZlbAA-MKH0@dHGnl0xAb^>kJH>6!+VvXC>Q@qo-~0Rb9T29fix_|tu4HDb zJj*~kF&F4egObW-SVui4NfGdk$XtV-j0!XZJU-H@OH^R@79io)-lxcAx%va&uC^_P z&WBj0Fw)Pud?*YR@S3<1D%rlv$avij0S_z?((H}RCtp}Ds>GIA@_ADr4;anl&phCY zB-%U$)N2Euj9e9eb`+RBlsyqNa`cKtz#$^%Pfxda{dWRa9&$ql6*PT>xXs?EI3`X4$=P`Z}S9d+9Gtx)8_T21iTRWLSi?N`6ZN-|Jlv^d|3$=rR=}d?t_{J5fnAWNKr1#JbQp*gCvJP>8}2C$8FuicWnmyE9j4 z6b>borz?>3Cq#gEowbdi{4Ep}&7?D_q1OrRFE&B!eU_dXyar=D97el36ISE)Wchuj%XM`1=ow=MWq|@mm-QeQYcu11` zMc}|xl>6o5X}nYmqzSxQ42F>~k&VpDKh0RIFjq?wxzt`jnSD5`6Z}914)^>V<9gUR zgzDmANs1ri0qksWkq4A90KwKMIKZgEb8#XtIJx)(ECT)hl zqoVkuBj^4~7+wfoFHN_N>pvqSx5fw3#FE$gcSysB42SxLiY(`En7ufKgnCEI<3Dvl z>ZA(@9`TF+?CtAg<>v>@QR6+T8HXMrl+#nB`>SlhlY1R;KA>nQ2OZ=?`c68fj#4V2 zn+V=yk;5#pWRRX)JJ4$}AIXjjewDS?c=<#`#E%B_akkjp8OoSVm6+uYg;!KuEQU~n z4D@$V4^`DDp|E20qJvV{2npYKx^x>*oZ2UCXt?F(vQRCAa*D>}O|SjXecgCfsu;~g z!k|DA6G@b9{SNxwqbuCRfk@xuSYUQn-|Jc?jF1pNNw9)N;|DI4lTKn&&!w_zM;AnP zOMw`n`v2;>@_4AX_phsRWsgF{)gm;?zNDyxNcLqcWy@Y<&o1jSEQzsXUy~S3 zk|krw-XJ&2kUjg7<@*fX>b`!j-~8ic<};tqIcLs!p7-;9-sd@W2%eatFhYyx1Sg}^ zt$aWb05G+sEDH8NXWjWJ%tI}0ZFy)|)zajiRaaAGIgPh-`}(-=-8X&Op!h+~qy*{~ zRB%y=7BZ~z8co0EXV0dct@9z~v^9AEry=0X?kf{4EPJMCaq!?DYYEuUPPgqhGB-G7 zx&hB^3z$Ex@NEZ)lZ^ZJ7Rj|%)Y?6VgIIQF0kwH9IEX95TL(5izqGg3wg{#d%(%|s zIe7nQZFxAyST^pgg6gI>|DWFZT4VirD*eu{<|Nro)>?72!-o%JVc~><%CU?P%ZX)amr==$vMgJ1$SMjb&A+-l7dmT4ET$%x zV#j5*)mqwL4f&j=ToXhqtUslF&t%aAa<|48$+YEE055}Igc0srkGyE?xw50arSoH3 zQF$jzwFDYC$V=wQ3v=S?oIGE-#(hmOhfm*JTAxifH678strejJG(m^6s=GVeCjau{ zMp7BK94a=Pr3mqtX=|>51)thcslwE2v3i{^LM-D~lohC-L|VRk3>7KTj5Kj6AL>Q6 z_LW&RPb_p{m1G8GLko54iV49t)OE&V*Ho6o*xv+4_^u>-1&4cctu3Cemp-kQyx6vp zamrtI#{fJOz|18JYDZUA(vi|itXG^pXDPD7l(;#u(y+638jArL!yG&09=ZEZtvDjI zrRRHJT9meigm~cFM@C#;+UsW`M@dUm;z5DL1%3T!n;m0v^qM>(_-y*z$q)U zqMJ4`t^61R^#m-*x{YFydS|UR6@|^Kz$x}K18x^kKH6Q`F;K2H!cjj$Was&$(IC(m zcQm|MT^M`Qk1v`E_&x%O$qB`F*}j+GZ*8tiM|Y{j2q<%a{HZ`Yv+fbkD5T@lGj3{( zh(4|>woEvBZN-(ZTN(^fGSz|l+GlTAM9hdlk>7ulxcz=S3}5h%-(K!DzuBUF8m?sb z^5i`;K|n_cPIl08P*yo$*Hbo* zT1Ue=6)&EnE_vzF^*K5XlJ8+NIIc@RR8Iyop~jjtL7$>@b^dcbz*eBp*In8C>g#xp z&xmg~n90sZBKN0~qm?Hoo*^^xS9^-eaSuhEU1|a;OF5(dX-6f$dyJloJ*BVc%YL0vf42!A(nxf zk`9S??;_!-;(~zzzxk3DG;ZsmrQ(h4=3BE9_X1_lynOQwj5b8_gDb*J|2`62oAo5` zIbkeq**j~54*jin=kzkh0-d@6z@nAt&Dlf92=nSeZb;oyRpTt10cHI5g(ePGg{S8JfApC_|wM5<7;AB^S=i}z=4YcHbYdwBnOvP~i zYpaD`clzQYqlZTV$dy=4Z(KcaGMuAl@KvTNdp;-O*zu!KWLp5IlA>pB&iFa2sY%03 zpGUXaoV_bi`X5lmn!MfzJ>I|5;~NO?xgpmmUbnowOx-Lkr*{uhzy-6&>}Qy9FxSd* z8PoHatq`a~+}!YOj@Rv4f=(wa3%R~{4N4S{Dwo->fT;P@p`tK+-gt*n_>rz;iSE1v zd2cqc7k$kMYQ_VNPyX@SwuB{Z*OT88dEUv~C0RC^og+3$#v?ZfiFw3`%rmsCRj94L zJ+MJD9loqS$ZtZ0I4@xq&S8DYBOA487)+lx(UlXBIX2sQRkAbVdI^xpqIlIi?m*kr zyNoS&C>k1GC19>|$t_#aBbf-Psr}91FiiEDInbqz11(iu^4jWqDK@;QNOdRmAi5{%ibWQ^cyoc%;Og-iC;y&C63o5~B7aQ@B91AJrqm zcb49U$D4dZAM0j5U*k{b=T50W9zH~B!6VbpBb|iclu|4bQ$VTbd0SODSJnsj?D?(NUJb|3i zA*d5AwkQ;s$s^z7F|%<85EMU8dS-CgQF~#xi9bZn6QZDk+bdM2Df7DJ6~*xDgI^!}I7tia?xGsvm0-!S5?FHXq zom?9q0A=C)2E}{jZn`*z9;RC}c)uDgPYiS?+Xt=m`BE1dNZashgp>r2B>ihc~Am&Ny+ zxj{&D7g#lCt72cEi+e_!@f%y;kFmz)l{$eO&-v`hl*>t^o?hGb{HXHo3)sCMA9TVh%8o)d5Mr7dPh&#(?$b$U< z$sfM80}~$T!*w?We|+};x#y}2TUq$E_Q$u)f0=F}8;J3F3*}A8pC~uPD8&8*K4$*QAMHYfM+!iC(dGya; zrJa!=+qbsKaE3;Itzam$EK5Nu?6MZIIQ^_~Aq{mAwzSlHrM+Bg`-r&eGub7`V0D+; z9$yoN(c$5Fl*-0UaQN(OSbi7Sqv+@_ot-qYvNG)*@`{mM7pWub(e@rQ<%{DBL~cLC0lEvuMXAEmq7vPaiu?CY2}?S*a*sVZDTg#tXXcXo zPeTQA%Z!IAjhP5G35E}9-~`@*5^EWh_ou=E76Lsd(#+2A&O|4Zd~p0Lo3=;VOT1Pc z8B3_GwaRbb{BEMK{q7s9yl6d9Yg7$s-&u(DqX)$nM@MjznCPz1Raqi#3k#6F=axq2@ldir2)hFZA(c{G8`v?~A+r)K<6N`zRo=ckGzxvE?1F z98aP8+KX9hi!XTRHa8uSmT^p(huBH`5EMA5IpqBxzk&XuoBH6fL=_961vYkUau8NG zBRPo$uzHjsuON|=^7gTxv8qoz^|Kq%eC}WrT|9p#`^Jn{6|FH zb89=Zj+d_l#E#zNCD(|=2*8}XMA>m%sr%%Ky%G+_!Q9fG^FsPPchDRP{H(vvaME2j zKbHhYLLR4zoUM_Re?b71zWYqSU1RhhNJFH2?uoz5HI~ML8-Sw1Ha#=UDB301Pm^?? zDNvLbqi{t^Cr9ro`o4ZGx{meCC(UmH5Zy~u2^xyg()QQGQ2g=7vQED7-^KA{4X8>4 zU{pXRVWA69t=GY4gPl~P$PZbGADEG>aW^+tYiq5KtReta$Ufd6X?4rkXG!3qC)8OY&$q_~FusM0Wvd7Ej07(JdiNBD z`cwlSt~R!?S8LDj?OrIi*e15jp3db`lg6*y#X zj<);1PwCx|er&)T1NXvJ2M_rIR)G)Nam=r&$_;4Vay#v*Epe%8oytp zlmBYlVXgk&ur6jXsw|Ll^SrhQ}nB%Uo0@tqz2mD1-b*#mDlNF-ru~ z;qLm*;-5E$s5u%gJS>-|sMmecEH>!fdYmCdXuHu1K+?nJ-D=2pW}2EaXak`jhFP*| z9B-BWa;X%IwOX8z7}%tW?%byethN+%8Ax8^aV^i!s%nMV8A1@;l|2U+DmEHxQkQeP zdOfc9*8&+uVs1;Ty#~eu+MlhL_ukQCy0^EvImo1Bei!418A{wYz$&BlJnXYs7-so-U`=E92I<+?C@$Pa=RG$^WtusEBH6rUM0GJih-N4}mmf zMqHrZF1D8Qa+Qzdn$1i2K&@AygJRY$&*tSObmu2s=b3GK`k5TN3{(l?Ym}pcG)E4W znfj_u|D65GuZnUZz*0r@;nrdc@LYvX!~JL9e64=<4TRb4>COn|{Ok|7hqm_iU9gcE z<-NYBxiF^A_}`n5myl``KbTjR?5XLVcJ2!x9p8nd=`VI6>GV*od{?$EYU9)Q#uzLh zF%7u0YZlHSq?1?1)?yg&$g$M9=s z`)!|rl5B1s+hZk`Kk;G-xGV73)XYJc)B1J0n{fCs)cO@8(cR4>dvomOPumKp8_IYu zzk+lufX^13=kTh#8O?uYk668k8FlbnOdMOWQbbL!F+<-R?{F{xi-rEBK>m<8_n%V!)oj!8M8|Fa{%$NK*PIzTcn zW3IcJE3)5i1Jx+)$PR}L{5fAVh}as)La?h^dP522{&(M~IS_qaiKFtNJ)Z;(uUp$h zS9hTxq4tQ1jFNC)zL0u)*TELK->>6J3Id7OxDO}jpjl}TZgzA~`g84HG$m`E zxsQRAdx!R+crHG4N7C?* zWIz=6MW(fj2pT%NbS1$}zac&f3V-8|p5ZMHt`U{qD-J$B=e_4C`HpdiST5d6-&WpB zMU@O)c|>!rpp6*b;sio-@>qRfcpl>O7p85S=PM5fd5|b5E}r>{Q?!;mSFg!SfMHTc zQ7DX%72EJy-2Hoz1u!_gu8>ou@P&W>9o*hilB!nkEM43{{#aQ-?MnV-)BFDeDL4*@ diff --git a/packages/governance/docs/contractGovernance.puml b/packages/governance/docs/contractGovernance.puml index 6f71cfc6f79..56184b14f2b 100644 --- a/packages/governance/docs/contractGovernance.puml +++ b/packages/governance/docs/contractGovernance.puml @@ -24,13 +24,15 @@ class "ContractGovernor\n(an ElectionManager)" as ContractGovernor { verifiable: governedInstance, electorateInstance -- +getElectorate() - +getGovernedContract() + +getGovernedContract() - the governed instance +validateVoteCounter() +validateElectorate() +validateTimer() - -startGovernedInstance(electorate, governed, ...) + -- + -voteOnParamChange() + -getCreatorFacet() - The unrestricted part of the governed contract's creatorFacet } -note left : ContractGovernor starts GovernedContract\nstartGovernedInstance() returns a tightly held facet\n with voteOnParamChange() for the creator. +note left : ContractGovernor starts GovernedContract.\nvoteOnParamChange() should be tightly held.\ngetCreatorFacet() is for the contract's creator. class Electorate { Questions diff --git a/packages/governance/src/contractGovernor.js b/packages/governance/src/contractGovernor.js index 5a749217828..168e0c533f8 100644 --- a/packages/governance/src/contractGovernor.js +++ b/packages/governance/src/contractGovernor.js @@ -114,7 +114,7 @@ const start = async (zcf, privateArgs) => { X`questionPoserInvitation didn't match supplied Electorate`, ); - // CRUCIAL: only governedContract should get the ability to update params + // CRUCIAL: only contractGovernor should get the ability to update params /** @type {Promise} */ const limitedCreatorFacet = E(governedCF).getLimitedCreatorFacet(); @@ -153,7 +153,6 @@ const start = async (zcf, privateArgs) => { const creatorFacet = Far('governor creatorFacet', { voteOnParamChange, getCreatorFacet: () => limitedCreatorFacet, - getInternalCreatorFacet: () => E(governedCF).getInternalCreatorFacet(), getInstance: () => governedInstance, getPublicFacet: () => governedPF, }); diff --git a/packages/governance/src/contractHelper.js b/packages/governance/src/contractHelper.js index 9b031997d6a..9e692039fb0 100644 --- a/packages/governance/src/contractHelper.js +++ b/packages/governance/src/contractHelper.js @@ -11,9 +11,14 @@ const { details: X, quote: q } = assert; * Helper for the 90% of contracts that will have only a single set of * parameters. In order to support managed parameters, a contract only has to * * define the parameter template, which includes name, type and value - * * call handleParamGovernance() to get makePublicFacet and makeCreatorFacet + * * call handleParamGovernance() to get wrapPublicFacet and wrapCreatorFacet * * add any methods needed in the public and creator facets. * + * It's also crucial that the governed contract not interact with the product + * of wrapCreatorFacet(). The wrapped creatorFacet has the power to change + * parameter values, and the governance guarantees only hold if they're not + * used directly by the governed contract. + * * @type {HandleParamGovernance} */ const handleParamGovernance = (zcf, governedParamsTemplate) => { @@ -30,7 +35,7 @@ const handleParamGovernance = (zcf, governedParamsTemplate) => { ); const paramManager = buildParamManager(governedParams); - const makePublicFacet = (originalPublicFacet = {}) => { + const wrapPublicFacet = (originalPublicFacet = {}) => { return Far('publicFacet', { ...originalPublicFacet, getSubscription: () => paramManager.getSubscription(), @@ -42,24 +47,26 @@ const handleParamGovernance = (zcf, governedParamsTemplate) => { }); }; - /** @type {LimitedCreatorFacet} */ - const limitedCreatorFacet = Far('governedContract creator facet', { - getContractGovernor: () => electionManager, - }); + const makeLimitedCreatorFacet = originalCreatorFacet => { + return Far('governedContract creator facet', { + ...originalCreatorFacet, + getContractGovernor: () => electionManager, + }); + }; - const makeCreatorFacet = (originalCreatorFacet = Far('creatorFacet', {})) => { + const wrapCreatorFacet = (originalCreatorFacet = Far('creatorFacet', {})) => { + const limitedCreatorFacet = makeLimitedCreatorFacet(originalCreatorFacet); return Far('creatorFacet', { getParamMgrRetriever: () => { return Far('paramRetriever', { get: () => paramManager }); }, - getInternalCreatorFacet: () => originalCreatorFacet, getLimitedCreatorFacet: () => limitedCreatorFacet, }); }; return harden({ - makePublicFacet, - makeCreatorFacet, + wrapPublicFacet, + wrapCreatorFacet, getParamValue: name => paramManager.getParam(name).value, }); }; diff --git a/packages/governance/src/types.js b/packages/governance/src/types.js index ead24b56194..2d4ca245d18 100644 --- a/packages/governance/src/types.js +++ b/packages/governance/src/types.js @@ -501,8 +501,6 @@ * facet of the governed contract, without the tightly held ability to change * param values. * @property {() => any} getPublicFacet - public facet of the governed contract - * @property {() => any} getInternalCreatorFacet - powerful creator facet of the - * governed contract * @property {() => Promise} getInstance - instance of the governed * contract */ @@ -519,27 +517,30 @@ /** * @typedef {Object} GovernedCreatorFacet - * @property {() => ParamManagerRetriever} getParamMgrRetriever - * @property {() => any} getInternalCreatorFacet - * @property {() => LimitedCreatorFacet} getLimitedCreatorFacet + * @property {() => ParamManagerRetriever} getParamMgrRetriever - allows accessing + * and updating governed parameters. Should only be directly accessible to the + * contractGovernor + * @property {() => LimitedCreatorFacet} getLimitedCreatorFacet - the creator + * facet of the governed contract. Doesn't provide access to any governance + * functionality */ /** - * @callback MakePublicFacet + * @callback WrapPublicFacet * @param {any} originalPublicFacet * @returns {GovernedPublicFacet} */ /** - * @callback MakeCreatorFacet + * @callback WrapCreatorFacet * @param {any} originalCreatorFacet * @returns {GovernedCreatorFacet} */ /** * @typedef {Object} ParamGovernorBundle - * @property {MakePublicFacet} makePublicFacet - * @property {MakeCreatorFacet} makeCreatorFacet + * @property {WrapPublicFacet} wrapPublicFacet + * @property {WrapCreatorFacet} wrapCreatorFacet * @property {(name: string) => ParamValue} getParamValue */ diff --git a/packages/governance/test/swingsetTests/contractGovernor/governedContract.js b/packages/governance/test/swingsetTests/contractGovernor/governedContract.js index 0dfd0be6141..a8b3127e40e 100644 --- a/packages/governance/test/swingsetTests/contractGovernor/governedContract.js +++ b/packages/governance/test/swingsetTests/contractGovernor/governedContract.js @@ -7,14 +7,14 @@ const MALLEABLE_NUMBER = 'MalleableNumber'; /** @type {ContractStartFn} */ const start = async zcf => { const { main: initialValue } = zcf.getTerms(); - const { makePublicFacet, makeCreatorFacet } = handleParamGovernance( + const { wrapPublicFacet, wrapCreatorFacet } = handleParamGovernance( zcf, harden(initialValue), ); return { - publicFacet: makePublicFacet({}), - creatorFacet: makeCreatorFacet({}), + publicFacet: wrapPublicFacet({}), + creatorFacet: wrapCreatorFacet({}), }; }; diff --git a/packages/treasury/test/test-stablecoin.js b/packages/treasury/test/test-stablecoin.js index 58559f315a8..06142c9fb19 100644 --- a/packages/treasury/test/test-stablecoin.js +++ b/packages/treasury/test/test-stablecoin.js @@ -185,7 +185,7 @@ async function setupAmm( electorateCreatorFacet: committeeCreator, }); - const ammCreatorFacetP = E(ammGovernorCreatorFacet).getInternalCreatorFacet(); + const ammCreatorFacetP = E(ammGovernorCreatorFacet).getCreatorFacet(); const ammPublicP = E(ammGovernorCreatorFacet).getPublicFacet(); const [ammCreatorFacet, ammPublicFacet] = await Promise.all([ diff --git a/packages/zoe/src/contracts/vpool-xyk-amm/multipoolMarketMaker.js b/packages/zoe/src/contracts/vpool-xyk-amm/multipoolMarketMaker.js index 48c75793304..8280ff929d6 100644 --- a/packages/zoe/src/contracts/vpool-xyk-amm/multipoolMarketMaker.js +++ b/packages/zoe/src/contracts/vpool-xyk-amm/multipoolMarketMaker.js @@ -114,8 +114,8 @@ const start = zcf => { assert(centralBrand !== undefined, X`centralBrand must be present`); const { - makePublicFacet, - makeCreatorFacet, + wrapPublicFacet, + wrapCreatorFacet, getParamValue, } = handleParamGovernance(zcf, makeInitialValues(poolFeeBP, protocolFeeBP)); const getPoolFeeBP = () => getParamValue(POOL_FEE_KEY); @@ -211,15 +211,10 @@ const start = zcf => { protocolSeat, centralBrand, ); - const creatorFacet = makeCreatorFacet( - Far('AMM Fee Collector facet', { - makeCollectFeesInvitation, - }), - ); /** @type {XYKAMMPublicFacet} */ - // @ts-ignore makePublicFacet includes all the methods that are passed in. - const publicFacet = makePublicFacet( + // @ts-ignore wrapPublicFacet includes all the methods that are passed in. + const publicFacet = wrapPublicFacet( Far('AMM public facet', { addPool, getPoolAllocation, @@ -240,6 +235,11 @@ const start = zcf => { }), ); + const creatorFacet = wrapCreatorFacet( + Far('AMM Fee Collector facet', { + makeCollectFeesInvitation, + }), + ); return harden({ publicFacet, creatorFacet }); }; diff --git a/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-amm-governance.js b/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-amm-governance.js index 4d0bc5743bd..fdda890e22a 100644 --- a/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-amm-governance.js +++ b/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-amm-governance.js @@ -134,7 +134,7 @@ const setupServices = async ( }), ); - const ammCreatorFacetP = E(governorCreatorFacet).getInternalCreatorFacet(); + const ammCreatorFacetP = E(governorCreatorFacet).getCreatorFacet(); const ammPublicP = E(governorCreatorFacet).getPublicFacet(); const [ammCreatorFacet, ammPublicFacet] = await Promise.all([ diff --git a/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-xyk-amm-swap.js b/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-xyk-amm-swap.js index cec53f0ced6..fe0a58325a0 100644 --- a/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-xyk-amm-swap.js +++ b/packages/zoe/test/unitTests/contracts/vpool-xyk-amm/test-xyk-amm-swap.js @@ -155,7 +155,7 @@ const setupServices = async ( }), ); - const ammCreatorFacetP = E(governorCreatorFacet).getInternalCreatorFacet(); + const ammCreatorFacetP = E(governorCreatorFacet).getCreatorFacet(); const ammPublicP = E(governorCreatorFacet).getPublicFacet(); const [ammCreatorFacet, ammPublicFacet] = await Promise.all([