@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
TypeScript
/// <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;
}