Splice.AmuletConfig

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

Field

Type

Description

transferConfig

TransferConfig unit

Configuration determining the fees and limits for Amulet transfers

issuanceCurve

Schedule RelTime IssuanceConfig

Issuance curve to use.

decentralizedSynchronizer

AmuletDecentralizedSynchronizerConfig

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

RelTime

Duration of a tick, which is the duration of half a round.

packageConfig

PackageConfig

Configuration determining the version of each package that should be used for command submissions.

transferPreapprovalFee

Optional Decimal

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.

PackageConfig

Field

Type

Description

amulet

Text

amuletNameService

Text

dsoGovernance

Text

validatorLifecycle

Text

wallet

Text

walletPayments

Text

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.

TransferConfig

Field

Type

Description

createFee

FixedFee

Fee to create a new amulet.

holdingFee

RatePerRound

Fee for keeping an amulet around.

transferFee

SteppedRate

Fee for transferring some amount of amulet to a new owner.

lockHolderFee

FixedFee

Fee per lock holder of a locked amulet.

extraFeaturedAppRewardAmount

Decimal

Extra $-amount of reward for featured apps.

maxNumInputs

Int

Maximum number of batch inputs for a transfer.

maxNumOutputs

Int

Maximum number of batch outputs for a transfer.

maxNumLockHolders

Int

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

Functions

defaultTransferPreapprovalFee

: Decimal

validAmuletConfig

: AmuletConfig unit -> Bool