import { EncoderOverrides, ContractFunctionObj, ContractTxFunctionObj, BaseContract } from '@0x/base-contract'; import { ContractAbi, ContractArtifact, TxData, SupportedProvider } from 'ethereum-types'; import { BigNumber } from '@0x/utils'; import { SimpleContractArtifact } from '@0x/types'; import { Web3Wrapper } from '@0x/web3-wrapper'; export declare class CoordinatorContract extends BaseContract { /** * @ignore */ static deployedBytecode: string; static contractName: string; private readonly _methodABIIndex; static deployFrom0xArtifactAsync(artifact: ContractArtifact | SimpleContractArtifact, supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact); }, exchange: string, chainId: BigNumber): Promise; static deployWithLibrariesFrom0xArtifactAsync(artifact: ContractArtifact, libraryArtifacts: { [libraryName: string]: ContractArtifact; }, supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: (ContractArtifact | SimpleContractArtifact); }, exchange: string, chainId: BigNumber): Promise; static deployAsync(bytecode: string, abi: ContractAbi, supportedProvider: SupportedProvider, txDefaults: Partial, logDecodeDependencies: { [contractName: string]: ContractAbi; }, exchange: string, chainId: BigNumber): Promise; /** * @returns The contract ABI */ static ABI(): ContractAbi; protected static _deployLibrariesAsync(artifact: ContractArtifact, libraryArtifacts: { [libraryName: string]: ContractArtifact; }, web3Wrapper: Web3Wrapper, txDefaults: Partial, libraryAddresses?: { [libraryName: string]: string; }): Promise<{ [libraryName: string]: string; }>; getFunctionSignature(methodName: string): string; getABIDecodedTransactionData(methodName: string, callData: string): T; getABIDecodedReturnData(methodName: string, callData: string): T; getSelector(methodName: string): string; EIP712_COORDINATOR_APPROVAL_SCHEMA_HASH(): ContractFunctionObj; EIP712_COORDINATOR_DOMAIN_HASH(): ContractFunctionObj; EIP712_COORDINATOR_DOMAIN_NAME(): ContractFunctionObj; EIP712_COORDINATOR_DOMAIN_VERSION(): ContractFunctionObj; EIP712_EXCHANGE_DOMAIN_HASH(): ContractFunctionObj; /** * Validates that the 0x transaction has been approved by all of the feeRecipients * that correspond to each order in the transaction's Exchange calldata. * @param transaction 0x transaction containing salt, signerAddress, and data. * @param txOrigin Required signer of Ethereum transaction calling this * function. * @param transactionSignature Proof that the transaction has been signed by * the signer. * @param approvalSignatures Array of signatures that correspond to the * feeRecipients of each order in the transaction's Exchange * calldata. */ assertValidCoordinatorApprovals(transaction: { salt: BigNumber; expirationTimeSeconds: BigNumber; gasPrice: BigNumber; signerAddress: string; data: string; }, txOrigin: string, transactionSignature: string, approvalSignatures: string[]): ContractFunctionObj; /** * Decodes the orders from Exchange calldata representing any fill method. * @param data Exchange calldata representing a fill method. * @returns orders The orders from the Exchange calldata. */ decodeOrdersFromFillData(data: string): ContractFunctionObj>; /** * Executes a 0x transaction that has been signed by the feeRecipients that correspond to * each order in the transaction's Exchange calldata. * @param transaction 0x transaction containing salt, signerAddress, and data. * @param txOrigin Required signer of Ethereum transaction calling this * function. * @param transactionSignature Proof that the transaction has been signed by * the signer. * @param approvalSignatures Array of signatures that correspond to the * feeRecipients of each order in the transaction's Exchange * calldata. */ executeTransaction(transaction: { salt: BigNumber; expirationTimeSeconds: BigNumber; gasPrice: BigNumber; signerAddress: string; data: string; }, txOrigin: string, transactionSignature: string, approvalSignatures: string[]): ContractTxFunctionObj; /** * Calculates the EIP712 hash of the Coordinator approval mesasage using the domain * separator of this contract. * @param approval Coordinator approval message containing the transaction * hash, and transaction signature. * @returns approvalHash EIP712 hash of the Coordinator approval message with the domain separator of this contract. */ getCoordinatorApprovalHash(approval: { txOrigin: string; transactionHash: string; transactionSignature: string; }): ContractFunctionObj; /** * Recovers the address of a signer given a hash and signature. * @param hash Any 32 byte hash. * @param signature Proof that the hash has been signed by signer. * @returns signerAddress Address of the signer. */ getSignerAddress(hash: string, signature: string): ContractFunctionObj; constructor(address: string, supportedProvider: SupportedProvider, txDefaults?: Partial, logDecodeDependencies?: { [contractName: string]: ContractAbi; }, deployedBytecode?: string | undefined, encoderOverrides?: Partial); } //# sourceMappingURL=coordinator.d.ts.map