@iota-big3/sdk-blockchain
Version:
Comprehensive blockchain integration platform with multi-chain support, smart contracts, DeFi protocols, NFT infrastructure, Bitcoin support, and seamless SDK ecosystem integration for IOTA Big3
54 lines • 2.48 kB
TypeScript
/**
* @iota-big3/sdk-blockchain - Smart Contract Manager
* Smart contract deployment and interaction
*/
import { ethers } from 'ethers';
import { EventEmitter } from 'events';
import type { BlockchainHealthResult, BlockchainMetrics, IBlockchainManager } from '../types';
import type { ContractABI, ContractDeployment, Event, EventFilter, EventListener, SmartContract, TransactionReceipt } from '../types/blockchain.types';
export declare class SmartContractManager extends EventEmitter implements IBlockchainManager {
isEnabled: boolean;
private contracts;
private eventListeners;
private contractInstances;
private provider;
constructor(config?: {
defaultGasLimit?: bigint;
confirmations?: number;
enabled?: boolean;
});
initialize(): Promise<void>;
deployContract(deployment: ContractDeployment): Promise<SmartContract>;
callContract(address: string, method: string, args?: any[]): Promise<unknown>;
sendTransaction(address: string, method: string, args?: any[], options?: {
gasLimit?: bigint;
value?: bigint;
}): Promise<TransactionReceipt>;
listenToEvents(filter: EventFilter, callback: (event: Event) => void): Promise<EventListener>;
removeEventListener(listener: EventListener): Promise<void>;
queryEvents(filter: EventFilter & {
fromBlock?: number | string;
toBlock?: number | string;
filter?: Record<string, unknown>;
}): Promise<Event[]>;
getContract(address: string): SmartContract | undefined;
getAllContracts(): SmartContract[];
getContractMetadata(_address: string): Record<string, unknown>;
estimateDeploymentGas(deployment: ContractDeployment): Promise<bigint>;
encodeConstructor(abi: ContractABI, args: unknown[]): string;
encodeFunctionCall(abi: ContractABI, functionName: string, args: unknown[]): string;
validateABI(abi: unknown): void;
getFunctionSignatures(abi: ContractABI): string[];
getEventSignatures(abi: ContractABI): string[];
getContractInstance(address: string): ethers.Contract | undefined;
batchCall(address: string, calls: Array<{
method: string;
args: unknown[];
}>): Promise<unknown[]>;
reinitialize(): Promise<void>;
checkHealth(): Promise<BlockchainHealthResult>;
getMetrics(): BlockchainMetrics;
shutdown(): Promise<void>;
getHealth(): Promise<BlockchainHealthResult>;
}
//# sourceMappingURL=smart-contract-manager.d.ts.map