An object of type Ledger represents a handle to a Daml ledger.

Constructors

  • Construct a new Ledger object. See [[LedgerOptions]] for the constructor arguments.

    Parameters

    Returns Ledger

Methods

  • Allocate a new party.

    Parameters

    • partyOpt: { displayName?: string; identifierHint?: string }

      Parameters for party allocation.

    Returns Promise<PartyInfo>

    PartyInfo for the newly created party.

  • Archive a contract identified by its contract ID.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: Template<T, K, I>

      The template of the contract to archive.

    • contractId: ContractId<T>

      The contract id of the contract to archive.

    • Optionalmeta: CommandMeta

      Optional meta fields to specify additional data on a command submission.

    Returns Promise<ArchiveEvent<T, I>>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Archive a contract identified by its contract key. Same as [[archive]], but the contract to be archived is identified by its contract key.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: Template<T, K, I>

      The template of the contract to be archived.

    • key: K

      The contract key of the contract to be archived.

    • Optionalmeta: CommandMeta

      Optional meta fields to specify additional data on a command submission.

    Returns Promise<ArchiveEvent<T, I>>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Create a contract for a given template.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: Template<T, K, I>

      The template of the contract to be created.

    • payload: T

      The template arguments for the contract to be created.

    • Optionalmeta: CommandMeta

      Optional meta fields to specify additional data on a command submission.

    Returns Promise<CreateEvent<T, K, I>>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Exercse a choice on a newly-created contract, in a single transaction.

    Type Parameters

    • T extends object
    • C
    • R
    • K

    Parameters

    • choice: ChoiceFrom<Template<T, K, string>> & Choice<T, C, R, K>

      The choice to exercise.

    • payload: T

      The template arguments for the newly-created contract.

    • argument: C

      The choice arguments.

    • Optionalmeta: CommandMeta

      Optional meta fields to specify additional data on a command submission.

    Returns Promise<[R, Event<object, unknown, string>[]]>

    The return value of the choice together with a list of [[event]]'s that includes the creation event for the created contract as well as all the events that were created as a result of exercising the choice, including the archive event for the created contract if the choice is consuming (or otherwise archives it as part of its execution).

    T The contract template type.

    C The type of the contract choice.

    R The return type of the choice.

  • Creates a user

    Parameters

    • userId: string

      The user ID

    • rights: UserRight[]

      The initial rights the user should have

    • OptionalprimaryParty: string

      The primary party the user should have

    Returns Promise<void>

  • Deletes a user

    Parameters

    • userId: string

      The user ID

    Returns Promise<void>

  • Exercise a choice on a contract identified by its contract ID.

    Type Parameters

    • T extends object
    • C
    • R
    • K

    Parameters

    • choice: Choice<T, C, R, K>

      The choice to exercise.

    • contractId: ContractId<T>

      The contract id of the contract to exercise.

    • argument: C

      The choice arguments.

    • Optionalmeta: CommandMeta

      Optional meta fields to specify additional data on a command submission.

    Returns Promise<[R, Event<object, unknown, string>[]]>

    The return value of the choice together with a list of [[event]]'s that were created as a result of exercising the choice.

    T The contract template type.

    C The type of the contract choice.

    R The return type of the choice.

  • Exercise a choice on a contract identified by its contract key.

    Same as [[exercise]], but the contract is identified by its contract key instead of its contract id.

    Type Parameters

    • T extends object
    • C
    • R
    • K

    Parameters

    • choice: ChoiceFrom<Template<T, K, string>> & Choice<T, C, R, K>

      The choice to exercise.

    • key: K

      The contract key of the contract to exercise.

    • argument: C

      The choice arguments.

    • Optionalmeta: CommandMeta

      Optional meta fields to specify additional data on a command submission.

    Returns Promise<[R, Event<object, unknown, string>[]]>

    The return value of the choice together with a list of [[event]]'s that where created as a result of exercising the choice.

    T The contract template type.

    C The type of the contract choice.

    R The return type of the choice.

    K The type of the contract key.

  • Fetch a contract identified by its contract ID.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: TemplateOrInterface<T, K, I>

      The template of the contract to be fetched.

    • contractId: ContractId<T>

      The contract id of the contract to be fetched.

    Returns Promise<null | CreateEvent<T, K, I>>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Fetch a contract identified by its contract key.

    Same as [[fetch]], but the contract to be fetched is identified by its contract key instead of its contract id.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: Template<T, K, I>

      The template of the contract to be fetched.

    • key: K

      The contract key of the contract to be fetched.

    Returns Promise<null | CreateEvent<T, K, I>>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Fetch a binary package.

    Parameters

    • id: string

    Returns Promise<ArrayBuffer>

    The content of the package as a raw ArrayBuffer.

  • Fetch parties by identifier.

    Parameters

    • parties: string[]

      An array of Party identifiers.

    Returns Promise<(null | PartyInfo)[]>

    An array of the same length, where each element corresponds to the same-index element of the given parties, ans is either a PartyInfo object if the party exists or null if it does not.

  • Get the current user details obtained by the currently used JWT.

    Parameters

    • OptionaluserId: string

      The user id

    Returns Promise<User>

    User details

  • Grants rights to a user

    Parameters

    • userId: string

      The user to which rights shall be granted

    • rights: UserRight[]

      The rights which shall be granted

    Returns Promise<UserRight[]>

    The rights which actually were granted (if a right was already granted, then it will not be in the return list)

  • Fetch all parties on the ledger.

    Returns Promise<PartyInfo[]>

    All parties on the ledger, in no particular order.

  • Fetch a list of all package IDs from the ledger.

    Returns Promise<string[]>

    List of package IDs.

  • Lists the rights associated with the given user id

    Parameters

    • OptionaluserId: string

    Returns Promise<UserRight[]>

    list of user rights

  • Lists the users on the ledger

    Returns Promise<User[]>

    user list

  • Retrieve contracts for a given template.

    When no query argument is given, all contracts visible to the submitting party are returned. When a query argument is given, only those contracts matching the query are returned. See https://docs.daml.com/json-api/search-query-language.html for a description of the query language.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: TemplateOrInterface<T, K, I>

      The contract template of the contracts to be matched against.

    • Optionalquery: Query<T>

      The contract query for the contracts to be matched against.

    Returns Promise<CreateEvent<T, K, I>[]>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Revokes rights from a user

    Parameters

    • userId: string

      The user from which rights shall be revoked

    • rights: UserRight[]

      The rights which shall be revoked

    Returns Promise<UserRight[]>

    The rights which actually were revoked (if a right was already revoked, then it will not be in the return list)

  • Retrieve a consolidated stream of events for a given template and contract key.

    The accumulated state is either the current active contract for the given key, or null if there is no active contract for the given key.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: Template<T, K, I>
    • key: K

    Returns Stream<T, K, I, null | CreateEvent<T, K, I>>

    Prefer streamFetchByKeys.

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Retrieve a consolidated stream of events for a list of keys and a single template.

    The accumulated state is an array of the same length as the given list of keys, with positional correspondence. Each element in the array represents the current contract for the given key, or is explicitly null if there is currently no active contract matching that key.

    Note: the given key objects will be compared for (deep) equality with the values returned by the API. As such, they have to be given in the "output" format of the API, including the values of encodeDecimalAsString and encodeInt64AsString. See the JSON API docs for details.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: Template<T, K, I>
    • keys: K[]

    Returns Stream<T, K, I, (null | CreateEvent<T, K, I>)[]>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Retrieve a consolidated stream of events for a given template and queries.

    If the given list is empty, the accumulated state is the set of all active contracts for the given template. Otherwise, the accumulated state is the set of all contracts that match at least one of the given queries.

    See https://docs.daml.com/json-api/search-query-language.html for a description of the query language.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: TemplateOrInterface<T, K, I>

      The contract template to match contracts against.

    • queries: Query<T>[]

      A query to match contracts against.

    Returns Stream<T, K, I, readonly CreateEvent<T, K, I>[]>

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Retrieve a consolidated stream of events for a given template and query.

    The accumulated state is the current set of active contracts matching the query. When no query argument is given, all events visible to the submitting party are returned. When a query argument is given, only those create events matching the query are returned. See https://docs.daml.com/json-api/search-query-language.html for a description of the query language.

    Type Parameters

    • T extends object
    • K
    • I extends string

    Parameters

    • template: TemplateOrInterface<T, K, I>

      The contract template to match contracts against.

    • Optionalquery: Query<T>

      The query to match contracts agains.

    Returns Stream<T, K, I, readonly CreateEvent<T, K, I>[]>

    Prefer streamQueries.

    T The contract template type.

    K The contract key type.

    I The contract id type.

  • Upload a binary archive. Note that this requires admin privileges.

    Parameters

    • abuf: Buffer<ArrayBufferLike>

    Returns Promise<void>

    No return value on success; throws on error.