Skip to content
Documentation/splice-mainnet/Splice Daml Models splice-test-trading-app docs Splice.Testing.Apps.TradingAppView on splice-mainnet
splice-mainnet/Splice Daml Models splice-test-trading-app docs Splice.Testing.Apps.TradingApp

Splice.Testing.Apps.TradingApp

Deprecated

This Splice documentation site is deprecated. Use the current Canton Network docs.

Open current docs

Splice.Testing.Apps.TradingApp

An example of how to build an OTC trading app for multi-leg standard token trades.

Used as part of the testing infrastructure to test the DvP workflows based on the token standard.

Templates

template OTCTrade

Signatory: venue, tradingParties transferLegs

Field

Type

Description

venue

Party

transferLegs

TextMap TransferLeg

tradeCid

ContractId OTCTradeProposal

createdAt

Time

prepareUntil

Time

settleBefore

Time

  • Choice Archive

    Controller: venue, tradingParties transferLegs

    Returns: ()

    (no fields)

  • Choice OTCTrade_Cancel

    Controller: venue

    Returns: TextMap (Optional Allocation_CancelResult)

    Field

    Type

    Description

    allocationsWithContext

    TextMap (ContractId Allocation, ExtraArgs)

  • Choice OTCTrade_Settle

    Controller: venue

    Returns: TextMap Allocation_ExecuteTransferResult

    Field

    Type

    Description

    allocationsWithContext

    TextMap (ContractId Allocation, ExtraArgs)

  • interface instance AllocationRequest for OTCTrade

template OTCTradeProposal

Signatory: approvers

Field

Type

Description

venue

Party

tradeCid

Optional (ContractId OTCTradeProposal)

transferLegs

TextMap TransferLeg

approvers

[Party]

Parties that have approved the proposal

Functions

tradeAllocations

: SettlementInfo -> TextMap TransferLeg -> TextMap AllocationSpecification

tradingParties

: TextMap TransferLeg -> Set Party

require

: CanAssert m => Text -> Bool -> m ()

Check whether a required condition is true. If it’s not, abort the transaction with a message saying that the requirement was not met.

makeTradeRef

: ContractId OTCTradeProposal -> Reference

zipTextMaps

: TextMap a -> TextMap b -> TextMap (Optional a, Optional b)

forTextMapWithKey

: Applicative f => TextMap a -> (Text -> a -> f b) -> f (TextMap b)

Comments