Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Parsing error with the interpreter. #86

Open
tigh-latte opened this issue Nov 30, 2021 · 0 comments
Open

[BUG] Parsing error with the interpreter. #86

tigh-latte opened this issue Nov 30, 2021 · 0 comments
Labels
bug Something isn't working interpreter script interpreter

Comments

@tigh-latte
Copy link
Contributor

The following locking and unlocking script combo pass on python but fail on our interpreter.

from bitcoinx import Script, TxOutput, Tx, TxInput, TxInputContext, InterpreterLimits, MinerPolicy


prev_locking_script = Script.from_hex('510140000000000061587961007901687f7700005279517f75007f77007901fd8763615379537f75517f77007901007e81517a7561537a75527a527a5379535479937f75537f77527a75517a67007901fe8763615379557f75517f77007901007e81517a7561537a75527a527a5379555479937f75557f77527a75517a67007901ff8763615379597f75517f77007901007e81517a7561537a75527a527a5379595479937f75597f77527a75517a67615379517f75007f77007901007e81517a7561537a75527a527a5379515479937f75517f77527a75517a6868685179517a75517a75517a75517a7561517a7561610079007982775179517951947f755179549451947f77007981527951799454945194517a75517a75517a75517a7561517951797f75537a75527a527a610000537953797f770079537a75527a527a00527a75517a756161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561597a75587a587a587a587a587a587a587a587a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161587a75577a577a577a577a577a577a577a61005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561577a75567a567a567a567a567a567a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161567a75557a557a557a557a557a615c796100792097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c011179011179855679aa616100790079517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e81517a756157795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff0061517951795179517997527a75517a5179009f635179517993527a75517a685179517a75517a7561527a75517a517951795296a0630079527994527a75517a68537982775279827754527993517993013051797e527e53797e57797e527e52797e5579517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7e56797e0079517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a756100795779ac517a75517a75517a75517a75517a75517a75517a75517a75517a7561517a7561695f79011179ac69607959007600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959517600a26976529f695295946b6c766b796c766b796c75517a517a758767006864607959517600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959007600a26976529f695295946b6c766b796c766b796c75517a517a758767006867516869607959007600a26976529f695295946b6c766b796c766b796c75517a517a75876358007600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958007600a26976529f695295946b6c766b796c766b796c75007a517a755e7994587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757558517600a26976529f695295946b6c766b796c766b796c75007a517a755e7993567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a75756758517600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958517600a26976529f695295946b6c766b796c766b796c75007a517a755e7994567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a757558007600a26976529f695295946b6c766b796c766b796c75007a517a755e7993587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757568616158007600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75616159007600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e6159517600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75617e6159517600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e5579615179007982775480517951797e0051807e517a75517a75617e517a75616100795d79007958806152790079827700517902fd009f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a75675179030000019f6301fd615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f6301fe615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179090000000000000000019f6301ff615279585179517951938000795179827751947f75007f77517a75517a75517a75617e517a7568686868007953797e517a75517a75517a75617e517a75517a75610079aa615f79007982775179517958947f7551790128947f77517a75517a756187777777777777777777777777777777777777776a2102d0de0aaeaefad02b8bdc8a01a1b8b11c696bd3d66a2c5f10780d95b7df42645c01642102eec2540661b0c39d271570742413bd02932dd0093493fd0beced0b7f93addec4004700000000')

unlocking_script = Script.from_hex('2102d0de0aaeaefad02b8bdc8a01a1b8b11c696bd3d66a2c5f10780d95b7df42645c47304402200b1aec4c835daf464cae038e9cb0354ba5675bd5cb8173f30cb8f0f3afc4b98802200857d6c199fa166553fa145906c1ef88159774ed30c727611d0a35c0f60d36b6412102eec2540661b0c39d271570742413bd02932dd0093493fd0beced0b7f93addec401284ddc110100000011b50e4920bc7f0bbd4ae0a0a649b8ded6f187c889c0829bfc7dea9345a5788e3bb13029ce7b1f559ef5e747fcac439f1455a2ec7c5f09b72290795e706650445884e5db9de218238671572340b207ee85b628074e7e467096c267266bff77a400000000fd3d11510140000000000061587961007901687f7700005279517f75007f77007901fd8763615379537f75517f77007901007e81517a7561537a75527a527a5379535479937f75537f77527a75517a67007901fe8763615379557f75517f77007901007e81517a7561537a75527a527a5379555479937f75557f77527a75517a67007901ff8763615379597f75517f77007901007e81517a7561537a75527a527a5379595479937f75597f77527a75517a67615379517f75007f77007901007e81517a7561537a75527a527a5379515479937f75517f77527a75517a6868685179517a75517a75517a75517a7561517a7561610079007982775179517951947f755179549451947f77007981527951799454945194517a75517a75517a75517a7561517951797f75537a75527a527a610000537953797f770079537a75527a527a00527a75517a756161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561597a75587a587a587a587a587a587a587a587a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161587a75577a577a577a577a577a577a577a61005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561577a75567a567a567a567a567a567a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161567a75557a557a557a557a557a615c796100792097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c011179011179855679aa616100790079517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e81517a756157795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff0061517951795179517997527a75517a5179009f635179517993527a75517a685179517a75517a7561527a75517a517951795296a0630079527994527a75517a68537982775279827754527993517993013051797e527e53797e57797e527e52797e5579517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7e56797e0079517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a756100795779ac517a75517a75517a75517a75517a75517a75517a75517a75517a7561517a7561695f79011179ac69607959007600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959517600a26976529f695295946b6c766b796c766b796c75517a517a758767006864607959517600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959007600a26976529f695295946b6c766b796c766b796c75517a517a758767006867516869607959007600a26976529f695295946b6c766b796c766b796c75517a517a75876358007600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958007600a26976529f695295946b6c766b796c766b796c75007a517a755e7994587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757558517600a26976529f695295946b6c766b796c766b796c75007a517a755e7993567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a75756758517600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958517600a26976529f695295946b6c766b796c766b796c75007a517a755e7994567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a757558007600a26976529f695295946b6c766b796c766b796c75007a517a755e7993587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757568616158007600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75616159007600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e6159517600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75617e6159517600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e5579615179007982775480517951797e0051807e517a75517a75617e517a75616100795d79007958806152790079827700517902fd009f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a75675179030000019f6301fd615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f6301fe615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179090000000000000000019f6301ff615279585179517951938000795179827751947f75007f77517a75517a75517a75617e517a7568686868007953797e517a75517a75517a75617e517a75517a75610079aa615f79007982775179517958947f7551790128947f77517a75517a756187777777777777777777777777777777777777776a2102d0de0aaeaefad02b8bdc8a01a1b8b11c696bd3d66a2c5f10780d95b7df42645c01642102eec2540661b0c39d271570742413bd02932dd0093493fd0beced0b7f93addec4004700000000e093040000000000ffffffffa3859e0eb272976e0eb3bab2773c035d2c5be10c7bee63433285bb98744c14800000000041000000030e6403')

new_locking_script = Script.from_hex('510140000000000061587961007901687f7700005279517f75007f77007901fd8763615379537f75517f77007901007e81517a7561537a75527a527a5379535479937f75537f77527a75517a67007901fe8763615379557f75517f77007901007e81517a7561537a75527a527a5379555479937f75557f77527a75517a67007901ff8763615379597f75517f77007901007e81517a7561537a75527a527a5379595479937f75597f77527a75517a67615379517f75007f77007901007e81517a7561537a75527a527a5379515479937f75517f77527a75517a6868685179517a75517a75517a75517a7561517a7561610079007982775179517951947f755179549451947f77007981527951799454945194517a75517a75517a75517a7561517951797f75537a75527a527a610000537953797f770079537a75527a527a00527a75517a756161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561597a75587a587a587a587a587a587a587a587a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161587a75577a577a577a577a577a577a577a61005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561577a75567a567a567a567a567a567a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161567a75557a557a557a557a557a615c796100792097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c011179011179855679aa616100790079517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e81517a756157795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff0061517951795179517997527a75517a5179009f635179517993527a75517a685179517a75517a7561527a75517a517951795296a0630079527994527a75517a68537982775279827754527993517993013051797e527e53797e57797e527e52797e5579517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7e56797e0079517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a756100795779ac517a75517a75517a75517a75517a75517a75517a75517a75517a7561517a7561695f79011179ac69607959007600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959517600a26976529f695295946b6c766b796c766b796c75517a517a758767006864607959517600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959007600a26976529f695295946b6c766b796c766b796c75517a517a758767006867516869607959007600a26976529f695295946b6c766b796c766b796c75517a517a75876358007600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958007600a26976529f695295946b6c766b796c766b796c75007a517a755e7994587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757558517600a26976529f695295946b6c766b796c766b796c75007a517a755e7993567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a75756758517600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958517600a26976529f695295946b6c766b796c766b796c75007a517a755e7994567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a757558007600a26976529f695295946b6c766b796c766b796c75007a517a755e7993587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757568616158007600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75616159007600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e6159517600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75617e6159517600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e5579615179007982775480517951797e0051807e517a75517a75617e517a75616100795d79007958806152790079827700517902fd009f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a75675179030000019f6301fd615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f6301fe615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179090000000000000000019f6301ff615279585179517951938000795179827751947f75007f77517a75517a75517a75617e517a7568686868007953797e517a75517a75517a75617e517a75517a75610079aa615f79007982775179517958947f7551790128947f77517a75517a756187777777777777777777777777777777777777776a2102d0de0aaeaefad02b8bdc8a01a1b8b11c696bd3d66a2c5f10780d95b7df42645c013c2102eec2540661b0c39d271570742413bd02932dd0093493fd0beced0b7f93addec401284800000000')


tx_version = 1
tx_locktime = 0x00000000

utxo_satoshis = 300000
utxo = TxOutput(utxo_satoshis, prev_locking_script)

utxo_idx = 0
n_sequence = 0xffffffff
prev_txid = bytes.fromhex('a477ff6b2667c29670467e4e0728b685ee07b240235771862318e29ddbe58458')[::-1]
curr_in = TxInput(prev_txid, utxo_idx, unlocking_script, n_sequence)
curr_tx = Tx(tx_version, [curr_in], [], tx_locktime)

input_idx = 0
context = TxInputContext(curr_tx, input_idx, utxo, is_utxo_after_genesis=True)

tx_out = TxOutput(value=222222, script_pubkey=new_locking_script)
context.tx.outputs.append(tx_out)

policies = [
        # A fairly restrictive policy
        MinerPolicy(100_000, 64, 20_000, 1_000, 16),
        # A loose policy
        MinerPolicy(10_000_000, 256, 10_000_000, 32_000, 256)
    ]
interpreter_limits = InterpreterLimits(policies[1], is_genesis_enabled=True, is_consensus=True, base_flags='consensus')

print(context.verify_input(interpreter_limits))
@tigh-latte tigh-latte added the bug Something isn't working label Nov 30, 2021
@jadwahab jadwahab added the interpreter script interpreter label Dec 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working interpreter script interpreter
Projects
None yet
Development

No branches or pull requests

2 participants