@dbricks/dbricks-ts
Version:
## Introduction
26 lines (25 loc) • 1.9 kB
TypeScript
/// <reference types="node" />
import { Connection, Keypair, PublicKey, Signer, Transaction, TransactionSignature } from '@solana/web3.js';
import events from 'events';
import { connectedAdapter, IBuilderParams, IFetchedBrick, IFinalBuildParams, IFlattenedBrick, IParsedBrick, IRawBrick, ISizedBrick } from './common.builder.types';
export declare const builderEmitter: events;
export declare class Builder {
connection: Connection;
ownerPubkey: PublicKey;
baseUrl: string;
apiKey?: string;
rawBricks: IRawBrick[];
constructor({ ownerPubkey, connectionUrl, committment, baseUrl, apiKey, }?: IBuilderParams);
addBrick(brick: IRawBrick): void;
parseBricks(rawBricks: IRawBrick[]): IParsedBrick[];
fetchBricks(parsedBricks: IParsedBrick[]): Promise<IFetchedBrick[]>;
flattenBricks(fetchedBricks: IFetchedBrick[]): IFlattenedBrick[];
optimallySizeBricks(flattenedBricks: IFlattenedBrick[]): Promise<ISizedBrick[]>;
updateBlockhashOnSimilarTransactions(sizedBricks: ISizedBrick[]): Promise<ISizedBrick[]>;
executeBricks(sizedBricks: ISizedBrick[], keypair?: Keypair, connectedAdapter?: connectedAdapter, signCallback?: (tx: Transaction, ...args: any) => Promise<Transaction>, callbackArgs?: any[]): Promise<void>;
sendWithKeypair(transaction: Transaction, keypair: Keypair, additionalSigners: Signer[]): Promise<TransactionSignature>;
sendWithWallet(transaction: Transaction, connectedAdapter: connectedAdapter, additionalSigners: Signer[]): Promise<TransactionSignature>;
sendWithCallback(transaction: Transaction, signCallback: (tx: Transaction, ...args: any) => Promise<Transaction>, callbackArgs: any[] | undefined, additionalSigners: Signer[]): Promise<TransactionSignature>;
build({ keypair, connectedAdapter, signCallback, callbackArgs, }?: IFinalBuildParams): Promise<void>;
stringifySizedBrick(brick: ISizedBrick): string;
}