- Overview
- Setup
- Tutorials
- How Tos
- Reference
- DAR Versions
- API Reference
- Commercials API
- Credential API
- Registry API
- Utility.Registry
- Utility.Registry.V0.Configuration.AppReward
- Utility.Registry.V0.Configuration.Instrument
- Utility.Registry.V0.Holding.Allocation
- Utility.Registry.V0.Holding.Burn
- Utility.Registry.V0.Holding.Lock
- Utility.Registry.V0.Holding.Mint
- Utility.Registry.V0.Holding.Transfer
- Utility.Registry.V0.Holding.Unlock
- Utility.Registry.V0.Rule.Transfer
- Utility.Registry.V0.Types
- Utility.Registry.V0.Util
- Utility.Registry.App
- Utility.Holding
- Utility.Registry
- Settlement Utility API
- Collateral Utility API
- Operator Backend API
Utility.Collateral.App.Model.Collateral¶
A collateral agreement between two counterparties and corresponding workflows.
Templates¶
template CollateralAgreement
Collateral agreement on-ledger which reflects an existing CSA.
Signatory: partyA, partyB, operator
Field
Type
Description
partyA
The party for Party A in the CSA.
partyB
The party for Party B in the CSA.
operator
The Collateral App operator party.
id
Agreement id.
terms
Collateral agreement terms.
Choice Archive
Controller: partyA, partyB, operator
Returns: ()
(no fields)
Choice CollateralAgreement_ProposeChange
Request a modification to the collateral agreement.
Controller: actor, operator
Returns: CollateralAgreement_ProposeChange_Result
Field
Type
Description
actor
The party exercising the choice.
updatedTerms
Updated collateral agreement terms.
Choice CollateralAgreement_Terminate
Terminate the collateral agreement.
Controller: actor, operator
Returns: CollateralAgreement_Terminate_Result
Field
Type
Description
actor
The actor to terminate the contract.
collateralStateCid
Collateral State.
Choice CollateralAgreement_TransferCollateral
Initiate process to transfer collateral to the counterparty.
Controller: actor, operator
Returns: CollateralAgreement_TransferCollateral_Result
Field
Type
Description
actor
The party calling the choice. Will be the pledgor to the positions being transferred.
positions
The positions that will be transferred.
reference
Textual reference, used for deduplication. Please, ensure this is unique.
createdAt
Time at which the request to Transfer Collateral is created.
allocateBefore
Until when (exclusive) the senders are given time to allocate their assets.
settleBefore
Until when (exclusive) the executor is given time to execute the settlement.
template CollateralAgreementChangeRequest
A request to change the terms of an existing collateral agreement.
Signatory: requestor, operator
Field
Type
Description
operator
The Collateral App operator party.
requestor
The requesting party.
counterparty
The counterparty to the request.
id
Id of the collateral agreement.
terms
Updated collateral agreement terms.
collateralAgreementCid
The collateral agreement to modify.
Choice Archive
Controller: requestor, operator
Returns: ()
(no fields)
Choice CollateralAgreementChangeRequest_Accept
Counterparty accepts the request.
Controller: counterparty, operator
Returns: CollateralAgreementChangeRequest_Accept_Result
(no fields)
Choice CollateralAgreementChangeRequest_Cancel
Requestor cancels the request.
Controller: requestor
Returns: CollateralAgreementChangeRequest_Cancel_Result
(no fields)
Choice CollateralAgreementChangeRequest_Reject
Receiver rejects the request.
Controller: counterparty
Returns: CollateralAgreementChangeRequest_Reject_Result
Field
Type
Description
reason
Rejection reason. The rejection reason is not recorded on-ledger but should be available in the requestor’s and the operator’s transaction tree stream.
template CollateralAgreementRequest
A request to enter into a collateral agreement with a counterparty.
Signatory: requestor, operator
Field
Type
Description
operator
The Collateral App operator party..
requestor
The requesting party.
counterparty
The counterparty to the request.
id
Agreement id.
requestorIsPartyA
Whether the requestor is
PartyA
in the CSA.terms
Terms of the collateral agreement.
Choice Archive
Controller: requestor, operator
Returns: ()
(no fields)
Choice CollateralAgreementRequest_Accept
Receiver accepts the request.
Controller: counterparty, operator
Returns: CollateralAgreementRequest_Accept_Result
(no fields)
Choice CollateralAgreementRequest_Cancel
Requestor cancels the request.
Controller: requestor
Returns: CollateralAgreementRequest_Cancel_Result
(no fields)
Choice CollateralAgreementRequest_Reject
Receiver rejects the request.
Controller: counterparty
Returns: CollateralAgreementRequest_Reject_Result
Field
Type
Description
reason
Rejection reason. The rejection reason is not recorded on-ledger but should be available in the requestor’s and the operator’s transaction tree stream.
template ExecutedCollateralTransfer
Settled collateral transfer.
Signatory: operator
Field
Type
Description
partyA
The party for Party A in the CSA.
partyB
The party for Party B in the CSA.
operator
The Collateral App operator party.
agreementId
Agreement id.
id
Identifier of the collateral movement.
settledPositions
Executed collateral movements.
Choice Archive
Controller: operator
Returns: ()
(no fields)
template FailedCollateralTransfer
Failed collateral transfer.
Signatory: operator
Field
Type
Description
partyA
The party for Party A in the CSA.
partyB
The party for Party B in the CSA.
operator
The Collateral App operator party.
agreementId
Agreement id.
id
Proposal id.
failedPledges
Proposed collateral pledges. A positive amount is used to post collateral from PartyA to PartyB. A negative amount is used to reduce posted collateral from PartyA to PartyB.
Choice Archive
Controller: operator
Returns: ()
(no fields)
template InstructedCollateral
Instructed collateral transfer.
Signatory: partyA, partyB, operator
Field
Type
Description
partyA
The party for Party A in the CSA.
partyB
The party for Party B in the CSA.
operator
The Collateral App operator party.
agreementId
Collateral Agreement id.
id
Identifier of the collateral movement.
instructedPositions
Proposed collateral movements.
createdAt
The creation time.
allocateBefore
The time until which all allocations should be created.
settleBefore
The time before which the trade should be settled.
Choice Archive
Controller: partyA, partyB, operator
Returns: ()
(no fields)
Choice InstructedCollateral_Cancel
Cancel the instructed collateral. This does not unlock allocated instruments yet.
Controller: actor
Returns: InstructedCollateral_Cancel_Result
Field
Type
Description
actor
The party invoking this choice.
allocations
The allocations to settle.
extraArgs
For each allocation, the arguments to the
Allocation_Cancel
choice.Choice InstructedCollateral_ExecuteTransfer
Execute the collateral transfer. This choice is compatible with external signing as long as
collateralStateCid
is stable (i.e. no other transfer for the same collateral agreement gets settled during the signing window for this choice).Controller: actor
Returns: InstructedCollateral_ExecuteTransfer_Result
Field
Type
Description
actor
The party invoking this choice.
allocations
The allocations to settle.
executeTransferArgs
For each allocation, the arguments to the
Allocation_ExecuteTransfer
choice.collateralStateCid
Collateral State contract to update.
interface instance AllocationRequest for InstructedCollateral
Data Types¶
data CollateralAgreementChangeRequest_Accept_Result
Return record type for
CollateralAgreementChangeRequest_Accept
.CollateralAgreementChangeRequest_Accept_Result
Field
Type
Description
collateralAgreementCid
The modified collateral agreement.
data CollateralAgreementChangeRequest_Cancel_Result
Return record type for
CollateralAgreementChangeRequest_Cancel
.CollateralAgreementChangeRequest_Cancel_Result
(no fields)
data CollateralAgreementChangeRequest_Reject_Result
Return record type for
CollateralAgreementChangeRequest_Reject
.CollateralAgreementChangeRequest_Reject_Result
Field
Type
Description
reason
Rejection reason.
data CollateralAgreementRequest_Accept_Result
Return record type for
CollateralAgreementRequest_Accept
.CollateralAgreementRequest_Accept_Result
Field
Type
Description
collateralAgreementCid
The created collateral agreement.
collateralStateCid
The companion contract tracking collateral state.
data CollateralAgreementRequest_Cancel_Result
Return record type for
CollateralAgreementRequest_Cancel
.CollateralAgreementRequest_Cancel_Result
(no fields)
data CollateralAgreementRequest_Reject_Result
Return record type for
CollateralAgreementRequest_Reject
.CollateralAgreementRequest_Reject_Result
Field
Type
Description
reason
Rejection reason.
data CollateralAgreement_ProposeChange_Result
Return record type for
CollateralAgreement_ProposeChange
.CollateralAgreement_ProposeChange_Result
Field
Type
Description
collateralAgreementChangeRequestCid
The requested change to the collateral agreement.
data CollateralAgreement_Terminate_Result
Return record type for
CollateralAgreement_Terminate
.CollateralAgreement_Terminate_Result
(no fields)
data CollateralAgreement_TransferCollateral_Result
Return record type for
CollateralAgreement_TransferCollateral
.CollateralAgreement_TransferCollateral_Result
Field
Type
Description
instructedCollateralCid
The instructed collateral movement.
data InstructedCollateral_Cancel_Result
InstructedCollateral_Cancel_Result
(no fields)
data InstructedCollateral_ExecuteTransfer_Result
Result of
InstructedCollateral_ExecuteTransfer
.InstructedCollateral_ExecuteTransfer_Result
Field
Type
Description
collateralStateCid
The updated collateral state contract.