Skip to content

Commit fed1761

Browse files
feat: add support for Drop node in AST
Adds missing Drop node mapping to AST parser. Includes new test fixture. Issue: BTC-1826
1 parent f2cc1ba commit fed1761

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

packages/wasm-miniscript/js/ast/fromWasmNode.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ function fromUnknown(v: unknown): Node | Node[] {
7878
return wrap("v", value);
7979
case "ZeroNotEqual":
8080
return wrap("n", value);
81+
case "Drop":
82+
return wrap("r", value);
8183

8284
// Conjunctions
8385
case "AndV":

packages/wasm-miniscript/test/descriptorFixtures.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,12 @@ export const fixtures = {
351351
script: "51207e8c409f0ab01197f9676efc3a9505f1f09ed0f21693e46a3aa3b6b54d437aa2",
352352
checksumRequired: true,
353353
},
354+
{
355+
descriptor:
356+
"wsh(and_v(r:after(1),pkh(03cdabb7f2dce7bfbd8a0b9570c6fd1e712e5d64045e9d6b517b3d5072251dc204)))",
357+
script: "0020823bcb22035958d32afe8ec04357535a3e73da3ed9cd90a4251970f9995077a5",
358+
checksumRequired: false,
359+
},
354360
],
355361
invalid: [
356362
{
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"descriptor": "wsh(and_v(r:after(1),pkh(03cdabb7f2dce7bfbd8a0b9570c6fd1e712e5d64045e9d6b517b3d5072251dc204)))#uylapsye",
3+
"wasmNode": {
4+
"Wsh": {
5+
"Ms": {
6+
"AndV": [
7+
{
8+
"Drop": {
9+
"After": {
10+
"absLockTime": 1
11+
}
12+
}
13+
},
14+
{
15+
"Check": {
16+
"PkH": {
17+
"Single": "03cdabb7f2dce7bfbd8a0b9570c6fd1e712e5d64045e9d6b517b3d5072251dc204"
18+
}
19+
}
20+
}
21+
]
22+
}
23+
}
24+
},
25+
"ast": {
26+
"wsh": {
27+
"and_v": [
28+
{
29+
"r:after": 1
30+
},
31+
{
32+
"pkh": "03cdabb7f2dce7bfbd8a0b9570c6fd1e712e5d64045e9d6b517b3d5072251dc204"
33+
}
34+
]
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)