UNPKG

@j0nnyboi/amman

Version:

A modern mandatory toolbelt to help test solana SDK libraries and apps on a locally running validator.

45 lines (44 loc) 1.79 kB
/// <reference types="node" /> import { AmmanAccountRendererMap } from '@j0nnyboi/amman-client'; import { AccountInfo, Connection, PublicKey } from '@safecoin/web3.js'; import { AmmanAccount, AmmanAccountProvider } from '../types'; export declare const DEFAULT_MINT_DECIMALS = 9; /** @private */ export declare type HandleWatchedAccountChanged = (account: AmmanAccount, slot: number, data: Buffer, rendered?: string) => void; /** * @private */ export declare class AccountProvider { private readonly renderers; /** * providers by size * size: 0 is used for providers of accounts that don't have a fixed size */ readonly byByteSize: Map<number, AmmanAccountProvider[]>; readonly nonfixedProviders: AmmanAccountProvider[]; readonly connection: Connection; private constructor(); static fromRecord(record: Record<string, any>, renderers: AmmanAccountRendererMap): AccountProvider; private _mapProviders; tryResolveAccount(publicKey: PublicKey, accountInfo?: AccountInfo<Buffer>): Promise<{ account: AmmanAccount | undefined; rendered: string | undefined; data: Buffer; } | undefined>; syncAccountInformation(publicKey: PublicKey): Promise<{ account: AmmanAccount | undefined; rendered: string | undefined; data: Buffer; } | undefined>; private _getProviderAndResolveAccount; _resolveFromProviderMatching(accountInfo: AccountInfo<Buffer>, publicKey: PublicKey): { account: AmmanAccount; rendered: string | undefined; } | undefined; private _tryResolveAccountFromProviders; private _tryResolveAccountFromBuiltins; private _resolveAccount; private _toAmmanAccount; private _getMintDecimals; private _tryResolveAddressRemote; }