When #157 modifed the C++ implementation to use a callback, script_tests.cpp wasn’t updated, so it no longer compiles. Those tests are ported over to Rust as TestVectors, but some of them fail (agaist both the pure Rust and wrapped C++ implementations) because they need a sighash function that replicates the pre-callback behavior, however the point of the callback is to remove dependencies on other zcash crates, and so this one can no longer trivially construct Transactions, etc.
We should be able to construct one that uses a mostly-hardcoded serialized transaction that we can insert the serialized script components into and then hash, then tests that depend on the CHECK*SIG* opcodes behaving correctly can work.
When #157 modifed the C++ implementation to use a callback, script_tests.cpp wasn’t updated, so it no longer compiles. Those tests are ported over to Rust as
TestVectors, but some of them fail (agaist both the pure Rust and wrapped C++ implementations) because they need a sighash function that replicates the pre-callback behavior, however the point of the callback is to remove dependencies on other zcash crates, and so this one can no longer trivially constructTransactions, etc.We should be able to construct one that uses a mostly-hardcoded serialized transaction that we can insert the serialized script components into and then hash, then tests that depend on the
CHECK*SIG*opcodes behaving correctly can work.