Function preparePortfolioHolder
- preparePortfolioHolder(zone, vowTools): ((...args: [accountEntries: Iterable<[string, OrchestrationAccount<any>], any, any>, publicTopicEntries: Iterable<[string, ResolvedPublicTopic<unknown>], any, any>]) => Guarded<{
addAccount(chainName: string, account: HostInterface<OrchestrationAccount<any>>, publicTopic: ResolvedPublicTopic<unknown>): Vow<void>;
asContinuingOffer(): Vow<{
invitationMakers: Guarded<{
Proxying<IA>(chainName: string, action: string, invitationArgs?: IA): Promise<Invitation<unknown, IA>>;
}>;
publicSubscribers: {
[k: string]: T;
};
}>;
getAccount(chainName: string): Vow<HostInterface<OrchestrationAccountI>>;
getPublicTopics(): Vow<{
[k: string]: T;
}>;
}>) Parameters
- zone: Zone
- vowTools: VowTools
Returns ((...args: [accountEntries: Iterable<[string, OrchestrationAccount<any>], any, any>, publicTopicEntries: Iterable<[string, ResolvedPublicTopic<unknown>], any, any>]) => Guarded<{
addAccount(chainName: string, account: HostInterface<OrchestrationAccount<any>>, publicTopic: ResolvedPublicTopic<unknown>): Vow<void>;
asContinuingOffer(): Vow<{
invitationMakers: Guarded<{
Proxying<IA>(chainName: string, action: string, invitationArgs?: IA): Promise<Invitation<unknown, IA>>;
}>;
publicSubscribers: {
[k: string]: T;
};
}>;
getAccount(chainName: string): Vow<HostInterface<OrchestrationAccountI>>;
getPublicTopics(): Vow<{
[k: string]: T;
}>;
}>)
- (...args): Guarded<{
addAccount(chainName: string, account: HostInterface<OrchestrationAccount<any>>, publicTopic: ResolvedPublicTopic<unknown>): Vow<void>;
asContinuingOffer(): Vow<{
invitationMakers: Guarded<{
Proxying<IA>(chainName: string, action: string, invitationArgs?: IA): Promise<Invitation<unknown, IA>>;
}>;
publicSubscribers: {
[k: string]: T;
};
}>;
getAccount(chainName: string): Vow<HostInterface<OrchestrationAccountI>>;
getPublicTopics(): Vow<{
[k: string]: T;
}>;
}> Returns Guarded<{
addAccount(chainName: string, account: HostInterface<OrchestrationAccount<any>>, publicTopic: ResolvedPublicTopic<unknown>): Vow<void>;
asContinuingOffer(): Vow<{
invitationMakers: Guarded<{
Proxying<IA>(chainName: string, action: string, invitationArgs?: IA): Promise<Invitation<unknown, IA>>;
}>;
publicSubscribers: {
[k: string]: T;
};
}>;
getAccount(chainName: string): Vow<HostInterface<OrchestrationAccountI>>;
getPublicTopics(): Vow<{
[k: string]: T;
}>;
}>
A portfolio holder stores two or more OrchestrationAccounts and combines ContinuingOfferResult's from each into a single result.
The invitationMakers can be accessed via the
Proxy
invitationMaker, which calls out to other invitationMakers.See MakeCombineInvitationMakers for an exo that allows a developer to define extra invitationMakers to combine with platform-provided ones.
Example