Hi Peter,

I'm talking about this check in VerifyScript as of commit 43e71f74 in bitcoin core.

```
    if ((flags & SCRIPT_VERIFY_SIGPUSHONLY) != 0 && !scriptSig.IsPushOnly()) {
        return set_error(serror, SCRIPT_ERR_SIG_PUSHONLY);
    }
```

In my understanding, we never set SCRIPT_VERIFY_SIGPUSHONLY, neither in MANDATORY_SCRIPT_VERIFY_FLAGS,
nor in STANDARD_SCRIPT_VERIFY_FLAGS, and this sounds okay as it's a script check pertaining to BIP62
rule 2, and BIP62 was never activated. As far as I can tell, that's more a stale check just right
there in the interpreter code paths.

We still return SCRIPT_ERR_SIG_PUSHONLY for P2SH spends, verifying the scriptSig is push-only.

All the unit tests (i.e `script_tests.cpp`) are manually setting the SCRIPT_VERIFY_SIGPUSHONLY flag
to verify the logic correctness, even it appears as never being set for block validation.

The original PR is there: https://github.com/bitcoin/bitcoin/pull/5065

Feel free to point me out if I'm missing something obvious here.

Best,
Antoine
OTS hash: 42e2e614fea49ec876539e28b323718df3ef734b3a4b247fcc649f0704ea1b61
Le vendredi 14 février 2025 à 17:45:54 UTC, Peter Todd a écrit :
On Fri, Feb 07, 2025 at 05:02:46AM -0800, Antoine Riard wrote:
> This might be a stylistic note, though I could point in bitcoin core code
> today implemented
> check in the script interpreter right in the crux of consensus code paths
> that is just stale
> due to a never-activated BIP (-- yes I'm starring at you SIGPUSHONLY).

What specifically do you mean by this? You mean the
SCRIPT_ERR_SIG_PUSHONLY error condition?

--
https://petertodd.org 'peter'[:-1]@petertodd.org

--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/97c36a7a-fe4d-4e24-8bbb-a55b7284fe71n%40googlegroups.com.