Skip to content

Instantly share code, notes, and snippets.

@Sosthene00
Created October 17, 2019 10:25
Show Gist options
  • Save Sosthene00/acaf52bb79fc0cc858bee1426a22c0ab to your computer and use it in GitHub Desktop.
Save Sosthene00/acaf52bb79fc0cc858bee1426a22c0ab to your computer and use it in GitHub Desktop.
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "and(pk(A),or(99@pk(B),older(12960)))"
X 222.2800000000 77 and_v(vc:pk(A),or_d(c:pk(B),older(12960))) and(pk(A),or(99@pk(B),older(12960)))
<A> OP_CHECKSIGVERIFY <B> OP_CHECKSIG OP_IFDUP OP_NOTIF
<a032> OP_CHECKSEQUENCEVERIFY
OP_ENDIF
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "and(pk(A),or(pk(B),older(12960)))"
X 187.0000000000 77 and_v(vc:pk(A),or_d(c:pk(B),older(12960))) and(pk(A),or(pk(B),older(12960)))
<A> OP_CHECKSIGVERIFY <B> OP_CHECKSIG OP_IFDUP OP_NOTIF
<a032> OP_CHECKSEQUENCEVERIFY
OP_ENDIF
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "and(pk(A),or(99@pk(B),older(12960)))"
X 222.2800000000 77 and_v(vc:pk(A),or_d(c:pk(B),older(12960))) and(pk(A),or(99@pk(B),older(12960)))
<A> OP_CHECKSIGVERIFY <B> OP_CHECKSIG OP_IFDUP OP_NOTIF
<a032> OP_CHECKSEQUENCEVERIFY
OP_ENDIF
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "and(pk(A),or(99@pk(B),98@older(12960)))"
X 187.1827411168 77 and_v(vc:pk(A),or_d(c:pk(B),older(12960))) and(pk(A),or(99@pk(B),98@older(12960)))
<A> OP_CHECKSIGVERIFY <B> OP_CHECKSIG OP_IFDUP OP_NOTIF
<a032> OP_CHECKSEQUENCEVERIFY
OP_ENDIF
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "or(and(pk(A),older(12960)),99@pk(B))"
X 140.3500000000 67 or_d(c:pk(B),and_v(vc:pk_h(A),older(12960))) or(and(pk(A),older(12960)),99@pk(B))
<B> OP_CHECKSIG OP_IFDUP OP_NOTIF
OP_DUP OP_HASH160 <HASH160(A)> OP_EQUALVERIFY OP_CHECKSIGVERIFY <a032>
OP_CHECKSEQUENCEVERIFY
OP_ENDIF
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "or(and(pk(A),99@older(12960)),pk(B))"
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "or(99@and(pk(A),older(12960)),pk(B))"
X 140.3500000000 67 andor(c:pk(A),older(12960),c:pk_h(B)) or(99@and(pk(A),older(12960)),pk(B))
<A> OP_CHECKSIG OP_NOTIF
OP_DUP OP_HASH160 <HASH160(B)> OP_EQUALVERIFY OP_CHECKSIG
OP_ELSE
<a032> OP_CHECKSEQUENCEVERIFY
OP_ENDIF
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "or(99@and(pk(A),older(12960)),thresh(2,pk(A),pk(B),thresh(3,pk(C),pk(D),pk(E),pk(F))))"
X 287.7800000000 211 andor(c:pk(A),older(12960),thresh(2,c:pk_h(A),ac:pk_h(B),a:thresh(3,c:pk_h(C),ac:pk_h(D),ac:pk_h(E),ac:pk_h(F)))) or(99@and(pk(A),older(12960)),thresh(2,pk(A),pk(B),thresh(3,pk(C),pk(D),pk(E),pk(F))))
<A> OP_CHECKSIG OP_NOTIF
OP_DUP OP_HASH160 <HASH160(A)> OP_EQUALVERIFY OP_CHECKSIG OP_TOALTSTACK OP_DUP
OP_HASH160 <HASH160(B)> OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_ADD
OP_TOALTSTACK OP_DUP OP_HASH160 <HASH160(C)> OP_EQUALVERIFY OP_CHECKSIG
OP_TOALTSTACK OP_DUP OP_HASH160 <HASH160(D)> OP_EQUALVERIFY OP_CHECKSIG
OP_FROMALTSTACK OP_ADD OP_TOALTSTACK OP_DUP OP_HASH160 <HASH160(E)>
OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_ADD OP_TOALTSTACK OP_DUP
OP_HASH160 <HASH160(F)> OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_ADD 3
OP_EQUAL OP_FROMALTSTACK OP_ADD 2 OP_EQUAL
OP_ELSE
<a032> OP_CHECKSEQUENCEVERIFY
OP_ENDIF
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "andor(c:pk(A),older(12960),thresh(2,c:pk_h(A),ac:pk_h(B),a:thresh(3,c:pk_h(C),ac:pk_h(D),ac:pk_h(E),ac:pk_h(F)))) or(99@and(pk(A),older(12960)),thresh(2,pk(A),pk(B),thresh(3,pk(C),pk(D),pk(E),pk(F))))"
sosthene@sosthene-UX303LN:~/github/miniscript_marsu$ minis_ <<< "andor(c:pk(A),older(12960),thresh(2,c:pk_h(A),ac:pk_h(B),a:thresh(3,c:pk_h(C),ac:pk_h(D),ac:pk_h(E),ac:pk_h(F))))"
0 scriptlen=211 maxops=46 type=B safe=yes nonmal=yes dissat=unique input=- output=nonzero miniscript=andor(c:pk(A),older(12960),thresh(2,c:pk_h(A),ac:pk_h(B),a:thresh(3,c:pk_h(C),ac:pk_h(D),ac:pk_h(E),ac:pk_h(F))))
<A> OP_CHECKSIG OP_NOTIF
OP_DUP OP_HASH160 <HASH160(A)> OP_EQUALVERIFY OP_CHECKSIG OP_TOALTSTACK OP_DUP
OP_HASH160 <HASH160(B)> OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_ADD
OP_TOALTSTACK OP_DUP OP_HASH160 <HASH160(C)> OP_EQUALVERIFY OP_CHECKSIG
OP_TOALTSTACK OP_DUP OP_HASH160 <HASH160(D)> OP_EQUALVERIFY OP_CHECKSIG
OP_FROMALTSTACK OP_ADD OP_TOALTSTACK OP_DUP OP_HASH160 <HASH160(E)>
OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_ADD OP_TOALTSTACK OP_DUP
OP_HASH160 <HASH160(F)> OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_ADD 3
OP_EQUAL OP_FROMALTSTACK OP_ADD 2 OP_EQUAL
OP_ELSE
<a032> OP_CHECKSEQUENCEVERIFY
OP_ENDIF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment