Socket
Book a DemoInstallSign in
Socket

aries-tssdk

Package Overview
Dependencies
Maintainers
0
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aries-tssdk

[![Discord][discord-image]][discord-url] [![Twitter][twitter-image]][twitter-url]

0.0.1
latest
npmnpm
Version published
Weekly downloads
0
Maintainers
0
Weekly downloads
 
Created
Source

Aries Markets TypeScript SDK

Discord Twitter

Official Platform Docs

Quickstart

To start using aries sdk, run below command in your project directory:

yarn add @aries-markets/tssdk

SDK usage

See Sample code

SDK struct

/**
 * Model ReserveDetails
 */
type ReserveDetails = {
  initial_exchange_rate: number;
  reserve_amount: number;
  total_borrowed: number;
  total_borrowed_share: number;
  total_cash_available: number;
  total_lp_supply: number;
  reserve_config: ReserveConfig;
  interest_rate_config: InterestRateConfig;
};
/**
 * Model ReserveConfig
 */
type ReserveConfig = {
  loan_to_value: number;
  liquidation_threshold: number;
  liquidation_bonus_bips: number;
  liquidation_fee_hundredth_bips: number;
  borrow_factor: number;
  reserve_ratio: number;
  borrow_fee_hundredth_bips: number;
  withdraw_fee_hundredth_bips: number;
  deposit_limit: number;
  borrow_limit: number;
  allow_collateral: boolean;
  allow_redeem: boolean;
  flash_loan_fee_hundredth_bips: number;
};
/**
 * Model InterestRateConfig
 */
type InterestRateConfig = {
  min_borrow_rate: number;
  optimal_borrow_rate: number;
  max_borrow_rate: number;
  optimal_utilization: number;
};
/**
 * Model Profile
 */
type Profile = {
  id: string;
  meta: ResourceSnapshotId;
  profile_address: string;
  borrowed_reserves: ProfilesBorrows[];
  deposited_reserves: ProfilesDeposits[];
};

Move struct

Reserve

struct ReserveDetails has store, copy, drop {
  /// Total number of LP tokens minted.
  total_lp_supply: u128,

  /// Total cash available. This should always be the same as `value(underlying_coin)`.
  total_cash_available: u128,

  /// The initial exchange rate between LP tokens and underlying assets.
  initial_exchange_rate: Decimal,

  /// Reserve amount.
  reserve_amount: Decimal,

  /// The normalized value for total borrowed share.
  total_borrowed_share: Decimal,

  /// Total amount of outstanding debt.
  total_borrowed: Decimal,

  /// The timestamp second that the interest get accrue last time.
  interest_accrue_timestamp: u64,

  /// Reserve related configuration.
  reserve_config: ReserveConfig,

  /// Interest rate configuration.
  interest_rate_config: InterestRateConfig,
}

struct ReserveConfig has store, drop, copy {
    /// Loan to value ratio.
    loan_to_value: u8,

    /// Liquidation threshold.
    liquidation_threshold: u8,

    /// The bonus basis point that the liquidator get.
    liquidation_bonus_bips: u64,

    /// The percentage of liquidation bonus will go to the protocol as fee.
    liquidation_fee_hundredth_bips: u64,

    /// The ratio of loan asset value to risk-adjusted liability value in liquidation.
    borrow_factor: u8,

    /// The percentage of the interest that needs to be reserved
    reserve_ratio: u8,

    /// Borrow fee percentage with the unit of 1/100th of basis point (10^-6).
    borrow_fee_hundredth_bips: u64,

    /// A withdrawal fee is taken when a liquidity provider withdraws funds from the pool (redeem LP tokens).

    /// The ratio has a unit of millionth (10^-6).
    withdraw_fee_hundredth_bips: u64,

    // 0 represents no limit
    deposit_limit: u64,

    // 0 represents no limit
    borrow_limit: u64,

    // Whether to accept it as collateral to increase the bororwing power.
    allow_collateral: bool,

    /// Whether to allow the redeem from LP tokens to underlying tokens.
    /// This will be necessary in some extreme condition when we want to freeze
    /// withdrawal.
    allow_redeem: bool,

    /// Borrow fee percentage for flash loans with the unit of 1/100th of basis point (10^-6).
    /// It should be paid in addition to close the flash loan, so it is not limited to 100%
    flash_loan_fee_hundredth_bips: u64,
}

struct InterestRateConfig has store, drop, copy {
    min_borrow_rate: u64,
    optimal_borrow_rate: u64,
    max_borrow_rate: u64,
    optimal_utilization: u64
}


Profile

struct Profile has key {
    /// All reserves that the user has deposited into.
    deposited_reserves: IterableTable<TypeInfo, Deposit>,
    /// All reserves that the user has deposited into that has deposit farming
    deposit_farms: IterableTable<TypeInfo, ProfileFarm>,
    /// All reserves that the user has borrowed from.
    borrowed_reserves: IterableTable<TypeInfo, Loan>,
    /// All reserves that the user has borrowed from that has borrow farming
    borrow_farms: IterableTable<TypeInfo, ProfileFarm>,
}

struct Deposit has store, drop {
    /// The amount of LP tokens that is stored as collateral.
    collateral_amount: u64
}

struct Loan has store, drop {
    /// Normalized borrow share amount.
    borrowed_share: Decimal
}

FAQs

Package last updated on 25 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.