You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Enforce Core-compatible OP_RETURN / datacarrier and standard tx-size limits in create_tx #339
wallet create_tx can attach an OP_RETURN via --add_string / --add_data, but does not implement Bitcoin Core relay policy for:
how large that OP_RETURN script may be (datacarrier)
how large the resulting transaction may be (MAX_STANDARD_TX_WEIGHT)
The documentation says “max 80 bytes”, which matches the pre-v30 Core default. That limit is not actually enforced, and it is no longer the Core default.
A tx that create_tx successfully creates can be non-standard and fail at broadcast against default Core / most public relays.
Use case
Anyone embedding data with --add_string or --add_data currently will discover the problem only at broadcast, after building and signing. Failing at build time with a clear error about the tx weight and the limit will make it easier for users to reconstruct a transaction that can be relayed on the network.
The same check protects bump_fee, where a fee bump can push an already-large transaction over the limit, and any command whose inputs grow the witness.
Additional context
Split out of #326, which fixed the create_tx/bump_fee panics and --fee_rate truncation.
Activity