diff --git a/onchain/lcov.info b/onchain/lcov.info new file mode 100644 index 0000000..22d55ed --- /dev/null +++ b/onchain/lcov.info @@ -0,0 +1,2349 @@ +TN: +SF:analysis/helpers/SwapExecutor.sol +DA:28,27 +FN:28,SwapExecutor.constructor +FNDA:27,SwapExecutor.constructor +DA:29,27 +DA:30,27 +DA:31,27 +DA:32,27 +DA:33,27 +DA:34,27 +DA:37,30 +FN:37,SwapExecutor.executeBuy +FNDA:30,SwapExecutor.executeBuy +DA:38,30 +DA:40,30 +BRDA:40,0,0,8 +DA:41,8 +DA:42,8 +DA:45,30 +DA:47,26 +DA:48,26 +DA:50,26 +DA:51,26 +DA:54,20 +FN:54,SwapExecutor.executeSell +FNDA:20,SwapExecutor.executeSell +DA:55,20 +DA:57,20 +BRDA:57,2,0,10 +DA:58,10 +DA:59,10 +DA:62,20 +DA:64,12 +DA:65,12 +DA:67,12 +DA:68,12 +DA:72,38 +FN:72,SwapExecutor.uniswapV3SwapCallback +FNDA:38,SwapExecutor.uniswapV3SwapCallback +DA:73,38 +BRDA:73,4,0,- +BRDA:73,4,1,38 +DA:75,38 +BRDA:75,5,0,24 +DA:76,24 +DA:78,38 +BRDA:78,6,0,14 +DA:79,14 +FNF:4 +FNH:4 +LF:33 +LH:33 +BRF:6 +BRH:5 +end_of_record +TN: +SF:script/BaseDeploy.sol +DA:6,0 +FN:6,BaseDeploy.run +FNDA:0,BaseDeploy.run +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +FNF:1 +FNH:0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:script/DeployBase.sol +DA:32,0 +FN:32,DeployBase.run +FNDA:0,DeployBase.run +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:53,0 +DA:56,0 +DA:57,0 +DA:58,0 +BRDA:58,0,0,- +BRDA:58,0,1,- +DA:59,0 +DA:60,0 +DA:62,0 +DA:64,0 +DA:67,0 +BRDA:67,1,0,- +DA:68,0 +DA:69,0 +BRDA:69,1,1,- +DA:70,0 +DA:71,0 +DA:75,0 +DA:76,0 +BRDA:76,2,0,- +BRDA:76,2,1,- +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:83,0 +DA:84,0 +DA:88,0 +DA:89,0 +DA:92,0 +DA:95,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:108,0 +FNF:1 +FNH:0 +LF:49 +LH:0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:script/DeployBaseMainnet.sol +DA:13,0 +FN:13,DeployBaseMainnet.constructor +FNDA:0,DeployBaseMainnet.constructor +DA:15,0 +DA:17,0 +DA:18,0 +DA:21,0 +FNF:1 +FNH:0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:script/DeployBaseSepolia.sol +DA:12,0 +FN:12,DeployBaseSepolia.constructor +FNDA:0,DeployBaseSepolia.constructor +DA:14,0 +DA:15,0 +DA:16,0 +DA:20,0 +FNF:1 +FNH:0 +LF:5 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:script/DeployLocal.sol +DA:37,0 +FN:37,DeployLocal.run +FNDA:0,DeployLocal.run +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:50,0 +DA:51,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:68,0 +BRDA:68,0,0,- +BRDA:68,0,1,- +DA:69,0 +DA:70,0 +DA:72,0 +DA:74,0 +DA:77,0 +BRDA:77,1,0,- +DA:78,0 +BRDA:78,2,0,- +BRDA:78,2,1,- +DA:79,0 +DA:80,0 +DA:82,0 +DA:84,0 +BRDA:84,1,1,- +DA:85,0 +DA:86,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:97,0 +DA:98,0 +DA:101,0 +DA:102,0 +DA:104,0 +DA:105,0 +DA:107,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:123,0 +FNF:1 +FNH:0 +LF:56 +LH:0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:script/UpgradeOptimizer.sol +DA:18,0 +FN:18,UpgradeOptimizer.run +FNDA:0,UpgradeOptimizer.run +DA:19,0 +DA:20,0 +BRDA:20,0,0,- +BRDA:20,0,1,- +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:32,0 +DA:33,0 +DA:36,0 +DA:37,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:48,0 +FNF:1 +FNH:0 +LF:22 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/Kraiken.sol +DA:48,257 +FN:48,Kraiken.onlyLiquidityManager +FNDA:257,Kraiken.onlyLiquidityManager +DA:49,257 +BRDA:49,0,0,- +BRDA:49,0,1,1518 +DA:58,603 +FN:58,Kraiken.constructor +FNDA:603,Kraiken.constructor +DA:59,603 +DA:68,322 +FN:68,Kraiken.setLiquidityManager +FNDA:322,Kraiken.setLiquidityManager +DA:69,322 +BRDA:69,1,0,- +BRDA:69,1,1,322 +DA:70,322 +BRDA:70,2,0,- +DA:71,322 +BRDA:71,3,0,- +DA:72,322 +DA:81,322 +FN:81,Kraiken.setStakingPool +FNDA:322,Kraiken.setStakingPool +DA:82,322 +BRDA:82,4,0,- +BRDA:82,4,1,322 +DA:83,322 +BRDA:83,5,0,- +DA:84,322 +BRDA:84,6,0,- +DA:85,322 +DA:92,969 +FN:92,Kraiken.peripheryContracts +FNDA:969,Kraiken.peripheryContracts +DA:93,969 +DA:100,38 +FN:100,Kraiken.minStake +FNDA:38,Kraiken.minStake +DA:101,38 +DA:110,1518 +FN:110,Kraiken.mint +FNDA:1518,Kraiken.mint +DA:111,1518 +BRDA:111,7,0,1518 +DA:113,1518 +DA:114,1518 +BRDA:114,8,0,203 +DA:115,203 +DA:116,203 +DA:118,1518 +DA:120,1518 +BRDA:120,9,0,828 +DA:121,828 +DA:131,257 +FN:131,Kraiken.burn +FNDA:257,Kraiken.burn +DA:132,257 +BRDA:132,10,0,254 +DA:134,254 +DA:135,254 +BRDA:135,11,0,202 +DA:136,202 +DA:137,202 +DA:139,254 +DA:147,453 +FN:147,Kraiken.setPreviousTotalSupply +FNDA:453,Kraiken.setPreviousTotalSupply +DA:148,453 +DA:155,969 +FN:155,Kraiken.outstandingSupply +FNDA:969,Kraiken.outstandingSupply +DA:156,969 +FNF:10 +FNH:10 +LF:38 +LH:38 +BRF:15 +BRH:8 +end_of_record +TN: +SF:src/LiquidityManager.sol +DA:67,3 +FN:67,LiquidityManager.onlyFeeDestination +FNDA:3,LiquidityManager.onlyFeeDestination +DA:68,3 +BRDA:68,0,0,1 +BRDA:68,0,1,294 +DA:77,296 +FN:77,LiquidityManager.constructor +FNDA:296,LiquidityManager.constructor +DA:78,296 +DA:79,296 +DA:80,296 +DA:81,296 +DA:82,296 +DA:83,296 +DA:84,296 +DA:85,296 +DA:91,2901 +FN:91,LiquidityManager.uniswapV3MintCallback +FNDA:2901,LiquidityManager.uniswapV3MintCallback +DA:92,2901 +DA:95,2901 +DA:96,2901 +DA:97,2901 +BRDA:97,1,0,726 +DA:98,726 +DA:102,2901 +DA:103,2901 +BRDA:103,2,0,292 +DA:104,292 +DA:108,2901 +BRDA:108,3,0,1934 +DA:109,2901 +BRDA:109,4,0,1934 +DA:114,296 +FN:114,LiquidityManager.setFeeDestination +FNDA:296,LiquidityManager.setFeeDestination +DA:115,296 +BRDA:115,5,0,- +BRDA:115,5,1,296 +DA:116,296 +BRDA:116,6,0,1 +DA:117,295 +BRDA:117,7,0,1 +DA:118,294 +DA:123,295 +FN:123,LiquidityManager.setRecenterAccess +FNDA:295,LiquidityManager.setRecenterAccess +DA:124,294 +DA:128,3 +FN:128,LiquidityManager.revokeRecenterAccess +FNDA:3,LiquidityManager.revokeRecenterAccess +DA:129,3 +DA:134,1352 +FN:134,LiquidityManager.recenter +FNDA:1352,LiquidityManager.recenter +DA:135,1352 +DA:138,1352 +BRDA:138,8,0,1350 +BRDA:138,8,1,1 +DA:139,1350 +BRDA:139,9,0,11 +BRDA:139,9,1,1339 +DA:141,2 +BRDA:141,10,0,1 +BRDA:141,10,1,1 +DA:142,1 +BRDA:142,11,0,- +BRDA:142,11,1,1 +DA:144,1340 +DA:147,1340 +DA:148,1340 +BRDA:148,12,0,1048 +DA:149,1048 +DA:150,1048 +DA:151,1048 +DA:153,1048 +DA:154,1048 +DA:155,1048 +BRDA:155,13,0,373 +BRDA:155,13,1,675 +DA:160,967 +DA:161,967 +BRDA:161,14,0,524 +BRDA:161,14,1,226 +DA:163,524 +DA:164,443 +BRDA:164,15,0,442 +BRDA:164,15,1,226 +DA:167,442 +DA:170,1 +DA:172,967 +DA:174,967 +DA:177,453 +BRDA:177,16,0,453 +DA:178,453 +DA:182,967 +BRDA:182,17,0,967 +DA:184,966 +DA:191,966 +DA:192,1 +BRDA:192,17,1,1 +DA:194,1 +DA:201,1 +DA:204,967 +DA:209,967 +FN:209,LiquidityManager._scrapePositions +FNDA:967,LiquidityManager._scrapePositions +DA:210,967 +DA:211,967 +DA:212,967 +DA:214,967 +DA:215,2901 +DA:216,2901 +BRDA:216,18,0,2025 +DA:218,2025 +DA:220,2025 +DA:221,2025 +DA:224,2025 +DA:225,2025 +DA:228,2025 +BRDA:228,19,0,675 +DA:229,675 +DA:230,675 +DA:238,967 +BRDA:238,20,0,432 +DA:239,321 +BRDA:239,21,0,321 +BRDA:239,21,1,321 +DA:240,321 +DA:241,228 +BRDA:241,22,0,228 +DA:243,111 +DA:247,967 +BRDA:247,23,0,442 +DA:248,114 +BRDA:248,24,0,114 +BRDA:248,24,1,328 +DA:249,114 +DA:251,328 +DA:252,225 +BRDA:252,25,0,225 +DA:265,1 +FN:265,LiquidityManager._getPool +FNDA:1,LiquidityManager._getPool +DA:266,1 +DA:270,1 +FN:270,LiquidityManager._getKraikenToken +FNDA:1,LiquidityManager._getKraikenToken +DA:271,1 +DA:275,1 +FN:275,LiquidityManager._getWethToken +FNDA:1,LiquidityManager._getWethToken +DA:276,1 +DA:280,2901 +FN:280,LiquidityManager._isToken0Weth +FNDA:2901,LiquidityManager._isToken0Weth +DA:281,2901 +DA:285,2901 +FN:285,LiquidityManager._mintPosition +FNDA:2901,LiquidityManager._mintPosition +DA:286,2901 +DA:287,2901 +DA:291,1934 +FN:291,LiquidityManager._getEthBalance +FNDA:1934,LiquidityManager._getEthBalance +DA:292,1934 +DA:298,967 +FN:298,LiquidityManager._getOutstandingSupply +FNDA:967,LiquidityManager._getOutstandingSupply +DA:299,967 +DA:300,967 +BRDA:300,26,0,967 +DA:301,967 +DA:303,967 +DA:304,967 +BRDA:304,27,0,967 +DA:305,967 +DA:307,967 +FNF:15 +FNH:15 +LF:109 +LH:109 +BRF:40 +BRH:38 +end_of_record +TN: +SF:src/Optimizer.sol +DA:48,21 +FN:48,Optimizer.initialize +FNDA:21,Optimizer.initialize +DA:50,21 +DA:51,21 +DA:52,21 +DA:55,2 +FN:55,Optimizer.onlyAdmin +FNDA:2,Optimizer.onlyAdmin +DA:56,2 +DA:60,2 +FN:60,Optimizer._checkAdmin +FNDA:2,Optimizer._checkAdmin +DA:61,2 +BRDA:61,0,0,1 +DA:62,1 +DA:66,2 +FN:66,Optimizer._authorizeUpgrade +FNDA:2,Optimizer._authorizeUpgrade +DA:74,4 +FN:74,Optimizer.calculateSentiment +FNDA:4,Optimizer.calculateSentiment +DA:76,273 +BRDA:76,1,0,1 +BRDA:76,1,1,272 +DA:79,272 +DA:81,272 +BRDA:81,2,0,23 +BRDA:81,2,1,5 +DA:84,23 +DA:85,23 +DA:89,249 +DA:90,249 +DA:92,249 +BRDA:92,3,0,125 +BRDA:92,3,1,5 +DA:93,125 +DA:94,124 +BRDA:94,4,0,7 +BRDA:94,4,1,5 +DA:95,7 +DA:96,7 +DA:99,117 +DA:102,272 +DA:109,1 +FN:109,Optimizer.getSentiment +FNDA:1,Optimizer.getSentiment +DA:110,1 +DA:111,1 +DA:112,1 +DA:142,269 +FN:142,Optimizer._calculateAnchorWidth +FNDA:269,Optimizer._calculateAnchorWidth +DA:144,269 +DA:150,269 +DA:156,269 +DA:159,269 +DA:164,269 +BRDA:164,5,0,1 +DA:165,1 +DA:167,268 +BRDA:167,6,0,19 +DA:168,19 +DA:171,249 +DA:192,268 +FN:192,Optimizer.getLiquidityParams +FNDA:268,Optimizer.getLiquidityParams +DA:193,268 +DA:194,268 +DA:195,268 +DA:199,268 +BRDA:199,7,0,7 +DA:200,7 +DA:202,268 +DA:203,268 +DA:206,268 +DA:208,268 +FNF:8 +FNH:8 +LF:49 +LH:49 +BRF:12 +BRH:12 +end_of_record +TN: +SF:src/OptimizerV2.sol +DA:40,0 +FN:40,OptimizerV2.initialize +FNDA:0,OptimizerV2.initialize +DA:41,0 +DA:42,0 +DA:43,0 +DA:46,0 +FN:46,OptimizerV2.onlyAdmin +FNDA:0,OptimizerV2.onlyAdmin +DA:47,0 +DA:51,0 +FN:51,OptimizerV2._checkAdmin +FNDA:0,OptimizerV2._checkAdmin +DA:52,0 +BRDA:52,0,0,- +DA:53,0 +DA:57,0 +FN:57,OptimizerV2._authorizeUpgrade +FNDA:0,OptimizerV2._authorizeUpgrade +DA:64,0 +FN:64,OptimizerV2.calculateSentiment +FNDA:0,OptimizerV2.calculateSentiment +DA:65,0 +BRDA:65,1,0,- +BRDA:65,1,1,- +DA:67,0 +DA:69,0 +BRDA:69,2,0,- +BRDA:69,2,1,- +DA:70,0 +DA:71,0 +DA:73,0 +DA:74,0 +DA:75,0 +BRDA:75,3,0,- +BRDA:75,3,1,- +DA:76,0 +DA:77,0 +BRDA:77,4,0,- +BRDA:77,4,1,- +DA:78,0 +DA:79,0 +DA:81,0 +DA:86,0 +FN:86,OptimizerV2.getSentiment +FNDA:0,OptimizerV2.getSentiment +DA:87,0 +DA:88,0 +DA:89,0 +DA:105,0 +FN:105,OptimizerV2.getLiquidityParams +FNDA:0,OptimizerV2.getLiquidityParams +DA:106,0 +DA:107,0 +DA:108,0 +DA:110,0 +BRDA:110,5,0,- +DA:113,0 +DA:119,0 +DA:123,0 +DA:126,0 +DA:129,0 +FNF:7 +FNH:0 +LF:38 +LH:0 +BRF:10 +BRH:0 +end_of_record +TN: +SF:src/OptimizerV3.sol +DA:41,5 +FN:41,OptimizerV3.initialize +FNDA:5,OptimizerV3.initialize +DA:42,5 +DA:43,5 +DA:44,5 +DA:47,2 +FN:47,OptimizerV3.onlyAdmin +FNDA:2,OptimizerV3.onlyAdmin +DA:48,2 +DA:52,2 +FN:52,OptimizerV3._checkAdmin +FNDA:2,OptimizerV3._checkAdmin +DA:53,2 +BRDA:53,0,0,1 +DA:54,1 +DA:58,2 +FN:58,OptimizerV3._authorizeUpgrade +FNDA:2,OptimizerV3._authorizeUpgrade +DA:70,439 +FN:70,OptimizerV3._taxRateToEffectiveIndex +FNDA:439,OptimizerV3._taxRateToEffectiveIndex +DA:74,439 +DA:75,439 +BRDA:75,1,0,18 +BRDA:75,1,1,19 +DA:77,421 +BRDA:77,2,0,12 +BRDA:77,2,1,19 +DA:79,409 +BRDA:79,3,0,19 +BRDA:79,3,1,19 +DA:81,390 +BRDA:81,4,0,13 +BRDA:81,4,1,19 +DA:83,377 +BRDA:83,5,0,15 +BRDA:83,5,1,19 +DA:85,362 +BRDA:85,6,0,14 +BRDA:85,6,1,19 +DA:87,348 +BRDA:87,7,0,18 +BRDA:87,7,1,19 +DA:89,330 +BRDA:89,8,0,12 +BRDA:89,8,1,19 +DA:91,318 +BRDA:91,9,0,17 +BRDA:91,9,1,19 +DA:93,301 +BRDA:93,10,0,16 +BRDA:93,10,1,19 +DA:95,285 +BRDA:95,11,0,14 +BRDA:95,11,1,19 +DA:97,271 +BRDA:97,12,0,11 +BRDA:97,12,1,19 +DA:99,260 +BRDA:99,13,0,11 +BRDA:99,13,1,19 +DA:101,249 +BRDA:101,14,0,19 +BRDA:101,14,1,19 +DA:103,230 +BRDA:103,15,0,13 +BRDA:103,15,1,19 +DA:105,217 +BRDA:105,16,0,11 +BRDA:105,16,1,19 +DA:107,206 +BRDA:107,17,0,17 +BRDA:107,17,1,19 +DA:109,189 +BRDA:109,18,0,18 +BRDA:109,18,1,19 +DA:111,171 +BRDA:111,19,0,14 +BRDA:111,19,1,19 +DA:113,157 +BRDA:113,20,0,12 +BRDA:113,20,1,19 +DA:115,145 +BRDA:115,21,0,10 +BRDA:115,21,1,19 +DA:117,135 +BRDA:117,22,0,13 +BRDA:117,22,1,19 +DA:119,122 +BRDA:119,23,0,11 +BRDA:119,23,1,19 +DA:121,111 +BRDA:121,24,0,11 +BRDA:121,24,1,19 +DA:123,100 +BRDA:123,25,0,18 +BRDA:123,25,1,19 +DA:125,82 +BRDA:125,26,0,13 +BRDA:125,26,1,19 +DA:127,69 +BRDA:127,27,0,18 +BRDA:127,27,1,19 +DA:129,51 +BRDA:129,28,0,15 +BRDA:129,28,1,19 +DA:131,36 +BRDA:131,29,0,17 +BRDA:131,29,1,19 +DA:133,19 +DA:136,439 +BRDA:136,30,0,230 +DA:137,230 +DA:138,230 +BRDA:138,31,0,19 +DA:141,439 +DA:155,1024 +FN:155,OptimizerV3.isBullMarket +FNDA:1024,OptimizerV3.isBullMarket +DA:156,1028 +BRDA:156,32,0,1 +BRDA:156,32,1,1027 +DA:158,1027 +DA:159,1027 +DA:161,439 +DA:162,439 +DA:163,439 +DA:164,439 +DA:175,4 +FN:175,OptimizerV3.getLiquidityParams +FNDA:4,OptimizerV3.getLiquidityParams +DA:176,4 +DA:177,4 +DA:179,4 +DA:181,4 +BRDA:181,34,0,1 +BRDA:181,34,1,3 +DA:182,1 +DA:183,1 +DA:184,1 +DA:186,3 +DA:187,3 +DA:188,3 +FNF:7 +FNH:7 +LF:65 +LH:65 +BRF:65 +BRH:65 +end_of_record +TN: +SF:src/Stake.sol +DA:87,315 +FN:87,Stake.constructor +FNDA:315,Stake.constructor +DA:88,315 +DA:89,315 +DA:90,315 +DA:92,315 +DA:94,315 +DA:97,106 +FN:97,Stake.authorizedStake +FNDA:106,Stake.authorizedStake +DA:98,106 +DA:102,18 +FN:102,Stake._payTax +FNDA:18,Stake._payTax +DA:105,18 +DA:106,18 +DA:107,18 +DA:108,18 +DA:109,18 +BRDA:109,0,0,1 +DA:111,1 +DA:113,18 +BRDA:113,1,0,17 +BRDA:113,1,1,1 +DA:115,17 +DA:116,17 +DA:117,17 +DA:118,17 +DA:119,17 +DA:120,17 +DA:121,17 +DA:124,1 +DA:125,1 +DA:126,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:132,18 +DA:136,12 +FN:136,Stake._exitPosition +FNDA:12,Stake._exitPosition +DA:137,12 +DA:138,12 +DA:139,12 +DA:140,12 +DA:141,12 +DA:142,12 +DA:143,12 +DA:144,12 +DA:145,12 +DA:149,1 +FN:149,Stake._shrinkPosition +FNDA:1,Stake._shrinkPosition +DA:150,1 +BRDA:150,2,0,- +BRDA:150,2,1,1 +DA:151,1 +DA:152,1 +DA:153,1 +DA:154,1 +DA:155,1 +DA:156,1 +DA:162,8 +FN:162,Stake.assetsToShares +FNDA:8,Stake.assetsToShares +DA:163,63 +DA:169,1 +FN:169,Stake.sharesToAssets +FNDA:1,Stake.sharesToAssets +DA:170,33 +DA:180,37 +FN:180,Stake.snatch +FNDA:37,Stake.snatch +DA:182,38 +DA:186,38 +DA:187,38 +BRDA:187,3,0,1 +DA:188,1 +DA:191,37 +BRDA:191,4,0,1 +BRDA:191,4,1,36 +DA:193,36 +DA:194,36 +DA:196,36 +BRDA:196,5,0,4 +DA:198,4 +DA:199,4 +DA:200,4 +BRDA:200,6,0,1 +DA:201,1 +DA:204,3 +BRDA:204,7,0,1 +DA:205,1 +DA:207,2 +BRDA:207,8,0,2 +DA:208,2 +DA:211,2 +DA:212,2 +DA:215,34 +DA:217,34 +BRDA:217,9,0,6 +DA:219,6 +DA:220,6 +DA:221,6 +BRDA:221,10,0,1 +DA:222,1 +DA:225,5 +BRDA:225,11,0,1 +DA:226,1 +DA:228,4 +BRDA:228,12,0,2 +DA:229,2 +DA:232,4 +DA:233,4 +BRDA:233,13,0,1 +DA:234,1 +DA:236,3 +DA:237,3 +BRDA:237,14,0,2 +BRDA:237,14,1,1 +DA:238,2 +DA:240,1 +DA:243,31 +DA:245,31 +BRDA:245,15,0,1 +DA:246,1 +DA:250,30 +BRDA:250,16,0,1 +DA:251,1 +DA:255,29 +DA:258,29 +DA:259,29 +DA:260,29 +DA:261,29 +DA:262,29 +DA:263,29 +DA:264,29 +DA:266,29 +DA:267,29 +DA:268,29 +DA:279,1 +FN:279,Stake.permitAndSnatch +FNDA:1,Stake.permitAndSnatch +DA:295,1 +DA:296,1 +DA:303,6 +FN:303,Stake.changeTax +FNDA:6,Stake.changeTax +DA:304,6 +BRDA:304,17,0,1 +BRDA:304,17,1,5 +DA:305,5 +DA:306,5 +BRDA:306,18,0,1 +DA:307,1 +DA:309,4 +BRDA:309,19,0,1 +DA:310,1 +DA:313,3 +BRDA:313,20,0,2 +BRDA:313,20,1,1 +DA:314,1 +DA:315,1 +DA:316,1 +DA:317,1 +DA:318,1 +DA:324,9 +FN:324,Stake.exitPosition +FNDA:9,Stake.exitPosition +DA:325,9 +DA:326,9 +BRDA:326,21,0,1 +DA:327,1 +DA:329,8 +BRDA:329,22,0,- +DA:330,0 +DA:333,8 +DA:334,8 +DA:340,4 +FN:340,Stake.payTax +FNDA:4,Stake.payTax +DA:341,4 +DA:342,4 +BRDA:342,23,0,1 +DA:343,1 +DA:345,3 +DA:352,1 +FN:352,Stake.taxDue +FNDA:1,Stake.taxDue +DA:353,1 +DA:355,1 +DA:356,1 +DA:357,1 +DA:358,1 +DA:362,6 +FN:362,Stake.getAverageTaxRate +FNDA:6,Stake.getAverageTaxRate +DA:364,6 +DA:365,6 +BRDA:365,24,0,6 +DA:366,6 +DA:367,180 +DA:369,6 +DA:371,6 +DA:377,5 +FN:377,Stake.getPercentageStaked +FNDA:5,Stake.getPercentageStaked +DA:378,5 +FNF:15 +FNH:15 +LF:149 +LH:148 +BRF:31 +BRH:29 +end_of_record +TN: +SF:src/VWAPTracker.sol +DA:29,734 +FN:29,VWAPTracker._recordVolumeAndPrice +FNDA:734,VWAPTracker._recordVolumeAndPrice +DA:31,734 +DA:32,734 +DA:36,734 +BRDA:36,0,0,- +DA:39,0 +DA:40,0 +DA:43,734 +BRDA:43,1,0,3 +DA:46,3 +DA:47,3 +DA:51,3 +BRDA:51,2,0,- +DA:52,0 +DA:56,3 +BRDA:56,3,0,3 +DA:57,3 +DA:61,3 +DA:62,3 +DA:64,734 +DA:65,734 +DA:73,271 +FN:73,VWAPTracker.getVWAP +FNDA:271,VWAPTracker.getVWAP +DA:74,2489 +BRDA:74,4,0,1886 +BRDA:74,4,1,603 +DA:75,1886 +DA:77,603 +DA:87,262 +FN:87,VWAPTracker.getAdjustedVWAP +FNDA:262,VWAPTracker.getAdjustedVWAP +DA:88,2218 +DA:89,2218 +BRDA:89,5,0,1616 +BRDA:89,5,1,602 +DA:90,1616 +DA:92,602 +DA:100,1 +FN:100,VWAPTracker._resetVWAP +FNDA:1,VWAPTracker._resetVWAP +DA:101,1 +DA:102,1 +FNF:4 +FNH:4 +LF:29 +LH:26 +BRF:8 +BRH:6 +end_of_record +TN: +SF:src/abstracts/PriceOracle.sol +DA:24,8 +FN:24,PriceOracle._isPriceStable +FNDA:8,PriceOracle._isPriceStable +DA:25,8 +DA:27,8 +DA:28,8 +DA:29,8 +DA:31,8 +DA:32,8 +BRDA:32,0,0,8 +DA:33,5 +DA:34,5 +DA:35,3 +BRDA:35,0,1,3 +DA:37,3 +DA:38,3 +DA:39,3 +DA:40,3 +DA:41,3 +DA:44,8 +DA:54,1314 +FN:54,PriceOracle._validatePriceMovement +FNDA:1314,PriceOracle._validatePriceMovement +DA:64,1314 +DA:67,1314 +DA:68,1314 +FNF:2 +FNH:2 +LF:20 +LH:20 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/abstracts/ThreePositionStrategy.sol +DA:77,972 +FN:77,ThreePositionStrategy._setPositions +FNDA:972,ThreePositionStrategy._setPositions +DA:78,972 +DA:81,972 +DA:84,972 +DA:87,972 +DA:90,972 +DA:99,975 +FN:99,ThreePositionStrategy._setAnchorPosition +FNDA:975,ThreePositionStrategy._setAnchorPosition +DA:108,975 +DA:110,975 +DA:111,975 +DA:113,975 +DA:114,975 +DA:115,975 +DA:117,975 +DA:119,483 +BRDA:119,0,0,483 +BRDA:119,0,1,492 +DA:120,483 +DA:121,483 +DA:123,492 +DA:124,492 +DA:127,975 +DA:135,976 +FN:135,ThreePositionStrategy._setDiscoveryPosition +FNDA:976,ThreePositionStrategy._setDiscoveryPosition +DA:136,976 +DA:137,976 +DA:140,976 +DA:142,976 +DA:143,976 +DA:145,976 +DA:146,976 +DA:150,976 +DA:153,976 +DA:156,976 +DA:159,484 +BRDA:159,1,0,484 +BRDA:159,1,1,492 +DA:160,484 +DA:162,492 +DA:165,976 +DA:178,978 +FN:178,ThreePositionStrategy._setFloorPosition +FNDA:978,ThreePositionStrategy._setFloorPosition +DA:187,978 +DA:190,978 +DA:191,978 +DA:192,978 +DA:197,978 +DA:201,978 +DA:202,10 +BRDA:202,2,0,10 +BRDA:202,2,1,968 +DA:203,10 +DA:205,968 +DA:210,978 +DA:211,978 +DA:214,978 +DA:215,978 +DA:217,978 +DA:218,486 +BRDA:218,3,0,486 +BRDA:218,3,1,492 +DA:220,486 +DA:223,492 +DA:227,978 +DA:234,978 +FN:234,ThreePositionStrategy._computeFloorTickWithSignal +FNDA:978,ThreePositionStrategy._computeFloorTickWithSignal +DA:246,978 +DA:247,978 +DA:248,978 +BRDA:248,4,0,821 +DA:249,821 +DA:254,978 +DA:256,978 +DA:257,978 +BRDA:257,5,0,678 +DA:258,678 +DA:259,678 +DA:260,678 +DA:261,678 +BRDA:261,6,0,327 +DA:262,678 +DA:267,978 +DA:268,978 +DA:272,978 +DA:273,486 +BRDA:273,7,0,486 +BRDA:273,7,1,492 +DA:274,486 +DA:275,486 +BRDA:275,8,0,476 +DA:276,486 +BRDA:276,9,0,473 +DA:278,492 +DA:279,492 +BRDA:279,10,0,335 +DA:280,492 +BRDA:280,11,0,492 +FNF:5 +FNH:5 +LF:77 +LH:77 +BRF:17 +BRH:17 +end_of_record +TN: +SF:src/helpers/UniswapHelpers.sol +DA:13,293 +FN:13,UniswapHelpers.sqrt +FNDA:293,UniswapHelpers.sqrt +DA:14,293 +BRDA:14,0,0,293 +BRDA:14,0,1,- +DA:15,293 +DA:16,293 +DA:17,9890 +DA:18,9597 +DA:19,9597 +DA:21,0 +BRDA:21,1,0,- +DA:22,0 +DA:26,293 +FN:26,UniswapHelpers.calcPriceFor1Cent +FNDA:293,UniswapHelpers.calcPriceFor1Cent +DA:27,293 +DA:28,135 +BRDA:28,2,0,135 +BRDA:28,2,1,158 +DA:30,135 +DA:34,158 +DA:38,293 +DA:47,293 +FN:47,UniswapHelpers.initializePoolFor1Cent +FNDA:293,UniswapHelpers.initializePoolFor1Cent +DA:48,293 +DA:50,293 +DA:57,291 +FN:57,UniswapHelpers.deployUniswapFactory +FNDA:291,UniswapHelpers.deployUniswapFactory +DA:58,291 +DA:60,291 +DA:61,291 +DA:70,291 +FN:70,UniswapHelpers.deployContract +FNDA:291,UniswapHelpers.deployContract +DA:71,291 +DA:75,291 +DA:76,291 +BRDA:76,3,0,- +FNF:5 +FNH:5 +LF:26 +LH:24 +BRF:6 +BRH:3 +end_of_record +TN: +SF:src/libraries/UniswapMath.sol +DA:21,1083 +FN:21,UniswapMath._tickAtPrice +FNDA:1083,UniswapMath._tickAtPrice +DA:22,1083 +BRDA:22,0,0,1 +BRDA:22,0,1,1082 +DA:23,1082 +BRDA:23,1,0,1 +BRDA:23,1,1,1081 +DA:25,1 +DA:28,1081 +DA:30,1081 +DA:33,1082 +DA:39,1759 +FN:39,UniswapMath._tickAtPriceRatio +FNDA:1759,UniswapMath._tickAtPriceRatio +DA:41,1759 +DA:42,1759 +DA:50,937 +FN:50,UniswapMath._priceAtTick +FNDA:937,UniswapMath._priceAtTick +DA:51,937 +DA:52,937 +DA:59,6120 +FN:59,UniswapMath._clampToTickSpacing +FNDA:6120,UniswapMath._clampToTickSpacing +DA:61,6120 +DA:64,6120 +BRDA:64,2,0,98 +DA:65,6120 +BRDA:65,3,0,18 +FNF:4 +FNH:4 +LF:17 +LH:17 +BRF:6 +BRH:6 +end_of_record +TN: +SF:test/LiquidityManager.t.sol +DA:71,1 +FN:71,LiquidityManagerHarness.exposed_getKraikenToken +FNDA:1,LiquidityManagerHarness.exposed_getKraikenToken +DA:72,1 +DA:75,1 +FN:75,LiquidityManagerHarness.exposed_getWethToken +FNDA:1,LiquidityManagerHarness.exposed_getWethToken +DA:76,1 +DA:82,1 +FN:82,RevertingOptimizer.getLiquidityParams +FNDA:1,RevertingOptimizer.getLiquidityParams +DA:83,1 +DA:86,0 +FN:86,RevertingOptimizer.initialize +FNDA:0,RevertingOptimizer.initialize +FNF:4 +FNH:3 +LF:7 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/Optimizer.t.sol +DA:14,1 +FN:14,OptimizerHarness.exposed_calculateAnchorWidth +FNDA:1,OptimizerHarness.exposed_calculateAnchorWidth +DA:15,1 +FNF:1 +FNH:1 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/abstracts/PriceOracle.t.sol +DA:23,4 +FN:23,MockUniswapV3Pool.setTickCumulatives +FNDA:4,MockUniswapV3Pool.setTickCumulatives +DA:24,4 +DA:27,6 +FN:27,MockUniswapV3Pool.setLiquidityCumulatives +FNDA:6,MockUniswapV3Pool.setLiquidityCumulatives +DA:28,6 +DA:31,0 +FN:31,MockUniswapV3Pool.setShouldRevert +FNDA:0,MockUniswapV3Pool.setShouldRevert +DA:32,0 +DA:35,2 +FN:35,MockUniswapV3Pool.setFallbackTickCumulatives +FNDA:2,MockUniswapV3Pool.setFallbackTickCumulatives +DA:36,2 +DA:39,2 +FN:39,MockUniswapV3Pool.setRevertOnlyPrimary +FNDA:2,MockUniswapV3Pool.setRevertOnlyPrimary +DA:40,2 +DA:43,10 +FN:43,MockUniswapV3Pool.observe +FNDA:10,MockUniswapV3Pool.observe +DA:44,0 +BRDA:44,0,0,- +DA:45,0 +DA:48,10 +BRDA:48,1,0,3 +DA:49,3 +DA:51,7 +BRDA:51,2,0,3 +DA:52,3 +DA:54,4 +DA:62,17 +FN:62,MockPriceOracle.constructor +FNDA:17,MockPriceOracle.constructor +DA:63,17 +DA:66,7 +FN:66,MockPriceOracle._getPool +FNDA:7,MockPriceOracle._getPool +DA:67,7 +DA:71,7 +FN:71,MockPriceOracle.isPriceStable +FNDA:7,MockPriceOracle.isPriceStable +DA:72,7 +DA:75,266 +FN:75,MockPriceOracle.validatePriceMovement +FNDA:266,MockPriceOracle.validatePriceMovement +DA:85,266 +DA:88,17 +FN:88,MockPriceOracle.getMockPool +FNDA:17,MockPriceOracle.getMockPool +DA:89,17 +FNF:11 +FNH:10 +LF:28 +LH:24 +BRF:3 +BRH:2 +end_of_record +TN: +SF:test/abstracts/ThreePositionStrategy.t.sol +DA:32,18 +FN:32,MockThreePositionStrategy.constructor +FNDA:18,MockThreePositionStrategy.constructor +DA:33,18 +DA:34,18 +DA:35,18 +DA:36,18 +DA:37,18 +DA:41,1 +FN:41,MockThreePositionStrategy.setEthBalance +FNDA:1,MockThreePositionStrategy.setEthBalance +DA:42,1 +DA:45,1 +FN:45,MockThreePositionStrategy.setOutstandingSupply +FNDA:1,MockThreePositionStrategy.setOutstandingSupply +DA:46,1 +DA:49,5 +FN:49,MockThreePositionStrategy.setVWAP +FNDA:5,MockThreePositionStrategy.setVWAP +DA:51,5 +DA:52,5 +DA:55,1 +FN:55,MockThreePositionStrategy.clearMintedPositions +FNDA:1,MockThreePositionStrategy.clearMintedPositions +DA:56,1 +DA:59,5 +FN:59,MockThreePositionStrategy.getMintedPositionsCount +FNDA:5,MockThreePositionStrategy.getMintedPositionsCount +DA:60,5 +DA:63,19 +FN:63,MockThreePositionStrategy.getMintedPosition +FNDA:19,MockThreePositionStrategy.getMintedPosition +DA:64,19 +DA:68,5 +FN:68,MockThreePositionStrategy.setPositions +FNDA:5,MockThreePositionStrategy.setPositions +DA:69,5 +DA:72,3 +FN:72,MockThreePositionStrategy.setAnchorPosition +FNDA:3,MockThreePositionStrategy.setAnchorPosition +DA:73,3 +DA:76,4 +FN:76,MockThreePositionStrategy.setDiscoveryPosition +FNDA:4,MockThreePositionStrategy.setDiscoveryPosition +DA:77,4 +DA:80,6 +FN:80,MockThreePositionStrategy.setFloorPosition +FNDA:6,MockThreePositionStrategy.setFloorPosition +DA:81,6 +DA:85,0 +FN:85,MockThreePositionStrategy._getKraikenToken +FNDA:0,MockThreePositionStrategy._getKraikenToken +DA:86,0 +DA:89,0 +FN:89,MockThreePositionStrategy._getWethToken +FNDA:0,MockThreePositionStrategy._getWethToken +DA:90,0 +DA:93,28 +FN:93,MockThreePositionStrategy._isToken0Weth +FNDA:28,MockThreePositionStrategy._isToken0Weth +DA:94,28 +DA:97,28 +FN:97,MockThreePositionStrategy._mintPosition +FNDA:28,MockThreePositionStrategy._mintPosition +DA:98,28 +DA:100,28 +DA:103,16 +FN:103,MockThreePositionStrategy._getEthBalance +FNDA:16,MockThreePositionStrategy._getEthBalance +DA:104,16 +DA:107,11 +FN:107,MockThreePositionStrategy._getOutstandingSupply +FNDA:11,MockThreePositionStrategy._getOutstandingSupply +DA:108,11 +FNF:17 +FNH:15 +LF:40 +LH:36 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/helpers/LiquidityBoundaryHelper.sol +DA:18,5102 +FN:18,LiquidityBoundaryHelper.calculateBuyLimit +FNDA:5102,LiquidityBoundaryHelper.calculateBuyLimit +DA:19,5102 +DA:21,5102 +DA:22,5102 +DA:24,5102 +BRDA:24,0,0,- +DA:25,0 +DA:28,2474 +BRDA:28,1,0,2474 +DA:29,2474 +DA:32,2628 +DA:38,283 +FN:38,LiquidityBoundaryHelper.calculateSellLimit +FNDA:283,LiquidityBoundaryHelper.calculateSellLimit +DA:39,283 +DA:41,283 +DA:42,283 +DA:44,283 +BRDA:44,2,0,- +DA:45,0 +DA:48,123 +BRDA:48,3,0,123 +DA:49,123 +DA:52,160 +DA:55,2474 +FN:55,LiquidityBoundaryHelper._calculateBuyLimitToken0IsWeth +FNDA:2474,LiquidityBoundaryHelper._calculateBuyLimitToken0IsWeth +DA:68,2474 +BRDA:68,4,0,- +DA:69,0 +DA:72,2474 +DA:73,2474 +BRDA:73,5,0,- +DA:74,0 +DA:77,2474 +DA:79,2474 +BRDA:79,6,0,2032 +DA:80,2032 +DA:81,2032 +DA:84,2474 +BRDA:84,7,0,- +DA:85,0 +DA:86,0 +BRDA:86,8,0,- +DA:87,0 +DA:91,2474 +DA:94,2628 +FN:94,LiquidityBoundaryHelper._calculateBuyLimitToken1IsWeth +FNDA:2628,LiquidityBoundaryHelper._calculateBuyLimitToken1IsWeth +DA:107,2628 +BRDA:107,9,0,- +DA:108,0 +DA:111,2628 +DA:112,2628 +BRDA:112,10,0,- +DA:113,0 +DA:116,2628 +DA:118,2628 +BRDA:118,11,0,2057 +DA:119,2057 +DA:120,2057 +DA:123,2628 +BRDA:123,12,0,- +DA:124,0 +DA:125,0 +BRDA:125,13,0,- +DA:126,0 +DA:130,2628 +DA:133,123 +FN:133,LiquidityBoundaryHelper._calculateSellLimitToken0IsWeth +FNDA:123,LiquidityBoundaryHelper._calculateSellLimitToken0IsWeth +DA:146,123 +BRDA:146,14,0,- +DA:147,0 +DA:150,123 +DA:151,123 +BRDA:151,15,0,17 +DA:152,17 +DA:155,106 +DA:157,106 +BRDA:157,16,0,106 +DA:158,106 +DA:159,106 +DA:162,106 +BRDA:162,17,0,- +DA:163,0 +DA:164,0 +BRDA:164,18,0,- +DA:165,0 +DA:169,106 +DA:172,160 +FN:172,LiquidityBoundaryHelper._calculateSellLimitToken1IsWeth +FNDA:160,LiquidityBoundaryHelper._calculateSellLimitToken1IsWeth +DA:185,160 +BRDA:185,19,0,- +DA:186,0 +DA:189,160 +DA:190,160 +BRDA:190,20,0,35 +DA:191,35 +DA:194,125 +DA:196,125 +BRDA:196,21,0,125 +DA:197,125 +DA:198,125 +DA:201,125 +BRDA:201,22,0,- +DA:202,0 +DA:203,0 +BRDA:203,23,0,- +DA:204,0 +DA:208,125 +DA:211,2032 +FN:211,LiquidityBoundaryHelper._calculateEthToMoveBetweenTicks +FNDA:2032,LiquidityBoundaryHelper._calculateEthToMoveBetweenTicks +DA:212,2032 +BRDA:212,24,0,- +DA:213,0 +DA:216,2032 +DA:217,2032 +DA:218,2032 +DA:221,2057 +FN:221,LiquidityBoundaryHelper._calculateEthToMoveBetweenTicksDown +FNDA:2057,LiquidityBoundaryHelper._calculateEthToMoveBetweenTicksDown +DA:222,2057 +BRDA:222,25,0,- +DA:223,0 +DA:226,2057 +DA:227,2057 +DA:228,2057 +DA:231,106 +FN:231,LiquidityBoundaryHelper._calculateHarbToMoveBetweenTicks +FNDA:106,LiquidityBoundaryHelper._calculateHarbToMoveBetweenTicks +DA:232,106 +BRDA:232,26,0,- +DA:233,0 +DA:236,106 +DA:237,106 +DA:238,106 +DA:241,125 +FN:241,LiquidityBoundaryHelper._calculateHarbToMoveUpBetweenTicks +FNDA:125,LiquidityBoundaryHelper._calculateHarbToMoveUpBetweenTicks +DA:242,125 +BRDA:242,27,0,- +DA:243,0 +DA:246,125 +DA:247,125 +DA:248,125 +FNF:10 +FNH:10 +LF:102 +LH:78 +BRF:28 +BRH:8 +end_of_record +TN: +SF:test/helpers/TestBase.sol +DA:38,16 +FN:38,TestConstants.getDefaultParams +FNDA:16,TestConstants.getDefaultParams +DA:39,16 +DA:52,11 +FN:52,TestConstants.bp +FNDA:11,TestConstants.bp +DA:53,11 +DA:61,6 +FN:61,TestConstants.denormTR +FNDA:6,TestConstants.denormTR +DA:62,6 +DA:87,30 +FN:87,TestEnvironment.constructor +FNDA:30,TestEnvironment.constructor +DA:88,30 +DA:104,279 +FN:104,TestEnvironment.setupEnvironment +FNDA:279,TestEnvironment.setupEnvironment +DA:121,279 +DA:124,279 +DA:127,279 +DA:130,279 +DA:133,279 +DA:136,279 +DA:137,279 +DA:139,279 +DA:146,293 +FN:146,TestEnvironment._deployTokensWithOrder +FNDA:293,TestEnvironment._deployTokensWithOrder +DA:147,293 +DA:148,293 +DA:150,867 +DA:152,574 +BRDA:152,0,0,281 +DA:154,281 +DA:157,574 +DA:158,574 +DA:161,574 +BRDA:161,1,0,293 +BRDA:161,1,1,281 +DA:162,293 +DA:165,281 +DA:166,281 +DA:167,281 +DA:170,293 +BRDA:170,2,0,- +BRDA:170,2,1,293 +DA:176,293 +FN:176,TestEnvironment._createAndInitializePool +FNDA:293,TestEnvironment._createAndInitializePool +DA:177,293 +DA:178,293 +DA:179,293 +DA:185,279 +FN:185,TestEnvironment._deployProtocolContracts +FNDA:279,TestEnvironment._deployProtocolContracts +DA:186,279 +DA:187,279 +DA:188,279 +DA:189,279 +DA:190,279 +DA:196,293 +FN:196,TestEnvironment._configurePermissions +FNDA:293,TestEnvironment._configurePermissions +DA:197,293 +DA:198,293 +DA:199,293 +DA:216,3 +FN:216,TestEnvironment.setupEnvironmentWithOptimizer +FNDA:3,TestEnvironment.setupEnvironmentWithOptimizer +DA:234,3 +DA:237,3 +DA:240,3 +DA:243,3 +DA:244,3 +DA:245,3 +DA:246,3 +DA:249,3 +DA:252,3 +DA:253,3 +DA:255,3 +DA:273,11 +FN:273,TestEnvironment.setupEnvironmentWithExistingFactory +FNDA:11,TestEnvironment.setupEnvironmentWithExistingFactory +DA:292,11 +DA:295,11 +DA:298,11 +DA:301,11 +DA:302,11 +DA:303,11 +DA:304,11 +DA:307,11 +DA:310,11 +DA:311,11 +DA:313,11 +FNF:11 +FNH:11 +LF:69 +LH:69 +BRF:5 +BRH:4 +end_of_record +TN: +SF:test/helpers/UniswapTestBase.sol +DA:30,0 +FN:30,UniSwapHelper.performSwap +FNDA:0,UniSwapHelper.performSwap +DA:31,5371 +DA:33,5371 +DA:35,5099 +BRDA:35,0,0,5099 +BRDA:35,0,1,272 +DA:36,5099 +DA:37,5099 +DA:39,272 +DA:40,272 +DA:45,5371 +DA:47,2623 +BRDA:47,1,0,2623 +BRDA:47,1,1,2748 +DA:50,2623 +DA:52,2623 +BRDA:52,2,0,- +BRDA:52,2,1,2623 +DA:55,0 +DA:58,2623 +DA:63,2748 +DA:65,2748 +BRDA:65,3,0,- +BRDA:65,3,1,2748 +DA:68,0 +DA:71,2748 +DA:75,5371 +DA:83,0 +FN:83,UniSwapHelper.performSwapWithAggressiveLimits +FNDA:0,UniSwapHelper.performSwapWithAggressiveLimits +DA:84,0 +DA:86,0 +DA:88,0 +BRDA:88,4,0,- +BRDA:88,4,1,- +DA:89,0 +DA:90,0 +DA:92,0 +DA:93,0 +DA:97,0 +BRDA:97,5,0,- +BRDA:97,5,1,- +DA:100,0 +DA:104,0 +DA:107,0 +DA:113,5371 +FN:113,UniSwapHelper.uniswapV3SwapCallback +FNDA:5371,UniSwapHelper.uniswapV3SwapCallback +DA:115,5371 +BRDA:115,6,0,5371 +DA:116,5371 +DA:119,5370 +BRDA:119,7,0,- +BRDA:119,7,1,5370 +DA:121,5370 +DA:123,5370 +DA:124,5098 +BRDA:124,8,0,5098 +BRDA:124,8,1,272 +DA:125,5098 +DA:127,272 +BRDA:127,9,0,- +BRDA:127,9,1,272 +DA:135,0 +FN:135,UniSwapHelper.uniswapV3MintCallback +FNDA:0,UniSwapHelper.uniswapV3MintCallback +DA:138,0 +DA:139,0 +BRDA:139,10,0,- +DA:140,0 +DA:141,0 +DA:145,0 +DA:146,0 +BRDA:146,11,0,- +DA:147,0 +DA:149,0 +BRDA:149,12,0,- +DA:150,0 +DA:172,1290 +FN:172,UniSwapHelper.handleExtremePrice +FNDA:1290,UniSwapHelper.handleExtremePrice +DA:173,1290 +DA:175,1290 +DA:176,1290 +DA:178,1290 +BRDA:178,13,0,- +BRDA:178,13,1,1290 +DA:179,0 +DA:180,0 +DA:181,1290 +BRDA:181,14,0,- +BRDA:181,14,1,1290 +DA:182,0 +DA:183,0 +DA:186,1290 +DA:195,0 +FN:195,UniSwapHelper._executeNormalizingTrade +FNDA:0,UniSwapHelper._executeNormalizingTrade +DA:196,0 +BRDA:196,15,0,- +BRDA:196,15,1,- +DA:199,0 +DA:200,0 +BRDA:200,16,0,- +DA:202,0 +DA:203,0 +BRDA:203,17,0,- +DA:205,0 +DA:206,0 +DA:207,0 +DA:210,0 +DA:215,0 +DA:216,0 +BRDA:216,18,0,- +DA:218,0 +DA:219,0 +BRDA:219,19,0,- +DA:222,0 +DA:236,5094 +FN:236,UniSwapHelper.buyLimitToLiquidityBoundary +FNDA:5094,UniSwapHelper.buyLimitToLiquidityBoundary +DA:239,5094 +BRDA:239,20,0,5094 +DA:240,5094 +DA:241,0 +BRDA:241,20,1,- +DA:242,0 +DA:251,273 +FN:251,UniSwapHelper.sellLimitToLiquidityBoundary +FNDA:273,UniSwapHelper.sellLimitToLiquidityBoundary +DA:252,273 +BRDA:252,21,0,273 +DA:253,273 +DA:254,0 +BRDA:254,21,1,- +DA:255,0 +DA:264,0 +FN:264,UniSwapHelper.getLiquidityManager +FNDA:0,UniSwapHelper.getLiquidityManager +DA:265,0 +DA:272,5095 +FN:272,UniSwapHelper.buyRaw +FNDA:5095,UniSwapHelper.buyRaw +DA:273,5095 +DA:281,272 +FN:281,UniSwapHelper.sellRaw +FNDA:272,UniSwapHelper.sellRaw +DA:282,272 +FNF:11 +FNH:6 +LF:92 +LH:42 +BRF:36 +BRH:15 +end_of_record +TN: +SF:test/libraries/UniswapMath.t.sol +DA:14,262 +FN:14,MockUniswapMath.tickAtPrice +FNDA:262,MockUniswapMath.tickAtPrice +DA:15,262 +DA:18,0 +FN:18,MockUniswapMath.tickAtPriceRatio +FNDA:0,MockUniswapMath.tickAtPriceRatio +DA:19,0 +DA:22,262 +FN:22,MockUniswapMath.priceAtTick +FNDA:262,MockUniswapMath.priceAtTick +DA:23,262 +DA:26,262 +FN:26,MockUniswapMath.clampToTickSpacing +FNDA:262,MockUniswapMath.clampToTickSpacing +DA:27,262 +FNF:4 +FNH:3 +LF:8 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/BearMarketOptimizer.sol +DA:9,0 +FN:9,BearMarketOptimizer.calculateSentiment +FNDA:0,BearMarketOptimizer.calculateSentiment +DA:10,0 +DA:14,0 +FN:14,BearMarketOptimizer.getSentiment +FNDA:0,BearMarketOptimizer.getSentiment +DA:15,0 +DA:23,0 +FN:23,BearMarketOptimizer.getLiquidityParams +FNDA:0,BearMarketOptimizer.getLiquidityParams +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:30,0 +FN:30,BearMarketOptimizer.getDescription +FNDA:0,BearMarketOptimizer.getDescription +DA:31,0 +FNF:4 +FNH:0 +LF:11 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/BullMarketOptimizer.sol +DA:9,0 +FN:9,BullMarketOptimizer.calculateSentiment +FNDA:0,BullMarketOptimizer.calculateSentiment +DA:10,0 +DA:14,0 +FN:14,BullMarketOptimizer.getSentiment +FNDA:0,BullMarketOptimizer.getSentiment +DA:15,0 +DA:23,2 +FN:23,BullMarketOptimizer.getLiquidityParams +FNDA:2,BullMarketOptimizer.getLiquidityParams +DA:24,2 +DA:25,2 +DA:26,2 +DA:27,2 +DA:30,0 +FN:30,BullMarketOptimizer.getDescription +FNDA:0,BullMarketOptimizer.getDescription +DA:31,0 +FNF:4 +FNH:1 +LF:11 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/ConfigurableOptimizer.sol +DA:13,11 +FN:13,ConfigurableOptimizer.constructor +FNDA:11,ConfigurableOptimizer.constructor +DA:14,11 +DA:15,11 +DA:16,11 +DA:17,11 +DA:20,0 +FN:20,ConfigurableOptimizer.setParams +FNDA:0,ConfigurableOptimizer.setParams +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:27,0 +FN:27,ConfigurableOptimizer.calculateSentiment +FNDA:0,ConfigurableOptimizer.calculateSentiment +DA:28,0 +DA:31,0 +FN:31,ConfigurableOptimizer.getSentiment +FNDA:0,ConfigurableOptimizer.getSentiment +DA:32,0 +DA:35,36 +FN:35,ConfigurableOptimizer.getLiquidityParams +FNDA:36,ConfigurableOptimizer.getLiquidityParams +DA:36,36 +DA:37,36 +DA:38,36 +DA:39,36 +DA:42,0 +FN:42,ConfigurableOptimizer.getDescription +FNDA:0,ConfigurableOptimizer.getDescription +DA:43,0 +FNF:6 +FNH:2 +LF:21 +LH:10 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/ExtremeOptimizer.sol +DA:12,0 +FN:12,ExtremeOptimizer.getOptimalParameters +FNDA:0,ExtremeOptimizer.getOptimalParameters +DA:20,0 +DA:23,0 +DA:25,0 +BRDA:25,0,0,- +BRDA:25,0,1,- +DA:27,0 +DA:33,0 +BRDA:33,1,0,- +BRDA:33,1,1,- +DA:35,0 +DA:41,0 +BRDA:41,2,0,- +BRDA:41,2,1,- +DA:43,0 +DA:49,0 +BRDA:49,3,0,- +BRDA:49,3,1,- +DA:51,0 +DA:59,0 +FNF:1 +FNH:0 +LF:12 +LH:0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:test/mocks/MaliciousOptimizer.sol +DA:12,0 +FN:12,MaliciousOptimizer.getOptimalParameters +FNDA:0,MaliciousOptimizer.getOptimalParameters +DA:20,0 +DA:24,0 +BRDA:24,0,0,- +DA:25,0 +DA:34,0 +BRDA:34,1,0,- +DA:35,0 +DA:44,0 +BRDA:44,2,0,- +DA:45,0 +DA:54,0 +DA:57,0 +FN:57,MaliciousOptimizer.calculateSentiment +FNDA:0,MaliciousOptimizer.calculateSentiment +DA:58,0 +FNF:2 +FNH:0 +LF:11 +LH:0 +BRF:3 +BRH:0 +end_of_record +TN: +SF:test/mocks/MockKraiken.sol +DA:11,0 +FN:11,MockKraiken.totalSupply +FNDA:0,MockKraiken.totalSupply +DA:12,0 +FNF:1 +FNH:0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/MockOptimizer.sol +DA:25,279 +FN:25,MockOptimizer.initialize +FNDA:279,MockOptimizer.initialize +DA:26,279 +DA:27,279 +DA:28,279 +DA:34,0 +FN:34,MockOptimizer.onlyAdmin +FNDA:0,MockOptimizer.onlyAdmin +DA:35,0 +DA:42,0 +FN:42,MockOptimizer._checkAdmin +FNDA:0,MockOptimizer._checkAdmin +DA:43,0 +BRDA:43,0,0,- +DA:44,0 +DA:48,0 +FN:48,MockOptimizer._authorizeUpgrade +FNDA:0,MockOptimizer._authorizeUpgrade +DA:55,0 +FN:55,MockOptimizer.setLiquidityParams +FNDA:0,MockOptimizer.setLiquidityParams +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:62,0 +FN:62,MockOptimizer.calculateSentiment +FNDA:0,MockOptimizer.calculateSentiment +DA:63,0 +DA:68,0 +FN:68,MockOptimizer.getSentiment +FNDA:0,MockOptimizer.getSentiment +DA:69,0 +DA:70,0 +DA:71,0 +DA:79,928 +FN:79,MockOptimizer.getLiquidityParams +FNDA:928,MockOptimizer.getLiquidityParams +DA:80,928 +DA:81,928 +DA:82,928 +DA:83,928 +FNF:8 +FNH:2 +LF:26 +LH:9 +BRF:1 +BRH:0 +end_of_record +TN: +SF:test/mocks/MockStake.sol +DA:17,269 +FN:17,MockStake.setPercentageStaked +FNDA:269,MockStake.setPercentageStaked +DA:18,269 +BRDA:18,0,0,- +BRDA:18,0,1,269 +DA:19,269 +DA:26,269 +FN:26,MockStake.setAverageTaxRate +FNDA:269,MockStake.setAverageTaxRate +DA:27,269 +BRDA:27,1,0,- +BRDA:27,1,1,269 +DA:28,269 +DA:35,273 +FN:35,MockStake.getPercentageStaked +FNDA:273,MockStake.getPercentageStaked +DA:36,273 +DA:43,273 +FN:43,MockStake.getAverageTaxRate +FNDA:273,MockStake.getAverageTaxRate +DA:44,273 +FNF:4 +FNH:4 +LF:10 +LH:10 +BRF:4 +BRH:2 +end_of_record +TN: +SF:test/mocks/MockVWAPTracker.sol +DA:17,281 +FN:17,MockVWAPTracker.recordVolumeAndPrice +FNDA:281,MockVWAPTracker.recordVolumeAndPrice +DA:18,281 +DA:24,1 +FN:24,MockVWAPTracker.resetVWAP +FNDA:1,MockVWAPTracker.resetVWAP +DA:25,1 +FNF:2 +FNH:2 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/NeutralMarketOptimizer.sol +DA:9,0 +FN:9,NeutralMarketOptimizer.calculateSentiment +FNDA:0,NeutralMarketOptimizer.calculateSentiment +DA:10,0 +DA:14,0 +FN:14,NeutralMarketOptimizer.getSentiment +FNDA:0,NeutralMarketOptimizer.getSentiment +DA:15,0 +DA:23,0 +FN:23,NeutralMarketOptimizer.getLiquidityParams +FNDA:0,NeutralMarketOptimizer.getLiquidityParams +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:30,0 +FN:30,NeutralMarketOptimizer.getDescription +FNDA:0,NeutralMarketOptimizer.getDescription +DA:31,0 +FNF:4 +FNH:0 +LF:11 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/RandomScenarioOptimizer.sol +DA:9,0 +FN:9,RandomScenarioOptimizer.initialize +FNDA:0,RandomScenarioOptimizer.initialize +DA:10,0 +DA:11,0 +DA:12,0 +DA:15,0 +FN:15,RandomScenarioOptimizer.setRandomParams +FNDA:0,RandomScenarioOptimizer.setRandomParams +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:31,0 +FN:31,RandomScenarioOptimizer.getDescription +FNDA:0,RandomScenarioOptimizer.getDescription +DA:32,0 +FNF:3 +FNH:0 +LF:12 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/mocks/WhaleOptimizer.sol +DA:13,0 +FN:13,WhaleOptimizer.calculateSentiment +FNDA:0,WhaleOptimizer.calculateSentiment +DA:14,0 +DA:17,0 +FN:17,WhaleOptimizer.getSentiment +FNDA:0,WhaleOptimizer.getSentiment +DA:18,0 +DA:21,0 +FN:21,WhaleOptimizer.getLiquidityParams +FNDA:0,WhaleOptimizer.getLiquidityParams +DA:22,0 +DA:30,0 +FN:30,WhaleOptimizer.getDescription +FNDA:0,WhaleOptimizer.getDescription +DA:31,0 +FNF:4 +FNH:0 +LF:8 +LH:0 +BRF:0 +BRH:0 +end_of_record