canton-network-docs/Daml ScriptModules
Daml.Script
Daml.Script
The Daml Script testing library.Module Snapshot
Lifecycle
Stable.
Notices
Status:
active
Introduced in: 3.4.9
Removed in: -
Warnings: 0
Deprecations: 0
Deprecated since: -Data Types
data InvalidUserId
Thrown if text for a user identifier does not conform to the format restriction.
Constructors:
InvalidUserId
m
Text
- instance
EqInvalidUserId - instance
ShowInvalidUserId - instance
HasFromAnyExceptionInvalidUserId - instance
HasMessageInvalidUserId - instance
HasThrowInvalidUserId - instance
HasToAnyExceptionInvalidUserId - instance
GetFieldmInvalidUserIdText - instance
GetFieldmessageInvalidUserIdText - instance
SetFieldmInvalidUserIdText
data User
User-info record for a user in the user management service.
Constructors:
User
userId
UserId
primaryParty
Optional Party
- instance
IsQuestionGetUser(OptionalUser) - instance
IsQuestionListAllUsers[User] - instance
EqUser - instance
OrdUser - instance
ShowUser - instance
GetFieldprimaryPartyUser(OptionalParty) - instance
GetFielduserCreateUserUser - instance
GetFielduserIdUserUserId - instance
SetFieldprimaryPartyUser(OptionalParty) - instance
SetFielduserCreateUserUser - instance
SetFielduserIdUserUserId
data UserAlreadyExists
Thrown if a user to be created already exists.
Constructors:
UserAlreadyExists
userId
UserId
- instance
EqUserAlreadyExists - instance
ShowUserAlreadyExists - instance
HasFromAnyExceptionUserAlreadyExists - instance
HasMessageUserAlreadyExists - instance
HasThrowUserAlreadyExists - instance
HasToAnyExceptionUserAlreadyExists - instance
GetFieldmessageUserAlreadyExistsText - instance
GetFielduserIdUserAlreadyExistsUserId - instance
SetFielduserIdUserAlreadyExistsUserId
data UserId
Identifier for a user in the user management service.
Constructors:
UserId Text
- instance
EqUserId - instance
OrdUserId - instance
ShowUserId - instance
GetFielduserIdDeleteUserUserId - instance
GetFielduserIdGetUserUserId - instance
GetFielduserIdGrantUserRightsUserId - instance
GetFielduserIdListUserRightsUserId - instance
GetFielduserIdRevokeUserRightsUserId - instance
GetFielduserIdUserUserId - instance
GetFielduserIdUserAlreadyExistsUserId - instance
GetFielduserIdUserNotFoundUserId - instance
SetFielduserIdDeleteUserUserId - instance
SetFielduserIdGetUserUserId - instance
SetFielduserIdGrantUserRightsUserId - instance
SetFielduserIdListUserRightsUserId - instance
SetFielduserIdRevokeUserRightsUserId - instance
SetFielduserIdUserUserId - instance
SetFielduserIdUserAlreadyExistsUserId - instance
SetFielduserIdUserNotFoundUserId
data UserNotFound
Thrown if a user cannot be located for a given user identifier.
Constructors:
UserNotFound
userId
UserId
- instance
EqUserNotFound - instance
ShowUserNotFound - instance
HasFromAnyExceptionUserNotFound - instance
HasMessageUserNotFound - instance
HasThrowUserNotFound - instance
HasToAnyExceptionUserNotFound - instance
GetFieldmessageUserNotFoundText - instance
GetFielduserIdUserNotFoundUserId - instance
SetFielduserIdUserNotFoundUserId
data UserRight
The rights of a user.
Constructors:
ParticipantAdmin
CanActAs Party
CanReadAs Party
CanReadAsAnyParty
- instance
IsQuestionGrantUserRights(Optional[UserRight]) - instance
IsQuestionListUserRights(Optional[UserRight]) - instance
IsQuestionRevokeUserRights(Optional[UserRight]) - instance
EqUserRight - instance
ShowUserRight - instance
GetFieldrightsCreateUser[UserRight] - instance
GetFieldrightsGrantUserRights[UserRight] - instance
GetFieldrightsRevokeUserRights[UserRight] - instance
SetFieldrightsCreateUser[UserRight] - instance
SetFieldrightsGrantUserRights[UserRight] - instance
SetFieldrightsRevokeUserRights[UserRight]
data ConcurrentSubmits a
Applicative that allows for multiple concurrent transaction submissions
See concurrently for usage of this type.
Constructors:
ConcurrentSubmits
submits
[Submission]
continue
[Either SubmitError ([CommandResult], TransactionTree)] -> a
- instance
ScriptSubmitConcurrentSubmits - instance
FunctorConcurrentSubmits - instance
ApplicativeConcurrentSubmits - instance
GetFieldcontinue(ConcurrentSubmitsa) ([EitherSubmitError([CommandResult],TransactionTree)] ->a) - instance
GetFieldsubmits(ConcurrentSubmitsa) [Submission] - instance
SetFieldcontinue(ConcurrentSubmitsa) ([EitherSubmitError([CommandResult],TransactionTree)] ->a) - instance
SetFieldsubmits(ConcurrentSubmitsa) [Submission]
data PackageId
Package-id newtype for package preference
Constructors:
PackageId Text
- instance
EqPackageId - instance
ShowPackageId - instance
GetFieldsPackagePreferenceSubmission(Optional[PackageId]) - instance
GetFieldsoPackagePreferenceSubmitOptions(Optional[PackageId]) - instance
SetFieldsPackagePreferenceSubmission(Optional[PackageId]) - instance
SetFieldsoPackagePreferenceSubmitOptions(Optional[PackageId])
data SubmitOptions
Options to detemine the stakeholders of a transaction, as well as disclosures.
Intended to be specified using the actAs, readAs and disclose builders, combined using the Semigroup concat (<>) operator.
signatory, see their docs for examples.
All submissions must specify at least one actAs party, else a runtime error will be thrown.
A minimum submission may look like
SubmitOptions to
submit, which will represent the actAs field.
The above example could be reduced to
SubmitOptions
soActAs
[Party]
soReadAs
[Party]
soDisclosures
[Disclosure]
soPackagePreference
Optional [PackageId]
soPrefetchKeys
[AnyContractKey]
- instance
IsSubmitOptionsSubmitOptions - instance
MonoidSubmitOptions - instance
SemigroupSubmitOptions - instance
GetFieldsoActAsSubmitOptions[Party] - instance
GetFieldsoDisclosuresSubmitOptions[Disclosure] - instance
GetFieldsoPackagePreferenceSubmitOptions(Optional[PackageId]) - instance
GetFieldsoPrefetchKeysSubmitOptions[AnyContractKey] - instance
GetFieldsoReadAsSubmitOptions[Party] - instance
SetFieldsoActAsSubmitOptions[Party] - instance
SetFieldsoDisclosuresSubmitOptions[Disclosure] - instance
SetFieldsoPackagePreferenceSubmitOptions(Optional[PackageId]) - instance
SetFieldsoPrefetchKeysSubmitOptions[AnyContractKey] - instance
SetFieldsoReadAsSubmitOptions[Party]
data CryptoErrorType
Daml Crypto (Secp256k1) related submission errors
Constructors:
MalformedByteEncoding
value
Text
MalformedKey
keyValue
Text
MalformedSignature
signatureValue
Text
- instance
ShowCryptoErrorType - instance
GetFieldcryptoErrorTypeSubmitErrorCryptoErrorType - instance
GetFieldkeyValueCryptoErrorTypeText - instance
GetFieldsignatureValueCryptoErrorTypeText - instance
GetFieldvalueCryptoErrorTypeText - instance
SetFieldcryptoErrorTypeSubmitErrorCryptoErrorType - instance
SetFieldkeyValueCryptoErrorTypeText - instance
SetFieldsignatureValueCryptoErrorTypeText - instance
SetFieldvalueCryptoErrorTypeText
data SubmitError
Errors that can be thrown by a command submission via trySubmit
Constructors:
ContractNotFound
unknownContractIds
NonEmpty Text
Provided as text, as we do not know the template ID of a contract if the lookup fails
additionalDebuggingInfo
Optional ContractNotFoundAdditionalInfo
should always be None in Canton’s case, see https://github.com/digital-asset/daml/issues/17154
ContractKeyNotFound
contractKey
AnyContractKey
UnresolvedPackageName
packageName
Text
AuthorizationError
authorizationErrorMessage
Text
ContractHashingError
contractId
AnyContractId
dstTemplateId
TemplateTypeRep
createArg
AnyTemplate
errorMessage
Text
DisclosedContractKeyHashingError
contractId
AnyContractId
expectedKey
AnyContractKey
givenKeyHash
Text
DuplicateContractKey
duplicateContractKey
Optional AnyContractKey
Canton will often not provide this key, IDELedger will
InconsistentContractKey
contractKey
AnyContractKey
UnhandledException
exc
Optional AnyException
Errors more complex than simple records cannot currently be encoded over the grpc status. Such errors will be missing here.
UserError
userErrorMessage
Text
TemplatePreconditionViolated
ensure, strictly pre-exception.
According to docs, not throwable with LF >= 1.14.
On LF >= 1.14, a failed ensure will result in a PreconditionFailed
exception wrapped in UnhandledException.
CreateEmptyContractKeyMaintainers
invalidTemplate
AnyTemplate
FetchEmptyContractKeyMaintainers
failedTemplateKey
AnyContractKey
WronglyTypedContract
contractId
AnyContractId
Any contract Id of the actual contract
expectedTemplateId
TemplateTypeRep
actualTemplateId
TemplateTypeRep
ContractDoesNotImplementInterface
contractId
AnyContractId
templateId
TemplateTypeRep
interfaceId
TemplateTypeRep
ContractDoesNotImplementRequiringInterface
contractId
AnyContractId
templateId
TemplateTypeRep
requiredInterfaceId
TemplateTypeRep
requiringInterfaceId
TemplateTypeRep
NonComparableValues
ContractIdInContractKey
ContractIdComparability
globalExistingContractId
Text
We do not know the template ID at time of comparison.
ValueNesting
limit
Int
Nesting limit that was exceeded
LocalVerdictLockedContracts
localVerdictLockedContracts
[AnyContractId]
Locked contract ids
LocalVerdictLockedKeys
localVerdictLockedKeys
[AnyContractKey]
Locked contract keys
UpgradeError
errorType
UpgradeErrorType
errorMessage
Text
FailureStatusError
failureStatus
FailureStatus
failWithStatus
CryptoError
cryptoErrorType
CryptoErrorType
cryptoErrorMessage
Text
EffectfulRollbackError
effectfulRollbackErrorMsg
Text
DevError
devErrorType
DevErrorType
devErrorMessage
Text
UnknownError
unknownErrorMessage
Text
TruncatedError
truncatedErrorType
Text
One of the constructor names of SubmitFailure except DevError, UnknownError, TruncatedError
truncatedErrorMessage
Text
- instance
IsQuestionSubmit[EitherSubmitError([CommandResult],TransactionTree)] - instance
ShowSubmitError - instance
GetFieldactualTemplateIdSubmitErrorTemplateTypeRep - instance
GetFieldadditionalDebuggingInfoSubmitError(OptionalContractNotFoundAdditionalInfo) - instance
GetFieldauthorizationErrorMessageSubmitErrorText - instance
GetFieldcontinue(ConcurrentSubmitsa) ([EitherSubmitError([CommandResult],TransactionTree)] ->a) - instance
GetFieldcontractIdSubmitErrorAnyContractId - instance
GetFieldcontractKeySubmitErrorAnyContractKey - instance
GetFieldcreateArgSubmitErrorAnyTemplate - instance
GetFieldcryptoErrorMessageSubmitErrorText - instance
GetFieldcryptoErrorTypeSubmitErrorCryptoErrorType - instance
GetFielddevErrorMessageSubmitErrorText - instance
GetFielddevErrorTypeSubmitErrorDevErrorType - instance
GetFielddstTemplateIdSubmitErrorTemplateTypeRep - instance
GetFieldduplicateContractKeySubmitError(OptionalAnyContractKey) - instance
GetFieldeffectfulRollbackErrorMsgSubmitErrorText - instance
GetFielderrorMessageSubmitErrorText - instance
GetFielderrorTypeSubmitErrorUpgradeErrorType - instance
GetFieldexcSubmitError(OptionalAnyException) - instance
GetFieldexpectedKeySubmitErrorAnyContractKey - instance
GetFieldexpectedTemplateIdSubmitErrorTemplateTypeRep - instance
GetFieldfailedTemplateKeySubmitErrorAnyContractKey - instance
GetFieldfailureStatusSubmitErrorFailureStatus - instance
GetFieldgivenKeyHashSubmitErrorText - instance
GetFieldglobalExistingContractIdSubmitErrorText - instance
GetFieldinterfaceIdSubmitErrorTemplateTypeRep - instance
GetFieldinvalidTemplateSubmitErrorAnyTemplate - instance
GetFieldlimitSubmitErrorInt - instance
GetFieldlocalVerdictLockedContractsSubmitError[AnyContractId] - instance
GetFieldlocalVerdictLockedKeysSubmitError[AnyContractKey] - instance
GetFieldpackageNameSubmitErrorText - instance
GetFieldrequiredInterfaceIdSubmitErrorTemplateTypeRep - instance
GetFieldrequiringInterfaceIdSubmitErrorTemplateTypeRep - instance
GetFieldtemplateIdSubmitErrorTemplateTypeRep - instance
GetFieldtruncatedErrorMessageSubmitErrorText - instance
GetFieldtruncatedErrorTypeSubmitErrorText - instance
GetFieldunknownContractIdsSubmitError(NonEmptyText) - instance
GetFieldunknownErrorMessageSubmitErrorText - instance
GetFielduserErrorMessageSubmitErrorText - instance
SetFieldactualTemplateIdSubmitErrorTemplateTypeRep - instance
SetFieldadditionalDebuggingInfoSubmitError(OptionalContractNotFoundAdditionalInfo) - instance
SetFieldauthorizationErrorMessageSubmitErrorText - instance
SetFieldcontinue(ConcurrentSubmitsa) ([EitherSubmitError([CommandResult],TransactionTree)] ->a) - instance
SetFieldcontractIdSubmitErrorAnyContractId - instance
SetFieldcontractKeySubmitErrorAnyContractKey - instance
SetFieldcreateArgSubmitErrorAnyTemplate - instance
SetFieldcryptoErrorMessageSubmitErrorText - instance
SetFieldcryptoErrorTypeSubmitErrorCryptoErrorType - instance
SetFielddevErrorMessageSubmitErrorText - instance
SetFielddevErrorTypeSubmitErrorDevErrorType - instance
SetFielddstTemplateIdSubmitErrorTemplateTypeRep - instance
SetFieldduplicateContractKeySubmitError(OptionalAnyContractKey) - instance
SetFieldeffectfulRollbackErrorMsgSubmitErrorText - instance
SetFielderrorMessageSubmitErrorText - instance
SetFielderrorTypeSubmitErrorUpgradeErrorType - instance
SetFieldexcSubmitError(OptionalAnyException) - instance
SetFieldexpectedKeySubmitErrorAnyContractKey - instance
SetFieldexpectedTemplateIdSubmitErrorTemplateTypeRep - instance
SetFieldfailedTemplateKeySubmitErrorAnyContractKey - instance
SetFieldfailureStatusSubmitErrorFailureStatus - instance
SetFieldgivenKeyHashSubmitErrorText - instance
SetFieldglobalExistingContractIdSubmitErrorText - instance
SetFieldinterfaceIdSubmitErrorTemplateTypeRep - instance
SetFieldinvalidTemplateSubmitErrorAnyTemplate - instance
SetFieldlimitSubmitErrorInt - instance
SetFieldlocalVerdictLockedContractsSubmitError[AnyContractId] - instance
SetFieldlocalVerdictLockedKeysSubmitError[AnyContractKey] - instance
SetFieldpackageNameSubmitErrorText - instance
SetFieldrequiredInterfaceIdSubmitErrorTemplateTypeRep - instance
SetFieldrequiringInterfaceIdSubmitErrorTemplateTypeRep - instance
SetFieldtemplateIdSubmitErrorTemplateTypeRep - instance
SetFieldtruncatedErrorMessageSubmitErrorText - instance
SetFieldtruncatedErrorTypeSubmitErrorText - instance
SetFieldunknownContractIdsSubmitError(NonEmptyText) - instance
SetFieldunknownErrorMessageSubmitErrorText - instance
SetFielduserErrorMessageSubmitErrorText
data UpgradeErrorType
SCU related submission errors
Constructors:
ValidationFailed
coid
AnyContractId
srcTemplateId
TemplateTypeRep
dstTemplateId
TemplateTypeRep
srcPackageName
Text
dstPackageName
Text
originalSignatories
[Party]
originalObservers
[Party]
originalKeyOpt
Optional (AnyContractKey, [Party])
recomputedSignatories
[Party]
recomputedObservers
[Party]
recomputedKeyOpt
Optional (AnyContractKey, [Party])
TranslationFailed
mCoid
Optional AnyContractId
srcTemplateId
TemplateTypeRep
dstTemplateId
TemplateTypeRep
createArg
AnyTemplate
AuthenticationFailed
coid
AnyContractId
srcTemplateId
TemplateTypeRep
dstTemplateId
TemplateTypeRep
createArg
AnyTemplate
- instance
ShowUpgradeErrorType - instance
GetFieldcoidUpgradeErrorTypeAnyContractId - instance
GetFieldcreateArgUpgradeErrorTypeAnyTemplate - instance
GetFielddstPackageNameUpgradeErrorTypeText - instance
GetFielddstTemplateIdUpgradeErrorTypeTemplateTypeRep - instance
GetFielderrorTypeSubmitErrorUpgradeErrorType - instance
GetFieldmCoidUpgradeErrorType(OptionalAnyContractId) - instance
GetFieldoriginalKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
GetFieldoriginalObserversUpgradeErrorType[Party] - instance
GetFieldoriginalSignatoriesUpgradeErrorType[Party] - instance
GetFieldrecomputedKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
GetFieldrecomputedObserversUpgradeErrorType[Party] - instance
GetFieldrecomputedSignatoriesUpgradeErrorType[Party] - instance
GetFieldsrcPackageNameUpgradeErrorTypeText - instance
GetFieldsrcTemplateIdUpgradeErrorTypeTemplateTypeRep - instance
SetFieldcoidUpgradeErrorTypeAnyContractId - instance
SetFieldcreateArgUpgradeErrorTypeAnyTemplate - instance
SetFielddstPackageNameUpgradeErrorTypeText - instance
SetFielddstTemplateIdUpgradeErrorTypeTemplateTypeRep - instance
SetFielderrorTypeSubmitErrorUpgradeErrorType - instance
SetFieldmCoidUpgradeErrorType(OptionalAnyContractId) - instance
SetFieldoriginalKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
SetFieldoriginalObserversUpgradeErrorType[Party] - instance
SetFieldoriginalSignatoriesUpgradeErrorType[Party] - instance
SetFieldrecomputedKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
SetFieldrecomputedObserversUpgradeErrorType[Party] - instance
SetFieldrecomputedSignatoriesUpgradeErrorType[Party] - instance
SetFieldsrcPackageNameUpgradeErrorTypeText - instance
SetFieldsrcTemplateIdUpgradeErrorTypeTemplateTypeRep
data Created
Constructors:
Created
contractId
AnyContractId
argument
AnyTemplate
- instance
ShowCreated - instance
GetFieldargumentCreatedAnyTemplate - instance
GetFieldcontractIdCreatedAnyContractId - instance
SetFieldargumentCreatedAnyTemplate - instance
SetFieldcontractIdCreatedAnyContractId
data CreatedIndexPayload t
Constructors:
CreatedIndexPayload
templateId
TemplateTypeRep
offset
Int
- instance
GetFieldoffset(CreatedIndexPayloadt)Int - instance
GetFieldtemplateId(CreatedIndexPayloadt)TemplateTypeRep - instance
SetFieldoffset(CreatedIndexPayloadt)Int - instance
SetFieldtemplateId(CreatedIndexPayloadt)TemplateTypeRep
data Exercised
Constructors:
Exercised
contractId
AnyContractId
choice
Text
argument
AnyChoice
childEvents
[TreeEvent]
- instance
ShowExercised - instance
GetFieldargumentExercisedAnyChoice - instance
GetFieldchildEventsExercised[TreeEvent] - instance
GetFieldchoiceExercisedText - instance
GetFieldcontractIdExercisedAnyContractId - instance
SetFieldargumentExercisedAnyChoice - instance
SetFieldchildEventsExercised[TreeEvent] - instance
SetFieldchoiceExercisedText - instance
SetFieldcontractIdExercisedAnyContractId
data ExercisedIndexPayload t
Constructors:
ExercisedIndexPayload
templateId
TemplateTypeRep
choice
Text
offset
Int
child
TreeIndex t
- instance
GetFieldchild(ExercisedIndexPayloadt) (TreeIndext) - instance
GetFieldchoice(ExercisedIndexPayloadt)Text - instance
GetFieldoffset(ExercisedIndexPayloadt)Int - instance
GetFieldtemplateId(ExercisedIndexPayloadt)TemplateTypeRep - instance
SetFieldchild(ExercisedIndexPayloadt) (TreeIndext) - instance
SetFieldchoice(ExercisedIndexPayloadt)Text - instance
SetFieldoffset(ExercisedIndexPayloadt)Int - instance
SetFieldtemplateId(ExercisedIndexPayloadt)TemplateTypeRep
data TransactionTree
Constructors:
TransactionTree
rootEvents
[TreeEvent]
- instance
IsQuestionSubmit[EitherSubmitError([CommandResult],TransactionTree)] - instance
ShowTransactionTree - instance
GetFieldcontinue(ConcurrentSubmitsa) ([EitherSubmitError([CommandResult],TransactionTree)] ->a) - instance
GetFieldrootEventsTransactionTree[TreeEvent] - instance
SetFieldcontinue(ConcurrentSubmitsa) ([EitherSubmitError([CommandResult],TransactionTree)] ->a) - instance
SetFieldrootEventsTransactionTree[TreeEvent]
data TreeEvent
Constructors:
CreatedEvent Created
ExercisedEvent Exercised
- instance
ShowTreeEvent - instance
GetFieldchildEventsExercised[TreeEvent] - instance
GetFieldrootEventsTransactionTree[TreeEvent] - instance
SetFieldchildEventsExercised[TreeEvent] - instance
SetFieldrootEventsTransactionTree[TreeEvent]
data TreeIndex t
Constructors:
CreatedIndex (CreatedIndexPayload t)
ExercisedIndex (ExercisedIndexPayload t)
- instance
GetFieldchild(ExercisedIndexPayloadt) (TreeIndext) - instance
SetFieldchild(ExercisedIndexPayloadt) (TreeIndext)
data AnyContractId
Constructors:
AnyContractId
templateId
TemplateTypeRep
contractId
ContractId ()
- instance
EqAnyContractId - instance
ShowAnyContractId - instance
GetFieldadditionalInfoCidContractNotFoundAdditionalInfoAnyContractId - instance
GetFieldcoidUpgradeErrorTypeAnyContractId - instance
GetFieldcontractIdSubmitErrorAnyContractId - instance
GetFieldcontractIdCreatedAnyContractId - instance
GetFieldcontractIdExercisedAnyContractId - instance
GetFieldcontractIdAnyContractId(ContractId()) - instance
GetFieldlocalVerdictLockedContractsSubmitError[AnyContractId] - instance
GetFieldmCoidUpgradeErrorType(OptionalAnyContractId) - instance
GetFieldtemplateIdAnyContractIdTemplateTypeRep - instance
SetFieldadditionalInfoCidContractNotFoundAdditionalInfoAnyContractId - instance
SetFieldcoidUpgradeErrorTypeAnyContractId - instance
SetFieldcontractIdSubmitErrorAnyContractId - instance
SetFieldcontractIdCreatedAnyContractId - instance
SetFieldcontractIdExercisedAnyContractId - instance
SetFieldcontractIdAnyContractId(ContractId()) - instance
SetFieldlocalVerdictLockedContractsSubmitError[AnyContractId] - instance
SetFieldmCoidUpgradeErrorType(OptionalAnyContractId) - instance
SetFieldtemplateIdAnyContractIdTemplateTypeRep
data ParticipantName
Participant name for multi-participant script runs to address a specific participant
Constructors:
ParticipantName
participantName
Text
- instance
GetFieldparticipantNameParticipantNameText - instance
SetFieldparticipantNameParticipantNameText
data PartyDetails
The party details returned by the party management service.
Constructors:
PartyDetails
party
Party
Party id
isLocal
Bool
True if party is hosted by the backing participant.
- instance
IsQuestionListKnownParties[PartyDetails] - instance
EqPartyDetails - instance
OrdPartyDetails - instance
ShowPartyDetails - instance
GetFieldisLocalPartyDetailsBool - instance
GetFieldpartyPartyDetailsParty - instance
SetFieldisLocalPartyDetailsBool - instance
SetFieldpartyPartyDetailsParty
data PartyIdHint
A hint to the backing participant what party id to allocate.
Must be a valid PartyIdString (as described in @value.proto@).
Constructors:
PartyIdHint
partyIdHint
Text
- instance
GetFieldpartyIdHintPartyIdHintText - instance
SetFieldpartyIdHintPartyIdHintText
type PrivateKeyHex
= BytesHex
A DER formatted private key to be used for ECDSA message signing
Instances:
- instance
GetFieldprivateKeySecp256k1KeyPairPrivateKeyHex - instance
SetFieldprivateKeySecp256k1KeyPairPrivateKeyHex
data Secp256k1KeyPair
Secp256k1 key pair generated by secp256k1generatekeypair for testing.
Constructors:
Secp256k1KeyPair
privateKey
PrivateKeyHex
publicKey
PublicKeyHex
- instance
IsQuestionSecp256k1GenerateKeyPairSecp256k1KeyPair - instance
GetFieldprivateKeySecp256k1KeyPairPrivateKeyHex - instance
GetFieldpublicKeySecp256k1KeyPairPublicKeyHex - instance
SetFieldprivateKeySecp256k1KeyPairPrivateKeyHex - instance
SetFieldpublicKeySecp256k1KeyPairPublicKeyHex
data AnyContractKey
Existential contract key type that can wrap an arbitrary contract key.
Instances:
- instance
EqAnyContractKey - instance
OrdAnyContractKey - instance
GetFieldcontractKeyQueryNByKeyAnyContractKey - instance
GetFieldcontractKeySubmitErrorAnyContractKey - instance
GetFieldduplicateContractKeySubmitError(OptionalAnyContractKey) - instance
GetFieldexpectedKeySubmitErrorAnyContractKey - instance
GetFieldfailedTemplateKeySubmitErrorAnyContractKey - instance
GetFieldgetAnyContractKeyAnyContractKeyLedgerValue - instance
GetFieldgetAnyContractKeyTemplateTypeRepAnyContractKeyTemplateTypeRep - instance
GetFieldkeyQueryByKeyAnyContractKey - instance
GetFieldkeyECommandAnyContractKey - instance
GetFieldlocalVerdictLockedKeysSubmitError[AnyContractKey] - instance
GetFieldoriginalKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
GetFieldrecomputedKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
GetFieldsPrefetchKeysSubmission[AnyContractKey] - instance
GetFieldsoPrefetchKeysSubmitOptions[AnyContractKey] - instance
SetFieldcontractKeyQueryNByKeyAnyContractKey - instance
SetFieldcontractKeySubmitErrorAnyContractKey - instance
SetFieldduplicateContractKeySubmitError(OptionalAnyContractKey) - instance
SetFieldexpectedKeySubmitErrorAnyContractKey - instance
SetFieldfailedTemplateKeySubmitErrorAnyContractKey - instance
SetFieldgetAnyContractKeyAnyContractKeyLedgerValue - instance
SetFieldgetAnyContractKeyTemplateTypeRepAnyContractKeyTemplateTypeRep - instance
SetFieldkeyQueryByKeyAnyContractKey - instance
SetFieldkeyECommandAnyContractKey - instance
SetFieldlocalVerdictLockedKeysSubmitError[AnyContractKey] - instance
SetFieldoriginalKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
SetFieldrecomputedKeyOptUpgradeErrorType(Optional(AnyContractKey, [Party])) - instance
SetFieldsPrefetchKeysSubmission[AnyContractKey] - instance
SetFieldsoPrefetchKeysSubmitOptions[AnyContractKey]
data Commands a
This is used to build up the commands sent as part of submit.
If you enable the ApplicativeDo extension by adding
{-# LANGUAGE ApplicativeDo #-} at the top of your file, you can
use do-notation but the individual commands must not depend
on each other and the last statement in a do block
must be of the form return expr or pure expr.
Constructors:
Commands
commands
[CommandWithMeta]
continue
[CommandResult] -> a
- instance
FunctorCommands - instance
ApplicativeCommands - instance
GetFieldcommands(Commandsa) [CommandWithMeta] - instance
GetFieldcontinue(Commandsa) ([CommandResult] ->a) - instance
SetFieldcommands(Commandsa) [CommandWithMeta] - instance
SetFieldcontinue(Commandsa) ([CommandResult] ->a)
data Disclosure
Contract disclosures which can be acquired via queryDisclosure
Constructors:
Disclosure
templateId
TemplateTypeRep
contractId
ContractId ()
blob
Text
- instance
EqDisclosure - instance
OrdDisclosure - instance
GetFieldblobDisclosureText - instance
GetFieldcontractIdDisclosure(ContractId()) - instance
GetFieldsDisclosuresSubmission[Disclosure] - instance
GetFieldsoDisclosuresSubmitOptions[Disclosure] - instance
GetFieldtemplateIdDisclosureTemplateTypeRep - instance
SetFieldblobDisclosureText - instance
SetFieldcontractIdDisclosure(ContractId()) - instance
SetFieldsDisclosuresSubmission[Disclosure] - instance
SetFieldsoDisclosuresSubmitOptions[Disclosure] - instance
SetFieldtemplateIdDisclosureTemplateTypeRep
data Script a
This is the type of A Daml script. Script is an instance of Action,
so you can use do notation.
Constructors:
Script
runScript
() -> Free ScriptF (a, ())
HIDEWe use an inlined StateT () to separate evaluation ofsomething of type Script from execution and to ensureproper sequencing of evaluation. This is mainly so that
debug does somethingslightly more sensible.dummy
()
HIDEDummy field to make sure damlc does not consider this an old-styletypeclass.
- instance
ScriptSubmitScript - instance
FunctorScript - instance
CanAssertScript - instance
ActionCatchScript - instance
ActionThrowScript - instance
ActionFailWithStatusScript - instance
CanAbortScript - instance
HasTimeScript - instance
ActionScript - instance
ActionFailScript - instance
ApplicativeScript - instance
GetFielddummy(Scripta) () - instance
GetFieldrunScript(Scripta) (() ->FreeScriptF(a, ())) - instance
SetFielddummy(Scripta) () - instance
SetFieldrunScript(Scripta) (() ->FreeScriptF(a, ()))
Typeclasses
class IsSubmitOptions options
Defines a type that can be transformed into a SubmitOptions
Methods:
toSubmitOptions:options->SubmitOptions
- instance
IsSubmitOptionsSubmitOptions - instance
IsSubmitOptionsParty - instance
IsSubmitOptions(NonEmptyParty) - instance
IsSubmitOptions(SetParty) - instance
IsSubmitOptions[Party]
class Applicative script => ScriptSubmit script
Defines an applicative that can run transaction submissions. Usually this is simply Script.
Methods:
liftSubmission:HasCallStack=>ConcurrentSubmitsa->scripta
- instance
ScriptSubmitScript - instance
ScriptSubmitConcurrentSubmits
Functions
userIdToText
userIdToText : UserId -> Text
Extract the name-text from a user identitifer.
validateUserId
validateUserId : HasCallStack => Text -> Script UserId
Construct a user identifer from text. May throw InvalidUserId.
createUser
createUser : HasCallStack => User -> [UserRight] -> Script ()
Create a user with the given rights. May throw UserAlreadyExists.
createUserOn
createUserOn : HasCallStack => User -> [UserRight] -> ParticipantName -> Script ()
Create a user with the given rights on the given participant. May throw UserAlreadyExists.
getUser
getUser : HasCallStack => UserId -> Script User
Fetch a user record by user id. May throw UserNotFound.
getUserOn
getUserOn : HasCallStack => UserId -> ParticipantName -> Script User
Fetch a user record by user id from the given participant. May throw UserNotFound.
listAllUsers
listAllUsers : Script [User]
List all users. This function may make multiple calls to underlying paginated ledger API.
listAllUsersOn
listAllUsersOn : ParticipantName -> Script [User]
List all users on the given participant. This function may make multiple calls to underlying paginated ledger API.
grantUserRights
grantUserRights : HasCallStack => UserId -> [UserRight] -> Script [UserRight]
Grant rights to a user. Returns the rights that have been newly granted. May throw UserNotFound.
grantUserRightsOn
grantUserRightsOn : HasCallStack => UserId -> [UserRight] -> ParticipantName -> Script [UserRight]
Grant rights to a user on the given participant. Returns the rights that have been newly granted. May throw UserNotFound.
revokeUserRights
revokeUserRights : HasCallStack => UserId -> [UserRight] -> Script [UserRight]
Revoke rights for a user. Returns the revoked rights. May throw UserNotFound.
revokeUserRightsOn
revokeUserRightsOn : HasCallStack => UserId -> [UserRight] -> ParticipantName -> Script [UserRight]
Revoke rights for a user on the given participant. Returns the revoked rights. May throw UserNotFound.
deleteUser
deleteUser : HasCallStack => UserId -> Script ()
Delete a user. May throw UserNotFound.
deleteUserOn
deleteUserOn : HasCallStack => UserId -> ParticipantName -> Script ()
Delete a user on the given participant. May throw UserNotFound.
listUserRights
listUserRights : HasCallStack => UserId -> Script [UserRight]
List the rights of a user. May throw UserNotFound.
listUserRightsOn
listUserRightsOn : HasCallStack => UserId -> ParticipantName -> Script [UserRight]
List the rights of a user on the given participant. May throw UserNotFound.
submitUser
submitUser : HasCallStack => UserId -> Commands a -> Script a
Submit the commands with the actAs and readAs claims granted to a user. May throw UserNotFound.
submitUserOn
submitUserOn : HasCallStack => UserId -> ParticipantName -> Commands a -> Script a
Submit the commands with the actAs and readAs claims granted to the user on the given participant. May throw UserNotFound.
setTime
setTime : HasCallStack => Time -> Script ()
Set the time via the time service.
This is only supported in Daml Studio and dpm test as well as
when running over the gRPC API against a ledger in static time mode.
Note that the ledger time service does not support going backwards in time.
However, you can go back in time in Daml Studio.
sleep
sleep : HasCallStack => RelTime -> Script ()
Sleep for the given duration.
This is primarily useful in tests
where you repeatedly call query until a certain state is reached.
Note that this will sleep for the same duration in both wall clock and static time mode.
passTime
passTime : RelTime -> Script ()
Advance ledger time by the given interval.
This is only supported in Daml Studio and dpm test as well as
when running over the gRPC API against a ledger in static time mode.
Note that this is not an atomic operation over the
gRPC API so no other clients should try to change time while this is
running.
Note that the ledger time service does not support going backwards in time.
However, you can go back in time in Daml Studio.
actAs
actAs : IsParties parties => parties -> SubmitOptions
Builds a SubmitOptions with given actAs parties.
Any given submission must include at least one actAs party.
Note that the parties type is constrainted by IsParties, allowing for specifying parties as any of the following:
readAs
readAs : IsParties parties => parties -> SubmitOptions
Builds a SubmitOptions with given readAs parties.
A given submission may omit any readAs parties and still be valid.
Note that the parties type is constrainted by IsParties, allowing for specifying parties as any of the following:
discloseMany
discloseMany : [Disclosure] -> SubmitOptions
Provides many Explicit Disclosures to the transaction.
disclose
disclose : Disclosure -> SubmitOptions
Provides an Explicit Disclosure to the transaction.
packagePreference
packagePreference : [PackageId] -> SubmitOptions
Provide a package id selection preference for upgrades for a submission
prefetchKeys
prefetchKeys : [AnyContractKey] -> SubmitOptions
Provide a list of contract keys to prefetch for a submission
concurrently
concurrently : HasCallStack => ConcurrentSubmits a -> Script a
Allows for concurrent submission of transactions, using an applicative, similar to Commands.
Concurrently takes a computation in ConcurrentSubmits, which supports all the existing submit functions
that Script supports. It however does not implement Action, and thus does not support true binding and computation interdependence
NOTE: The submission order of transactions within concurrently is deterministic, this function is not intended to test contention.
It is only intended to allow faster submission of many unrelated transactions, by not waiting for completion for each transaction before
sending the next.
Example:
submitResultAndTree
submitResultAndTree : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script (a, TransactionTree)
Equivalent to submit but returns the result and the full transaction tree.
trySubmitResultAndTree
trySubmitResultAndTree : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script (Either SubmitError (a, TransactionTree))
Equivalent to trySubmit but returns the result and the full transaction tree.
submitWithError
submitWithError : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script SubmitError
Equivalent to submitMustFail but returns the error thrown.
submit
submit : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script a
submit p cmds submits the commands cmds as a single transaction
from party p and returns the value returned by cmds.
The options field can either be any “Parties” like type (See IsParties) or SubmitOptions
which allows for finer control over parameters of the submission.
If the transaction fails, submit also fails.
submitWithOptions
submitWithOptions : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script a
submitTree
submitTree : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script TransactionTree
Equivalent to submit but returns the full transaction tree.
trySubmit
trySubmit : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script (Either SubmitError a)
Submit a transaction and recieve back either the result, or a SubmitError.
In the majority of failures, this will not crash at runtime.
trySubmitTree
trySubmitTree : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script (Either SubmitError TransactionTree)
Equivalent to trySubmit but returns the full transaction tree.
submitMustFail
submitMustFail : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script ()
submitMustFail p cmds submits the commands cmds as a single transaction
from party p.
See submitWithOptions for details on the options field
It only succeeds if the submitting the transaction fails.
submitMustFailWithOptions
submitMustFailWithOptions : (HasCallStack, ScriptSubmit script, IsSubmitOptions options) => options -> Commands a -> script ()
submitMulti
submitMulti : (HasCallStack, ScriptSubmit script) => [Party] -> [Party] -> Commands a -> script a
submitMulti actAs readAs cmds submits cmds as a single transaction
authorized by actAs. Fetched contracts must be visible to at least
one party in the union of actAs and readAs.
Note: This behaviour can be achieved using submit (actAs actors <> readAs readers) cmds
and is only provided for backwards compatibility.
submitMultiMustFail
submitMultiMustFail : (HasCallStack, ScriptSubmit script) => [Party] -> [Party] -> Commands a -> script ()
submitMultiMustFail actAs readAs cmds behaves like submitMulti actAs readAs cmds
but fails when submitMulti succeeds and the other way around.
Note: This behaviour can be achieved using submitMustFail (actAs actors <> readAs readers) cmds
and is only provided for backwards compatibility.
submitTreeMulti
submitTreeMulti : (HasCallStack, ScriptSubmit script) => [Party] -> [Party] -> Commands a -> script TransactionTree
Equivalent to submitMulti but returns the full transaction tree.
Note: This behaviour can be achieved using submitTree (actAs actors <> readAs readers) cmds
and is only provided for backwards compatibility.
trySubmitMulti
trySubmitMulti : (HasCallStack, ScriptSubmit script) => [Party] -> [Party] -> Commands a -> script (Either SubmitError a)
Alternate version of trySubmit that allows specifying the actAs and readAs parties.
Note: This behaviour can be achieved using trySubmit (actAs actors <> readAs readers) cmds
and is only provided for backwards compatibility.
trySubmitConcurrently
trySubmitConcurrently : HasCallStack => Party -> [Commands a] -> Script [Either SubmitError a]
submitWithDisclosures
submitWithDisclosures : HasCallStack => Party -> [Disclosure] -> Commands a -> Script a
submitWithDisclosuresMustFail
submitWithDisclosuresMustFail : HasCallStack => Party -> [Disclosure] -> Commands a -> Script ()
fromTree
fromTree : Template t => TransactionTree -> TreeIndex t -> ContractId t
Finds the contract id of an event within a tree given a tree index
Tree indices are created using the created(N) and exercised(N) builders
which allow building “paths” within a transaction to a create node
For example, exercisedN @MyTemplate1 "MyChoice" 2 $ createdN @MyTemplate2 1
would find the ContractId MyTemplate2 of the second (0 index) create event under
the 3rd exercise event of MyChoice from MyTemplate1
created
created : HasTemplateTypeRep t => TreeIndex t
Index for the first create event of a given template
e.g. created @MyTemplate
createdN
createdN : HasTemplateTypeRep t => Int -> TreeIndex t
Index for the Nth create event of a given template
e.g. createdN 2 @MyTemplate
created = createdN 0
exercised
exercised : HasTemplateTypeRep t => Text -> TreeIndex t' -> TreeIndex t'
Index for the first exercise of a given choice on a given template
e.g. exercised @MyTemplate "MyChoice"
exercisedN
exercisedN : HasTemplateTypeRep t => Text -> Int -> TreeIndex t' -> TreeIndex t'
Index for the Nth exercise of a given choice on a given template
e.g. exercisedN @MyTemplate "MyChoice" 2
exercised c = exercisedN c 0
fromAnyContractId
fromAnyContractId : Template t => AnyContractId -> Optional (ContractId t)
query
query : (Template t, HasEnsure t, IsParties p) => p -> Script [(ContractId t, t)]
Query the set of active contracts of the template
that are visible to the given party.
queryFilter
queryFilter : (Template c, HasEnsure c, IsParties p) => p -> (c -> Bool) -> Script [(ContractId c, c)]
Query the set of active contracts of the template
that are visible to the given party and match the given predicate.
queryContractId
queryContractId : (Template t, HasEnsure t, IsParties p, HasCallStack) => p -> ContractId t -> Script (Optional t)
Query for the contract with the given contract id.
Returns None if there is no active contract the party is a stakeholder on.
WARNING: Over the gRPC backend this performs a linear search over all contracts of
the same type, so only use this if the number of active contracts is small.
This is semantically equivalent to calling query
and filtering on the client side.
queryDisclosure
queryDisclosure : (Template t, IsParties p, HasCallStack) => p -> ContractId t -> Script (Optional Disclosure)
Queries a Disclosure for a given ContractId. Same performance caveats apply as to queryContractId.
queryInterface
queryInterface : (Template i, HasInterfaceView i v, IsParties p) => p -> Script [(ContractId i, Optional v)]
Query the set of active contract views for an interface
that are visible to the given party.
If the view function fails for a given contract id, The Optional v will be None.
queryInterfaceContractId
queryInterfaceContractId : (Template i, HasInterfaceView i v, IsParties p, HasCallStack) => p -> ContractId i -> Script (Optional v)
Query for the contract view with the given contract id.
Returns None if there is no active contract the party is a stakeholder on.
Returns None if the view function fails for the given contract id.
WARNING: Over the gRPC backend this performs a linear search over all contracts of
the same type, so only use this if the number of active contracts is small.
This is semantically equivalent to calling queryInterface
and filtering on the client side.
queryByKey
queryByKey : (HasCallStack, TemplateKey t k, IsParties p) => p -> k -> Script (Optional (ContractId t, t))
Returns None if there is no active contract with the given key that
the party is a stakeholder on.
WARNING: Over the gRPC backend this performs a linear search over all contracts of
the same type, so only use this if the number of active contracts is small.
This is semantically equivalent to calling query
and filtering on the client side.
queryNByKey
queryNByKey : (HasCallStack, TemplateKey t k, IsParties p) => p -> Int -> k -> Script [(ContractId t, t)]
Returns N contracts matching a key, returns empty list if the key is inactive
Only available in LF 2.3+
WARNING: Over the gRPC backend this performs a linear search over all contracts of
the same type, so only use this if the number of active contracts is small.
This is semantically equivalent to calling query
and filtering on the client side.
queryAllByKey
queryAllByKey : (HasCallStack, TemplateKey t k, IsParties p) => p -> k -> Script [(ContractId t, t)]
Returns all contracts matching a key, returns empty list if the key is inactive
Only available in LF 2.3+
WARNING: Over the gRPC backend this performs a linear search over all contracts of
the same type, so only use this if the number of active contracts is small.
This is semantically equivalent to calling query
and filtering on the client side.
allocateParty
allocateParty : HasCallStack => Text -> Script Party
Allocate a party with the given display name
using the party management service.
allocatePartyWithHint
allocatePartyWithHint : HasCallStack => Text -> PartyIdHint -> Script Party
allocatePartyByHint
allocatePartyByHint : HasCallStack => PartyIdHint -> Script Party
Allocate a party with the given id hint
using the party management service.
allocatePartyOn
allocatePartyOn : Text -> ParticipantName -> Script Party
Allocate a party with the given display name
on the specified participant using the party management service.
allocatePartyWithHintOn
allocatePartyWithHintOn : Text -> PartyIdHint -> ParticipantName -> Script Party
allocatePartyByHintOn
allocatePartyByHintOn : PartyIdHint -> ParticipantName -> Script Party
Allocate a party with the given id hint
on the specified participant using the party management service.
listKnownParties
listKnownParties : HasCallStack => Script [PartyDetails]
List the parties known to the default participant.
listKnownPartiesOn
listKnownPartiesOn : HasCallStack => ParticipantName -> Script [PartyDetails]
List the parties known to the given participant.
tryToEither
tryToEither : (() -> Script t) -> Script (Either AnyException t)
Named version of the try catch behaviour of Daml-Script.
Note that this is no more powerful than try catch in daml-script, and will not catch exceptions in submissions.
(Use trySubmit for this)
Input computation is deferred to catch pure exceptions
tryFailureStatus
tryFailureStatus : Script a -> Script (Either FailureStatus a)
Runs a script for a result. If it fails either by Daml Exceptions or failWithStatus, returns the
FailureStatus that a Canton Ledger would return.
secp256k1signWithEcdsaOnly
secp256k1signWithEcdsaOnly : HasCallStack => PrivateKeyHex -> BytesHex -> Script BytesHex
Using a DER formatted private key (encoded as a hex string) use Secp256k1 to sign a hex encoded string message.
Note that this implementation uses a random source with a fixed PRNG and seed, ensuring it behaves deterministically during testing.
For example, CCTP attestation services may be mocked in daml-script code.
secp256k1sign
secp256k1sign : HasCallStack => PrivateKeyHex -> BytesHex -> Script BytesHex
Using a DER formatted private key (encoded as a hex string) use Secp256k1 to sign a SHA256 digest of a hex encoded string message.
Note that this implementation uses a random source with a fixed PRNG and seed, ensuring it behaves deterministically during testing.
For example, CCTP attestation services may be mocked in daml-script code.
secp256k1generatekeypair
secp256k1generatekeypair : HasCallStack => Script Secp256k1KeyPair
Generate DER formatted Secp256k1 public/private key pairs.
toAnyContractKey
toAnyContractKey : (HasTemplateTypeRep t, TemplateKey t k) => k -> AnyContractKey
Wrap a contract key in AnyContractKey.
You must pass the template type t using an explicit type application.
For example toAnyContractKey @Proposal k.
fromAnyContractKey
fromAnyContractKey : (HasTemplateTypeRep t, TemplateKey t k) => AnyContractKey -> Optional k
Extract the underlying key from AnyContractKey if the template and
choice types match, or return None.
You must pass the template type t using an explicit type application.
For example fromAnyContractKey @Proposal k.
createCmd
createCmd : (Template t, HasEnsure t) => t -> Commands (ContractId t)
Create a contract of the given template.
exerciseCmd
exerciseCmd : Choice t c r => ContractId t -> c -> Commands r
Exercise a choice on the given contract.
exerciseByKeyCmd
exerciseByKeyCmd : (TemplateKey t k, Choice t c r) => k -> c -> Commands r
Exercise a choice on the contract with the given key.
createAndExerciseWithCidCmd
createAndExerciseWithCidCmd : (Template t, Choice t c r, HasEnsure t) => t -> c -> Commands (ContractId t, r)
Create a contract and exercise a choice on it in the same transaction, returns the created ContractId, and the choice result.
createAndExerciseCmd
createAndExerciseCmd : (Template t, Choice t c r, HasEnsure t) => t -> c -> Commands r
Create a contract and exercise a choice on it in the same transaction, returns only the choice result.
createExactCmd
createExactCmd : (Template t, HasEnsure t) => t -> Commands (ContractId t)
Create a contract of the given template, using the exact package ID of the template given - upgrades are disabled.
exerciseExactCmd
exerciseExactCmd : Choice t c r => ContractId t -> c -> Commands r
Exercise a choice on the given contract, using the exact package ID of the template given - upgrades are disabled.
exerciseByKeyExactCmd
exerciseByKeyExactCmd : (TemplateKey t k, Choice t c r) => k -> c -> Commands r
Exercise a choice on the contract with the given key, using the exact package ID of the template given - upgrades are disabled.
createAndExerciseWithCidExactCmd
createAndExerciseWithCidExactCmd : (Template t, Choice t c r, HasEnsure t) => t -> c -> Commands (ContractId t, r)
Create a contract and exercise a choice on it in the same transaction, returns the created ContractId, and the choice result.
Uses the exact package ID of the template given - upgrades are disabled.
createAndExerciseExactCmd
createAndExerciseExactCmd : (Template t, Choice t c r, HasEnsure t) => t -> c -> Commands r
Create a contract and exercise a choice on it in the same transaction, returns only the choice result.
archiveCmd
archiveCmd : Choice t Archive () => ContractId t -> Commands ()
Archive the given contract.
archiveCmd cid is equivalent to exerciseCmd cid Archive.
script
script : Script a -> Script a
Convenience helper to declare you are writing a Script.
This is only useful for readability and to improve type inference.
Any expression of type Script a is a valid script regardless of whether
it is implemented using script or not.