Interface: UnsignedCantonTx
Defined in: canton/types.ts:31
An unsigned Canton transaction wraps a JsCommands object ready to be
submitted to the Canton Ledger API via submitAndWait /
submitAndWaitForTransaction.
Properties
commands
commands: {
actAs:string[];commandId:string;commands: ({CreateAndExerciseCommand: {choice:string;choiceArgument:unknown;createArguments:unknown;templateId:string; }; } | {CreateCommand: {createArguments:unknown;templateId:string; }; } | {ExerciseByKeyCommand: {choice:string;choiceArgument:unknown;contractKey:unknown;templateId:string; }; } | {ExerciseCommand: {choice:string;choiceArgument:unknown;contractId:string;templateId:string; }; })[];deduplicationPeriod?: {DeduplicationDuration: {value: {nanos:number;seconds:number;unknownFields?: {fields: {[key:string]: {fixed32?: ...[];fixed64?: ...[];lengthDelimited?: ...[];varint?: ...[]; }; }; }; }; }; } | {DeduplicationOffset: {value:number; }; } | {Empty:Record<string,never>; };disclosedContracts?: {contractId?:string;createdEventBlob:string;synchronizerId?:string;templateId?:string; }[];minLedgerTimeAbs?:string;minLedgerTimeRel?: {nanos:number;seconds:number;unknownFields?: {fields: {[key:string]: {fixed32?:number[];fixed64?:number[];lengthDelimited?:string[];varint?:number[]; }; }; }; };packageIdSelectionPreference?:string[];prefetchContractKeys?: {contractKey:unknown;templateId:string; }[];readAs?:string[];submissionId?:string;synchronizerId?:string;userId?:string;workflowId?:string; }
Defined in: canton/types.ts:34
The Canton command payload ready for submission.
actAs
actAs:
string[]
Description
Set of parties on whose behalf the command should be executed.
If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request
to act on behalf of each of the given parties.
Each element must be a valid PartyIdString (as described in value.proto).
Required, must be non-empty.
commandId
commandId:
string
Description
Uniquely identifies the command.
The triple (user_id, act_as, command_id) constitutes the change ID for the intended ledger change,
where act_as is interpreted as a set of party names.
The change ID can be used for matching the intended ledger changes with all their completions.
Must be a valid LedgerString (as described in value.proto).
Required
commands
commands: ({
CreateAndExerciseCommand: {choice:string;choiceArgument:unknown;createArguments:unknown;templateId:string; }; } | {CreateCommand: {createArguments:unknown;templateId:string; }; } | {ExerciseByKeyCommand: {choice:string;choiceArgument:unknown;contractKey:unknown;templateId:string; }; } | {ExerciseCommand: {choice:string;choiceArgument:unknown;contractId:string;templateId:string; }; })[]
Description
Individual elements of this atomic command. Must be non-empty. Required
deduplicationPeriod?
optionaldeduplicationPeriod?: {DeduplicationDuration: {value: {nanos:number;seconds:number;unknownFields?: {fields: {[key:string]: {fixed32?: ...[];fixed64?: ...[];lengthDelimited?: ...[];varint?: ...[]; }; }; }; }; }; } | {DeduplicationOffset: {value:number; }; } | {Empty:Record<string,never>; }
disclosedContracts?
optionaldisclosedContracts?: {contractId?:string;createdEventBlob:string;synchronizerId?:string;templateId?:string; }[]
Description
Additional contracts used to resolve contract & contract key lookups. Optional
minLedgerTimeAbs?
optionalminLedgerTimeAbs?:string
Description
Lower bound for the ledger time assigned to the resulting transaction. Note: The ledger time of a transaction is assigned as part of command interpretation. Use this property if you expect that command interpretation will take a considerate amount of time, such that by the time the resulting transaction is sequenced, its assigned ledger time is not valid anymore. Must not be set at the same time as min_ledger_time_rel. Optional
minLedgerTimeRel?
optionalminLedgerTimeRel?: {nanos:number;seconds:number;unknownFields?: {fields: {[key:string]: {fixed32?:number[];fixed64?:number[];lengthDelimited?:string[];varint?:number[]; }; }; }; }
Description
Same as min_ledger_time_abs, but specified as a duration, starting from the time the command is received by the server. Must not be set at the same time as min_ledger_time_abs. Optional
minLedgerTimeRel.nanos
nanos:
number
Format: int32
minLedgerTimeRel.seconds
seconds:
number
Format: int64
minLedgerTimeRel.unknownFields?
optionalunknownFields?: {fields: {[key:string]: {fixed32?:number[];fixed64?:number[];lengthDelimited?:string[];varint?:number[]; }; }; }
Description
This field is automatically added as part of protobuf to json mapping
minLedgerTimeRel.unknownFields.fields
fields: {[
key:string]: {fixed32?:number[];fixed64?:number[];lengthDelimited?:string[];varint?:number[]; }; }
Index Signature
[key: string]: { fixed32?: number[]; fixed64?: number[]; lengthDelimited?: string[]; varint?: number[]; }
packageIdSelectionPreference?
optionalpackageIdSelectionPreference?:string[]
Description
The package-id selection preference of the client for resolving package names and interface instances in command submission and interpretation
prefetchContractKeys?
optionalprefetchContractKeys?: {contractKey:unknown;templateId:string; }[]
Description
Fetches the contract keys into the caches to speed up the command processing. Should only contain contract keys that are expected to be resolved during interpretation of the commands. Keys of disclosed contracts do not need prefetching.
Optional
readAs?
optionalreadAs?:string[]
Description
Set of parties on whose behalf (in addition to all parties listed in act_as) contracts can be retrieved.
This affects Daml operations such as fetch, fetchByKey, lookupByKey, exercise, and exerciseByKey.
Note: A participant node of a Daml network can host multiple parties. Each contract present on the participant
node is only visible to a subset of these parties. A command can only use contracts that are visible to at least
one of the parties in act_as or read_as. This visibility check is independent from the Daml authorization
rules for fetch operations.
If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request
to read contract data on behalf of each of the given parties.
Optional
submissionId?
optionalsubmissionId?:string
Description
A unique identifier to distinguish completions for different submissions with the same change ID.
Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission
with the same change ID.
Must be a valid LedgerString (as described in value.proto).
If omitted, the participant or the committer may set a value of their choice. Optional
synchronizerId?
optionalsynchronizerId?:string
Description
Must be a valid synchronizer id Optional
userId?
optionaluserId?:string
Description
Uniquely identifies the participant user that issued the command.
Must be a valid UserIdString (as described in value.proto).
Required unless authentication is used with a user token.
In that case, the token's user-id will be used for the request's user_id.
workflowId?
optionalworkflowId?:string
Description
Identifier of the on-ledger workflow that this command is a part of.
Must be a valid LedgerString (as described in value.proto).
Optional
family
family:
"CANTON"
Defined in: canton/types.ts:32