UNPKG

@melonproject/protocol

Version:

Technology Regulated and Operated Investment Funds

23 lines (22 loc) 1.52 kB
import { EnhancedExecute, MelonTransaction } from './transactionFactory'; import { OptionsOrCallback } from './prepareTransaction'; import { Environment } from '../environment/Environment'; declare type WithAddressQuerySendFunction<Args> = (environment: Environment, signedTransactionData: string, params: Args, options?: OptionsOrCallback) => Promise<any>; declare type WithAddressQueryPrepareFunction<Args> = (environment: Environment, params?: Args, options?: OptionsOrCallback) => Promise<MelonTransaction<Args>>; export declare type WithAddressQueryExecuteFunction<Args, Result> = (environment: Environment, params?: Args, options?: OptionsOrCallback) => Promise<Result>; export interface WithAddressQueryExecuteMixin<Args> { prepare: WithAddressQueryPrepareFunction<Args>; send: WithAddressQuerySendFunction<Args>; } export declare type WithAddressQueryExecute<Args, Result> = WithAddressQueryExecuteFunction<Args, Result> & WithAddressQueryExecuteMixin<Args>; export declare type WithContractAddressQuery = <Args, Result>(contractAddressQuery: string[], transaction: EnhancedExecute<Args, Result>) => WithAddressQueryExecute<Args, Result>; /** * Wraps the result of the transaction factory (EnhancedExecute) in helper * functions that do not require to provide contractAddress, but derive this * from the params with the contractAddressQuery * * @param contractAddressQuery * @param transaction */ declare const withContractAddressQuery: WithContractAddressQuery; export { withContractAddressQuery };