Splice.AmuletConfig
Data Types
data Amulet
data AmuletConfig unit
Configuration includes TransferConfig, issuance curve and tickDuration
See Splice.Scripts.Parameters for concrete values.
Field
Type
Description
transferConfig
TransferConfig unit
Configuration determining the fees and limits for Amulet transfers
issuanceCurve
Issuance curve to use.
decentralizedSynchronizer
Configuration 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.
tickDuration
Duration of a tick, which is the duration of half a round.
packageConfig
Configuration determining the version of each package that should be used for command submissions.
transferPreapprovalFee
Fee for keeping a transfer pre-approval around.
instance Eq (AmuletConfig unit)
instance Show (AmuletConfig unit)
instance GetField "configSchedule" AmuletRules (Schedule Time (AmuletConfig USD))
instance GetField "decentralizedSynchronizer" (AmuletConfig unit) AmuletDecentralizedSynchronizerConfig
instance GetField "issuanceCurve" (AmuletConfig unit) (Schedule RelTime IssuanceConfig)
instance GetField "newScheduleItem" AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD)
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 "configSchedule" AmuletRules (Schedule Time (AmuletConfig USD))
instance SetField "decentralizedSynchronizer" (AmuletConfig unit) AmuletDecentralizedSynchronizerConfig
instance SetField "issuanceCurve" (AmuletConfig unit) (Schedule RelTime IssuanceConfig)
instance SetField "newScheduleItem" AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD)
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)
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.
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
data TransferConfig unit
Configuration determining the fees and limits for Amulet transfers granted by the AmuletRules.
See Splice.Scripts.Parameters for concrete values.
Field
Type
Description
createFee
Fee to create a new amulet.
holdingFee
Fee for keeping an amulet around.
transferFee
Fee for transferring some amount of amulet to a new owner.
lockHolderFee
Fee per lock holder of a locked amulet.
extraFeaturedAppRewardAmount
Extra $-amount of reward for featured apps.
maxNumInputs
Maximum number of batch inputs for a transfer.
maxNumOutputs
Maximum number of batch outputs for a transfer.
maxNumLockHolders
Maximum 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
data USD
instance GetField "configSchedule" AmuletRules (Schedule Time (AmuletConfig USD))
instance GetField "newScheduleItem" AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD)
instance GetField "scheduleItem" AmuletRules_UpdateFutureAmuletConfigSchedule (Time, AmuletConfig USD)
instance GetField "transferConfigUsd" OpenMiningRound (TransferConfig USD)
instance SetField "configSchedule" AmuletRules (Schedule Time (AmuletConfig USD))
instance SetField "newScheduleItem" AmuletRules_AddFutureAmuletConfigSchedule (Time, AmuletConfig USD)
instance SetField "scheduleItem" AmuletRules_UpdateFutureAmuletConfigSchedule (Time, AmuletConfig USD)
instance SetField "transferConfigUsd" OpenMiningRound (TransferConfig USD)
Functions
- validAmuletConfig
: AmuletConfig unit -> Bool