- Mar 21, 2023
-
-
vincent authored
-
- Mar 20, 2023
-
-
vincent authored
* Proxy to support multisig op. Always return False. * Bug fix for unreachable block when OP_RETURN and OP_VERIFY are used
-
vincent authored
* Fix: Reversing a hash function should always be considered as imposible. The fix consists into parsing the ast tree in depth.
-
vincent authored
* Tests for symbolic execution
-
- Mar 17, 2023
-
-
vincent authored
* Fix signature constraints: enforce throught the constraints that it's not possible to find a valid signature for a given pubkey
-
vincent authored
All operands are passed at once to the constraint function. It allows to create different conditions based on the order of the operands. Example: for the division, only the second operand must be != 0
-
- Mar 16, 2023
-
-
vincent authored
* Clean the way hash fucntions are represented * Add a util function to interpret the results
-
- Mar 06, 2023
-
-
vincent authored
-
- Mar 02, 2023
-
-
vincent authored
-
vincent authored
-
vincent authored
* Now the operators really compute the hash if a known value is passed to the operator. On the other hand, if a symbol is passed, a symbol is returned.
-
vincent authored
* False is encoded over 0 byte. The operators were returning a value encoded over 1 byte.
-
vincent authored
* Different memories should generate different symbols. * During a merge, entries from the other memory should be "deepcopied"
-
- Mar 01, 2023
- Feb 27, 2023
-
-
vincent authored
-
- Feb 24, 2023
- Feb 23, 2023
-
-
vincent authored
The operator is supposed to push the size of the top element without removing it. This has been fixed by preceeding an OP_DUP before the OP_SIZE which consumes the element.
-
vincent authored
* This will help with the debugging, because printing bitvectors are always printed as positive integers. * Abs operator fixed.
-
vincent authored
This memory is no longer intended to be use because it doesn't support enough functionality. E.g. no RAM access.
-
vincent authored
To do: * Clean up the code * Implement the artihmetic constraints * Rewrite the function ` __min_bytes_needed`
-
vincent authored
-
- Feb 22, 2023
-
-
vincent authored
* Every script ends with a unique final block. Previously, every script had 2 final blocks: one for successful execution, one for failed ones.
-
- Feb 17, 2023
-
-
vincent authored
Note: this might not be the most effective implementation and might need to be revisited in the future. Time complexity in worst case scenario: O(V^2) where V is the number of vertices in the graph. See: https://wiki.python.org/moin/TimeComplexity
-
- Feb 16, 2023
- Feb 15, 2023
-
-
vincent authored
* OP_PICK implemented.
-
vincent authored
* New tests for uncovered opcodes.
-
vincent authored
* The memory, the machine and the operators work as independant layers. Memory only deal with words of memory. While the BTCMachine deals with BTCVectors. Finally, operators are totally agnostic of the underline concepts.
-
vincent authored
* Run the test only on the fully symbolic memory in order to simplify the code. The other memories are going to be deprecated.
-
- Feb 14, 2023