Commit ce9eca8
committed
Merge #259: Implement pruning
9121979 refactor: Remove unused error variant (Christian Lewe)
1e09f45 refactor: Remove manual pruning (Christian Lewe)
1130ebc refactor: Policy satisfier (Christian Lewe)
25e710e test: Correct pruning (Christian Lewe)
1e9f687 feat: Finalize witness nodes with(out) pruning (Christian Lewe)
16ed1c0 feat: Prune redeem node (Christian Lewe)
e2049b9 feat: Track (un)used branches on Bit Machine (Christian Lewe)
083d680 feat: Execution Simplicity error (Christian Lewe)
4275c39 feat: Zero value (Christian Lewe)
c61a282 feat: Prune values (Christian Lewe)
b6e63d5 fix: Incorrect error variant (Christian Lewe)
Pull request description:
Implement full pruning by running programs on the Bit Machine and tracking (un)used branches. The unused branches are then removed from the program and types are adjusted. Witness data is also adjusted by removing unused bits.
Fixes #84
ACKs for top commit:
apoelstra:
ACK 9121979; successfully ran local tests; sorry for the delay
Tree-SHA512: f015e9f27655a2712767f1b247bbeb804006504b110ec1dd1ff45bcb4f7e697e089f4608cde3ca3d8f22c134a5ce71e75e891eb07312c43a9fceab01908932e8File tree
11 files changed
+915
-327
lines changed- src
- bit_machine
- human_encoding
- parse
- node
- policy
11 files changed
+915
-327
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
15 | | - | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
204 | 205 | | |
205 | 206 | | |
206 | 207 | | |
207 | | - | |
| 208 | + | |
208 | 209 | | |
209 | | - | |
210 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
211 | 214 | | |
212 | 215 | | |
213 | 216 | | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
214 | 246 | | |
215 | 247 | | |
216 | 248 | | |
| |||
316 | 348 | | |
317 | 349 | | |
318 | 350 | | |
| 351 | + | |
319 | 352 | | |
320 | 353 | | |
321 | 354 | | |
322 | 355 | | |
323 | 356 | | |
324 | 357 | | |
| 358 | + | |
325 | 359 | | |
326 | 360 | | |
327 | 361 | | |
| |||
472 | 506 | | |
473 | 507 | | |
474 | 508 | | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
475 | 563 | | |
476 | 564 | | |
477 | 565 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
239 | | - | |
| 239 | + | |
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
| |||
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
255 | | - | |
| 255 | + | |
256 | 256 | | |
257 | 257 | | |
258 | 258 | | |
| |||
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
271 | | - | |
| 271 | + | |
272 | 272 | | |
273 | 273 | | |
274 | 274 | | |
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
296 | | - | |
| 296 | + | |
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
308 | | - | |
| 308 | + | |
309 | 309 | | |
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
313 | | - | |
| 313 | + | |
314 | 314 | | |
315 | | - | |
316 | | - | |
317 | | - | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
318 | 320 | | |
319 | 321 | | |
320 | 322 | | |
321 | 323 | | |
322 | 324 | | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
| 325 | + | |
332 | 326 | | |
333 | 327 | | |
334 | 328 | | |
335 | | - | |
| 329 | + | |
336 | 330 | | |
337 | 331 | | |
338 | 332 | | |
339 | 333 | | |
340 | 334 | | |
341 | | - | |
| 335 | + | |
342 | 336 | | |
343 | 337 | | |
344 | 338 | | |
| |||
352 | 346 | | |
353 | 347 | | |
354 | 348 | | |
355 | | - | |
| 349 | + | |
356 | 350 | | |
357 | 351 | | |
358 | 352 | | |
| |||
361 | 355 | | |
362 | 356 | | |
363 | 357 | | |
364 | | - | |
| 358 | + | |
365 | 359 | | |
366 | 360 | | |
367 | 361 | | |
368 | 362 | | |
369 | 363 | | |
370 | 364 | | |
371 | | - | |
372 | | - | |
373 | | - | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
374 | 368 | | |
375 | | - | |
376 | | - | |
| 369 | + | |
| 370 | + | |
377 | 371 | | |
378 | | - | |
| 372 | + | |
379 | 373 | | |
380 | 374 | | |
381 | 375 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
592 | 592 | | |
593 | 593 | | |
594 | 594 | | |
595 | | - | |
| 595 | + | |
596 | 596 | | |
597 | 597 | | |
598 | 598 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
87 | 89 | | |
88 | 90 | | |
89 | | - | |
90 | | - | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| 125 | + | |
125 | 126 | | |
126 | | - | |
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| |||
0 commit comments