diff --git a/src/contract/commit.rs b/src/contract/commit.rs index 796615e4..b30cf286 100644 --- a/src/contract/commit.rs +++ b/src/contract/commit.rs @@ -241,8 +241,10 @@ impl TransitionBundle { #[strict_type(lib = LIB_NAME_RGB)] pub struct BaseCommitment { pub schema_id: SchemaId, + pub timestamp: i64, pub testnet: bool, pub alt_layers1: StrictHash, + pub issuer: StrictHash, } #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] @@ -279,8 +281,10 @@ impl Genesis { pub fn commit(&self) -> OpCommitment { let base = BaseCommitment { schema_id: self.schema_id, + timestamp: self.timestamp, testnet: self.testnet, alt_layers1: self.alt_layers1.commit_id(), + issuer: self.issuer.commit_id(), }; OpCommitment { ffv: self.ffv, diff --git a/src/contract/mod.rs b/src/contract/mod.rs index e3ee2f67..70085d3b 100644 --- a/src/contract/mod.rs +++ b/src/contract/mod.rs @@ -57,7 +57,8 @@ pub use fungible::{ }; pub use global::{GlobalState, GlobalValues}; pub use operations::{ - Extension, Genesis, Input, Inputs, Metadata, OpRef, Operation, Redeemed, Transition, Valencies, + Extension, Genesis, Input, Inputs, Issuer, Metadata, OpRef, Operation, Redeemed, Transition, + Valencies, }; pub use seal::{ ExposedSeal, GenesisSeal, GraphSeal, OutputSeal, SecretSeal, TxoSeal, WitnessId, WitnessOrd, diff --git a/src/contract/operations.rs b/src/contract/operations.rs index bcf65738..5813df79 100644 --- a/src/contract/operations.rs +++ b/src/contract/operations.rs @@ -249,6 +249,26 @@ pub trait Operation { fn disclose_hash(&self) -> DiscloseHash { self.disclose().commit_id() } } +/// Issuer is a binary string which must be encoded into the issuer identity in +/// the application. +/// +/// We deliberately do not define the internal structure of the identity such +/// that it can be updated without changes to the consensus level. +/// +/// Contract validity doesn't assume any checks on the issuer identity; these +/// checks must be performed at the application level. +#[derive(Clone, PartialEq, Eq, Hash, Debug)] +#[derive(StrictType, StrictDumb, StrictEncode, StrictDecode)] +#[strict_type(lib = LIB_NAME_RGB)] +#[derive(CommitEncode)] +#[commit_encode(strategy = strict, id = StrictHash)] +#[cfg_attr( + feature = "serde", + derive(Serialize, Deserialize), + serde(crate = "serde_crate", transparent) +)] +pub struct Issuer(SmallBlob); + #[derive(Clone, PartialEq, Eq, Hash, Debug)] #[derive(StrictType, StrictDumb, StrictEncode, StrictDecode)] #[strict_type(lib = LIB_NAME_RGB)] @@ -260,12 +280,14 @@ pub trait Operation { pub struct Genesis { pub ffv: Ffv, pub schema_id: SchemaId, + pub timestamp: i64, pub testnet: bool, pub alt_layers1: AltLayer1Set, pub metadata: Metadata, pub globals: GlobalState, pub assignments: Assignments, pub valencies: Valencies, + pub issuer: Issuer, } impl StrictSerialize for Genesis {} diff --git a/src/stl.rs b/src/stl.rs index ae92c191..11f5d117 100644 --- a/src/stl.rs +++ b/src/stl.rs @@ -34,7 +34,7 @@ use crate::{ /// Strict types id for the library providing data types for RGB consensus. pub const LIB_ID_RGB: &str = - "urn:ubideco:stl:HqdNNAehK3yaQ1AC5pQmEuNNS1zgyo2Jw31fdUNKb9MU#annual-virus-garlic"; + "urn:ubideco:stl:5corTa7ZCSDLdH2yXxpSm3Jyjw2vSjcqeUFbuGFNJrJr#except-basket-archer"; fn _rgb_core_stl() -> Result { LibBuilder::new(libname!(LIB_NAME_RGB), tiny_bset! { diff --git a/stl/RGB@0.1.0.sta b/stl/RGB@0.1.0.sta index 79efbae9..50ecc13a 100644 --- a/stl/RGB@0.1.0.sta +++ b/stl/RGB@0.1.0.sta @@ -1,5 +1,5 @@ -----BEGIN STRICT TYPE LIB----- -Id: HqdNNAehK3yaQ1AC5pQmEuNNS1zgyo2Jw31fdUNKb9MU#annual-virus-garlic +Id: 5corTa7ZCSDLdH2yXxpSm3Jyjw2vSjcqeUFbuGFNJrJr#except-basket-archer Name: RGB Dependencies: c8Tnib31q1p7szyPukEGDoQzJQ5qJwPCn5uZCHUXzB9#cupid-metro-warning, @@ -52,7 +52,7 @@ uLb6QJd!r4rMT?gybhb+7)1`v1STXd2nS@d2@7SZKxFND6s8S?e4Bod8Fs%pFp$u RTdC#o53z}8oz#490^8gWo%?lVQpo>(!!T*!6CpSAZ@ZpjiDMu$$f>uzFMDM-zty UwM{z*RC!ZnZAoOz*VP7EGy*S=nP^gIFHh@#z{+#L^D9E+qxG=WVR;M(R$+2!VQz HrPArtZUYsn1#>3pADvHfH$;e<5S!D{TQ^>7ijMb15Rc>i-ZdPG(X<=@3b5mt)Nn -}(22|;XhOksItaxnt|25f0@b!lV)3_)ykOksItaxqh7bOiwb2?5A!f_n>Eea4XlB +}+32|;XhOksItaxnt|25f0@b!lV)3_)ykOksItaxqh7bOiwb2?5A!f_n>Eea4XlB y!~?uV~BZ&yS~-fAwW*(Pc?@Ubg}ZLh7x^`{^P$fKg#%8c8X#<$(NgM!uni2C|Kr} -onZ4nk~cZe(e0XGURTbZ>G60RRU806-uB4?}NmV`X7%Wn@8gbYWv?1pxpD002NB0 -1ZQLZewL(Y-MCbVRT^y0RRU806-uB5kqfoV`X7%Wn@NmZf9v?Y-I)l3S)0=ZE19E -Wo~oHb1_%gqV`y -bw!Wo=#L00eGtZe;)f009JZZ*64&1pxt+Qq$W5tE;F{pQrXd&=l*`O?@#x{Qdy?T_k!`1 -dtF4V{dMBa$#e1Nn`<^2rNlD$O59e#ogQsB77jPl+h5j^*S;JXKZg` -VQc^j0oCr34oQf!Y4K`P(FaQVwIle)QgI&pHa%8Z1>xis%K!=i2egEhq;JX*6>IA ->9E^!~{d-M)UE&DsCMj_0000000000|NsC -00000024Qq`VPj|j2?4>GwFIPNm9p@0Q=N4quj=`j_>&t6$4Wi|KW;46+RXp}000 -0000960|Nj60000U@Z*FvQVPkYjWCZ~L2LJ#-AOH)XMa(Mw(=vZ=c& -j?2kZ}m2l1S)3m|2(paO!_1u7=ROpoS?f2L}7GcQ*>c;Wd#8M2mk;;0000000000 -|Nj60000002}O8xWo~n6Z*B$%17>D+0ot2U6Id2jc94hrndMfLayEe1ISdA&%p{m -B1!VWk)e2*8Zgg^CV{}Pm0iOsgNjk^^qPoT1+zTRnAg`3vXv9d*8d@RXy~6c6G7V -*TbY*UHX>V>+d2nR`WOW`wsTH9-LlJ`2|Ay5Z(?oEikl{+~pis;@Q*TJ#2yJC_VP -s)+VFBT3XYt3uXDDBzV~Y{PMVQdbhM>^D^r|Pn&u&Un5eElnY;R&=Y;ytH_t7`^< -a=h8ba4Dnen({R_BGO(^q!yR3(@6pK64KXVRLh7XKrm}Zgg`2X^yE`O7>%lu(nl6 -@q3(8I6V0qxcAb2el9O)#pb*V2y$g)Wo2z;WC7pLsgd=EPr5ftu@@z<*O39}j`u&O7io3b$Is?R -A$O%FwQbY*UHX>V>*V`ybVZDn*}WMOn+0!XQB?8_As^WnPDotHzoVsdtr@a -SRwVWi2G1l#x)ziR}e6rQG)02XJT?*g=|B=zREie$*y(7k2+*P~cYjR$9JZ(?C=a -{vkf)$WoGNrn+a000000RI300000000(kqWMyS-a{vheM(yUq2ps* -m=2xUDT;RqCgn#@WzFu~@adfH5^@&-|0000000000{{R30000003t@9}X=iS2Wo~ -qH015$z{^Dg=h-~N_zJ`Red1EINWrM}GXaQb}6c#qIM2EQnHo-KZ`k;Xmr`<4sJY -KN!!u{G5u+^j1lf!PF4>GEG0000000000{{R300000033g#@Wo~0>Wpe-t0Y>fS! -w4MxxaL=+DqP^k2!wz9AHH68xp8!<%Jqp^&Hw-a000000RI300000001ZWWbY*UH -X>V>+d2nR~0RR9314d?c1pxp60u4rWZf9v?Y-Lk)VRU5#0SE?SX>@ZoGynww000O -KMs;pyX<}?;RC#b^0|5Uo2?Yl -Hei-0Jn%?h9c2>uJC38-{*D7fZ(%hZo23R4S;p`Q9JBQllDytVQh3vVR>b8b1?xV -S5nwzfbg8kY9lvP5=0TZDn*}WMOn+0pV$9@yEeuC|{# -vixI;`n9$3HpwPecswcnCZc0-T2M1?tZ(?C=a{=1-(Kq+xduEn&aQshxM`ZB!HPV -^%o}cFn(dBSHa}Nt)b8~5DZf#|5baMe|j;UEn_G5~$wpB^-dz@1^Joy{A_tJiTE- -z@s=DZ6Dc42H~ZewX>a{=9jW&m$tWDykZj`7#3_zANbB(SO{shhGe=&H{tM@(I!Xk~3-1_TIgWprU=VRT^vNU3b>%M}yz;kwbCmqWQ?a(0yP=wbe0q{)>8 -+xQm0YXqYdo~D%m7H6OD0<^0n_2##VWXRdjy=DB@qgYOj2WM<=Vqt7^015%s?vf5 -kh_h+&YE#h%O8d1V_{UOl9{V;uR#^q%GEG0000000000{{R30000003t@9}X=iS2Wo~qH015$z{^Dg=h-~N_zJ -`Red1EINWrM}GXaQb}6c#qIM2EQnHo-KZ`k;Xmr`<4sJYKN!!u{G5u+^j1lf!PF4 ->GEG0000000000{{R300000033g#@Wo~0>Wpe-t0Y>fS!w4MxxaL=+DqP^k2!wz9 -AHH68xp8!<%Jqp^&Hw-a000000RI300000000~EIZ(?C=PjX}i0u6U*bZ%vHb3tx -nXm4@=1OfmAZf|a7000011aog~WdH>M0ay~14IqoOO|k6t>N>@ln$G2kxMxis%K?D(@2ECdMkBvAw~e7wpXAk(w46fI`9<@J`JC>QW-9;y000000 -093000000000q3Y;R&=Y*Tb$bY)XxXk~3-1_A|hWo=1h0!XQB?8_As^WnPDotHzo -Vsdtr@aSRwVWi2G1l#x)ziR}e6rQG)02XJT?*g=|B=zREie$*y(7k2+*P~cYjRc;WmI`^Wd#8M00In0Y;R&=Y*t}xb!Bq}0RRXA|7c -^tcv66A`G>fIi7rMzqbpe&g=6W7=VqesjRYGc!>wZFzp>JB4@xD;^wu&SY_r(DK00000009 -6000000000I_Zg6#Ua|Hna2?5oOUkD7Ff~JZGMgrhZ&rP2gYrktY!x$bpv=qCl=H -dVV000000096000000000S1Wn^h#RC#b^0|5hJZh8L*O=WapWMOn+1pxpE002M$0 -000000030{{R300000BPh(?sa&l#EV`Xy&0t0PnZU6uR18re=0006EPjEwTZEb0E -ZDnqB1_%RYW_AJEn^6;37FKqUhx?i3R+Mr!fY&(;2BFL(m@EZk_srD>Z*Ww3aAg7 -Z;tWa*pdtf40sy7f4K>mzt7A2`#r3Bk2FRnL+RBXEn8vr=x`Tq%|A_kfK& -ST81_x(sZ(?C=a{@gvHu4Uze3TxELwRcb-NbKKL`mLiE~wciYB%t)D}^|oLxv|61 -vo|m6{oTZGS42tPYA&eRCTchEu`7i*o0-0zEM{@(!?klpcvgd20RL#BWzbN# -1HMsM#iJH}J75g>A2`#r3Bk2FRnL+RBXEn8vr=x`Tq%|A_kfK&ST81_^dyY-Mg^X -=QT)Jux=&4zPTb9*IMFYW>~BZ&yS~-fAwW*(Pc?@Ubg}ZLh7x^`{^P$fKg#%8c8X -#<$(NgM!uni2C|Kr}onZ1W#~DWCZ~L2LJ#-AOHnVaBp>V1_J_bZ~>Lb=6W7=Vqes -jRYGc!>wZFzp>JB4@xD;^wu&SY_r(Hqc>#z1;$>KfZ0H=mhJ>?uVgq>HOrf1lB-q;n)I5N1aoC!Yyr_{7rjFg@b(FW? -*48~9t#5lC;3juy9JUg#K|!ymZ}AFbYXO50ccY+APn47#!YtOwl1n>FWNfUk-rA3 -DGt2Q_Id+K%m;UAbZ%vHa{&c&;K@+Vs`Svqn*&{=>Y>ovG-QI%SssLzB+C`1S!Nt -hb#!obbU|}-X=iS2Wo~p*Wp-s@Y-MCbVRT^z1O;z!Z*_D5lMuXsu{2tXFT+?;?hj -39&>gq>HOrf1lB-q;n)I5N1aoC!Yyr_{7rjFg@b(FW?*48~9t#5lC;3juy9JUg#K -|!ymZ}AFbYXO50sm-Yz<5%CY59k^g5#W{6D&GDo53%OaP0&iRqY>ovG-QI%SssLzB+C`1S!Nwib#!obbU|}-X=iS2Wo~p* -Wp-s@Y-MCtVQh6}1_T9faBp>V0h18CfUz`Mi!Z}iQtl5;XwV(E`Zdd&WRj~^37Yh -pmjrWVVQc}>XBWLg67cp3gzo-sO&$va11I@T$h!rSEX2t%Czh%Ob97;JWdUtO#`G -_01v*0&52ohAEX3$~@L7b8`U&bKuEP&Z_j#!c;Wd;NVZ*XsQb -ODnPynwMZT8l5kSW@l}O=!>^xB4~9n`Dx!RtcK)nwJD~WnpXq(PtOELlW@z354$c -ZcQEw0|O`dPRP3jk}Sl@F(;O)1#@&^bY%f9vZekPz%WEGnBZKS8(M7E9_@AwVcyG -tCevi|7U8=GcWHEPWpi@@1#{rZP|m9K(8HSpU8Cxu(AzX*g3wtWgq9@B6{cBc5>R -DiWpZ<6ZbNTvZE19EWo~o@0RRU806-xC2vTKaWo2z;WCZ~L3IRs#=EDda{kY~=q$ -*tC#t4Le{2#tvcDZqMsmk?FcgmDd%EKc;pw+KsVi?D}qDSkO*B!5Mb*xG|_(S5o&32kL$X<<} -(aAg5PFkyv=$keM8CP2si$rmim(Ekws4U>QXM0|*v-OPCeb75?B000OKQe}2!VQg -h&L}7Gc1_A|kVQh6}0WzLeQ3m-<6)UHjqig^*m4co5us7ukl*0UQzs7w8g#>e9Y; -*ts5D-#jc4c8~Wn@NmZf9v?Y-I)m1$JRKwa1 -v8ba_B>T#2Nxy?Vr*${WNB_^0fo5uE4%chrVX>dKSj6?lx}!~!>v+nlk{(+0jO?A -+5>c9X93BNnyJGEOB((CXB(HiD*XOTXpbLr$Svz}Z|7;7BCiHhV`yb}5vZY(~FzYeIdN`S$)9l7ap=09=fBme*a000000 -RI3000000019t+Ze?Utd2nTO015$z{^Dg=h-~N_zJ`Red1EINWrM}GXaQb}6c#qI -M2EQnILZ{@g(An}If6!%vcs8JbyKG3$_x(S=#`1OiFX_G0000000000{{R300000 -040d5`Wo~16RC#b^a{vheM(yUq2ps*m=2xUDT;RqCgn#@WzFu~@adfH5^@&-|000 -0000000{{R30000002WMq&WpinB0jom)3dE3VMG*K@Uj`&9O$m&URampr+czw5j9 -K7JLkeYhbY*UHX>V?G015$Qbsj>g6`?#s5rWnKhSeO?L~x^!;Y#eFP|P}0Z%Ez&X -0(@tkHmR7VBa*7>vj^5vkt5f(LFa*EmC9=2$WE90000000000{{R30000003v_Z} -ZgXjLX>V?G015##QV*^ZmKt8YDf|&5KZQ>65I6*X)C9iYp+?yjr7~y%y~l5O%01= -Zemts_^ih%M}yz;kwbCmqWQ?a(0yP=wbe0q{)>8+xQm0q_7={(%B;l;Rh7DJo-_a=L --&HFsOv&CqLR1V5+fZ26JO_X>fD_#u#IJXH5*Wys5xLU4JrSgP3@8bSFd6H|0e8x -)RV#2vcKdWo= -M0Sp%uJ^vU*QJ`JCB}1fCDqcO!XNk(`C#ZoeEA)wskqc*RZ(?C=RC#b^a{vkf)$W -oGNr}5vZY(~FzYeIdN` -S$)9l7ap=09=fBme*a000000RI3000000019t+Ze?Utd2nTO015$z{^Dg=h-~N_z -J`Red1EINWrM}GXaQb}6c#qIM2EQnILZ{@g(An}If6!%vcs8JbyKG3$_x(S=#`1O -iFX_G0000000000{{R300000040d5`Wo~16RC#b^a{vheM(yUq2ps*m=2xUDT;Rq -Cgn#@WzFu~@adfH5^@&-|0000000000{{R30000002WMq&WpinB0jom)3dE3VMG* -K@Uj`&9O$m&URampr+czw5j9K7JLkeYhbY*UHX>V?G015$Qbsj>g6`?#s5rWnKhS -eO?L~x^!;Y#eFP|P}0Z%Ez&X0(@tkHmR7VBa*7>vj^5vkt5f(LFa*EmC9=2$WE90 -000000000{{R30000003v_Z}ZgXjLX>V?G015##QV*^ZmKt8YDf|&5KZQ>65I6*X -)C9iYp+?yjr7~y%y~l5O%01=Zemts_^ih%M}yz;kwbCmqWQ?a(0yP=wbe0q{)>8+xQ -m0q_7={(%B;l;Rh7DJo-_a=L-&HFsOv&CqLR1V5+fZ26JO_X>fD_#u#IJXH5*Wys -5xLU4JrSgP3@8bSFd6H|0e8x)RV#22*2lX>fD|0RRPIY;{&`00jX7qWbEda9o^`% --h{Y?T>Kfj`b9SKFB^?WVLEr!&9xW3sZDqbY)XxXk~3-1OxyJWMyM)VRB(~X?A4* -00039W_507X<}?;00jX7`Sh#^X0AbZX4L%*5q$))*;M@wXI>IJVg&1PPwC}G0t$0 -Lb#i5700jX8NU3b>%M}yz;kwbCmqWQ?a(0yP=wbe0q{)>8+xQm0YXqYdo~D -%m7H6OD0<^0n_2##VWXRdjy=DB@qgYOj0}5eubYWv?ZDnqB00jX7LNH;4h{)8d6e -d8&{mBV=@2m@wjb^+R(Q4?4eR(6nw` -@6CZd7@2WdSr&53UoI8eY9A{1GERg--GiI0S# -x1is&)M%fmnGH3{GWprU=VRT^u;b~{_$H8YPU!!A-5yM58(94FP(7*JmC%?~bN>d -RB2WM<=Vqt7^0owP`H}~XwW|nkt{7-&IWbpPi(wX$0pXUqF<#0Z84+d#&aCLNZ0j -Z*TSChz_$|Xx}eRkFNAr%^eLl(1e@}~9=0-ijXfD2)Bb7^O8ZDnqBa{>8NbFsAF+ -NAOa9=u3y1Xa&C=4DE;gi12nFEThgaqbCrVQgh?V`*h`0o{dW0B>Pr5ftu@@z<*O -39}j`u&O7io3b$Is?RA$O%POaVQzD2bZKvHLUnFrY-I)l2x)F`b#zT(Z~+yWXJpH -@t3U@-^C5At>@@qQFQ2KNd+8eYXv4en`-l*0Zf|#PRB~Z%b7^#GZ*Fq{3IUbK=6W -7=VqesjRYGc!>wZFzp>JB4@xD;^wu&SY_r(G5e-m~8oEl#z@T$dQ;Shc2UKksAbu -m0|FIl~hsu%M}yz;kwbCmqWQ?a(0yP=wbe0q{)>8+xQm0YXqYdo~D%m7H6OD0<^0n -_2##VWXRdjy=DB@qgYOj2WM<=Vqt7^015%s?vf5kh_h+&YE#h%O8d1V_{UOl9{V; -uR#^q%GEG0000000000{{R -300000025D|^b#!w83IT`y;$>KfZ0H=mhJ>?uVKfZ0H=mhJ>?uVa{vh -eM(yUq2ps*m=2xUDT;RqCgn#@WzFu~@adfH5^@&-|0000000000{{R30000004pe -esZgXjLX>V>+d2nR~0RR934pez?WkYXmZE19EWo~o?0{{nSWo~72X>$Mt0Ri>yz* -0$s*!KG><^Vs6e_oh{2Y;t|+QQv|Mg#B%8z2D+baG*Cb7^#GZ*Bku0s)^0EJ-@Z0 -;0Ob-P{Wzd?2rs)M&&=&l*}G;Jw22Ix+z?QV*^ZmKt8YDf|&5KZQ>65I6*X)C9iY -p+?yjr7~y&31xV6Wo~n6Z*Bku0s)^0EJ-@Z0;0Ob-P{Wzd?2rs)M&&=&l*}G;Jw2 -2Ix+!dbsj>g6`?#s5rWnKhSeO?L~x^!;Y#eFP|P}0Z%E!6RC#b^WI=OtX=iS8LTq -VnWK(5fY*ctqbaDg)01ISgV{Bn^VRUJBWdH>M00;rH1vZ#~6S0w{(RI4`cN>c#f1 -s}6wBY4XHm<^|-YI4P0000000030{{R30000012xfI|XK7+=WdH>M00;q#UTsV^# -TzS1%+nQ@-YGokF$x632d*dZj-vD~v6?gh0000000030{{R30000023UhRFbz^jO -a%E%y1pxpE0g7pkX`g;+>REzyBm9woR4fMkGNeGN3DfiLPnSEI8vp7hxcI*rY&UL5{22fM000000096000 -000000SAVQgh?V`*h`1pxpF0Y>fS!w4MxxaL=+DqP^k2!wz9AHH68xp8!<%Jqp^& -Hw-a000000RI300000001H-OY-Mg^c~p6DWd#8M00IeCZ)s#xbYXO51pxp601a1Z -bZ%vHb3txnXm4@`0t$C&bZ%vHb5C+)0m2^a+yK+Q;_HtBn{qn)u@JyEm+8*~Xc?3 -hrUVCR$_aOAbZ%vHb4g?YiECIT&Bl;lSX#$ms8AQN7m&qYI@o0Raxbxa~M%Zlr^{H1ibsRCVcA*+(@K+$R_oJY -%-uiLn6)Z)RpgXklq?0000AS7~%^Wpi^-Z*v9$254nzXJ~W)00aqiX>Db5bYX390 -02l2SVL%GX>LJoV`y)3Q)P4n0sseMX>?<6X>I@o0Rh_JVJAtjgJdT_Z|>M2sS?Mt -Jl#qTQVPp!*((IXOHBa=Y-w?IX=DHe0Rh_JVJAtjgJdT_Z|>M2sS?MtJl#qTQVPp -!*((IXOHCA5Lug@XZbEEnZe&wsVQf@*P;_zx0sseMX>?<6X>I@o0RjmB!}dYur&r -|b)0{BK<2K$A2E0wbR3p=|s`fKKS8zrrs4h^n+Zt?u@<&aTIfpUd`<+;gOgf;C*Z -s6&x77g#Y-w?IX=DHe0RjmB!}dYur&r|b)0{BK<2K$A2E0wbR3p=|s`fKKS8zrrs -4h^n+Zt?u@<&aTIfpUd`<+;gOgf;C*Zs6&x78C^Lug@XZbEEnZe&wsVQf@*X=DTf -00&}ebYpL6ZU6-V0to-Z_Ce;SSLEx{oG{4aHr^2iyiLDUBh#^}_A@_MaInU4u7-Q -t<6xS@-s>{OM>iY*&c?b?aZznm(1lyi>j4IAX>oOFWB>&L0to-Z_Ce;SSLEx{oG{ -4aHr^2iyiLDUBh#^}_A@_MaInU4u7-Qt<6xS@-s>{OM>iY*&c?b?aZznm(1lyi>l -Ro;Xklq?MR;&*X=7=0Q)OXnRCsA*1OfmDVrg_^Z)t7-1pxvG|HJk{=BHQW>(iVt$ -m2HN5eB?Xzf>dBv8whnKUZ)A)ijXnM0JX32^g}aq&*n$Aq+EetlpYi`G;7YBO`qQ -25f0@b!lV(1pxvG|HJk{=BHQW>(iVt$m2HN5eB?Xzf>dBv8whnKUZ)A)ijXnM0JX -32^g}aq&*n$Aq+EetlpYi`G;7YBO`qfSVL%GX>L(iVt$m2HN5eB?Xzf>dBv8whnKUZ*Q8SA{&vly$FvzVnzHf -7z~rv`86=_Ka^V5yX|y#`JJ25f0@b!lV(1pxvG|HJk{=BHQW>(iVt$m2HN5eB?Xz -f>dBv8whnKUZ*Q8SA{&vly$FvzVnzHf7z~rv`86=_Ka^V5yX|y#`JSSVL%GX>L?_ -X=DTf00&}ebYpL6ZU6-V0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3ZsH -T^UK%K(4i9Ajp1M~R@C@!4#dQE#lUD;OiKi1RsjZVX>oOFWB>&L0`+VYVk7oBr%D -Nv+($;q`HHK!gIHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M~R@C@!4#dQE#lUD;Oi -Ki1Rs +nkpbWkYXmZE19EWo~o^1qgFvXk~3-Nn`<(Qq$W5tE;F{pQrXd&=l*`O?@#x{Qdy? +T_k!`1dtF3bZKp6b97;CZ~y>E2Xtj~bZ%vI0>K2#MqVsrZe&e(V->r|?y|b&t*2i +sXxNhAA_oAsh+&2z(R;4&W&+>mb;*F>vukd;=m`ygb@x#_>`RmOO$uRbbWCA+WpZ +;d0zEM{@(!?klpcvgd20RL#BWzbN#1HMsM#iJH}J75g>A2`#r3Bk2FRnL+RBXEn8 +vr=x`Tq%|A_kfK&ST81_o(!b9H5M0zEM{@(!?klpcvgd20RL#BWzbN#1HMsM#iJH +}J75g>A2`#r3Bk2FRnL+RBXEn8vr=x`Tq%|A_kfK&ST81`a}OX>Md`Zf8beV{~tF +1pxpD002NB01rcNZewL(Y-MCYbaY{3XaxZP2LJ#-AOHD0Z6?XZWsH8I~II?C0;dW+k!*yDq +gzlqQwf$39g<|8V^HnZgg^CV{}Mqb98TVc?Jjwb7N>_ZDC1d0hChH+XJhss8OG%_ +CC-Q>(otsF+cqN0Qy}ddQ=3E5Dao}Z*)^*Xk~3-Nn`*70ssVVZ*FA(00035b8l^B +00jX7lv2~%1FNg3QJ<&wKF}2F)J=UcKm7gx`duV?R0NO^3S)0>baG*1bV+0Zp9m~ +TI>-W|y2ahx3nF|Vuawki#7NH?S|Q-Q!u2{b24`$O^z3qkU`2%>V!Z000000RR90{{R3000d-VbYTDq0Zm&2unN%Ogv+ +IWOlAQDZ9;ju-OD&R*`2#>nd!~X9RL6T000000RR90{{R3000v=nbYWv?00{xXnY +9F@W0kV-aZ{ajBd_ZDnD~<$3CBu40zYmn*4oVg0000000030|Ns900000ALvL<$a +$#e1Nn`~900#g7Kp+4OLvL<$a$#e1Q*>c;Wd;HUb7N>_ZD9cy#FTPkGHkVT5cWBQ +@u6K8aKc_jMubjo`Wy&nb#mDUXlZkFZ*qA7R_IuAa?c1y4{!B0lLRVe@c%rricI< +>A{c-Zhn%3h2}EIZVN-NrbY%qr00;m8KmY&$000000RR600000000~8SbY*UHX>V +=@2m@wjb^+R(Q4?4eR(6nw`loIF_owDud_=c42H~Ze +wX>a{=9jW&m$tWDykZj`7#3_zANbB(SO{shhGe=&H{tM@ioJpYH;+t0eX2w~A!Q+0eaZ{MVycPK^g=Y;R&=Y;yn#0oCr34oQf!Y4K`P(FaQ +VwIle)QgI&pHa%8Z1>xis%Ku=2wF+7z(Wqt=tdZk`V^s(A +na000000093000000000MaWn^V#ZF2w#0Y>fS!w4MxxaL=+DqP^k2!wz9AHH68xp +8!<%Jqp^&Hw-a000000RI300000001IJrb7^O8ZDnqBa{vkfhyLPaScq)s9KMExv +w34D6J>+NwrBxfixd_%u|$Wt0XD%jq57bK6Q|uUfIMEX^1}Vv6tLB!)|10-o)0pr +c>n+a000000RI3000000010+sY-Mg^X=QT&2?0j!=EDda{kY~=q$*tC#t4Le{2#t +vcDZqMsmk?$e&17>D+0ot2U6Id2jc94hrndMfLayEe1ISdA&% +p{mB1!VWk)d+KAXk~3-Nn`<(Qq$W5tE;F{pQrXd&=l*`O?@#x{Qdy?T_k!`1dtF3 +bZKp6b97;CZ~y>E2Xtj~bZ%vI0>K2#MqVsrZe&e(V->r|?y|b&t*2isXxNhAA_oA +sh+&2z(R;4&W&+>mb;*F>vukd;=m`ygb@x#_>`RmOO$uRbbWCA+WpZ;d0VG#a*ky +q5oXTn=H&hZtAYgo>EPw9I@e~jMZwd)2j0kOIbYWy+bYTJEX=m}r!DlF6qhpH^!$ +p|T%Z8xPzx1jnzt3(;QxOLTXKZg`VQg~&+V{~n_vCwKmUM9ZPku*a@b)#*ne?8Y= +L^y0a6WSn3t@9}X=iS2Wo~qH0cnn@SxWX}imioJpY +H;+t0eX2w~A!Q+0eaZ{MVycPK^g=Y;R&=Y;yn#0oCr34oQf!Y4K`P(FaQVwIle)Q +gI&pHa%8Z1>xis%Ku=2wF+7z(Wqt=tdZk`V^s(Ana00000 +0093000000000YNb8~5DZf#|5baMa-0f+wLWmt%8=p4R=gtK{LClh6Z#kObxUW*h +KHnBv9xdAr8G@<&SffJ|QFn~N>u=2wF+7z(Wqt=tdZk`V^s(Ana0000000930000 +00000SgVQgh?V`*h`00{v`?dHP>9R0ZFSEMRj;Km4qfBYZ5UUs>0bg9bqiCNA700 +000000300000000009M{I9mVQf!wWCj8acWHEPWpi^uZewU~asUJZ00eGtZe;)f0 +09JZZ*64&1pxtA5|s@gi?mI#?Dgt8#hIGU<%zgx(XPr!b}fnQo*Fy@X=Hc+00Ij~ +Y;R&=Y*Tb$bY%qr015%s?vf5kh_h+&YE#h%O8d1V_{UOl9{V;uR#^q%Nn`>@sch`a6%+H}y3w7NL%Cvdc9ihwVg6yH$(01#_! +hrw1fvw5rj-B|XP@r^w5ufb=C_Ju$l1`nW&GEpSWb-yZDDvxbY*RG0006HM{I9mV +Qf=$VRU6wd2nR~0RR933`cBlVqt7nVQh6}a|Hna2m$|SW59S)fNA-MxPs%HqZ2GT +KAXWWi*W4(A64;XFkb-x000000096000000000F^Zg6#U1_B3ga%FZ;b#wuf5WIk +~G+K)5%bR49t5yk`^qQ9la%FR6a&~280n4~8JLYKfb7gWS-+` +&{Sr=ykNJ#YFTr_BQwWqKF0SHNMaCLM|VQ>Wj015*2Y!hN5_Bp3Y36tDMM#=e#tG +I($UA5U3KNx<*C>jbO<32;hs$B9ZCsU(1!DsC|W1LOd&b_IRG-(&Q$wPGkmB{9L9 +(7`0)Rt93YLV-HLXe?vTA1;^Q1`ZqBog<<0RR9100000|Nj600000021#ykb#!wD +0RRaB)s0^W44Zsb!Bn|0RRX906+i$000000096000000000S1Wn^h#RC#b^0|5hJZh8L*O=W +apWMOn+1pxpE002M$0000000030{{R300000BPh(?sa&l#EV`Xy&0t0PnZU6uR18 +re=0006EPjEwTZEb0EZDnqB1_%RYW_AJEn^6;37FKqUhx?i3R+Mr!fY&(;2BFL(m +@EZk_srD>Z*Ww3aAg5HNg3QBungCa`gaZREkYYCP6|T4)ss&faQ1^sfyCViZDn*} +WMOn+0zEM{@(!?klpcvgd20RL#BWzbN#1HMsM#iJH}J75g>A2`#r3Bk2FRnL+RBX +En8vr=x`Tq%|A_kfK&ST81_x(sZ(?C=a{@gvHu4Uze3TxELwRcb-NbKKL`mLiE~w +ciYB%t)D}^|oLxv|61vo|m6{oTZGS42tPYA&eRCTchE +u`7i*o0-0zEM{@(!? +klpcvgd20RL#BWzbN#1HMsM#iJH}J75g>A2`#r3Bk2FRnL+RBXEn8vr=x`Tq%|A_ +kfK&ST81_^dyY-Mg^X=QT)Jux=&4zPTb9*IMFYW>~BZ&yS~-fAwW*(Pc?@Ubg}ZL +h7x^`{^P$fKg#%8c8X#<$(NgM!uni2C|Kr}onZ1W#~DWCZ~L2LJ#-AOHnVaBp>V1 +_J_bZ~>Lb=6W7=VqesjRYGc!>wZFzp>JB4@xD;^wu&SY_r(Hqc>#z1;$>KfZ0H=m +hJ>?uVgq>HOrf1lB-q;n)I5N1ao +C!Yyr_{7rjFg@b(FW?*48~9t#5lC;3juy9JUg#K|!ymZ}AFbYXO50ccY+APn47#! +YtOwl1n>FWNfUk-rA3DGt2Q_Id+K%m;UAbZ%vHa{&c&;K@+Vs`Svqn*&{=>Y>ovG +-QI%SssLzB+C`1S!Nthb#!obbU|}-X=iS2Wo~p*Wp-s@Y-MCbVRT^z1O;z!Z*_D5 +lMuXsu{2tXFT+?;?hj39&>gq>HOrf1lB-q;n)I5N1aoC!Yyr_{7rjFg@b(FW?*48 +~9t#5lC;3juy9JUg#K|!ymZ}AFbYXO50sm-Yz<5%CY59k^g5#W{6D&GDo53%OaP0 +&iRqY>ovG-QI%SssLzB+C`1S!Nwib# +!obbU|}-X=iS2Wo~p*Wp-s@Y-MCtVQh6}1_T9faBp>V0h18CfUz`Mi!Z}iQtl5;X +wV(E`Zdd&WRj~^37YhpmjrWVVQc}>XBWLg67cp3gzo-sO&$va11I@T$h!rSEX2t% +Czh%Ob97;JWdUtO#`G_01v*0&52ohAEX3$~@L7b8`U +&bKuEP&Z_j#!c;Wd;NVZ*XsQbODnPynwMZT8l5kSW@l}O=!>^xB4~9n`Dx!RtcK)nwJD~Wn +pXq(PtOELlW@z354$cZcQEw0|O`dPRP3jk}Sl@F(;O)1#@&^bY%f9vZekPz%WEGn +BZKS8(M7E9_@AwVcyGtCevi|7U8=GcWHEPWpi@@1#{rZP|m9K(8HSpU8Cxu(AzX* +g3wtWgq9@B6{cBc5>RDiWpZ<6ZbNTvZE19EWo~o@0RRU806-xC2vTKaWo2z;WCZ~ +L3IRs#=EDda{kY~=q$*tC#t4Le{2#tvcDZqMsmk?FcgmDd%EKc;pw+KsVi?D}qDSkO*B!5Mb* +xG|_(S5o&32kL$X<<}(aAg5PFkyv=$keM8CP2si$rmim(Ekws4U>QXM0|*v-OPCe +b75?B000OKQe}2!VQgh&L}7Gc1_A|kVQh6}0WzLeQ3m-<6)UHjqig^*m4co5us7u +kl*0UQzs7w8g#>e9Y;*ts5D-#jc4c8~Wn@NmZf9v?Y-I)m1$JRKwa1v8ba_B>T#2Nxy?Vr*${WNB_^0fo5uE4%chrVX>dKSj6?lx +}!~!>v+nlk{(+0jO?A+5>c9X93BNnyJGEOB((CXB(HiD*XOTXpbLr$Svz}Z|7;7B +CiHhV`yb}5vZY(~FzYeIdN`S$)9l7 +ap=09=fBme*a000000RI3000000019t+Ze?Utd2nTO015$z{^Dg=h-~N_zJ`Red1 +EINWrM}GXaQb}6c#qIM2EQnILZ{@g(An}If6!%vcs8JbyKG3$_x(S=#`1OiFX_G0 +000000000{{R300000040d5`Wo~16RC#b^a{vheM(yUq2ps*m=2xUDT;RqCgn#@W +zFu~@adfH5^@&-|0000000000{{R30000002WMq&WpinB0jom)3dE3VMG*K@Uj`& +9O$m&URampr+czw5j9K7JLkeYhbY*UHX>V?G015$Qbsj>g6`?#s5rWnKhSeO?L~x +^!;Y#eFP|P}0Z%Ez&X0(@tkHmR7VBa*7>vj^5vkt5f(LFa*EmC9=2$WE90000000 +000{{R30000003v_Z}ZgXjLX>V?G015##QV*^ZmKt8YDf|&5KZQ>65I6*X)C9iYp ++?yjr7~y%y~l5O%01=Zemts_^ih%M}yz;kwbCmqWQ?a(0yP=wbe0q{)>8+xQm0q_7= +{(%B;l;Rh7DJo-_a=L-&HFsOv&CqLR1V5+fZ26JO_X>fD_#u#IJXH5*Wys5xLU4J +rSgP3@8bSFd6H|0e8x)RV#2vcKdWo=M0Sp%uJ^vU*QJ`JCB}1fCDqcO!XNk(`C#ZoeEA)wskqc*R +Z(?C=RC#b^a{vkf)$WoGNr}5vZY(~FzYeIdN`S$)9l7ap=09=fBme*a000000RI3000000019t+Ze?Utd2n +TO015$z{^Dg=h-~N_zJ`Red1EINWrM}GXaQb}6c#qIM2EQnILZ{@g(An}If6!%vc +s8JbyKG3$_x(S=#`1OiFX_G0000000000{{R300000040d5`Wo~16RC#b^a{vheM +(yUq2ps*m=2xUDT;RqCgn#@WzFu~@adfH5^@&-|0000000000{{R30000002WMq& +WpinB0jom)3dE3VMG*K@Uj`&9O$m&URampr+czw5j9K7JLkeYhbY*UHX>V?G015$ +Qbsj>g6`?#s5rWnKhSeO?L~x^!;Y#eFP|P}0Z%Ez&X0(@tkHmR7VBa*7>vj^5vkt +5f(LFa*EmC9=2$WE90000000000{{R30000003v_Z}ZgXjLX>V?G015##QV*^ZmK +t8YDf|&5KZQ>65I6*X)C9iYp+?yjr7~y%y~l5O%01=Zemts_^ih%M}yz;kwbCmqWQ? +a(0yP=wbe0q{)>8+xQm0q_7={(%B;l;Rh7DJo-_a=L-&HFsOv&CqLR1V5+fZ26JO +_X>fD_#u#IJXH5*Wys5xLU4JrSgP3@8bSFd6H|0e8x)RV#22*2lX>fD|0RRPIY;{ +&`00jX7qWbEda9o^`%-h{Y?T>Kfj`b9SKFB^?WVLEr!&9xW3sZDqbY)XxXk~3-1O +xyJWMyM)VRB(~X?A4*00039W_507X<}?;00jX7`Sh#^X0AbZX4L%*5q$))*;M@wX +I>IJVg&1PPwC}G0t$0Lb#i5700jX8NU3b>%M}yz;kwbCmqWQ?a(0yP=wbe0 +q{)>8+xQm0YXqYdo~D%m7H6OD0<^0n_2##VWXRdjy=DB@qgYOj0}5eubYWv?ZDnq +B00jX7LNH;4h{)8d6ed8&{mBV=@2m@ +wjb^+R(Q4?4eR(6nw`@6CZd7@2WdSr&53UoI8 +eY9A{1GERg--GiI0S#x1is&)M%fmnGH3{GWprU=VRT^u;b~{_$H8YPU!!A-5yM58 +(94FP(7*JmC%?~bN>dRB2WM<=Vqt7^0owP`H}~XwW|nkt{7-&IWbpPi(wX$0pXUq +F<#0Z84+d#&aCLNZ0jZ*TSChz_$|Xx}eRkFNAr%^eLl(1e@}~9=0-ijXfD2)Bb7^ +O8ZDnqBa{>8NbFsAF+NAOa9=u3y1Xa&C=4DE;gi12nFEThgaqbCrVQgh?V`*h`0o +{dW0B>Pr5ftu@@z<*O39}j`u&O7io3b$Is?RA$O%POaVQzD2bZKvHLUnFrY-I)l2 +x)F`b#zT(Z~+yWXJpH@t3U@-^C5At>@@qQFQ2KNd+8eYXv4en`-l*0Zf|#PRB~Z% +b7^#GZ*Fq{3IUbK=6W7=VqesjRYGc!>wZFzp>JB4@xD;^wu&SY_r(G5e-m~8oEl# +z@T$dQ;Shc2UKksAbum0|FIl~hsu%M}yz;kwbCmqWQ?a(0yP=wbe0q{)>8+xQm0YX +qYdo~D%m7H6OD0<^0n_2##VWXRdjy=DB@qgYOj2WM<=Vqt7^015%s?vf5kh_h+&Y +E#h%O8d1V_{UOl9{V;uR#^q%GEG0000000000{{R300000025D|^b#!w83IT`y;$>KfZ0H=mhJ>?uVKfZ0H=mhJ>?uVa{vheM(yUq2ps*m=2xUDT;RqCgn#@WzFu~@adfH5^@&-|00000 +00000{{R30000004peesZgXjLX>V>+d2nR~0RR934pez?WkYXmZE19EWo~o?0{{n +SWo~72X>$Mt0RedV_5PL`J0!4Bq#xS;?f$+v;dQOH@!FuJhCm#JQfvVVbaG*Cb7^ +#GZ*Bku0s)^0EJ-@Z0;0Ob-P{Wzd?2rs)M&&=&l*}G;Jw22Ix+z?QV*^ZmKt8YDf +|&5KZQ>65I6*X)C9iYp+?yjr7~y&31xV6Wo~n6Z*Bku0s)^0EJ-@Z0;0Ob-P{Wzd +?2rs)M&&=&l*}G;Jw22Ix+!dbsj>g6`?#s5rWnKhSeO?L~x^!;Y#eFP|P}0Z%E!6 +RC#b^WI=OtX=iS8LTqVnWK(5fY*ctqbaDg)01ISgV{Bn^VRUJBWdH>M00;rH1vZ# +~6S0w{(RI4`cN>c#f1s}6wBY4XHm<^|-YI4P0000000030{{R30000012xfI|XK7 ++=WdH>M00;q#UTsV^#TzS1%+nQ@-YGokF$x632d*dZj-vD~v6?gh0000000030{{ +R30000023UhRFbz^jOa%E%y1pxpE0g7pkX`g;+>REzyBm9woR4fMkGNeGN3DfiLP +nSEI8vp7hxcI*rY&UL +5{22fM000000096000000000SAVQgh?V`*h`1pxpF0Y>fS!w4MxxaL=+DqP^k2!w +z9AHH68xp8!<%Jqp^&Hw-a000000RI300000001H-OY-Mg^c~p6DWd#8M00IeCZ) +s#xbYXO51pxp601a1ZbZ%vHb3txnXm4@`0t$C&bZ%vHb5C+)0m2^a+yK+Q;_HtBn +{qn)u@JyEm+8*~Xc?3hrUVCR$_aOAbZ%vHb4g?YiECIT&Bl;lSX#$ms8AQN7m&qY +I@o0Raxbxa~M%Zlr^{H1ib +sRCVcA*+(@K+$R_oJY%-uiLn6)Z)RpgXklq?0000AS7~%^Wpi^-Z*v9$254nzXJ~ +W)00aqiX>Db5bYX39002l2SVL%GX>LJoV`y)3Q)P4n0sseMX>?<6X>I@o0Rh_JVJ +AtjgJdT_Z|>M2sS?MtJl#qTQVPp!*((IXOHBa=Y-w?IX=DHe0Rh_JVJAtjgJdT_Z +|>M2sS?MtJl#qTQVPp!*((IXOHCA5Lug@XZbEEnZe&wsVQf@*P;_zx0sseMX>?<6 +X>I@o0RjmB!}dYur&r|b)0{BK<2K$A2E0wbR3p=|s`fKKS8zrrs4h^n+Zt?u@<&a +TIfpUd`<+;gOgf;C*Zs6&x77g#Y-w?IX=DHe0RjmB!}dYur&r|b)0{BK<2K$A2E0 +wbR3p=|s`fKKS8zrrs4h^n+Zt?u@<&aTIfpUd`<+;gOgf;C*Zs6&x78C^Lug@XZb +EEnZe&wsVQf@*X=DTf00&}ebYpL6ZU6-V0to-Z_Ce;SSLEx{oG{4aHr^2iyiLDUB +h#^}_A@_MaInU4u7-Qt<6xS@-s>{OM>iY*&c?b?aZznm(1lyi>j4IAX>oOFWB>&L +0to-Z_Ce;SSLEx{oG{4aHr^2iyiLDUBh#^}_A@_MaInU4u7-Qt<6xS@-s>{OM>iY +*&c?b?aZznm(1lyi>lRo;Xklq?MR;&*X=7=0Q)OXnRCsA*1OfmDVrg_^Z)t7-1px +vG|HJk{=BHQW>(iVt$m2HN5eB?Xzf>dBv8whnKUZ)A)ijXnM0JX32^g}aq&*n$Aq ++EetlpYi`G;7YBO`qQ25f0@b!lV(1pxvG|HJk{=BHQW>(iVt$m2HN5eB?Xzf>dBv +8whnKUZ)A)ijXnM0JX32^g}aq&*n$Aq+EetlpYi`G;7YBO`qfSVL%GX>L(iVt$m2HN5eB?Xzf>dBv8whnKUZ* +Q8SA{&vly$FvzVnzHf7z~rv`86=_Ka^V5yX|y#`JJ25f0@b!lV(1pxvG|HJk{=BH +QW>(iVt$m2HN5eB?Xzf>dBv8whnKUZ*Q8SA{&vly$FvzVnzHf7z~rv`86=_Ka^V5 +yX|y#`JSSVL%GX>L?_X=DTf00&}ebYpL6ZU6-V0`+VYVk7oBr%DNv+($;q`HHK!g +IHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M~R@C@!4#dQE#lUD;OiKi1RsjZVX>oOF +WB>&L0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M +~R@C@!4#dQE#lUD;OiKi1Rs -----END STRICT TYPE LIB----- diff --git a/stl/RGB@0.1.0.stl b/stl/RGB@0.1.0.stl index d7c778e8..fdf71ccd 100644 Binary files a/stl/RGB@0.1.0.stl and b/stl/RGB@0.1.0.stl differ diff --git a/stl/RGB@0.1.0.sty b/stl/RGB@0.1.0.sty index 058065b6..2f266917 100644 --- a/stl/RGB@0.1.0.sty +++ b/stl/RGB@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: urn:ubideco:stl:HqdNNAehK3yaQ1AC5pQmEuNNS1zgyo2Jw31fdUNKb9MU#annual-virus-garlic + Id: urn:ubideco:stl:5corTa7ZCSDLdH2yXxpSm3Jyjw2vSjcqeUFbuGFNJrJr#except-basket-archer Name: RGB Version: 0.1.0 Description: Consensus layer for RGB smart contracts @@ -152,10 +152,12 @@ data AssignmentsBlindSealTxid : {AssignmentType -> ^ ..0xff TypedAssignsBlindSea @mnemonic(delta-member-agenda) data AttachId : [Byte ^ 32] -@mnemonic(goblin-accent-number) +@mnemonic(context-alpha-cover) data BaseCommitment : schemaId SchemaId + , timestamp I64 , testnet Std.Bool#laser-madam-maxwell , altLayers1 CommitVerify.StrictHash#cheese-final-locate + , issuer CommitVerify.StrictHash#cheese-final-locate @mnemonic(agenda-ivory-blast) data BlindingFactor : [Byte ^ 32] @@ -218,15 +220,17 @@ data FungibleState : bits64#8 U64 data FungibleType : unsigned64Bit#8 -@mnemonic(darwin-between-pilot) +@mnemonic(elastic-toyota-baron) data Genesis : ffv Ffv , schemaId SchemaId + , timestamp I64 , testnet Std.Bool#laser-madam-maxwell , altLayers1 AltLayer1Set , metadata Metadata , globals GlobalState , assignments AssignmentsBlindSealTxid , valencies Valencies + , issuer Issuer @mnemonic(andrea-amigo-grid) data GenesisSchema : metadata StrictTypes.SemId#cargo-plasma-catalog @@ -258,6 +262,9 @@ data InputMap : {Bitcoin.Vout -> ^ 1.. OpId} @mnemonic(liquid-meaning-convert) data Inputs : {Input} +@mnemonic(veteran-tango-content) +data Issuer : [Byte] + @mnemonic(light-nelson-brain) data MediaType : any#255 diff --git a/stl/Transition.vesper b/stl/Transition.vesper index af8391d2..f8b300f6 100644 --- a/stl/Transition.vesper +++ b/stl/Transition.vesper @@ -15,8 +15,10 @@ OpCommitment rec opType union -- TypeCommitment genesis rec wrapped tag=0 -- BaseCommitment schemaId bytes len=32 aka=SchemaId + timestamp is I64 testnet enum false=0 true=1 -- Bool altLayers1 bytes len=32 aka=StrictHash + issuer bytes len=32 aka=StrictHash transition tuple tag=1 _ bytes len=32 aka=ContractId _ is U16 aka=TransitionType