Python SDK for Flexvaults - manage deposits, withdrawals, locks, and transfers
Project description
flexvaults
Python SDK for Flexvaults - manage deposits, withdrawals, locks, and transfers on the accounting module.
Installation
pip install flexvaults
Quick Start
import asyncio
from flexvaults import FlexvaultsClient, DepositQuoteRequest
async def main():
async with FlexvaultsClient(base_url="https://api.example.com") as client:
# Get a deposit quote
quote = await client.get_deposit_quote(
DepositQuoteRequest(
user_address="0xYourAddress",
token_id="0xTokenId",
amount=1000000,
)
)
print(f"Deposit to: {quote.deposit_address}")
# Check balance
balance = await client.get_balance("0xYourAddress", "0xTokenId")
print(f"Balance: {balance.balance}")
asyncio.run(main())
EIP-712 Signing
from eth_account import Account
from flexvaults import (
sign_lock_message,
SignLockParams,
LockMessage,
get_accounting_contract,
create_lock_expiry,
)
account = Account.from_key("0xYourPrivateKey")
signature = sign_lock_message(
SignLockParams(
account=account,
network="testnet",
verifying_contract=get_accounting_contract("testnet"),
message=LockMessage(
user_address=account.address,
service_address="0xServiceAddress",
token_id="0xTokenId",
amount=1000000,
expiry=create_lock_expiry(60),
),
)
)
API Reference
Client
FlexvaultsClient(base_url, timeout=30.0, headers=None)- Main API clientget_deposit_quote(request)- Get deposit quoteinclude_deposit(request)- Include deposit proofget_balance(user_address, token_id)- Get token balanceget_batch_balances(request)- Get multiple token balancesget_token_info(token_id)- Get token informationlock_funds(request)- Lock funds for a serviceunlock_funds(request)- Unlock specific lockunlock_all_expired(request)- Unlock all expired locksget_locked_funds(user_address, service_address=None)- Get locked fundsget_total_locked_balance(user_address, token_id)- Get total locked balanceget_expired_locks(user_address)- Get expired lockstransfer_funds(request)- Transfer tokenstransfer_locked_funds(request)- Transfer locked tokensrequest_withdrawal(request)- Request withdrawalget_pending_withdrawals(user_address)- Get pending withdrawalsget_withdrawal_info(index)- Get withdrawal info
Signing
sign_lock_message(params)- Sign lock messagesign_transfer_message(params)- Sign transfer messagesign_transfer_locked_message(params)- Sign transfer locked messagesign_withdraw_message(params)- Sign withdrawal messagecreate_lock_expiry(minutes_from_now=60)- Create expiry timestamp
Utilities
format_token_amount(amount, decimals=18)- Format wei to human-readableparse_token_amount(amount, decimals=18)- Parse human-readable to weishorten_address(address, chars=4)- Shorten Ethereum addressis_expired(expiry)- Check if timestamp is expiredformat_time_remaining(expiry_timestamp)- Format time remainingformat_relative_time(timestamp)- Format relative time (e.g., "5m ago")
License
Apache-2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flexvaults_sdk-0.1.5.tar.gz
(97.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flexvaults_sdk-0.1.5.tar.gz.
File metadata
- Download URL: flexvaults_sdk-0.1.5.tar.gz
- Upload date:
- Size: 97.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba5523c0ef8d282d58c0835acbcf70ffbf76ed802648b884349ddbf0e17ed8d6
|
|
| MD5 |
117dd8db5c460aaf5a166ae63729b236
|
|
| BLAKE2b-256 |
165a377e2c967c22bc01d665e2134e1d18ec6abf708db3768ccddea07c932f28
|
File details
Details for the file flexvaults_sdk-0.1.5-py3-none-any.whl.
File metadata
- Download URL: flexvaults_sdk-0.1.5-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c64f0dba6f38ea4ff56c87f67c85307dcd55736ce22394105039f650c11c7cdd
|
|
| MD5 |
7255079ffe3705acfdde8a9e39e913d6
|
|
| BLAKE2b-256 |
833b43e95d11a6b45b0c04a1a43937b3fc60d8536191614590a700d278913d26
|