Options
All
  • Public
  • Public/Protected
  • All
Menu

The Zamm account stores and tracks oracle prices, mark prices, funding and borrow lending multipliers.

Hierarchy

  • default<Schema>
    • Zamm

Index

Constructors

  • new Zamm(zammProgram: Program<ZammIdlType>, k: PublicKey, data: Schema, zammMargin: Margin, zoProgram: Program<Zo>, commitment?: Commitment): Zamm
  • Parameters

    • zammProgram: Program<ZammIdlType>
    • k: PublicKey
    • data: Schema
    • zammMargin: Margin
    • zoProgram: Program<Zo>
    • Optional commitment: Commitment

    Returns Zamm

Properties

X: Decimal = ...
Y: Decimal = ...
backupSubscriberChannel: undefined | number
commitment: Commitment = "processed"
data: Readonly<Schema>
eventEmitter: null | EventEmitter<UpdateEvents, any> = null
lastAccountSnapshotTime: number = ...
mainSubscriberChannel: undefined | number
marketSymbol: string = "SOL-PERP"
pubkey: PublicKey
slot: number = -1
subLock: AsyncLock = ...
subscribeLastUpdate: number = ...
subscribeTimeLimit: number = 0
zammMargin: Margin
zammProgram: Program<ZammIdlType>
zoProgram: Program<Zo>

Accessors

  • get connection(): Connection
  • get program(): Program<Zo>
  • get provider(): default
  • get publicKey(): PublicKey

Methods

  • _subscribe(accountName: string, withBackup?: boolean, programPassed?: Program<any>): Promise<EventEmitter<string | symbol, any>>
  • Parameters

    • accountName: string
    • withBackup: boolean = false
    • Optional programPassed: Program<any>

    Returns Promise<EventEmitter<string | symbol, any>>

  • _unsubscribe(): Promise<void>
  • arbRaw(arberMargin: Margin, dx: BN, maxDy: BN): Promise<string>
  • getDexProgram(): PublicKey
  • getXY(): Promise<{ X: Decimal; Y: Decimal; price: Decimal }>
  • getXYFast(): Promise<{ X: Decimal; Y: Decimal; price: Decimal }>
  • limitArb(arberMargin: Margin, x: number, price: number, isLong: any): Promise<string>
  • marketArb(arberMargin: Margin, x: number, isLong: boolean): Promise<string>
  • refresh(): Promise<void>
  • subscribe(xSensitivity?: number, ySensitivity?: number, withBackup?: boolean, stateLimit?: number, cacheLimit?: number): Promise<void>
  • Parameters

    • xSensitivity: number = 100

      sensitivity to x changes

    • ySensitivity: number = 10

      sensitivity to y changes

    • withBackup: boolean = false

      have a backup 'confirmed' channel to listen to

    • stateLimit: number = 0

      state limit frequency update

    • cacheLimit: number = 0

      cache limit frequency update

    Returns Promise<void>

  • unsubscribe(): Promise<void>
  • updateAccountOnChange(processUpdate: any, that: default<T>): (account: any, snapshotTime?: any) => void
  • Parameters

    • processUpdate: any
    • that: default<T>

    Returns (account: any, snapshotTime?: any) => void

      • (account: any, snapshotTime?: any): void
      • Parameters

        • account: any
        • Optional snapshotTime: any

        Returns void

  • computeXY(zamm: Zamm, eventQueue: Event[]): { X: Decimal; Y: Decimal; price: Decimal }
  • Parameters

    • zamm: Zamm
    • eventQueue: Event[]

    Returns { X: Decimal; Y: Decimal; price: Decimal }

    • X: Decimal
    • Y: Decimal
    • price: Decimal
  • fetch(zammProgram: Program<ZammIdlType>, k: PublicKey, commitment: Commitment): Promise<Schema>
  • Parameters

    • zammProgram: Program<ZammIdlType>
    • k: PublicKey
    • commitment: Commitment

    Returns Promise<Schema>

  • getZammProgram(zoProgram: Program<Zo>): Program<ZammIdlType>
  • load(zoProgram: Program<Zo>, k: PublicKey, state: State, commitment?: Commitment): Promise<Zamm>
  • Loads a new Zamm object from its public key.

    Parameters

    • zoProgram: Program<Zo>
    • k: PublicKey

      The zamm account's public key.

    • state: State
    • commitment: Commitment = ...

    Returns Promise<Zamm>

  • loadPrefetched(zoProgram: Program<Zo>, k: PublicKey, margin: Margin, zammSchema: Schema, commitment?: Commitment): Zamm
  • Loads a new Zamm object from its public key. from prefetched data

    Parameters

    • zoProgram: Program<Zo>
    • k: PublicKey

      The zamm account's public key.

    • margin: Margin
    • zammSchema: Schema
    • commitment: Commitment = ...

    Returns Zamm

Generated using TypeDoc