marginpy.types module

class Environment(value)

Bases: Enum

An enumeration.

LOCALNET = 'localnet'
DEVNET = 'devnet'
MAINNET = 'mainnet'
class AccountType(value)

Bases: Enum

An enumeration.

MARGINFI_GROUP = 'MarginfiGroup'
MARGINFI_ACCOUNT = 'MarginfiAccount'
class BankVaultType(value)

Bases: Enum

An enumeration.

LIQUIDITY_VAULT = 'LiquidityVault'
INSURANCE_VAULT = 'InsuranceVault'
FEE_VAULT = 'FeeVault'
class UtpIndex(value)

Bases: Enum

An enumeration.

MANGO = 0
ZO = 1
class GroupConfig(admin: 'typing.Optional[PublicKey]', bank: 'typing.Optional[bank_config.BankConfig]', paused: 'typing.Optional[bool]')

Bases: GroupConfig

class BankConfig(scaling_factor_c: 'typing.Optional[int]', fixed_fee: 'typing.Optional[int]', interest_fee: 'typing.Optional[int]', init_margin_ratio: 'typing.Optional[int]', maint_margin_ratio: 'typing.Optional[int]', account_deposit_limit: 'typing.Optional[int]', lp_deposit_limit: 'typing.Optional[int]')

Bases: BankConfig

class LiquidationPrices(final_price: float, discounted_liquidator_price: float, insurance_vault_fee: float)

Bases: object

final_price: float
discounted_liquidator_price: float
insurance_vault_fee: float
class UtpData(is_active: bool, account_config: marginpy.generated_client.types.utp_account_config.UTPAccountConfig)

Bases: object

is_active: bool
account_config: UTPAccountConfig
class UtpConfig(utp_index: marginpy.types.UtpIndex, program_id: solana.publickey.PublicKey)

Bases: object

utp_index: UtpIndex
program_id: PublicKey
class InstructionsWrapper(instructions: List[solana.transaction.TransactionInstruction], signers: List[solana.keypair.Keypair])

Bases: object

instructions: List[TransactionInstruction]
signers: List[Keypair]
class EquityType(value)

Bases: Enum

An enumeration.

INIT_REQ_ADJUSTED = 'INIT_REQ_ADJUSTED'
TOTAL = 'TOTAL'
class AccountBalances(equity: float, assets: float, liabilities: float)

Bases: object

equity: float
assets: float
liabilities: float
class MarginRequirement(value)

Bases: Enum

An enumeration.

INITIAL = 'INITIAL'
PARTIAL_LIQUIDATION = 'PARTIAL_LIQUIDATION'
MAINTENANCE = 'MAINTENANCE'
class LendingSide(value)

Bases: Enum

An enumeration.

BORROW = 'BORROW'
DEPOSIT = 'DEPOSIT'
class BankData(scaling_factor_c: 'wrapped_i80f48.WrappedI80F48', fixed_fee: 'wrapped_i80f48.WrappedI80F48', interest_fee: 'wrapped_i80f48.WrappedI80F48', deposit_accumulator: 'wrapped_i80f48.WrappedI80F48', borrow_accumulator: 'wrapped_i80f48.WrappedI80F48', last_update: 'int', total_deposits_record: 'wrapped_i80f48.WrappedI80F48', total_borrows_record: 'wrapped_i80f48.WrappedI80F48', mint: 'PublicKey', vault: 'PublicKey', vault_authority_pda_bump: 'int', insurance_vault: 'PublicKey', insurance_vault_authority_pda_bump: 'int', insurance_vault_outstanding_transfers: 'wrapped_i80f48.WrappedI80F48', fee_vault: 'PublicKey', fee_vault_authority_pda_bump: 'int', fee_vault_outstanding_transfers: 'wrapped_i80f48.WrappedI80F48', init_margin_ratio: 'wrapped_i80f48.WrappedI80F48', maint_margin_ratio: 'wrapped_i80f48.WrappedI80F48', account_deposit_limit: 'wrapped_i80f48.WrappedI80F48', lp_deposit_limit: 'wrapped_i80f48.WrappedI80F48', reserved_space: 'list[int]')

Bases: Bank

class MarginfiAccountData(authority: solana.publickey.PublicKey, marginfi_group: solana.publickey.PublicKey, deposit_record: marginpy.generated_client.types.wrapped_i80f48.WrappedI80F48, borrow_record: marginpy.generated_client.types.wrapped_i80f48.WrappedI80F48, active_utps: list[bool], utp_account_config: list[marginpy.generated_client.types.utp_account_config.UTPAccountConfig], reserved_space: list[int])

Bases: MarginfiAccount

class MarginfiGroupData(admin: solana.publickey.PublicKey, bank: marginpy.generated_client.types.bank.Bank, paused: bool, reserved_space: list[int])

Bases: MarginfiGroup