Skip to content

Commit

Permalink
Merge pull request #81 from BP-WG/reserved
Browse files Browse the repository at this point in the history
  • Loading branch information
dr-orlovsky authored Mar 19, 2024
2 parents f593b47 + 5d492b1 commit ab644f6
Show file tree
Hide file tree
Showing 11 changed files with 135 additions and 82 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ getrandom = { version = "0.2", features = ["js"] }
wasm-bindgen-test = "0.3"

[package.metadata.docs.rs]
features = [ "all" ]
features = ["all"]

[patch.crates-io]
commit_verify = { git = "https://github.com/LNP-BP/client_side_validation", branch = "master" }
commit_verify = { git = "https://github.com/LNP-BP/client_side_validation", branch = "reserved" }
13 changes: 13 additions & 0 deletions dbc/src/anchor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ use std::marker::PhantomData;

use bc::{Tx, Txid};
use commit_verify::mpc::{self, Message, ProtocolId};
use commit_verify::ReservedBytes;
use strict_encoding::{StrictDumb, StrictEncode};

use crate::{DbcMethod, Method, LIB_NAME_BPCORE};
Expand Down Expand Up @@ -68,9 +69,15 @@ pub enum VerifyError<E: Error> {
serde(crate = "serde_crate", rename_all = "camelCase")
)]
pub struct Anchor<L: mpc::Proof + StrictDumb, D: dbc::Proof<M>, M: DbcMethod = Method> {
/// Bytes reserved for enum tag for the future versions of anchors.
pub reserved1: ReservedBytes<1>,

/// Transaction containing deterministic bitcoin commitment.
pub txid: Txid,

/// Bytes reserved for the optional SPV information.
pub reserved2: ReservedBytes<1>,

/// Structured multi-protocol LNPBP-4 data the transaction commits to.
pub mpc_proof: L,

Expand All @@ -87,7 +94,9 @@ impl<L: mpc::Proof + StrictDumb, D: dbc::Proof<M>, M: DbcMethod> Anchor<L, D, M>
/// proofs.
pub fn new(witness_txid: Txid, mpc_proof: L, dbc_proof: D) -> Self {
Self {
reserved1: default!(),
txid: witness_txid,
reserved2: default!(),
mpc_proof,
dbc_proof,
_method: PhantomData,
Expand Down Expand Up @@ -121,7 +130,9 @@ impl<D: dbc::Proof<M>, M: DbcMethod> Anchor<mpc::MerkleProof, D, M> {
let lnpbp4_proof =
mpc::MerkleBlock::with(&self.mpc_proof, protocol_id.into(), message.into())?;
Ok(Anchor {
reserved1: self.reserved1,
txid: self.txid,
reserved2: self.reserved2,
mpc_proof: lnpbp4_proof,
dbc_proof: self.dbc_proof,
_method: default!(),
Expand Down Expand Up @@ -181,7 +192,9 @@ impl<D: dbc::Proof<M>, M: DbcMethod> Anchor<mpc::MerkleBlock, D, M> {
) -> Result<Anchor<mpc::MerkleProof, D, M>, mpc::LeafNotKnown> {
let lnpbp4_proof = self.mpc_proof.to_merkle_proof(protocol.into())?;
Ok(Anchor {
reserved1: self.reserved1,
txid: self.txid,
reserved2: self.reserved2,
mpc_proof: lnpbp4_proof,
dbc_proof: self.dbc_proof,
_method: default!(),
Expand Down
2 changes: 1 addition & 1 deletion src/stl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ use strict_types::{CompileError, LibBuilder, TypeLib};
/// Strict types id for the library providing data types from [`dbc`] and
/// [`seals`] crates.
pub const LIB_ID_BPCORE: &str =
"urn:ubideco:stl:BeAiDVK898mzgHrmWgxHtysDhmffgMEoDwBgNuZo7QeZ#connect-verona-secret";
"urn:ubideco:stl:9pKFs7Gw7gwerYGVcPCDqiCv5fa165qC6PvFxiotJjaG#rebel-herbert-tourist";

fn _bp_core_stl() -> Result<TypeLib, CompileError> {
LibBuilder::new(libname!(LIB_NAME_BPCORE), tiny_bset! {
Expand Down
2 changes: 2 additions & 0 deletions stl/Anchor.MerkleBlock.Tapret.vesper
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
AnchorMerkleBlockTapretProof rec
reserved1 bytes len=1 aka=ReservedBytes1
txid bytes len=32 aka=Txid
reserved2 bytes len=1 aka=ReservedBytes1
mpcProof rec MerkleBlock
depth enum {
U5 _0=0 _1=1 _2=2 _3=3 _4=4 _5=5 _6=6 _7=7
Expand Down
2 changes: 2 additions & 0 deletions stl/Anchor.MerkleProof.Tapret.vesper
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
AnchorMerkleProofTapretProof rec
reserved1 bytes len=1 aka=ReservedBytes1
txid bytes len=32 aka=Txid
reserved2 bytes len=1 aka=ReservedBytes1
mpcProof rec MerkleProof
pos is U32
cofactor is U16
Expand Down
2 changes: 2 additions & 0 deletions stl/Anchor.MerkleTree.Opret.vesper
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
AnchorMerkleTreeOpretProof rec
reserved1 bytes len=1 aka=ReservedBytes1
txid bytes len=32 aka=Txid
reserved2 bytes len=1 aka=ReservedBytes1
mpcProof rec MerkleTree
depth enum {
U5 _0=0 _1=1 _2=2 _3=3 _4=4 _5=5 _6=6 _7=7
Expand Down
2 changes: 2 additions & 0 deletions stl/Anchor.MerkleTree.Tapret.vesper
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
AnchorMerkleTreeTapretProof rec
reserved1 bytes len=1 aka=ReservedBytes1
txid bytes len=32 aka=Txid
reserved2 bytes len=1 aka=ReservedBytes1
mpcProof rec MerkleTree
depth enum {
U5 _0=0 _1=1 _2=2 _3=3 _4=4 _5=5 _6=6 _7=7
Expand Down
145 changes: 82 additions & 63 deletions stl/[email protected]
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
-----BEGIN STRICT TYPE LIB-----
Id: urn:ubideco:stl:BeAiDVK898mzgHrmWgxHtysDhmffgMEoDwBgNuZo7QeZ#connect-verona-secret
Id: urn:ubideco:stl:9pKFs7Gw7gwerYGVcPCDqiCv5fa165qC6PvFxiotJjaG#rebel-herbert-tourist
Name: BPCore
Dependency: 7qvjR4HCwJKF3mxE5GqsAaADces5JDRwb8ajAse9mkz3#exhibit-karate-ritual
Dependency: 7EpM1uymEteG4g4xmF5ntKYX1wXXpbQj5iLiDreH4jWa#protein-donald-cool
Dependency: DzTvt9gGhPUKD8Dkkjk9PDBhkJ4gtWxXWQjxnmUYLNrs#voyage-kimono-disco
Dependency: HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9#speed-atlanta-trilogy
Checksum-SHA256: 64929409fba4ac73a0e4add2e174504c170ed17008f31180956f05569ceee36c
Checksum-SHA256: f7bced17d414c08d760e039a06c43277e985cc1fba332ddfe415af8a36008cb3

20~CnZ*pY=Wv;<0l-(Pe$^)UD5K7r}*s>bq5$WSxcMKAy3WKnC3`1{iZE18?WpZg
20~CnZ*pY=T(C5e*2&|@7ZL8K8p|GAt|gDDdvc%!k2x;ddcL`H3`1{iZE18?WpZg
|dBFtCMqVsrZe&e(V->r|?y|b&t*2isXxNhAA_oAshyzn}Wc6$lVk7oBr%DNv+($
;q`HHK!gIHa)*%m(-e#9sm3I{@IbYpL6ZUYBGX>?<6X>JGrA>%$n#j0HLDJN5-IK
gM_J7b(p+0MPGk2Gl)y2(Rz1Xgc#bS10xxe^o?x}!PNUwajGr*TW+dUY6G&@nZ7)
Expand All @@ -15,69 +15,88 @@ a87SzWk_LjXkV<^ZRI~s#T41Gjc0(`3ajfaCJX&HEu+ACq+L0mO$tn9VP;cfa%pg
Mqk=;7%h%D+p%U7S;b1RT)c9`>#Kd;Rz-U=aO9W+B1XOrwWT}OOcT=8d`>?<6$C@
F;S3|*6`1-v+nBdcqJ?FPKcnV2wbY*gGVQf%qwlfK-7{9iX4Q|L-q$GzUMp|h<az
h8d{~gylbAe9D2TWyQW>#f#{Gz8SzLEaTf~c{WkYggkPIjuQHS#3Ua|L6d7%qre2
Ut&TY<W;?3`1{iZE18?WpZg|c?SRpR`-7%<v!(6CSPt8P+`uam~C7&J!(5--hXnL
Ut&TY<W;?3`1{iZE18?WpZg|c?bXqR`-7%<v!(6CSPt8P+`uam~C7&J!(5--hXnL
)^zd;O=WUxY-Ln(Wo0mxe&!uvG+Da^2;||fJ!&Dp*8BS%F@mRg<wbPhR<R0Da&L5
RV{dFpWHmRbQ5DGQh1^p2tAX-yWl;qtQ<OqiuZa`rd(@k;(+5pub8}&5WjLNgh9?
yTI7S;;e;>sZfv!yd427@;7veO2zMB=|GYU;*a%*g5NMUnmT+QYFd;Umr-dgNEFC
uu*?Wk)@WS(Jw`th(K{eY_63r%HmYiwmgY;R+0h0#5^R?l+2>x*OcO&#*^E;5@PQ
20HKbE5LJk_Il(3r%HmYiwmua&K>D*tNNq^HspzKK^|l-Ci`?%`u0U6ZHVlY`S(f
i`CFq2vl-qWlnEoWdl=mWB~wXSa8^mT+s=T=}Z?`J=~w8Q=GLzSfImTncuED0}GM
@RW%X-8$oVkXm4^&WpZn5WkPIkV{1=va%FT-a&K>D1_K0icxhw;^=uPjBlbC`N(q
zPM@Gr{imSMTSY5T*7C#t%#3&jHqk=;7%h%D+p%U7S;b1RT)c9`>#Kd;Rz-U=aO9
W+B2yJj<P;zf?W&&ld!77y98=A@kp`8#)*>u>l8sib^<6L(P5~d1+uy|a}<^FsAN
OIm<>^(0cc+l;rYfEIFVSxJaup#|`s@w=<Vq;KpZ*OJ+M^4XN(CAD)c<TE+K3MFy
S<QDhvu9)kY913xn>ag{96@elXm4^&WpZn5WkPIkV{24laB^jIP;zf?W(ETUba-i
G0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M~R@C
@!4#dQE#lUD;OiKi1RtRlyV^DH$Z)O5zuE8pl-5Z+91EHM|O4)SSvKr$N>Em2?3=
*aagRpp9&E@`k{z!7(TI@Y9B6!g4sB24Po?(Fc@vtHNfU4XGWMX4ba&K>D0S~qxm
_HirtB!lh<{Yi-S-!KI0_27BH<@sVme~^s3>!giV`y)3O=WUxY-Lb#Z*OK#aB^jI
P;zf?W(ETUba-iG0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3ZsHT^UK%
K(4i9Ajp1M~R@C@!4#dQE#lUD;OiKi1RtRlyV^DH$Z)O5zuE8pl-5Z+91EHM|O4)
SSvKr$N>Em2?3=*aagRppo(LK3V&vL%&i(~ao9rExlGMgPx_&tqtqVlwo1}@PEWM
X4ba&K>D0Y^^HT+rxDK6vW;JU&?LxLM72H?wDC1Zo}=N}D)4mmEQEV`y)3O=WUxY
-Lb#Z*OK)VQ_L~bWn0{Z)OGq1ax?5WCHbU6JjIwIj2eqliWu}$@z+_xPw?-wb>Rw
7=FYk8VaL=Li5Yl(a@n1+Ku60FILp}Zw|!7cE!MGSxid=WmX7naAQz%Z*OJ-Wv;<
0l-(Pe$^)UD5K7r}*s>bq5$WSxcMKAy3WKnCh0#5^R?l+2>x*OcO&#*^E;5@PQ20
HKbE5LJk_Il(2xMYoP;zf?W&sbjADBNH?W>M^%H|xc>sh|Dn*!v8^Ea7rh?dzC2n
-rQZewU~a!qA&Yiwmya%E*taB^jIP;zf?W(ETUba-iG0`+VYVk7oBr%DNv+($;q`
HHK!gIHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M~R@C@!4#dQE#lUD;OiKi1RtRly
V^DH$Z)O5zuE8pl-5Z+91EHM|O4)SSvKr$N>Em2?3=*aagRpoAR`-7%<v!(6CSPt
8P+`uam~C7&J!(5--hXnL)^zd+WMX4ba&K>D0Y^^HT+rxDK6vW;JU&?LxLM72H?w
DC1Zo}=N}D)4mm5KDV`y)3O=WUxY-Ln(Wo1-haB^jIP;zf?W(ETUba-iG0`+VYVk
7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M~R@C@!4#dQE#
lUD;OiKi1RtRlyV^DH$Z)O5zuE8pl-5Z+91EHM|O4)SSvKr$N>Em2?3=*aagRpoA
R`-7%<v!(6CSPt8P+`uam~C7&J!(5--hXnL)^zd+WMX4ba&K>D0S~qxm_HirtB!l
h<{Yi-S-!KI0_27BH<@sVme~^s3=TqUX>MdwWnpYocu;h51_TCeWprq7WC1R>5GA
>8Wft0d6dj=*oo`t>c$)o5X19O9`rXu=lIsL?cxhw-vE?{96bd-L@NXK=z8qksZ{
gweeRv2cdB4&6(-0xu1a@zAbOQBk6JjIwIj2eqliWu}$@z+_xPw?-wb>Rw7=FYk8
VVufK10Q-T=FR=Q=>S+XYD&<oK4xzy{V5hX&1W5Lv;vZY-w&}X>Ml#00<32Y-w&}
Q)OXnRCsA*1_TCeWprq7WC1R>5GA>8Wft0d6dj=*oo`t>c$)o5X19O9`rXu=lIsL
?cxhw;^=uPjBlbC`N(qzPM@Gr{imSMTSY5T*7C#t%#3&jHqk=;7%h%D+p%U7S;b1
RT)c9`>#Kd;Rz-U=aO9W+B1a@zAbOQBk6JjIwIj2eqliWu}$@z+_xPw?-wb>Rw7=
FYk8VVufK10Q-T=FR=Q=>S+XYD&<oK4xzy{V5hX&1W5Lv;vZY-w&}X>Ml#00<F9c
yMfKV`+3#WnpYocu;h51_K6dWprq7WC1R>5GA>8Wft0d6dj=*oo`t>c$)o5X19O9
`rXu=lIsL?cxhw-vE?{96bd-L@NXK=z8qksZ{gweeRv2cdB4&6(-0xu1a@zAbOQB
k6JjIwIj2eqliWu}$@z+_xPw?-wb>Rw7=FYk8VVufK10Q-T=FR=Q=>S+XYD&<oK4
xzy{V5hX&1W5Lv;{EcyMfKV`+3#WnpYocxhw?0|sqnbZBp60WP-?CAn^87TS9h9i
bhaZ&^Bcn*B*;w|~I;-PD|t>jZRoX=DQRY!hN5_Bp3Y36tDMM#=e#tGI($UA5U3K
Nx<*C>jc*f<p7l*U`|S655U7U@unG_-_ux#CFBNXjx241Z7qPc5iib0`+VYVk7oB
r%DNv+($;q`HHK!gIHa)*%m(-e#9sm3L)b@L&d6G@+l`%qd385?K@+fP1(-9sgE>
i7rMzqbp}mkbZBp60|E+faB^jIMrm?$bN~x<VQ_L~bVg}%b94a;PjGT&bWn0{Z)O
Dn0000AQ)OdvWpq<zVQd8f00#g7Kp+4SRAF#(Wpqw&WMxoca&&HGas&ea2yA6$bW
U$%WdH>M0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3NgE`=!A)P#jpo4a
xu-4_As_7EzOC4+`8Vyy2R;!*#QZ1X=iA3Ol4ta00jX8^=uPjBlbC`N(qzPM@Gr{
imSMTSY5T*7C#t%#3&jHU#!_}<v&iv6xp$jXMoxYtLrT$3;j1OqriHkT{)jk0t<3
!XJ~Xna$#;`XaEHP0XRQmE^$-R$RUwD%Xb~0J!Ic@@+ehVE%-)5lom~G1rJnVaB^
jIP+@dvP;zf?W(EQaaA9(EZe?;#Z)9Zv1OfmAZf|a7000011aog~WdH>M0RemmT>
wB!7L}MA7sFvK#<=RP4S#T1Vv-hhTICs&5e05<ZewKt009eBVQ_L~bWn0{Z)OGp3
2<R_Xi#!*Z)O1##8XmcC%Z%?j5}xa%));D{NyLM&t4DxfsZeKd)RymX>N37a&BR4
P-_D9Y!hN5_Bp3Y36tDMM#=e#tGI($UA5U3KNx<*C>jc>g@kugo@o29zwXDHA;ec
h!BqJAy+4@X(~&*rw>NkZRAF#(Wpq+$XJ~Xna$#;`Xa)idY-MJ2PH$voNMUnm0`+
VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3NgE`=!A)P#jpo4axu-4_As_7Ez
OC4+`8Vyy2R;!*$r}OXJ~XzZ)9aiVRL8#^=uPjBlbC`N(qzPM@Gr{imSMTSY5T*7
C#t%#3&jHF}tqlgo$^>um>@6G0l?pFt#Zz&53{9y57aQ#OZ(81yp!YbaDg&010<#
bZ%vHb5wW$00035ba-iG00jX8^=uPjBlbC`N(qzPM@Gr{imSMTSY5T*7C#t%#3&j
Hqk=;7%h%D+p%U7S;b1RT)c9`>#Kd;Rz-U=aO9W+B
20HKbE5LJk_Il(3r%HmYiwmua&K>DllNeFa6}P}rq7L!(40)FbL%msz%JU8hqvFy
oea2o4pL=vWpZ|9WI}m#WpgpuwYiq_Rlwao{(T?aUNqayF^88E^#IUpx^^~;)zDW
6RB~lyPH$vo15<Ql0RU!LaM+Gq(Fu_0Ocz)^+@GUUoV7w&pu=F9->y0X3z7m=H4*
?DL2hGcZ*om#a%*g5LTqniYfo@;Wpq$-Z*OJ>1qpIxb7gXNWn?h|T(C5e*2&|@7Z
L8K8p|GAt|gDDdvc%!k2x;ddcL`HllNeFa6}P}rq7L!(40)FbL%msz%JU8hqvFyo
ea2o1ax?5WCHbU6JjIwIj2eqliWu}$@z+_xPw?-wb>Rw7=FYk8VaL=Li5Yl(a@n1
+Ku60FILp}Zw|!7cE!MGSxid=WmXAtWpib6c4cHT0$i{(k=DuM$QKdrry9#1TdpO
Kse5vu1&=u{+IqgZbCdUAcyL4!ji%3ykI<Y<s&nfxrNA!QlZUt8$DItgdI)WBV^D
H$Z)O5qur!g@$>Ycu5$>lN%N|><C6B3la-ao|IWF3IzPWQ;&E@`k{z!7(TI@Y9B6
!g4sB24Po?(Fc@vtHNfU4XGWMX4ba&K>D0Y^^HT+rxDK6vW;JU&?LxLM72H?wDC1
Zo}=N}D)4mmEQEV`y)3O=WUxY-K`hZ)0mzVQ_L~bWn0{Z)OGs336p~WpZ|9WHAC<
ur!g@$>Ycu5$>lN%N|><C6B3la-ao|IWF3IzPWRg_h5K%L=laq&yA1JoJ^{7>oKL
kF4~iax8KK|47hp(ba-iG0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3Zs
HT^UK%K(4i9Ajp1M~R@C@!4#dQE#lUD;OiKi1Rta)tb7gXNWn?k}T(C5e*2&|@7Z
L8K8p|GAt|gDDdvc%!k2x;ddcL`HllNeFa6}P}rq7L!(40)FbL%msz%JU8hqvFyo
ea2o2yJj<P;zf?W&&KWG?CWH<H#2g?xz~d9$T&@kEwfdpaqXPF4}s&xpQ32<^FsA
NOIm<>^(0cc+l;rYfEIFVSxJaup#|`s@w=<Vq;KpZ*OJ+54IneKN{_;j(f`H9Ifk
FzO$PG<c0G$nQ(}f*%Js18$oVkXm4^&WpZn5Wl(Z&Z)Q($a%FT-a&K>D1_cRnWpi
b6c4cHS0$i{(k=DuM$QKdrry9#1TdpOKse5vu1&=u{+IqgZbCdUAcyL4!ji%3ykI
<Y<s&nfxrNA!QlZUt8$DItgdIWTMX=DQRY!hN5_Bp3Y36tDMM#=e#tGI($UA5U3K
Nx<*C>jc*f<p7l*U`|S655U7U@unG_-_ux#CFBNXjx241Z7qUa%FR6a&~28G6Gz%
G?CWH<H#2g?xz~d9$T&@kEwfdpaqXPF4}s&xpR~EV0dsu5sjwLjgQcrOsaG1F{Qv
R+LMR3-^ZN{xOxa}aAQz%Z*OJ-T(C5e*2&|@7ZL8K8p|GAt|gDDdvc%!k2x;ddcL
`Hh0#5^R?l+2>x*OcO&#*^E;5@PQ20HKbE5LJk_Il(2xMYoP;zf?W&uY|&s@;xOg
?z(`#e5a?6_IYcQ><VWCUs+6H1#nJC__mZewU~a!qA&Yiwmua&K>DRAF#(Wpq$-Z
*OJ>1qpIxb7gXNWn?h|T(C5e*2&|@7ZL8K8p|GAt|gDDdvc%!k2x;ddcL`HllNeF
a6}P}rq7L!(40)FbL%msz%JU8hqvFyoea2o1ax?5WCHbU6JjIwIj2eqliWu}$@z+
_xPw?-wb>Rw7=FYk8VaL=Li5Yl(a@n1+Ku60FILp}Zw|!7cE!MGSxid=WmXAtWpi
b6c4cHT0$i{(k=DuM$QKdrry9#1TdpOKse5vu1&=u{+IqgZbCdUAcyL4!ji%3ykI
<Y<s&nfxrNA!QlZUt8$DItgdI)WBV^DH$Z)O5qur!g@$>Ycu5$>lN%N|><C6B3la
-ao|IWF3IzPWRS(LK3V&vL%&i(~ao9rExlGMgPx_&tqtqVlwo1}@PEWMX4ba&K>D
0S~qxm_HirtB!lh<{Yi-S-!KI0_27BH<@sVme~^s3>rahV`y)3O=WUxY-Ln(Wo1u
ra%FT-a&K>D1_cRnWpib6c4cHS0$i{(k=DuM$QKdrry9#1TdpOKse5vu1&=u{+Iq
gZbCdUAcyL4!ji%3ykI<Y<s&nfxrNA!QlZUt8$DItgdIWTMX=DQRY!hN5_Bp3Y36
tDMM#=e#tGI($UA5U3KNx<*C>jc*f<p7l*U`|S655U7U@unG_-_ux#CFBNXjx241
Z7qUa%FR6a&~28G6Gz%G?CWH<H#2g?xz~d9$T&@kEwfdpaqXPF4}s&xpR~EV0dsu
5sjwLjgQcrOsaG1F{QvR+LMR3-^ZN{xOxa}aAQz%Z*OJ-T(C5e*2&|@7ZL8K8p|G
At|gDDdvc%!k2x;ddcL`H2v+xh9_2peQ6^t*6i{K#qnK@6H9cxOWZr*rnbvgj2xM
YoP;zf?W&uY|&s@;xOg?z(`#e5a?6_IYcQ><VWCUs+6H1#nJC_?lZewU~a!qA&Yi
wmya%E*yVQ_L~bWn0{Z)OGs336p~WpZ|9WHAC<ur!g@$>Ycu5$>lN%N|><C6B3la
-ao|IWF3IzPWRg_h5K%L=laq&yA1JoJ^{7>oKLkF4~iax8KK|47hp(ba-iG0`+VY
Vk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M~R@C@!4#dQ
E#lUD;OiKi1Rta)tb7gXNWn?k}T(C5e*2&|@7ZL8K8p|GAt|gDDdvc%!k2x;ddcL
`HllNeFa6}P}rq7L!(40)FbL%msz%JU8hqvFyoea2o2yJj<P;zf?W&&KWG?CWH<H
#2g?xz~d9$T&@kEwfdpaqXPF4}s&xpN3s_kSMcKIKs+Uv3moVa}tNZCo`yYCB}!e
{z}Dbn*yfVq;KpZ*OJ+54IneKN{_;j(f`H9IfkFzO$PG<c0G$nQ(}f*%Js14nk~c
Ze&wsVQf@*P;_zz1O{zobZBp60WP-?CAn^87TS9h9ibhaZ&^Bcn*B*;w|~I;-PD|
t>jZRoX=DMh<v2MM3OK&-ZyL|O9AKqy;o<ascnBzYztQ^B5Fy<Jc5iib0`+VYVk7
oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3L)b@L&d6G@+l`%qd385?K@+fP1(-9sg
E>i7rMzqbqHc?X>Md`Zf5`h2n|APX>MdwWnpYocxhw?1O{zobZBp60WP-?CAn^87
TS9h9ibhaZ&^Bcn*B*;w|~I;-PD|t>jZRoX=DQRY!hN5_Bp3Y36tDMM#=e#tGI($
UA5U3KNx<*C>jc*f<p7l*U`|S655U7U@unG_-_ux#CFBNXjx241Z7qPc5iib0`+V
YVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3L)b@L&d6G@+l`%qd385?K@+fP1(
-9sgE>i7rMzqbqHc?X>Md`Zf5`h2oXhiaBOK~X>?O%VQf@*P;_zz0|sqnbZBp60W
P-?CAn^87TS9h9ibhaZ&^Bcn*B*;w|~I;-PD|t>jZRoX=DMh<v2MM3OK&-ZyL|O9
AKqy;o<ascnBzYztQ^B5Fy<Jc5iib0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-
e#9sm3L)b@L&d6G@+l`%qd385?K@+fP1(-9sgE>i7rMzqbr3~(aBOK~X>?O%VQf@
*X=DZi25n_@Xm4ZzF1HXRxo%|^+Itiop&gxXSvq){{YhrGf57_P)SQy*1ax?5WCH
bU6JjIwIj2eqliWu}$@z+_xPw?-wb>Rw7=FYk8VaL=Li5Yl(a@n1+Ku60FILp}Zw
|!7cE!MGSxid=WmW`sZ*_D6^=uPjBlbC`N(qzPM@Gr{imSMTSY5T*7C#t%#3&jHA
>%$n#j0HLDJN5-IKgM_J7b(p+0MPGk2Gl)y2(Rz22EvjXm4Z#0t#<%a%FTzX>xOP
01I?saB^jIMrm?$bO8!aaB^jIP;zf?W(5HN000V8Wn*$>bW>$vYy|-T2LJ#-AOI0
mVQ_L~bWU$%Wl&*qbZ%vG1OosFY-MJ2PH$vo00jX8^=uPjBlbC`N(qzPM@Gr{imS
MTSY5T*7C#t%#3&jHF}tqlgo$^>um>@6G0l?pFt#Zz&53{9y57aQ#OZ(80SR(xXJ
~XxWnpFj1pxx}Y!hN5_Bp3Y36tDMM#=e#tGI($UA5U3KNx<*C>jc1tl4elKTgFI*
|CjhfZ7VH>n$b={WmS6z<Q)zIiF1e3vy{^XmmnyVQyn+00jX7I6q=8aZ}RBA(1@G
cO9QSWZ!o3C{<Z4_(nsN7ENsh4^&}ra%FT-VRUFva&K>D1_BFkVRCeCWpYk$WMu#
Z0ssVVZ*FA(00035b8l^B00jX70elBt06<F?m6#hB!(lDPxazJAe{fl1k`{GZ<r$
L^1#WL{V`TsU0Si=NaB^jIP;zf?W(EQYaA9<4P;zf?W&sn#Q&MIpyF?|7J7@IF!h
Zhz<R`b!UJw0&k1u|E*nA3UZggdGZeeUtYXbFb6JjIwIj2eqliWu}$@z+_xPw?-w
b>Rw7=FYk8Vad}gm+V(X#23g?#G%T#8*SXRQUS6KbYXtkv-?PH+T_LVQ_L~bW&+&
XmmnyVQyn+1_BIhWoC3vZ)9aiVRL8#^=uPjBlbC`N(qzPM@Gr{imSMTSY5T*7C#t
%#3&jHF}tqlgo$^>um>@6G0l?pFt#Zz&53{9y57aQ#OZ(84RUE`Xmn0*WMxQUb7%
tfY!hN5_Bp3Y36tDMM#=e#tGI($UA5U3KNx<*C>jbeyRPVjiFd`Y2QhLn&64&owk
a*miGSR>-o?7a>3`V;RCrKyas&bZ33q99Ze??GRCoXY009Jacxhw+1pxx}Y!hN5_
Bp3Y36tDMM#=e#tGI($UA5U3KNx<*C>jc*f<p7l*U`|S655U7U@unG_-_ux#CFBN
Xjx241Z7q

-----END STRICT TYPE LIB-----

Binary file modified stl/[email protected]
Binary file not shown.
41 changes: 27 additions & 14 deletions stl/[email protected]
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{-
Id: urn:ubideco:stl:BeAiDVK898mzgHrmWgxHtysDhmffgMEoDwBgNuZo7QeZ#connect-verona-secret
Id: urn:ubideco:stl:9pKFs7Gw7gwerYGVcPCDqiCv5fa165qC6PvFxiotJjaG#rebel-herbert-tourist
Name: BPCore
Version: 0.1.0
Description: Bitcoin client-side-validation library
Expand All @@ -11,13 +11,14 @@
@context
typelib BPCore

import CommitVerify#7qvjR4HCwJKF3mxE5GqsAaADces5JDRwb8ajAse9mkz3#exhibit-karate-ritual
import CommitVerify#7EpM1uymEteG4g4xmF5ntKYX1wXXpbQj5iLiDreH4jWa#protein-donald-cool
use MerkleTree#side-locate-bonus
use ProtocolId#gamma-banjo-corona
use Message#shampoo-bishop-morgan
use MerkleHash#culture-metro-modular
use MerkleBlock#miracle-antenna-moral
use MerkleProof#labor-hilton-magenta
use ReservedBytes1#joker-lemon-mental
use TreeNode#risk-opinion-orca

import Std#DzTvt9gGhPUKD8Dkkjk9PDBhkJ4gtWxXWQjxnmUYLNrs#voyage-kimono-disco
Expand All @@ -34,33 +35,45 @@ import Bitcoin#HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9#speed-atlanta-trilog
use XOnlyPk#evident-finance-promo


@mnemonic(promo-byte-ceramic)
data AnchorMerkleBlockOpretProof : txid Bitcoin.Txid#cowboy-diego-betty
@mnemonic(marvin-austin-fame)
data AnchorMerkleBlockOpretProof : reserved1 CommitVerify.ReservedBytes1#joker-lemon-mental
, txid Bitcoin.Txid#cowboy-diego-betty
, reserved2 CommitVerify.ReservedBytes1#joker-lemon-mental
, mpcProof CommitVerify.MerkleBlock#miracle-antenna-moral
, dbcProof OpretProof

@mnemonic(tarzan-grille-telecom)
data AnchorMerkleBlockTapretProof : txid Bitcoin.Txid#cowboy-diego-betty
@mnemonic(bottle-mozart-mimosa)
data AnchorMerkleBlockTapretProof : reserved1 CommitVerify.ReservedBytes1#joker-lemon-mental
, txid Bitcoin.Txid#cowboy-diego-betty
, reserved2 CommitVerify.ReservedBytes1#joker-lemon-mental
, mpcProof CommitVerify.MerkleBlock#miracle-antenna-moral
, dbcProof TapretProof

@mnemonic(absent-eric-armada)
data AnchorMerkleProofOpretProof : txid Bitcoin.Txid#cowboy-diego-betty
@mnemonic(flag-center-weather)
data AnchorMerkleProofOpretProof : reserved1 CommitVerify.ReservedBytes1#joker-lemon-mental
, txid Bitcoin.Txid#cowboy-diego-betty
, reserved2 CommitVerify.ReservedBytes1#joker-lemon-mental
, mpcProof CommitVerify.MerkleProof#labor-hilton-magenta
, dbcProof OpretProof

@mnemonic(harvest-biscuit-smile)
data AnchorMerkleProofTapretProof : txid Bitcoin.Txid#cowboy-diego-betty
@mnemonic(camel-mentor-taboo)
data AnchorMerkleProofTapretProof : reserved1 CommitVerify.ReservedBytes1#joker-lemon-mental
, txid Bitcoin.Txid#cowboy-diego-betty
, reserved2 CommitVerify.ReservedBytes1#joker-lemon-mental
, mpcProof CommitVerify.MerkleProof#labor-hilton-magenta
, dbcProof TapretProof

@mnemonic(gemini-france-egypt)
data AnchorMerkleTreeOpretProof : txid Bitcoin.Txid#cowboy-diego-betty
@mnemonic(clock-bazooka-cadet)
data AnchorMerkleTreeOpretProof : reserved1 CommitVerify.ReservedBytes1#joker-lemon-mental
, txid Bitcoin.Txid#cowboy-diego-betty
, reserved2 CommitVerify.ReservedBytes1#joker-lemon-mental
, mpcProof CommitVerify.MerkleTree#side-locate-bonus
, dbcProof OpretProof

@mnemonic(forward-spiral-parade)
data AnchorMerkleTreeTapretProof : txid Bitcoin.Txid#cowboy-diego-betty
@mnemonic(vacuum-fluid-acid)
data AnchorMerkleTreeTapretProof : reserved1 CommitVerify.ReservedBytes1#joker-lemon-mental
, txid Bitcoin.Txid#cowboy-diego-betty
, reserved2 CommitVerify.ReservedBytes1#joker-lemon-mental
, mpcProof CommitVerify.MerkleTree#side-locate-bonus
, dbcProof TapretProof

Expand Down

0 comments on commit ab644f6

Please sign in to comment.