import { Abi } from "../abi"; import { AccountController, AccountTransactionsFactory } from "../accountManagement"; import { Account } from "../accounts"; import { Address, IAccount, Message, Transaction, TransactionOnNetwork } from "../core"; import { DelegationController, DelegationTransactionsFactory } from "../delegation"; import { GasLimitEstimator } from "../gasEstimator"; import { GovernanceController, GovernanceTransactionsFactory } from "../governance"; import { MultisigTransactionsFactory } from "../multisig"; import { MultisigController } from "../multisig/multisigController"; import { NetworkProviderConfig } from "../networkProviders"; import { INetworkProvider } from "../networkProviders/interface"; import { SmartContractTransactionsFactory } from "../smartContracts"; import { SmartContractController } from "../smartContracts/smartContractController"; import { TokenManagementController, TokenManagementTransactionsFactory } from "../tokenManagement"; import { TransfersController, TransferTransactionsFactory } from "../transfers"; import { ValidatorsTransactionsFactory } from "../validators"; import { ValidatorsController } from "../validators/validatorsController"; export declare class NetworkEntrypoint { private networkProvider; private chainId; private withGasLimitEstimator?; private gasLimitMultiplier?; constructor(options: { networkProviderUrl: string; networkProviderKind: string; networkProviderConfig?: NetworkProviderConfig; chainId: string; clientName?: string; withGasLimitEstimator?: boolean; gasLimitMultiplier?: number; }); /** * Creates a new Account by generating a new secret key and instantiating an UserSigner */ createAccount(): Promise; /** * Calls a faucet */ getAirdrop(_address: Address): Promise; signTransaction(transaction: Transaction, account: IAccount): Promise; /** * Verifies if the signature field is valid * @param transaction * @param account */ verifyTransactionSignature(transaction: Transaction, account: IAccount): Promise; /** * Verifies if message signature is valid * @param message * @param account */ verifyMessageSignature(message: Message, account: IAccount): Promise; /** * Fetches the account nonce from the network. * @param address */ recallAccountNonce(address: Address): Promise; /** * Function of the network provider, promoted to the entrypoint. * @param transactions */ sendTransactions(transactions: Transaction[]): Promise<[number, string[]]>; /** * Function of the network provider, promoted to the entrypoint. * @param transaction */ sendTransaction(transaction: Transaction): Promise; /** * Generic function to await a transaction on the network. * @param txHash */ awaitCompletedTransaction(txHash: string): Promise; getTransaction(txHash: string): Promise; /** * Access to the underlying network provider. */ createNetworkProvider(): INetworkProvider; protected createGasLimitEstimator(): GasLimitEstimator; createDelegationController(): DelegationController; createDelegationTransactionsFactory(): DelegationTransactionsFactory; createAccountController(): AccountController; createAccountTransactionsFactory(): AccountTransactionsFactory; createSmartContractController(abi?: Abi): SmartContractController; createSmartContractTransactionsFactory(abi?: Abi): SmartContractTransactionsFactory; createTokenManagementController(): TokenManagementController; createTokenManagementTransactionsFactory(): TokenManagementTransactionsFactory; createTransfersController(): TransfersController; createTransfersTransactionsFactory(): TransferTransactionsFactory; createMultisigController(abi: Abi): MultisigController; createMultisigTransactionsFactory(abi: Abi): MultisigTransactionsFactory; createGovernanceController(): GovernanceController; createGovernanceTransactionsFactory(): GovernanceTransactionsFactory; createValidatorsController(): ValidatorsController; createValidatorsTransactionsFactory(): ValidatorsTransactionsFactory; } export declare class TestnetEntrypoint extends NetworkEntrypoint { constructor(options?: { url?: string; kind?: string; clientName?: string; withGasLimitEstimator?: boolean; gasLimitMultiplier?: number; networkProviderConfig?: NetworkProviderConfig; }); } export declare class DevnetEntrypoint extends NetworkEntrypoint { constructor(options?: { url?: string; kind?: string; clientName?: string; withGasLimitEstimator?: boolean; gasLimitMultiplier?: number; networkProviderConfig?: NetworkProviderConfig; }); } export declare class MainnetEntrypoint extends NetworkEntrypoint { constructor(options?: { url?: string; kind?: string; clientName?: string; withGasLimitEstimator?: boolean; gasLimitMultiplier?: number; networkProviderConfig?: NetworkProviderConfig; }); }