/** * @prettier */ import { AbstractEthLikeCoin, OfflineVaultTxInfo, RecoverOptions, RecoveryInfo, SignedTransaction, SignTransactionOptions } from '@bitgo/abstract-eth'; import { BaseCoin, BitGoBase, Recipient, MultisigType } from '@bitgo/sdk-core'; import { BaseCoin as StaticsBaseCoin, EthereumNetwork as EthLikeNetwork } from '@bitgo/statics'; import { TransactionBuilder } from './lib'; import { Buffer } from 'buffer'; import { BN } from 'ethereumjs-util'; export declare class Etc extends AbstractEthLikeCoin { readonly staticsCoin?: Readonly; protected readonly sendMethodName: 'sendMultiSig' | 'sendMultiSigToken'; protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly); static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly): BaseCoin; isValidPub(pub: string): boolean; /** inherited doc */ getDefaultMultisigType(): MultisigType; /** * Builds a funds recovery transaction without BitGo * @param params * @param {string} params.userKey - [encrypted] xprv * @param {string} params.backupKey - [encrypted] xprv or xpub if the xprv is held by a KRS provider * @param {string} params.walletPassphrase - used to decrypt userKey and backupKey * @param {string} params.walletContractAddress - the ETH address of the wallet contract * @param {string} params.krsProvider - necessary if backup key is held by KRS * @param {string} params.recoveryDestination - target address to send recovered funds to * @param {string} params.bitgoFeeAddress - wrong chain wallet fee address for evm based cross chain recovery txn * @param {string} params.bitgoDestinationAddress - target bitgo address where fee will be sent for evm based cross chain recovery txn */ recover(params: RecoverOptions): Promise; getTransactionBuilder(): TransactionBuilder; /** * Make a query to etc.network for information such as balance, token balance, solidity calls * @param {Object} query — key-value pairs of parameters to append after /api * @returns {Promise} response from etc.network */ recoveryBlockchainExplorerQuery(query: Record): Promise; /** * Method to validate recovery params * @param {RecoverOptions} params * @returns {void} */ validateRecoveryParams(params: RecoverOptions): void; /** * Queries public block explorer to get the next ETHLike coin's nonce that should be used for the given ETH address * @param {string} address * @returns {Promise} */ getAddressNonce(address: string): Promise; /** * Queries etc.network for the balance of an address * @param {string} address - the ETC address * @returns {Promise} address balance */ queryAddressBalance(address: string): Promise; /** * Queries the contract (via explorer API) for the next sequence ID * @param {String} address - address of the contract * @returns {Promise} sequence ID */ querySequenceId(address: string): Promise; /** * Check whether the gas price passed in by user are within our max and min bounds * If they are not set, set them to the defaults * @param {number} userGasPrice - user defined gas price * @returns {number} the gas price to use for this transaction */ setGasPrice(userGasPrice?: number): number; /** * Check whether gas limit passed in by user are within our max and min bounds * If they are not set, set them to the defaults * @param {number} userGasLimit user defined gas limit * @returns {number} the gas limit to use for this transaction */ setGasLimit(userGasLimit?: number): number; /** * @param {Recipient[]} recipients - the recipients of the transaction * @param {number} expireTime - the expire time of the transaction * @param {number} contractSequenceId - the contract sequence id of the transaction * @returns {string} */ getOperationSha3ForExecuteAndConfirm(recipients: Recipient[], expireTime: number, contractSequenceId: number): string; /** * Get transfer operation for coin * @param {Recipient} recipient - recipient info * @param {number} expireTime - expiry time * @param {number} contractSequenceId - sequence id * @returns {Array} operation array */ getOperation(recipient: Recipient, expireTime: number, contractSequenceId: number): (string | Buffer)[][]; /** * Method to return the coin's network object * @returns {EthLikeNetwork | undefined} */ getNetwork(): EthLikeNetwork | undefined; /** * Assemble half-sign prebuilt transaction * @param {SignTransactionOptions} params */ signTransaction(params: SignTransactionOptions): Promise; /** * Helper function for signTransaction for the rare case that SDK is doing the second signature * Note: we are expecting this to be called from the offline vault * @param params.txPrebuild * @param params.prv * @returns {{txHex: string}} */ signFinal(params: any): Promise<{ txHex: any; }>; } //# sourceMappingURL=etc.d.ts.map