Solver
Bitcoin solver.
NormalSolver
- class swap.providers.bitcoin.solver.NormalSolver(xprivate_key: str, account: int = 0, change: bool = False, address: int = 0, path: Optional[str] = None, strict: bool = True)
Bitcoin Normal solver.
- Parameters
xprivate_key (str) – Bitcoin sender root xprivate key.
account (int) – Bitcoin derivation account, defaults to
0
.change (bool) – Bitcoin derivation change, defaults to
False
.address (int) – Bitcoin derivation address, defaults to
0
.path (str) – Bitcoin derivation path, defaults to
None
.strict (bool) – Strict for must be root xprivate key, default to
True
.
- Returns
NormalSolver – Bitcoin normal solver instance.
>>> from swap.providers.bitcoin.solver import NormalSolver >>> sender_xprivate_key = "xprv9s21ZrQH143K3XihXQBN8Uar2WBtrjSzK2oRDEGQ25pA2kKAADoQXaiiVXht163ZTrdtTXfM4GqNRE9gWQHky25BpvBQuuhNCM3SKwWTPNJ" >>> normal_solver: NormalSolver = NormalSolver(xprivate_key=sender_xprivate_key) <swap.providers.bitcoin.solver.NormalSolver object at 0x03FCCA60>
FundSolver
- class swap.providers.bitcoin.solver.FundSolver(xprivate_key: str, account: int = 0, change: bool = False, address: int = 0, path: Optional[str] = None, strict: bool = True)
Bitcoin Fund solver.
- Parameters
xprivate_key (str) – Bitcoin sender root xprivate key.
account (int) – Bitcoin derivation account, defaults to
0
.change (bool) – Bitcoin derivation change, defaults to
False
.address (int) – Bitcoin derivation address, defaults to
0
.path (str) – Bitcoin derivation path, defaults to
None
.strict (bool) – Strict for must be root xprivate key, default to
True
.
- Returns
FundSolver – Bitcoin fund solver instance.
>>> from swap.providers.bitcoin.solver import FundSolver >>> sender_xprivate_key: str = "tprv8ZgxMBicQKsPeMHMJAc6uWGYiGqi1MVM2ybmzXL2TAoDpQe85uyDpdT7mv7Nhdu5rTCBEKLZsd9KyP2LQZJzZTvgVQvENArgU8e6DoYBiXf" >>> fund_solver: FundSolver = FundSolver(xprivate_key=sender_xprivate_key, path="m/44'/1'/0'/0/0") <swap.providers.bitcoin.solver.FundSolver object at 0x03FCCA60>
WithdrawSolver
- class swap.providers.bitcoin.solver.WithdrawSolver(xprivate_key: str, secret_key: str, bytecode: str, account: int = 0, change: bool = False, address: int = 0, path: Optional[str] = None, strict: bool = True)
Bitcoin Withdraw solver.
- Parameters
xprivate_key (str) – Bitcoin recipient root xprivate key.
secret_key (str) – Secret password/passphrase.
bytecode (str) – Bitcoin witness HTLC bytecode.
account (int) – Bitcoin derivation account, defaults to
0
.change (bool) – Bitcoin derivation change, defaults to
False
.address (int) – Bitcoin derivation address, defaults to
0
.path (str) – Bitcoin derivation path, defaults to
None
.strict (bool) – Strict for must be root xprivate key, default to
True
.
- Returns
WithdrawSolver – Bitcoin withdraw solver instance.
>>> from swap.providers.bitcoin.solver import WithdrawSolver >>> recipient_xprivate_key: str = "tprv8ZgxMBicQKsPf949JcuVFLXPJ5m4VKe33gVX3FYVZYVHr2dChU8K66aEQcPdHpUgACq5GQu81Z4e3QN1vxCrV4pxcUcXHoRTamXBRaPdJhW" >>> bytecode: str = "63aa20821124b554d13f247b1e5d10b84e44fb1296f18f38bbaa1bea34a12c843e01588876a9140e259e08f2ec9fc99a92b6f66fdfcb3c7914fd6888ac6702e803b27576a91433ecab3d67f0e2bde43e52f41ec1ecbdc73f11f888ac68" >>> withdraw_solver: WithdrawSolver = WithdrawSolver(xprivate_key=recipient_xprivate_key, secret_key="Hello Meheret!", bytecode=bytecode, path="m/44'/1'/0'/0/0") <swap.providers.bitcoin.solver.WithdrawSolver object at 0x03FCCA60>
RefundSolver
- class swap.providers.bitcoin.solver.RefundSolver(xprivate_key: str, bytecode: str, endtime: int, account: int = 0, change: bool = False, address: int = 0, path: Optional[str] = None, strict: bool = True)
Bitcoin Refund solver.
- Parameters
xprivate_key (str) – Bitcoin sender root xprivate key.
bytecode (str) – Bitcoin witness HTLC bytecode..
endtime (int) – Bitcoin witness expiration block timestamp.
account (int) – Bitcoin derivation account, defaults to
0
.change (bool) – Bitcoin derivation change, defaults to
False
.address (int) – Bitcoin derivation address, defaults to
0
.path (str) – Bitcoin derivation path, defaults to
None
.strict (bool) – Strict for must be root xprivate key, default to
True
.
- Returns
RefundSolver – Bitcoin refund solver instance.
>>> from swap.providers.bitcoin.solver import RefundSolver >>> sender_xprivate_key: str = "tprv8ZgxMBicQKsPeMHMJAc6uWGYiGqi1MVM2ybmzXL2TAoDpQe85uyDpdT7mv7Nhdu5rTCBEKLZsd9KyP2LQZJzZTvgVQvENArgU8e6DoYBiXf" >>> bytecode: str = "63aa20821124b554d13f247b1e5d10b84e44fb1296f18f38bbaa1bea34a12c843e01588876a9140e259e08f2ec9fc99a92b6f66fdfcb3c7914fd6888ac6702e803b27576a91433ecab3d67f0e2bde43e52f41ec1ecbdc73f11f888ac68" >>> refund_solver: RefundSolver = RefundSolver(xprivate_key=sender_xprivate_key, bytecode=bytecode, endtime=1000, path="m/44'/1'/0'/0/0") <swap.providers.bitcoin.solver.RefundSolver object at 0x03FCCA60>