Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt

Use this file to discover all available pages before exploring further.

Data Types

data Amulet
Deprecated type for specifying amounts and fees in units of Amulet. Use Splice.Amulet.Amulet directly instead.
Amulet
instance Eq Amulet instance Show Amulet
data AmuletConfig unit
Configuration includes TransferConfig, issuance curve and tickDuration See Splice.Scripts.Parameters for concrete values.
AmuletConfig
FieldTypeDescription
transferConfigTransferConfig unitConfiguration determining the fees and limits for Amulet transfers
issuanceCurveSchedule RelTime IssuanceConfigIssuance curve to use.
decentralizedSynchronizerAmuletDecentralizedSynchronizerConfigConfiguration for the decentralized synchronizer and its fees. TODO(M4-85): the values in here are likely quite large (several URls and long synchronizerIds) and not required for executing transfers. Split this part of the config out into a separate contract as a performance optimization.
tickDurationRelTimeDuration of a tick, which is the duration of half a round.
packageConfigPackageConfigConfiguration determining the version of each package that should be used for command submissions.
transferPreapprovalFeeOptional DecimalFee for keeping a transfer pre-approval around.
featuredAppActivityMarkerAmountOptional Decimal$-amount used for the conversion from FeaturedAppActivityMarker -> AppRewardCoupon
optDevelopmentFundManagerOptional PartyParty authorized to manage and allocate minting rights from the Development Fund.
externalPartyConfigStateTickDurationOptional RelTimeHalf the lifetime of an ExternalPartyConfigState contract and the overlap between two successive contracts. Default: 24h.
instance Eq (AmuletConfig unit) instance Show (AmuletConfig unit) instance GetField “baseConfig” AmuletRules_SetConfig (AmuletConfig USD) instance GetField “configSchedule” AmuletRules (Schedule Time (AmuletConfig USD)) instance GetField “decentralizedSynchronizer” (AmuletConfig unit) AmuletDecentralizedSynchronizerConfig instance GetField “externalPartyConfigStateTickDuration” (AmuletConfig unit) (Optional RelTime) instance GetField “featuredAppActivityMarkerAmount” (AmuletConfig unit) (Optional Decimal) instance GetField “issuanceCurve” (AmuletConfig unit) (Schedule RelTime IssuanceConfig) instance GetField “newConfig” AmuletRules_SetConfig (AmuletConfig USD) instance GetField “newScheduleItem” AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance GetField “optDevelopmentFundManager” (AmuletConfig unit) (Optional Party) instance GetField “packageConfig” (AmuletConfig unit) PackageConfig instance GetField “scheduleItem” AmuletRules_UpdateFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance GetField “tickDuration” (AmuletConfig unit) RelTime instance GetField “transferConfig” (AmuletConfig unit) (TransferConfig unit) instance GetField “transferPreapprovalFee” (AmuletConfig unit) (Optional Decimal) instance SetField “baseConfig” AmuletRules_SetConfig (AmuletConfig USD) instance SetField “configSchedule” AmuletRules (Schedule Time (AmuletConfig USD)) instance SetField “decentralizedSynchronizer” (AmuletConfig unit) AmuletDecentralizedSynchronizerConfig instance SetField “externalPartyConfigStateTickDuration” (AmuletConfig unit) (Optional RelTime) instance SetField “featuredAppActivityMarkerAmount” (AmuletConfig unit) (Optional Decimal) instance SetField “issuanceCurve” (AmuletConfig unit) (Schedule RelTime IssuanceConfig) instance SetField “newConfig” AmuletRules_SetConfig (AmuletConfig USD) instance SetField “newScheduleItem” AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance SetField “optDevelopmentFundManager” (AmuletConfig unit) (Optional Party) instance SetField “packageConfig” (AmuletConfig unit) PackageConfig instance SetField “scheduleItem” AmuletRules_UpdateFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance SetField “tickDuration” (AmuletConfig unit) RelTime instance SetField “transferConfig” (AmuletConfig unit) (TransferConfig unit) instance SetField “transferPreapprovalFee” (AmuletConfig unit) (Optional Decimal) instance Patchable (AmuletConfig USD)
data PackageConfig
The package config defines for each daml package (identified by name) the package version that should be used for command submissions at that point.
PackageConfig
FieldTypeDescription
amuletText
amuletNameServiceText
dsoGovernanceText
validatorLifecycleText
walletText
walletPaymentsText
instance Eq PackageConfig instance Show PackageConfig instance GetField “amulet” PackageConfig Text instance GetField “amuletNameService” PackageConfig Text instance GetField “dsoGovernance” PackageConfig Text instance GetField “packageConfig” (AmuletConfig unit) PackageConfig instance GetField “validatorLifecycle” PackageConfig Text instance GetField “wallet” PackageConfig Text instance GetField “walletPayments” PackageConfig Text instance SetField “amulet” PackageConfig Text instance SetField “amuletNameService” PackageConfig Text instance SetField “dsoGovernance” PackageConfig Text instance SetField “packageConfig” (AmuletConfig unit) PackageConfig instance SetField “validatorLifecycle” PackageConfig Text instance SetField “wallet” PackageConfig Text instance SetField “walletPayments” PackageConfig Text instance Patchable PackageConfig
data TransferConfig unit
Configuration determining the fees and limits for Amulet transfers granted by the AmuletRules. See Splice.Scripts.Parameters for concrete values.
TransferConfig
FieldTypeDescription
createFeeFixedFeeFee to create a new amulet.
holdingFeeRatePerRoundFee for keeping an amulet around.
transferFeeSteppedRateFee for transferring some amount of amulet to a new owner.
lockHolderFeeFixedFeeFee per lock holder of a locked amulet.
extraFeaturedAppRewardAmountDecimalExtra $-amount of reward for featured apps.
maxNumInputsIntMaximum number of batch inputs for a transfer.
maxNumOutputsIntMaximum number of batch outputs for a transfer.
maxNumLockHoldersIntMaximum number of lock holders allowed for a locked amulet.
instance Eq (TransferConfig unit) instance Show (TransferConfig unit) instance GetField “config” TransferContextSummary (TransferConfig Amulet) instance GetField “createFee” (TransferConfig unit) FixedFee instance GetField “extraFeaturedAppRewardAmount” (TransferConfig unit) Decimal instance GetField “holdingFee” (TransferConfig unit) RatePerRound instance GetField “lockHolderFee” (TransferConfig unit) FixedFee instance GetField “maxNumInputs” (TransferConfig unit) Int instance GetField “maxNumLockHolders” (TransferConfig unit) Int instance GetField “maxNumOutputs” (TransferConfig unit) Int instance GetField “transferConfig” (AmuletConfig unit) (TransferConfig unit) instance GetField “transferConfigUsd” OpenMiningRound (TransferConfig USD) instance GetField “transferFee” (TransferConfig unit) SteppedRate instance SetField “config” TransferContextSummary (TransferConfig Amulet) instance SetField “createFee” (TransferConfig unit) FixedFee instance SetField “extraFeaturedAppRewardAmount” (TransferConfig unit) Decimal instance SetField “holdingFee” (TransferConfig unit) RatePerRound instance SetField “lockHolderFee” (TransferConfig unit) FixedFee instance SetField “maxNumInputs” (TransferConfig unit) Int instance SetField “maxNumLockHolders” (TransferConfig unit) Int instance SetField “maxNumOutputs” (TransferConfig unit) Int instance SetField “transferConfig” (AmuletConfig unit) (TransferConfig unit) instance SetField “transferConfigUsd” OpenMiningRound (TransferConfig USD) instance SetField “transferFee” (TransferConfig unit) SteppedRate instance Patchable (TransferConfig USD)
data TransferConfigV2 unit
Stripped down TransferConfig after CIP 78 removed fees.
TransferConfigV2
FieldTypeDescription
holdingFeeRatePerRound
maxNumInputsInt
maxNumOutputsInt
maxNumLockHoldersInt
instance Eq (TransferConfigV2 unit) instance Show (TransferConfigV2 unit) instance GetField “config” TransferContextSummaryV2 (TransferConfigV2 Amulet) instance GetField “holdingFee” (TransferConfigV2 unit) RatePerRound instance GetField “maxNumInputs” (TransferConfigV2 unit) Int instance GetField “maxNumLockHolders” (TransferConfigV2 unit) Int instance GetField “maxNumOutputs” (TransferConfigV2 unit) Int instance GetField “transferConfig” ExternalPartyConfigState (TransferConfigV2 USD) instance SetField “config” TransferContextSummaryV2 (TransferConfigV2 Amulet) instance SetField “holdingFee” (TransferConfigV2 unit) RatePerRound instance SetField “maxNumInputs” (TransferConfigV2 unit) Int instance SetField “maxNumLockHolders” (TransferConfigV2 unit) Int instance SetField “maxNumOutputs” (TransferConfigV2 unit) Int instance SetField “transferConfig” ExternalPartyConfigState (TransferConfigV2 USD)
data USD
USD
instance Eq USD instance Show USD instance GetField “baseConfig” AmuletRules_SetConfig (AmuletConfig USD) instance GetField “configSchedule” AmuletRules (Schedule Time (AmuletConfig USD)) instance GetField “newConfig” AmuletRules_SetConfig (AmuletConfig USD) instance GetField “newScheduleItem” AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance GetField “scheduleItem” AmuletRules_UpdateFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance GetField “transferConfig” ExternalPartyConfigState (TransferConfigV2 USD) instance GetField “transferConfigUsd” OpenMiningRound (TransferConfig USD) instance SetField “baseConfig” AmuletRules_SetConfig (AmuletConfig USD) instance SetField “configSchedule” AmuletRules (Schedule Time (AmuletConfig USD)) instance SetField “newConfig” AmuletRules_SetConfig (AmuletConfig USD) instance SetField “newScheduleItem” AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance SetField “scheduleItem” AmuletRules_UpdateFutureAmuletConfigSchedule (Time, AmuletConfig USD) instance SetField “transferConfig” ExternalPartyConfigState (TransferConfigV2 USD) instance SetField “transferConfigUsd” OpenMiningRound (TransferConfig USD) instance Patchable (AmuletConfig USD) instance Patchable (TransferConfig USD)

Functions

transferConfigToTransferConfigV2 : TransferConfig unit -> TransferConfigV2 unit
getExternalPartyConfigStateTickDuration : AmuletConfig a -> RelTime
defaultTransferPreapprovalFee : Decimal
validAmuletConfig : AmuletConfig unit -> Bool
validTransferConfig : TransferConfig unit -> Bool
validPackageConfig : PackageConfig -> BoolPackage configs are not constrained at the Daml level to maximize flexibility. In particular, empty packages versions might be used in the future to indicate that no version of that package should be vetted.