Open Cap Table Protocol Canton SDK - v0.2.239
    Preparing search index...

    Interface LedgerJsonApiClient

    Client for interacting with Canton's LedgerJsonApi

    interface LedgerJsonApiClient {
        allocateExternalParty: (
            params: {
                identityProviderId: string;
                multiHashSignatures?: {
                    format: string;
                    signature: string;
                    signedBy: string;
                    signingAlgorithmSpec: string;
                }[];
                onboardingTransactions?: (
                    | {
                        signatures: {
                            format: string;
                            signature: string;
                            signedBy: string;
                            signingAlgorithmSpec: string;
                        }[];
                        transaction: string;
                    }
                    | { transaction: string }
                )[];
                synchronizer: string;
            },
        ) => Promise<{ partyId: string }>;
        allocateParty: (
            params: {
                identityProviderId: string;
                localMetadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                partyIdHint: string;
                synchronizerId: string;
                userId: string;
            },
        ) => Promise<
            {
                partyDetails: {
                    identityProviderId?: string;
                    isLocal: boolean;
                    localMetadata?: {
                        annotations: Record<string, string>;
                        resourceVersion: string;
                    };
                    party: string;
                };
            },
        >;
        apiType: ApiType;
        asyncSubmit: (
            params: {
                actAs?: string[];
                commandId?: string;
                commands: (
                    | {
                        CreateCommand: {
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractId: string;
                            templateId: string;
                        };
                    }
                    | {
                        CreateAndExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseByKeyCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractKey: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        AssignCommand: {
                            reassignmentId: string;
                            source: string;
                            target: string;
                        };
                    }
                    | {
                        UnassignCommand: {
                            contractId: string;
                            source: string;
                            target: string;
                        };
                    }
                )[];
                deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
                | { DeduplicationOffset: { offset: number } }
                | { Empty: Record<string, never> };
                disclosedContracts?: {
                    contractId: string;
                    createdEventBlob: string;
                    synchronizerId: string;
                    templateId: string;
                }[];
                minLedgerTimeAbs?: string;
                minLedgerTimeRel?: { seconds: number };
                packageIdSelectionPreference?: string[];
                prefetchContractKeys?: {
                    contractKey: Record<
                        string,
                        | string
                        | number
                        | boolean
                        | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                        | { [key: string]: any }
                        | null,
                    >;
                    templateId: string;
                }[];
                readAs?: string[];
                submissionId?: string;
                synchronizerId?: string;
                userId?: string;
                workflowId?: string;
            },
        ) => Promise<Record<string, never>>;
        asyncSubmitReassignment: (
            params: {
                reassignmentCommands: {
                    commandId: string;
                    commands: {
                        command:
                            | {
                                AssignCommand: {
                                    reassignmentId: string;
                                    source: string;
                                    target: string;
                                };
                            }
                            | {
                                UnassignCommand: {
                                    contractId: string;
                                    source: string;
                                    target: string;
                                };
                            }
                            | { Empty: Record<string, never> };
                    }[];
                    submissionId?: string;
                    submitter: string;
                    userId: string;
                    workflowId?: string;
                };
            },
        ) => Promise<Record<string, never>>;
        authManager: AuthenticationManager;
        clientConfig: ClientConfig;
        completions: (
            params: {
                beginExclusive: number;
                limit?: number;
                parties: string[];
                streamIdleTimeoutMs?: number;
                userId: string;
            },
        ) => Promise<
            {
                completionResponse: | {
                    Completion: {
                        value: {
                            actAs?: string[];
                            commandId: string;
                            deduplicationPeriod: | { DeduplicationDuration: { value: ... } }
                            | { DeduplicationOffset: { value: ... } }
                            | { Empty: Record<(...), (...)> };
                            offset: number;
                            status?: { code: number; details?: (...) | (...); message: string };
                            submissionId: string;
                            synchronizerTime?: {
                                recordTime?: (...) | (...);
                                synchronizerId: string;
                            };
                            traceContext?: {
                                traceparent?: (...)
                                | (...);
                                tracestate?: (...) | (...);
                            };
                            updateId: string;
                            userId: string;
                        };
                    };
                }
                | { Empty: Record<string, never> }
                | {
                    OffsetCheckpoint: {
                        value: {
                            offset: number;
                            synchronizerTimes?: { recordTime?: ...; synchronizerId: ... }[];
                        };
                    };
                };
            }[],
        >;
        config: PartialProviderConfig;
        createIdentityProviderConfig: (
            params: {
                identityProviderConfig: {
                    audience?: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    issuer: string;
                    jwksUrl: string;
                };
            },
        ) => Promise<
            {
                identityProviderConfig: {
                    audience?: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    issuer: string;
                    jwksUrl: string;
                };
            },
        >;
        createUser: (
            params: {
                rights?: {
                    kind:
                        | { CanActAs: { party: string } }
                        | { CanReadAs: { party: string } }
                        | { CanReadAsAnyParty: Record<string, never> }
                        | { Empty: Record<string, never> }
                        | { IdentityProviderAdmin: Record<string, never> }
                        | { ParticipantAdmin: Record<string, never> };
                }[];
                user: {
                    id: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: Record<string, string>;
                        resourceVersion: string;
                    };
                    primaryParty?: string;
                };
            },
        ) => Promise<
            {
                user?: {
                    id: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    primaryParty: string;
                };
            },
        >;
        deleteIdentityProviderConfig: (
            params: { idpId: string },
        ) => Promise<Record<string, never>>;
        deleteUser: (params: { userId: string }) => Promise<Record<string, never>>;
        generateExternalPartyTopology: (
            params: {
                confirmationThreshold?: number;
                localParticipantObservationOnly?: boolean;
                observingParticipantUids?: string[];
                otherConfirmingParticipantUids?: string[];
                partyHint: string;
                publicKey: { format: string; keyData: string; keySpec: string };
                synchronizer: string;
            },
        ) => Promise<
            {
                multiHash: string;
                partyId: string;
                publicKeyFingerprint: string;
                topologyTransactions?: string[];
            },
        >;
        getActiveContracts: (
            params: GetActiveContractsParams,
        ) => Promise<
            {
                contractEntry: | {
                    JsActiveContract: {
                        createdEvent: {
                            contractId: string;
                            contractKey: string
                            | null;
                            createArgument: z.ZodRecord<
                                z.ZodString,
                                z.ZodType<
                                    (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                    unknown,
                                    z.core.$ZodTypeInternals<(...), (...)>,
                                >,
                            >;
                            createdAt: string;
                            createdEventBlob: string;
                            implementedInterfaces?: string[];
                            interfaceViews: string[];
                            nodeId: number;
                            observers: string[];
                            offset: number;
                            packageName: string;
                            signatories: string[];
                            templateId: string;
                            witnessParties: string[];
                        };
                        reassignmentCounter: number;
                        synchronizerId: string;
                    };
                }
                | { JsEmpty: z.ZodObject<{}, z.core.$strip> }
                | {
                    JsIncompleteAssigned: {
                        assignedEvent: {
                            contractId: string;
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            reassignmentCounter: number;
                            reassignmentId: string;
                            source: string;
                            submitter: string;
                            target: string;
                            templateId: string;
                        };
                    };
                }
                | {
                    JsIncompleteUnassigned: {
                        createdEvent: {
                            contractId: string;
                            contractKey: string
                            | null;
                            createArgument: z.ZodRecord<
                                z.ZodString,
                                z.ZodType<
                                    (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                    unknown,
                                    z.core.$ZodTypeInternals<(...), (...)>,
                                >,
                            >;
                            createdAt: string;
                            createdEventBlob: string;
                            implementedInterfaces?: string[];
                            interfaceViews: string[];
                            nodeId: number;
                            observers: string[];
                            offset: number;
                            packageName: string;
                            signatories: string[];
                            templateId: string;
                            witnessParties: string[];
                        };
                        unassignedEvent: {
                            contractId: string;
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            reassignmentCounter: number;
                            reassignmentId: string;
                            source: string;
                            submitter: string;
                            target: string;
                            templateId: string;
                        };
                    };
                };
                workflowId?: string;
            }[],
        >;
        getAuthenticatedUser: (
            params: Record<string, never>,
        ) => Promise<
            {
                user: {
                    id: string;
                    identityProviderId?: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: Record<string, string>;
                        resourceVersion: string;
                    };
                    primaryParty?: string;
                };
            },
        >;
        getConnectedSynchronizers: (
            params: { participantId?: string; party: string },
        ) => Promise<
            {
                connectedSynchronizers?: {
                    permission: | "PARTICIPANT_PERMISSION_UNSPECIFIED"
                    | "PARTICIPANT_PERMISSION_SUBMISSION"
                    | "PARTICIPANT_PERMISSION_CONFIRMATION"
                    | "PARTICIPANT_PERMISSION_OBSERVATION";
                    synchronizerAlias: string;
                    synchronizerId: string;
                }[];
            },
        >;
        getEventsByContractId: (
            params: { contractId: string; readAs?: string[] },
        ) => Promise<
            {
                archived?: {
                    archivedEvent: {
                        contractId: string;
                        implementedInterfaces?: string[];
                        nodeId: number;
                        offset: number;
                        packageName: string;
                        templateId: string;
                        witnessParties?: string[];
                    };
                    synchronizerId: string;
                };
                created?: {
                    createdEvent: {
                        acsDelta: boolean;
                        contractId: string;
                        contractKey?: unknown;
                        createArgument?: unknown;
                        createdAt: string;
                        createdEventBlob: string;
                        interfaceViews?: {
                            interfaceId: string;
                            viewStatus: { code: number; details?: (...)
                            | (...); message: string };
                            viewValue?: unknown;
                        }[];
                        nodeId: number;
                        observers?: string[];
                        offset: number;
                        packageName: string;
                        representativePackageId: string;
                        signatories?: string[];
                        templateId: string;
                        witnessParties?: string[];
                    };
                    synchronizerId: string;
                };
            },
        >;
        getIdentityProviderConfig: (
            params: { idpId: string },
        ) => Promise<
            {
                identityProviderConfig: {
                    audience?: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    issuer: string;
                    jwksUrl: string;
                };
            },
        >;
        getLatestPrunedOffsets: (
            params: Record<string, never>,
        ) => Promise<
            {
                allDivulgedContractsPrunedUpToInclusive: number;
                participantPrunedUpToInclusive: number;
            },
        >;
        getLedgerEnd: (
            params: Record<string, never>,
        ) => Promise<{ offset: number }>;
        getPackageStatus: (
            params: { packageId: string },
        ) => Promise<{ packageStatus: string }>;
        getParticipantId: (
            params: void | undefined,
        ) => Promise<{ participantId: string }>;
        getParties: (
            params: { pageToken?: string },
        ) => Promise<
            {
                nextPageToken: string;
                partyDetails?: {
                    identityProviderId: string;
                    isLocal: boolean;
                    localMetadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    party: string;
                }[];
            },
        >;
        getPartyDetails: (
            params: {
                identityProviderId?: string;
                parties?: string[];
                party: string;
            },
        ) => Promise<
            {
                partyDetails?: {
                    identityProviderId: string;
                    isLocal: boolean;
                    localMetadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    party: string;
                }[];
            },
        >;
        getTransactionById: (
            params: {
                transactionFormat: {
                    eventFormat: {
                        filtersByParty: Record<
                            string,
                            {
                                cumulative: {
                                    identifierFilter: | { Empty: Record<(...), (...)> }
                                    | { InterfaceFilter: { value: ... } }
                                    | { TemplateFilter: { value: ... } }
                                    | { WildcardFilter: { value: ... } };
                                }[];
                            },
                        >;
                        filtersForAnyParty?: {
                            cumulative: {
                                identifierFilter: | { Empty: Record<(...), (...)> }
                                | { InterfaceFilter: { value: ... } }
                                | { TemplateFilter: { value: ... } }
                                | { WildcardFilter: { value: ... } };
                            }[];
                        };
                        verbose?: boolean;
                    };
                    transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                    | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
                };
                updateId: string;
            },
        ) => Promise<
            {
                transaction: {
                    commandId: string;
                    effectiveAt: string;
                    events?: (
                        | {
                            ArchivedEvent: {
                                contractId: string;
                                implementedInterfaces?: (...)[];
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                        | {
                            CreatedEvent: {
                                acsDelta: boolean;
                                contractId: string;
                                contractKey?: unknown;
                                createArgument?: unknown;
                                createdAt: string;
                                createdEventBlob: string;
                                interfaceViews?: (...)[];
                                nodeId: number;
                                observers?: (...)[];
                                offset: number;
                                packageName: string;
                                representativePackageId: string;
                                signatories?: (...)[];
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                        | {
                            ExercisedEvent: {
                                acsDelta: boolean;
                                actingParties?: (...)[];
                                choice: string;
                                choiceArgument: unknown;
                                consuming: boolean;
                                contractId: string;
                                exerciseResult: unknown;
                                implementedInterfaces?: (...)[];
                                interfaceId?: string;
                                lastDescendantNodeId: number;
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                    )[];
                    externalTransactionHash?: string;
                    offset: number;
                    recordTime: string;
                    synchronizerId: string;
                    traceContext?: { traceparent?: string; tracestate?: string };
                    updateId: string;
                    workflowId: string;
                };
            },
        >;
        getTransactionByOffset: (
            params: {
                offset: number;
                transactionFormat: {
                    eventFormat: {
                        filtersByParty: Record<
                            string,
                            {
                                cumulative: {
                                    identifierFilter: | { Empty: Record<(...), (...)> }
                                    | { InterfaceFilter: { value: ... } }
                                    | { TemplateFilter: { value: ... } }
                                    | { WildcardFilter: { value: ... } };
                                }[];
                            },
                        >;
                        filtersForAnyParty?: {
                            cumulative: {
                                identifierFilter: | { Empty: Record<(...), (...)> }
                                | { InterfaceFilter: { value: ... } }
                                | { TemplateFilter: { value: ... } }
                                | { WildcardFilter: { value: ... } };
                            }[];
                        };
                        verbose?: boolean;
                    };
                    transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                    | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
                };
            },
        ) => Promise<
            {
                transaction: {
                    commandId: string;
                    effectiveAt: string;
                    events?: (
                        | {
                            ArchivedEvent: {
                                contractId: string;
                                implementedInterfaces?: (...)[];
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                        | {
                            CreatedEvent: {
                                acsDelta: boolean;
                                contractId: string;
                                contractKey?: unknown;
                                createArgument?: unknown;
                                createdAt: string;
                                createdEventBlob: string;
                                interfaceViews?: (...)[];
                                nodeId: number;
                                observers?: (...)[];
                                offset: number;
                                packageName: string;
                                representativePackageId: string;
                                signatories?: (...)[];
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                        | {
                            ExercisedEvent: {
                                acsDelta: boolean;
                                actingParties?: (...)[];
                                choice: string;
                                choiceArgument: unknown;
                                consuming: boolean;
                                contractId: string;
                                exerciseResult: unknown;
                                implementedInterfaces?: (...)[];
                                interfaceId?: string;
                                lastDescendantNodeId: number;
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                    )[];
                    externalTransactionHash?: string;
                    offset: number;
                    recordTime: string;
                    synchronizerId: string;
                    traceContext?: { traceparent?: string; tracestate?: string };
                    updateId: string;
                    workflowId: string;
                };
            },
        >;
        getTransactionTreeById: (
            params: { parties?: string[]; updateId: string; verbose?: boolean },
        ) => Promise<
            {
                transaction: {
                    commandId: string;
                    effectiveAt?: string;
                    eventsById: {
                        [key: string]: | {
                            CreatedTreeEvent: {
                                value: {
                                    acsDelta: boolean;
                                    contractId: string;
                                    contractKey?: unknown;
                                    createArgument?: unknown;
                                    createdAt: string;
                                    createdEventBlob: string;
                                    interfaceViews?: (...)[];
                                    nodeId: number;
                                    observers?: (...)[];
                                    offset: number;
                                    packageName: string;
                                    representativePackageId: string;
                                    signatories?: (...)[];
                                    templateId: string;
                                    witnessParties?: (...)[];
                                };
                            };
                        }
                        | {
                            ExercisedTreeEvent: {
                                value: {
                                    acsDelta: boolean;
                                    actingParties?: (...)[];
                                    choice: string;
                                    choiceArgument: unknown;
                                    consuming: boolean;
                                    contractId: string;
                                    exerciseResult: unknown;
                                    implementedInterfaces?: (...)[];
                                    interfaceId?: string;
                                    lastDescendantNodeId: number;
                                    nodeId: number;
                                    offset: number;
                                    packageName: string;
                                    templateId: string;
                                    witnessParties?: (...)[];
                                };
                            };
                        };
                    };
                    offset: number;
                    recordTime: string;
                    synchronizerId: string;
                    traceContext?: { traceparent?: string; tracestate?: string };
                    updateId: string;
                    workflowId: string;
                };
            },
        >;
        getTransactionTreeByOffset: (
            params: { offset: string; parties?: string[]; verbose?: boolean },
        ) => Promise<
            {
                transaction: {
                    commandId: string;
                    effectiveAt?: string;
                    eventsById: {
                        [key: string]: | {
                            CreatedTreeEvent: {
                                value: {
                                    acsDelta: boolean;
                                    contractId: string;
                                    contractKey?: unknown;
                                    createArgument?: unknown;
                                    createdAt: string;
                                    createdEventBlob: string;
                                    interfaceViews?: (...)[];
                                    nodeId: number;
                                    observers?: (...)[];
                                    offset: number;
                                    packageName: string;
                                    representativePackageId: string;
                                    signatories?: (...)[];
                                    templateId: string;
                                    witnessParties?: (...)[];
                                };
                            };
                        }
                        | {
                            ExercisedTreeEvent: {
                                value: {
                                    acsDelta: boolean;
                                    actingParties?: (...)[];
                                    choice: string;
                                    choiceArgument: unknown;
                                    consuming: boolean;
                                    contractId: string;
                                    exerciseResult: unknown;
                                    implementedInterfaces?: (...)[];
                                    interfaceId?: string;
                                    lastDescendantNodeId: number;
                                    nodeId: number;
                                    offset: number;
                                    packageName: string;
                                    templateId: string;
                                    witnessParties?: (...)[];
                                };
                            };
                        };
                    };
                    offset: number;
                    recordTime: string;
                    synchronizerId: string;
                    traceContext?: { traceparent?: string; tracestate?: string };
                    updateId: string;
                    workflowId: string;
                };
            },
        >;
        getUpdateById: (
            params: GetUpdateByIdParams,
        ) => Promise<
            {
                update: | {
                    OffsetCheckpoint: {
                        value: {
                            offset: number;
                            synchronizerTimes?: {
                                recordTime?: (...)
                                | (...);
                                synchronizerId: string;
                            }[];
                        };
                    };
                }
                | {
                    Reassignment: {
                        value: {
                            commandId: string;
                            events?: ({ JsAssignmentEvent: ... } | { JsUnassignedEvent: ... })[];
                            offset: number;
                            recordTime: string;
                            synchronizerId: string;
                            traceContext?: { traceparent?: string; tracestate?: string };
                            updateId: string;
                            workflowId: string;
                        };
                    };
                }
                | {
                    TopologyTransaction: {
                        value: {
                            events?: { event: (...)
                            | (...)
                            | (...)
                            | (...) }[];
                            offset: number;
                            recordTime?: string;
                            synchronizerId: string;
                            traceContext?: { traceparent?: string; tracestate?: string };
                            updateId: string;
                        };
                    };
                }
                | {
                    Transaction: {
                        value: {
                            commandId: string;
                            effectiveAt: string;
                            events?: (
                                | { ArchivedEvent: ... }
                                | { CreatedEvent: ... }
                                | { ExercisedEvent: ... }
                            )[];
                            externalTransactionHash?: string;
                            offset: number;
                            recordTime: string;
                            synchronizerId: string;
                            traceContext?: { traceparent?: string; tracestate?: string };
                            updateId: string;
                            workflowId: string;
                        };
                    };
                };
            },
        >;
        getUpdateByOffset: (
            params: {
                offset: number;
                updateFormat: {
                    includeReassignments?: {
                        filtersByParty: Record<
                            string,
                            {
                                cumulative: {
                                    identifierFilter: | { Empty: ... }
                                    | { InterfaceFilter: ... }
                                    | { TemplateFilter: ... }
                                    | { WildcardFilter: ... };
                                }[];
                            },
                        >;
                        filtersForAnyParty?: {
                            cumulative: {
                                identifierFilter: | { Empty: ... }
                                | { InterfaceFilter: ... }
                                | { TemplateFilter: ... }
                                | { WildcardFilter: ... };
                            }[];
                        };
                        verbose?: boolean;
                    };
                    includeTopologyEvents?: {
                        includeParticipantAuthorizationEvents?: { parties?: string[] };
                    };
                    includeTransactions?: {
                        eventFormat: {
                            filtersByParty: Record<
                                string,
                                { cumulative: { identifierFilter: (...)
                                | (...)
                                | (...)
                                | (...) }[] },
                            >;
                            filtersForAnyParty?: {
                                cumulative: { identifierFilter: (...) | (...) | (...) | (...) }[];
                            };
                            verbose?: boolean;
                        };
                        transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                        | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
                    };
                };
            },
        ) => Promise<
            {
                update: | {
                    OffsetCheckpoint: {
                        value: {
                            offset: number;
                            synchronizerTimes?: {
                                recordTime?: (...)
                                | (...);
                                synchronizerId: string;
                            }[];
                        };
                    };
                }
                | {
                    Reassignment: {
                        value: {
                            commandId: string;
                            events?: ({ JsAssignmentEvent: ... } | { JsUnassignedEvent: ... })[];
                            offset: number;
                            recordTime: string;
                            synchronizerId: string;
                            traceContext?: { traceparent?: string; tracestate?: string };
                            updateId: string;
                            workflowId: string;
                        };
                    };
                }
                | {
                    TopologyTransaction: {
                        value: {
                            events?: { event: (...)
                            | (...)
                            | (...)
                            | (...) }[];
                            offset: number;
                            recordTime?: string;
                            synchronizerId: string;
                            traceContext?: { traceparent?: string; tracestate?: string };
                            updateId: string;
                        };
                    };
                }
                | {
                    Transaction: {
                        value: {
                            commandId: string;
                            effectiveAt: string;
                            events?: (
                                | { ArchivedEvent: ... }
                                | { CreatedEvent: ... }
                                | { ExercisedEvent: ... }
                            )[];
                            externalTransactionHash?: string;
                            offset: number;
                            recordTime: string;
                            synchronizerId: string;
                            traceContext?: { traceparent?: string; tracestate?: string };
                            updateId: string;
                            workflowId: string;
                        };
                    };
                };
            },
        >;
        getUser: (
            params: { userId: string },
        ) => Promise<
            {
                user?: {
                    id: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    primaryParty: string;
                };
            },
        >;
        getVersion: () => Promise<
            {
                features?: {
                    experimental: {
                        commandInspectionService: { supported: boolean };
                        staticTime: { supported: boolean };
                    };
                    offsetCheckpoint: {
                        maxOffsetCheckpointEmissionDelay: { nanos: number; seconds: number };
                    };
                    partyManagement: { maxPartiesPageSize: number };
                    userManagement: {
                        maxRightsPerUser: number;
                        maxUsersPageSize: number;
                        supported: boolean;
                    };
                };
                version: string;
            },
        >;
        grantUserRights: (
            params: {
                rights?: {
                    kind:
                        | { CanActAs: { value: { party: string } } }
                        | { CanReadAs: { value: { party: string } } }
                        | { CanReadAsAnyParty: { value: Record<string, never> } }
                        | { CanExecuteAs: { value: { party: string } } }
                        | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                        | { Empty: { value: Record<string, never> } }
                        | { IdentityProviderAdmin: { value: Record<string, never> } }
                        | { ParticipantAdmin: { value: Record<string, never> } };
                }[];
                userId: string;
            },
        ) => Promise<
            {
                newlyGrantedRights?: {
                    kind: | { CanActAs: { value: { party: string } } }
                    | { CanExecuteAs: { value: { party: string } } }
                    | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                    | { CanReadAs: { value: { party: string } } }
                    | { CanReadAsAnyParty: { value: Record<string, never> } }
                    | { Empty: Record<string, never> }
                    | { IdentityProviderAdmin: { value: Record<string, never> } }
                    | { ParticipantAdmin: { value: Record<string, never> } };
                }[];
            },
        >;
        httpClient: HttpClient;
        interactiveSubmissionAllocateParty: (
            params: {
                displayName?: string;
                isLocal?: boolean;
                partyIdHint?: string;
            },
        ) => Promise<
            { party: { displayName?: string; isLocal: boolean; party: string } },
        >;
        interactiveSubmissionCreateUser: (
            params: {
                rights?: {
                    kind:
                        | { CanActAs: { party: string } }
                        | { CanReadAs: { party: string } }
                        | { CanReadAsAnyParty: Record<string, never> }
                        | { Empty: Record<string, never> }
                        | { IdentityProviderAdmin: Record<string, never> }
                        | { ParticipantAdmin: Record<string, never> };
                }[];
                user: {
                    id: string;
                    identityProviderId?: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: Record<string, string>;
                        resourceVersion: string;
                    };
                    primaryParty?: string;
                };
            },
        ) => Promise<
            {
                user: {
                    id: string;
                    identityProviderId?: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: Record<string, string>;
                        resourceVersion: string;
                    };
                    primaryParty?: string;
                };
            },
        >;
        interactiveSubmissionExecute: (
            params: {
                deduplicationPeriod?:
                    | { Empty: Record<string, never> }
                    | { DeduplicationDuration: { value: { duration: string } } }
                    | { DeduplicationOffset: { value: { offset: string } } };
                hashingSchemeVersion: string;
                partySignatures: {
                    signatures: {
                        party: string;
                        signatures: {
                            format: string;
                            signature: string;
                            signedBy: string;
                            signingAlgorithmSpec: string;
                        }[];
                    }[];
                };
                preparedTransaction: string;
                submissionId: string;
                userId: string;
            },
        ) => Promise<Record<string, never>>;
        interactiveSubmissionGetPreferredPackages: (
            params: {
                packageVettingRequirements: { packageName: string; parties: string[] }[];
                synchronizerId?: string;
                vettingValidAt?: string;
            },
        ) => Promise<
            {
                packageReferences: {
                    packageId: string;
                    packageName: string;
                    packageVersion: string;
                }[];
                synchronizerId: string;
            },
        >;
        interactiveSubmissionGetPreferredPackageVersion: (
            params: {
                packageName: string;
                parties?: string[];
                synchronizerId?: string;
                vettingValidAt?: string;
            },
        ) => Promise<
            {
                packagePreference?: {
                    packageReference: {
                        packageId: string;
                        packageName: string;
                        packageVersion: string;
                    };
                    synchronizerId: string;
                };
            },
        >;
        interactiveSubmissionPrepare: (
            params: {
                actAs: string[];
                commandId: string;
                commands: (
                    | {
                        CreateCommand: {
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractId: string;
                            templateId: string;
                        };
                    }
                    | {
                        CreateAndExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseByKeyCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractKey: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                )[];
                disclosedContracts?: {
                    contractId: string;
                    createdEventBlob?: string;
                    metadata?: Record<
                        string,
                        | string
                        | number
                        | boolean
                        | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                        | { [key: string]: any }
                        | null,
                    >;
                    synchronizerId: string;
                    templateId: string;
                }[];
                packageIdSelectionPreference?: {
                    packageId?: string;
                    packageName?: string;
                }[];
                readAs: string[];
                synchronizerId: string;
                userId: string;
                verboseHashing?: boolean;
            },
        ) => Promise<
            {
                costEstimation?: {
                    confirmationRequestTrafficCostEstimation: number;
                    confirmationResponseTrafficCostEstimation: number;
                    estimationTimestamp?: string;
                    totalTrafficCostEstimation: number;
                };
                hashingDetails?: string;
                hashingSchemeVersion?: | "HASHING_SCHEME_VERSION_UNSPECIFIED"
                | "HASHING_SCHEME_VERSION_V2";
                preparedTransaction?: string;
                preparedTransactionHash: string;
            },
        >;
        interactiveSubmissionUploadDar: (
            params: { darFile: Buffer<ArrayBufferLike> },
        ) => Promise<Record<string, never>>;
        listIdentityProviderConfigs: (
            params: Record<string, never>,
        ) => Promise<
            {
                identityProviderConfigs: {
                    audience?: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    issuer: string;
                    jwksUrl: string;
                }[];
            },
        >;
        listPackages: () => Promise<{ packageIds: string[] }>;
        listParties: (
            params: { pageToken?: string },
        ) => Promise<
            {
                nextPageToken: string;
                partyDetails?: {
                    identityProviderId: string;
                    isLocal: boolean;
                    localMetadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    party: string;
                }[];
            },
        >;
        listUserRights: (
            params: { userId: string },
        ) => Promise<
            {
                rights?: {
                    kind: | { CanActAs: { value: { party: string } } }
                    | { CanExecuteAs: { value: { party: string } } }
                    | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                    | { CanReadAs: { value: { party: string } } }
                    | { CanReadAsAnyParty: { value: Record<string, never> } }
                    | { Empty: Record<string, never> }
                    | { IdentityProviderAdmin: { value: Record<string, never> } }
                    | { ParticipantAdmin: { value: Record<string, never> } };
                }[];
            },
        >;
        listUsers: (
            params: { pageSize?: number; pageToken?: string },
        ) => Promise<
            {
                nextPageToken: string;
                users?: {
                    id: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    primaryParty: string;
                }[];
            },
        >;
        revokeUserRights: (
            params: {
                rights?: {
                    kind:
                        | { CanActAs: { value: { party: string } } }
                        | { CanReadAs: { value: { party: string } } }
                        | { CanReadAsAnyParty: { value: Record<string, never> } }
                        | { CanExecuteAs: { value: { party: string } } }
                        | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                        | { Empty: { value: Record<string, never> } }
                        | { IdentityProviderAdmin: { value: Record<string, never> } }
                        | { ParticipantAdmin: { value: Record<string, never> } };
                }[];
                userId: string;
            },
        ) => Promise<
            {
                newlyRevokedRights?: {
                    kind: | { CanActAs: { value: { party: string } } }
                    | { CanExecuteAs: { value: { party: string } } }
                    | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                    | { CanReadAs: { value: { party: string } } }
                    | { CanReadAsAnyParty: { value: Record<string, never> } }
                    | { Empty: Record<string, never> }
                    | { IdentityProviderAdmin: { value: Record<string, never> } }
                    | { ParticipantAdmin: { value: Record<string, never> } };
                }[];
            },
        >;
        submitAndWait: (
            params: {
                actAs?: string[];
                commandId?: string;
                commands: (
                    | {
                        CreateCommand: {
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractId: string;
                            templateId: string;
                        };
                    }
                    | {
                        CreateAndExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseByKeyCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractKey: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        AssignCommand: {
                            reassignmentId: string;
                            source: string;
                            target: string;
                        };
                    }
                    | {
                        UnassignCommand: {
                            contractId: string;
                            source: string;
                            target: string;
                        };
                    }
                )[];
                deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
                | { DeduplicationOffset: { offset: number } }
                | { Empty: Record<string, never> };
                disclosedContracts?: {
                    contractId: string;
                    createdEventBlob: string;
                    synchronizerId: string;
                    templateId: string;
                }[];
                minLedgerTimeAbs?: string;
                minLedgerTimeRel?: { seconds: number };
                packageIdSelectionPreference?: string[];
                prefetchContractKeys?: {
                    contractKey: Record<
                        string,
                        | string
                        | number
                        | boolean
                        | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                        | { [key: string]: any }
                        | null,
                    >;
                    templateId: string;
                }[];
                readAs?: string[];
                submissionId?: string;
                synchronizerId?: string;
                userId?: string;
                workflowId?: string;
            },
        ) => Promise<{ completionOffset: number; updateId: string }>;
        submitAndWaitForReassignment: (
            params: {
                eventFormat?: {
                    filtersByParty: Record<
                        string,
                        {
                            cumulative: {
                                identifierFilter: | { Empty: Record<(...), (...)> }
                                | { InterfaceFilter: { value: ... } }
                                | { TemplateFilter: { value: ... } }
                                | { WildcardFilter: { value: ... } };
                            }[];
                        },
                    >;
                    filtersForAnyParty?: {
                        cumulative: {
                            identifierFilter: | { Empty: Record<(...), (...)> }
                            | { InterfaceFilter: { value: ... } }
                            | { TemplateFilter: { value: ... } }
                            | { WildcardFilter: { value: ... } };
                        }[];
                    };
                    verbose?: boolean;
                };
                reassignmentCommands: {
                    commandId: string;
                    commands: {
                        command: | {
                            AssignCommand: {
                                reassignmentId: string;
                                source: string;
                                target: string;
                            };
                        }
                        | {
                            UnassignCommand: {
                                contractId: string;
                                source: string;
                                target: string;
                            };
                        }
                        | { Empty: Record<string, never> };
                    }[];
                    submissionId?: string;
                    submitter: string;
                    userId?: string;
                    workflowId?: string;
                };
            },
        ) => Promise<
            {
                reassignment: {
                    commandId?: string;
                    events: (
                        | {
                            JsAssignmentEvent: {
                                createdEvent: {
                                    contractId: string;
                                    contractKey: string
                                    | null;
                                    createArgument: Record<
                                        string,
                                        (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                    >;
                                    createdAt: string;
                                    createdEventBlob: string;
                                    implementedInterfaces?: (...)[];
                                    interfaceViews: string[];
                                    nodeId: number;
                                    observers: string[];
                                    offset: number;
                                    packageName: string;
                                    signatories: string[];
                                    templateId: string;
                                    witnessParties: string[];
                                };
                                reassignmentCounter: number;
                                reassignmentId: string;
                                source: string;
                                submitter: string;
                                target: string;
                            };
                        }
                        | {
                            JsUnassignedEvent: {
                                value: {
                                    contractId: string;
                                    nodeId: number;
                                    offset: number;
                                    packageName: string;
                                    reassignmentCounter: number;
                                    reassignmentId: string;
                                    source: string;
                                    submitter: string;
                                    target: string;
                                    templateId: string;
                                };
                            };
                        }
                    )[];
                    offset: number;
                    recordTime: string;
                    traceContext?: {
                        metadata?: Record<string, string>;
                        parentSpanId?: string;
                        spanId?: string;
                        traceId?: string;
                    };
                    updateId: string;
                    workflowId?: string;
                };
            },
        >;
        submitAndWaitForTransaction: (
            params: {
                actAs?: string[];
                commandId?: string;
                commands: (
                    | {
                        CreateCommand: {
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractId: string;
                            templateId: string;
                        };
                    }
                    | {
                        CreateAndExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseByKeyCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractKey: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        AssignCommand: {
                            reassignmentId: string;
                            source: string;
                            target: string;
                        };
                    }
                    | {
                        UnassignCommand: {
                            contractId: string;
                            source: string;
                            target: string;
                        };
                    }
                )[];
                deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
                | { DeduplicationOffset: { offset: number } }
                | { Empty: Record<string, never> };
                disclosedContracts?: {
                    contractId: string;
                    createdEventBlob: string;
                    synchronizerId: string;
                    templateId: string;
                }[];
                minLedgerTimeAbs?: string;
                minLedgerTimeRel?: { seconds: number };
                packageIdSelectionPreference?: string[];
                prefetchContractKeys?: {
                    contractKey: Record<
                        string,
                        | string
                        | number
                        | boolean
                        | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                        | { [key: string]: any }
                        | null,
                    >;
                    templateId: string;
                }[];
                readAs?: string[];
                submissionId?: string;
                synchronizerId?: string;
                transactionFormat?: {
                    eventFormat: {
                        filtersByParty: Record<
                            string,
                            {
                                cumulative: {
                                    identifierFilter: | { Empty: ... }
                                    | { InterfaceFilter: ... }
                                    | { TemplateFilter: ... }
                                    | { WildcardFilter: ... };
                                }[];
                            },
                        >;
                        filtersForAnyParty?: {
                            cumulative: {
                                identifierFilter: | { Empty: ... }
                                | { InterfaceFilter: ... }
                                | { TemplateFilter: ... }
                                | { WildcardFilter: ... };
                            }[];
                        };
                        verbose?: boolean;
                    };
                    transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                    | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
                };
                userId?: string;
                workflowId?: string;
            },
        ) => Promise<
            {
                transaction: {
                    commandId: string;
                    effectiveAt: string;
                    events?: (
                        | {
                            ArchivedEvent: {
                                contractId: string;
                                implementedInterfaces?: (...)[];
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                        | {
                            CreatedEvent: {
                                acsDelta: boolean;
                                contractId: string;
                                contractKey?: unknown;
                                createArgument?: unknown;
                                createdAt: string;
                                createdEventBlob: string;
                                interfaceViews?: (...)[];
                                nodeId: number;
                                observers?: (...)[];
                                offset: number;
                                packageName: string;
                                representativePackageId: string;
                                signatories?: (...)[];
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                        | {
                            ExercisedEvent: {
                                acsDelta: boolean;
                                actingParties?: (...)[];
                                choice: string;
                                choiceArgument: unknown;
                                consuming: boolean;
                                contractId: string;
                                exerciseResult: unknown;
                                implementedInterfaces?: (...)[];
                                interfaceId?: string;
                                lastDescendantNodeId: number;
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        }
                    )[];
                    externalTransactionHash?: string;
                    offset: number;
                    recordTime: string;
                    synchronizerId: string;
                    traceContext?: { traceparent?: string; tracestate?: string };
                    updateId: string;
                    workflowId: string;
                };
            },
        >;
        submitAndWaitForTransactionTree: (
            params: {
                actAs?: string[];
                commandId?: string;
                commands: (
                    | {
                        CreateCommand: {
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractId: string;
                            templateId: string;
                        };
                    }
                    | {
                        CreateAndExerciseCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            createArguments: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        ExerciseByKeyCommand: {
                            choice: string;
                            choiceArgument: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            contractKey: Record<
                                string,
                                | string
                                | number
                                | boolean
                                | ((...) | (...) | (...) | (...) | (...) | (...))[]
                                | { [key: string]: any }
                                | null,
                            >;
                            templateId: string;
                        };
                    }
                    | {
                        AssignCommand: {
                            reassignmentId: string;
                            source: string;
                            target: string;
                        };
                    }
                    | {
                        UnassignCommand: {
                            contractId: string;
                            source: string;
                            target: string;
                        };
                    }
                )[];
                deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
                | { DeduplicationOffset: { offset: number } }
                | { Empty: Record<string, never> };
                disclosedContracts?: {
                    contractId: string;
                    createdEventBlob: string;
                    synchronizerId: string;
                    templateId: string;
                }[];
                minLedgerTimeAbs?: string;
                minLedgerTimeRel?: { seconds: number };
                packageIdSelectionPreference?: string[];
                prefetchContractKeys?: {
                    contractKey: Record<
                        string,
                        | string
                        | number
                        | boolean
                        | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                        | { [key: string]: any }
                        | null,
                    >;
                    templateId: string;
                }[];
                readAs?: string[];
                submissionId?: string;
                synchronizerId?: string;
                userId?: string;
                workflowId?: string;
            },
        ) => Promise<
            {
                transactionTree: {
                    commandId: string;
                    effectiveAt?: string;
                    eventsById: {
                        [key: string]: | {
                            CreatedTreeEvent: {
                                value: {
                                    acsDelta: boolean;
                                    contractId: string;
                                    contractKey?: unknown;
                                    createArgument?: unknown;
                                    createdAt: string;
                                    createdEventBlob: string;
                                    interfaceViews?: (...)[];
                                    nodeId: number;
                                    observers?: (...)[];
                                    offset: number;
                                    packageName: string;
                                    representativePackageId: string;
                                    signatories?: (...)[];
                                    templateId: string;
                                    witnessParties?: (...)[];
                                };
                            };
                        }
                        | {
                            ExercisedTreeEvent: {
                                value: {
                                    acsDelta: boolean;
                                    actingParties?: (...)[];
                                    choice: string;
                                    choiceArgument: unknown;
                                    consuming: boolean;
                                    contractId: string;
                                    exerciseResult: unknown;
                                    implementedInterfaces?: (...)[];
                                    interfaceId?: string;
                                    lastDescendantNodeId: number;
                                    nodeId: number;
                                    offset: number;
                                    packageName: string;
                                    templateId: string;
                                    witnessParties?: (...)[];
                                };
                            };
                        };
                    };
                    offset: number;
                    recordTime: string;
                    synchronizerId: string;
                    traceContext?: { traceparent?: string; tracestate?: string };
                    updateId: string;
                    workflowId: string;
                };
            },
        >;
        subscribeToCompletions: (
            params: { beginExclusive?: number; parties: string[]; userId?: string },
            handlers: WebSocketHandlers<CompletionsWsMessage>,
        ) => Promise<WebSocketSubscription>;
        subscribeToUpdates: (params: SubscribeToUpdatesParams) => Promise<void>;
        updateIdentityProviderConfig: (
            params: {
                identityProviderConfig: {
                    audience?: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    issuer: string;
                    jwksUrl: string;
                };
                updateMask: { paths: string[] };
            },
        ) => Promise<
            {
                identityProviderConfig: {
                    audience?: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    issuer: string;
                    jwksUrl: string;
                };
            },
        >;
        updatePartyDetails: (
            params: {
                party: string;
                partyDetails: {
                    identityProviderId?: string;
                    isLocal: boolean;
                    localMetadata?: {
                        annotations: Record<string, string>;
                        resourceVersion: string;
                    };
                    party: string;
                };
                updateMask: { paths: string[] };
            },
        ) => Promise<
            {
                partyDetails?: {
                    identityProviderId: string;
                    isLocal: boolean;
                    localMetadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    party: string;
                };
            },
        >;
        updateUser: (
            params: {
                updateMask: { paths: string[] };
                user: {
                    id: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: Record<string, string>;
                        resourceVersion: string;
                    };
                    primaryParty?: string;
                };
                userId: string;
            },
        ) => Promise<
            {
                user?: {
                    id: string;
                    identityProviderId: string;
                    isDeactivated: boolean;
                    metadata?: {
                        annotations: { [key: string]: string };
                        resourceVersion: string;
                    };
                    primaryParty: string;
                };
            },
        >;
        updateUserIdentityProvider: (
            params: {
                sourceIdentityProviderId: string;
                targetIdentityProviderId: string;
                userId: string;
            },
        ) => Promise<Record<string, never>>;
        uploadDarFile: (
            params: { filePath: string; submissionId?: string },
        ) => Promise<Record<string, never>>;
        authenticate(): Promise<string>;
        buildPartyList(additionalParties?: readonly string[]): string[];
        clearToken(): void;
        getApiType(): ApiType;
        getApiUrl(): string;
        getAuthUrl(): string;
        getLogger(): Logger | undefined;
        getManagedParties(): readonly string[];
        getNetwork(): NetworkType;
        getPartyId(): PartyId;
        getProvider(): string | undefined;
        getProviderName(): string;
        getTokenExpiryTime(): number | null;
        getTokenIssuedAt(): number | null;
        getTokenLifetimeMs(): number | null;
        getUserId(): UserId | undefined;
        makeDeleteRequest<T>(url: string, config?: RequestConfig): Promise<T>;
        makeGetRequest<T>(url: string, config?: RequestConfig): Promise<T>;
        makePatchRequest<T>(
            url: string,
            data: unknown,
            config?: RequestConfig,
        ): Promise<T>;
        makePostRequest<T>(
            url: string,
            data: unknown,
            config?: RequestConfig,
        ): Promise<T>;
        setPartyId(partyId: string | PartyId): void;
    }

    Hierarchy

    • BaseClient
      • LedgerJsonApiClient
    Index

    Properties

    Methods

    Properties

    allocateExternalParty: (
        params: {
            identityProviderId: string;
            multiHashSignatures?: {
                format: string;
                signature: string;
                signedBy: string;
                signingAlgorithmSpec: string;
            }[];
            onboardingTransactions?: (
                | {
                    signatures: {
                        format: string;
                        signature: string;
                        signedBy: string;
                        signingAlgorithmSpec: string;
                    }[];
                    transaction: string;
                }
                | { transaction: string }
            )[];
            synchronizer: string;
        },
    ) => Promise<{ partyId: string }>

    Allocate a new external party

    allocateParty: (
        params: {
            identityProviderId: string;
            localMetadata?: {
                annotations: Record<string, string>;
                resourceVersion: string;
            };
            partyIdHint: string;
            synchronizerId: string;
            userId: string;
        },
    ) => Promise<
        {
            partyDetails: {
                identityProviderId?: string;
                isLocal: boolean;
                localMetadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                party: string;
            };
        },
    >

    Allocate a new party to the participant node

    apiType: ApiType
    asyncSubmit: (
        params: {
            actAs?: string[];
            commandId?: string;
            commands: (
                | {
                    CreateCommand: {
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractId: string;
                        templateId: string;
                    };
                }
                | {
                    CreateAndExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseByKeyCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractKey: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    AssignCommand: {
                        reassignmentId: string;
                        source: string;
                        target: string;
                    };
                }
                | {
                    UnassignCommand: {
                        contractId: string;
                        source: string;
                        target: string;
                    };
                }
            )[];
            deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
            | { DeduplicationOffset: { offset: number } }
            | { Empty: Record<string, never> };
            disclosedContracts?: {
                contractId: string;
                createdEventBlob: string;
                synchronizerId: string;
                templateId: string;
            }[];
            minLedgerTimeAbs?: string;
            minLedgerTimeRel?: { seconds: number };
            packageIdSelectionPreference?: string[];
            prefetchContractKeys?: {
                contractKey: Record<
                    string,
                    | string
                    | number
                    | boolean
                    | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                    | { [key: string]: any }
                    | null,
                >;
                templateId: string;
            }[];
            readAs?: string[];
            submissionId?: string;
            synchronizerId?: string;
            userId?: string;
            workflowId?: string;
        },
    ) => Promise<Record<string, never>>

    Async Submit

    asyncSubmitReassignment: (
        params: {
            reassignmentCommands: {
                commandId: string;
                commands: {
                    command:
                        | {
                            AssignCommand: {
                                reassignmentId: string;
                                source: string;
                                target: string;
                            };
                        }
                        | {
                            UnassignCommand: {
                                contractId: string;
                                source: string;
                                target: string;
                            };
                        }
                        | { Empty: Record<string, never> };
                }[];
                submissionId?: string;
                submitter: string;
                userId: string;
                workflowId?: string;
            };
        },
    ) => Promise<Record<string, never>>

    Async Submit Reassignment

    authManager: AuthenticationManager
    clientConfig: ClientConfig
    completions: (
        params: {
            beginExclusive: number;
            limit?: number;
            parties: string[];
            streamIdleTimeoutMs?: number;
            userId: string;
        },
    ) => Promise<
        {
            completionResponse: | {
                Completion: {
                    value: {
                        actAs?: string[];
                        commandId: string;
                        deduplicationPeriod: | { DeduplicationDuration: { value: ... } }
                        | { DeduplicationOffset: { value: ... } }
                        | { Empty: Record<(...), (...)> };
                        offset: number;
                        status?: { code: number; details?: (...) | (...); message: string };
                        submissionId: string;
                        synchronizerTime?: {
                            recordTime?: (...) | (...);
                            synchronizerId: string;
                        };
                        traceContext?: {
                            traceparent?: (...)
                            | (...);
                            tracestate?: (...) | (...);
                        };
                        updateId: string;
                        userId: string;
                    };
                };
            }
            | { Empty: Record<string, never> }
            | {
                OffsetCheckpoint: {
                    value: {
                        offset: number;
                        synchronizerTimes?: { recordTime?: ...; synchronizerId: ... }[];
                    };
                };
            };
        }[],
    >

    Completions

    config: PartialProviderConfig
    createIdentityProviderConfig: (
        params: {
            identityProviderConfig: {
                audience?: string;
                identityProviderId: string;
                isDeactivated: boolean;
                issuer: string;
                jwksUrl: string;
            };
        },
    ) => Promise<
        {
            identityProviderConfig: {
                audience?: string;
                identityProviderId: string;
                isDeactivated: boolean;
                issuer: string;
                jwksUrl: string;
            };
        },
    >

    Create identity provider config

    createUser: (
        params: {
            rights?: {
                kind:
                    | { CanActAs: { party: string } }
                    | { CanReadAs: { party: string } }
                    | { CanReadAsAnyParty: Record<string, never> }
                    | { Empty: Record<string, never> }
                    | { IdentityProviderAdmin: Record<string, never> }
                    | { ParticipantAdmin: Record<string, never> };
            }[];
            user: {
                id: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                primaryParty?: string;
            };
        },
    ) => Promise<
        {
            user?: {
                id: string;
                identityProviderId: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                primaryParty: string;
            };
        },
    >

    Creates user

    deleteIdentityProviderConfig: (
        params: { idpId: string },
    ) => Promise<Record<string, never>>

    Delete identity provider config

    deleteUser: (params: { userId: string }) => Promise<Record<string, never>>

    Deletes user

    generateExternalPartyTopology: (
        params: {
            confirmationThreshold?: number;
            localParticipantObservationOnly?: boolean;
            observingParticipantUids?: string[];
            otherConfirmingParticipantUids?: string[];
            partyHint: string;
            publicKey: { format: string; keyData: string; keySpec: string };
            synchronizer: string;
        },
    ) => Promise<
        {
            multiHash: string;
            partyId: string;
            publicKeyFingerprint: string;
            topologyTransactions?: string[];
        },
    >

    Generate a topology for an external party

    getActiveContracts: (
        params: GetActiveContractsParams,
    ) => Promise<
        {
            contractEntry: | {
                JsActiveContract: {
                    createdEvent: {
                        contractId: string;
                        contractKey: string
                        | null;
                        createArgument: z.ZodRecord<
                            z.ZodString,
                            z.ZodType<
                                (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                                unknown,
                                z.core.$ZodTypeInternals<(...), (...)>,
                            >,
                        >;
                        createdAt: string;
                        createdEventBlob: string;
                        implementedInterfaces?: string[];
                        interfaceViews: string[];
                        nodeId: number;
                        observers: string[];
                        offset: number;
                        packageName: string;
                        signatories: string[];
                        templateId: string;
                        witnessParties: string[];
                    };
                    reassignmentCounter: number;
                    synchronizerId: string;
                };
            }
            | { JsEmpty: z.ZodObject<{}, z.core.$strip> }
            | {
                JsIncompleteAssigned: {
                    assignedEvent: {
                        contractId: string;
                        nodeId: number;
                        offset: number;
                        packageName: string;
                        reassignmentCounter: number;
                        reassignmentId: string;
                        source: string;
                        submitter: string;
                        target: string;
                        templateId: string;
                    };
                };
            }
            | {
                JsIncompleteUnassigned: {
                    createdEvent: {
                        contractId: string;
                        contractKey: string
                        | null;
                        createArgument: z.ZodRecord<
                            z.ZodString,
                            z.ZodType<
                                (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                                unknown,
                                z.core.$ZodTypeInternals<(...), (...)>,
                            >,
                        >;
                        createdAt: string;
                        createdEventBlob: string;
                        implementedInterfaces?: string[];
                        interfaceViews: string[];
                        nodeId: number;
                        observers: string[];
                        offset: number;
                        packageName: string;
                        signatories: string[];
                        templateId: string;
                        witnessParties: string[];
                    };
                    unassignedEvent: {
                        contractId: string;
                        nodeId: number;
                        offset: number;
                        packageName: string;
                        reassignmentCounter: number;
                        reassignmentId: string;
                        source: string;
                        submitter: string;
                        target: string;
                        templateId: string;
                    };
                };
            };
            workflowId?: string;
        }[],
    >

    Gets active contracts

    getAuthenticatedUser: (
        params: Record<string, never>,
    ) => Promise<
        {
            user: {
                id: string;
                identityProviderId?: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                primaryParty?: string;
            };
        },
    >

    Get details for the currently authenticated user

    getConnectedSynchronizers: (
        params: { participantId?: string; party: string },
    ) => Promise<
        {
            connectedSynchronizers?: {
                permission: | "PARTICIPANT_PERMISSION_UNSPECIFIED"
                | "PARTICIPANT_PERMISSION_SUBMISSION"
                | "PARTICIPANT_PERMISSION_CONFIRMATION"
                | "PARTICIPANT_PERMISSION_OBSERVATION";
                synchronizerAlias: string;
                synchronizerId: string;
            }[];
        },
    >

    Gets connected synchronizers

    getEventsByContractId: (
        params: { contractId: string; readAs?: string[] },
    ) => Promise<
        {
            archived?: {
                archivedEvent: {
                    contractId: string;
                    implementedInterfaces?: string[];
                    nodeId: number;
                    offset: number;
                    packageName: string;
                    templateId: string;
                    witnessParties?: string[];
                };
                synchronizerId: string;
            };
            created?: {
                createdEvent: {
                    acsDelta: boolean;
                    contractId: string;
                    contractKey?: unknown;
                    createArgument?: unknown;
                    createdAt: string;
                    createdEventBlob: string;
                    interfaceViews?: {
                        interfaceId: string;
                        viewStatus: { code: number; details?: (...)
                        | (...); message: string };
                        viewValue?: unknown;
                    }[];
                    nodeId: number;
                    observers?: string[];
                    offset: number;
                    packageName: string;
                    representativePackageId: string;
                    signatories?: string[];
                    templateId: string;
                    witnessParties?: string[];
                };
                synchronizerId: string;
            };
        },
    >

    Retrieves events for a specific contract ID with filtering options

    getIdentityProviderConfig: (
        params: { idpId: string },
    ) => Promise<
        {
            identityProviderConfig: {
                audience?: string;
                identityProviderId: string;
                isDeactivated: boolean;
                issuer: string;
                jwksUrl: string;
            };
        },
    >

    Get identity provider config

    getLatestPrunedOffsets: (
        params: Record<string, never>,
    ) => Promise<
        {
            allDivulgedContractsPrunedUpToInclusive: number;
            participantPrunedUpToInclusive: number;
        },
    >

    Get latest pruned offsets

    getLedgerEnd: (params: Record<string, never>) => Promise<{ offset: number }>

    Gets ledger end

    getPackageStatus: (
        params: { packageId: string },
    ) => Promise<{ packageStatus: string }>

    Get the status of a specific package

    getParticipantId: (
        params: void | undefined,
    ) => Promise<{ participantId: string }>

    Gets participant id

    getParties: (
        params: { pageToken?: string },
    ) => Promise<
        {
            nextPageToken: string;
            partyDetails?: {
                identityProviderId: string;
                isLocal: boolean;
                localMetadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                party: string;
            }[];
        },
    >

    List all parties known to the participant (legacy alias).

    getPartyDetails: (
        params: {
            identityProviderId?: string;
            parties?: string[];
            party: string;
        },
    ) => Promise<
        {
            partyDetails?: {
                identityProviderId: string;
                isLocal: boolean;
                localMetadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                party: string;
            }[];
        },
    >

    Get party details for a specific party

    getTransactionById: (
        params: {
            transactionFormat: {
                eventFormat: {
                    filtersByParty: Record<
                        string,
                        {
                            cumulative: {
                                identifierFilter: | { Empty: Record<(...), (...)> }
                                | { InterfaceFilter: { value: ... } }
                                | { TemplateFilter: { value: ... } }
                                | { WildcardFilter: { value: ... } };
                            }[];
                        },
                    >;
                    filtersForAnyParty?: {
                        cumulative: {
                            identifierFilter: | { Empty: Record<(...), (...)> }
                            | { InterfaceFilter: { value: ... } }
                            | { TemplateFilter: { value: ... } }
                            | { WildcardFilter: { value: ... } };
                        }[];
                    };
                    verbose?: boolean;
                };
                transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
            };
            updateId: string;
        },
    ) => Promise<
        {
            transaction: {
                commandId: string;
                effectiveAt: string;
                events?: (
                    | {
                        ArchivedEvent: {
                            contractId: string;
                            implementedInterfaces?: (...)[];
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                    | {
                        CreatedEvent: {
                            acsDelta: boolean;
                            contractId: string;
                            contractKey?: unknown;
                            createArgument?: unknown;
                            createdAt: string;
                            createdEventBlob: string;
                            interfaceViews?: (...)[];
                            nodeId: number;
                            observers?: (...)[];
                            offset: number;
                            packageName: string;
                            representativePackageId: string;
                            signatories?: (...)[];
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                    | {
                        ExercisedEvent: {
                            acsDelta: boolean;
                            actingParties?: (...)[];
                            choice: string;
                            choiceArgument: unknown;
                            consuming: boolean;
                            contractId: string;
                            exerciseResult: unknown;
                            implementedInterfaces?: (...)[];
                            interfaceId?: string;
                            lastDescendantNodeId: number;
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                )[];
                externalTransactionHash?: string;
                offset: number;
                recordTime: string;
                synchronizerId: string;
                traceContext?: { traceparent?: string; tracestate?: string };
                updateId: string;
                workflowId: string;
            };
        },
    >

    Gets transaction by id

    getTransactionByOffset: (
        params: {
            offset: number;
            transactionFormat: {
                eventFormat: {
                    filtersByParty: Record<
                        string,
                        {
                            cumulative: {
                                identifierFilter: | { Empty: Record<(...), (...)> }
                                | { InterfaceFilter: { value: ... } }
                                | { TemplateFilter: { value: ... } }
                                | { WildcardFilter: { value: ... } };
                            }[];
                        },
                    >;
                    filtersForAnyParty?: {
                        cumulative: {
                            identifierFilter: | { Empty: Record<(...), (...)> }
                            | { InterfaceFilter: { value: ... } }
                            | { TemplateFilter: { value: ... } }
                            | { WildcardFilter: { value: ... } };
                        }[];
                    };
                    verbose?: boolean;
                };
                transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
            };
        },
    ) => Promise<
        {
            transaction: {
                commandId: string;
                effectiveAt: string;
                events?: (
                    | {
                        ArchivedEvent: {
                            contractId: string;
                            implementedInterfaces?: (...)[];
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                    | {
                        CreatedEvent: {
                            acsDelta: boolean;
                            contractId: string;
                            contractKey?: unknown;
                            createArgument?: unknown;
                            createdAt: string;
                            createdEventBlob: string;
                            interfaceViews?: (...)[];
                            nodeId: number;
                            observers?: (...)[];
                            offset: number;
                            packageName: string;
                            representativePackageId: string;
                            signatories?: (...)[];
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                    | {
                        ExercisedEvent: {
                            acsDelta: boolean;
                            actingParties?: (...)[];
                            choice: string;
                            choiceArgument: unknown;
                            consuming: boolean;
                            contractId: string;
                            exerciseResult: unknown;
                            implementedInterfaces?: (...)[];
                            interfaceId?: string;
                            lastDescendantNodeId: number;
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                )[];
                externalTransactionHash?: string;
                offset: number;
                recordTime: string;
                synchronizerId: string;
                traceContext?: { traceparent?: string; tracestate?: string };
                updateId: string;
                workflowId: string;
            };
        },
    >

    Gets transaction by offset

    getTransactionTreeById: (
        params: { parties?: string[]; updateId: string; verbose?: boolean },
    ) => Promise<
        {
            transaction: {
                commandId: string;
                effectiveAt?: string;
                eventsById: {
                    [key: string]: | {
                        CreatedTreeEvent: {
                            value: {
                                acsDelta: boolean;
                                contractId: string;
                                contractKey?: unknown;
                                createArgument?: unknown;
                                createdAt: string;
                                createdEventBlob: string;
                                interfaceViews?: (...)[];
                                nodeId: number;
                                observers?: (...)[];
                                offset: number;
                                packageName: string;
                                representativePackageId: string;
                                signatories?: (...)[];
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        };
                    }
                    | {
                        ExercisedTreeEvent: {
                            value: {
                                acsDelta: boolean;
                                actingParties?: (...)[];
                                choice: string;
                                choiceArgument: unknown;
                                consuming: boolean;
                                contractId: string;
                                exerciseResult: unknown;
                                implementedInterfaces?: (...)[];
                                interfaceId?: string;
                                lastDescendantNodeId: number;
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        };
                    };
                };
                offset: number;
                recordTime: string;
                synchronizerId: string;
                traceContext?: { traceparent?: string; tracestate?: string };
                updateId: string;
                workflowId: string;
            };
        },
    >

    Retrieves transaction tree data by update ID

    getTransactionTreeByOffset: (
        params: { offset: string; parties?: string[]; verbose?: boolean },
    ) => Promise<
        {
            transaction: {
                commandId: string;
                effectiveAt?: string;
                eventsById: {
                    [key: string]: | {
                        CreatedTreeEvent: {
                            value: {
                                acsDelta: boolean;
                                contractId: string;
                                contractKey?: unknown;
                                createArgument?: unknown;
                                createdAt: string;
                                createdEventBlob: string;
                                interfaceViews?: (...)[];
                                nodeId: number;
                                observers?: (...)[];
                                offset: number;
                                packageName: string;
                                representativePackageId: string;
                                signatories?: (...)[];
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        };
                    }
                    | {
                        ExercisedTreeEvent: {
                            value: {
                                acsDelta: boolean;
                                actingParties?: (...)[];
                                choice: string;
                                choiceArgument: unknown;
                                consuming: boolean;
                                contractId: string;
                                exerciseResult: unknown;
                                implementedInterfaces?: (...)[];
                                interfaceId?: string;
                                lastDescendantNodeId: number;
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        };
                    };
                };
                offset: number;
                recordTime: string;
                synchronizerId: string;
                traceContext?: { traceparent?: string; tracestate?: string };
                updateId: string;
                workflowId: string;
            };
        },
    >

    Retrieves transaction tree data starting from a specific offset

    getUpdateById: (
        params: GetUpdateByIdParams,
    ) => Promise<
        {
            update: | {
                OffsetCheckpoint: {
                    value: {
                        offset: number;
                        synchronizerTimes?: {
                            recordTime?: (...)
                            | (...);
                            synchronizerId: string;
                        }[];
                    };
                };
            }
            | {
                Reassignment: {
                    value: {
                        commandId: string;
                        events?: ({ JsAssignmentEvent: ... } | { JsUnassignedEvent: ... })[];
                        offset: number;
                        recordTime: string;
                        synchronizerId: string;
                        traceContext?: { traceparent?: string; tracestate?: string };
                        updateId: string;
                        workflowId: string;
                    };
                };
            }
            | {
                TopologyTransaction: {
                    value: {
                        events?: { event: (...)
                        | (...)
                        | (...)
                        | (...) }[];
                        offset: number;
                        recordTime?: string;
                        synchronizerId: string;
                        traceContext?: { traceparent?: string; tracestate?: string };
                        updateId: string;
                    };
                };
            }
            | {
                Transaction: {
                    value: {
                        commandId: string;
                        effectiveAt: string;
                        events?: (
                            | { ArchivedEvent: ... }
                            | { CreatedEvent: ... }
                            | { ExercisedEvent: ... }
                        )[];
                        externalTransactionHash?: string;
                        offset: number;
                        recordTime: string;
                        synchronizerId: string;
                        traceContext?: { traceparent?: string; tracestate?: string };
                        updateId: string;
                        workflowId: string;
                    };
                };
            };
        },
    >

    Gets update by id

    getUpdateByOffset: (
        params: {
            offset: number;
            updateFormat: {
                includeReassignments?: {
                    filtersByParty: Record<
                        string,
                        {
                            cumulative: {
                                identifierFilter: | { Empty: ... }
                                | { InterfaceFilter: ... }
                                | { TemplateFilter: ... }
                                | { WildcardFilter: ... };
                            }[];
                        },
                    >;
                    filtersForAnyParty?: {
                        cumulative: {
                            identifierFilter: | { Empty: ... }
                            | { InterfaceFilter: ... }
                            | { TemplateFilter: ... }
                            | { WildcardFilter: ... };
                        }[];
                    };
                    verbose?: boolean;
                };
                includeTopologyEvents?: {
                    includeParticipantAuthorizationEvents?: { parties?: string[] };
                };
                includeTransactions?: {
                    eventFormat: {
                        filtersByParty: Record<
                            string,
                            { cumulative: { identifierFilter: (...)
                            | (...)
                            | (...)
                            | (...) }[] },
                        >;
                        filtersForAnyParty?: {
                            cumulative: { identifierFilter: (...) | (...) | (...) | (...) }[];
                        };
                        verbose?: boolean;
                    };
                    transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                    | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
                };
            };
        },
    ) => Promise<
        {
            update: | {
                OffsetCheckpoint: {
                    value: {
                        offset: number;
                        synchronizerTimes?: {
                            recordTime?: (...)
                            | (...);
                            synchronizerId: string;
                        }[];
                    };
                };
            }
            | {
                Reassignment: {
                    value: {
                        commandId: string;
                        events?: ({ JsAssignmentEvent: ... } | { JsUnassignedEvent: ... })[];
                        offset: number;
                        recordTime: string;
                        synchronizerId: string;
                        traceContext?: { traceparent?: string; tracestate?: string };
                        updateId: string;
                        workflowId: string;
                    };
                };
            }
            | {
                TopologyTransaction: {
                    value: {
                        events?: { event: (...)
                        | (...)
                        | (...)
                        | (...) }[];
                        offset: number;
                        recordTime?: string;
                        synchronizerId: string;
                        traceContext?: { traceparent?: string; tracestate?: string };
                        updateId: string;
                    };
                };
            }
            | {
                Transaction: {
                    value: {
                        commandId: string;
                        effectiveAt: string;
                        events?: (
                            | { ArchivedEvent: ... }
                            | { CreatedEvent: ... }
                            | { ExercisedEvent: ... }
                        )[];
                        externalTransactionHash?: string;
                        offset: number;
                        recordTime: string;
                        synchronizerId: string;
                        traceContext?: { traceparent?: string; tracestate?: string };
                        updateId: string;
                        workflowId: string;
                    };
                };
            };
        },
    >

    Gets update by offset

    getUser: (
        params: { userId: string },
    ) => Promise<
        {
            user?: {
                id: string;
                identityProviderId: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                primaryParty: string;
            };
        },
    >

    Get details for a specific user

    getVersion: () => Promise<
        {
            features?: {
                experimental: {
                    commandInspectionService: { supported: boolean };
                    staticTime: { supported: boolean };
                };
                offsetCheckpoint: {
                    maxOffsetCheckpointEmissionDelay: { nanos: number; seconds: number };
                };
                partyManagement: { maxPartiesPageSize: number };
                userManagement: {
                    maxRightsPerUser: number;
                    maxUsersPageSize: number;
                    supported: boolean;
                };
            };
            version: string;
        },
    >

    Get the version details of the participant node

    grantUserRights: (
        params: {
            rights?: {
                kind:
                    | { CanActAs: { value: { party: string } } }
                    | { CanReadAs: { value: { party: string } } }
                    | { CanReadAsAnyParty: { value: Record<string, never> } }
                    | { CanExecuteAs: { value: { party: string } } }
                    | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                    | { Empty: { value: Record<string, never> } }
                    | { IdentityProviderAdmin: { value: Record<string, never> } }
                    | { ParticipantAdmin: { value: Record<string, never> } };
            }[];
            userId: string;
        },
    ) => Promise<
        {
            newlyGrantedRights?: {
                kind: | { CanActAs: { value: { party: string } } }
                | { CanExecuteAs: { value: { party: string } } }
                | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                | { CanReadAs: { value: { party: string } } }
                | { CanReadAsAnyParty: { value: Record<string, never> } }
                | { Empty: Record<string, never> }
                | { IdentityProviderAdmin: { value: Record<string, never> } }
                | { ParticipantAdmin: { value: Record<string, never> } };
            }[];
        },
    >

    Grants user rights

    httpClient: HttpClient
    interactiveSubmissionAllocateParty: (
        params: {
            displayName?: string;
            isLocal?: boolean;
            partyIdHint?: string;
        },
    ) => Promise<
        { party: { displayName?: string; isLocal: boolean; party: string } },
    >

    Allocate party interactively

    interactiveSubmissionCreateUser: (
        params: {
            rights?: {
                kind:
                    | { CanActAs: { party: string } }
                    | { CanReadAs: { party: string } }
                    | { CanReadAsAnyParty: Record<string, never> }
                    | { Empty: Record<string, never> }
                    | { IdentityProviderAdmin: Record<string, never> }
                    | { ParticipantAdmin: Record<string, never> };
            }[];
            user: {
                id: string;
                identityProviderId?: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                primaryParty?: string;
            };
        },
    ) => Promise<
        {
            user: {
                id: string;
                identityProviderId?: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                primaryParty?: string;
            };
        },
    >

    Create user interactively

    interactiveSubmissionExecute: (
        params: {
            deduplicationPeriod?:
                | { Empty: Record<string, never> }
                | { DeduplicationDuration: { value: { duration: string } } }
                | { DeduplicationOffset: { value: { offset: string } } };
            hashingSchemeVersion: string;
            partySignatures: {
                signatures: {
                    party: string;
                    signatures: {
                        format: string;
                        signature: string;
                        signedBy: string;
                        signingAlgorithmSpec: string;
                    }[];
                }[];
            };
            preparedTransaction: string;
            submissionId: string;
            userId: string;
        },
    ) => Promise<Record<string, never>>

    Execute an interactive submission that has been previously prepared and signed.

    interactiveSubmissionGetPreferredPackages: (
        params: {
            packageVettingRequirements: { packageName: string; parties: string[] }[];
            synchronizerId?: string;
            vettingValidAt?: string;
        },
    ) => Promise<
        {
            packageReferences: {
                packageId: string;
                packageName: string;
                packageVersion: string;
            }[];
            synchronizerId: string;
        },
    >

    Get the version of preferred packages for constructing a command submission

    interactiveSubmissionGetPreferredPackageVersion: (
        params: {
            packageName: string;
            parties?: string[];
            synchronizerId?: string;
            vettingValidAt?: string;
        },
    ) => Promise<
        {
            packagePreference?: {
                packageReference: {
                    packageId: string;
                    packageName: string;
                    packageVersion: string;
                };
                synchronizerId: string;
            };
        },
    >

    Get the preferred package version for constructing a command submission

    interactiveSubmissionPrepare: (
        params: {
            actAs: string[];
            commandId: string;
            commands: (
                | {
                    CreateCommand: {
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractId: string;
                        templateId: string;
                    };
                }
                | {
                    CreateAndExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseByKeyCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractKey: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
            )[];
            disclosedContracts?: {
                contractId: string;
                createdEventBlob?: string;
                metadata?: Record<
                    string,
                    | string
                    | number
                    | boolean
                    | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                    | { [key: string]: any }
                    | null,
                >;
                synchronizerId: string;
                templateId: string;
            }[];
            packageIdSelectionPreference?: {
                packageId?: string;
                packageName?: string;
            }[];
            readAs: string[];
            synchronizerId: string;
            userId: string;
            verboseHashing?: boolean;
        },
    ) => Promise<
        {
            costEstimation?: {
                confirmationRequestTrafficCostEstimation: number;
                confirmationResponseTrafficCostEstimation: number;
                estimationTimestamp?: string;
                totalTrafficCostEstimation: number;
            };
            hashingDetails?: string;
            hashingSchemeVersion?: | "HASHING_SCHEME_VERSION_UNSPECIFIED"
            | "HASHING_SCHEME_VERSION_V2";
            preparedTransaction?: string;
            preparedTransactionHash: string;
        },
    >

    Prepare an interactive submission transaction for external signing.

    interactiveSubmissionUploadDar: (
        params: { darFile: Buffer<ArrayBufferLike> },
    ) => Promise<Record<string, never>>

    Upload DAR file interactively

    listIdentityProviderConfigs: (
        params: Record<string, never>,
    ) => Promise<
        {
            identityProviderConfigs: {
                audience?: string;
                identityProviderId: string;
                isDeactivated: boolean;
                issuer: string;
                jwksUrl: string;
            }[];
        },
    >

    List all identity provider configs

    listPackages: () => Promise<{ packageIds: string[] }>

    List all packages available on the participant node

    listParties: (
        params: { pageToken?: string },
    ) => Promise<
        {
            nextPageToken: string;
            partyDetails?: {
                identityProviderId: string;
                isLocal: boolean;
                localMetadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                party: string;
            }[];
        },
    >

    List all parties known to the participant and automatically paginate through all results.

    listUserRights: (
        params: { userId: string },
    ) => Promise<
        {
            rights?: {
                kind: | { CanActAs: { value: { party: string } } }
                | { CanExecuteAs: { value: { party: string } } }
                | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                | { CanReadAs: { value: { party: string } } }
                | { CanReadAsAnyParty: { value: Record<string, never> } }
                | { Empty: Record<string, never> }
                | { IdentityProviderAdmin: { value: Record<string, never> } }
                | { ParticipantAdmin: { value: Record<string, never> } };
            }[];
        },
    >

    Lists user rights

    listUsers: (
        params: { pageSize?: number; pageToken?: string },
    ) => Promise<
        {
            nextPageToken: string;
            users?: {
                id: string;
                identityProviderId: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                primaryParty: string;
            }[];
        },
    >

    Lists users

    revokeUserRights: (
        params: {
            rights?: {
                kind:
                    | { CanActAs: { value: { party: string } } }
                    | { CanReadAs: { value: { party: string } } }
                    | { CanReadAsAnyParty: { value: Record<string, never> } }
                    | { CanExecuteAs: { value: { party: string } } }
                    | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                    | { Empty: { value: Record<string, never> } }
                    | { IdentityProviderAdmin: { value: Record<string, never> } }
                    | { ParticipantAdmin: { value: Record<string, never> } };
            }[];
            userId: string;
        },
    ) => Promise<
        {
            newlyRevokedRights?: {
                kind: | { CanActAs: { value: { party: string } } }
                | { CanExecuteAs: { value: { party: string } } }
                | { CanExecuteAsAnyParty: { value: Record<string, never> } }
                | { CanReadAs: { value: { party: string } } }
                | { CanReadAsAnyParty: { value: Record<string, never> } }
                | { Empty: Record<string, never> }
                | { IdentityProviderAdmin: { value: Record<string, never> } }
                | { ParticipantAdmin: { value: Record<string, never> } };
            }[];
        },
    >

    Revokes user rights

    submitAndWait: (
        params: {
            actAs?: string[];
            commandId?: string;
            commands: (
                | {
                    CreateCommand: {
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractId: string;
                        templateId: string;
                    };
                }
                | {
                    CreateAndExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseByKeyCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractKey: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    AssignCommand: {
                        reassignmentId: string;
                        source: string;
                        target: string;
                    };
                }
                | {
                    UnassignCommand: {
                        contractId: string;
                        source: string;
                        target: string;
                    };
                }
            )[];
            deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
            | { DeduplicationOffset: { offset: number } }
            | { Empty: Record<string, never> };
            disclosedContracts?: {
                contractId: string;
                createdEventBlob: string;
                synchronizerId: string;
                templateId: string;
            }[];
            minLedgerTimeAbs?: string;
            minLedgerTimeRel?: { seconds: number };
            packageIdSelectionPreference?: string[];
            prefetchContractKeys?: {
                contractKey: Record<
                    string,
                    | string
                    | number
                    | boolean
                    | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                    | { [key: string]: any }
                    | null,
                >;
                templateId: string;
            }[];
            readAs?: string[];
            submissionId?: string;
            synchronizerId?: string;
            userId?: string;
            workflowId?: string;
        },
    ) => Promise<{ completionOffset: number; updateId: string }>

    Submits and wait

    submitAndWaitForReassignment: (
        params: {
            eventFormat?: {
                filtersByParty: Record<
                    string,
                    {
                        cumulative: {
                            identifierFilter: | { Empty: Record<(...), (...)> }
                            | { InterfaceFilter: { value: ... } }
                            | { TemplateFilter: { value: ... } }
                            | { WildcardFilter: { value: ... } };
                        }[];
                    },
                >;
                filtersForAnyParty?: {
                    cumulative: {
                        identifierFilter: | { Empty: Record<(...), (...)> }
                        | { InterfaceFilter: { value: ... } }
                        | { TemplateFilter: { value: ... } }
                        | { WildcardFilter: { value: ... } };
                    }[];
                };
                verbose?: boolean;
            };
            reassignmentCommands: {
                commandId: string;
                commands: {
                    command: | {
                        AssignCommand: {
                            reassignmentId: string;
                            source: string;
                            target: string;
                        };
                    }
                    | {
                        UnassignCommand: {
                            contractId: string;
                            source: string;
                            target: string;
                        };
                    }
                    | { Empty: Record<string, never> };
                }[];
                submissionId?: string;
                submitter: string;
                userId?: string;
                workflowId?: string;
            };
        },
    ) => Promise<
        {
            reassignment: {
                commandId?: string;
                events: (
                    | {
                        JsAssignmentEvent: {
                            createdEvent: {
                                contractId: string;
                                contractKey: string
                                | null;
                                createArgument: Record<
                                    string,
                                    (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                >;
                                createdAt: string;
                                createdEventBlob: string;
                                implementedInterfaces?: (...)[];
                                interfaceViews: string[];
                                nodeId: number;
                                observers: string[];
                                offset: number;
                                packageName: string;
                                signatories: string[];
                                templateId: string;
                                witnessParties: string[];
                            };
                            reassignmentCounter: number;
                            reassignmentId: string;
                            source: string;
                            submitter: string;
                            target: string;
                        };
                    }
                    | {
                        JsUnassignedEvent: {
                            value: {
                                contractId: string;
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                reassignmentCounter: number;
                                reassignmentId: string;
                                source: string;
                                submitter: string;
                                target: string;
                                templateId: string;
                            };
                        };
                    }
                )[];
                offset: number;
                recordTime: string;
                traceContext?: {
                    metadata?: Record<string, string>;
                    parentSpanId?: string;
                    spanId?: string;
                    traceId?: string;
                };
                updateId: string;
                workflowId?: string;
            };
        },
    >

    Submit a batch of reassignment commands and wait for the reassignment response

    submitAndWaitForTransaction: (
        params: {
            actAs?: string[];
            commandId?: string;
            commands: (
                | {
                    CreateCommand: {
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractId: string;
                        templateId: string;
                    };
                }
                | {
                    CreateAndExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseByKeyCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractKey: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    AssignCommand: {
                        reassignmentId: string;
                        source: string;
                        target: string;
                    };
                }
                | {
                    UnassignCommand: {
                        contractId: string;
                        source: string;
                        target: string;
                    };
                }
            )[];
            deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
            | { DeduplicationOffset: { offset: number } }
            | { Empty: Record<string, never> };
            disclosedContracts?: {
                contractId: string;
                createdEventBlob: string;
                synchronizerId: string;
                templateId: string;
            }[];
            minLedgerTimeAbs?: string;
            minLedgerTimeRel?: { seconds: number };
            packageIdSelectionPreference?: string[];
            prefetchContractKeys?: {
                contractKey: Record<
                    string,
                    | string
                    | number
                    | boolean
                    | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                    | { [key: string]: any }
                    | null,
                >;
                templateId: string;
            }[];
            readAs?: string[];
            submissionId?: string;
            synchronizerId?: string;
            transactionFormat?: {
                eventFormat: {
                    filtersByParty: Record<
                        string,
                        {
                            cumulative: {
                                identifierFilter: | { Empty: ... }
                                | { InterfaceFilter: ... }
                                | { TemplateFilter: ... }
                                | { WildcardFilter: ... };
                            }[];
                        },
                    >;
                    filtersForAnyParty?: {
                        cumulative: {
                            identifierFilter: | { Empty: ... }
                            | { InterfaceFilter: ... }
                            | { TemplateFilter: ... }
                            | { WildcardFilter: ... };
                        }[];
                    };
                    verbose?: boolean;
                };
                transactionShape: | "TRANSACTION_SHAPE_ACS_DELTA"
                | "TRANSACTION_SHAPE_LEDGER_EFFECTS";
            };
            userId?: string;
            workflowId?: string;
        },
    ) => Promise<
        {
            transaction: {
                commandId: string;
                effectiveAt: string;
                events?: (
                    | {
                        ArchivedEvent: {
                            contractId: string;
                            implementedInterfaces?: (...)[];
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                    | {
                        CreatedEvent: {
                            acsDelta: boolean;
                            contractId: string;
                            contractKey?: unknown;
                            createArgument?: unknown;
                            createdAt: string;
                            createdEventBlob: string;
                            interfaceViews?: (...)[];
                            nodeId: number;
                            observers?: (...)[];
                            offset: number;
                            packageName: string;
                            representativePackageId: string;
                            signatories?: (...)[];
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                    | {
                        ExercisedEvent: {
                            acsDelta: boolean;
                            actingParties?: (...)[];
                            choice: string;
                            choiceArgument: unknown;
                            consuming: boolean;
                            contractId: string;
                            exerciseResult: unknown;
                            implementedInterfaces?: (...)[];
                            interfaceId?: string;
                            lastDescendantNodeId: number;
                            nodeId: number;
                            offset: number;
                            packageName: string;
                            templateId: string;
                            witnessParties?: (...)[];
                        };
                    }
                )[];
                externalTransactionHash?: string;
                offset: number;
                recordTime: string;
                synchronizerId: string;
                traceContext?: { traceparent?: string; tracestate?: string };
                updateId: string;
                workflowId: string;
            };
        },
    >

    Submits and wait for transaction

    submitAndWaitForTransactionTree: (
        params: {
            actAs?: string[];
            commandId?: string;
            commands: (
                | {
                    CreateCommand: {
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractId: string;
                        templateId: string;
                    };
                }
                | {
                    CreateAndExerciseCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        createArguments: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    ExerciseByKeyCommand: {
                        choice: string;
                        choiceArgument: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        contractKey: Record<
                            string,
                            | string
                            | number
                            | boolean
                            | ((...) | (...) | (...) | (...) | (...) | (...))[]
                            | { [key: string]: any }
                            | null,
                        >;
                        templateId: string;
                    };
                }
                | {
                    AssignCommand: {
                        reassignmentId: string;
                        source: string;
                        target: string;
                    };
                }
                | {
                    UnassignCommand: {
                        contractId: string;
                        source: string;
                        target: string;
                    };
                }
            )[];
            deduplicationPeriod?: | { DeduplicationDuration: { seconds: number } }
            | { DeduplicationOffset: { offset: number } }
            | { Empty: Record<string, never> };
            disclosedContracts?: {
                contractId: string;
                createdEventBlob: string;
                synchronizerId: string;
                templateId: string;
            }[];
            minLedgerTimeAbs?: string;
            minLedgerTimeRel?: { seconds: number };
            packageIdSelectionPreference?: string[];
            prefetchContractKeys?: {
                contractKey: Record<
                    string,
                    | string
                    | number
                    | boolean
                    | (string | number | boolean | (...)[] | { [key: ...]: ... } | null)[]
                    | { [key: string]: any }
                    | null,
                >;
                templateId: string;
            }[];
            readAs?: string[];
            submissionId?: string;
            synchronizerId?: string;
            userId?: string;
            workflowId?: string;
        },
    ) => Promise<
        {
            transactionTree: {
                commandId: string;
                effectiveAt?: string;
                eventsById: {
                    [key: string]: | {
                        CreatedTreeEvent: {
                            value: {
                                acsDelta: boolean;
                                contractId: string;
                                contractKey?: unknown;
                                createArgument?: unknown;
                                createdAt: string;
                                createdEventBlob: string;
                                interfaceViews?: (...)[];
                                nodeId: number;
                                observers?: (...)[];
                                offset: number;
                                packageName: string;
                                representativePackageId: string;
                                signatories?: (...)[];
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        };
                    }
                    | {
                        ExercisedTreeEvent: {
                            value: {
                                acsDelta: boolean;
                                actingParties?: (...)[];
                                choice: string;
                                choiceArgument: unknown;
                                consuming: boolean;
                                contractId: string;
                                exerciseResult: unknown;
                                implementedInterfaces?: (...)[];
                                interfaceId?: string;
                                lastDescendantNodeId: number;
                                nodeId: number;
                                offset: number;
                                packageName: string;
                                templateId: string;
                                witnessParties?: (...)[];
                            };
                        };
                    };
                };
                offset: number;
                recordTime: string;
                synchronizerId: string;
                traceContext?: { traceparent?: string; tracestate?: string };
                updateId: string;
                workflowId: string;
            };
        },
    >

    Submits and wait for transaction tree

    subscribeToCompletions: (
        params: { beginExclusive?: number; parties: string[]; userId?: string },
        handlers: WebSocketHandlers<CompletionsWsMessage>,
    ) => Promise<WebSocketSubscription>

    Subscribes to to completions

    subscribeToUpdates: (params: SubscribeToUpdatesParams) => Promise<void>

    Subscribes to ledger updates via WebSocket connection.

    updateIdentityProviderConfig: (
        params: {
            identityProviderConfig: {
                audience?: string;
                identityProviderId: string;
                isDeactivated: boolean;
                issuer: string;
                jwksUrl: string;
            };
            updateMask: { paths: string[] };
        },
    ) => Promise<
        {
            identityProviderConfig: {
                audience?: string;
                identityProviderId: string;
                isDeactivated: boolean;
                issuer: string;
                jwksUrl: string;
            };
        },
    >

    Update identity provider config

    updatePartyDetails: (
        params: {
            party: string;
            partyDetails: {
                identityProviderId?: string;
                isLocal: boolean;
                localMetadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                party: string;
            };
            updateMask: { paths: string[] };
        },
    ) => Promise<
        {
            partyDetails?: {
                identityProviderId: string;
                isLocal: boolean;
                localMetadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                party: string;
            };
        },
    >

    Updates party details

    updateUser: (
        params: {
            updateMask: { paths: string[] };
            user: {
                id: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: Record<string, string>;
                    resourceVersion: string;
                };
                primaryParty?: string;
            };
            userId: string;
        },
    ) => Promise<
        {
            user?: {
                id: string;
                identityProviderId: string;
                isDeactivated: boolean;
                metadata?: {
                    annotations: { [key: string]: string };
                    resourceVersion: string;
                };
                primaryParty: string;
            };
        },
    >

    Updates user

    updateUserIdentityProvider: (
        params: {
            sourceIdentityProviderId: string;
            targetIdentityProviderId: string;
            userId: string;
        },
    ) => Promise<Record<string, never>>

    Updates user identity provider

    uploadDarFile: (
        params: { filePath: string; submissionId?: string },
    ) => Promise<Record<string, never>>

    Upload a DAR file to the participant node

    Methods

    • Returns Promise<string>

    • Parameters

      • OptionaladditionalParties: readonly string[]

      Returns string[]

    • Clears the cached authentication token, forcing a refresh on the next authenticate() call. Useful when a token has expired mid-operation (e.g., during a long-running WebSocket stream).

      Returns void

    • Returns ApiType

    • Returns string

    • Returns string

    • Returns Logger | undefined

    • Returns readonly string[]

    • Returns NetworkType

    • Returns PartyId

    • Returns string | undefined

    • Returns string

    • Returns the token expiry timestamp in milliseconds since epoch, or null if not available. Use this to schedule proactive token refresh before expiration, especially for long-running WebSocket connections.

      Returns number | null

    • Returns the timestamp when the current token was issued, in milliseconds since epoch, or null if not available.

      Returns number | null

    • Returns the token lifetime in milliseconds, or null if not available. Useful for calculating when to schedule proactive token refresh (e.g., at 50% of lifetime or 2 minutes before expiry, whichever is later).

      Returns number | null

    • Returns UserId | undefined

    • Type Parameters

      • T

      Parameters

      • url: string
      • Optionalconfig: RequestConfig

      Returns Promise<T>

    • Type Parameters

      • T

      Parameters

      • url: string
      • Optionalconfig: RequestConfig

      Returns Promise<T>

    • Type Parameters

      • T

      Parameters

      • url: string
      • data: unknown
      • Optionalconfig: RequestConfig

      Returns Promise<T>

    • Type Parameters

      • T

      Parameters

      • url: string
      • data: unknown
      • Optionalconfig: RequestConfig

      Returns Promise<T>

    • Set the party ID for this client. Useful for LocalNet where party ID is discovered at runtime after client initialization.

      Parameters

      • partyId: string | PartyId

      Returns void