- keeping the number of holdings low to reduce storage and compute cost on the validator node hosting them
- batching operations to execute them more efficiently both in terms of traffic spend and throughput
Templates
template BatchMergeUtility
Utility contract for a operator to execute a batch of merge calls with proper threading of the operator’s change holdings between the calls that involve extra transfers. Signatory: operator
- Choice Archive Controller: operator Returns: () (no fields)
Choice BatchMergeUtility_BatchMergeController: operator Returns: BatchMergeUtility_BatchMergeResult
template MergeDelegation
The right for a operator like the wallet app operator to merge token standard holdings on behalf of a token owner. Signatory: owner, operator
- Choice Archive Controller: owner, operator Returns: () (no fields)
Choice MergeDelegation_MergeController: operator Returns: MergeDelegation_MergeResult Choice MergeDelegation_RejectController: operator Returns: MergeDelegation_RejectResult (no fields) Choice MergeDelegation_WithdrawController: owner Returns: MergeDelegation_WithdrawResult (no fields)
template MergeDelegationProposal
Proposal by the user to setup a merge delegation. Signatory: (DA.Internal.Record.getField @“owner” delegation)
- Choice Archive Controller: (DA.Internal.Record.getField @“owner” delegation) Returns: () (no fields)
Choice MergeDelegationProposal_AcceptController: (DA.Internal.Record.getField @“operator” delegation) Returns: MergeDelegationProposal_AcceptResult (no fields) Choice MergeDelegationProposal_RejectController: (DA.Internal.Record.getField @“operator” delegation) Returns: MergeDelegationProposal_RejectResult (no fields) Choice MergeDelegationProposal_WithdrawController: (DA.Internal.Record.getField @“owner” delegation) Returns: MergeDelegationProposal_WithdrawResult (no fields)
Data Types
data BatchMergeUtility_BatchMergeResult
BatchMergeUtility_BatchMergeResultinstance Eq BatchMergeUtility_BatchMergeResult instance Show BatchMergeUtility_BatchMergeResult instance GetField “operatorChangeMap” BatchMergeUtility_BatchMergeResult InstrumentHoldingMap instance GetField “results” BatchMergeUtility_BatchMergeResult [MergeDelegation_MergeResult] instance SetField “operatorChangeMap” BatchMergeUtility_BatchMergeResult InstrumentHoldingMap instance SetField “results” BatchMergeUtility_BatchMergeResult [MergeDelegation_MergeResult] instance HasExercise BatchMergeUtility BatchMergeUtility_BatchMerge BatchMergeUtility_BatchMergeResult instance HasFromAnyChoice BatchMergeUtility BatchMergeUtility_BatchMerge BatchMergeUtility_BatchMergeResult instance HasToAnyChoice BatchMergeUtility BatchMergeUtility_BatchMerge BatchMergeUtility_BatchMergeResult
data FeaturedAppRightCall
A call to create featured app markers using a featured app right.FeaturedAppRightCallinstance Eq FeaturedAppRightCall instance Show FeaturedAppRightCall instance GetField “appRightCid” FeaturedAppRightCall (ContractId FeaturedAppRight) instance GetField “beneficiaries” FeaturedAppRightCall [AppRewardBeneficiary] instance GetField “optFeaturedAppRight” MergeDelegation_Merge (Optional FeaturedAppRightCall) instance SetField “appRightCid” FeaturedAppRightCall (ContractId FeaturedAppRight) instance SetField “beneficiaries” FeaturedAppRightCall [AppRewardBeneficiary] instance SetField “optFeaturedAppRight” MergeDelegation_Merge (Optional FeaturedAppRightCall)
type InstrumentHoldingMap
= Map InstrumentId [ContractId Holding]instance GetField “operatorChangeMap” BatchMergeUtility_BatchMergeResult InstrumentHoldingMapinstance SetField “operatorChangeMap” BatchMergeUtility_BatchMergeResult InstrumentHoldingMap
data MergeDelegationCall
MergeDelegationCallinstance Eq MergeDelegationCall instance Show MergeDelegationCall instance GetField “choiceArg” MergeDelegationCall MergeDelegation_Merge instance GetField “delegationCid” MergeDelegationCall (ContractId MergeDelegation) instance GetField “mergeCalls” BatchMergeUtility_BatchMerge [MergeDelegationCall] instance SetField “choiceArg” MergeDelegationCall MergeDelegation_Merge instance SetField “delegationCid” MergeDelegationCall (ContractId MergeDelegation) instance SetField “mergeCalls” BatchMergeUtility_BatchMerge [MergeDelegationCall]
data MergeDelegationProposal_AcceptResult
MergeDelegationProposal_AcceptResultinstance Eq MergeDelegationProposal_AcceptResult instance Show MergeDelegationProposal_AcceptResult instance GetField “mergeDelegationCid” MergeDelegationProposal_AcceptResult (ContractId MergeDelegation) instance SetField “mergeDelegationCid” MergeDelegationProposal_AcceptResult (ContractId MergeDelegation) instance HasExercise MergeDelegationProposal MergeDelegationProposal_Accept MergeDelegationProposal_AcceptResult instance HasFromAnyChoice MergeDelegationProposal MergeDelegationProposal_Accept MergeDelegationProposal_AcceptResult instance HasToAnyChoice MergeDelegationProposal MergeDelegationProposal_Accept MergeDelegationProposal_AcceptResult
data MergeDelegationProposal_RejectResult
Dedicated record type to simplify upgradingMergeDelegationProposal_RejectResultinstance Eq MergeDelegationProposal_RejectResult instance Show MergeDelegationProposal_RejectResult instance GetField “result” MergeDelegationProposal_RejectResult () instance SetField “result” MergeDelegationProposal_RejectResult () instance HasExercise MergeDelegationProposal MergeDelegationProposal_Reject MergeDelegationProposal_RejectResult instance HasFromAnyChoice MergeDelegationProposal MergeDelegationProposal_Reject MergeDelegationProposal_RejectResult instance HasToAnyChoice MergeDelegationProposal MergeDelegationProposal_Reject MergeDelegationProposal_RejectResult
data MergeDelegationProposal_WithdrawResult
Dedicated record type to simplify upgradingMergeDelegationProposal_WithdrawResultinstance Eq MergeDelegationProposal_WithdrawResult instance Show MergeDelegationProposal_WithdrawResult instance GetField “result” MergeDelegationProposal_WithdrawResult () instance SetField “result” MergeDelegationProposal_WithdrawResult () instance HasExercise MergeDelegationProposal MergeDelegationProposal_Withdraw MergeDelegationProposal_WithdrawResult instance HasFromAnyChoice MergeDelegationProposal MergeDelegationProposal_Withdraw MergeDelegationProposal_WithdrawResult instance HasToAnyChoice MergeDelegationProposal MergeDelegationProposal_Withdraw MergeDelegationProposal_WithdrawResult
data MergeDelegation_MergeResult
MergeDelegation_MergeResultinstance Eq MergeDelegation_MergeResult instance Show MergeDelegation_MergeResult instance GetField “optExtraTransferResult” MergeDelegation_MergeResult (Optional TransferInstructionResult) instance GetField “optMergeTransferResult” MergeDelegation_MergeResult (Optional TransferInstructionResult) instance GetField “results” BatchMergeUtility_BatchMergeResult [MergeDelegation_MergeResult] instance SetField “optExtraTransferResult” MergeDelegation_MergeResult (Optional TransferInstructionResult) instance SetField “optMergeTransferResult” MergeDelegation_MergeResult (Optional TransferInstructionResult) instance SetField “results” BatchMergeUtility_BatchMergeResult [MergeDelegation_MergeResult] instance HasExercise MergeDelegation MergeDelegation_Merge MergeDelegation_MergeResult instance HasFromAnyChoice MergeDelegation MergeDelegation_Merge MergeDelegation_MergeResult instance HasToAnyChoice MergeDelegation MergeDelegation_Merge MergeDelegation_MergeResult
data MergeDelegation_RejectResult
Dedicated record type to simplify upgradingMergeDelegation_RejectResultinstance Eq MergeDelegation_RejectResult instance Show MergeDelegation_RejectResult instance GetField “result” MergeDelegation_RejectResult () instance SetField “result” MergeDelegation_RejectResult () instance HasExercise MergeDelegation MergeDelegation_Reject MergeDelegation_RejectResult instance HasFromAnyChoice MergeDelegation MergeDelegation_Reject MergeDelegation_RejectResult instance HasToAnyChoice MergeDelegation MergeDelegation_Reject MergeDelegation_RejectResult
data MergeDelegation_WithdrawResult
Dedicated record type to simplify upgradingMergeDelegation_WithdrawResultinstance Eq MergeDelegation_WithdrawResult instance Show MergeDelegation_WithdrawResult instance GetField “result” MergeDelegation_WithdrawResult () instance SetField “result” MergeDelegation_WithdrawResult () instance HasExercise MergeDelegation MergeDelegation_Withdraw MergeDelegation_WithdrawResult instance HasFromAnyChoice MergeDelegation MergeDelegation_Withdraw MergeDelegation_WithdrawResult instance HasToAnyChoice MergeDelegation MergeDelegation_Withdraw MergeDelegation_WithdrawResult
data TransferCall
A call to perform a transfer using a transfer factory.TransferCallinstance Eq TransferCall instance Show TransferCall instance GetField “choiceArg” TransferCall TransferFactory_Transfer instance GetField “factoryCid” TransferCall (ContractId TransferFactory) instance GetField “optExtraTransfer” MergeDelegation_Merge (Optional TransferCall) instance GetField “optMergeTransfer” MergeDelegation_Merge (Optional TransferCall) instance SetField “choiceArg” TransferCall TransferFactory_Transfer instance SetField “factoryCid” TransferCall (ContractId TransferFactory) instance SetField “optExtraTransfer” MergeDelegation_Merge (Optional TransferCall) instance SetField “optMergeTransfer” MergeDelegation_Merge (Optional TransferCall)