code.vegaprotocol.io/vega@v0.79.0/core/integration/features/referrals/0083-RFPR-running_volume.feature (about) 1 Feature: Calculating referral set running volumes 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 margin calculator named "margin-calculator-1": 9 | search factor | initial factor | release factor | 10 | 1.2 | 1.5 | 1.7 | 11 And the log normal risk model named "log-normal-risk-model": 12 | risk aversion | tau | mu | r | sigma | 13 | 0.000001 | 0.1 | 0 | 0 | 1.0 | 14 And the price monitoring named "price-monitoring": 15 | horizon | probability | auction extension | 16 | 3600 | 0.99 | 3 | 17 And the following network parameters are set: 18 | name | value | 19 | market.fee.factors.infrastructureFee | 0.001 | 20 | market.fee.factors.makerFee | 0.001 | 21 | network.markPriceUpdateMaximumFrequency | 0s | 22 | market.auction.minimumDuration | 1 | 23 | validators.epoch.length | 60s | 24 | limits.markets.maxPeggedOrders | 4 | 25 | referralProgram.minStakedVegaTokens | 0 | 26 | referralProgram.maxPartyNotionalVolumeByQuantumPerEpoch | 1000000000 | 27 28 # Initalise the referral program 29 Given the referral benefit tiers "rbt": 30 | minimum running notional taker volume | minimum epochs | referral reward infra factor | referral reward maker factor | referral reward liquidity factor | referral discount infra factor | referral discount maker factor | referral discount liquidity factor | 31 | 100 | 1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 32 And the referral staking tiers "rst": 33 | minimum staked tokens | referral reward multiplier | 34 | 1 | 1 | 35 And the referral program: 36 | end of program | window length | benefit tiers | staking tiers | 37 | 2023-12-12T12:12:12Z | 7 | rbt | rst | 38 And the network moves ahead "1" epochs 39 40 # Initialise the markets 41 And the following assets are registered: 42 | id | decimal places | quantum | 43 | USD-1-1 | 1 | 1 | 44 | USD-2-10 | 2 | 10 | 45 And the markets: 46 | 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 | 47 | ETH/USD-1-1 | ETH | USD-1-1 | default-log-normal-risk-model | default-margin-calculator | 1 | default-none | default-none | default-eth-for-future | 1e-3 | 0 | default-futures | 0 | 0 | 48 | ETH/USD-2-10 | ETH | USD-2-10 | default-log-normal-risk-model | default-margin-calculator | 1 | default-none | default-none | default-eth-for-future | 1e-3 | 0 | default-futures | 1 | 1 | 49 | ETH/USD-1-2 | ETH | USD-1-1 | log-normal-risk-model | margin-calculator-1 | 1 | default-none | price-monitoring | default-eth-for-future | 1e-3 | 0 | default-futures | 0 | 0 | 50 And the liquidity monitoring parameters: 51 | name | triggering ratio | time window | scaling factor | 52 | lqm-params | 1.0 | 3600s | 1 | 53 When the markets are updated: 54 | id | liquidity monitoring | linear slippage factor | quadratic slippage factor | 55 | ETH/USD-1-1 | lqm-params | 1e-3 | 0 | 56 | ETH/USD-2-10 | lqm-params | 1e-3 | 0 | 57 | ETH/USD-1-2 | lqm-params | 1e-3 | 0 | 58 And the network moves ahead "1" blocks 59 60 # Initialise the parties 61 Given the parties deposit on asset's general account the following amount: 62 | party | asset | amount | 63 | lpprov | USD-2-10 | 10000000000 | 64 | aux1 | USD-2-10 | 10000000 | 65 | aux2 | USD-2-10 | 10000000 | 66 | referrer1 | USD-2-10 | 10000000 | 67 | referee1 | USD-2-10 | 10000000 | 68 | referee2 | USD-2-10 | 10000000 | 69 | lpprov | USD-1-1 | 10000000000 | 70 | lpprov2 | USD-1-1 | 10000000000 | 71 | aux1 | USD-1-1 | 10000000 | 72 | aux2 | USD-1-1 | 10000000 | 73 | aux3 | USD-1-1 | 10000000 | 74 | aux4 | USD-1-1 | 10000000 | 75 | referrer1 | USD-1-1 | 10000000 | 76 | referee1 | USD-1-1 | 10000000 | 77 | referee2 | USD-1-1 | 10000000 | 78 | ptbuy | USD-1-1 | 10000000 | 79 | ptsell | USD-1-1 | 10000000 | 80 81 # Exit opening auctions 82 Given the parties submit the following liquidity provision: 83 | id | party | market id | commitment amount | fee | lp type | 84 | lp1 | lpprov | ETH/USD-1-1 | 1000000 | 0.01 | submission | 85 | lp2 | lpprov | ETH/USD-2-10 | 10000000 | 0.01 | submission | 86 | lp3 | lpprov2 | ETH/USD-1-2 | 10000000 | 0.01 | submission | 87 And the parties place the following pegged iceberg orders: 88 | party | market id | peak size | minimum visible size | side | pegged reference | volume | offset | 89 | lpprov | ETH/USD-1-1 | 5000 | 1000 | buy | BID | 10000 | 1 | 90 | lpprov | ETH/USD-1-1 | 5000 | 1000 | sell | ASK | 10000 | 1 | 91 | lpprov | ETH/USD-2-10 | 50000 | 10000 | buy | BID | 100000 | 10 | 92 | lpprov | ETH/USD-2-10 | 50000 | 10000 | sell | ASK | 100000 | 10 | 93 | lpprov2 | ETH/USD-1-2 | 5000 | 1000 | buy | BID | 10000 | 1 | 94 | lpprov2 | ETH/USD-1-2 | 5000 | 1000 | sell | ASK | 10000 | 1 | 95 When the parties place the following orders: 96 | party | market id | side | volume | price | resulting trades | type | tif | 97 | aux1 | ETH/USD-1-1 | buy | 1 | 990 | 0 | TYPE_LIMIT | TIF_GTC | 98 | aux1 | ETH/USD-1-1 | buy | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 99 | aux2 | ETH/USD-1-1 | sell | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 100 | aux2 | ETH/USD-1-1 | sell | 1 | 1100 | 0 | TYPE_LIMIT | TIF_GTC | 101 | aux1 | ETH/USD-2-10 | buy | 1 | 9900 | 0 | TYPE_LIMIT | TIF_GTC | 102 | aux1 | ETH/USD-2-10 | buy | 1 | 10000 | 0 | TYPE_LIMIT | TIF_GTC | 103 | aux2 | ETH/USD-2-10 | sell | 1 | 10000 | 0 | TYPE_LIMIT | TIF_GTC | 104 | aux2 | ETH/USD-2-10 | sell | 1 | 11000 | 0 | TYPE_LIMIT | TIF_GTC | 105 | aux3 | ETH/USD-1-2 | buy | 1 | 900 | 0 | TYPE_LIMIT | TIF_GTC | 106 | aux3 | ETH/USD-1-2 | buy | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 107 | aux4 | ETH/USD-1-2 | sell | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 108 | aux4 | ETH/USD-1-2 | sell | 1 | 1100 | 0 | TYPE_LIMIT | TIF_GTC | 109 When the opening auction period ends for market "ETH/USD-1-1" 110 And the opening auction period ends for market "ETH/USD-2-10" 111 Then the network moves ahead "1" blocks 112 And the trading mode should be "TRADING_MODE_CONTINUOUS" for the market "ETH/USD-1-1" 113 And the trading mode should be "TRADING_MODE_CONTINUOUS" for the market "ETH/USD-1-2" 114 And the trading mode should be "TRADING_MODE_CONTINUOUS" for the market "ETH/USD-2-10" 115 116 # Create the referral set and codes 117 Given the parties create the following referral codes: 118 | party | code | 119 | referrer1 | referral-code-1 | 120 And the parties apply the following referral codes: 121 | party | code | 122 | referee1 | referral-code-1 | 123 | referee2 | referral-code-1 | 124 125 126 Scenario Outline: Referral set member is the maker of a trade during continuous trading (0083-RFPR-048) 127 # Expectation: the members taker volume is not increased, and thus we see no increase in the sets taker volume 128 129 Given the parties place the following orders: 130 | party | market id | side | volume | price | resulting trades | type | tif | 131 | <party> | ETH/USD-1-1 | <maker side> | 10 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 132 | aux1 | ETH/USD-1-1 | <taker side> | 10 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 133 When the network moves ahead "1" epochs 134 Then the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of 0: 135 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 136 | referee1 | 0 | 0 | 0 | 0 | 0 | 0 | 137 | referee2 | 0 | 0 | 0 | 0 | 0 | 0 | 138 139 # Check volume not counted for either referrer or referee contributions or for either buy or sell orders 140 Examples: 141 | party | maker side | taker side | 142 | referrer1 | buy | sell | 143 | referrer1 | sell | buy | 144 | referee1 | buy | sell | 145 | referee1 | sell | buy | 146 147 148 Scenario Outline: Referral set member is the taker of a trade during continuous trading (0083-RFPR-031) 149 # Expectation: the members taker volume is increased, and thus we see an increase in the sets taker volume 150 151 Given the parties place the following orders: 152 | party | market id | side | volume | price | resulting trades | type | tif | 153 | aux1 | ETH/USD-1-1 | <maker side> | 10 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 154 | <party> | ETH/USD-1-1 | <taker side> | 10 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 155 When the network moves ahead "1" epochs 156 Then the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of 100000: 157 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 158 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 159 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 160 161 # Check volume counted for both referrer and referee contributions and both buy and sell orders 162 Examples: 163 | party | maker side | taker side | 164 | referrer1 | buy | sell | 165 | referrer1 | sell | buy | 166 | referee1 | buy | sell | 167 | referee1 | sell | buy | 168 169 170 Scenario Outline: Referral set member participates in a trade when exiting an auction (0083-RFPR-032) 171 # Expectation: the members taker volume is not increased, and thus we see no increase in the sets taker volume 172 173 # Cancel the liquidity commitment triggering an auction 174 175 Given the market data for the market "ETH/USD-1-2" should be: 176 | mark price | trading mode | target stake | supplied stake | open interest | horizon | min bound | max bound | 177 | 1000 | TRADING_MODE_CONTINUOUS | 35569 | 10000000 | 1 | 3600 | 973 | 1027 | 178 When the parties place the following orders: 179 | party | market id | side | volume | price | resulting trades | type | tif | 180 | ptbuy | ETH/USD-1-2 | buy | 2 | 970 | 0 | TYPE_LIMIT | TIF_GTC | 181 | ptsell | ETH/USD-1-2 | sell | 2 | 970 | 0 | TYPE_LIMIT | TIF_GTC | 182 Then the market data for the market "ETH/USD-1-2" should be: 183 | mark price | trading mode | auction trigger | target stake | supplied stake | open interest | auction end | 184 | 1000 | TRADING_MODE_MONITORING_AUCTION | AUCTION_TRIGGER_PRICE | 103505 | 10000000 | 1 | 3 | 185 And the network moves ahead "1" blocks 186 And the trading mode should be "TRADING_MODE_MONITORING_AUCTION" for the market "ETH/USD-1-2" 187 188 When the parties place the following orders: 189 | party | market id | side | volume | price | resulting trades | type | tif | 190 | aux3 | ETH/USD-1-2 | <maker side> | 10 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 191 | <party> | ETH/USD-1-2 | <taker side> | 10 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 192 And the network moves ahead "1" epochs 193 Then the trading mode should be "TRADING_MODE_CONTINUOUS" for the market "ETH/USD-1-2" 194 And the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of 0: 195 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 196 | referee1 | 0 | 0 | 0 | 0 | 0 | 0 | 197 | referee2 | 0 | 0 | 0 | 0 | 0 | 0 | 198 199 # Check volume not counted for either referrer or referee contributions or for either buy or sell orders 200 Examples: 201 | party | maker side | taker side | 202 | referrer1 | buy | sell | 203 | referrer1 | sell | buy | 204 | referee1 | buy | sell | 205 | referee1 | sell | buy | 206 207 208 Scenario Outline: Referral set member has an epoch taker volume greater than the cap (0083-RFPR-034) 209 # Expectation: the sets running volume is capped to the network parameter 210 211 Given the following network parameters are set: 212 | name | value | 213 | referralProgram.maxPartyNotionalVolumeByQuantumPerEpoch | 1000 | 214 And the parties place the following orders: 215 | party | market id | side | volume | price | resulting trades | type | tif | 216 | aux1 | ETH/USD-1-1 | buy | 10 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 217 | <party> | ETH/USD-1-1 | sell | 10 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 218 When the network moves ahead "1" epochs 219 Then the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of 1000: 220 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 221 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 222 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 223 224 # Check the correct cap is applied for both referrer and referee contributions 225 Examples: 226 | party | 227 | referrer1 | 228 | referee1 | 229 230 231 Scenario: Referral set member has an epoch taker volume greater than the cap, but the cap is increased before the end of the epoch (0083-RFPR-050) 232 # Expectation: the sets running volume is capped to the most recent network parameter 233 234 Given the following network parameters are set: 235 | name | value | 236 | referralProgram.maxPartyNotionalVolumeByQuantumPerEpoch | 1000 | 237 And the parties place the following orders: 238 | party | market id | side | volume | price | resulting trades | type | tif | 239 | aux1 | ETH/USD-1-1 | buy | 10 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 240 | <party> | ETH/USD-1-1 | sell | 10 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 241 When the following network parameters are set: 242 | name | value | 243 | referralProgram.maxPartyNotionalVolumeByQuantumPerEpoch | 5000 | 244 And the network moves ahead "1" epochs 245 Then the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of 5000: 246 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 247 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 248 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 249 250 # Check the correct cap is applied for both referrer and referee contributions 251 Examples: 252 | party | 253 | referrer1 | 254 | referee1 | 255 256 257 Scenario Outline: Referral set member participates in multiple markets with different quantum settlement assets (0083-RFPR-049) 258 # Expectation: the members taker volume is increased correctly, and thus we see an increase in the sets taker volume 259 260 Given the parties place the following orders: 261 | party | market id | side | volume | price | resulting trades | type | tif | 262 | aux1 | ETH/USD-1-1 | <maker side> | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 263 | <party> | ETH/USD-1-1 | <taker side> | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 264 | aux1 | ETH/USD-2-10 | <maker side> | 10 | 10000 | 0 | TYPE_LIMIT | TIF_GTC | 265 | <party> | ETH/USD-2-10 | <taker side> | 10 | 10000 | 1 | TYPE_LIMIT | TIF_GTC | 266 When the network moves ahead "1" epochs 267 Then the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of 20000: 268 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 269 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 270 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 271 272 # Check volume is counted for both referrer and referee contributions and for both buy and sell orders 273 Examples: 274 | party | maker side | taker side | 275 | referrer1 | buy | sell | 276 | referrer1 | sell | buy | 277 | referee1 | buy | sell | 278 | referee1 | sell | buy | 279 280 281 Scenario Outline: Multiple referees generate volume in multiple markets with different settlement assets (and quantum) (0083-RFPR-033) 282 # Expectation: each members taker volume is increased correctly, and thus we see an increase in the sets taker volume 283 284 Given the parties place the following orders: 285 | party | market id | side | volume | price | resulting trades | type | tif | 286 | aux1 | ETH/USD-1-1 | <maker side> | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 287 | referrer1 | ETH/USD-1-1 | <taker side> | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 288 | aux1 | ETH/USD-1-1 | <maker side> | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 289 | referee1 | ETH/USD-1-1 | <taker side> | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 290 | aux1 | ETH/USD-1-1 | <maker side> | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 291 | referee2 | ETH/USD-1-1 | <taker side> | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 292 | aux1 | ETH/USD-2-10 | <maker side> | 10 | 10000 | 0 | TYPE_LIMIT | TIF_GTC | 293 | referrer1 | ETH/USD-2-10 | <taker side> | 10 | 10000 | 1 | TYPE_LIMIT | TIF_GTC | 294 | aux1 | ETH/USD-2-10 | <maker side> | 10 | 10000 | 0 | TYPE_LIMIT | TIF_GTC | 295 | referee1 | ETH/USD-2-10 | <taker side> | 10 | 10000 | 1 | TYPE_LIMIT | TIF_GTC | 296 | aux1 | ETH/USD-2-10 | <maker side> | 10 | 10000 | 0 | TYPE_LIMIT | TIF_GTC | 297 | referee2 | ETH/USD-2-10 | <taker side> | 10 | 10000 | 1 | TYPE_LIMIT | TIF_GTC | 298 When the network moves ahead "1" epochs 299 Then the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of 60000: 300 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 301 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 302 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 303 304 # Check volume is counted for both referrer and referee contributions and for both buy and sell orders 305 Examples: 306 | maker side | taker side | 307 | buy | sell | 308 | sell | buy | 309 310 311 Scenario Outline: Members generate consistent taker volume over a number of epochs (0083-RFPR-035) 312 # Expectation: only epoch taker volume from the last n epochs should contribute to the sets running taker volume 313 314 Given the referral program: 315 | end of program | window length | benefit tiers | staking tiers | 316 | 2023-12-12T12:12:12Z | <window length> | rbt | rst | 317 318 Given the parties place the following orders: 319 | party | market id | side | volume | price | resulting trades | type | tif | 320 | aux1 | ETH/USD-1-1 | buy | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 321 | referee1 | ETH/USD-1-1 | sell | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 322 When the network moves ahead "1" epochs 323 Then the referral set stats for code "referral-code-1" at epoch "1" should have a running volume of <running volume 1>: 324 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 325 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 326 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 327 328 Given the parties place the following orders: 329 | party | market id | side | volume | price | resulting trades | type | tif | 330 | aux1 | ETH/USD-1-1 | buy | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 331 | referee1 | ETH/USD-1-1 | sell | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 332 When the network moves ahead "1" epochs 333 Then the referral set stats for code "referral-code-1" at epoch "2" should have a running volume of <running volume 2>: 334 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 335 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 336 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 337 338 Given the parties place the following orders: 339 | party | market id | side | volume | price | resulting trades | type | tif | 340 | aux1 | ETH/USD-1-1 | buy | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 341 | referee1 | ETH/USD-1-1 | sell | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 342 When the network moves ahead "1" epochs 343 Then the referral set stats for code "referral-code-1" at epoch "3" should have a running volume of <running volume 3>: 344 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 345 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 346 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 347 348 Given the parties place the following orders: 349 | party | market id | side | volume | price | resulting trades | type | tif | 350 | aux1 | ETH/USD-1-1 | buy | 1 | 1000 | 0 | TYPE_LIMIT | TIF_GTC | 351 | referee1 | ETH/USD-1-1 | sell | 1 | 1000 | 1 | TYPE_LIMIT | TIF_GTC | 352 When the network moves ahead "1" epochs 353 Then the referral set stats for code "referral-code-1" at epoch "4" should have a running volume of <running volume 4>: 354 | party | reward infra factor | reward maker factor | reward liquidity factor | discount infra factor | discount maker factor | discount liquidity factor | 355 | referee1 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 356 | referee2 | 0.11 | 0.12 | 0.13 | 0.14 | 0.15 | 0.16 | 357 358 # Check running volume correctly calculated for a variety of window lengths 359 Examples: 360 | window length | running volume 1 | running volume 2 | running volume 3 | running volume 4 | 361 | 1 | 10000 | 20000 | 10000 | 10000 | 362 | 2 | 10000 | 30000 | 30000 | 20000 | 363 | 3 | 10000 | 30000 | 40000 | 40000 |