Skip to content

LeventeBarczyDA/token-standard-samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

token-standard-samples

Near-leg flows

stateDiagram-v2
    classDef userState fill:white
    state "Cash Registry" as CashApp {

        [*] --> Cash_Holding

        Cash_Holding: Buyer's Initial Cash {Holding}
        Buyer_Must_Allocate: Buyer sees allocation request and own holdings
        Cash_Remaining: Buyer's Remaining Cash {Holding}
        Cash_Allocated: Allocated Cash {Holding}
        Cash_Allocation: Filled Cash Allocation Request {Allocation}
        Cash_Settled: Seller's Cash Holding {Holding}
        Cash_Allocation_Request: Cash {AllocationRequest}

        Cash_Holding --> Buyer_Must_Allocate
        Cash_Holding --> Cash_Remaining
        Cash_Remaining --> [*]
        Buyer_Must_Allocate --> Cash_Remaining: Allocate
        Buyer_Must_Allocate --> Cash_Allocated: Allocate
        Cash_Allocated --> Cash_Allocation
        Cash_Allocation_Request --> Buyer_Must_Allocate
        Buyer_Must_Allocate --> Cash_Allocation: Allocate

        Cash_Allocated --> Cash_Settled
    }
    
    state "Trading Venue App" as RepoVenue {

        [*] --> Agreement: If Venue has GMRA
        [*] --> Buyer_Service: No GMRA
        [*] --> Seller_Service: No GMRA

        Agreement: {Gmra.Service}
        Delegated_Agreement: {Repo.Unsigned}
        Buyer_Service: Buyer {Trading.Service}
        Seller_Service: Seller {Trading.Service}
        Repo_Confirmed: {Repo.Confirmed}
        Must_Settle_Near_DvP: Venue Can Settle Near DvP
        Repo_Live: Live Repo
        Must_Settle_Far_DvP: Venu Can Settle Far DvP (Registry flows not show)
        Repo_Settled: Settled Repo

        Agreement --> Repo_Confirmed: Nonconsuming {ConfirmRepo}
        Buyer_Service --> Delegated_Agreement: Nonconsuming {SignRepo}
        Seller_Service --> Delegated_Agreement: Nonconsuming {SignRepo}
        Delegated_Agreement --> Repo_Confirmed: {Confirm}
        Repo_Confirmed --> Must_Settle_Near_DvP
        Must_Settle_Near_DvP --> Repo_Live: {SettleNearDvp}, Execute Transfers

        Repo_Live --> Must_Settle_Far_DvP
        Must_Settle_Far_DvP --> Repo_Settled: {SettleFarDvp}
    }

    state "Security Registry" as SecurityApp {

        Seller_Must_Allocate: Seller sees allocation request and own holdings
        Sec_Allocated: Allocated Security {Holding}
        Sec_Remaining: Seller's Remaining Security {Holding}
        Sec_Allocation: Filled Security Allocation Request {Allocation}
        Sec_Settled: Buyers's Security {Holding}
        Sec_Allocation_Request: Security {AllocationRequest}
        Sec_Holding: Sellers's Initial Security {Holding}

        Sec_Allocation_Request --> Seller_Must_Allocate

        [*] --> Sec_Holding

        Sec_Holding --> Seller_Must_Allocate
        
        Seller_Must_Allocate --> Sec_Allocated: Allocate
        Seller_Must_Allocate --> Sec_Allocation: Allocate
        Seller_Must_Allocate --> Sec_Remaining: Allocate

        Sec_Allocated --> Sec_Allocation
        Sec_Allocated --> Sec_Settled
        Sec_Holding --> Sec_Remaining
        Sec_Remaining --> [*]
        

    }

    Repo_Confirmed --> Cash_Allocation_Request: CIP-56 {AllocationRequest} Interface
    Repo_Confirmed --> Sec_Allocation_Request: CIP-56 {AllocationRequest} Interface
    Cash_Allocation --> Must_Settle_Near_DvP
    Sec_Allocation --> Must_Settle_Near_DvP
    Must_Settle_Near_DvP --> Cash_Settled: Execute Transfer
    Must_Settle_Near_DvP --> Sec_Settled: Execute Transfer

    class Buyer_Must_Allocate, Must_Settle_Near_DvP, Must_Settle_Far_DvP, Seller_Must_Allocate userState
Loading

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors