algofi¶
- algofi
- v1
- client
AlgofiMainnetClient
AlgofiTestnetClient
Client
Client.get_active_asset_ids()
Client.get_active_assets()
Client.get_active_bank_asset_ids()
Client.get_active_market_addresses()
Client.get_active_market_app_ids()
Client.get_active_markets()
Client.get_active_oracle_app_ids()
Client.get_active_ordered_symbols()
Client.get_asset()
Client.get_default_params()
Client.get_manager()
Client.get_market()
Client.get_max_atomic_opt_in_market_app_ids()
Client.get_prices()
Client.get_raw_prices()
Client.get_staking_contract()
Client.get_staking_contracts()
Client.get_storage_accounts()
Client.get_storage_state()
Client.get_user_balance()
Client.get_user_balances()
Client.get_user_info()
Client.get_user_staking_contract_state()
Client.get_user_state()
Client.is_opted_into_app()
Client.is_opted_into_asset()
Client.prepare_add_collateral_transactions()
Client.prepare_borrow_transactions()
Client.prepare_burn_transactions()
Client.prepare_claim_rewards_transactions()
Client.prepare_claim_staking_rewards_transactions()
Client.prepare_liquidate_transactions()
Client.prepare_mint_to_collateral_transactions()
Client.prepare_mint_transactions()
Client.prepare_optin_transactions()
Client.prepare_remove_algos_from_vault_transactions()
Client.prepare_remove_collateral_transactions()
Client.prepare_remove_collateral_underlying_transactions()
Client.prepare_repay_borrow_transactions()
Client.prepare_send_governance_commitment_transactions()
Client.prepare_send_governance_vote_transactions()
Client.prepare_send_keyreg_offline_transactions()
Client.prepare_send_keyreg_online_transactions()
Client.prepare_stake_transactions()
Client.prepare_staking_contract_optin_transactions()
Client.prepare_supply_algos_to_vault_transactions()
Client.prepare_sync_vault_transactions()
Client.prepare_unstake_transactions()
Client.submit()
- manager
Manager
Manager.get_manager_address()
Manager.get_manager_app_id()
Manager.get_rewards_program()
Manager.get_storage_address()
Manager.get_storage_state()
Manager.get_storage_unrealized_rewards()
Manager.get_supported_market_count()
Manager.get_user_address()
Manager.get_user_state()
Manager.get_user_unrealized_rewards()
Manager.update_global_state()
- market
Market
Market.get_active_collateral()
Market.get_asset()
Market.get_bank_circulation()
Market.get_bank_to_underlying_exchange()
Market.get_collateral_factor()
Market.get_liquidation_incentive()
Market.get_market_address()
Market.get_market_app_id()
Market.get_market_counter()
Market.get_outstanding_borrow_shares()
Market.get_storage_state()
Market.get_total_borrow_interest_rate()
Market.get_underlying_borrowed()
Market.get_underlying_cash()
Market.get_underlying_reserves()
Market.get_underlying_supplied()
Market.update_global_state()
- staking_contract
StakingContract
StakingContract.get_asset()
StakingContract.get_manager()
StakingContract.get_manager_address()
StakingContract.get_manager_app_id()
StakingContract.get_market()
StakingContract.get_market_address()
StakingContract.get_market_app_id()
StakingContract.get_oracle_app_id()
StakingContract.get_rewards_program()
StakingContract.get_staked()
StakingContract.get_storage_address()
StakingContract.get_storage_state()
StakingContract.get_user_state()
StakingContract.update_global_state()
- asset
Asset
Asset.get_bank_asset_id()
Asset.get_bank_asset_info()
Asset.get_decimal_amount()
Asset.get_oracle_app_id()
Asset.get_oracle_price_field()
Asset.get_oracle_price_scale_factor()
Asset.get_price()
Asset.get_raw_price()
Asset.get_scaled_amount()
Asset.get_underlying_asset_id()
Asset.get_underlying_asset_info()
Asset.get_underlying_decimals()
Asset.to_usd()
- rewards_program
RewardsProgram
RewardsProgram.get_latest_rewards_time()
RewardsProgram.get_rewards_amount()
RewardsProgram.get_rewards_asset_id()
RewardsProgram.get_rewards_asset_ids()
RewardsProgram.get_rewards_per_second()
RewardsProgram.get_rewards_program_number()
RewardsProgram.get_rewards_secondary_asset_id()
RewardsProgram.get_rewards_secondary_ratio()
RewardsProgram.get_storage_unrealized_rewards()
- client
- utils
TransactionGroup
Transactions
Transactions.ADD_COLLATERAL
Transactions.BORROW
Transactions.BURN
Transactions.CLAIM_REWARDS
Transactions.LIQUIDATE
Transactions.MINT
Transactions.MINT_TO_COLLATERAL
Transactions.REMOVE_ALGOS_FROM_VAULT
Transactions.REMOVE_COLLATERAL
Transactions.REMOVE_COLLATERAL_UNDERLYING
Transactions.REPAY_BORROW
Transactions.SEND_GOVERNANCE_TXN
Transactions.SEND_KEYREG_OFFLINE_TXN
Transactions.SEND_KEYREG_ONLINE_TXN
Transactions.SUPPLY_ALGOS_TO_VAULT
Transactions.SYNC_VAULT
encode_value()
encode_varint()
format_state()
get_accounts_opted_into_app()
get_global_state_field()
get_init_round()
get_manager_app_id()
get_market_app_id()
get_new_account()
get_ordered_symbols()
get_program()
get_staking_contracts()
get_state_bytes()
get_state_int()
int_to_bytes()
prepare_payment_transaction()
read_global_state()
read_local_state()
sign_and_submit_transactions()
wait_for_confirmation()
- v1
algofi-py-sdk¶
The official Algofi V1 Python SDK. In the process of being deprecated and replaced by the Algofi V2 Python SDK.
Documentation¶
Design Goal¶
This SDK is useful for developers who want to programatically interact with the Algofi lending protocol.
Status¶
This SDK is currently under active early development and should not be considered stable.
Installation¶
algofi-py-sdk is not yet released on PYPI. It can be installed directly from this repository with pip:
pip install git+https://github.com/Algofiorg/algofi-py-sdk
To run examples:
create an examples/.env file mnemonic=[25 char mnemonic] storage_mnemonic=”” (leave empty string, examples/setup.py will set)
Fund the account for mnemonic with 20 test ALGO
Run python3 examples/setup.py
Run examples e.g. examples/add_collateral.py
Examples¶
Add liquidity (mint)¶
This example shows how to add liquidity to the platform
Burn asset (burn)¶
This example shows how to burn bank assets to redeem for underlying liquidity
Add collateral (add_collateral)¶
This example shows how to add minted bank assets to collateral
Add liquidity to collateral (mint_to_collateral)¶
This example shows how to add liquidity to the platform collateral
Remove collateral (remove_collateral)¶
This example shows how to remove bank asset collateral from platform
Remove collateral to underlying (remove_collateral_underlying)¶
remove_collateral_underlying.py
This example shows how to remove bank asset collateral from platform to underlying asset
Borrow (borrow)¶
This example shows how to borrow an underlying asset against provided collateral
Repay Borrow (repay_borrow)¶
This example shows how to repay borrowed assets
Staking (stake & unstake)¶
This example shows how to stake and unstake in a staking contract
License¶
algofi-py-sdk is licensed under a MIT license except for the exceptions listed below. See the LICENSE file for details.