From 339fefb6e62ac6b934743af9782e71b17a931f38 Mon Sep 17 00:00:00 2001 From: Janito Vaqueiro Ferreira Filho Date: Tue, 5 Oct 2021 22:08:41 -0300 Subject: [PATCH] Update shared NU5 dependencies, set the NU5 testnet activation network upgrade parameters (#2825) * Check return value of zcash_script_new_precomputed_tx * Set the NU5 testnet activation height to 1_590_000 * Apply suggestions from code review Co-authored-by: teor * Update Nu5 constants to new values * Update ZIP-244 test vectors for new branch ID * Squashed commit of the following: commit bdb120a249e3e889a913114a712505defdade1d4 Author: Deirdre Connolly Date: Tue Oct 5 11:54:01 2021 -0400 Use pallas::Base::from_str_vartime() in sinsemilla tests commit e99fa4925857840fa65ccfb4a076ec412e416576 Author: Deirdre Connolly Date: Tue Oct 5 11:45:24 2021 -0400 Compiles commit a5200181146bfd2aa1e09abea2caaa7a7ceb006e Author: Deirdre Connolly Date: Tue Oct 5 10:15:17 2021 -0400 Incomplete upgrade of deps * Squashed commit of the following: commit 8d1b76ec5626517817c3a4d9f3950acc90a359df Author: Janito Vaqueiro Ferreira Filho Date: Tue Oct 5 04:02:26 2021 +0000 Update `zcash_script` to support V5 transactions Use a newer version of `zcash_script` that has been updated to support V5 transactions. commit 371233628ae61e0c25d6ba8f31d9dba42823becb Author: Janito Vaqueiro Ferreira Filho Date: Tue Oct 5 03:06:20 2021 +0000 Update Zcash dependencies Update some Zcash crates: - `halo2` - `incrementalmerkletree' (patch version) - `orchard` (patch version) - `zcash_history` (patch version) - `zcash_note_encryption` (patch version) - `zcash_primitives` (patch version) And also update the `group` dependency so that the code remains compatible. commit de5cf1ec40c3fc08670fc971cdf3e65e13d9f4c7 Author: Janito Vaqueiro Ferreira Filho Date: Tue Oct 5 03:04:13 2021 +0000 Update error message assertion Use the updated message for the expected error variant. * Update `zcash_script` to support V5 transactions Use a newer version of `zcash_script` that has been updated to support V5 transactions. Co-authored-by: Conrado Gouvea Co-authored-by: teor --- Cargo.lock | 421 ++++++++++++++---- Cargo.toml | 7 +- zebra-chain/Cargo.toml | 12 +- zebra-chain/src/orchard/sinsemilla.rs | 3 +- zebra-chain/src/orchard/tree.rs | 6 +- zebra-chain/src/parameters/network_upgrade.rs | 4 +- zebra-chain/src/sapling/tree.rs | 6 +- zebra-consensus/src/transaction.rs | 1 - zebra-consensus/src/transaction/tests.rs | 71 ++- zebra-network/src/constants.rs | 2 +- zebra-network/src/protocol/external/types.rs | 4 +- zebra-script/Cargo.toml | 2 +- zebra-script/src/lib.rs | 6 + zebra-state/Cargo.toml | 2 +- zebra-test/src/zip0244.rs | 320 ++++++------- 15 files changed, 561 insertions(+), 306 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 65d15242..2a35138d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -59,6 +59,15 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e" +[[package]] +name = "aead" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +dependencies = [ + "generic-array", +] + [[package]] name = "aes" version = "0.6.0" @@ -67,7 +76,19 @@ checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" dependencies = [ "aes-soft", "aesni", - "cipher", + "cipher 0.2.5", +] + +[[package]] +name = "aes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +dependencies = [ + "cfg-if 1.0.0", + "cipher 0.3.0", + "cpufeatures", + "opaque-debug", ] [[package]] @@ -76,7 +97,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" dependencies = [ - "cipher", + "cipher 0.2.5", "opaque-debug", ] @@ -86,7 +107,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" dependencies = [ - "cipher", + "cipher 0.2.5", "opaque-debug", ] @@ -258,6 +279,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "base64ct" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" + [[package]] name = "bech32" version = "0.8.1" @@ -280,12 +307,12 @@ dependencies = [ "blake2s_simd", "byteorder", "crossbeam", - "ff", + "ff 0.10.0", "futures 0.1.30", "futures-cpupool", - "group", + "group 0.10.0", "num_cpus", - "pairing", + "pairing 0.20.0", "rand_core 0.6.3", "subtle", ] @@ -351,6 +378,20 @@ dependencies = [ "which", ] +[[package]] +name = "bip0039" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0830ae4cc96b0617cc912970c2b17e89456fecbf55e8eed53a956f37ab50c41" +dependencies = [ + "hmac", + "pbkdf2", + "rand 0.8.4", + "sha2", + "unicode-normalization", + "zeroize", +] + [[package]] name = "bit-set" version = "0.5.2" @@ -431,7 +472,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" dependencies = [ "block-padding", - "cipher", + "cipher 0.2.5", +] + +[[package]] +name = "block-modes" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cb03d1bed155d89dce0f845b7899b18a9a163e148fd004e1c28421a783e2d8e" +dependencies = [ + "block-padding", + "cipher 0.3.0", ] [[package]] @@ -446,9 +497,22 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54757888b09a69be70b5ec303e382a74227392086ba808cb01eeca29233a2397" dependencies = [ - "ff", - "group", - "pairing", + "ff 0.10.0", + "group 0.10.0", + "pairing 0.20.0", + "rand_core 0.6.3", + "subtle", +] + +[[package]] +name = "bls12_381" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d28daeeded7949f1c7c72693377c98473b00be0aa0023760a84a300e4e7c74b" +dependencies = [ + "ff 0.11.0", + "group 0.11.0", + "pairing 0.21.0", "rand_core 0.6.3", "subtle", ] @@ -555,6 +619,31 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chacha20" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b72a433d0cf2aef113ba70f62634c56fddb0f244e6377185c56a7cadbd8f91" +dependencies = [ + "cfg-if 1.0.0", + "cipher 0.3.0", + "cpufeatures", + "zeroize", +] + +[[package]] +name = "chacha20poly1305" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b84ed6d1d5f7aa9bdde921a5090e0ca4d934d250ea3b402a5fab3a994e28a2a" +dependencies = [ + "aead", + "chacha20", + "cipher 0.3.0", + "poly1305", + "zeroize", +] + [[package]] name = "chrono" version = "0.4.19" @@ -578,6 +667,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array", +] + [[package]] name = "clang-sys" version = "1.2.0" @@ -899,18 +997,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] -name = "crypto_api" -version = "0.2.2" +name = "crypto-mac" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f855e87e75a4799e18b8529178adcde6fd4f97c1449ff4821e747ff728bb102" - -[[package]] -name = "crypto_api_chachapoly" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930b6a026ce9d358a17f9c9046c55d90b14bb847f36b6ebb6b19365d4feffb8" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ - "crypto_api", + "generic-array", + "subtle", ] [[package]] @@ -1136,7 +1229,7 @@ dependencies = [ [[package]] name = "equihash" version = "0.1.0" -source = "git+https://github.com/zcash/librustzcash.git?rev=0c3ed159985affa774e44d10172d4471d798a85a#0c3ed159985affa774e44d10172d4471d798a85a" +source = "git+https://github.com/zcash/librustzcash.git?rev=53d0a51d33a421cb76d3e3124d1e4c1c9036068e#53d0a51d33a421cb76d3e3124d1e4c1c9036068e" dependencies = [ "blake2b_simd", "byteorder", @@ -1163,6 +1256,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e" +dependencies = [ + "bitvec", + "rand_core 0.6.3", + "subtle", +] + [[package]] name = "flate2" version = "1.0.19" @@ -1197,9 +1301,23 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a25080721bbcd2cd4d765b7d607ea350425fa087ce53cd3e31afcacdab850352" dependencies = [ - "aes", - "block-modes", - "num-bigint", + "aes 0.6.0", + "block-modes 0.7.0", + "num-bigint 0.3.3", + "num-integer", + "num-traits", +] + +[[package]] +name = "fpe" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcf3e40fc9accc7218e082db8a75aeea244b8f5db73e591774ef93b4276365e6" +dependencies = [ + "block-modes 0.8.1", + "cipher 0.3.0", + "libm", + "num-bigint 0.4.2", "num-integer", "num-traits", ] @@ -1440,7 +1558,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c363a5301b8f153d80747126a04b3c82073b9fe3130571a9d170cacdeaf7912" dependencies = [ "byteorder", - "ff", + "ff 0.10.0", + "rand_core 0.6.3", + "subtle", +] + +[[package]] +name = "group" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +dependencies = [ + "byteorder", + "ff 0.11.0", "rand_core 0.6.3", "subtle", ] @@ -1512,16 +1642,16 @@ checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3" [[package]] name = "halo2" -version = "0.0.1" -source = "git+https://github.com/zcash/halo2.git?rev=236115917df9db45282fec24d1e1e36f275f71ab#236115917df9db45282fec24d1e1e36f275f71ab" +version = "0.1.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f186b85ed81082fb1cf59d52b0111f02915e89a4ac61d292b38d075e570f3a9" dependencies = [ "blake2b_simd", - "crossbeam-utils 0.8.0", - "ff", - "group", - "num_cpus", + "ff 0.11.0", + "group 0.11.0", "pasta_curves", "rand 0.8.4", + "rayon", ] [[package]] @@ -1582,6 +1712,16 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac", + "digest", +] + [[package]] name = "hostname" version = "0.3.1" @@ -1729,8 +1869,7 @@ dependencies = [ [[package]] name = "incrementalmerkletree" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d75fb342984cc8cea665a9ef5607b4956569839ca098172082fa1b19bdaf02" +source = "git+https://github.com/zcash/incrementalmerkletree?rev=b7bd6246122a6e9ace8edb51553fbf5228906cbb#b7bd6246122a6e9ace8edb51553fbf5228906cbb" dependencies = [ "serde", ] @@ -1841,9 +1980,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "593fc4726ca80edb47ee18ab4d826719e25c2096991a79308b44fb915c6014ef" dependencies = [ "bitvec", - "bls12_381", - "ff", - "group", + "bls12_381 0.5.0", + "ff 0.10.0", + "group 0.10.0", + "rand_core 0.6.3", + "subtle", +] + +[[package]] +name = "jubjub" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7baec19d4e83f9145d4891178101a604565edff9645770fc979804138b04c" +dependencies = [ + "bitvec", + "bls12_381 0.6.0", + "ff 0.11.0", + "group 0.11.0", "rand_core 0.6.3", "subtle", ] @@ -1911,6 +2064,12 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "libm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" + [[package]] name = "librocksdb-sys" version = "6.17.3" @@ -2008,6 +2167,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memuse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f69d25cd7528769ad3d897e99eb942774bff8b23165012af490351a44c5b583b" +dependencies = [ + "nonempty", +] + [[package]] name = "metrics" version = "0.13.0-alpha.8" @@ -2186,9 +2354,9 @@ dependencies = [ [[package]] name = "nonempty" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa586da3e43cc7df44aae0e21ed2e743218b876de3f38035683d30bd8a3828e" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" [[package]] name = "ntapi" @@ -2210,6 +2378,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e768dff5fb39a41b3bcd30bb25cf989706c90d028d1ad71971987aa309d535" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-format" version = "0.4.0" @@ -2276,21 +2455,25 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "orchard" version = "0.0.0" -source = "git+https://github.com/zcash/orchard.git?rev=37b1b7f357cd34d93f9c55bb96efd05ab4e84408#37b1b7f357cd34d93f9c55bb96efd05ab4e84408" +source = "git+https://github.com/zcash/orchard.git?rev=2c8241f25b943aa05203eacf9905db117c69bd29#2c8241f25b943aa05203eacf9905db117c69bd29" dependencies = [ - "aes", + "aes 0.7.5", "arrayvec 0.7.1", + "bigint", "bitvec", "blake2b_simd", - "ff", - "fpe", - "group", + "ff 0.11.0", + "fpe 0.5.0", + "group 0.11.0", "halo2", + "incrementalmerkletree", "lazy_static", + "memuse", "nonempty", "pasta_curves", "rand 0.8.4", "reddsa", + "serde", "subtle", "zcash_note_encryption", ] @@ -2331,7 +2514,16 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7de9d09263c9966e8196fe0380c9dbbc7ea114b5cf371ba29004bc1f9c6db7f3" dependencies = [ - "group", + "group 0.10.0", +] + +[[package]] +name = "pairing" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2e415e349a3006dd7d9482cdab1c980a845bed1377777d768cb693a44540b42" +dependencies = [ + "group 0.11.0", ] [[package]] @@ -2361,20 +2553,41 @@ dependencies = [ ] [[package]] -name = "pasta_curves" -version = "0.1.1" +name = "password-hash" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "179df750e20069669699f537ec0c4bcb248283f45a78b8c66d797fb73dbbb455" +checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8" +dependencies = [ + "base64ct", + "rand_core 0.6.3", + "subtle", +] + +[[package]] +name = "pasta_curves" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d647d91972bad78120fd61e06b225fcda117805c9bbf17676b51bd03a251278b" dependencies = [ "blake2b_simd", - "ff", - "group", + "ff 0.11.0", + "group 0.11.0", "lazy_static", "rand 0.8.4", "static_assertions", "subtle", ] +[[package]] +name = "pbkdf2" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" +dependencies = [ + "crypto-mac", + "password-hash", +] + [[package]] name = "peeking_take_while" version = "0.1.2" @@ -2479,6 +2692,17 @@ dependencies = [ "plotters-backend", ] +[[package]] +name = "poly1305" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" +dependencies = [ + "cpufeatures", + "opaque-debug", + "universal-hash", +] + [[package]] name = "ppv-lite86" version = "0.2.10" @@ -2750,9 +2974,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg", "crossbeam-deque 0.8.0", @@ -2762,9 +2986,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" +checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ "crossbeam-channel 0.5.1", "crossbeam-deque 0.8.0", @@ -2785,13 +3009,13 @@ dependencies = [ [[package]] name = "reddsa" version = "0.0.0" -source = "git+https://github.com/str4d/redjubjub.git?rev=d5d8c5f3bb704bad8ae88fe4a29ae1f744774cb2#d5d8c5f3bb704bad8ae88fe4a29ae1f744774cb2" +source = "git+https://github.com/str4d/redjubjub.git?rev=416a6a8ebf8bd42c114c938883016c04f338de72#416a6a8ebf8bd42c114c938883016c04f338de72" dependencies = [ "blake2b_simd", "byteorder", "digest", - "group", - "jubjub", + "group 0.11.0", + "jubjub 0.8.0", "pasta_curves", "rand_core 0.6.3", "serde", @@ -2807,7 +3031,7 @@ dependencies = [ "blake2b_simd", "byteorder", "digest", - "jubjub", + "jubjub 0.7.0", "rand_core 0.6.3", "serde", "thiserror", @@ -4040,6 +4264,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +[[package]] +name = "universal-hash" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +dependencies = [ + "generic-array", + "subtle", +] + [[package]] name = "untrusted" version = "0.7.1" @@ -4429,10 +4663,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "zcash_encoding" +version = "0.0.0" +source = "git+https://github.com/zcash/librustzcash.git?rev=53d0a51d33a421cb76d3e3124d1e4c1c9036068e#53d0a51d33a421cb76d3e3124d1e4c1c9036068e" +dependencies = [ + "byteorder", + "nonempty", +] + [[package]] name = "zcash_history" version = "0.2.0" -source = "git+https://github.com/zcash/librustzcash.git?rev=0c3ed159985affa774e44d10172d4471d798a85a#0c3ed159985affa774e44d10172d4471d798a85a" +source = "git+https://github.com/zcash/librustzcash.git?rev=53d0a51d33a421cb76d3e3124d1e4c1c9036068e#53d0a51d33a421cb76d3e3124d1e4c1c9036068e" dependencies = [ "bigint", "blake2b_simd", @@ -4442,13 +4685,14 @@ dependencies = [ [[package]] name = "zcash_note_encryption" version = "0.0.0" -source = "git+https://github.com/zcash/librustzcash.git?rev=0c3ed159985affa774e44d10172d4471d798a85a#0c3ed159985affa774e44d10172d4471d798a85a" +source = "git+https://github.com/zcash/librustzcash.git?rev=53d0a51d33a421cb76d3e3124d1e4c1c9036068e#53d0a51d33a421cb76d3e3124d1e4c1c9036068e" dependencies = [ "blake2b_simd", "byteorder", - "crypto_api_chachapoly", - "ff", - "group", + "chacha20", + "chacha20poly1305", + "ff 0.11.0", + "group 0.11.0", "rand_core 0.6.3", "subtle", ] @@ -4456,23 +4700,26 @@ dependencies = [ [[package]] name = "zcash_primitives" version = "0.5.0" -source = "git+https://github.com/zcash/librustzcash.git?rev=0c3ed159985affa774e44d10172d4471d798a85a#0c3ed159985affa774e44d10172d4471d798a85a" +source = "git+https://github.com/zcash/librustzcash.git?rev=53d0a51d33a421cb76d3e3124d1e4c1c9036068e#53d0a51d33a421cb76d3e3124d1e4c1c9036068e" dependencies = [ - "aes", + "aes 0.7.5", + "bip0039", "bitvec", "blake2b_simd", "blake2s_simd", - "bls12_381", + "bls12_381 0.6.0", "byteorder", - "crypto_api_chachapoly", - "equihash 0.1.0 (git+https://github.com/zcash/librustzcash.git?rev=0c3ed159985affa774e44d10172d4471d798a85a)", - "ff", - "fpe", - "group", + "chacha20poly1305", + "equihash 0.1.0 (git+https://github.com/zcash/librustzcash.git?rev=53d0a51d33a421cb76d3e3124d1e4c1c9036068e)", + "ff 0.11.0", + "fpe 0.5.0", + "group 0.11.0", "hex", - "jubjub", + "incrementalmerkletree", + "jubjub 0.8.0", "lazy_static", "log", + "memuse", "nonempty", "orchard", "pasta_curves", @@ -4480,33 +4727,41 @@ dependencies = [ "rand_core 0.6.3", "sha2", "subtle", + "zcash_encoding", "zcash_note_encryption", ] [[package]] name = "zcash_script" version = "0.1.6-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4de0927bc365facf53a295c74b6f3df0a3f428dbac800446e7ca54a152d0c52" +source = "git+https://github.com/ZcashFoundation/zcash_script.git?rev=1caa29e975405400983f679a376fb1c86527d5f2#1caa29e975405400983f679a376fb1c86527d5f2" dependencies = [ "bindgen 0.58.1", "blake2b_simd", "cc", + "halo2", + "incrementalmerkletree", "libc", + "memuse", + "orchard", + "rand_core 0.6.3", + "tracing", + "zcash_note_encryption", + "zcash_primitives", ] [[package]] name = "zebra-chain" version = "1.0.0-alpha.17" dependencies = [ - "aes", + "aes 0.6.0", "bech32", "bigint", "bitflags", "bitvec", "blake2b_simd", "blake2s_simd", - "bls12_381", + "bls12_381 0.5.0", "bs58", "byteorder", "chrono", @@ -4515,14 +4770,14 @@ dependencies = [ "displaydoc", "ed25519-zebra", "equihash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fpe", + "fpe 0.4.0", "futures 0.3.17", - "group", + "group 0.11.0", "halo2", "hex", "incrementalmerkletree", "itertools 0.10.1", - "jubjub", + "jubjub 0.7.0", "lazy_static", "proptest", "proptest-derive", @@ -4556,13 +4811,13 @@ version = "1.0.0-alpha.17" dependencies = [ "bellman", "blake2b_simd", - "bls12_381", + "bls12_381 0.5.0", "chrono", "color-eyre", "displaydoc", "futures 0.3.17", "futures-util", - "jubjub", + "jubjub 0.7.0", "lazy_static", "metrics", "once_cell", @@ -4649,7 +4904,7 @@ dependencies = [ "halo2", "hex", "itertools 0.10.1", - "jubjub", + "jubjub 0.7.0", "lazy_static", "metrics", "multiset", @@ -4754,9 +5009,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.1.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f33972566adbd2d3588b0491eb94b98b43695c4ef897903470ede4f3f5a28a" +checksum = "bf68b08513768deaa790264a7fac27a58cbf2705cfcdc9448362229217d7e970" dependencies = [ "zeroize_derive", ] diff --git a/Cargo.toml b/Cargo.toml index 3c66e327..b0532219 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,6 +33,7 @@ tower = { git = "https://github.com/tower-rs/tower", rev = "d4d1c67c6a0e4213a52a # TODO: remove these after a new librustzcash release. # These are librustzcash requirements specified in its workspace Cargo.toml that we must replicate here -halo2 = { git = "https://github.com/zcash/halo2.git", rev = "236115917df9db45282fec24d1e1e36f275f71ab" } -orchard = { git = "https://github.com/zcash/orchard.git", rev = "37b1b7f357cd34d93f9c55bb96efd05ab4e84408" } -zcash_note_encryption = { git = "https://github.com/zcash/librustzcash.git", rev = "0c3ed159985affa774e44d10172d4471d798a85a" } +incrementalmerkletree = { git = "https://github.com/zcash/incrementalmerkletree", rev = "b7bd6246122a6e9ace8edb51553fbf5228906cbb" } +orchard = { git = "https://github.com/zcash/orchard.git", rev = "2c8241f25b943aa05203eacf9905db117c69bd29" } +zcash_note_encryption = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" } +zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" } diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index e5e74080..7a351d36 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -15,7 +15,7 @@ bench = ["zebra-test"] [dependencies] aes = "0.6" bech32 = "0.8.1" -bigint = "4" +bigint = "4.4.3" bitflags = "1.2.1" bitvec = "0.22" blake2b_simd = "0.5.11" @@ -27,10 +27,8 @@ chrono = { version = "0.4", features = ["serde"] } displaydoc = "0.2.2" fpe = "0.4" futures = "0.3" -group = "0.10" -# TODO: replace w/ crate version when released: https://github.com/ZcashFoundation/zebra/issues/2083 -# Note: if updating this, also update the workspace Cargo.toml to match. -halo2 = { git = "https://github.com/zcash/halo2.git", rev = "236115917df9db45282fec24d1e1e36f275f71ab" } +group = "0.11" +halo2 = "=0.1.0-beta.1" hex = "0.4" incrementalmerkletree = "0.1.0" jubjub = "0.7.0" @@ -45,8 +43,8 @@ subtle = "2.4" thiserror = "1" uint = "0.9.1" x25519-dalek = { version = "1.1", features = ["serde"] } -zcash_history = { git = "https://github.com/zcash/librustzcash.git", rev = "0c3ed159985affa774e44d10172d4471d798a85a" } -zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", rev = "0c3ed159985affa774e44d10172d4471d798a85a" } +zcash_history = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" } +zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", rev = "53d0a51d33a421cb76d3e3124d1e4c1c9036068e" } proptest = { version = "0.10", optional = true } proptest-derive = { version = "0.3.0", optional = true } diff --git a/zebra-chain/src/orchard/sinsemilla.rs b/zebra-chain/src/orchard/sinsemilla.rs index d3b2da9f..eb72cc36 100644 --- a/zebra-chain/src/orchard/sinsemilla.rs +++ b/zebra-chain/src/orchard/sinsemilla.rs @@ -202,10 +202,11 @@ mod tests { use super::*; use crate::orchard::tests::vectors; + #[cfg(test)] fn x_from_str(s: &str) -> pallas::Base { use group::ff::PrimeField; - pallas::Base::from_str(s).unwrap() + pallas::Base::from_str_vartime(s).unwrap() } #[test] diff --git a/zebra-chain/src/orchard/tree.rs b/zebra-chain/src/orchard/tree.rs index ba045e5f..c8cab34b 100644 --- a/zebra-chain/src/orchard/tree.rs +++ b/zebra-chain/src/orchard/tree.rs @@ -294,16 +294,14 @@ impl NoteCommitmentTree { /// /// For Orchard, the tree is capped at 2^32. pub fn count(&self) -> u64 { - self.inner - .position() - .map_or(0, |pos| usize::from(pos) as u64 + 1) + self.inner.position().map_or(0, |pos| u64::from(pos) + 1) } } impl Default for NoteCommitmentTree { fn default() -> Self { Self { - inner: bridgetree::Frontier::new(), + inner: bridgetree::Frontier::empty(), cached_root: Default::default(), } } diff --git a/zebra-chain/src/parameters/network_upgrade.rs b/zebra-chain/src/parameters/network_upgrade.rs index 4255d26a..08a7c9eb 100644 --- a/zebra-chain/src/parameters/network_upgrade.rs +++ b/zebra-chain/src/parameters/network_upgrade.rs @@ -89,7 +89,7 @@ pub(crate) const TESTNET_ACTIVATION_HEIGHTS: &[(block::Height, NetworkUpgrade)] (block::Height(584_000), Blossom), (block::Height(903_800), Heartwood), (block::Height(1_028_500), Canopy), - // TODO: Add Nu5 testnet activation height + (block::Height(1_599_200), Nu5), ]; #[cfg(test_fake_activation_heights)] @@ -131,7 +131,7 @@ pub(crate) const CONSENSUS_BRANCH_IDS: &[(NetworkUpgrade, ConsensusBranchId)] = (Blossom, ConsensusBranchId(0x2bb40e60)), (Heartwood, ConsensusBranchId(0xf5b9230b)), (Canopy, ConsensusBranchId(0xe9ff75a6)), - (Nu5, ConsensusBranchId(0xf919a198)), + (Nu5, ConsensusBranchId(0x37519621)), ]; /// The target block spacing before Blossom. diff --git a/zebra-chain/src/sapling/tree.rs b/zebra-chain/src/sapling/tree.rs index 493e5e4d..7649ef35 100644 --- a/zebra-chain/src/sapling/tree.rs +++ b/zebra-chain/src/sapling/tree.rs @@ -257,16 +257,14 @@ impl NoteCommitmentTree { /// /// For Sapling, the tree is capped at 2^32. pub fn count(&self) -> u64 { - self.inner - .position() - .map_or(0, |pos| usize::from(pos) as u64 + 1) + self.inner.position().map_or(0, |pos| u64::from(pos) + 1) } } impl Default for NoteCommitmentTree { fn default() -> Self { Self { - inner: bridgetree::Frontier::new(), + inner: bridgetree::Frontier::empty(), cached_root: Default::default(), } } diff --git a/zebra-consensus/src/transaction.rs b/zebra-consensus/src/transaction.rs index f805124d..d73b088e 100644 --- a/zebra-consensus/src/transaction.rs +++ b/zebra-consensus/src/transaction.rs @@ -385,7 +385,6 @@ where // TODO: // - verify orchard shielded pool (ZIP-224) (#2105) - // - ZIP-216 (#1798) // - ZIP-244 (#1874) // - remaining consensus rules (#2379) // - remove `should_panic` from tests diff --git a/zebra-consensus/src/transaction/tests.rs b/zebra-consensus/src/transaction/tests.rs index 2efb92b3..fd048382 100644 --- a/zebra-consensus/src/transaction/tests.rs +++ b/zebra-consensus/src/transaction/tests.rs @@ -234,40 +234,47 @@ async fn v5_transaction_is_rejected_before_nu5_activation() { } #[tokio::test] -// TODO: Remove `should_panic` once the NU5 activation heights for testnet and mainnet have been +// TODO: Remove `should_panic` once the NU5 activation height for mainnet has been // defined. #[should_panic] -async fn v5_transaction_is_accepted_after_nu5_activation() { +async fn v5_transaction_is_accepted_after_nu5_activation_mainnet() { + v5_transaction_is_accepted_after_nu5_activation_for_network(Network::Mainnet).await +} + +#[tokio::test] +async fn v5_transaction_is_accepted_after_nu5_activation_testnet() { + v5_transaction_is_accepted_after_nu5_activation_for_network(Network::Testnet).await +} + +async fn v5_transaction_is_accepted_after_nu5_activation_for_network(network: Network) { let nu5 = NetworkUpgrade::Nu5; - let networks = vec![ - (Network::Mainnet, zebra_test::vectors::MAINNET_BLOCKS.iter()), - (Network::Testnet, zebra_test::vectors::TESTNET_BLOCKS.iter()), - ]; + let blocks = match network { + Network::Mainnet => zebra_test::vectors::MAINNET_BLOCKS.iter(), + Network::Testnet => zebra_test::vectors::TESTNET_BLOCKS.iter(), + }; - for (network, blocks) in networks { - let state_service = service_fn(|_| async { unreachable!("Service should not be called") }); - let script_verifier = script::Verifier::new(state_service); - let verifier = Verifier::new(network, script_verifier); + let state_service = service_fn(|_| async { unreachable!("Service should not be called") }); + let script_verifier = script::Verifier::new(state_service); + let verifier = Verifier::new(network, script_verifier); - let transaction = fake_v5_transactions_for_network(network, blocks) - .rev() - .next() - .expect("At least one fake V5 transaction in the test vectors"); + let transaction = fake_v5_transactions_for_network(network, blocks) + .rev() + .next() + .expect("At least one fake V5 transaction in the test vectors"); - let expected_hash = transaction.unmined_id(); + let expected_hash = transaction.unmined_id(); - let result = verifier - .oneshot(Request::Block { - transaction: Arc::new(transaction), - known_utxos: Arc::new(HashMap::new()), - height: nu5 - .activation_height(network) - .expect("NU5 activation height is specified"), - }) - .await; + let result = verifier + .oneshot(Request::Block { + transaction: Arc::new(transaction), + known_utxos: Arc::new(HashMap::new()), + height: nu5 + .activation_height(network) + .expect("NU5 activation height is specified"), + }) + .await; - assert_eq!(result, Ok(expected_hash)); - } + assert_eq!(result, Ok(expected_hash)); } /// Test if V4 transaction with transparent funds is accepted. @@ -414,9 +421,6 @@ async fn v4_transaction_with_transparent_transfer_is_rejected_by_the_script() { /// Test if V5 transaction with transparent funds is accepted. #[tokio::test] -// TODO: Remove `should_panic` once the NU5 activation heights for testnet and mainnet have been -// defined. -#[should_panic] async fn v5_transaction_with_transparent_transfer_is_accepted() { let network = Network::Testnet; let network_upgrade = NetworkUpgrade::Nu5; @@ -465,9 +469,6 @@ async fn v5_transaction_with_transparent_transfer_is_accepted() { /// Test if V5 coinbase transaction is accepted. #[tokio::test] -// TODO: Remove `should_panic` once the NU5 activation heights for testnet and mainnet have been -// defined. -#[should_panic] async fn v5_coinbase_transaction_is_accepted() { let network = Network::Testnet; let network_upgrade = NetworkUpgrade::Nu5; @@ -517,9 +518,6 @@ async fn v5_coinbase_transaction_is_accepted() { /// This test simulates the case where the script verifier rejects the transaction because the /// script prevents spending the source UTXO. #[tokio::test] -// TODO: Remove `should_panic` once the NU5 activation heights for testnet and mainnet have been -// defined. -#[should_panic] async fn v5_transaction_with_transparent_transfer_is_rejected_by_the_script() { let network = Network::Testnet; let network_upgrade = NetworkUpgrade::Nu5; @@ -564,7 +562,8 @@ async fn v5_transaction_with_transparent_transfer_is_rejected_by_the_script() { assert_eq!( result, Err(TransactionError::InternalDowncastError( - "downcast to redjubjub::Error failed, original error: ScriptInvalid".to_string() + "downcast to known transaction error type failed, original error: ScriptInvalid" + .to_string() )) ); } diff --git a/zebra-network/src/constants.rs b/zebra-network/src/constants.rs index 47e73c08..b93328a2 100644 --- a/zebra-network/src/constants.rs +++ b/zebra-network/src/constants.rs @@ -116,7 +116,7 @@ pub const USER_AGENT: &str = "/Zebra:1.0.0-alpha.17/"; /// /// The current protocol version typically changes before Mainnet and Testnet /// network upgrades. -pub const CURRENT_NETWORK_PROTOCOL_VERSION: Version = Version(170_014); +pub const CURRENT_NETWORK_PROTOCOL_VERSION: Version = Version(170_015); /// The minimum network protocol version accepted by this crate for each network, /// represented as a network upgrade. diff --git a/zebra-network/src/protocol/external/types.rs b/zebra-network/src/protocol/external/types.rs index fce1fc14..e7447893 100644 --- a/zebra-network/src/protocol/external/types.rs +++ b/zebra-network/src/protocol/external/types.rs @@ -108,8 +108,8 @@ impl Version { (Mainnet, Heartwood) => 170_011, (Testnet, Canopy) => 170_012, (Mainnet, Canopy) => 170_013, - (Testnet, Nu5) => 170_014, - (Mainnet, Nu5) => 170_015, + (Testnet, Nu5) => 170_015, + (Mainnet, Nu5) => unreachable!("Nu5 Mainnet protocol version not yet defined"), }) } } diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index 8d8f812b..c5cca82a 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -8,7 +8,7 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -zcash_script = "0.1.6-alpha.0" +zcash_script = { git = "https://github.com/ZcashFoundation/zcash_script.git", rev = "1caa29e975405400983f679a376fb1c86527d5f2" } zebra-chain = { path = "../zebra-chain" } thiserror = "1.0.29" displaydoc = "0.2.2" diff --git a/zebra-script/src/lib.rs b/zebra-script/src/lib.rs index 9fcfd56e..15423360 100644 --- a/zebra-script/src/lib.rs +++ b/zebra-script/src/lib.rs @@ -80,6 +80,12 @@ impl CachedFfiTransaction { let precomputed = unsafe { zcash_script::zcash_script_new_precomputed_tx(tx_to_ptr, tx_to_len, &mut err) }; + assert!( + !precomputed.is_null(), + "zcash_script_new_precomputed_tx returned {} ({})", + err, + Error::from(err) + ); Self { transaction, diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index fd072508..068998ac 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -49,7 +49,7 @@ tempdir = "0.3.7" tokio = { version = "0.3.6", features = ["full"] } # TODO: replace w/ crate version when released: https://github.com/ZcashFoundation/zebra/issues/2083 # Note: if updating this, also update the workspace Cargo.toml to match. -halo2 = { git = "https://github.com/zcash/halo2.git", rev = "236115917df9db45282fec24d1e1e36f275f71ab" } +halo2 = "=0.1.0-beta.1" jubjub = "0.7.0" proptest = "0.10.1" diff --git a/zebra-test/src/zip0244.rs b/zebra-test/src/zip0244.rs index fce1b5fd..91417f31 100644 --- a/zebra-test/src/zip0244.rs +++ b/zebra-test/src/zip0244.rs @@ -35,7 +35,7 @@ lazy_static! { pub static ref TEST_VECTORS: Vec = vec![ TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0x7a, 0x8f, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0x7a, 0x8f, 0x73, 0x9a, 0x2d, 0x6f, 0x2c, 0x02, 0x01, 0xe1, 0x52, 0xa8, 0x04, 0x9e, 0x29, 0x4c, 0x4d, 0x6e, 0x66, 0xb1, 0x64, 0x93, 0x9d, 0xaf, 0xfa, 0x2e, 0xf6, 0xee, 0x69, 0x21, 0x48, 0x1c, 0xdd, 0x86, 0xb3, 0xcc, 0x43, 0x18, 0xd9, 0x61, 0x4f, 0xc8, 0x20, 0x90, @@ -286,52 +286,52 @@ lazy_static! { 0x6b, 0x4f, 0xe1, 0x2d, 0xad, 0x9a, 0x17, 0xf5, 0xdb, 0x70, 0x31, ], txid: [ - 0xbf, 0x6c, 0x7d, 0x19, 0xf7, 0xc5, 0x65, 0xb1, 0xd4, 0xd9, 0x6d, 0xfb, 0xd0, 0x69, - 0x8b, 0x3c, 0x87, 0xc7, 0x4a, 0x2a, 0x63, 0xa2, 0x89, 0xd3, 0x00, 0x05, 0xda, 0xd6, - 0x98, 0x3d, 0x95, 0x44, + 0x3c, 0x7c, 0xe9, 0x2a, 0x10, 0x59, 0xc0, 0xf6, 0x3f, 0x14, 0x0f, 0x1c, 0xb9, 0xac, + 0x5e, 0x38, 0x90, 0x0a, 0x68, 0x45, 0x95, 0x63, 0x8f, 0xce, 0xf7, 0x73, 0x18, 0x5d, + 0xcf, 0x2f, 0x7f, 0x91, ], auth_digest: [ - 0x1c, 0xbb, 0xe0, 0xd7, 0x25, 0x4c, 0xa6, 0x52, 0xcd, 0xda, 0xa7, 0xa9, 0xd2, 0x91, - 0x5a, 0x60, 0x9e, 0x35, 0x73, 0xc0, 0x3d, 0x27, 0x05, 0xe9, 0xad, 0xd4, 0xe3, 0x2e, - 0xec, 0x0d, 0x76, 0x9e, + 0x1b, 0x60, 0x46, 0xb6, 0x82, 0xf6, 0x9d, 0xb1, 0x66, 0x65, 0x63, 0x2d, 0x21, 0xdc, + 0x7f, 0x83, 0x46, 0xb2, 0x82, 0xec, 0x04, 0xb8, 0x40, 0xf2, 0x45, 0x1d, 0x09, 0xc0, + 0x86, 0x3c, 0xda, 0x6b, ], transparent_input: Some(0), script_code: Some(vec![0x65, 0x00, 0x51]), amount: Some(570688904498311), sighash_all: [ - 0xf8, 0xff, 0x73, 0xee, 0x09, 0xf6, 0x4e, 0x10, 0xd8, 0x80, 0x97, 0x39, 0x62, 0x10, - 0xe8, 0x67, 0xf9, 0x25, 0x4f, 0xf7, 0x40, 0xfd, 0x4f, 0x7d, 0x1f, 0xb7, 0xa6, 0x37, - 0x60, 0xef, 0x01, 0x64, + 0x12, 0x5a, 0xab, 0x82, 0x97, 0xf3, 0x0d, 0xe0, 0x38, 0xd1, 0x1a, 0xf8, 0x93, 0xbb, + 0x77, 0x90, 0x47, 0xec, 0xad, 0x86, 0x7d, 0x03, 0x0a, 0x11, 0x6d, 0x32, 0x08, 0x7a, + 0x3c, 0xad, 0x1f, 0x2d, ], sighash_none: Some([ - 0x89, 0xe6, 0x1b, 0x4b, 0x75, 0x83, 0xea, 0x3d, 0x23, 0xeb, 0x60, 0x2b, 0x82, 0x8c, - 0x5e, 0xf5, 0x89, 0x32, 0x1b, 0xd6, 0xf6, 0xe3, 0x96, 0x85, 0xa2, 0x44, 0xf6, 0x40, - 0xd8, 0x75, 0xbe, 0x86, + 0x08, 0xef, 0x7b, 0x65, 0xb9, 0xd4, 0x15, 0x2b, 0x00, 0x55, 0x24, 0xc9, 0x9e, 0x85, + 0x0b, 0x0a, 0x7c, 0xe2, 0x6c, 0xc1, 0xbc, 0x00, 0xf7, 0x91, 0x5b, 0xe4, 0x7f, 0xdd, + 0x4a, 0x0e, 0xe8, 0xe0, ]), sighash_single: Some([ - 0x89, 0xe6, 0x1b, 0x4b, 0x75, 0x83, 0xea, 0x3d, 0x23, 0xeb, 0x60, 0x2b, 0x82, 0x8c, - 0x5e, 0xf5, 0x89, 0x32, 0x1b, 0xd6, 0xf6, 0xe3, 0x96, 0x85, 0xa2, 0x44, 0xf6, 0x40, - 0xd8, 0x75, 0xbe, 0x86, + 0x08, 0xef, 0x7b, 0x65, 0xb9, 0xd4, 0x15, 0x2b, 0x00, 0x55, 0x24, 0xc9, 0x9e, 0x85, + 0x0b, 0x0a, 0x7c, 0xe2, 0x6c, 0xc1, 0xbc, 0x00, 0xf7, 0x91, 0x5b, 0xe4, 0x7f, 0xdd, + 0x4a, 0x0e, 0xe8, 0xe0, ]), sighash_all_anyone: Some([ - 0xf7, 0x59, 0xd3, 0x65, 0x04, 0x80, 0xf4, 0x52, 0xc9, 0x10, 0x3b, 0x71, 0x4f, 0x11, - 0x38, 0xdd, 0x35, 0x15, 0x53, 0xf0, 0x38, 0x10, 0x8a, 0xba, 0x4d, 0xe2, 0xb0, 0x29, - 0x33, 0xbe, 0x7b, 0x23, + 0x0e, 0xba, 0xe2, 0x6e, 0xee, 0xc6, 0x28, 0xbe, 0x1e, 0x76, 0x42, 0xd0, 0xfd, 0xb1, + 0xdc, 0x13, 0x5b, 0xd1, 0x4f, 0x4f, 0x82, 0xc0, 0x83, 0x4c, 0x02, 0xab, 0xd1, 0xdf, + 0x5e, 0x3d, 0x77, 0xc6, ]), sighash_none_anyone: Some([ - 0xf7, 0x59, 0xd3, 0x65, 0x04, 0x80, 0xf4, 0x52, 0xc9, 0x10, 0x3b, 0x71, 0x4f, 0x11, - 0x38, 0xdd, 0x35, 0x15, 0x53, 0xf0, 0x38, 0x10, 0x8a, 0xba, 0x4d, 0xe2, 0xb0, 0x29, - 0x33, 0xbe, 0x7b, 0x23, + 0x0e, 0xba, 0xe2, 0x6e, 0xee, 0xc6, 0x28, 0xbe, 0x1e, 0x76, 0x42, 0xd0, 0xfd, 0xb1, + 0xdc, 0x13, 0x5b, 0xd1, 0x4f, 0x4f, 0x82, 0xc0, 0x83, 0x4c, 0x02, 0xab, 0xd1, 0xdf, + 0x5e, 0x3d, 0x77, 0xc6, ]), sighash_single_anyone: Some([ - 0xf7, 0x59, 0xd3, 0x65, 0x04, 0x80, 0xf4, 0x52, 0xc9, 0x10, 0x3b, 0x71, 0x4f, 0x11, - 0x38, 0xdd, 0x35, 0x15, 0x53, 0xf0, 0x38, 0x10, 0x8a, 0xba, 0x4d, 0xe2, 0xb0, 0x29, - 0x33, 0xbe, 0x7b, 0x23, + 0x0e, 0xba, 0xe2, 0x6e, 0xee, 0xc6, 0x28, 0xbe, 0x1e, 0x76, 0x42, 0xd0, 0xfd, 0xb1, + 0xdc, 0x13, 0x5b, 0xd1, 0x4f, 0x4f, 0x82, 0xc0, 0x83, 0x4c, 0x02, 0xab, 0xd1, 0xdf, + 0x5e, 0x3d, 0x77, 0xc6, ]), }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0x1f, 0xc9, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0x1f, 0xc9, 0x98, 0xc3, 0x1f, 0x4d, 0xd2, 0x08, 0x00, 0x01, 0x50, 0x58, 0xe5, 0x75, 0x4c, 0x21, 0x04, 0x00, 0x07, 0x53, 0xac, 0x51, 0x53, 0x00, 0x51, 0x52, 0x02, 0xf8, 0x9d, 0x32, 0x26, 0xfb, 0x53, 0x29, 0x2b, 0xfb, 0x5d, 0xbb, 0xf7, 0xff, 0x01, 0x3a, 0xf3, 0x34, @@ -462,22 +462,22 @@ lazy_static! { 0xae, 0x7d, 0xfa, 0x0c, 0x00, ], txid: [ - 0xcb, 0x18, 0x9c, 0x28, 0x82, 0x9b, 0x17, 0x85, 0x74, 0x7f, 0xa0, 0xb0, 0x4d, 0xf8, - 0xa5, 0xe4, 0xfc, 0xb7, 0xbf, 0xa7, 0xda, 0x79, 0x29, 0xbf, 0xb7, 0x31, 0xac, 0x10, - 0xa5, 0x8a, 0xb0, 0x03, + 0x2f, 0x95, 0xe5, 0xa9, 0x5d, 0x20, 0x9e, 0x0a, 0x27, 0xd1, 0xfe, 0x66, 0x9a, 0x46, + 0xf4, 0xa6, 0x44, 0xa3, 0x27, 0xd7, 0x9b, 0x84, 0x6e, 0x97, 0x92, 0x64, 0x18, 0x6a, + 0xde, 0x04, 0x9b, 0xa0, ], auth_digest: [ - 0x64, 0xed, 0x51, 0x50, 0x16, 0x96, 0xf1, 0x14, 0x32, 0xb8, 0xa1, 0xe2, 0xe6, 0x87, - 0xb8, 0x9e, 0x61, 0x25, 0x97, 0xfd, 0x47, 0x49, 0xf9, 0x2c, 0x0f, 0x5f, 0x51, 0x71, - 0xfc, 0xad, 0x78, 0xbe, + 0x36, 0x4e, 0xa0, 0xbf, 0x6b, 0xd4, 0xb4, 0xa6, 0x26, 0xdc, 0xcf, 0x0f, 0x96, 0xca, + 0x1b, 0x0c, 0x3b, 0x4c, 0x46, 0x81, 0x60, 0x24, 0x7b, 0xce, 0x13, 0xf4, 0x68, 0x98, + 0x84, 0x10, 0x4e, 0xb1, ], transparent_input: None, script_code: None, amount: None, sighash_all: [ - 0xcb, 0x18, 0x9c, 0x28, 0x82, 0x9b, 0x17, 0x85, 0x74, 0x7f, 0xa0, 0xb0, 0x4d, 0xf8, - 0xa5, 0xe4, 0xfc, 0xb7, 0xbf, 0xa7, 0xda, 0x79, 0x29, 0xbf, 0xb7, 0x31, 0xac, 0x10, - 0xa5, 0x8a, 0xb0, 0x03, + 0x2f, 0x95, 0xe5, 0xa9, 0x5d, 0x20, 0x9e, 0x0a, 0x27, 0xd1, 0xfe, 0x66, 0x9a, 0x46, + 0xf4, 0xa6, 0x44, 0xa3, 0x27, 0xd7, 0x9b, 0x84, 0x6e, 0x97, 0x92, 0x64, 0x18, 0x6a, + 0xde, 0x04, 0x9b, 0xa0, ], sighash_none: None, sighash_single: None, @@ -487,26 +487,26 @@ lazy_static! { }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0xc2, 0xeb, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0xc2, 0xeb, 0x51, 0x8f, 0x68, 0x98, 0x4d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, ], txid: [ - 0x7f, 0x4d, 0xd8, 0x79, 0x37, 0x4e, 0x1a, 0x56, 0xa2, 0x32, 0xbb, 0x83, 0xb1, 0xcb, - 0xf9, 0x57, 0x6a, 0xb7, 0x6b, 0xff, 0xc7, 0x1b, 0xcd, 0x98, 0x5b, 0x62, 0xdd, 0xd6, - 0x9d, 0x29, 0x97, 0xcd, + 0xa2, 0x2f, 0x92, 0xf0, 0x43, 0x79, 0x3d, 0x10, 0x9d, 0xb7, 0x43, 0x54, 0xc7, 0xd4, + 0xe3, 0x28, 0x43, 0xe2, 0x11, 0x95, 0xe7, 0xca, 0xe4, 0xc0, 0x03, 0x0c, 0xf8, 0xb4, + 0x2c, 0xb6, 0x40, 0xf5, ], auth_digest: [ - 0x04, 0xda, 0x78, 0xb6, 0x64, 0x11, 0x1d, 0xe8, 0xe4, 0xfc, 0xfc, 0x14, 0x93, 0x3d, - 0x79, 0xf6, 0xd9, 0x60, 0xda, 0xd8, 0xf1, 0x08, 0xf1, 0xe0, 0xb4, 0x26, 0xcc, 0x20, - 0x36, 0x29, 0x22, 0xed, + 0xd4, 0xfb, 0x0a, 0x17, 0xd1, 0x4a, 0xee, 0x9b, 0x7f, 0x67, 0x05, 0xff, 0x78, 0xa1, + 0x43, 0xba, 0x07, 0xae, 0x4c, 0x59, 0xb2, 0x3c, 0x84, 0x77, 0xd0, 0xfd, 0x72, 0xf5, + 0x70, 0x97, 0xb7, 0x38, ], transparent_input: None, script_code: None, amount: None, sighash_all: [ - 0x7f, 0x4d, 0xd8, 0x79, 0x37, 0x4e, 0x1a, 0x56, 0xa2, 0x32, 0xbb, 0x83, 0xb1, 0xcb, - 0xf9, 0x57, 0x6a, 0xb7, 0x6b, 0xff, 0xc7, 0x1b, 0xcd, 0x98, 0x5b, 0x62, 0xdd, 0xd6, - 0x9d, 0x29, 0x97, 0xcd, + 0xa2, 0x2f, 0x92, 0xf0, 0x43, 0x79, 0x3d, 0x10, 0x9d, 0xb7, 0x43, 0x54, 0xc7, 0xd4, + 0xe3, 0x28, 0x43, 0xe2, 0x11, 0x95, 0xe7, 0xca, 0xe4, 0xc0, 0x03, 0x0c, 0xf8, 0xb4, + 0x2c, 0xb6, 0x40, 0xf5, ], sighash_none: None, sighash_single: None, @@ -516,27 +516,27 @@ lazy_static! { }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0x5e, 0x3d, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0x5e, 0x3d, 0xba, 0xf7, 0xae, 0x12, 0x67, 0x0d, 0x00, 0x01, 0x51, 0x6c, 0xf4, 0xad, 0xec, 0x75, 0x07, 0x00, 0x03, 0x65, 0x65, 0x00, 0x00, 0x00, 0x00, ], txid: [ - 0x8b, 0x26, 0x35, 0x5f, 0x6c, 0xd9, 0x28, 0x8b, 0xf1, 0x15, 0xc3, 0xe6, 0x10, 0xa1, - 0xe3, 0x4f, 0xd5, 0xf9, 0xc7, 0x9c, 0x9f, 0x78, 0xdc, 0x65, 0x05, 0x1a, 0x9a, 0x14, - 0xca, 0xc2, 0xb1, 0xbf, + 0x83, 0xc8, 0xe3, 0x41, 0x04, 0xf1, 0x8b, 0xdb, 0xe8, 0xbb, 0xf6, 0xf0, 0xb9, 0xba, + 0x53, 0xb5, 0xc6, 0x69, 0x40, 0x61, 0x0c, 0x89, 0x4b, 0xc0, 0xa8, 0x4a, 0x16, 0xdc, + 0x99, 0x51, 0x24, 0x74, ], auth_digest: [ - 0x04, 0xda, 0x78, 0xb6, 0x64, 0x11, 0x1d, 0xe8, 0xe4, 0xfc, 0xfc, 0x14, 0x93, 0x3d, - 0x79, 0xf6, 0xd9, 0x60, 0xda, 0xd8, 0xf1, 0x08, 0xf1, 0xe0, 0xb4, 0x26, 0xcc, 0x20, - 0x36, 0x29, 0x22, 0xed, + 0xd4, 0xfb, 0x0a, 0x17, 0xd1, 0x4a, 0xee, 0x9b, 0x7f, 0x67, 0x05, 0xff, 0x78, 0xa1, + 0x43, 0xba, 0x07, 0xae, 0x4c, 0x59, 0xb2, 0x3c, 0x84, 0x77, 0xd0, 0xfd, 0x72, 0xf5, + 0x70, 0x97, 0xb7, 0x38, ], transparent_input: None, script_code: None, amount: None, sighash_all: [ - 0x8b, 0x26, 0x35, 0x5f, 0x6c, 0xd9, 0x28, 0x8b, 0xf1, 0x15, 0xc3, 0xe6, 0x10, 0xa1, - 0xe3, 0x4f, 0xd5, 0xf9, 0xc7, 0x9c, 0x9f, 0x78, 0xdc, 0x65, 0x05, 0x1a, 0x9a, 0x14, - 0xca, 0xc2, 0xb1, 0xbf, + 0x83, 0xc8, 0xe3, 0x41, 0x04, 0xf1, 0x8b, 0xdb, 0xe8, 0xbb, 0xf6, 0xf0, 0xb9, 0xba, + 0x53, 0xb5, 0xc6, 0x69, 0x40, 0x61, 0x0c, 0x89, 0x4b, 0xc0, 0xa8, 0x4a, 0x16, 0xdc, + 0x99, 0x51, 0x24, 0x74, ], sighash_none: None, sighash_single: None, @@ -546,7 +546,7 @@ lazy_static! { }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0xff, 0x6a, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0xff, 0x6a, 0xcc, 0x0f, 0xfc, 0x2e, 0x49, 0x0d, 0x03, 0x14, 0x6b, 0x9d, 0x49, 0xdd, 0x8c, 0x78, 0x35, 0xf4, 0x3a, 0x37, 0xdc, 0xa0, 0x78, 0x7e, 0x3e, 0xc9, 0xf6, 0x60, 0x52, 0x23, 0xd5, 0xba, 0x7a, 0xe0, 0xab, 0x90, 0x25, 0xb7, 0x3b, 0xc0, 0x3f, 0x7f, 0xac, 0x36, @@ -562,52 +562,52 @@ lazy_static! { 0x00, 0x09, 0x63, 0x6a, 0x53, 0x51, 0x52, 0x00, 0x65, 0xac, 0x65, 0x00, 0x00, 0x00, ], txid: [ - 0x1e, 0xb3, 0x45, 0x26, 0x36, 0x78, 0x97, 0x7c, 0xce, 0xa4, 0x07, 0x70, 0x85, 0xf5, - 0x90, 0x93, 0x03, 0xd4, 0x58, 0x0e, 0x72, 0x3a, 0xd3, 0x16, 0x2c, 0x06, 0x09, 0x66, - 0x48, 0xa2, 0x5b, 0x1e, + 0x42, 0xf4, 0x80, 0xd6, 0x10, 0xe0, 0xcd, 0xb6, 0xc8, 0x9c, 0xeb, 0xe9, 0x7a, 0xf4, + 0x0e, 0xd9, 0x8a, 0xb9, 0x0e, 0x43, 0x73, 0xfd, 0xd2, 0x46, 0xb1, 0x01, 0xe4, 0x30, + 0x21, 0xe7, 0x26, 0x2b, ], auth_digest: [ - 0x9e, 0x7c, 0x68, 0x39, 0xb3, 0x1f, 0xb3, 0xe9, 0x12, 0xb6, 0x93, 0xd1, 0x87, 0x9f, - 0xbb, 0xad, 0xdb, 0xe7, 0xa7, 0x4a, 0x50, 0x8e, 0x7b, 0x6d, 0x1f, 0xe1, 0x93, 0x82, - 0x68, 0xc0, 0x4a, 0xb3, + 0x4b, 0x58, 0x88, 0x55, 0x8d, 0x0e, 0xa2, 0x9a, 0x24, 0x27, 0x28, 0x16, 0xb4, 0x14, + 0x2b, 0x9d, 0xc6, 0x82, 0x56, 0x81, 0xc0, 0xd6, 0xed, 0x99, 0x09, 0x76, 0x35, 0x55, + 0x40, 0xed, 0x45, 0xf7, ], transparent_input: Some(1), script_code: Some(vec![0xac, 0x00, 0x00]), amount: Some(693972628630138), sighash_all: [ - 0x24, 0xa5, 0x08, 0xef, 0xed, 0x90, 0xa6, 0x08, 0x92, 0x13, 0x9b, 0xe9, 0xf8, 0x10, - 0xfd, 0x82, 0xac, 0x34, 0x0f, 0xb8, 0xb4, 0xfd, 0x23, 0x65, 0x59, 0x6d, 0x29, 0xf9, - 0x34, 0x17, 0x43, 0xb0, + 0x2c, 0xac, 0x9b, 0xfd, 0x4a, 0x4a, 0xb0, 0x12, 0x49, 0x21, 0xa2, 0x0c, 0x04, 0xf2, + 0x53, 0xaf, 0xd3, 0xba, 0x17, 0xec, 0x5c, 0xae, 0xc9, 0xa8, 0x22, 0x35, 0x62, 0xb7, + 0xa6, 0x41, 0x3a, 0x4f, ], sighash_none: Some([ - 0x11, 0x44, 0xde, 0x27, 0x8f, 0x2d, 0x3d, 0x80, 0x0b, 0x95, 0x01, 0x84, 0x2c, 0x09, - 0xa7, 0x58, 0xa8, 0x11, 0x53, 0x01, 0x62, 0x39, 0x19, 0x59, 0xe9, 0x03, 0x71, 0x09, - 0x23, 0x9c, 0x4c, 0xb6, + 0x98, 0x6d, 0xf7, 0x0c, 0xe9, 0x5b, 0x5c, 0x4c, 0x4f, 0x42, 0xb9, 0x66, 0xbb, 0x4d, + 0x2a, 0x73, 0x1a, 0x78, 0x7d, 0x7f, 0xa8, 0x40, 0xed, 0x5e, 0x7b, 0x02, 0x40, 0x93, + 0x58, 0x50, 0x70, 0xc3, ]), sighash_single: Some([ - 0xc4, 0xc2, 0x61, 0x31, 0x46, 0x7c, 0x1d, 0x4c, 0x4f, 0x8f, 0x38, 0x9f, 0x50, 0x85, - 0xbe, 0x23, 0xa0, 0x85, 0x36, 0x18, 0x19, 0x45, 0x6d, 0x80, 0xfe, 0x96, 0x96, 0x2e, - 0xec, 0x3f, 0xc2, 0xb2, + 0x5c, 0x0d, 0x6b, 0xce, 0x77, 0xa3, 0x94, 0x2c, 0xba, 0x43, 0x28, 0x42, 0xb0, 0xdc, + 0x51, 0xef, 0x5a, 0x5a, 0xe1, 0x53, 0x9f, 0xf9, 0x9c, 0xf1, 0x55, 0xa5, 0x9f, 0x45, + 0xaf, 0x2a, 0xe3, 0x0c, ]), sighash_all_anyone: Some([ - 0xe1, 0x3b, 0x4b, 0xfb, 0xb2, 0x4e, 0x2b, 0xd7, 0xd9, 0xac, 0xb0, 0x3d, 0x0c, 0xc0, - 0xdc, 0x46, 0x35, 0xd8, 0xf7, 0x9e, 0xe9, 0x26, 0xcd, 0xf7, 0x17, 0xc5, 0x5f, 0xef, - 0x33, 0x75, 0x61, 0x86, + 0xd7, 0x52, 0x77, 0xd4, 0x24, 0x0e, 0x70, 0xab, 0x54, 0x98, 0xbf, 0xa7, 0xcf, 0x99, + 0x89, 0x1c, 0x46, 0x16, 0x57, 0xce, 0xa0, 0xf6, 0x28, 0xf0, 0x53, 0x6e, 0x42, 0x87, + 0x6d, 0xde, 0x6e, 0x52, ]), sighash_none_anyone: Some([ - 0x21, 0xae, 0xbe, 0xc0, 0xdb, 0x41, 0xad, 0x64, 0x04, 0x18, 0x32, 0x4b, 0xcf, 0xfc, - 0x15, 0xaa, 0x0a, 0x63, 0x5c, 0xf8, 0xf7, 0xf6, 0xbe, 0x35, 0xc5, 0x7e, 0x02, 0x06, - 0xd7, 0x67, 0x87, 0x6a, + 0xe6, 0x9b, 0xf5, 0x8c, 0x28, 0x86, 0xa8, 0xa4, 0xd8, 0x57, 0x53, 0x24, 0xce, 0x8e, + 0xe5, 0xd9, 0x19, 0x80, 0x83, 0xc8, 0xde, 0x79, 0x9e, 0x3b, 0x6c, 0x2b, 0x58, 0xa4, + 0x74, 0xa6, 0x9b, 0x28, ]), sighash_single_anyone: Some([ - 0xb6, 0x0f, 0xcb, 0xf6, 0xd5, 0xf9, 0xd9, 0x2d, 0x38, 0x86, 0xe1, 0xe8, 0x87, 0x0d, - 0x48, 0x08, 0x7c, 0x21, 0x51, 0x01, 0x94, 0xaa, 0xc6, 0xad, 0xf8, 0xf3, 0x55, 0x29, - 0x90, 0x61, 0xf6, 0x20, + 0x9e, 0x53, 0x5b, 0x3d, 0x36, 0x52, 0xae, 0xf5, 0xe9, 0x63, 0xf2, 0xff, 0xec, 0x33, + 0x27, 0x8d, 0x92, 0xee, 0xed, 0xd0, 0x0d, 0xaf, 0x9c, 0x6c, 0x2b, 0x42, 0xb0, 0xdc, + 0x41, 0x84, 0x98, 0x5d, ]), }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0xde, 0xdc, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0xde, 0xdc, 0x5e, 0x5f, 0x07, 0x56, 0xfb, 0x19, 0x00, 0x01, 0x33, 0xa4, 0x90, 0x76, 0x8c, 0x16, 0x00, 0x00, 0x08, 0x51, 0x53, 0x53, 0x51, 0x51, 0x65, 0x63, 0x00, 0x00, 0x01, 0xda, 0xb9, 0x57, 0x81, 0x57, 0xeb, 0xf9, 0xcd, 0x81, 0x13, 0x07, 0x88, 0x66, 0xe9, 0x52, @@ -823,22 +823,22 @@ lazy_static! { 0x11, 0xd8, 0x4d, 0x04, 0x09, 0xb7, 0x34, 0xf4, 0x52, 0xaa, 0xf0, 0x16, ], txid: [ - 0xad, 0x80, 0x74, 0x56, 0xa6, 0xc0, 0x16, 0x51, 0xf0, 0x80, 0xd1, 0xdd, 0x71, 0x87, - 0x1f, 0x14, 0x12, 0xe3, 0x8f, 0x89, 0x13, 0x07, 0x52, 0x80, 0xcd, 0x2b, 0x38, 0x02, - 0xf5, 0xb2, 0x70, 0x4e, + 0x44, 0x1f, 0xad, 0xb2, 0x5a, 0x6e, 0x02, 0x43, 0x6f, 0xe6, 0xa9, 0x8a, 0x28, 0x04, + 0x56, 0xe1, 0x71, 0x72, 0x14, 0x55, 0x5d, 0xf7, 0x5a, 0xfd, 0xb8, 0x5a, 0xb1, 0x7a, + 0x10, 0x81, 0x01, 0x1a, ], auth_digest: [ - 0xee, 0x3a, 0x4a, 0x6d, 0xd3, 0x89, 0xf2, 0x81, 0xb6, 0xd6, 0xe3, 0xd8, 0xe0, 0xf7, - 0x97, 0xa3, 0xd4, 0xfa, 0x01, 0x4e, 0x3f, 0x41, 0x6a, 0x0e, 0x47, 0x68, 0x4f, 0x76, - 0x02, 0x15, 0x44, 0x58, + 0x37, 0xce, 0xcf, 0x21, 0x40, 0x6b, 0xfb, 0x00, 0x2d, 0x1e, 0xde, 0x64, 0x4c, 0xff, + 0x52, 0xd2, 0x2c, 0x12, 0x36, 0x9f, 0xb4, 0x9e, 0x34, 0xae, 0xf8, 0xa0, 0x3b, 0x4b, + 0x61, 0xb6, 0x4f, 0xa5, ], transparent_input: None, script_code: None, amount: None, sighash_all: [ - 0xad, 0x80, 0x74, 0x56, 0xa6, 0xc0, 0x16, 0x51, 0xf0, 0x80, 0xd1, 0xdd, 0x71, 0x87, - 0x1f, 0x14, 0x12, 0xe3, 0x8f, 0x89, 0x13, 0x07, 0x52, 0x80, 0xcd, 0x2b, 0x38, 0x02, - 0xf5, 0xb2, 0x70, 0x4e, + 0x44, 0x1f, 0xad, 0xb2, 0x5a, 0x6e, 0x02, 0x43, 0x6f, 0xe6, 0xa9, 0x8a, 0x28, 0x04, + 0x56, 0xe1, 0x71, 0x72, 0x14, 0x55, 0x5d, 0xf7, 0x5a, 0xfd, 0xb8, 0x5a, 0xb1, 0x7a, + 0x10, 0x81, 0x01, 0x1a, ], sighash_none: None, sighash_single: None, @@ -848,7 +848,7 @@ lazy_static! { }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0x8f, 0x50, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0x8f, 0x50, 0x25, 0x86, 0x83, 0xda, 0xf6, 0x12, 0x02, 0x39, 0x9f, 0xd0, 0x47, 0xee, 0xe2, 0x88, 0xbb, 0x45, 0x85, 0x85, 0x1d, 0xc9, 0x3e, 0xcc, 0xc6, 0x23, 0x22, 0x92, 0x4c, 0xd1, 0x3b, 0x5d, 0xd4, 0xee, 0xd6, 0x6e, 0xd8, 0xd9, 0x97, 0x2d, 0x77, 0x26, 0x29, 0xea, @@ -859,52 +859,52 @@ lazy_static! { 0xb7, 0x00, 0x00, 0x00, 0x00, ], txid: [ - 0x0a, 0x8a, 0xef, 0x68, 0x56, 0x9f, 0x90, 0x23, 0xa2, 0xa5, 0xbe, 0xd0, 0x76, 0x6d, - 0xbc, 0xdf, 0x2d, 0x35, 0xd0, 0x13, 0x55, 0x80, 0x4b, 0xf0, 0xe3, 0xee, 0x1b, 0x17, - 0xde, 0x9e, 0x46, 0xcd, + 0x6b, 0x71, 0x52, 0x9c, 0x56, 0x99, 0xb0, 0x64, 0xd8, 0x1b, 0x02, 0x3e, 0xdf, 0xf2, + 0xb1, 0x02, 0xe6, 0x39, 0x7c, 0x81, 0x24, 0x6c, 0xce, 0x0a, 0x55, 0x61, 0xfb, 0x79, + 0x5d, 0xd4, 0x88, 0x77, ], auth_digest: [ - 0x2c, 0xbe, 0xf7, 0x5b, 0x3e, 0x2c, 0xff, 0x88, 0xb6, 0xf1, 0x20, 0xbf, 0x70, 0xcb, - 0x3e, 0xc7, 0x57, 0xec, 0x25, 0xd3, 0x11, 0xfa, 0xca, 0xfd, 0xfe, 0x2d, 0xb4, 0x2e, - 0xd3, 0x42, 0x04, 0x0f, + 0x07, 0xec, 0x2d, 0xf0, 0xc6, 0xf7, 0x77, 0x15, 0x8d, 0xcb, 0xf7, 0xfc, 0x74, 0x08, + 0xf2, 0x35, 0xdd, 0xdb, 0x55, 0x7e, 0x4a, 0x48, 0x56, 0xd9, 0x51, 0x90, 0xda, 0xb5, + 0x59, 0x86, 0x9e, 0xe2, ], transparent_input: Some(0), script_code: Some(vec![0x63, 0x52, 0x51, 0x63, 0x53]), amount: Some(107504874564564), sighash_all: [ - 0x96, 0xc2, 0x33, 0x43, 0xe3, 0xa3, 0x69, 0x48, 0xa1, 0xbc, 0x60, 0x29, 0x6e, 0xca, - 0xaa, 0x71, 0xfd, 0x72, 0xb5, 0x7c, 0x44, 0xad, 0x8e, 0xef, 0x31, 0x87, 0x47, 0x7c, - 0xcf, 0xe1, 0x62, 0x9d, + 0x20, 0x6d, 0x56, 0x7f, 0x65, 0xef, 0x19, 0x3f, 0x5a, 0xd7, 0x99, 0x99, 0xd8, 0xab, + 0x08, 0x56, 0xa0, 0xfa, 0xcc, 0xe6, 0xae, 0x9c, 0xe4, 0x1c, 0x30, 0xf1, 0x26, 0xc6, + 0x41, 0xbe, 0xb5, 0x1e, ], sighash_none: Some([ - 0x27, 0x96, 0x4b, 0xca, 0x78, 0xbf, 0xff, 0x91, 0x8f, 0x5a, 0x4b, 0x6d, 0xa6, 0x08, - 0x26, 0x8e, 0x56, 0xd2, 0x21, 0x81, 0xa6, 0xf4, 0x3c, 0x64, 0xe5, 0x75, 0x9c, 0x18, - 0xff, 0xf3, 0x77, 0x9a, + 0xdf, 0x16, 0x3f, 0x6f, 0x0d, 0x56, 0x7c, 0xfd, 0x97, 0x78, 0xa1, 0x42, 0x5c, 0xc8, + 0x3d, 0x6e, 0x54, 0x8f, 0xd9, 0x37, 0x43, 0x10, 0x4d, 0x72, 0xfd, 0x7d, 0xf5, 0x42, + 0xed, 0xaa, 0xe2, 0xb2, ]), sighash_single: Some([ - 0x27, 0x96, 0x4b, 0xca, 0x78, 0xbf, 0xff, 0x91, 0x8f, 0x5a, 0x4b, 0x6d, 0xa6, 0x08, - 0x26, 0x8e, 0x56, 0xd2, 0x21, 0x81, 0xa6, 0xf4, 0x3c, 0x64, 0xe5, 0x75, 0x9c, 0x18, - 0xff, 0xf3, 0x77, 0x9a, + 0xdf, 0x16, 0x3f, 0x6f, 0x0d, 0x56, 0x7c, 0xfd, 0x97, 0x78, 0xa1, 0x42, 0x5c, 0xc8, + 0x3d, 0x6e, 0x54, 0x8f, 0xd9, 0x37, 0x43, 0x10, 0x4d, 0x72, 0xfd, 0x7d, 0xf5, 0x42, + 0xed, 0xaa, 0xe2, 0xb2, ]), sighash_all_anyone: Some([ - 0xcd, 0x13, 0xd5, 0xe0, 0x98, 0x26, 0x2b, 0x9c, 0xaf, 0x39, 0x8a, 0xad, 0x54, 0x0d, - 0x75, 0x35, 0x6b, 0xd4, 0x63, 0x28, 0xc3, 0x9e, 0xe8, 0xf7, 0xf9, 0x07, 0x00, 0xdb, - 0x17, 0xf5, 0x15, 0xc3, + 0x2a, 0xb9, 0x5b, 0x8f, 0xb6, 0xb6, 0x3d, 0xb8, 0x7d, 0x65, 0x0e, 0xad, 0x2b, 0x73, + 0x89, 0x12, 0x92, 0x31, 0x19, 0x7c, 0xfd, 0x20, 0x0c, 0x8a, 0x44, 0x56, 0x96, 0x69, + 0xf4, 0x50, 0xc1, 0xe6, ]), sighash_none_anyone: Some([ - 0xcd, 0x13, 0xd5, 0xe0, 0x98, 0x26, 0x2b, 0x9c, 0xaf, 0x39, 0x8a, 0xad, 0x54, 0x0d, - 0x75, 0x35, 0x6b, 0xd4, 0x63, 0x28, 0xc3, 0x9e, 0xe8, 0xf7, 0xf9, 0x07, 0x00, 0xdb, - 0x17, 0xf5, 0x15, 0xc3, + 0x2a, 0xb9, 0x5b, 0x8f, 0xb6, 0xb6, 0x3d, 0xb8, 0x7d, 0x65, 0x0e, 0xad, 0x2b, 0x73, + 0x89, 0x12, 0x92, 0x31, 0x19, 0x7c, 0xfd, 0x20, 0x0c, 0x8a, 0x44, 0x56, 0x96, 0x69, + 0xf4, 0x50, 0xc1, 0xe6, ]), sighash_single_anyone: Some([ - 0xcd, 0x13, 0xd5, 0xe0, 0x98, 0x26, 0x2b, 0x9c, 0xaf, 0x39, 0x8a, 0xad, 0x54, 0x0d, - 0x75, 0x35, 0x6b, 0xd4, 0x63, 0x28, 0xc3, 0x9e, 0xe8, 0xf7, 0xf9, 0x07, 0x00, 0xdb, - 0x17, 0xf5, 0x15, 0xc3, + 0x2a, 0xb9, 0x5b, 0x8f, 0xb6, 0xb6, 0x3d, 0xb8, 0x7d, 0x65, 0x0e, 0xad, 0x2b, 0x73, + 0x89, 0x12, 0x92, 0x31, 0x19, 0x7c, 0xfd, 0x20, 0x0c, 0x8a, 0x44, 0x56, 0x96, 0x69, + 0xf4, 0x50, 0xc1, 0xe6, ]), }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0x02, 0x5f, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0x02, 0x5f, 0x13, 0xec, 0x91, 0x3c, 0x29, 0x02, 0x00, 0x01, 0x78, 0x8f, 0x26, 0x02, 0xa2, 0xcf, 0x06, 0x00, 0x01, 0x53, 0x00, 0x00, 0x03, 0x42, 0xf7, 0x36, 0xa0, 0xfb, 0x38, 0xae, 0x3e, 0x42, 0xec, 0x67, 0xb0, 0x74, 0x86, 0xf9, 0x0e, 0x60, 0x75, 0x2e, 0x0d, 0xc6, @@ -1125,22 +1125,22 @@ lazy_static! { 0xff, 0x82, 0xcd, 0x1f, 0x55, 0xeb, 0xca, 0x57, 0xb6, 0x33, 0x7c, 0x85, 0x13, ], txid: [ - 0x80, 0xbb, 0x70, 0x2d, 0x71, 0x23, 0x5b, 0xec, 0xbb, 0xa2, 0xa2, 0x51, 0x43, 0x51, - 0x2a, 0xd9, 0x06, 0x50, 0x34, 0x22, 0x5d, 0xad, 0x9c, 0x89, 0xbf, 0xcb, 0x73, 0x32, - 0x8d, 0x3d, 0x4f, 0xe6, + 0x1b, 0x72, 0x8a, 0xf8, 0xd8, 0x7e, 0xeb, 0x9f, 0x7b, 0x87, 0xab, 0xd9, 0x0b, 0x5f, + 0x4e, 0x93, 0x62, 0x46, 0xad, 0x17, 0x89, 0x31, 0xb4, 0x04, 0x9f, 0x60, 0x42, 0x43, + 0xa9, 0xaa, 0x54, 0x5c, ], auth_digest: [ - 0xbb, 0x48, 0xcf, 0x27, 0x71, 0x54, 0x6c, 0x2c, 0x15, 0x57, 0x7d, 0xb2, 0x0d, 0x04, - 0x86, 0x5a, 0x8c, 0xc0, 0x0c, 0x9c, 0x02, 0xec, 0xb3, 0x10, 0x24, 0x94, 0x31, 0x0f, - 0x18, 0x68, 0x50, 0xcf, + 0x00, 0x23, 0x09, 0x27, 0x5d, 0x8c, 0x01, 0xf1, 0x69, 0xa0, 0x51, 0x2a, 0x3e, 0x48, + 0xe5, 0x21, 0x81, 0x25, 0xfa, 0x16, 0x1a, 0x87, 0xb4, 0xac, 0xa6, 0x3d, 0xaf, 0xe3, + 0x12, 0x8e, 0x05, 0x27, ], transparent_input: None, script_code: None, amount: None, sighash_all: [ - 0x80, 0xbb, 0x70, 0x2d, 0x71, 0x23, 0x5b, 0xec, 0xbb, 0xa2, 0xa2, 0x51, 0x43, 0x51, - 0x2a, 0xd9, 0x06, 0x50, 0x34, 0x22, 0x5d, 0xad, 0x9c, 0x89, 0xbf, 0xcb, 0x73, 0x32, - 0x8d, 0x3d, 0x4f, 0xe6, + 0x1b, 0x72, 0x8a, 0xf8, 0xd8, 0x7e, 0xeb, 0x9f, 0x7b, 0x87, 0xab, 0xd9, 0x0b, 0x5f, + 0x4e, 0x93, 0x62, 0x46, 0xad, 0x17, 0x89, 0x31, 0xb4, 0x04, 0x9f, 0x60, 0x42, 0x43, + 0xa9, 0xaa, 0x54, 0x5c, ], sighash_none: None, sighash_single: None, @@ -1150,7 +1150,7 @@ lazy_static! { }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0x79, 0x81, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0x79, 0x81, 0x3d, 0x20, 0x21, 0x0c, 0x6f, 0x10, 0x00, 0x03, 0x31, 0xef, 0xba, 0xa1, 0xcc, 0xfd, 0x05, 0x00, 0x08, 0x51, 0x53, 0x00, 0xac, 0x52, 0x65, 0xac, 0x65, 0x65, 0x7c, 0x6e, 0x39, 0x0e, 0xcf, 0x04, 0x00, 0x09, 0x51, 0x6a, 0xac, 0xac, 0x52, 0x51, 0x65, 0x65, @@ -1238,22 +1238,22 @@ lazy_static! { 0x26, 0xd0, 0xe6, 0x62, 0x10, ], txid: [ - 0x2f, 0x2a, 0xb7, 0xee, 0xe4, 0xae, 0x1d, 0x52, 0x49, 0xf1, 0x2e, 0xe8, 0x16, 0x49, - 0x01, 0x54, 0xeb, 0x2d, 0xeb, 0x76, 0x78, 0x74, 0xa3, 0x1b, 0x5d, 0x10, 0xaa, 0xf7, - 0x6b, 0xa8, 0x4f, 0xae, + 0x43, 0x67, 0x86, 0x11, 0xad, 0x3e, 0x86, 0x5b, 0x49, 0xc6, 0x6d, 0x5b, 0xcf, 0x32, + 0xad, 0xce, 0xf1, 0x34, 0x82, 0x29, 0xf1, 0xdc, 0x57, 0x6c, 0xfe, 0x7f, 0x79, 0xcf, + 0x3d, 0xd2, 0xcf, 0x57, ], auth_digest: [ - 0xf1, 0x58, 0x29, 0x64, 0xb8, 0xc9, 0xec, 0x20, 0x29, 0xab, 0x97, 0xa2, 0x55, 0x98, - 0xdb, 0xff, 0x28, 0x35, 0x23, 0xe6, 0xf3, 0x7a, 0xdb, 0x19, 0xcc, 0x57, 0x69, 0xb5, - 0x13, 0xc7, 0x33, 0xc0, + 0x47, 0x37, 0x40, 0x67, 0x05, 0xc0, 0x55, 0x45, 0x75, 0x9e, 0xb8, 0x20, 0x84, 0xad, + 0xd3, 0xfc, 0xef, 0xd6, 0xb0, 0x98, 0x22, 0x70, 0xf3, 0x57, 0x11, 0xad, 0x67, 0x6f, + 0x4f, 0xcf, 0x39, 0xdb, ], transparent_input: None, script_code: None, amount: None, sighash_all: [ - 0x2f, 0x2a, 0xb7, 0xee, 0xe4, 0xae, 0x1d, 0x52, 0x49, 0xf1, 0x2e, 0xe8, 0x16, 0x49, - 0x01, 0x54, 0xeb, 0x2d, 0xeb, 0x76, 0x78, 0x74, 0xa3, 0x1b, 0x5d, 0x10, 0xaa, 0xf7, - 0x6b, 0xa8, 0x4f, 0xae, + 0x43, 0x67, 0x86, 0x11, 0xad, 0x3e, 0x86, 0x5b, 0x49, 0xc6, 0x6d, 0x5b, 0xcf, 0x32, + 0xad, 0xce, 0xf1, 0x34, 0x82, 0x29, 0xf1, 0xdc, 0x57, 0x6c, 0xfe, 0x7f, 0x79, 0xcf, + 0x3d, 0xd2, 0xcf, 0x57, ], sighash_none: None, sighash_single: None, @@ -1263,7 +1263,7 @@ lazy_static! { }, TestVector { tx: vec![ - 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x98, 0xa1, 0x19, 0xf9, 0x12, 0x50, + 0x05, 0x00, 0x00, 0x80, 0x0a, 0x27, 0xa7, 0x26, 0x21, 0x96, 0x51, 0x37, 0x12, 0x50, 0x92, 0x6f, 0x6a, 0x8e, 0x63, 0x19, 0x03, 0x8f, 0x69, 0xad, 0x9a, 0x91, 0x92, 0xb3, 0x02, 0xf2, 0x6b, 0xdd, 0xa4, 0x65, 0xd9, 0x0b, 0x94, 0xb1, 0x2c, 0x57, 0xfa, 0x3f, 0xd6, 0x93, 0x00, 0x83, 0xf1, 0x84, 0x43, 0x8d, 0x8a, 0x88, 0x9d, 0x3f, 0x5e, 0xce, @@ -1540,47 +1540,47 @@ lazy_static! { 0x25, 0xa1, 0xf6, 0xcd, 0x5a, 0xce, 0x82, 0xc0, 0x0a, 0xb2, 0x34, 0x2b, ], txid: [ - 0x16, 0x46, 0x65, 0x05, 0x5e, 0xd5, 0x01, 0x5d, 0xd9, 0xa5, 0x72, 0x47, 0xc2, 0x77, - 0xde, 0x07, 0x15, 0x27, 0x5d, 0x15, 0x6c, 0xda, 0xb9, 0x6f, 0x68, 0xdc, 0x70, 0x10, - 0x58, 0x3b, 0x02, 0xaa, + 0xf2, 0x09, 0x0e, 0xc3, 0xe4, 0xd7, 0x61, 0x3e, 0xee, 0x5d, 0x3a, 0x77, 0xc5, 0xd6, + 0x4e, 0xea, 0xa2, 0x29, 0xe0, 0xf4, 0x42, 0x74, 0x0c, 0x06, 0x1b, 0x2c, 0xb0, 0x8e, + 0x93, 0x35, 0xa0, 0x03, ], auth_digest: [ - 0x87, 0x46, 0xc9, 0x9d, 0x98, 0x57, 0x86, 0xb1, 0xb7, 0x7c, 0x40, 0x5f, 0x6e, 0xe8, - 0x31, 0xe2, 0x98, 0x71, 0xca, 0x9d, 0x68, 0xe7, 0x72, 0x4f, 0xb7, 0xf8, 0x78, 0x6f, - 0x28, 0x18, 0x42, 0xa6, + 0xb0, 0x9c, 0x87, 0xf9, 0x85, 0x52, 0x9f, 0x8d, 0x51, 0x1d, 0x2c, 0xf0, 0xca, 0x42, + 0xda, 0xac, 0xea, 0x04, 0x59, 0x18, 0x12, 0x18, 0x90, 0x41, 0x0d, 0x24, 0xdb, 0xdc, + 0x19, 0x23, 0x96, 0xc6, ], transparent_input: Some(0), script_code: Some(vec![]), amount: Some(1405243945822387), sighash_all: [ - 0xc7, 0x07, 0xc7, 0x8f, 0x48, 0x49, 0xc5, 0x49, 0x87, 0x8a, 0xf6, 0x41, 0x50, 0x9d, - 0xa5, 0x97, 0x87, 0xde, 0x72, 0xff, 0x4e, 0xcd, 0x08, 0xe2, 0x4c, 0x2b, 0xa1, 0x0d, - 0x11, 0x7b, 0x14, 0xc0, + 0x84, 0x83, 0xbf, 0x1b, 0x6a, 0xbb, 0x10, 0xa0, 0xce, 0x4a, 0x9a, 0x35, 0xfc, 0x1f, + 0x56, 0xdf, 0x6e, 0x29, 0xec, 0xd3, 0x4d, 0xf6, 0x52, 0x75, 0xd0, 0x09, 0x77, 0xc5, + 0x3f, 0x42, 0xf8, 0x91, ], sighash_none: Some([ - 0x99, 0xc0, 0xcc, 0x62, 0xe2, 0xa0, 0xb4, 0xf1, 0xb2, 0x83, 0xeb, 0x93, 0x86, 0xc9, - 0x25, 0x80, 0x41, 0x5a, 0x3a, 0xf1, 0x25, 0x5b, 0xf2, 0x81, 0x74, 0x51, 0x9a, 0x3f, - 0x07, 0x8a, 0xff, 0x4c, + 0xc2, 0x0a, 0x39, 0x19, 0x20, 0x96, 0x78, 0xb6, 0x0f, 0x22, 0xee, 0xe4, 0x32, 0xc4, + 0xf8, 0x9a, 0x1d, 0x4a, 0x8e, 0x08, 0x6e, 0xeb, 0xd6, 0xfc, 0xef, 0x98, 0xab, 0x3f, + 0x1c, 0x83, 0x61, 0x17, ]), sighash_single: Some([ - 0x06, 0x7b, 0x18, 0x22, 0x92, 0xe5, 0x7c, 0xcc, 0x81, 0x0c, 0x01, 0x66, 0x0d, 0xf2, - 0xdb, 0x4b, 0xda, 0x02, 0x30, 0x1e, 0x3a, 0xf6, 0x6f, 0x87, 0xc9, 0x09, 0xda, 0x0a, - 0x4f, 0x25, 0x09, 0x86, + 0x53, 0x98, 0xd8, 0x46, 0x02, 0xae, 0x39, 0xad, 0xdf, 0x98, 0x04, 0x0a, 0xa5, 0xdb, + 0xfc, 0xfe, 0xc2, 0x66, 0xb5, 0x08, 0xdb, 0xbf, 0xac, 0xf6, 0x3a, 0xdd, 0xc3, 0x75, + 0x81, 0xef, 0x81, 0x51, ]), sighash_all_anyone: Some([ - 0xe3, 0xcb, 0xb8, 0x37, 0x82, 0x5a, 0x1a, 0x34, 0x19, 0x74, 0x39, 0x4b, 0x07, 0x2d, - 0x8d, 0x1b, 0x1e, 0x6a, 0xa2, 0xab, 0x2b, 0x87, 0xc2, 0x0e, 0x93, 0xf7, 0x13, 0x77, - 0x2e, 0x3b, 0x3d, 0x9d, + 0x53, 0x91, 0xce, 0xef, 0xa5, 0x0a, 0x8e, 0x12, 0x1a, 0xa7, 0xb6, 0xde, 0xf7, 0xa7, + 0x6e, 0x22, 0xcd, 0x81, 0xce, 0x0d, 0x82, 0x6f, 0xd0, 0x40, 0xdc, 0x21, 0x6d, 0xe6, + 0x7b, 0x01, 0x5b, 0xbd, ]), sighash_none_anyone: Some([ - 0xad, 0x36, 0x1a, 0xe8, 0xcd, 0x02, 0x78, 0xf5, 0xe8, 0xf2, 0x30, 0xf8, 0x1a, 0x3a, - 0xb4, 0x21, 0x9c, 0xf1, 0x56, 0x2d, 0xb6, 0xb4, 0x13, 0x65, 0x44, 0xeb, 0xb4, 0x7d, - 0x53, 0x73, 0x56, 0xc3, + 0xe0, 0x9f, 0x3b, 0xe0, 0x44, 0x11, 0x00, 0x81, 0xcf, 0xb8, 0x01, 0xc4, 0x4f, 0xf6, + 0x38, 0x6c, 0x61, 0x17, 0xaf, 0xd1, 0x42, 0xd3, 0x2a, 0xbe, 0xee, 0x01, 0x47, 0xdc, + 0xbb, 0x74, 0x77, 0x82, ]), sighash_single_anyone: Some([ - 0x00, 0x21, 0x5f, 0x2a, 0xe5, 0x57, 0xfa, 0xca, 0x3b, 0xe0, 0xbb, 0xdd, 0xdc, 0x62, - 0x69, 0x12, 0x4f, 0x23, 0x26, 0xc7, 0xc0, 0x43, 0xcc, 0xcd, 0xeb, 0x46, 0x4c, 0x62, - 0x5e, 0x0b, 0xff, 0x56, + 0x0b, 0xf0, 0x3e, 0x2c, 0xa5, 0x30, 0xf6, 0xac, 0x7d, 0xaa, 0xf4, 0xcc, 0x64, 0xf3, + 0xe0, 0x26, 0x9b, 0x5b, 0x0b, 0x3e, 0xd6, 0x66, 0xcf, 0x19, 0xe9, 0xd2, 0x6f, 0x63, + 0x19, 0x1e, 0x0a, 0xfb, ]), }, ];