What changed, and why it matters
This commit simply deletes a test file that checked how Bitcoin script opcodes were serialized to JSON. The underlying serialization feature for opcodes had already been removed in a previous change, so this test was no longer useful. There is no code change that affects how the library behaves, and no security issue is introduced or fixed here.
No action required. This is a routine test cleanup following a prior API change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit removes bitcoin/tests/serde_opcodes.rs, a regression test that verified serde_json serialization of Opcode values as strings. The commit message states the serde trait was already removed from Opcode, making the test obsolete. The diff shows only deletion of test code; no library logic, API, or serialization behavior is modified.
Changed components
bitcoin/tests/serde_opcodes.rsInspect captured patch +0 / −282
diff --git a/bitcoin/tests/serde_opcodes.rs b/bitcoin/tests/serde_opcodes.rs
deleted file mode 100644
index 0ca1b21d..00000000
--- a/bitcoin/tests/serde_opcodes.rs
+++ /dev/null
@@ -1,282 +0,0 @@
-//! serde regression tests for blockdata::opcodes module.
-//!
-
-#![cfg(feature = "serde")]
-
-extern crate bitcoin;
-extern crate serde_json;
-
-use bitcoin::opcodes::OpcodeExt as _;
-
-macro_rules! test_opcodes {
- ($($op:ident),* $(,)+) => {
- $(
- let op = bitcoin::opcodes::all::$op;
- let want = concat!("\"", stringify!($op), "\"");
- let got = ::serde_json::to_string(&op.as_str()).unwrap();
- assert_eq!(got, want);
- )*
- }
-}
-
-#[test]
-fn serde_regression_opcodes() {
- test_opcodes! {
- OP_PUSHBYTES_0,
- OP_PUSHBYTES_1,
- OP_PUSHBYTES_2,
- OP_PUSHBYTES_3,
- OP_PUSHBYTES_4,
- OP_PUSHBYTES_5,
- OP_PUSHBYTES_6,
- OP_PUSHBYTES_7,
- OP_PUSHBYTES_8,
- OP_PUSHBYTES_9,
- OP_PUSHBYTES_10,
- OP_PUSHBYTES_11,
- OP_PUSHBYTES_12,
- OP_PUSHBYTES_13,
- OP_PUSHBYTES_14,
- OP_PUSHBYTES_15,
- OP_PUSHBYTES_16,
- OP_PUSHBYTES_17,
- OP_PUSHBYTES_18,
- OP_PUSHBYTES_19,
- OP_PUSHBYTES_20,
- OP_PUSHBYTES_21,
- OP_PUSHBYTES_22,
- OP_PUSHBYTES_23,
- OP_PUSHBYTES_24,
- OP_PUSHBYTES_25,
- OP_PUSHBYTES_26,
- OP_PUSHBYTES_27,
- OP_PUSHBYTES_28,
- OP_PUSHBYTES_29,
- OP_PUSHBYTES_30,
- OP_PUSHBYTES_31,
- OP_PUSHBYTES_32,
- OP_PUSHBYTES_33,
- OP_PUSHBYTES_34,
- OP_PUSHBYTES_35,
- OP_PUSHBYTES_36,
- OP_PUSHBYTES_37,
- OP_PUSHBYTES_38,
- OP_PUSHBYTES_39,
- OP_PUSHBYTES_40,
- OP_PUSHBYTES_41,
- OP_PUSHBYTES_42,
- OP_PUSHBYTES_43,
- OP_PUSHBYTES_44,
- OP_PUSHBYTES_45,
- OP_PUSHBYTES_46,
- OP_PUSHBYTES_47,
- OP_PUSHBYTES_48,
- OP_PUSHBYTES_49,
- OP_PUSHBYTES_50,
- OP_PUSHBYTES_51,
- OP_PUSHBYTES_52,
- OP_PUSHBYTES_53,
- OP_PUSHBYTES_54,
- OP_PUSHBYTES_55,
- OP_PUSHBYTES_56,
- OP_PUSHBYTES_57,
- OP_PUSHBYTES_58,
- OP_PUSHBYTES_59,
- OP_PUSHBYTES_60,
- OP_PUSHBYTES_61,
- OP_PUSHBYTES_62,
- OP_PUSHBYTES_63,
- OP_PUSHBYTES_64,
- OP_PUSHBYTES_65,
- OP_PUSHBYTES_66,
- OP_PUSHBYTES_67,
- OP_PUSHBYTES_68,
- OP_PUSHBYTES_69,
- OP_PUSHBYTES_70,
- OP_PUSHBYTES_71,
- OP_PUSHBYTES_72,
- OP_PUSHBYTES_73,
- OP_PUSHBYTES_74,
- OP_PUSHBYTES_75,
- OP_PUSHDATA1,
- OP_PUSHDATA2,
- OP_PUSHDATA4,
- OP_1NEGATE,
- OP_RESERVED,
- OP_1,
- OP_2,
- OP_3,
- OP_4,
- OP_5,
- OP_6,
- OP_7,
- OP_8,
- OP_9,
- OP_10,
- OP_11,
- OP_12,
- OP_13,
- OP_14,
- OP_15,
- OP_16,
- OP_NOP,
- OP_VER,
- OP_IF,
- OP_NOTIF,
- OP_VERIF,
- OP_VERNOTIF,
- OP_ELSE,
- OP_ENDIF,
- OP_VERIFY,
- OP_RETURN,
- OP_TOALTSTACK,
- OP_FROMALTSTACK,
- OP_2DROP,
- OP_2DUP,
- OP_3DUP,
- OP_2OVER,
- OP_2ROT,
- OP_2SWAP,
- OP_IFDUP,
- OP_DEPTH,
- OP_DROP,
- OP_DUP,
- OP_NIP,
- OP_OVER,
- OP_PICK,
- OP_ROLL,
- OP_ROT,
- OP_SWAP,
- OP_TUCK,
- OP_CAT,
- OP_SUBSTR,
- OP_LEFT,
- OP_RIGHT,
- OP_SIZE,
- OP_INVERT,
- OP_AND,
- OP_OR,
- OP_XOR,
- OP_EQUAL,
- OP_EQUALVERIFY,
- OP_RESERVED1,
- OP_RESERVED2,
- OP_1ADD,
- OP_1SUB,
- OP_2MUL,
- OP_2DIV,
- OP_NEGATE,
- OP_ABS,
- OP_NOT,
- OP_0NOTEQUAL,
- OP_ADD,
- OP_SUB,
- OP_MUL,
- OP_DIV,
- OP_MOD,
- OP_LSHIFT,
- OP_RSHIFT,
- OP_BOOLAND,
- OP_BOOLOR,
- OP_NUMEQUAL,
- OP_NUMEQUALVERIFY,
- OP_NUMNOTEQUAL,
- OP_LESSTHAN,
- OP_GREATERTHAN,
- OP_LESSTHANOREQUAL,
- OP_GREATERTHANOREQUAL,
- OP_MIN,
- OP_MAX,
- OP_WITHIN,
- OP_RIPEMD160,
- OP_SHA1,
- OP_SHA256,
- OP_HASH160,
- OP_HASH256,
- OP_CODESEPARATOR,
- OP_CHECKSIG,
- OP_CHECKSIGVERIFY,
- OP_CHECKMULTISIG,
- OP_CHECKMULTISIGVERIFY,
- OP_NOP1,
- OP_CLTV,
- OP_CSV,
- OP_NOP4,
- OP_NOP5,
- OP_NOP6,
- OP_NOP7,
- OP_NOP8,
- OP_NOP9,
- OP_NOP10,
- OP_CHECKSIGADD,
- OP_RETURN_187,
- OP_RETURN_188,
- OP_RETURN_189,
- OP_RETURN_190,
- OP_RETURN_191,
- OP_RETURN_192,
- OP_RETURN_193,
- OP_RETURN_194,
- OP_RETURN_195,
- OP_RETURN_196,
- OP_RETURN_197,
- OP_RETURN_198,
- OP_RETURN_199,
- OP_RETURN_200,
- OP_RETURN_201,
- OP_RETURN_202,
- OP_RETURN_203,
- OP_RETURN_204,
- OP_RETURN_205,
- OP_RETURN_206,
- OP_RETURN_207,
- OP_RETURN_208,
- OP_RETURN_209,
- OP_RETURN_210,
- OP_RETURN_211,
- OP_RETURN_212,
- OP_RETURN_213,
- OP_RETURN_214,
- OP_RETURN_215,
- OP_RETURN_216,
- OP_RETURN_217,
- OP_RETURN_218,
- OP_RETURN_219,
- OP_RETURN_220,
- OP_RETURN_221,
- OP_RETURN_222,
- OP_RETURN_223,
- OP_RETURN_224,
- OP_RETURN_225,
- OP_RETURN_226,
- OP_RETURN_227,
- OP_RETURN_228,
- OP_RETURN_229,
- OP_RETURN_230,
- OP_RETURN_231,
- OP_RETURN_232,
- OP_RETURN_233,
- OP_RETURN_234,
- OP_RETURN_235,
- OP_RETURN_236,
- OP_RETURN_237,
- OP_RETURN_238,
- OP_RETURN_239,
- OP_RETURN_240,
- OP_RETURN_241,
- OP_RETURN_242,
- OP_RETURN_243,
- OP_RETURN_244,
- OP_RETURN_245,
- OP_RETURN_246,
- OP_RETURN_247,
- OP_RETURN_248,
- OP_RETURN_249,
- OP_RETURN_250,
- OP_RETURN_251,
- OP_RETURN_252,
- OP_RETURN_253,
- OP_RETURN_254,
- OP_INVALIDOPCODE,
- }
-}
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.