declare module '@solana/web3.js' { import {Buffer} from 'buffer'; import * as BufferLayout from 'buffer-layout'; // === src/publickey.js === export const MAX_SEED_LENGTH: number; export type PublicKeyNonce = [PublicKey, number]; export class PublicKey { constructor(value: number | string | Buffer | Uint8Array | Array); static isPublicKey(o: object): boolean; static createWithSeed( fromPublicKey: PublicKey, seed: string, programId: PublicKey, ): Promise; static createProgramAddress( seeds: Array, programId: PublicKey, ): Promise; static findProgramAddress( seeds: Array, programId: PublicKey, ): Promise; equals(publickey: PublicKey): boolean; toBase58(): string; toBuffer(): Buffer; toString(): string; } // === src/blockhash.js === export type Blockhash = string; // === src/account.js === export class Account { constructor(secretKey?: Buffer | Uint8Array | Array); publicKey: PublicKey; secretKey: Buffer; } // === src/fee-calculator.js === export type FeeCalculator = { lamportsPerSignature: number; }; // === src/connection.js === export type Context = { slot: number; }; export type SendOptions = { skipPreflight?: boolean; preflightCommitment?: Commitment; }; export type ConfirmOptions = { commitment?: Commitment; skipPreflight?: boolean; preflightCommitment?: Commitment; }; export type ConfirmedSignaturesForAddress2Options = { before?: TransactionSignature; limit?: number; }; export type TokenAccountsFilter = | { mint: PublicKey; } | { programId: PublicKey; }; export type RpcResponseAndContext = { context: Context; value: T; }; export type Commitment = | 'processed' | 'confirmed' | 'finalized' | 'recent' // Deprecated as of v1.5.5 | 'single' // Deprecated as of v1.5.5 | 'singleGossip' // Deprecated as of v1.5.5 | 'root' // Deprecated as of v1.5.5 | 'max'; // Deprecated as of v1.5.5 export type LargestAccountsFilter = 'circulating' | 'nonCirculating'; export type GetLargestAccountsConfig = { commitment?: Commitment; filter?: LargestAccountsFilter; }; export type SignatureStatusConfig = { searchTransactionHistory: boolean; }; export type TransactionConfirmationStatus = | 'processed' | 'confirmed' | 'finalized'; export type SignatureStatus = { slot: number; err: TransactionError | null; confirmations: number | null; confirmationStatus: TransactionConfirmationStatus | null; }; export type ConfirmedSignatureInfo = { signature: string; slot: number; err: TransactionError | null; memo: string | null; blockTime?: number | null; }; export type BlockhashAndFeeCalculator = { blockhash: Blockhash; feeCalculator: FeeCalculator; }; export type PublicKeyAndAccount = { pubkey: PublicKey; account: AccountInfo; }; export type AccountInfo = { executable: boolean; owner: PublicKey; lamports: number; data: T; rentEpoch?: number; }; export type ContactInfo = { pubkey: string; gossip?: string; tpu?: string; rpc?: string; version?: string; }; export type SimulatedTransactionResponse = { err: TransactionError | string | null; logs: Array | null; }; export type CompiledInnerInstruction = { index: number; instructions: CompiledInstruction[]; }; export type TokenBalance = { accountIndex: number; mint: string; uiTokenAmount: TokenAmount; }; export type ConfirmedTransactionMeta = { fee: number; innerInstructions?: CompiledInnerInstruction[]; preBalances: Array; postBalances: Array; logMessages?: Array; preTokenBalances?: Array; postTokenBalances?: Array; err: TransactionError | null; }; export type ParsedInnerInstruction = { index: number; instructions: (ParsedInstruction | PartiallyDecodedInstruction)[]; }; export type ParsedConfirmedTransactionMeta = { fee: number; innerInstructions?: ParsedInnerInstruction[]; preBalances: Array; postBalances: Array; logMessages?: Array; preTokenBalances?: Array; postTokenBalances?: Array; err: TransactionError | null; }; export type ConfirmedBlock = { blockhash: Blockhash; previousBlockhash: Blockhash; parentSlot: number; transactions: Array<{ transaction: Transaction; meta: ConfirmedTransactionMeta | null; }>; rewards: Array<{ pubkey: string; lamports: number; postBalance: number | null; rewardType: string | null; }>; }; export type PerfSample = { slot: number; numTransactions: number; numSlots: number; samplePeriodSecs: number; }; export type ConfirmedTransaction = { slot: number; transaction: Transaction; meta: ConfirmedTransactionMeta | null; blockTime?: number | null; }; export type ParsedMessageAccount = { pubkey: PublicKey; signer: boolean; writable: boolean; }; export type ParsedInstruction = { programId: PublicKey; program: string; parsed: string; }; export type PartiallyDecodedInstruction = { programId: PublicKey; accounts: Array; data: string; }; export type ParsedTransaction = { signatures: Array; message: { accountKeys: ParsedMessageAccount[]; instructions: (ParsedInstruction | PartiallyDecodedInstruction)[]; recentBlockhash: string; }; }; export type ParsedConfirmedTransaction = { slot: number; transaction: ParsedTransaction; meta: ParsedConfirmedTransactionMeta | null; }; export type ParsedAccountData = { program: string; parsed: any; space: number; }; export type StakeActivationData = { state: 'active' | 'inactive' | 'activating' | 'deactivating'; active: number; inactive: number; }; export type KeyedAccountInfo = { accountId: PublicKey; accountInfo: AccountInfo; }; export type Version = { 'solana-core': string; 'feature-set'?: number; }; export type VoteAccountInfo = { votePubkey: string; nodePubkey: string; stake: number; commission: number; }; export type SlotInfo = { parent: number; slot: number; root: number; }; export type TokenAmount = { uiAmount: number; decimals: number; amount: string; }; export type TokenAccountBalancePair = { address: PublicKey; amount: string; decimals: number; uiAmount: number; }; export type AccountChangeCallback = ( accountInfo: AccountInfo, context: Context, ) => void; export type ProgramAccountChangeCallback = ( keyedAccountInfo: KeyedAccountInfo, context: Context, ) => void; export type SlotChangeCallback = (slotInfo: SlotInfo) => void; export type SignatureResultCallback = ( signatureResult: SignatureResult, context: Context, ) => void; export type RootChangeCallback = (root: number) => void; export type TransactionError = object; export type SignatureResult = { err: TransactionError | null; }; export type InflationGovernor = { foundation: number; foundationTerm: number; initial: number; taper: number; terminal: number; }; export type EpochInfo = { epoch: number; slotIndex: number; slotsInEpoch: number; absoluteSlot: number; blockHeight?: number; }; export type EpochSchedule = { slotsPerEpoch: number; leaderScheduleSlotOffset: number; warmup: boolean; firstNormalEpoch: number; firstNormalSlot: number; }; export type LeaderSchedule = { [address: string]: number[]; }; export type Supply = { total: number; circulating: number; nonCirculating: number; nonCirculatingAccounts: Array; }; export type AccountBalancePair = { address: PublicKey; lamports: number; }; export type VoteAccountStatus = { current: Array; delinquent: Array; }; export class Connection { constructor(endpoint: string, commitment?: Commitment); commitment?: Commitment; getAccountInfoAndContext( publicKey: PublicKey, commitment?: Commitment, ): Promise | null>>; getAccountInfo( publicKey: PublicKey, commitment?: Commitment, ): Promise | null>; getParsedAccountInfo( publicKey: PublicKey, commitment?: Commitment, ): Promise< RpcResponseAndContext | null> >; getStakeActivation( publicKey: PublicKey, commitment?: Commitment, epoch?: number, ): Promise; getProgramAccounts( programId: PublicKey, commitment?: Commitment, ): Promise>>; getParsedProgramAccounts( programId: PublicKey, commitment?: Commitment, ): Promise>>; getBalanceAndContext( publicKey: PublicKey, commitment?: Commitment, ): Promise>; getBalance(publicKey: PublicKey, commitment?: Commitment): Promise; getBlockTime(slot: number): Promise; getMinimumLedgerSlot(): Promise; getFirstAvailableBlock(): Promise; getSupply(commitment?: Commitment): Promise>; getTokenSupply( tokenMintAddress: PublicKey, commitment?: Commitment, ): Promise>; getTokenAccountBalance( tokenAddress: PublicKey, commitment?: Commitment, ): Promise>; getTokenAccountsByOwner( ownerAddress: PublicKey, filter: TokenAccountsFilter, commitment?: Commitment, ): Promise< RpcResponseAndContext< Array<{pubkey: PublicKey; account: AccountInfo}> > >; getParsedTokenAccountsByOwner( ownerAddress: PublicKey, filter: TokenAccountsFilter, commitment?: Commitment, ): Promise< RpcResponseAndContext< Array<{pubkey: PublicKey; account: AccountInfo}> > >; getLargestAccounts( config?: GetLargestAccountsConfig, ): Promise>>; getTokenLargestAccounts( mintAddress: PublicKey, commitment?: Commitment, ): Promise>>; getClusterNodes(): Promise>; getConfirmedBlock(slot: number): Promise; getConfirmedTransaction( signature: TransactionSignature, ): Promise; getParsedConfirmedTransaction( signature: TransactionSignature, ): Promise; getConfirmedSignaturesForAddress( address: PublicKey, startSlot: number, endSlot: number, ): Promise>; getConfirmedSignaturesForAddress2( address: PublicKey, options?: ConfirmedSignaturesForAddress2Options, ): Promise>; getVoteAccounts(commitment?: Commitment): Promise; confirmTransaction( signature: TransactionSignature, commitment?: Commitment, ): Promise>; getSlot(commitment?: Commitment): Promise; getSlotLeader(commitment?: Commitment): Promise; getSignatureStatus( signature: TransactionSignature, config?: SignatureStatusConfig, ): Promise>; getSignatureStatuses( signatures: Array, config?: SignatureStatusConfig, ): Promise>>; getTransactionCount(commitment?: Commitment): Promise; getTotalSupply(commitment?: Commitment): Promise; getVersion(): Promise; getInflationGovernor(commitment?: Commitment): Promise; getLeaderSchedule(): Promise; getEpochSchedule(): Promise; getEpochInfo(commitment?: Commitment): Promise; getRecentBlockhashAndContext( commitment?: Commitment, ): Promise>; getRecentPerformanceSamples(limit?: number): Promise>; getFeeCalculatorForBlockhash( blockhash: Blockhash, commitment?: Commitment, ): Promise>; getRecentBlockhash( commitment?: Commitment, ): Promise; requestAirdrop( to: PublicKey, amount: number, ): Promise; sendTransaction( transaction: Transaction, signers: Array, options?: SendOptions, ): Promise; sendEncodedTransaction( encodedTransaction: string, options?: SendOptions, ): Promise; sendRawTransaction( wireTransaction: Buffer | Uint8Array | Array, options?: SendOptions, ): Promise; simulateTransaction( transaction: Transaction, signers?: Array, ): Promise>; onAccountChange( publickey: PublicKey, callback: AccountChangeCallback, commitment?: Commitment, ): number; removeAccountChangeListener(id: number): Promise; onProgramAccountChange( programId: PublicKey, callback: ProgramAccountChangeCallback, commitment?: Commitment, ): number; removeProgramAccountChangeListener(id: number): Promise; onSlotChange(callback: SlotChangeCallback): number; removeSlotChangeListener(id: number): Promise; onSignature( signature: TransactionSignature, callback: SignatureResultCallback, commitment?: Commitment, ): number; removeSignatureListener(id: number): Promise; onRootChange(callback: RootChangeCallback): number; removeRootChangeListener(id: number): Promise; validatorExit(): Promise; getMinimumBalanceForRentExemption( dataLength: number, commitment?: Commitment, ): Promise; getNonce( nonceAccount: PublicKey, commitment?: Commitment, ): Promise; getNonceAndContext( nonceAccount: PublicKey, commitment?: Commitment, ): Promise>; } // === src/nonce-account.js === export class NonceAccount { authorizedPubkey: PublicKey; nonce: Blockhash; feeCalculator: FeeCalculator; static fromAccountData( buffer: Buffer | Uint8Array | Array, ): NonceAccount; } export const NONCE_ACCOUNT_LENGTH: number; // === src/validator-info.js === export const VALIDATOR_INFO_KEY: PublicKey; export type Info = { name: string; website?: string; details?: string; keybaseUsername?: string; }; export class ValidatorInfo { key: PublicKey; info: Info; constructor(key: PublicKey, info: Info); static fromConfigData( buffer: Buffer | Uint8Array | Array, ): ValidatorInfo | null; } // === src/sysvar.js === export const SYSVAR_CLOCK_PUBKEY: PublicKey; export const SYSVAR_RENT_PUBKEY: PublicKey; export const SYSVAR_REWARDS_PUBKEY: PublicKey; export const SYSVAR_STAKE_HISTORY_PUBKEY: PublicKey; export const SYSVAR_INSTRUCTIONS_PUBKEY: PublicKey; // === src/vote-account.js === export const VOTE_PROGRAM_ID: PublicKey; export type Lockout = { slot: number; confirmationCount: number; }; export type EpochCredits = { epoch: number; credits: number; prevCredits: number; }; export class VoteAccount { votes: Array; nodePubkey: PublicKey; authorizedVoterPubkey: PublicKey; commission: number; rootSlot?: number; epoch: number; credits: number; lastEpochCredits: number; epochCredits: Array; static fromAccountData( buffer: Buffer | Uint8Array | Array, ): VoteAccount; } // === src/instruction.js === export type InstructionType = { index: number; layout: typeof BufferLayout; }; export function encodeData( type: InstructionType, fields: Record, ): Buffer; // === src/message.js === export type MessageHeader = { numRequiredSignatures: number; numReadonlySignedAccounts: number; numReadonlyUnsignedAccounts: number; }; export type CompiledInstruction = { programIdIndex: number; accounts: number[]; data: string; }; export type MessageArgs = { header: MessageHeader; accountKeys: string[]; recentBlockhash: Blockhash; instructions: CompiledInstruction[]; }; export class Message { header: MessageHeader; accountKeys: PublicKey[]; recentBlockhash: Blockhash; instructions: CompiledInstruction[]; constructor(args: MessageArgs); static from(buffer: Buffer | Uint8Array | Array): Message; isAccountWritable(index: number): boolean; serialize(): Buffer; } // === src/transaction.js === export type TransactionSignature = string; export type AccountMeta = { pubkey: PublicKey; isSigner: boolean; isWritable: boolean; }; export type TransactionInstructionCtorFields = { keys?: Array; programId?: PublicKey; data?: Buffer; }; export class TransactionInstruction { keys: Array; programId: PublicKey; data: Buffer; constructor(opts?: TransactionInstructionCtorFields); } export type SignaturePubkeyPair = { signature?: Buffer; publicKey: PublicKey; }; export type NonceInformation = { nonce: Blockhash; nonceInstruction: TransactionInstruction; }; export type TransactionCtorFields = { recentBlockhash?: Blockhash; nonceInfo?: NonceInformation; signatures?: Array; feePayer?: PublicKey; }; export type SerializeConfig = { requireAllSignatures?: boolean; verifySignatures?: boolean; }; export class Transaction { signatures: Array; signature?: Buffer; instructions: Array; recentBlockhash?: Blockhash; nonceInfo?: NonceInformation; feePayer?: PublicKey; constructor(opts?: TransactionCtorFields); static from(buffer: Buffer | Uint8Array | Array): Transaction; static populate(message: Message, signatures: Array): Transaction; add( ...items: Array< Transaction | TransactionInstruction | TransactionInstructionCtorFields > ): Transaction; compileMessage(): Message; serializeMessage(): Buffer; sign(...signers: Array): void; partialSign(...partialSigners: Array): void; addSignature(pubkey: PublicKey, signature: Buffer): void; setSigners(...signer: Array): void; verifySignatures(): boolean; serialize(config?: SerializeConfig): Buffer; } // === src/stake-program.js === export type StakeAuthorizationType = { index: number; }; export class Authorized { staker: PublicKey; withdrawer: PublicKey; constructor(staker: PublicKey, withdrawer: PublicKey); } export class Lockup { unixTimestamp: number; epoch: number; custodian: PublicKey; constructor(unixTimestamp: number, epoch: number, custodian: PublicKey); } export type CreateStakeAccountParams = { fromPubkey: PublicKey; stakePubkey: PublicKey; authorized: Authorized; lockup: Lockup; lamports: number; }; export type CreateStakeAccountWithSeedParams = { fromPubkey: PublicKey; stakePubkey: PublicKey; basePubkey: PublicKey; seed: string; authorized: Authorized; lockup: Lockup; lamports: number; }; export type InitializeStakeParams = { stakePubkey: PublicKey; authorized: Authorized; lockup: Lockup; }; export type DelegateStakeParams = { stakePubkey: PublicKey; authorizedPubkey: PublicKey; votePubkey: PublicKey; }; export type AuthorizeStakeParams = { stakePubkey: PublicKey; authorizedPubkey: PublicKey; newAuthorizedPubkey: PublicKey; stakeAuthorizationType: StakeAuthorizationType; custodianPubkey?: PublicKey; }; export type AuthorizeWithSeedStakeParams = { stakePubkey: PublicKey; authorityBase: PublicKey; authoritySeed: string; authorityOwner: PublicKey; newAuthorizedPubkey: PublicKey; stakeAuthorizationType: StakeAuthorizationType; custodianPubkey?: PublicKey; }; export type SplitStakeParams = { stakePubkey: PublicKey; authorizedPubkey: PublicKey; splitStakePubkey: PublicKey; lamports: number; }; export type WithdrawStakeParams = { stakePubkey: PublicKey; authorizedPubkey: PublicKey; toPubkey: PublicKey; lamports: number; custodianPubkey?: PublicKey; }; export type DeactivateStakeParams = { stakePubkey: PublicKey; authorizedPubkey: PublicKey; }; export class StakeProgram { static programId: PublicKey; static space: number; static createAccount(params: CreateStakeAccountParams): Transaction; static createAccountWithSeed( params: CreateStakeAccountWithSeedParams, ): Transaction; static delegate(params: DelegateStakeParams): Transaction; static authorize(params: AuthorizeStakeParams): Transaction; static authorizeWithSeed(params: AuthorizeWithSeedStakeParams): Transaction; static split(params: SplitStakeParams): Transaction; static withdraw(params: WithdrawStakeParams): Transaction; static deactivate(params: DeactivateStakeParams): Transaction; } export type StakeInstructionType = | 'Initialize' | 'Authorize' | 'AuthorizeWithSeed' | 'Delegate' | 'Split' | 'Withdraw' | 'Deactivate'; export const STAKE_INSTRUCTION_LAYOUTS: { [type in StakeInstructionType]: InstructionType; }; export class StakeInstruction { static decodeInstructionType( instruction: TransactionInstruction, ): StakeInstructionType; static decodeInitialize( instruction: TransactionInstruction, ): InitializeStakeParams; static decodeDelegate( instruction: TransactionInstruction, ): DelegateStakeParams; static decodeAuthorize( instruction: TransactionInstruction, ): AuthorizeStakeParams; static decodeAuthorizeWithSeed( instruction: TransactionInstruction, ): AuthorizeWithSeedStakeParams; static decodeSplit(instruction: TransactionInstruction): SplitStakeParams; static decodeWithdraw( instruction: TransactionInstruction, ): WithdrawStakeParams; static decodeDeactivate( instruction: TransactionInstruction, ): DeactivateStakeParams; } // === src/system-program.js === export type CreateAccountParams = { fromPubkey: PublicKey; newAccountPubkey: PublicKey; lamports: number; space: number; programId: PublicKey; }; export type CreateAccountWithSeedParams = { fromPubkey: PublicKey; newAccountPubkey: PublicKey; basePubkey: PublicKey; seed: string; lamports: number; space: number; programId: PublicKey; }; export type AllocateParams = { accountPubkey: PublicKey; space: number; }; export type AllocateWithSeedParams = { accountPubkey: PublicKey; basePubkey: PublicKey; seed: string; space: number; programId: PublicKey; }; export type AssignParams = { accountPubkey: PublicKey; programId: PublicKey; }; export type AssignWithSeedParams = { accountPubkey: PublicKey; basePubkey: PublicKey; seed: string; programId: PublicKey; }; export type TransferParams = { fromPubkey: PublicKey; toPubkey: PublicKey; lamports: number; }; export type TransferWithSeedParams = { fromPubkey: PublicKey; basePubkey: PublicKey; toPubkey: PublicKey; lamports: number; seed: string; programId: PublicKey; }; export type CreateNonceAccountParams = { fromPubkey: PublicKey; noncePubkey: PublicKey; authorizedPubkey: PublicKey; lamports: number; }; export type CreateNonceAccountWithSeedParams = { fromPubkey: PublicKey; noncePubkey: PublicKey; authorizedPubkey: PublicKey; lamports: number; basePubkey: PublicKey; seed: string; }; export type InitializeNonceParams = { noncePubkey: PublicKey; authorizedPubkey: PublicKey; }; export type AdvanceNonceParams = { noncePubkey: PublicKey; authorizedPubkey: PublicKey; }; export type WithdrawNonceParams = { noncePubkey: PublicKey; authorizedPubkey: PublicKey; toPubkey: PublicKey; lamports: number; }; export type AuthorizeNonceParams = { noncePubkey: PublicKey; authorizedPubkey: PublicKey; newAuthorizedPubkey: PublicKey; }; export class SystemProgram { static programId: PublicKey; static createAccount(params: CreateAccountParams): TransactionInstruction; static createAccountWithSeed( params: CreateAccountWithSeedParams, ): TransactionInstruction; static allocate( params: AllocateParams | AllocateWithSeedParams, ): TransactionInstruction; static assign( params: AssignParams | AssignWithSeedParams, ): TransactionInstruction; static transfer( params: TransferParams | TransferWithSeedParams, ): TransactionInstruction; static createNonceAccount( params: CreateNonceAccountParams | CreateNonceAccountWithSeedParams, ): Transaction; static nonceAdvance(params: AdvanceNonceParams): TransactionInstruction; static nonceWithdraw(params: WithdrawNonceParams): TransactionInstruction; static nonceAuthorize(params: AuthorizeNonceParams): TransactionInstruction; } export type SystemInstructionType = | 'Create' | 'CreateWithSeed' | 'Allocate' | 'AllocateWithSeed' | 'Assign' | 'AssignWithSeed' | 'Transfer' | 'TransferWithSeed' | 'AdvanceNonceAccount' | 'WithdrawNonceAccount' | 'InitializeNonceAccount' | 'AuthorizeNonceAccount'; export const SYSTEM_INSTRUCTION_LAYOUTS: { [type in SystemInstructionType]: InstructionType; }; export class SystemInstruction { static decodeInstructionType( instruction: TransactionInstruction, ): SystemInstructionType; static decodeCreateAccount( instruction: TransactionInstruction, ): CreateAccountParams; static decodeCreateWithSeed( instruction: TransactionInstruction, ): CreateAccountWithSeedParams; static decodeAllocate(instruction: TransactionInstruction): AllocateParams; static decodeAllocateWithSeed( instruction: TransactionInstruction, ): AllocateWithSeedParams; static decodeAssign(instruction: TransactionInstruction): AssignParams; static decodeAssignWithSeed( instruction: TransactionInstruction, ): AssignWithSeedParams; static decodeTransfer(instruction: TransactionInstruction): TransferParams; static decodeTransferWithSeed( instruction: TransactionInstruction, ): TransferWithSeedParams; static decodeNonceInitialize( instruction: TransactionInstruction, ): InitializeNonceParams; static decodeNonceAdvance( instruction: TransactionInstruction, ): AdvanceNonceParams; static decodeNonceWithdraw( instruction: TransactionInstruction, ): WithdrawNonceParams; static decodeNonceAuthorize( instruction: TransactionInstruction, ): AuthorizeNonceParams; } // === src/secp256k1-program.js === export type CreateSecp256k1InstructionWithPublicKeyParams = { publicKey: Buffer | Uint8Array | Array; message: Buffer | Uint8Array | Array; signature: Buffer | Uint8Array | Array; recoveryId: number; }; export type CreateSecp256k1InstructionWithPrivateKeyParams = { privateKey: Buffer | Uint8Array | Array; message: Buffer | Uint8Array | Array; }; export class Secp256k1Program { static get programId(): PublicKey; static createInstructionWithPublicKey( params: CreateSecp256k1InstructionWithPublicKeyParams, ): TransactionInstruction; static createInstructionWithPrivateKey( params: CreateSecp256k1InstructionWithPrivateKeyParams, ): TransactionInstruction; } // === src/loader.js === export class Loader { static getMinNumSignatures(dataLength: number): number; static load( connection: Connection, payer: Account, program: Account, programId: PublicKey, data: Buffer | Uint8Array | Array, ): Promise; } // === src/bpf-loader.js === export const BPF_LOADER_PROGRAM_ID: PublicKey; export class BpfLoader { static getMinNumSignatures(dataLength: number): number; static load( connection: Connection, payer: Account, program: Account, elfBytes: Buffer | Uint8Array | Array, loaderProgramId: PublicKey, ): Promise; } // === src/bpf-loader-deprecated.js === export const BPF_LOADER_DEPRECATED_PROGRAM_ID: PublicKey; // === src/util/send-and-confirm-transaction.js === export function sendAndConfirmTransaction( connection: Connection, transaction: Transaction, signers: Array, options?: ConfirmOptions, ): Promise; // === src/util/send-and-confirm-raw-transaction.js === export function sendAndConfirmRawTransaction( connection: Connection, wireTransaction: Buffer, options?: ConfirmOptions, ): Promise; // === src/util/cluster.js === export type Cluster = 'devnet' | 'testnet' | 'mainnet-beta'; export function clusterApiUrl(cluster?: Cluster, tls?: boolean): string; // === src/index.js === export const LAMPORTS_PER_SOL: number; }