Signature

XinFin signature.

class swap.providers.xinfin.signature.Signature(network: str = 'mainnet', xrc20: bool = False, provider: str = 'http')

XinFin Signature.

Parameters
  • network (str) – XinFin network, defaults to mainnet.

  • xrc20 (bool) – Signature XRC20 token, default to False.

  • provider (str) – XinFin network provider, defaults to http.

Returns

Signature – XinFin signature instance.

Note

XinFin has only two networks, mainnet, apothem and testnet.

fee(unit: str = 'Wei') Union[Wei, int, float]

Get XinFin signature fee.

Parameters

unit (str) – XinFin unit, default to Wie.

Returns

Wei, int, float – XinFin signature fee.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import WithdrawSolver
>>> signature: Signature = Signature(network="testnet")
>>> withdraw_solver: WithdrawSolver = WithdrawSolver(xprivate_key="xprv9s21ZrQH143K4Kpce43z5guPyxLrFoc2i8aQAq835Zzp4Rt7i6nZaMCnVSDyHT6MnmJJGKHMrCUqaYpGojrug1ZN5qQDdShQffmkyv5xyUR", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiA4MjY4OSwgInR5cGUiOiAieGluZmluX3dpdGhkcmF3X3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHhmOEQ0MzgwNjI2MENGYzZjQzc5ZkI0MDhCQTE4OTcwNTQ2NjdGODFDIiwgInZhbHVlIjogMCwgIm5vbmNlIjogMCwgImdhcyI6IDgyNjg5LCAiZ2FzUHJpY2UiOiAyMDAwMDAwMDAwMCwgInRvIjogIjB4ZEUwNmIxMGM2Nzc2NWM4QzBiOUY2NEUwZUY0MjNiNDVFYjg2YjhlNyIsICJkYXRhIjogIjB4MDZhNTM2NjUxOTA5NTc1YzQzNmEwZWFiZTZjYWE3MmQ0ZmViMmM0YWVjZWVmNTg2ZmU5NGNhODJmMzZjZTljMjBlZmRhNGI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU0ODY1NmM2YzZmMjA0ZDY1Njg2NTcyNjU3NDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0sICJzaWduYXR1cmUiOiBudWxsLCAibmV0d29yayI6ICJ0ZXN0bmV0In0", solver=withdraw_solver)
>>> signature.fee(unit="Wei")
82689
hash() Optional[str]

Get XinFin signature has.

Returns

str – XinFin signature hash.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import RefundSolver
>>> signature: Signature = Signature(network="testnet")
>>> refund_solver: RefundSolver = RefundSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiA1OTIzMiwgInR5cGUiOiAieGluZmluX3JlZnVuZF91bnNpZ25lZCIsICJ0cmFuc2FjdGlvbiI6IHsiY2hhaW5JZCI6IDEzMzcsICJmcm9tIjogIjB4MjIyNGNhQTIyMzVERjhEYTNEMjAxNmQyQUIxMTM3RDJkNTQ4QTIzMiIsICJ2YWx1ZSI6IDAsICJub25jZSI6IDIsICJnYXMiOiA1OTIzMiwgImdhc1ByaWNlIjogMjAwMDAwMDAwMDAsICJ0byI6ICIweGRFMDZiMTBjNjc3NjVjOEMwYjlGNjRFMGVGNDIzYjQ1RWI4NmI4ZTciLCAiZGF0YSI6ICIweDcyNDlmYmI2MTkwOTU3NWM0MzZhMGVhYmU2Y2FhNzJkNGZlYjJjNGFlY2VlZjU4NmZlOTRjYTgyZjM2Y2U5YzIwZWZkYTRiNCJ9LCAic2lnbmF0dXJlIjogbnVsbCwgIm5ldHdvcmsiOiAidGVzdG5ldCJ9", solver=refund_solver)
>>> signature.hash()
"0x90449ab8e3736feae4980554bb129b408f88d0003e569022cf8e00817cc2a7d9"
json() dict

Get XinFin signature json.

Returns

dict – XinFin signature json.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import FundSolver
>>> signature: Signature = Signature(network="testnet")
>>> fund_solver: FundSolver = FundSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiAxMzg0NDgsICJ0cmFuc2FjdGlvbiI6IHsiY2hhaW5JZCI6IDEzMzcsICJmcm9tIjogIjB4NjllMDRmZTE2YzlBNkE4MzA3NkIzYzJkYzRiNEJjMjFiNWQ5QTIwQyIsICJ2YWx1ZSI6IDMwMDAwMDAwMDAwMDAwMDAwMDAsICJub25jZSI6IDEsICJnYXMiOiAxMzg0NDgsICJnYXNQcmljZSI6IDIwMDAwMDAwMDAwLCAidG8iOiAiMHhlYUVhQzgxZGE1RTM4NkU4Q2E0RGUxZTY0ZDQwYTEwRTQ2OEE1YjQwIiwgImRhdGEiOiAiMHhmNGZkMzA2MjNhMjZkYTgyZWFkMTVhODA1MzNhMDI2OTY2NTZiMTRiNWRiZmQ4NGViMTQ3OTBmMmUxYmU1ZTllNDU4MjBlZWIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBkNzdlMGQyZWVmOTA1Y2ZiMzljM2M0Yjk1MmVkMjc4ZDU4Zjk2ZTFmMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjllMDRmZTE2YzlhNmE4MzA3NmIzYzJkYzRiNGJjMjFiNWQ5YTIwYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjBjZTRiNzIifSwgInNpZ25hdHVyZSI6IG51bGwsICJuZXR3b3JrIjogInRlc3RuZXQiLCAidHlwZSI6ICJldGhlcmV1bV9mdW5kX3Vuc2lnbmVkIn0", solver=fund_solver)
>>> signature.json()
{'chainId': 1337, 'from': '0x2224caA2235DF8Da3D2016d2AB1137D2d548A232', 'value': 1000000000000000000, 'nonce': 2, 'gas': 138448, 'gasPrice': 20000000000, 'to': '0xdE06b10c67765c8C0b9F64E0eF423b45Eb86b8e7', 'data': '0xf4fd30623a26da82ead15a80533a02696656b14b5dbfd84eb14790f2e1be5e9e45820eeb000000000000000000000000f8d43806260cfc6cc79fb408ba1897054667f81c0000000000000000000000002224caa2235df8da3d2016d2ab1137d2d548a2320000000000000000000000000000000000000000000000000000000060e006c3'}
raw() Optional[str]

Get XinFin signature raw.

Returns

str – XinFin signature raw.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import WithdrawSolver
>>> signature: Signature = Signature(network="testnet")
>>> withdraw_solver: WithdrawSolver = WithdrawSolver(xprivate_key="xprv9s21ZrQH143K4Kpce43z5guPyxLrFoc2i8aQAq835Zzp4Rt7i6nZaMCnVSDyHT6MnmJJGKHMrCUqaYpGojrug1ZN5qQDdShQffmkyv5xyUR", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiA4MjY4OSwgInR5cGUiOiAieGluZmluX3dpdGhkcmF3X3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHhmOEQ0MzgwNjI2MENGYzZjQzc5ZkI0MDhCQTE4OTcwNTQ2NjdGODFDIiwgInZhbHVlIjogMCwgIm5vbmNlIjogMCwgImdhcyI6IDgyNjg5LCAiZ2FzUHJpY2UiOiAyMDAwMDAwMDAwMCwgInRvIjogIjB4ZEUwNmIxMGM2Nzc2NWM4QzBiOUY2NEUwZUY0MjNiNDVFYjg2YjhlNyIsICJkYXRhIjogIjB4MDZhNTM2NjUxOTA5NTc1YzQzNmEwZWFiZTZjYWE3MmQ0ZmViMmM0YWVjZWVmNTg2ZmU5NGNhODJmMzZjZTljMjBlZmRhNGI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU0ODY1NmM2YzZmMjA0ZDY1Njg2NTcyNjU3NDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0sICJzaWduYXR1cmUiOiBudWxsLCAibmV0d29yayI6ICJ0ZXN0bmV0In0", solver=withdraw_solver)
>>> signature.raw()
"0xf8ec808504a817c8008301430194de06b10c67765c8c0b9f64e0ef423b45eb86b8e780b88406a536651909575c436a0eabe6caa72d4feb2c4aeceef586fe94ca82f36ce9c20efda4b40000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e48656c6c6f204d65686572657421000000000000000000000000000000000000820a95a0ffc24cf0a8abaf98bec5096ba0822833d4509d31ebcb4a3a0e6ba0530ec90156a0184a9b41949b199ec5c7a7c269c1c47d24fb05ca60adf7c5ec617a06e1047384"
type() str

Get XinFin signature type.

Returns

str – XinFin signature type.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import FundSolver
>>> signature: Signature = Signature(network="testnet")
>>> fund_solver: FundSolver = FundSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiAxMzg0NDgsICJ0eXBlIjogInhpbmZpbl9mdW5kX3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHgyMjI0Y2FBMjIzNURGOERhM0QyMDE2ZDJBQjExMzdEMmQ1NDhBMjMyIiwgInZhbHVlIjogMTAwMDAwMDAwMDAwMDAwMDAwMCwgIm5vbmNlIjogMiwgImdhcyI6IDEzODQ0OCwgImdhc1ByaWNlIjogMjAwMDAwMDAwMDAsICJ0byI6ICIweGRFMDZiMTBjNjc3NjVjOEMwYjlGNjRFMGVGNDIzYjQ1RWI4NmI4ZTciLCAiZGF0YSI6ICIweGY0ZmQzMDYyM2EyNmRhODJlYWQxNWE4MDUzM2EwMjY5NjY1NmIxNGI1ZGJmZDg0ZWIxNDc5MGYyZTFiZTVlOWU0NTgyMGVlYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGY4ZDQzODA2MjYwY2ZjNmNjNzlmYjQwOGJhMTg5NzA1NDY2N2Y4MWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjI0Y2FhMjIzNWRmOGRhM2QyMDE2ZDJhYjExMzdkMmQ1NDhhMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MGUwMDZjMyJ9LCAic2lnbmF0dXJlIjogbnVsbCwgIm5ldHdvcmsiOiAidGVzdG5ldCJ9", solver=fund_solver)
>>> signature.type()
"xinfin_fund_signed"
sign(transaction_raw: str, solver: Union[swap.providers.xinfin.solver.NormalSolver, swap.providers.xinfin.solver.FundSolver, swap.providers.xinfin.solver.WithdrawSolver, swap.providers.xinfin.solver.RefundSolver]) Union[swap.providers.xinfin.signature.NormalSignature, swap.providers.xinfin.signature.FundSignature, swap.providers.xinfin.signature.WithdrawSignature, swap.providers.xinfin.signature.RefundSignature]

Sign XinFin unsigned transaction raw.

Parameters
Returns

NormalSignature, FundSignature, WithdrawSignature, RefundSignature – XinFin signature instance.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import FundSolver
>>> signature: Signature = Signature(network="testnet")
>>> fund_solver: FundSolver = FundSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiAxMzg0NDgsICJ0eXBlIjogInhpbmZpbl9mdW5kX3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHgyMjI0Y2FBMjIzNURGOERhM0QyMDE2ZDJBQjExMzdEMmQ1NDhBMjMyIiwgInZhbHVlIjogMTAwMDAwMDAwMDAwMDAwMDAwMCwgIm5vbmNlIjogMiwgImdhcyI6IDEzODQ0OCwgImdhc1ByaWNlIjogMjAwMDAwMDAwMDAsICJ0byI6ICIweGRFMDZiMTBjNjc3NjVjOEMwYjlGNjRFMGVGNDIzYjQ1RWI4NmI4ZTciLCAiZGF0YSI6ICIweGY0ZmQzMDYyM2EyNmRhODJlYWQxNWE4MDUzM2EwMjY5NjY1NmIxNGI1ZGJmZDg0ZWIxNDc5MGYyZTFiZTVlOWU0NTgyMGVlYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGY4ZDQzODA2MjYwY2ZjNmNjNzlmYjQwOGJhMTg5NzA1NDY2N2Y4MWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjI0Y2FhMjIzNWRmOGRhM2QyMDE2ZDJhYjExMzdkMmQ1NDhhMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MGUwMDZjMyJ9LCAic2lnbmF0dXJlIjogbnVsbCwgIm5ldHdvcmsiOiAidGVzdG5ldCJ9", solver=fund_solver)
<swap.providers.xinfin.signature.FundSignature object at 0x0409DAF0>
signature() dict

Get XinFin signature.

Returns

dict – XinFin signature.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import WithdrawSolver
>>> signature: Signature = Signature(network="testnet")
>>> withdraw_solver: WithdrawSolver = WithdrawSolver(xprivate_key="xprv9s21ZrQH143K4Kpce43z5guPyxLrFoc2i8aQAq835Zzp4Rt7i6nZaMCnVSDyHT6MnmJJGKHMrCUqaYpGojrug1ZN5qQDdShQffmkyv5xyUR", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiA4MjY4OSwgInR5cGUiOiAieGluZmluX3dpdGhkcmF3X3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHhmOEQ0MzgwNjI2MENGYzZjQzc5ZkI0MDhCQTE4OTcwNTQ2NjdGODFDIiwgInZhbHVlIjogMCwgIm5vbmNlIjogMCwgImdhcyI6IDgyNjg5LCAiZ2FzUHJpY2UiOiAyMDAwMDAwMDAwMCwgInRvIjogIjB4ZEUwNmIxMGM2Nzc2NWM4QzBiOUY2NEUwZUY0MjNiNDVFYjg2YjhlNyIsICJkYXRhIjogIjB4MDZhNTM2NjUxOTA5NTc1YzQzNmEwZWFiZTZjYWE3MmQ0ZmViMmM0YWVjZWVmNTg2ZmU5NGNhODJmMzZjZTljMjBlZmRhNGI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU0ODY1NmM2YzZmMjA0ZDY1Njg2NTcyNjU3NDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0sICJzaWduYXR1cmUiOiBudWxsLCAibmV0d29yayI6ICJ0ZXN0bmV0In0", solver=withdraw_solver)
>>> signature.signature()
{'hash': '0xe8e8738c791385738661573ad4de63dd81b77d240b6138ca476ea8cdcbb29a21', 'rawTransaction': '0xf8ec808504a817c8008301430194de06b10c67765c8c0b9f64e0ef423b45eb86b8e780b88406a536651909575c436a0eabe6caa72d4feb2c4aeceef586fe94ca82f36ce9c20efda4b40000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e48656c6c6f204d65686572657421000000000000000000000000000000000000820a95a0ffc24cf0a8abaf98bec5096ba0822833d4509d31ebcb4a3a0e6ba0530ec90156a0184a9b41949b199ec5c7a7c269c1c47d24fb05ca60adf7c5ec617a06e1047384', 'r': 115683075740172584287236173170973052486872064110718784013746063807450268107094, 's': 10987326587522303302152973055763806493281157878637620947188858604750528344964, 'v': 2709}
transaction_raw() str

Get XinFin signed transaction raw.

Returns

str – XinFin signed transaction raw.

>>> from swap.providers.xinfin.signature import Signature
>>> from swap.providers.xinfin.solver import FundSolver
>>> signature: Signature = Signature(network="testnet")
>>> fund_solver: FundSolver = FundSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj", account=0, change=False, address=0)
>>> signature.sign(transaction_raw="eyJmZWUiOiAxMzg0NDgsICJ0eXBlIjogInhpbmZpbl9mdW5kX3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHgyMjI0Y2FBMjIzNURGOERhM0QyMDE2ZDJBQjExMzdEMmQ1NDhBMjMyIiwgInZhbHVlIjogMTAwMDAwMDAwMDAwMDAwMDAwMCwgIm5vbmNlIjogMiwgImdhcyI6IDEzODQ0OCwgImdhc1ByaWNlIjogMjAwMDAwMDAwMDAsICJ0byI6ICIweGRFMDZiMTBjNjc3NjVjOEMwYjlGNjRFMGVGNDIzYjQ1RWI4NmI4ZTciLCAiZGF0YSI6ICIweGY0ZmQzMDYyM2EyNmRhODJlYWQxNWE4MDUzM2EwMjY5NjY1NmIxNGI1ZGJmZDg0ZWIxNDc5MGYyZTFiZTVlOWU0NTgyMGVlYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGY4ZDQzODA2MjYwY2ZjNmNjNzlmYjQwOGJhMTg5NzA1NDY2N2Y4MWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjI0Y2FhMjIzNWRmOGRhM2QyMDE2ZDJhYjExMzdkMmQ1NDhhMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MGUwMDZjMyJ9LCAic2lnbmF0dXJlIjogbnVsbCwgIm5ldHdvcmsiOiAidGVzdG5ldCJ9", solver=fund_solver)
>>> signature.transaction_raw()
"eyJmZWUiOiAxMzg0NDgsICJ0eXBlIjogInhpbmZpbl9mdW5kX3NpZ25lZCIsICJ0cmFuc2FjdGlvbiI6IHsiY2hhaW5JZCI6IDEzMzcsICJmcm9tIjogIjB4MjIyNGNhQTIyMzVERjhEYTNEMjAxNmQyQUIxMTM3RDJkNTQ4QTIzMiIsICJ2YWx1ZSI6IDEwMDAwMDAwMDAwMDAwMDAwMDAsICJub25jZSI6IDIsICJnYXMiOiAxMzg0NDgsICJnYXNQcmljZSI6IDIwMDAwMDAwMDAwLCAidG8iOiAiMHhkRTA2YjEwYzY3NzY1YzhDMGI5RjY0RTBlRjQyM2I0NUViODZiOGU3IiwgImRhdGEiOiAiMHhmNGZkMzA2MjNhMjZkYTgyZWFkMTVhODA1MzNhMDI2OTY2NTZiMTRiNWRiZmQ4NGViMTQ3OTBmMmUxYmU1ZTllNDU4MjBlZWIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmOGQ0MzgwNjI2MGNmYzZjYzc5ZmI0MDhiYTE4OTcwNTQ2NjdmODFjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIyNGNhYTIyMzVkZjhkYTNkMjAxNmQyYWIxMTM3ZDJkNTQ4YTIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjBlMDA2YzMifSwgInNpZ25hdHVyZSI6IHsiaGFzaCI6ICIweDcwZTNhYjZjZDhiMDZiMDliYjc4M2Y0ZjkyNzlmMGM0OGM3MGIyZjk0MjQ0NmU4OWIyN2EyZGQyZWJjNTMwNDgiLCAicmF3VHJhbnNhY3Rpb24iOiAiMHhmOGY0MDI4NTA0YTgxN2M4MDA4MzAyMWNkMDk0ZGUwNmIxMGM2Nzc2NWM4YzBiOWY2NGUwZWY0MjNiNDVlYjg2YjhlNzg4MGRlMGI2YjNhNzY0MDAwMGI4ODRmNGZkMzA2MjNhMjZkYTgyZWFkMTVhODA1MzNhMDI2OTY2NTZiMTRiNWRiZmQ4NGViMTQ3OTBmMmUxYmU1ZTllNDU4MjBlZWIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmOGQ0MzgwNjI2MGNmYzZjYzc5ZmI0MDhiYTE4OTcwNTQ2NjdmODFjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIyNGNhYTIyMzVkZjhkYTNkMjAxNmQyYWIxMTM3ZDJkNTQ4YTIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjBlMDA2YzM4MjBhOTVhMDk4Yjg0YWRjNWVmMWNiMTZlYzFjZjE2MTAzMDlmNGM4OTAwYjU3ZGYzOTMwZDRjOTI3OWI0ZjJlZmE2NDc2OTVhMDQ2MWQ4YzA4MWVmMGUzNjJkZjA5MjNjZjcwMzAzMTFjMDg5YzVkYjA1ZmQ5N2Y2MzgwNDI1ZDAwODYzMWZlYWUiLCAiciI6IDY5MDc3MTY5NTE0OTkyNDY2NDQyOTgxMzAwMzk0OTkzNDQ5NDgzMDExOTkwMzg1ODU5NzE3ODAyOTk1MzUyNzIzMjkyNzg1MjQzNzk3LCAicyI6IDMxNzE0MTA0NDI5MTMzODA4NzY2ODgyNzkwNDAyOTIyODA1Mzg0NzA5Mzk4MDEyOTMyOTcxOTc5MDIyODg3NDMyMjk1MTUxNjk3NTgyLCAidiI6IDI3MDl9LCAibmV0d29yayI6ICJ0ZXN0bmV0In0"

NormalSignature

class swap.providers.xinfin.signature.NormalSignature(network: str = 'mainnet', xrc20: bool = False, provider: str = 'http')

XinFin Normal signature.

Parameters
  • network (str) – XinFin network, defaults to mainnet.

  • xrc20 (bool) – Normal signature XRC20 token, default to False.

  • provider (str) – XinFin network provider, defaults to http.

Returns

NormalSignature – XinFin normal signature instance.

Note

XinFin has only five networks, mainnet, ropsten, kovan, rinkeby and testnet.

sign(transaction_raw: str, solver: swap.providers.xinfin.solver.NormalSolver) swap.providers.xinfin.signature.NormalSignature

Sign XinFin unsigned normal transaction raw.

Parameters
Returns

NormalSignature – XinFin normal signature instance.

>>> from swap.providers.xinfin.signature import NormalSignature
>>> from swap.providers.xinfin.solver import NormalSolver
>>> normal_signature: NormalSignature = NormalSignature(network="mainnet")
>>> normal_solver: NormalSolver = NormalSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj")
>>> normal_signature.sign(transaction_raw="eyJmZWUiOiAxMzg0NDgsICJ0cmFuc2FjdGlvbiI6IHsiY2hhaW5JZCI6IDEzMzcsICJmcm9tIjogIjB4NjllMDRmZTE2YzlBNkE4MzA3NkIzYzJkYzRiNEJjMjFiNWQ5QTIwQyIsICJ2YWx1ZSI6IDMwMDAwMDAwMDAwMDAwMDAwMDAsICJub25jZSI6IDEsICJnYXMiOiAxMzg0NDgsICJnYXNQcmljZSI6IDIwMDAwMDAwMDAwLCAidG8iOiAiMHhlYUVhQzgxZGE1RTM4NkU4Q2E0RGUxZTY0ZDQwYTEwRTQ2OEE1YjQwIiwgImRhdGEiOiAiMHhmNGZkMzA2MjNhMjZkYTgyZWFkMTVhODA1MzNhMDI2OTY2NTZiMTRiNWRiZmQ4NGViMTQ3OTBmMmUxYmU1ZTllNDU4MjBlZWIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBkNzdlMGQyZWVmOTA1Y2ZiMzljM2M0Yjk1MmVkMjc4ZDU4Zjk2ZTFmMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjllMDRmZTE2YzlhNmE4MzA3NmIzYzJkYzRiNGJjMjFiNWQ5YTIwYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjBjZTRiNzIifSwgInNpZ25hdHVyZSI6IG51bGwsICJuZXR3b3JrIjogInRlc3RuZXQiLCAidHlwZSI6ICJldGhlcmV1bV9mdW5kX3Vuc2lnbmVkIn0", solver=normal_solver)
<swap.providers.xinfin.signature.NormalSignature object at 0x0409DAF0>

FundSignature

class swap.providers.xinfin.signature.FundSignature(network: str = 'mainnet', xrc20: bool = False, provider: str = 'http')

XinFin Fund signature.

Parameters
  • network (str) – XinFin network, defaults to mainnet.

  • xrc20 (bool) – Fund signature XRC20 token, default to False.

  • provider (str) – XinFin network provider, defaults to http.

Returns

FundSignature – XinFin fund signature instance.

Note

XinFin has only two networks, mainnet, apothem and testnet.

sign(transaction_raw: str, solver: swap.providers.xinfin.solver.FundSolver) swap.providers.xinfin.signature.FundSignature

Sign XinFin unsigned fund transaction raw.

Parameters
Returns

FundSignature – XinFin fund signature instance.

>>> from swap.providers.xinfin.signature import FundSignature
>>> from swap.providers.xinfin.solver import FundSolver
>>> fund_signature: FundSignature = FundSignature(network="testnet")
>>> fund_solver: FundSolver = FundSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj", account=0, change=False, address=0)
>>> fund_signature.sign(transaction_raw="eyJmZWUiOiAxMzg0NDgsICJ0eXBlIjogInhpbmZpbl9mdW5kX3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHgyMjI0Y2FBMjIzNURGOERhM0QyMDE2ZDJBQjExMzdEMmQ1NDhBMjMyIiwgInZhbHVlIjogMTAwMDAwMDAwMDAwMDAwMDAwMCwgIm5vbmNlIjogMiwgImdhcyI6IDEzODQ0OCwgImdhc1ByaWNlIjogMjAwMDAwMDAwMDAsICJ0byI6ICIweGRFMDZiMTBjNjc3NjVjOEMwYjlGNjRFMGVGNDIzYjQ1RWI4NmI4ZTciLCAiZGF0YSI6ICIweGY0ZmQzMDYyM2EyNmRhODJlYWQxNWE4MDUzM2EwMjY5NjY1NmIxNGI1ZGJmZDg0ZWIxNDc5MGYyZTFiZTVlOWU0NTgyMGVlYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGY4ZDQzODA2MjYwY2ZjNmNjNzlmYjQwOGJhMTg5NzA1NDY2N2Y4MWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjI0Y2FhMjIzNWRmOGRhM2QyMDE2ZDJhYjExMzdkMmQ1NDhhMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MGUwMDZjMyJ9LCAic2lnbmF0dXJlIjogbnVsbCwgIm5ldHdvcmsiOiAidGVzdG5ldCJ9", solver=fund_solver)
<swap.providers.xinfin.signature.FundSignature object at 0x0409DAF0>

WithdrawSignature

class swap.providers.xinfin.signature.WithdrawSignature(network: str = 'mainnet', xrc20: bool = False, provider: str = 'http')

XinFin Withdraw signature.

Parameters
  • network (str) – XinFin network, defaults to mainnet.

  • xrc20 (bool) – Fund signature XRC20 token, default to False.

  • provider (str) – XinFin network provider, defaults to http.

Returns

WithdrawSignature – XinFin withdraw signature instance.

Note

XinFin has only two networks, mainnet, apothem and testnet.

sign(transaction_raw: str, solver: swap.providers.xinfin.solver.WithdrawSolver) swap.providers.xinfin.signature.WithdrawSignature

Sign XinFin unsigned withdraw transaction raw.

Parameters
Returns

WithdrawSignature – XinFin withdraw signature instance.

>>> from swap.providers.xinfin.signature import WithdrawSignature
>>> from swap.providers.xinfin.solver import WithdrawSolver
>>> withdraw_signature: WithdrawSignature = WithdrawSignature(network="testnet")
>>> withdraw_solver: WithdrawSolver = WithdrawSolver(xprivate_key="xprv9s21ZrQH143K4Kpce43z5guPyxLrFoc2i8aQAq835Zzp4Rt7i6nZaMCnVSDyHT6MnmJJGKHMrCUqaYpGojrug1ZN5qQDdShQffmkyv5xyUR", account=0, change=False, address=0)
>>> withdraw_signature.sign(transaction_raw="eyJmZWUiOiA4MjY4OSwgInR5cGUiOiAieGluZmluX3dpdGhkcmF3X3Vuc2lnbmVkIiwgInRyYW5zYWN0aW9uIjogeyJjaGFpbklkIjogMTMzNywgImZyb20iOiAiMHhmOEQ0MzgwNjI2MENGYzZjQzc5ZkI0MDhCQTE4OTcwNTQ2NjdGODFDIiwgInZhbHVlIjogMCwgIm5vbmNlIjogMCwgImdhcyI6IDgyNjg5LCAiZ2FzUHJpY2UiOiAyMDAwMDAwMDAwMCwgInRvIjogIjB4ZEUwNmIxMGM2Nzc2NWM4QzBiOUY2NEUwZUY0MjNiNDVFYjg2YjhlNyIsICJkYXRhIjogIjB4MDZhNTM2NjUxOTA5NTc1YzQzNmEwZWFiZTZjYWE3MmQ0ZmViMmM0YWVjZWVmNTg2ZmU5NGNhODJmMzZjZTljMjBlZmRhNGI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU0ODY1NmM2YzZmMjA0ZDY1Njg2NTcyNjU3NDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0sICJzaWduYXR1cmUiOiBudWxsLCAibmV0d29yayI6ICJ0ZXN0bmV0In0", solver=withdraw_solver)
<swap.providers.xinfin.signature.WithdrawSignature object at 0x0409DAF0>

RefundSignature

class swap.providers.xinfin.signature.RefundSignature(network: str = 'mainnet', xrc20: bool = False, provider: str = 'http')

XinFin Refund signature.

Parameters
  • network (str) – XinFin network, defaults to mainnet.

  • xrc20 (bool) – Fund signature XRC20 token, default to False.

  • provider (str) – XinFin network provider, defaults to http.

Returns

RefundSignature – XinFin refund signature instance.

Note

XinFin has only two networks, mainnet, apothem and testnet.

sign(transaction_raw: str, solver: swap.providers.xinfin.solver.RefundSolver) swap.providers.xinfin.signature.RefundSignature

Sign XinFin unsigned refund transaction raw.

Parameters
Returns

RefundSignature – XinFin refund signature instance.

>>> from swap.providers.xinfin.signature import RefundSignature
>>> from swap.providers.xinfin.solver import RefundSolver
>>> refund_signature: RefundSignature = RefundSignature(network="testnet")
>>> refund_solver: RefundSolver = RefundSolver(xprivate_key="xprv9s21ZrQH143K3Y3pdbkbjreZQ9RVmqTLhRgf86uZyCJk2ou36YdUJt5frjwihGWmV1fQEDioiGZXWXUbHLy3kQf5xmhvhp8dZ2tfn6tgGUj", account=0, change=False, address=0)
>>> refund_signature.sign(transaction_raw="eyJmZWUiOiA1OTIzMiwgInR5cGUiOiAieGluZmluX3JlZnVuZF91bnNpZ25lZCIsICJ0cmFuc2FjdGlvbiI6IHsiY2hhaW5JZCI6IDEzMzcsICJmcm9tIjogIjB4MjIyNGNhQTIyMzVERjhEYTNEMjAxNmQyQUIxMTM3RDJkNTQ4QTIzMiIsICJ2YWx1ZSI6IDAsICJub25jZSI6IDIsICJnYXMiOiA1OTIzMiwgImdhc1ByaWNlIjogMjAwMDAwMDAwMDAsICJ0byI6ICIweGRFMDZiMTBjNjc3NjVjOEMwYjlGNjRFMGVGNDIzYjQ1RWI4NmI4ZTciLCAiZGF0YSI6ICIweDcyNDlmYmI2MTkwOTU3NWM0MzZhMGVhYmU2Y2FhNzJkNGZlYjJjNGFlY2VlZjU4NmZlOTRjYTgyZjM2Y2U5YzIwZWZkYTRiNCJ9LCAic2lnbmF0dXJlIjogbnVsbCwgIm5ldHdvcmsiOiAidGVzdG5ldCJ9", solver=refund_solver)
<swap.providers.xinfin.signature.RefundSignature object at 0x0409DAF0>