Class AbstractEvaaMaster<T>Abstract

Abstract base class for EVAA Master contracts

This class provides shared functionality for both Classic and Pyth master implementations, including message creation, validation, and transaction handling. Concrete implementations must override oracle-specific methods for withdraw/liquidation operations.

Type Parameters

Hierarchy (View Summary)

Implements

  • Contract

Constructors

Properties

_data?: T
_poolConfig: PoolConfig
address: Address
debug?: boolean
lastSync: number = 0

Accessors

  • get data(): undefined | T
  • Get the synchronized master data

    Returns undefined | T

    Master data if available, undefined otherwise

Methods

  • Calculates the user smart contract address for a given user and subaccount

    Parameters

    • userAddress: Address

      The user's wallet address

    • lendingCode: Cell

      The user contract code cell

    • subaccountId: number = 0

      Optional subaccount identifier (default: 0)

    Returns Address

    The calculated user contract address

    When subaccount ID is invalid

  • Protected

    Creates a jetton transfer message with the provided parameters

    Parameters

    • parameters: JettonParams

      Jetton transfer parameters

    • defaultFees: bigint

      Default fee amount for the operation

    • message: Cell

      Operation message cell to include

    Returns Cell

    Complete jetton transfer message cell

    When validation fails or required addresses are missing

  • Parameters

    • provider: ContractProvider
    • userAddress: Address
    • subaccountId: number = 0

    Returns OpenedContract<EvaaUser>

  • Creates a user contract instance for the given address and subaccount

    Parameters

    • userAddress: Address

      The user's wallet address

    • subaccountId: number = 0

      Optional subaccount identifier (default: 0)

    Returns EvaaUser

    User contract instance

  • Parameters

    • provider: ContractProvider
    • via: Sender
    • value: bigint
    • queryID: bigint
    • forwardPayload: Cell

    Returns Promise<void>

  • Sends a supply operation to the master contract

    Parameters

    • provider: ContractProvider

      Contract provider instance

    • via: Sender

      Sender instance

    • value: bigint

      Transaction value in nanoTON

    • parameters: SupplyParameters

      Supply operation parameters

    Returns Promise<void>

    When validation fails or transaction fails

  • Parameters

    • provider: ContractProvider
    • via: Sender
    • value: bigint
    • message: Cell
    • asset: PoolAssetConfig

    Returns Promise<void>