code.vegaprotocol.io/vega@v0.79.0/core/integration/features/amm/0042-LIQF-108_before_openingAuction.feature (about) 1 Feature: Test vAMM implied commitment is working as expected 2 3 Background: 4 Given the average block duration is "1" 5 And the margin calculator named "margin-calculator-1": 6 | search factor | initial factor | release factor | 7 | 1.2 | 1.5 | 1.7 | 8 And the log normal risk model named "log-normal-risk-model": 9 | risk aversion | tau | mu | r | sigma | 10 | 0.001 | 0.0011407711613050422 | 0 | 0.9 | 3.0 | 11 And the liquidity monitoring parameters: 12 | name | triggering ratio | time window | scaling factor | 13 | lqm-params | 1.00 | 20s | 1 | 14 15 And the following network parameters are set: 16 | name | value | 17 | market.value.windowLength | 60s | 18 | network.markPriceUpdateMaximumFrequency | 0s | 19 | limits.markets.maxPeggedOrders | 6 | 20 | market.auction.minimumDuration | 2 | 21 | market.fee.factors.infrastructureFee | 0.001 | 22 | market.fee.factors.makerFee | 0.004 | 23 | spam.protection.max.stopOrdersPerMarket | 5 | 24 | market.liquidity.equityLikeShareFeeFraction | 1 | 25 | market.amm.minCommitmentQuantum | 1 | 26 | market.liquidity.bondPenaltyParameter | 0.2 | 27 | market.liquidity.stakeToCcyVolume | 1 | 28 | market.liquidity.successorLaunchWindowLength | 1h | 29 | market.liquidity.sla.nonPerformanceBondPenaltySlope | 0 | 30 | market.liquidity.sla.nonPerformanceBondPenaltyMax | 0.6 | 31 | validators.epoch.length | 10s | 32 | market.liquidity.earlyExitPenalty | 0.25 | 33 | market.liquidity.maximumLiquidityFeeFactorLevel | 0.25 | 34 #risk factor short:3.5569036 35 #risk factor long:0.801225765 36 And the following assets are registered: 37 | id | decimal places | 38 | USD | 0 | 39 And the fees configuration named "fees-config-1": 40 | maker fee | infrastructure fee | 41 | 0.0004 | 0.001 | 42 43 And the liquidity sla params named "SLA-22": 44 | price range | commitment min time fraction | performance hysteresis epochs | sla competition factor | 45 | 0.05 | 0.6 | 1 | 1.0 | 46 47 And the markets: 48 | id | quote name | asset | liquidity monitoring | risk model | margin calculator | auction duration | fees | price monitoring | data source config | linear slippage factor | quadratic slippage factor | sla params | 49 | ETH/MAR22 | USD | USD | lqm-params | log-normal-risk-model | margin-calculator-1 | 2 | fees-config-1 | default-none | default-eth-for-future | 1e0 | 0 | SLA-22 | 50 51 Given the parties deposit on asset's general account the following amount: 52 | party | asset | amount | 53 | lp1 | USD | 1000000 | 54 | lp2 | USD | 1000000 | 55 | lp3 | USD | 1000000 | 56 | party1 | USD | 1000000 | 57 | party2 | USD | 1000000 | 58 | party3 | USD | 1000000 | 59 | party4 | USD | 1000000 | 60 | party5 | USD | 1000000 | 61 | vamm1 | USD | 1000000 | 62 | vamm2 | USD | 1000000 | 63 64 When the parties submit the following liquidity provision: 65 | id | party | market id | commitment amount | fee | lp type | 66 | lp_1 | lp1 | ETH/MAR22 | 100000 | 0.02 | submission | 67 | lp_2 | lp2 | ETH/MAR22 | 100000 | 0.02 | submission | 68 69 Then the parties submit the following AMM: 70 | party | market id | amount | slippage | base | lower bound | upper bound | proposed fee | 71 | vamm1 | ETH/MAR22 | 100000 | 0.05 | 100 | 98 | 102 | 0.03 | 72 Then the AMM pool status should be: 73 | party | market id | amount | status | base | lower bound | upper bound | 74 | vamm1 | ETH/MAR22 | 100000 | STATUS_ACTIVE | 100 | 98 | 102 | 75 76 And the parties place the following orders: 77 | party | market id | side | volume | price | resulting trades | type | tif | reference | 78 | lp1 | ETH/MAR22 | buy | 20 | 40 | 0 | TYPE_LIMIT | TIF_GTC | lp1-b | 79 | party1 | ETH/MAR22 | buy | 1 | 100 | 0 | TYPE_LIMIT | TIF_GTC | | 80 | party2 | ETH/MAR22 | sell | 1 | 100 | 0 | TYPE_LIMIT | TIF_GTC | | 81 | lp1 | ETH/MAR22 | sell | 20 | 160 | 0 | TYPE_LIMIT | TIF_GTC | lp1-s | 82 83 When the opening auction period ends for market "ETH/MAR22" 84 Then the following trades should be executed: 85 | buyer | price | size | seller | 86 | party1 | 100 | 1 | party2 | 87 88 Then the network moves ahead "1" blocks 89 And the current epoch is "0" 90 91 @VAMM 92 Scenario: 0042-LIQF-108_before_openingAuction : A vAMM which was active on the market during opening auction, vAMM should be getting LP fee in the same way as normal LPs 93 94 And the parties place the following orders: 95 | party | market id | side | volume | price | resulting trades | type | tif | reference | 96 | party1 | ETH/MAR22 | buy | 10 | 100 | 0 | TYPE_LIMIT | TIF_GTC | lp1-b | 97 | party2 | ETH/MAR22 | sell | 10 | 100 | 1 | TYPE_LIMIT | TIF_GTC | | 98 99 Then the following trades should be executed: 100 | buyer | price | size | seller | 101 | party1 | 100 | 10 | party2 | 102 Then the network moves ahead "1" epochs 103 And the current epoch is "1" 104 105 And the following transfers should happen: 106 | type | from | to | from account | to account | market id | amount | asset | 107 | TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE | market | lp1 | ACCOUNT_TYPE_FEES_LIQUIDITY | ACCOUNT_TYPE_LP_LIQUIDITY_FEES | ETH/MAR22 | 8 | USD | 108 | TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE | market | lp2 | ACCOUNT_TYPE_FEES_LIQUIDITY | ACCOUNT_TYPE_LP_LIQUIDITY_FEES | ETH/MAR22 | 8 | USD | 109 | TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE | market | 137112507e25d3845a56c47db15d8ced0f28daa8498a0fd52648969c4b296aba | ACCOUNT_TYPE_FEES_LIQUIDITY | ACCOUNT_TYPE_LP_LIQUIDITY_FEES | ETH/MAR22 | 3 | USD | 110 111 112