code.vegaprotocol.io/vega@v0.79.0/core/integration/features/rewards/0056-REWA-218.feature (about)

     1  Feature: Team Rewards
     2  
     3      Background:
     4  
     5          # Initialise the network
     6          Given time is updated to "2023-01-01T00:00:00Z"
     7          And the average block duration is "1"
     8          And the following network parameters are set:
     9              | name                                    | value |
    10              | market.fee.factors.makerFee             | 0.001 |
    11              | network.markPriceUpdateMaximumFrequency | 0s    |
    12              | market.auction.minimumDuration          | 1     |
    13              | validators.epoch.length                 | 60s   |
    14              | limits.markets.maxPeggedOrders          | 4     |
    15              | referralProgram.minStakedVegaTokens     | 0     |
    16  
    17          # Initialise the markets
    18          And the following assets are registered:
    19              | id       | decimal places | quantum |
    20              | USD-1-10 | 1              | 10      |
    21          And the markets:
    22              | id           | quote name | asset    | risk model                    | margin calculator         | auction duration | fees         | price monitoring | data source config     | linear slippage factor | quadratic slippage factor | sla params      | decimal places | position decimal places |
    23              | ETH/USD-1-10 | ETH        | USD-1-10 | default-log-normal-risk-model | default-margin-calculator | 1                | default-none | default-none     | default-eth-for-future | 1e-3                   | 0                         | default-futures | 0              | 0                       |
    24  
    25          # Initialise the parties
    26          Given the parties deposit on asset's general account the following amount:
    27              | party                                                            | asset    | amount      |
    28              | lpprov                                                           | USD-1-10 | 10000000000 |
    29              | aux1                                                             | USD-1-10 | 10000000    |
    30              | aux2                                                             | USD-1-10 | 10000000    |
    31              | aux3                                                             | USD-1-10 | 10000000000 |
    32              | a3c024b4e23230c89884a54a813b1ecb4cb0f827a38641c66eeca466da6b2ddf | USD-1-10 | 10000000000 |
    33              | party1                                                           | USD-1-10 | 10000000000 |
    34              | party2                                                           | USD-1-10 | 10000000000 |
    35              | party3                                                           | USD-1-10 | 10000000000 |
    36  
    37          # Exit opening auctions
    38          Given the parties submit the following liquidity provision:
    39              | id  | party  | market id    | commitment amount | fee  | lp type    |
    40              | lp1 | lpprov | ETH/USD-1-10 | 1000000           | 0.01 | submission |
    41          And the parties place the following pegged iceberg orders:
    42              | party  | market id    | peak size | minimum visible size | side | pegged reference | volume | offset |
    43              | lpprov | ETH/USD-1-10 | 5000      | 1000                 | buy  | BID              | 10000  | 1      |
    44              | lpprov | ETH/USD-1-10 | 5000      | 1000                 | sell | ASK              | 10000  | 1      |
    45          When the parties place the following orders:
    46              | party | market id    | side | volume | price | resulting trades | type       | tif     |
    47              | aux1  | ETH/USD-1-10 | buy  | 1      | 990   | 0                | TYPE_LIMIT | TIF_GTC |
    48              | aux1  | ETH/USD-1-10 | buy  | 1      | 1000  | 0                | TYPE_LIMIT | TIF_GTC |
    49              | aux2  | ETH/USD-1-10 | sell | 1      | 1000  | 0                | TYPE_LIMIT | TIF_GTC |
    50              | aux2  | ETH/USD-1-10 | sell | 1      | 1100  | 0                | TYPE_LIMIT | TIF_GTC |
    51          And the opening auction period ends for market "ETH/USD-1-10"
    52          When the network moves ahead "1" blocks
    53          And the trading mode should be "TRADING_MODE_CONTINUOUS" for the market "ETH/USD-1-10"
    54  
    55          # Create a team
    56          And the following teams with referees are created:
    57              | referrer  | prefix | code            | team name | referees | balance  | asset    |
    58              | referrer1 | ref1   | referral-code-1 | team1     | 3        | 10000000 | USD-1-10 |
    59  
    60      @TeamStep
    61      Scenario: Given a recurring transfer with a reward window `>1` and specifying a non-zero `target_notional_volume`. When the volume is zero in the current epoch, if the cumulative volume across the window is less than the target, the rewards distributed are scaled accordingly. (<a name="0056-REWA-244" href="#0056-REWA-244">0056-REWA-244</a>).
    62          And the parties place the following orders:
    63              | party     | market id    | side | volume | price | resulting trades | type       | tif     |
    64              | aux1      | ETH/USD-1-10 | sell | 10      | 1000  | 0                | TYPE_LIMIT | TIF_GTC |
    65              | party1    | ETH/USD-1-10 | buy  | 10      | 1000  | 1                | TYPE_LIMIT | TIF_GTC |
    66              | aux1      | ETH/USD-1-10 | sell | 10      | 1000  | 0                | TYPE_LIMIT | TIF_GTC |
    67              | party2    | ETH/USD-1-10 | buy  | 10      | 1000  | 1                | TYPE_LIMIT | TIF_GTC |
    68              | aux3      | ETH/USD-1-10 | sell | 10      | 1000  | 0                | TYPE_LIMIT | TIF_GTC |
    69              | ref1-0001 | ETH/USD-1-10 | buy  | 10      | 1000  | 1                | TYPE_LIMIT | TIF_GTC |
    70              | aux3      | ETH/USD-1-10 | sell | 10      | 1000  | 0                | TYPE_LIMIT | TIF_GTC |
    71              | ref1-0002 | ETH/USD-1-10 | buy  | 10      | 1000  | 1                | TYPE_LIMIT | TIF_GTC |
    72          When the network moves ahead "1" epochs
    73          Given the parties submit the following recurring transfers:
    74              | id | from                                                             | from_account_type    | to                                                               | to_account_type                     | entity_scope | individual_scope | asset    | amount | start_epoch | end_epoch | factor | metric                          | metric_asset | markets      | target_notional_volume | window_length |
    75              | 1  | a3c024b4e23230c89884a54a813b1ecb4cb0f827a38641c66eeca466da6b2ddf | ACCOUNT_TYPE_GENERAL | 0000000000000000000000000000000000000000000000000000000000000000 | ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES | INDIVIDUALS  | ALL              | USD-1-10 | 10000  | 2           |           | 1      | DISPATCH_METRIC_MAKER_FEES_PAID | USD-1-10     | ETH/USD-1-10 | 1000000                | 2             |        
    76          When the network moves ahead "1" epochs
    77  
    78          # notional is uneven across the window (no notional in last epoch), but total notional traded over the 2 epochs is 40% of the target notional
    79          # so the reward paid is 4000 split equally between parties.
    80          Then parties should have the following vesting account balances:
    81              | party     | asset    | balance |
    82              | party1    | USD-1-10 | 1000    |
    83              | party2    | USD-1-10 | 1000    |
    84              | ref1-0001 | USD-1-10 | 1000    |
    85              | ref1-0002 | USD-1-10 | 1000    |