code.vegaprotocol.io/vega@v0.79.0/core/integration/features/spot/orders/0014-ORDT-108.feature (about)

     1  Feature: Spot market
     2  
     3    Background:
     4      Given time is updated to "2024-01-01T00:00:00Z"
     5  
     6      Given the following network parameters are set:
     7        | name                                                | value |
     8        | network.markPriceUpdateMaximumFrequency             | 0s    |
     9        | market.value.windowLength                           | 1h    |
    10      
    11      Given the following assets are registered:
    12        | id  | decimal places |
    13        | ETH | 2              |
    14        | BTC | 2              |
    15  
    16      Given the fees configuration named "fees-config-1":
    17        | maker fee | infrastructure fee |
    18        | 0.01      | 0.03               |
    19      Given the log normal risk model named "lognormal-risk-model-1":
    20        | risk aversion | tau  | mu | r   | sigma |
    21        | 0.001         | 0.01 | 0  | 0.0 | 1.2   |
    22      And the price monitoring named "price-monitoring-1":
    23        | horizon | probability | auction extension |
    24        | 360000  | 0.999       | 1                 |
    25  
    26      And the spot markets:
    27        | id      | name    | base asset | quote asset | risk model             | auction duration | fees          | price monitoring   | decimal places | position decimal places | sla params    |
    28        | BTC/ETH | BTC/ETH | BTC        | ETH         | lognormal-risk-model-1 | 1                | fees-config-1 | price-monitoring-1 | 2              | 2                       | default-basic |
    29  
    30      # setup accounts
    31      Given the parties deposit on asset's general account the following amount:
    32        | party  | asset | amount |
    33        | party1 | ETH   | 10000  |
    34        | party2 | ETH   | 10000  |
    35        | party4 | BTC   | 100    |
    36        | party5 | BTC   | 100    |
    37      And the average block duration is "1"
    38  
    39      # Place some orders to get out of auction
    40      And the parties place the following orders:
    41        | party  | market id | side | volume | price | resulting trades | type       | tif     |
    42        | party1 | BTC/ETH   | buy  | 1      | 1000  | 0                | TYPE_LIMIT | TIF_GFA |
    43        | party5 | BTC/ETH   | sell | 1      | 1000  | 0                | TYPE_LIMIT | TIF_GTC |
    44  
    45      And the opening auction period ends for market "BTC/ETH"
    46      When the network moves ahead "1" blocks
    47      Then the trading mode should be "TRADING_MODE_CONTINUOUS" for the market "BTC/ETH"
    48      And the mark price should be "1000" for the market "BTC/ETH"
    49  
    50    Scenario: A passive iceberg order with a couple of order that sit behind the iceberg order at the same price that crosses with an order where
    51              volume > display quantity of iceberg order. After the first trade is produced, the iceberg order is pushed to the back of the queue
    52              and gets filled only when the other orders in front get fully filled (0014-ORDT-108)
    53  
    54      # Place an iceberg order to sit on the book
    55      When the parties place the following iceberg orders:
    56        | party  | market id | side | volume | price | resulting trades | type       | tif     | peak size | minimum visible size | reference |
    57        | party1 | BTC/ETH   | buy  | 10     | 1000  | 0                | TYPE_LIMIT | TIF_GTC | 5         | 1                    | iceberg1  |
    58  
    59      # Place 2 orders behind the iceberg at the same price level
    60      And the parties place the following orders:
    61        | party  | market id | side | volume | price | resulting trades | type       | tif     | reference |
    62        | party2 | BTC/ETH   | buy  | 5      | 1000  | 0                | TYPE_LIMIT | TIF_GTC | buy1     |
    63        | party2 | BTC/ETH   | buy  | 5      | 1000  | 0                | TYPE_LIMIT | TIF_GTC | buy2     |
    64  
    65      # Now place an order to match with the passive orders
    66      And the parties place the following orders:
    67        | party  | market id | side | volume | price | resulting trades | type       | tif     | reference |
    68        | party5 | BTC/ETH   | sell | 15     | 1000  | 3                | TYPE_LIMIT | TIF_GTC | sell1     |
    69  
    70      Then the orders should have the following states:
    71        | party  | market id | side | price | remaining | volume | reference | status         |
    72        | party1 | BTC/ETH   | buy  | 1000  | 5         | 10     | iceberg1  | STATUS_ACTIVE  | 
    73        | party2 | BTC/ETH   | buy  | 1000  | 0         | 5      | buy1      | STATUS_FILLED  |             
    74        | party2 | BTC/ETH   | buy  | 1000  | 0         | 5      | buy2      | STATUS_FILLED  |             
    75        | party5 | BTC/ETH   | sell | 1000  | 0         | 15     | sell1     | STATUS_FILLED  |             
    76  
    77      # Now place an order to fully fill the iceberg
    78      And the parties place the following orders:
    79        | party  | market id | side | volume | price | resulting trades | type       | tif     | reference |
    80        | party5 | BTC/ETH   | sell | 5      | 1000  | 1                | TYPE_LIMIT | TIF_GTC | sell2     |
    81  
    82      Then the orders should have the following states:
    83        | party  | market id | side | price | remaining | volume | reference | status         |
    84        | party1 | BTC/ETH   | buy  | 1000  | 0         | 10     | iceberg1  | STATUS_FILLED  | 
    85        | party5 | BTC/ETH   | sell | 1000  | 0         | 5      | sell2     | STATUS_FILLED  |             
    86  
    87      # There should be no volume left on the book now
    88      Then the order book should have the following volumes for market "BTC/ETH":
    89        | side | price | volume |
    90        | buy  | 1000  | 0      |
    91        | sell | 1000  | 0      |
    92  
    93