Skip to content

Reference

ledger.interactiveSubmissionGetPreferredPackages

POST /v2/interactive-submission/preferred-packages — batch vetting-aware preferred package resolution.

Posts packageVettingRequirements (party, packageName) tuples plus optional synchronizerId + vettingValidAt to Canton—ideal before assembling submissions referencing multi-package unions.

Receiver: await canton.ledger.interactiveSubmissionGetPreferredPackages

Setup

import { Canton } from '@fairmint/canton-node-sdk';

const canton = new Canton({
  network: 'devnet',
  provider: '5n',
  partyId: 'OWN_PARTY_ID',
});

Minimal example

const batch = await canton.ledger.interactiveSubmissionGetPreferredPackages({
  packageVettingRequirements: [
    { parties: [canton.getPartyId()], packageName: 'pkg-a' },
  ],
});

Parameters — InteractiveSubmissionGetPreferredPackagesParams

  • packageVettingRequirements (required array) — Each row parties + packageName.
  • synchronizerId (optional string) — Scoped vetting resolution.
  • vettingValidAt (optional string) — Temporal pinning identical to single-package helper.

Returns — GetPreferredPackagesResponse

Map/list describing preferred selections Canton resolves concurrently.

Errors and pitfalls

If vetting incomplete Canton rejects HTTP-level responses referencing offending packageName rows—divide batches accordingly.

Auth and party

Bearer credential parity with other ledger endpoints.

See also

Source

operations/v2/interactive-submission/get-preferred-packages.ts