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.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1fc3c3d5e3e0f1fca006ffed789ddd5e6989f44641cf543e4df12baf4c8bc3c |
|
MD5 | 998e1d6594fbb09d770bb3d10983b8c7 |
|
BLAKE2b-256 | bf5678d3eef55dd2e243af52af9470b05bb6a28fe32edf0a5cc689a7fff8d526 |
Hashes for lyra_v2_action_signing-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 945c3418e02ac6fb04b70ea22f91d0d1e1f6e83d20c1441a9f217063eb97f3f6 |
|
MD5 | fc597e553b82c887895edbd48fcc0bfd |
|
BLAKE2b-256 | 036eeb6f698541f40bdd0618dbed103a9a68fdc651da12cf8ce85fa7767980c8 |