MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / encode_op_pushdata

Method encode_op_pushdata

test/functional/test_framework/script.py:58–69  ·  view source on GitHub ↗

Encode a PUSHDATA op, returning bytes

(d)

Source from the content-addressed store, hash-verified

56
57 @staticmethod
58 def encode_op_pushdata(d):
59 """Encode a PUSHDATA op, returning bytes"""
60 if len(d) < 0x4c:
61 return b'' + bytes([len(d)]) + d # OP_PUSHDATA
62 elif len(d) <= 0xff:
63 return b'\x4c' + bytes([len(d)]) + d # OP_PUSHDATA1
64 elif len(d) <= 0xffff:
65 return b'\x4d' + len(d).to_bytes(2, "little") + d # OP_PUSHDATA2
66 elif len(d) <= 0xffffffff:
67 return b'\x4e' + len(d).to_bytes(4, "little") + d # OP_PUSHDATA4
68 else:
69 raise ValueError("Data too long to encode in a PUSHDATA op")
70
71 @staticmethod
72 def encode_op_n(n):

Callers 1

__coerce_instanceMethod · 0.80

Calls 1

to_bytesMethod · 0.80

Tested by

no test coverage detected