import { BaseCoin as CoinConfig } from '@aloe2/statics'; import { BaseKey } from '@aloe2/sdk-core'; import { TransactionBuilder } from './transactionBuilder'; import { Address } from './address'; import { Transaction } from './transaction'; import { Block, Fee, TransactionReceipt, TriggerSmartContract } from './iface'; export declare const MAX_FEE = 5000000000; export declare class ContractCallBuilder extends TransactionBuilder { protected _signingKeys: BaseKey[]; private _toContractAddress; private _data; private _ownerAddress; private _refBlockBytes; private _refBlockHash; private _expiration; private _timestamp; private _fee; constructor(_coinConfig: Readonly); /** @inheritdoc */ protected buildImplementation(): Promise; /** @inheritdoc */ protected signImplementation(key: BaseKey): Transaction; /** * Initialize the transaction builder fields using the transaction data * * @param {any} rawTransaction the transaction data in a string or JSON format * @returns {ContractCallBuilder} the builder with the transaction data set */ initBuilder(rawTransaction: TransactionReceipt | string): this; /** * Initialize the contract call specific data * * @param {TriggerSmartContract} contractCall object with transfer data */ protected initContractCall(contractCall: TriggerSmartContract): void; /** * Set the source address, * * @param {Address} address source account * @returns {ContractCallBuilder} the builder with the new parameter set */ source(address: Address): this; /** * Set the address of the contract to be called, * * @param {Address} contractAddress the contract address * @returns {ContractCallBuilder} the builder with the new parameter set */ to(contractAddress: Address): this; /** * Set the data with the method call and parameters * * @param {string} data data encoded on hexa * @returns {ContractCallBuilder} the builder with the new parameter set */ data(data: string): this; /** * Set the block values, * * @param {Block} block the object containing number and hash of the block * @returns {ContractCallBuilder} the builder with the new parameter set */ block(block: Block): this; /** * Set the expiration time for the transaction, set also timestamp if it was not set previously * * @param {number} time the expiration time in milliseconds * @returns {ContractCallBuilder} the builder with the new parameter set */ expiration(time: number): this; /** @inheritdoc */ extendValidTo(extensionMs: number): void; /** * Set the timestamp for the transaction * * @param {number} time the timestamp in milliseconds * @returns {ContractCallBuilder} the builder with the new parameter set */ timestamp(time: number): this; /** * Set the fee limit for the transaction * * @param {Fee} fee the fee limit for the transaction * @returns {ContractCallBuilder} the builder with the new parameter set */ fee(fee: Fee): this; private createTransaction; private getRawDataHex; private applySignatures; /** @inheritdoc */ validateTransaction(transaction: Transaction): void; /** @inheritdoc */ validateMandatoryFields(): void; validateExpirationTime(value: number): void; } //# sourceMappingURL=contractCallBuilder.d.ts.map