import { Address, AppABIEncodings, AppInstanceJson, AssetId, ContractABI, EventName, JsonRpcResponse, MethodParam, MethodParams, MethodResults, OutcomeType, ProtocolEventMessage, ProtocolParams, PublicIdentifier, Rpc, SolidityValueType } from "@connext/types"; import { BigNumber, Wallet } from "ethers"; import { CFCore } from "../cfCore"; import { AppInstance, StateChannel } from "../models"; import { TestContractAddresses } from "./contracts"; interface AppContext { appDefinition: string; abiEncodings: AppABIEncodings; initialState: SolidityValueType; outcomeType: OutcomeType; } export declare const getChainId: () => number; export declare const getContractAddresses: (chainId?: string | undefined) => TestContractAddresses; export declare const newWallet: (wallet: Wallet) => Wallet; export declare function createAppInstanceJsonForTest(appIdentityHash: string, stateChannel?: StateChannel): AppInstanceJson; export declare function createAppInstanceForTest(stateChannel?: StateChannel): AppInstance; export declare function requestDepositRights(depositor: CFCore, counterparty: CFCore, multisigAddress: string, assetId?: AssetId): Promise; export declare function rescindDepositRights(node: CFCore, counterparty: CFCore, multisigAddress: string, assetId?: AssetId): Promise; export declare function getDepositApps(node: CFCore, multisigAddr: string, tokenAddresses?: string[]): Promise; export declare function assertMessage(msg: ProtocolEventMessage, expected: any, shouldExist?: string[]): void; export declare function assertProposeMessage(senderId: string, msg: ProtocolEventMessage<"PROPOSE_INSTALL_EVENT">, params: ProtocolParams.Propose): void; export declare function assertInstallMessage(senderId: string, msg: ProtocolEventMessage<"INSTALL_EVENT">, appIdentityHash: string): void; export declare const getMultisigCreationAddress: (node: CFCore, addresss: string[]) => Promise; export declare function constructChannelCreationRpc(owners: string[]): { id: number; methodName: "chan_create"; parameters: { owners: string[]; chainId: number; }; }; export declare function getChannelAddresses(node: CFCore): Promise>; export declare function getAppInstance(node: CFCore, appIdentityHash: string): Promise; export declare function getAppInstanceJson(node: CFCore, appIdentityHash: string, multisigAddress: string): Promise; export declare function getFreeBalanceState(node: CFCore, multisigAddress: string, assetId?: string): Promise; export declare function getTokenIndexedFreeBalanceStates(node: CFCore, multisigAddress: string): Promise; export declare function getInstalledAppInstances(node: CFCore, multisigAddress: string): Promise; export declare function getProposedAppInstances(node: CFCore, multisigAddress: string): Promise; export declare function getMultisigBalance(multisigAddr: string, tokenAddress?: string): Promise; export declare function getMultisigAmountWithdrawn(multisigAddr: string, tokenAddress?: string): Promise; export declare function getProposeDepositAppParams(multisigAddress: string, initiatorIdentifier: string, responderIdentifier: string, assetId?: string): Promise; export declare function deposit(node: CFCore, multisigAddress: string, amount: BigNumber | undefined, responderNode: CFCore, assetId?: AssetId): Promise; export declare function deployStateDepositHolder(node: CFCore, multisigAddress: string): Promise; export declare function constructInstallRpc(appIdentityHash: string, multisigAddress: string): Rpc; export declare function constructRejectInstallRpc(appIdentityHash: string, multisigAddress: string, reason?: string): Rpc; export declare function constructAppProposalRpc(multisigAddress: string, responderIdentifier: PublicIdentifier, appDefinition: string, abiEncodings: AppABIEncodings, initialState: SolidityValueType, initiatorDeposit?: BigNumber, initiatorDepositAssetId?: string, responderDeposit?: BigNumber, responderDepositAssetId?: string, defaultTimeout?: BigNumber, stateTimeout?: BigNumber): Rpc; export declare function confirmProposedAppInstance(methodParams: MethodParam, AppInstanceJson: AppInstanceJson, nonInitiatingNode?: boolean): void; export declare function constructGetStateChannelRpc(multisigAddress: string): Rpc; export declare function constructTakeActionRpc(appIdentityHash: string, multisigAddress: string, action: any): Rpc; export declare function constructGetAppsRpc(multisigAddress: string): Rpc; export declare function constructUninstallRpc(appIdentityHash: string, multisigAddress: string, action?: SolidityValueType, protocolMeta?: any): Rpc; export declare function collateralizeChannel(multisigAddress: string, node1: CFCore, node2: CFCore, amount?: BigNumber, assetId?: string, collateralizeNode2?: boolean): Promise; export declare function createChannel(nodeA: CFCore, nodeB: CFCore): Promise; export declare function installApp(nodeA: CFCore, nodeB: CFCore, multisigAddress: string, appDefinition: string, initialState?: SolidityValueType, initiatorDeposit?: BigNumber, initiatorDepositAssetId?: string, responderDeposit?: BigNumber, responderDepositAssetId?: string, defaultTimeout?: BigNumber, stateTimeout?: BigNumber): Promise<[string, ProtocolParams.Propose]>; export declare function confirmChannelCreation(nodeA: CFCore, nodeB: CFCore, data: MethodResults.CreateChannel, owners: Address[]): Promise; export declare function confirmAppInstanceInstallation(proposedParams: ProtocolParams.Propose, appInstance: AppInstanceJson): Promise; export declare function makeInstallCall(node: CFCore, appIdentityHash: string, multisigAddress: string): Promise; export declare function makeProposeCall(nodeB: CFCore, appDefinition: string, multisigAddress: string, initialState?: SolidityValueType, initiatorDeposit?: BigNumber, initiatorDepositAssetId?: string, responderDeposit?: BigNumber, responderDepositAssetId?: string): Rpc; export declare function makeAndSendProposeCall(nodeA: CFCore, nodeB: CFCore, appDefinition: string, multisigAddress: string, initialState?: SolidityValueType, initiatorDeposit?: BigNumber, initiatorDepositAssetId?: string, responderDeposit?: BigNumber, responderDepositAssetId?: string): Promise<{ appIdentityHash: string; params: ProtocolParams.Propose; }>; export declare function transferERC20Tokens(toAddress: string, tokenAddress?: string, contractABI?: ContractABI, amount?: BigNumber): Promise; export declare function getAppContext(appDefinition: string, initialState?: SolidityValueType, senderAddress?: string, receiverAddress?: string): AppContext; export declare function takeAppAction(node: CFCore, appIdentityHash: string, multisigAddress: string, action: any): Promise; export declare function uninstallApp(node: CFCore, counterparty: CFCore, appIdentityHash: string, multisigAddress: string): Promise; export declare function getApps(node: CFCore, multisigAddress: string): Promise; export declare function getBalances(nodeA: CFCore, nodeB: CFCore, multisigAddress: string, assetId: AssetId): Promise<[BigNumber, BigNumber]>; export {}; //# sourceMappingURL=utils.d.ts.map