Consensus critical, see FindAndDelete() in Satoshi codebase
(script, sig)
| 849 | SIGHASH_ANYONECANPAY = 0x80 |
| 850 | |
| 851 | def FindAndDelete(script, sig): |
| 852 | """Consensus critical, see FindAndDelete() in Satoshi codebase""" |
| 853 | r = b'' |
| 854 | last_sop_idx = sop_idx = 0 |
| 855 | skip = True |
| 856 | for (opcode, data, sop_idx) in script.raw_iter(): |
| 857 | if not skip: |
| 858 | r += script[last_sop_idx:sop_idx] |
| 859 | last_sop_idx = sop_idx |
| 860 | if script[sop_idx:sop_idx + len(sig)] == sig: |
| 861 | skip = True |
| 862 | else: |
| 863 | skip = False |
| 864 | if not skip: |
| 865 | r += script[last_sop_idx:] |
| 866 | return CScript(r) |
| 867 | |
| 868 | def IsLowDERSignature(sig): |
| 869 | """ |
no test coverage detected