fanquake
54646167db
Merge #18388 : Make VerifyWitnessProgram use a Span stack
...
2b0fcff7f2 Make VerifyWitnessProgram use a Span stack (Pieter Wuille)
Pull request description:
Here is a follow-up to #18002 , again with the goal of simplifying (potential) BIP341 code.
Instead of passing a begin and end iterator of the initial stack to `ExecuteWitnessScript`, they are turned into a `Span<const valtype>`, representing a span of `valtype`s in memory. This allows `VerifyWitnessProgram` to operate on that span directly, instead of juggling iterators around (which would be exacerbated by #17977 if trying to avoid copying the stack).
ACKs for top commit:
ajtowns:
ACK 2b0fcff7f2
elichai:
ReACK on the diff 2b0fcff7f2
instagibbs:
re-ACK 2b0fcff7f2
theStack:
re-ACK 2b0fcff7f2
Empact:
ACK 2b0fcff7f2
jnewbery:
utACK 2b0fcff7f2
Tree-SHA512: 38eb4ce17f1947674c1c274caa40feb6ea8266bd96134d9cf1bc41e6fbf1114d4dde6c7a9e26e1ca8f3d0155429ef0911cc8ec0c1037d8fe7d6ec7f9e7184e93
2020-03-27 14:49:50 +08:00
..
2020-03-14 21:03:45 +01:00
2019-12-30 10:42:20 +13:00
2020-03-18 10:34:53 -07:00
2020-01-28 17:00:01 +01:00
2020-01-16 15:58:35 -05:00
2020-03-19 17:26:51 +01:00
2020-03-26 18:34:49 +01:00
2020-01-28 16:59:07 +01:00
2020-03-02 23:07:21 -08:00
2020-03-02 23:07:21 -08:00
2020-01-15 02:18:00 +07:00
2019-12-30 10:42:20 +13:00
2020-03-26 18:34:49 +01:00
2020-03-25 20:11:47 +01:00
2020-03-27 14:49:50 +08:00
2020-03-26 16:56:03 +01:00
2020-03-26 20:37:48 -04:00
2020-02-09 07:44:29 -08:00
2020-03-26 20:25:55 -04:00
2020-03-26 18:34:49 +01:00
2020-03-19 17:26:51 +01:00
2019-10-14 13:24:54 +03:00
2019-12-30 10:42:20 +13:00
2020-01-02 11:05:36 -08:00
2020-03-04 14:24:19 +01:00
2020-03-04 14:24:19 +01:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2020-03-10 09:52:53 -04:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-10-16 08:56:57 -07:00
2019-09-05 13:25:11 +12:00
2020-02-21 10:06:21 -08:00
2020-03-14 12:23:01 -07:00
2020-01-14 18:19:00 +00:00
2020-02-21 10:06:21 -08:00
2019-12-30 10:42:20 +13:00
2020-02-25 14:10:44 -08:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2020-02-10 12:00:10 -08:00
2020-02-13 08:59:51 -08:00
2020-02-13 08:59:51 -08:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-10-02 08:51:12 +02:00
2020-01-21 14:07:42 +00:00
2019-12-30 10:42:20 +13:00
2020-01-21 20:29:11 -08:00
2019-12-30 10:42:20 +13:00
2020-03-05 15:25:36 -05:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-11-29 21:23:25 +02:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2020-01-15 02:18:00 +07:00
2020-02-10 12:00:10 -08:00
2020-01-04 20:18:28 +02:00
2019-12-30 10:42:20 +13:00
2020-02-21 10:06:21 -08:00
2019-12-30 10:42:20 +13:00
2020-02-18 08:29:35 +01:00
2019-12-30 10:42:20 +13:00
2020-01-31 12:36:13 +00:00
2020-03-19 17:26:51 +01:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2020-01-15 02:18:00 +07:00
2020-01-15 02:18:00 +07:00
2020-03-22 10:47:38 +08:00
2020-03-26 17:20:28 +08:00
2020-01-28 17:01:48 +01:00
2020-01-28 17:01:48 +01:00
2020-01-06 22:58:47 -05:00
2019-11-21 19:38:39 +01:00
2019-11-21 21:13:08 +01:00
2019-11-25 16:40:09 +01:00
2020-03-26 21:21:34 +00:00
2020-01-31 12:36:13 +00:00
2019-12-30 10:42:20 +13:00
2020-02-27 17:59:07 -08:00
2019-12-23 06:12:10 +07:00
2020-01-08 12:35:59 +00:00
2020-02-11 07:44:12 -08:00
2020-03-19 17:26:51 +01:00
2020-03-19 17:26:51 +01:00
2019-10-29 11:30:12 +02:00
2020-03-10 09:47:32 -04:00
2020-03-04 13:45:29 -05:00
2020-03-04 14:31:31 +01:00
2020-03-04 14:31:31 +01:00
2020-01-22 20:20:45 +01:00
2020-01-08 12:35:59 +00:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2020-02-12 11:48:30 -05:00
2020-01-23 16:35:06 -05:00
2020-02-15 19:49:24 -08:00
2019-10-02 10:39:14 -04:00
2019-12-11 17:00:27 -05:00
2020-01-29 19:39:50 +08:00
2020-01-16 18:25:11 -08:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2020-03-19 11:36:38 +08:00
2019-12-30 10:42:20 +13:00
2020-02-28 14:56:49 -08:00
2019-11-12 14:50:44 -08:00
2019-12-30 10:42:20 +13:00
2020-03-10 09:47:32 -04:00
2020-03-10 09:47:32 -04:00
2020-03-05 19:56:26 +01:00
2020-03-23 14:44:58 -07:00
2019-12-30 10:42:20 +13:00
2020-03-06 23:13:31 +10:00
2020-03-15 22:43:39 +00:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2020-01-15 02:18:00 +07:00
2019-12-06 10:02:08 +01:00
2020-01-08 12:35:59 +00:00
2019-12-30 10:42:20 +13:00
2020-02-10 12:00:10 -08:00
2020-01-15 02:18:00 +07:00
2020-03-11 18:38:33 -04:00
2020-03-19 17:26:51 +01:00
2020-01-15 02:18:00 +07:00
2020-01-15 02:18:00 +07:00
2020-01-23 16:35:08 -05:00
2020-01-23 16:35:08 -05:00
2020-02-06 19:08:11 -08:00
2020-03-19 17:26:51 +01:00
2020-01-15 02:18:00 +07:00
2020-03-19 17:26:51 +01:00
2020-03-11 18:38:33 -04:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00
2019-12-30 10:42:20 +13:00