Solver

Bytom solver.

FundSolver

class shuttle.providers.bytom.solver.FundSolver(xprivate_key, account=1, change=False, address=1, path=None, indexes=None)

Bytom FundSolver class.

Parameters
  • xprivate_key (str) – Bytom sender xprivate key.

  • account (int) – Bytom derivation account, defaults to 1.

  • change (bool) – Bytom derivation change, defaults to False.

  • address (int) – Bytom derivation address, defaults to 1.

  • path (str) – Bytom derivation path, defaults to None.

  • indexes (list) – Bytom derivation indexes, defaults to None.

Returns

FundSolver – Bytom fund solver instance.

>>> from shuttle.providers.bytom.solver import FundSolver
>>> fund_solver = FundSolver(xprivate_key="205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b")
<shuttle.providers.bytom.solver.FundSolver object at 0x03FCCA60>

ClaimSolver

class shuttle.providers.bytom.solver.ClaimSolver(xprivate_key, secret, secret_hash=None, recipient_public=None, sender_public=None, sequence=1000, bytecode=None, account=1, change=False, address=1, path=None, indexes=None)

Bytom ClaimSolver class.

Parameters
  • xprivate_key (str) – Bytom sender xprivate key.

  • secret (str) – Secret password/passphrase.

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

  • recipient_public (str) – Bytom recipient public key, defaults to None.

  • sender_public (str) – Bytom sender public key, defaults to None.

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

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

  • account (int) – Bytom derivation account, defaults to 1.

  • change (bool) – Bytom derivation change, defaults to False.

  • address (int) – Bytom derivation address, defaults to 1.

  • path (str) – Bytom derivation path, defaults to None.

  • indexes (list) – Bytom derivation indexes, defaults to None.

Returns

ClaimSolver – Bytom claim solver instance.

>>> from shuttle.providers.bytom.solver import ClaimSolver
>>> from shuttle.utils import sha256
>>> recipient_xprivate_key = "205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b"
>>> claim_solver = ClaimSolver(xprivate_key=recipient_xprivate_key, secret="Hello Meheret!", secret_hash=sha256("Hello Meheret!".encode()).hex(), recipient_public="3e0a377ae4afa031d4551599d9bb7d5b27f4736d77f78cac4d476f0ffba5ae3e", sender_public="91ff7f525ff40874c4f47f0cab42e46e3bf53adad59adef9558ad1b6448f22e2", sequence=1000)
<shuttle.providers.bytom.solver.ClaimSolver object at 0x03FCCA60>

RefundSolver

class shuttle.providers.bytom.solver.RefundSolver(xprivate_key, secret_hash=None, recipient_public=None, sender_public=None, sequence=1000, bytecode=None, account=1, change=False, address=1, path=None, indexes=None)

Bytom RefundSolver class.

Parameters
  • xprivate_key (str) – Bytom sender xprivate key.

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

  • recipient_public (str) – Bytom recipient public key, defaults to None.

  • sender_public (str) – Bytom sender public key, defaults to None.

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

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

  • account (int) – Bytom derivation account, defaults to 1.

  • change (bool) – Bytom derivation change, defaults to False.

  • address (int) – Bytom derivation address, defaults to 1.

  • path (str) – Bytom derivation path, defaults to None.

  • indexes (list) – Bytom derivation indexes, defaults to None.

Returns

RefundSolver – Bytom refund solver instance.

>>> from shuttle.providers.bytom.solver import RefundSolver
>>> from shuttle.utils import sha256
>>> sender_xprivate_key = "205b15f70e253399da90b127b074ea02904594be9d54678207872ec1ba31ee51ef4490504bd2b6f997113671892458830de09518e6bd5958d5d5dd97624cfa4b"
>>> refund_solver = RefundSolver(xprivate_key=sender_xprivate_key, secret_hash=sha256("Hello Meheret!".encode()).hex(), recipient_public="3e0a377ae4afa031d4551599d9bb7d5b27f4736d77f78cac4d476f0ffba5ae3e", sender_public="91ff7f525ff40874c4f47f0cab42e46e3bf53adad59adef9558ad1b6448f22e2", sequence=1000)
<shuttle.providers.bytom.solver.RefundSolver object at 0x03FCCA60>