import { ISubmittableResult } from '@polkadot/types/types'; import BigNumber from 'bignumber.js'; import { Asset, Context, DefaultPortfolio, Instruction, NumberedPortfolio, PostTransactionValue, Procedure } from "../../internal"; import { PortfolioLike } from "../../types"; import { ProcedureAuthorization } from "../../types/internal"; export interface AddInstructionParams { /** * array of Asset movements (amount, from, to, asset) */ legs: { amount: BigNumber; from: PortfolioLike; to: PortfolioLike; asset: string | Asset; }[]; /** * date at which the trade was agreed upon (optional, for off chain trades) */ tradeDate?: Date; /** * date at which the trade was executed (optional, for off chain trades) */ valueDate?: Date; /** * block at which the Instruction will be executed automatically (optional, the Instruction will be executed when all participants have authorized it if not supplied) */ endBlock?: BigNumber; } export interface AddInstructionsParams { /** * array of Instructions to be added in the Venue */ instructions: AddInstructionParams[]; } export interface AddInstructionWithVenueIdParams extends AddInstructionParams { venueId: BigNumber; } /** * @hidden */ export declare type Params = AddInstructionsParams & { venueId: BigNumber; }; /** * @hidden */ export interface Storage { portfoliosToAffirm: (DefaultPortfolio | NumberedPortfolio)[][]; } /** * @hidden */ export declare const createAddInstructionResolver: (context: Context, previousInstructions?: PostTransactionValue | undefined) => (receipt: ISubmittableResult) => Instruction[]; /** * @hidden */ export declare function prepareAddInstruction(this: Procedure, args: Params): Promise>; /** * @hidden */ export declare function getAuthorization(this: Procedure, { venueId }: Params): Promise; /** * @hidden */ export declare function prepareStorage(this: Procedure, { instructions }: Params): Promise; /** * @hidden */ export declare const addInstruction: () => Procedure; //# sourceMappingURL=addInstruction.d.ts.map