Python package to sign on-chain self-custodial requests for orders, transfers, deposits, withdrawals and RFQs.
Project description
v2-action-signing-python
Python package to sign the following on-chain self-custodial requests:
- order
- RFQ quote
- RFQ execution
Although the below actions are supported by the SDK, we recommend you use the UX developer portal (https://docs.lyra.finance/docs/onboard-via-interface):
- create subaccount
- deposit
- withdrawal
- transfer
Usage
-
Install package:
pip install lyra_v2_action_signing
-
Sign an order
from web3 import Web3
from lyra_v2_action_signing import SignedAction, TradeModuleData, utils
session_key_wallet = Web3().eth.account.from_key("0x2ae8be44db8a590d20bffbe3b6872df9b569147d3bf6801a35a28281a4816bbd")
action = SignedAction(
subaccount_id=30769,
owner=SMART_CONTRACT_WALLET_ADDRESS, # from Protocol Constants table in docs.lyra.finance
signer=session_key_wallet.address,
signature_expiry_sec=utils.MAX_INT_32,
nonce=utils.get_action_nonce(),
module_address=TRADE_MODULE_ADDRESS, # from Protocol Constants table in docs.lyra.finance
module_data=TradeModuleData(
asset=instrument_ticker["base_asset_address"],
sub_id=int(instrument_ticker["base_asset_sub_id"]),
limit_price=Decimal("100"),
amount=Decimal("1"),
max_fee=Decimal("1000"),
recipient_id=30769,
is_bid=True,
),
DOMAIN_SEPARATOR=DOMAIN_SEPARATOR, # from Protocol Constants table in docs.lyra.finance
ACTION_TYPEHASH=ACTION_TYPEHASH, # from Protocol Constants table in docs.lyra.finance
)
action.sign(session_key_wallet.key)
For full signing examples see examples/
in https://github.com/lyra-finance/v2-action-signing-python/tree/master/examples.
Acknowledgements
Thank you 8baller for building a full Python client for the v2 API. Much of the signing logic in the repo was used to inform this package: https://github.com/8ball030/lyra_client
Developers
- Create venv and run
pip install -e .
, this reflects changes in package immediately in venv - Install dev related packages with
pip install -r requirements-dev.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lyra_v2_action_signing-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0eda5bf9c7e2ae4999ed158bdd26b38a229e5b987ff3f9a764935fcb452fd69e |
|
MD5 | 280663f4103751af117f204864425878 |
|
BLAKE2b-256 | 5fc5759b3dc447d7d2460d77867711825885858c15a0c825b4f546a9b36207c5 |
Hashes for lyra_v2_action_signing-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c40f8277299b9034d250f37475186d16d2fee8f860b39b9942e9dc39ef99a9b6 |
|
MD5 | a13132e0c2931ddc17f90c647e296bab |
|
BLAKE2b-256 | 73f1dccaaba96029ba2a3f613762a8cb212e5ac2f1686f08951f1525c0c95379 |