コード例 #1
0
def push_script(x):
    """Return hex-encoded PUSH operation.

    Args:
        x(str): Hex-encoded string to push.
    """
    return CScriptOp.encode_op_pushdata(x.decode('hex')).encode('hex')
コード例 #2
0
	def send(self, amt=MIN_TAX, tax=MIN_TAX, dummy=False):
		(i, s) = self._i(amt, tax)
		o = self._o(s, amt, tax, i)
		self._create(i, o)

		assert(s - tax == round(sum([ v * 10 ** 8 for k, v in o.items() ])))

		# get the unpacked data and edit to suit our needs
		d = self.tx.unpack()

		# prep the OP_RETURN payload
		p = CScriptOp.encode_op_pushdata(self.msg)

		# append OP_RETURN tx out
		d['vout'].append({
			'value' : 0,
			'scriptPubKey' : RawTx.BinaryStream._unpack_hex(p) + '6a',
		})
		self.tx.pack(d)

		# signed, sealed, delivered
		# we're using the base _CALL() function to bypass bitcoin.rpc's object shenanigans
		tx = RawTx(self.proxy, self.proxy._call('signrawtransaction', self.tx.raw)['hex'])

		if not dummy:
			self.txid = self.proxy._call('sendrawtransaction', tx.raw)

		return str(self.txid)
コード例 #3
0
ファイル: utils.py プロジェクト: aesedepece/hashmal
def push_script(x):
    """Return hex-encoded PUSH operation.

    Args:
        x(str): Hex-encoded string to push.
    """
    return CScriptOp.encode_op_pushdata(x.decode('hex')).encode('hex')
コード例 #4
0
    OP_CHECKSEQUENCEVERIFY,
    OP_EQUALVERIFY,
    OP_CHECKMULTISIG,
    OP_DUP,
    OP_HASH160,
    OP_CHECKSIG,
    OP_VERIFY,
    CScript,
    CScriptOp,
)
from naive_eval import eval_script

s = eval_script([], CScript([]))
print("blank is fine", len(s))

n = CScriptOp.encode_op_pushdata(b"qowie")
s = eval_script([n], CScript([n, OP_EQUALVERIFY]))
print("equalverify is fine", len(s))

s = eval_script(
    [
        CScriptOp.encode_op_pushdata(
            unhexlify(
                "30450220377bf4cab9bbdb219f1b0cca56f4a39fbf787d6fa9d04e248101d498de991d30022100b8e0c72dfab9a0d88eb2703c62e0e57ab2cb906e8f156b7641c2f0e24b8bba2b01"
            )),
    ],
    CScript([
        CScriptOp.encode_op_pushdata(
            unhexlify(
                "045e9392308b08d0d663961463b6cd056a66b757a2ced9dde197c21362360237f231b80ea66315898969f5c079f0ba3fc1c0661ed8c853ad15043f22f2b7779c95"
            )),
コード例 #5
0
ファイル: utils.py プロジェクト: mtrajano/hashmal
def push_script(x):
    return CScriptOp.encode_op_pushdata(x.decode('hex')).encode('hex')
コード例 #6
0
def push_script(x):
    return CScriptOp.encode_op_pushdata(x.decode('hex')).encode('hex')