Solver

Bitcoin solver.

FundSolver

class shuttle.providers.bitcoin.solver.FundSolver(private_key)

Bitcoin FundSolver class.

Parameters

private_key (str) – Bitcoin sender private key.

Returns

FundSolver – Bitcoin fund solver instance.

>>> from shuttle.providers.bitcoin.solver import FundSolver
>>> fund_solver = FundSolver(private_key="92cbbc5990cb5090326a76feeb321cad01048635afe5756523bbf9f7a75bf38b")
<shuttle.providers.bitcoin.solver.FundSolver object at 0x03FCCA60>

ClaimSolver

class shuttle.providers.bitcoin.solver.ClaimSolver(private_key, secret, secret_hash=None, recipient_address=None, sender_address=None, sequence=1000, bytecode=None)

Bitcoin ClaimSolver class.

Parameters
  • private_key (str) – Bitcoin sender private key.

  • secret (str) – Secret password/passphrase.

  • secret_hash (str) – Secret witness password/passphrase hash, defaults to None.

  • recipient_address (str) – Bitcoin witness recipient address, defaults to None.

  • sender_address (str) – Bitcoin witness sender address, defaults to None.

  • sequence (int) – Bitcoin witness sequence number(expiration block), defaults to 1000.

  • bytecode (str) – Bitcoin witness HTLC bytecode, defaults to None.

Returns

ClaimSolver – Bitcoin claim solver instance.

>>> from shuttle.providers.bitcoin.solver import ClaimSolver
>>> from shuttle.utils import sha256
>>> claim_solver = ClaimSolver(private_key="6bc3b581f3dea1963f9257ec2a0195969babee3704e6ba7cd2ec535140b9816f", secret="Hello Meheret!", secret_hash=sha256("Hello Meheret!".encode()).hex(), recipient_address="muTnffLDR5LtFeLR2i3WsKVfdyvzfyPnVB", sender_address="mphBPZf15cRFcL5tUq6mCbE84XobZ1vg7Q", sequence=1000)
<shuttle.providers.bitcoin.solver.ClaimSolver object at 0x03FCCA60>

RefundSolver

class shuttle.providers.bitcoin.solver.RefundSolver(private_key, secret_hash=None, recipient_address=None, sender_address=None, sequence=1000, bytecode=None)

Bitcoin RefundSolver class.

Parameters
  • private_key (str) – Bitcoin sender private key.

  • secret_hash (str) – Secret witness password/passphrase hash, defaults to None.

  • recipient_address (str) – Bitcoin witness recipient address, defaults to None.

  • sender_address (str) – Bitcoin witness sender address, defaults to None.

  • sequence (int) – Bitcoin witness sequence number(expiration block), defaults to 1000.

  • bytecode (str) – Bitcoin witness HTLC bytecode, defaults to None.

Returns

RefundSolver – Bitcoin refund solver instance.

>>> from shuttle.providers.bitcoin.solver import RefundSolver
>>> from shuttle.utils import sha256
>>> refund_solver = RefundSolver(private_key="92cbbc5990cb5090326a76feeb321cad01048635afe5756523bbf9f7a75bf38b", secret_hash=sha256("Hello Meheret!".encode()).hex(), recipient_address="muTnffLDR5LtFeLR2i3WsKVfdyvzfyPnVB", sender_address="mphBPZf15cRFcL5tUq6mCbE84XobZ1vg7Q", sequence=1000)
<shuttle.providers.bitcoin.solver.RefundSolver object at 0x03FCCA60>