UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

57 lines (56 loc) 3.24 kB
import { Network } from '../../node_modules/@btc-vision/bitcoin/build/index.js'; import { Address, NetEvent } from '../../node_modules/@btc-vision/transaction/build/index.js'; import { BitcoinInterface } from '../abi/BitcoinInterface.js'; import { BaseContractProperties } from '../abi/interfaces/BaseContractProperties.js'; import { BitcoinInterfaceAbi } from '../abi/interfaces/BitcoinInterfaceAbi.js'; import { BlockGasParameters } from '../block/BlockGasParameters.js'; import { AbstractRpcProvider } from '../providers/AbstractRpcProvider.js'; import { ContractEvents } from '../transactions/interfaces/ITransactionReceipt.js'; import { CallResult } from './CallResult.js'; import { IAccessList } from './interfaces/IAccessList.js'; import { IContract } from './interfaces/IContract.js'; import { ParsedSimulatedTransaction } from './interfaces/SimulatedTransaction.js'; import { OPNetEvent } from './OPNetEvent.js'; import { ContractDecodedObjectResult } from './types/ContractTypes.js'; declare const internal: unique symbol; export declare abstract class IBaseContract<T extends BaseContractProperties> implements IContract { readonly address: string | Address; readonly network: Network; readonly interface: BitcoinInterface; readonly provider: AbstractRpcProvider; from?: Address; readonly [internal]: keyof T | undefined; private events; private gasParameters; private readonly fetchGasParametersAfter; private currentTxDetails; private simulatedHeight; private accessList; private _rlAddress; protected constructor(address: string | Address, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider, network: Network, from?: Address); get p2op(): string; get contractAddress(): Promise<Address>; setSender(sender: Address): void; decodeEvents(events: NetEvent[] | ContractEvents): OPNetEvent<ContractDecodedObjectResult>[]; decodeEvent(event: NetEvent): OPNetEvent; encodeCalldata(functionName: string, args: unknown[]): Buffer; currentGasParameters(): Promise<BlockGasParameters>; setTransactionDetails(tx: ParsedSimulatedTransaction): void; setAccessList(accessList: IAccessList): void; setSimulatedHeight(height: bigint | undefined): void; protected getFunction(name: symbol | string): CallResult | undefined | string | number | symbol | Address | Network | (() => Promise<BlockGasParameters>) | ((functionName: string, args: unknown[]) => Buffer); private defineInternalFunctions; private getSelector; private encodeFunctionData; private encodeInput; private decodeOutput; private estimateGas; private max; private callFunction; } export declare class BaseContract<T extends BaseContractProperties> extends IBaseContract<T> { constructor(address: string | Address, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider, network: Network, sender?: Address); private proxify; } export declare function getContract<T extends BaseContractProperties>(address: string | Address, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider, network: Network, sender?: Address): BaseContract<T> & Omit<T, keyof BaseContract<T>>; export {};