API Reference#

Configuration#

class orion_finance_sdk_py.contracts.OrionConfig[source]#

Bases: OrionSmartContract

OrionConfig contract.

Initialize the OrionConfig contract.

property get_investment_universe: list[str]#

Alias for whitelisted_assets (Investment Universe).

is_system_idle()[source]#

Check if the system is in idle state, required for vault deployment.

Return type:

bool

is_whitelisted(token_address)[source]#

Check if a token address is whitelisted.

Return type:

bool

Parameters:

token_address (str)

is_whitelisted_manager(manager_address)[source]#

Check if a manager address is whitelisted.

Return type:

bool

Parameters:

manager_address (str)

property manager_intent_decimals: int#

Alias for strategist_intent_decimals.

property orion_encrypted_vaults: list[str]#

Fetch all Orion encrypted vault addresses from the OrionConfig contract.

property orion_transparent_vaults: list[str]#

Fetch all Orion transparent vault addresses from the OrionConfig contract.

property risk_free_rate: int#

Fetch the risk free rate from the OrionConfig contract.

property strategist_intent_decimals: int#

Fetch the strategist intent decimals from the OrionConfig contract.

property whitelisted_assets: list[str]#

Fetch all whitelisted assets from the OrionConfig contract.

Vaults#

class orion_finance_sdk_py.contracts.OrionVault(contract_name)[source]#

Bases: OrionSmartContract

OrionVault contract.

Initialize the OrionVault contract.

Parameters:

contract_name (str)

can_request_deposit(user)[source]#

Check if a user is allowed to request a deposit.

This method queries the vault’s depositAccessControl contract. If no access control is set (zero address), it returns True.

Return type:

bool

Parameters:

user (str)

convert_to_assets(shares)[source]#

Convert shares to assets.

Return type:

int

Parameters:

shares (int)

get_portfolio()[source]#

Get the vault portfolio.

Return type:

dict

max_deposit(receiver)[source]#

Fetch the maximum deposit amount for a receiver.

Return type:

int

Parameters:

receiver (str)

set_deposit_access_control(access_control_address)[source]#

Set the deposit access control contract address.

Return type:

TransactionResult

Parameters:

access_control_address (str)

property share_price: int#

Fetch the current share price (value of 1 share unit).

property total_assets: int#

Fetch the total assets of the vault.

update_fee_model(fee_type, performance_fee, management_fee)[source]#

Update the fee model for the vault.

Return type:

TransactionResult

Parameters:
  • fee_type (int)

  • performance_fee (int)

  • management_fee (int)

update_strategist(new_strategist_address)[source]#

Update the strategist address for the vault.

Return type:

TransactionResult

Parameters:

new_strategist_address (str)

class orion_finance_sdk_py.contracts.OrionTransparentVault[source]#

Bases: OrionVault

OrionTransparentVault contract.

Initialize the OrionTransparentVault contract.

submit_order_intent(order_intent)[source]#

Submit a portfolio order intent.

Parameters:

order_intent (dict[str, int]) – Dictionary mapping token addresses to values

Return type:

TransactionResult

Returns:

TransactionResult

transfer_manager_fees(amount)[source]#

Transfer manager fees (claimVaultFees).

Return type:

TransactionResult

Parameters:

amount (int)

class orion_finance_sdk_py.contracts.OrionEncryptedVault[source]#

Bases: OrionVault

OrionEncryptedVault contract.

Initialize the OrionEncryptedVault contract.

submit_order_intent(order_intent, input_proof)[source]#

Submit a portfolio order intent.

Parameters:
  • order_intent (dict[str, bytes]) – Dictionary mapping token addresses to values

  • input_proof (str) – A Zero-Knowledge Proof ensuring the validity of the encrypted data.

Return type:

TransactionResult

Returns:

TransactionResult

transfer_strategist_fees(amount)[source]#

Transfer strategist fees (claimCuratorFees).

Return type:

TransactionResult

Parameters:

amount (int)

update_strategist(new_strategist_address)[source]#

Update the strategist (curator) address for the vault.

Return type:

TransactionResult

Parameters:

new_strategist_address (str)

Factory#

class orion_finance_sdk_py.contracts.VaultFactory(vault_type, contract_address=None)[source]#

Bases: OrionSmartContract

VaultFactory contract.

Initialize the VaultFactory contract.

Parameters:
  • vault_type (str)

  • contract_address (str | None)

create_orion_vault(name, symbol, fee_type, performance_fee, management_fee, deposit_access_control='0x0000000000000000000000000000000000000000')[source]#

Create an Orion vault for a given strategist address.

Return type:

TransactionResult

Parameters:
  • name (str)

  • symbol (str)

  • fee_type (int)

  • performance_fee (int)

  • management_fee (int)

  • deposit_access_control (str)

get_vault_address_from_result(result)[source]#

Extract the vault address from OrionVaultCreated event in the transaction result.

Return type:

str | None

Parameters:

result (TransactionResult)

Liquidity Orchestrator#

class orion_finance_sdk_py.contracts.LiquidityOrchestrator[source]#

Bases: OrionSmartContract

LiquidityOrchestrator contract.

Initialize the LiquidityOrchestrator contract.

property slippage_tolerance: int#

Fetch the slippage tolerance.

property target_buffer_ratio: int#

Fetch the target buffer ratio.