Branch: refs/heads/master
Home: https://github.com/conformal/btcscript
Commit: 8df0af32d605fb56350ab8d989eeab08a4c992d7
https://github.com/conformal/btcscript/commit/8df0af32d605fb56350ab8d989eeab08a4c992d7
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M opcode.go
M script.go
Log Message:
-----------
Encountering OP_VERIF and OP_VERNOTIF in execution is always an error.
I honestly thought we already handled this, but some tests dhill is
working on shows that we didn't.
Commit: c1a6e47f38f2847b1cac108fd88252670b42e94c
https://github.com/conformal/btcscript/commit/c1a6e47f38f2847b1cac108fd88252670b42e94c
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M script.go
Log Message:
-----------
Conditionals must not straddle two scripts.
Found by tests dhill is working on. We checked that ifs were closed at the end
of execution but not at script switching time, we now move this to just after
finishing a single script.
Commit: a5e7e9ebb669e09f2abb0783c635f4d340b11ff4
https://github.com/conformal/btcscript/commit/a5e7e9ebb669e09f2abb0783c635f4d340b11ff4
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M opcode.go
M script.go
Log Message:
-----------
Disabled opcodes are `fail if pc passes' not fail if execute.
Detected by bitcoind negative tests.
Commit: c7d5102954bdfaf60b198281f12b9423df8fd5cb
https://github.com/conformal/btcscript/commit/c7d5102954bdfaf60b198281f12b9423df8fd5cb
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M script.go
Log Message:
-----------
Alt stack should be purged between scripts.
Found by bitcoind negative scripts.
Commit: f80c3255a34cea396f9bc6bec273c71505aa0616
https://github.com/conformal/btcscript/commit/f80c3255a34cea396f9bc6bec273c71505aa0616
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M opcode.go
M opcode_test.go
M stack.go
Log Message:
-----------
PopInt now guarantees that number will be 32 bit.
So remove later checks that need this.
Commit: 8beb0dec54550f434561e09b1bd9087c2633d2df
https://github.com/conformal/btcscript/commit/8beb0dec54550f434561e09b1bd9087c2633d2df
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M opcode.go
M script.go
Log Message:
-----------
Make opcode.Exec run a bunch of unconditional checks
Add push length and number of operations to this to match bitcoind behaviour.
found that we differed here by their negative tests.
Commit: d6d755e411cadfcff143210741803f63da1a53bf
https://github.com/conformal/btcscript/commit/d6d755e411cadfcff143210741803f63da1a53bf
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M opcode.go
M script.go
Log Message:
-----------
Always return reserved opcode for always-illegal ops.
Commit: dec16d7ff26f5145a0e573ddbd87df4108d104a8
https://github.com/conformal/btcscript/commit/dec16d7ff26f5145a0e573ddbd87df4108d104a8
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M script.go
Log Message:
-----------
Enforce a combined max stack depth of 1000 after every opcode.
This limit is for the sum of main and alt stacks. Found by bitcoind
negative tests.
Commit: 42f6576b02636de92e44e206421ca4d0c622996b
https://github.com/conformal/btcscript/commit/42f6576b02636de92e44e206421ca4d0c622996b
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M script.go
Log Message:
-----------
Enforce max script length of 10000.
Detected by bitcoind negative script tests. Note that this length is only for
*executing* scripts, this is why it is in NewScript.
Commit: 299dcc2fad071d33e5492af381f74dfc630363ae
https://github.com/conformal/btcscript/commit/299dcc2fad071d33e5492af381f74dfc630363ae
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M script.go
Log Message:
-----------
PushDataN with a 0 length is valid, we were too tight here.
Found by bitcoind positive tests. (but of course that is noncanonical
anyway, it should be OP_0 ;).
Commit: 02ee7762e45257bcfde2343617649280d7c6af07
https://github.com/conformal/btcscript/commit/02ee7762e45257bcfde2343617649280d7c6af07
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M scriptbuilder.go
Log Message:
-----------
AddData([]byte{}) is valid and should push empty to the stack.
Doing so is perfectly idiomatic. Fixes the last of the valid bitcoind
script tests. (by fixing the script parser :)
Commit: 9375c8dc481beab5af9c642f272f1006a71e74b6
https://github.com/conformal/btcscript/commit/9375c8dc481beab5af9c642f272f1006a71e74b6
Author: Owain G. Ainsworth <[email protected]>
Date: 2014-03-14 (Fri, 14 Mar 2014)
Changed paths:
M script.go
M test_coverage.txt
Log Message:
-----------
move data extraction fof OP_PUSHDATA into main function.
This allows us to centralise the error checking to simplify things a bit.
Compare:
https://github.com/conformal/btcscript/compare/201d6651c983...9375c8dc481b