Tighearnán Carroll
Tighearnán Carroll
Currently through our code we have references to `opcode` and `opCode`, in both internal var names and error types. This inconstency should be address before releasing v2, to prevent it...
The following locking/unlocking script combo fail on our interpreter, but pass on others: ``` Locking script: 017b0300000000000003000000000000615779577957795779577957795779577952007600a26976529f699454958c6b6c766b796c766b796c766b796c766b796c756b6b6b6b75757575757575756c6c6c6c53795f007600a26976529f695195946b6c766b796c7587696152795279527953007600a26976539f699451958c6b6c766b796c756b7575756c011600539500937600a26976569f695195946b6c766b796c759c696152795279527953517600a26976539f699451958c6b6c766b796c756b7575756c011600539551937600a26976569f695195946b6c766b796c759c696152795279527953527600a26976539f699451958c6b6c766b796c756b7575756c011600539552937600a26976569f695195946b6c766b796c759c6975757575615779577957795779577957795779577952517600a26976529f699454958c6b6c766b796c766b796c766b796c766b796c756b6b6b6b75757575757575756c6c6c6c53795f517600a26976529f695195946b6c766b796c7587696152795279527953007600a26976539f699451958c6b6c766b796c756b7575756c011651539500937600a26976569f695195946b6c766b796c759c696152795279527953517600a26976539f699451958c6b6c766b796c756b7575756c011651539551937600a26976569f695195946b6c766b796c759c696152795279527953527600a26976539f699451958c6b6c766b796c756b7575756c011651539552937600a26976569f695195946b6c766b796c759c697575757558795c799c777777777777777777777777777777777777 Unlocking script: 000000000000017b0300000003000000 ```
The following locking and unlocking script combo pass on python but fail on our interpreter. ```python from bitcoinx import Script, TxOutput, Tx, TxInput, TxInputContext, InterpreterLimits, MinerPolicy prev_locking_script = Script.from_hex('510140000000000061587961007901687f7700005279517f75007f77007901fd8763615379537f75517f77007901007e81517a7561537a75527a527a5379535479937f75537f77527a75517a67007901fe8763615379557f75517f77007901007e81517a7561537a75527a527a5379555479937f75557f77527a75517a67007901ff8763615379597f75517f77007901007e81517a7561537a75527a527a5379595479937f75597f77527a75517a67615379517f75007f77007901007e81517a7561537a75527a527a5379515479937f75517f77527a75517a6868685179517a75517a75517a75517a7561517a7561610079007982775179517951947f755179549451947f77007981527951799454945194517a75517a75517a75517a7561517951797f75537a75527a527a610000537953797f770079537a75527a527a00527a75517a756161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561597a75587a587a587a587a587a587a587a587a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161587a75577a577a577a577a577a577a577a61005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a7561577a75567a567a567a567a567a567a6161005279005179547951937f7554797f77815479768b567a75557a557a557a557a557a750079014c9f630079547a75537a537a537a527955795579937f7555797f77527a75517a670079014c9c63615279557951937f7555797f77007901007e81517a7561547a75537a537a537a54795193557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014d9c63615279557952937f7555797f77007901007e81517a7561547a75537a537a537a54795293557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670079014e9c63615279557954937f7555797f77007901007e81517a7561547a75537a537a537a54795493557a75547a547a547a547a547975527955795579937f7555797f77527a75517a670069686868685479547993557a75547a547a547a547a5479755179517a75517a75517a75517a75618161567a75557a557a557a557a557a615c796100792097dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff0262102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382210ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800206c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810201008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c011179011179855679aa616100790079517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e01007e81517a756157795679567956795679537956795479577995939521414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff0061517951795179517997527a75517a5179009f635179517993527a75517a685179517a75517a7561527a75517a517951795296a0630079527994527a75517a68537982775279827754527993517993013051797e527e53797e57797e527e52797e5579517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f517f7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7c7e7e56797e0079517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a75517a756100795779ac517a75517a75517a75517a75517a75517a75517a75517a75517a7561517a7561695f79011179ac69607959007600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959517600a26976529f695295946b6c766b796c766b796c75517a517a758767006864607959517600a26976529f695295946b6c766b796c766b796c75517a517a7587635e7959007600a26976529f695295946b6c766b796c766b796c75517a517a758767006867516869607959007600a26976529f695295946b6c766b796c766b796c75517a517a75876358007600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958007600a26976529f695295946b6c766b796c766b796c75007a517a755e7994587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757558517600a26976529f695295946b6c766b796c766b796c75007a517a755e7993567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a75756758517600a26976529f695295946b6c766b796c766b796c75007a517a755e79a26958517600a26976529f695295946b6c766b796c766b796c75007a517a755e7994567a75557a557a557a557a557a58517600a26976529f695295946b6c766b796c766b796c75007a517a757558007600a26976529f695295946b6c766b796c766b796c75007a517a755e7993587a75577a577a577a577a577a577a577a58007600a26976529f695295946b6c766b796c766b796c75007a517a757568616158007600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75616159007600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e6159517600a26976529f695295946b6c766b796c766b796c75517a517a7500798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a75617e6159517600a26976529f695295946b6c766b796c766b796c75007a517a75610079009c6301006700796800798277005179014c9f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a756751790200019f63014c615279515179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179030000019f63014d615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f63014e615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a7567006968686868007953797e517a75517a75517a7561517a75617e5579615179007982775480517951797e0051807e517a75517a75617e517a75616100795d79007958806152790079827700517902fd009f63615179515179517951938000795179827751947f75007f77517a75517a75517a7561517a75675179030000019f6301fd615279525179517951938000795179827751947f75007f77517a75517a75517a75617e517a756751790500000000019f6301fe615279545179517951938000795179827751947f75007f77517a75517a75517a75617e517a75675179090000000000000000019f6301ff615279585179517951938000795179827751947f75007f77517a75517a75517a75617e517a7568686868007953797e517a75517a75517a75617e517a75517a75610079aa615f79007982775179517958947f7551790128947f77517a75517a756187777777777777777777777777777777777777776a2102d0de0aaeaefad02b8bdc8a01a1b8b11c696bd3d66a2c5f10780d95b7df42645c01642102eec2540661b0c39d271570742413bd02932dd0093493fd0beced0b7f93addec4004700000000') unlocking_script...
Currently, `OP_RETURN` after genesis are handled using a special case error code, `ErrOK`, which results in some pretty funky and unintuitive code. So for example, on `OP_RETURN`, we check to...
Add a `Range` function for ordered traversal. I know that #8 is already opened and adds an iterator, however, this solution is both simplified and conforms to a pattern already...
## Fixes Or Enhances Add support for custom marshalling and unmarshalling to a struct. The motivation behind this mainly comes from using generics, when looking to register a custom encoder/decoder,...
### 🤔 What's changed? Add a new formatter type which only executes when `Flush` is called. Use this formatter when running concurrently. Then while running concurrently, after the `suite` is...
Currently in my own config, I pass the new function handler into `buf_request_sync`, however the linter complains so I've to silence it with `---@diagnostic disable-next-line: param-type-mismatch`. While this isn't a...
### Is there an existing issue for this? - [x] I have searched the existing issues ### Current Behavior `custom:` attributes dont' seem to be working when applied to users...
### 🤔 What's changed? Add a new supported type to step definitions, being: - Any type that is structured ontop of another supported type: ```go type MyCustomInt int ``` -...