From 7eef96f36648a7017d5040d83e6bb003792cdcf1 Mon Sep 17 00:00:00 2001 From: johba Date: Mon, 18 Aug 2025 22:09:03 +0200 Subject: [PATCH] recorded fuzzing --- .../analysis/ImprovedFuzzingAnalysis.s.sol | 25 +- .../analysis/RecordedFuzzingAnalysis.s.sol | 121 +- onchain/analysis/run-recorded-fuzzing.sh | 7 +- onchain/foundry.toml | 2 +- .../fuzzing.log | 2981 ----------------- ...proved_positions_BullMarketOptimizer_0.csv | 5 - ...proved_positions_BullMarketOptimizer_1.csv | 7 - .../index.txt | 20 - .../replay_250818-JY0U_seed0.sol | 37 - .../replay_250818-JY0U_seed1.sol | 43 - .../scenario_250818-JY0U_seed0.json | 1 - .../scenario_250818-JY0U_seed1.json | 1 - .../summary_250818-JY0U_seed0.txt | 21 - .../summary_250818-JY0U_seed1.txt | 23 - .../fuzzing.log | 2981 ----------------- ...proved_positions_BullMarketOptimizer_0.csv | 5 - ...proved_positions_BullMarketOptimizer_1.csv | 7 - .../index.txt | 20 - .../replay_250818-WAER_seed0.sol | 37 - .../replay_250818-WAER_seed1.sol | 43 - .../scenario_250818-WAER_seed0.json | 1 - .../scenario_250818-WAER_seed1.json | 1 - .../summary_250818-WAER_seed0.txt | 21 - .../summary_250818-WAER_seed1.txt | 23 - .../fuzzing.log | 91 - 25 files changed, 56 insertions(+), 6468 deletions(-) delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/fuzzing.log delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_0.csv delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_1.csv delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/index.txt delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed0.sol delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed1.sol delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed0.json delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed1.json delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed0.txt delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed1.txt delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/fuzzing.log delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_0.csv delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_1.csv delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/index.txt delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed0.sol delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed1.sol delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed0.json delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed1.json delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed0.txt delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed1.txt delete mode 100644 onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211422/fuzzing.log diff --git a/onchain/analysis/ImprovedFuzzingAnalysis.s.sol b/onchain/analysis/ImprovedFuzzingAnalysis.s.sol index 8a51ccc..49a6ea3 100644 --- a/onchain/analysis/ImprovedFuzzingAnalysis.s.sol +++ b/onchain/analysis/ImprovedFuzzingAnalysis.s.sol @@ -30,6 +30,9 @@ contract ImprovedFuzzingAnalysis is Test, CSVManager { LiquidityManager lm; bool token0isWeth; + // Reusable swap executor to avoid repeated deployments + SwapExecutor swapExecutor; + address account = makeAddr("trader"); address whale = makeAddr("whale"); address feeDestination = makeAddr("fees"); @@ -87,15 +90,23 @@ contract ImprovedFuzzingAnalysis is Test, CSVManager { vm.prank(whale); weth.deposit{value: whaleFund}(); + // Create SwapExecutor once per scenario to avoid repeated deployments + swapExecutor = new SwapExecutor(pool, weth, harberg, token0isWeth); + uint256 initialBalance = weth.balanceOf(account); // Initial recenter vm.prank(feeDestination); lm.recenter(); - // Initialize position tracking + // Initialize position tracking (skip CSV init if already done) if (trackPositions) { - initializePositionsCSV(); + if (seed == 0) { + // Only initialize CSV for first seed if not already initialized + if (bytes(csv).length == 0) { + initializePositionsCSV(); + } + } _recordPositionData("Initial"); } @@ -402,21 +413,19 @@ contract ImprovedFuzzingAnalysis is Test, CSVManager { function _executeBuy(address buyer, uint256 amount) internal virtual { if (amount == 0 || weth.balanceOf(buyer) < amount) return; - SwapExecutor executor = new SwapExecutor(pool, weth, harberg, token0isWeth); vm.prank(buyer); - weth.transfer(address(executor), amount); + weth.transfer(address(swapExecutor), amount); - try executor.executeBuy(amount, buyer) {} catch {} + try swapExecutor.executeBuy(amount, buyer) {} catch {} } function _executeSell(address seller, uint256 amount) internal virtual { if (amount == 0 || harberg.balanceOf(seller) < amount) return; - SwapExecutor executor = new SwapExecutor(pool, weth, harberg, token0isWeth); vm.prank(seller); - harberg.transfer(address(executor), amount); + harberg.transfer(address(swapExecutor), amount); - try executor.executeSell(amount, seller) {} catch {} + try swapExecutor.executeSell(amount, seller) {} catch {} } function _getOptimizerByClass(string memory class) internal returns (address) { diff --git a/onchain/analysis/RecordedFuzzingAnalysis.s.sol b/onchain/analysis/RecordedFuzzingAnalysis.s.sol index 0d46c13..c890727 100644 --- a/onchain/analysis/RecordedFuzzingAnalysis.s.sol +++ b/onchain/analysis/RecordedFuzzingAnalysis.s.sol @@ -13,6 +13,9 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { ScenarioRecorder public recorder; bool public enableRecording = true; string public runId; // Unique identifier for this run + bool private isRecordingProfitable; // Only record if scenario is profitable + + // Constructor removed - set trackPositions in run() instead // Store actions for current scenario struct ActionRecord { @@ -32,42 +35,29 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { // Get run ID from environment or generate default runId = vm.envOr("RUN_ID", string("LOCAL")); + // Force position tracking to be enabled for CSV generation + vm.setEnv("TRACK_POSITIONS", "true"); + console.log("=== RECORDED Fuzzing Analysis ==="); console.log(string.concat("Run ID: ", runId)); console.log("Recording enabled for profitable scenario replay"); + super.run(); } + // Override to add recording for profitable scenarios function _runImprovedScenario(uint256 seed) internal override returns (uint256 finalBalance, bool reachedDiscovery) { - // Initialize recorder for this scenario - if (enableRecording) { - recorder = new ScenarioRecorder(); - // Always track positions when recording to generate CSV for visualizer - trackPositions = true; - recorder.initializeScenario( - seed, - optimizerClass, - 200 ether, // LM initial ETH - weth.balanceOf(account) + weth.balanceOf(whale), // Total trader ETH - token0isWeth, - 10000 // Pool fee - ); - delete currentActions; // Clear previous scenario - } + // Clear previous scenario + delete currentActions; + isRecordingProfitable = false; - // Record initial state - _recordState("INITIAL", address(0), 0); - - // Run the scenario with recording + // Run the base scenario (finalBalance, reachedDiscovery) = super._runImprovedScenario(seed); - // Record final state - _recordState("FINAL", address(0), 0); - - // If profitable, export the recording - uint256 initialBalance = 50 ether; // Approximate initial - if (finalBalance > initialBalance && enableRecording) { - _exportScenario(seed, initialBalance, finalBalance, reachedDiscovery); + // Export summary if profitable + uint256 initialBalance = 50 ether; + if (finalBalance > initialBalance && reachedDiscovery) { + _exportSummary(seed, initialBalance, finalBalance, reachedDiscovery); } return (finalBalance, reachedDiscovery); @@ -79,22 +69,13 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { (, int24 tickBefore,,,,,) = pool.slot0(); - // Record pre-state - if (enableRecording) { - _recordState("PRE_BUY", buyer, amount); - recorder.recordBuy(buyer, amount, 0, 0); - } - // Execute trade super._executeBuy(buyer, amount); (, int24 tickAfter,,,,,) = pool.slot0(); - // Record post-state and action - if (enableRecording) { - _recordState("POST_BUY", buyer, amount); - _recordAction("BUY", buyer, amount, tickBefore, tickAfter); - } + // Only record action summary (not full state) + _recordAction("BUY", buyer, amount, tickBefore, tickAfter); } function _executeSell(address seller, uint256 amount) internal override { @@ -102,22 +83,13 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { (, int24 tickBefore,,,,,) = pool.slot0(); - // Record pre-state - if (enableRecording) { - _recordState("PRE_SELL", seller, amount); - recorder.recordSell(seller, amount, 0, 0); - } - // Execute trade super._executeSell(seller, amount); (, int24 tickAfter,,,,,) = pool.slot0(); - // Record post-state and action - if (enableRecording) { - _recordState("POST_SELL", seller, amount); - _recordAction("SELL", seller, amount, tickBefore, tickAfter); - } + // Only record action summary (not full state) + _recordAction("SELL", seller, amount, tickBefore, tickAfter); } // Override each strategy to add recenter recording @@ -163,25 +135,19 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { function _executeRecenter() internal { (, int24 tickBefore,,,,,) = pool.slot0(); - if (enableRecording) { - _recordState("PRE_RECENTER", feeDestination, 0); - recorder.recordRecenter(feeDestination, tx.gasprice); - } - vm.warp(block.timestamp + 1 hours); vm.prank(feeDestination); try lm.recenter() {} catch {} (, int24 tickAfter,,,,,) = pool.slot0(); - if (enableRecording) { - _recordState("POST_RECENTER", feeDestination, 0); - _recordAction("RECENTER", feeDestination, 0, tickBefore, tickAfter); - } + // Only record action summary + _recordAction("RECENTER", feeDestination, 0, tickBefore, tickAfter); } function _recordState(string memory label, address actor, uint256 amount) internal { - if (!enableRecording) return; + // Only record states if we're exporting a profitable scenario + if (!isRecordingProfitable || !enableRecording) return; (uint160 sqrtPriceX96, int24 currentTick,,,,,) = pool.slot0(); @@ -193,17 +159,6 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { 0, // VWAP placeholder harberg.outstandingSupply() ); - - // Also record optimizer params if during recenter - if (keccak256(bytes(label)) == keccak256("POST_RECENTER")) { - // Get optimizer params (simplified - would need actual values) - recorder.recordOptimizerParams( - 5e17, // capitalInefficiency placeholder - 5e17, // anchorShare placeholder - 50, // anchorWidth placeholder - 5e17 // discoveryDepth placeholder - ); - } } function _recordAction( @@ -225,7 +180,7 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { })); } - function _exportScenario( + function _exportSummary( uint256 seed, uint256 initialBalance, uint256 finalBalance, @@ -235,23 +190,6 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { console.log(string.concat(" Run ID: ", runId)); console.log(string.concat(" Seed: ", vm.toString(seed))); - // Export as JSON - string memory json = recorder.exportToJson(); - string memory jsonFilename = string.concat( - "recorded_scenario_seed", vm.toString(seed), ".json" - ); - vm.writeFile(jsonFilename, json); - console.log(string.concat(" JSON exported to: ", jsonFilename)); - - // Also export simplified replay script - string memory replayScript = _generateReplayScript(seed); - string memory scriptFilename = string.concat( - "replay_script_seed", vm.toString(seed), ".sol" - ); - vm.writeFile(scriptFilename, replayScript); - console.log(string.concat(" Replay script exported to: ", scriptFilename)); - - // Export action summary with Run ID string memory summary = _generateActionSummary( seed, initialBalance, @@ -263,6 +201,15 @@ contract RecordedFuzzingAnalysis is ImprovedFuzzingAnalysis { ); vm.writeFile(summaryFilename, summary); console.log(string.concat(" Summary exported to: ", summaryFilename)); + + if (currentActions.length > 0) { + string memory replayScript = _generateReplayScript(seed); + string memory scriptFilename = string.concat( + "replay_script_seed", vm.toString(seed), ".sol" + ); + vm.writeFile(scriptFilename, replayScript); + console.log(string.concat(" Replay script exported to: ", scriptFilename)); + } } function _generateReplayScript(uint256 seed) internal view returns (string memory) { diff --git a/onchain/analysis/run-recorded-fuzzing.sh b/onchain/analysis/run-recorded-fuzzing.sh index 9e49439..aaa894c 100755 --- a/onchain/analysis/run-recorded-fuzzing.sh +++ b/onchain/analysis/run-recorded-fuzzing.sh @@ -59,10 +59,10 @@ echo -e "${YELLOW}Starting recorded fuzzing analysis...${NC}" FUZZING_RUNS=$RUNS_VALUE \ OPTIMIZER_CLASS=$OPTIMIZER \ RUN_ID=$RUN_ID \ -forge script analysis/RecordedFuzzingAnalysis.s.sol:RecordedFuzzingAnalysis --disable-block-gas-limit -vv 2>&1 | tee $OUTPUT_DIR/fuzzing.log +forge script analysis/RecordedFuzzingAnalysis.s.sol:RecordedFuzzingAnalysis --gas-limit 1000000000 -vv 2>&1 | tee $OUTPUT_DIR/fuzzing.log -# Check for generated scenario files -SCENARIO_COUNT=$(ls -1 recorded_scenario_*.json 2>/dev/null | wc -l) +# Check for generated scenario files (check for summaries, they're always generated) +SCENARIO_COUNT=$(ls -1 scenario_summary_seed*.txt 2>/dev/null | wc -l) if [ $SCENARIO_COUNT -gt 0 ]; then echo "" @@ -176,6 +176,7 @@ if [ $POSITION_CSV_COUNT -gt 0 ] && [ $SCENARIO_COUNT -gt 0 ]; then fi # Use absolute path for the symlink ln -s "$(realpath $FIRST_CSV)" "$TEMP_LINK" + echo "Created symlink: $TEMP_LINK -> $FIRST_CSV" # Check if server is already running on common ports SERVER_RUNNING=false diff --git a/onchain/foundry.toml b/onchain/foundry.toml index f83b1aa..6875de1 100644 --- a/onchain/foundry.toml +++ b/onchain/foundry.toml @@ -3,7 +3,7 @@ src = "src" out = "out" libs = ["lib"] fs_permissions = [{ access = "read-write", path = "./"}] -gas_limit = 100_000_000 +gas_limit = 1_000_000_000 gas_price = 0 optimizer = true optimizer_runs = 200 diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/fuzzing.log b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/fuzzing.log deleted file mode 100644 index 024e9d5..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/fuzzing.log +++ /dev/null @@ -1,2981 +0,0 @@ -No files changed, compilation skipped -Traces: - [24064764] → new RecordedFuzzingAnalysis@0x9f7cF1d1F558E57ef88a59ac3D47214eF25B6A06 - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d] - ├─ [0] VM::label(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], "trader") - │ └─ ← [Return] - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797] - ├─ [0] VM::label(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], "whale") - │ └─ ← [Return] - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4] - ├─ [0] VM::label(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], "fees") - │ └─ ← [Return] - └─ ← [Return] 119490 bytes of code - - [99978891] RecordedFuzzingAnalysis::run() - ├─ [0] VM::envOr("RUN_ID", "LOCAL") [staticcall] - │ └─ ← [Return] - ├─ [0] console::log("=== RECORDED Fuzzing Analysis ===") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Run ID: 250818-JY0U") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Recording enabled for profitable scenario replay") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::envOr("FUZZING_RUNS", 20) [staticcall] - │ └─ ← [Return] - ├─ [0] VM::envOr("TRACK_POSITIONS", false) [staticcall] - │ └─ ← [Return] - ├─ [0] VM::envOr("OPTIMIZER_CLASS", "BullMarketOptimizer") [staticcall] - │ └─ ← [Return] - ├─ [0] console::log("=== IMPROVED Fuzzing Analysis ===") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Designed to reach discovery position with larger trades") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Optimizer: BullMarketOptimizer") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(20) [staticcall] - │ └─ ← [Return] "20" - ├─ [0] console::log("Fuzzing runs: 20") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("") [staticcall] - │ └─ ← [Stop] - ├─ [14246808] → new TestEnvironment@0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3 - │ └─ ← [Return] 70897 bytes of code - ├─ [74921] → new BullMarketOptimizer@0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f - │ └─ ← [Return] 374 bytes of code - ├─ [17116638] TestEnvironment::setupEnvironmentWithOptimizer(true, fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f]) - │ ├─ [5007640] → new @0xd9003177dC465aAA89e20678675dca7FA5f5CAD5 - │ │ ├─ emit OwnerChanged(oldOwner: 0x0000000000000000000000000000000000000000, newOwner: TestEnvironment: [0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3]) - │ │ ├─ emit FeeAmountEnabled(fee: 500, tickSpacing: 10) - │ │ ├─ emit FeeAmountEnabled(fee: 3000, tickSpacing: 60) - │ │ ├─ emit FeeAmountEnabled(fee: 10000 [1e4], tickSpacing: 200) - │ │ └─ ← [Return] 24535 bytes of code - │ ├─ [705570] → new WETH@0x143514cFa5E66eC945bB19A024627c8bdE524156 - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0xF03252ff2894637aeFC003421b78e82E38b98087 - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [4594718] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5::createPool(WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], 10000 [1e4]) - │ │ ├─ [4435593] → new @0x881375548072E64EefdEBd5074D4B86B350588C2 - │ │ │ ├─ [734] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5::parameters() [staticcall] - │ │ │ │ └─ ← [Return] 0x000000000000000000000000d9003177dc465aaa89e20678675dca7fa5f5cad5000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b98087000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8 - │ │ │ └─ ← [Return] 22142 bytes of code - │ │ ├─ emit PoolCreated(token0: WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], token1: Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], fee: 10000 [1e4], tickSpacing: 200, pool: 0x881375548072E64EefdEBd5074D4B86B350588C2) - │ │ └─ ← [Return] 0x881375548072E64EefdEBd5074D4B86B350588C2 - │ ├─ [49152] 0x881375548072E64EefdEBd5074D4B86B350588C2::initialize(38813714283599478074587411019430 [3.881e31]) - │ │ ├─ emit Initialize(sqrtPriceX96: 38813714283599478074587411019430 [3.881e31], tick: 123890 [1.238e5]) - │ │ └─ ← [Stop] - │ ├─ [2366916] → new Stake@0x69429d5A924225a5Ed91920E7B396680d679dd2A - │ │ ├─ [310] Kraiken::decimals() [staticcall] - │ │ │ └─ ← [Return] 18 - │ │ └─ ← [Return] 7702 bytes of code - │ ├─ [2723044] → new LiquidityManager@0x7561293664431f3214Acc769Fbf8bc03f31231CC - │ │ └─ ← [Return] 13371 bytes of code - │ ├─ [22751] LiquidityManager::setFeeDestination(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ ├─ [22759] Kraiken::setStakingPool(Stake: [0x69429d5A924225a5Ed91920E7B396680d679dd2A]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22736] Kraiken::setLiquidityManager(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::deal(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 50000000000000000000 [5e19]) - │ │ └─ ← [Return] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22670] LiquidityManager::setRecenterAccess(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ └─ ← [Return] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5, 0x881375548072E64EefdEBd5074D4B86B350588C2, WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], Stake: [0x69429d5A924225a5Ed91920E7B396680d679dd2A], LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f], true - ├─ [0] VM::deal(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 200000000000000000000 [2e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 265770795672404956250 [2.657e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 610063180139002990896 [6.1e20]) - │ └─ ← [Return] - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [47865] WETH::deposit{value: 132885397836202478125}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 132885397836202478125 [1.328e20]) - │ ├─ emit Deposit(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount: 132885397836202478125 [1.328e20]) - │ └─ ← [Stop] - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [25965] WETH::deposit{value: 305031590069501495448}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 305031590069501495448 [3.05e20]) - │ ├─ emit Deposit(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount: 305031590069501495448 [3.05e20]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [683571] LiquidityManager::recenter() - │ ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - │ ├─ [2670] Kraiken::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [492] Kraiken::burn(0) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [2539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [352473] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 120200 [1.202e5], 127400 [1.274e5], 152183492855657924602025 [1.521e23], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [2539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [2670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [149841] LiquidityManager::uniswapV3MintCallback(49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [69465] Kraiken::mint(12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 0 - │ │ │ ├─ [23965] WETH::deposit{value: 200000000000000000000}() - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 200000000000000000000 [2e20]) - │ │ │ │ ├─ emit Deposit(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], amount: 200000000000000000000 [2e20]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [22854] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 49997885905797944322 [4.999e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 49997885905797944322 [4.999e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [22988] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount: 152183492855657924602025 [1.521e23], amount0: 49997885905797944322 [4.999e19], amount1: 12560776629550722278400898 [1.256e25]) - │ │ └─ ← [Return] 49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25] - │ ├─ [126184] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 109200 [1.092e5], 120200 [1.202e5], 2325025585294773848086493 [2.325e24], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ [29509] LiquidityManager::uniswapV3MintCallback(0, 400666177370246667969699818 [4.006e26], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount: 2325025585294773848086493 [2.325e24], amount0: 0, amount1: 400666177370246667969699818 [4.006e26]) - │ │ └─ ← [Return] 0, 400666177370246667969699818 [4.006e26] - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [102615] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 127400 [1.274e5], 127600 [1.276e5], 25563614720653619409 [2.556e19], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [6545] LiquidityManager::uniswapV3MintCallback(435625665656824 [4.356e14], 0, 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 435625665656824 [4.356e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 435625665656824 [4.356e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount: 25563614720653619409 [2.556e19], amount0: 435625665656824 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656824 [4.356e14], 0 - │ └─ ← [Return] false - ├─ [2299756] → new ScenarioRecorder@0x5c4a3C2CD1ffE6aAfDF62b64bb3E620C696c832E - │ └─ ← [Return] 11376 bytes of code - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [138642] ScenarioRecorder::initializeScenario(0, "BullMarketOptimizer", 200000000000000000000 [2e20], 437916987905703973573 [4.379e20], true, 10000 [1e4]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [2670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [93702] ScenarioRecorder::recordPreState(132885397836202478125 [1.328e20], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] console::log(" Strategy: Discovery Push [RECORDING]") [staticcall] - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(132885397836202478125 [1.328e20], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [186323] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 93019778485341734687 [9.301e19], 0, 0) - │ ├─ emit ActionRecorded(step: 0, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [382304] → new SwapExecutor@0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], 93019778485341734687 [9.301e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], value: 93019778485341734687 [9.301e19]) - │ └─ ← [Return] true - ├─ [98968] SwapExecutor::executeBuy(93019778485341734687 [9.301e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [97681] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 93019778485341734687 [9.301e19], 4295128740 [4.295e9], 0x) - │ │ ├─ [22988] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 17373249602286120374089516 [1.737e25]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 17373249602286120374089516 [1.737e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(93019778485341734687 [9.301e19], -17373249602286120374089516 [-1.737e25], 0x) - │ │ │ ├─ [266] 0x881375548072E64EefdEBd5074D4B86B350588C2::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 93019778485341734687 [9.301e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 93019778485341734687 [9.301e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 143018100016805335833 [1.43e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 93019778485341734687 [9.301e19], amount1: -17373249602286120374089516 [-1.737e25], sqrtPriceX96: 32110464384401727662944198120161 [3.211e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 120098 [1.2e5]) - │ │ └─ ← [Return] 93019778485341734687 [9.301e19], -17373249602286120374089516 [-1.737e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120098 [1.2e5], 32110464384401727662944198120161 [3.211e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120098 [1.2e5], 32110464384401727662944198120161 [3.211e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 244025272055601196358 [2.44e20], 0, 0) - │ ├─ emit ActionRecorded(step: 1, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [382304] → new SwapExecutor@0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], 244025272055601196358 [2.44e20]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], value: 244025272055601196358 [2.44e20]) - │ └─ ← [Return] true - ├─ [52709] SwapExecutor::executeBuy(244025272055601196358 [2.44e20], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [51422] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], true, 244025272055601196358 [2.44e20], 4295128740 [4.295e9], 0x) - │ │ ├─ [24988] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 38079345162363541473731623 [3.807e25]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 38079345162363541473731623 [3.807e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 143018100016805335833 [1.43e20] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(244025272055601196358 [2.44e20], -38079345162363541473731623 [-3.807e25], 0x) - │ │ │ ├─ [266] 0x881375548072E64EefdEBd5074D4B86B350588C2::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 244025272055601196358 [2.44e20]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 244025272055601196358 [2.44e20]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 387043372072406532191 [3.87e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: 244025272055601196358 [2.44e20], amount1: -38079345162363541473731623 [-3.807e25], sqrtPriceX96: 30812862944640364687227822880556 [3.081e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 119273 [1.192e5]) - │ │ └─ ← [Return] 244025272055601196358 [2.44e20], -38079345162363541473731623 [-3.807e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 119273 [1.192e5], 30812862944640364687227822880556 [3.081e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 38079345162363541473731623 [3.807e25] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 38079345162363541473731623 [3.807e25] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 119273 [1.192e5], 30812862944640364687227822880556 [3.081e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 38079345162363541473731623 [3.807e25], 0, 0) - │ ├─ emit ActionRecorded(step: 2, actionType: "SELL", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 38079345162363541473731623 [3.807e25] - ├─ [382304] → new SwapExecutor@0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], 38079345162363541473731623 [3.807e25]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], value: 38079345162363541473731623 [3.807e25]) - │ └─ ← [Return] true - ├─ [50206] SwapExecutor::executeSell(38079345162363541473731623 [3.807e25], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [48927] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 38079345162363541473731623 [3.807e25], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 239265857784322240495 [2.392e20]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 239265857784322240495 [2.392e20]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 357774359235147728400279577 [3.577e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-239265857784322240495 [-2.392e20], 38079345162363541473731623 [3.807e25], 0x) - │ │ │ ├─ [308] 0x881375548072E64EefdEBd5074D4B86B350588C2::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 38079345162363541473731623 [3.807e25]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 38079345162363541473731623 [3.807e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 395853704397511269874011200 [3.958e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -239265857784322240495 [-2.392e20], amount1: 38079345162363541473731623 [3.807e25], sqrtPriceX96: 32097488370004114033187034337888 [3.209e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 120090 [1.2e5]) - │ │ └─ ← [Return] -239265857784322240495 [-2.392e20], 38079345162363541473731623 [3.807e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120090 [1.2e5], 32097488370004114033187034337888 [3.209e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120090 [1.2e5], 32097488370004114033187034337888 [3.209e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 8686624801143060187044758 [8.686e24], 0, 0) - │ ├─ emit ActionRecorded(step: 3, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [382304] → new SwapExecutor@0x41b343Df2196081e42ac8Da11a1aA38De08e8658 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], 8686624801143060187044758 [8.686e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], value: 8686624801143060187044758 [8.686e24]) - │ └─ ← [Return] true - ├─ [58834] SwapExecutor::executeSell(8686624801143060187044758 [8.686e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [57555] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 8686624801143060187044758 [8.686e24], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 50926899266841789434 [5.092e19]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 50926899266841789434 [5.092e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 395853704397511269874011200 [3.958e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-50926899266841789434 [-5.092e19], 8686624801143060187044758 [8.686e24], 0x) - │ │ │ ├─ [308] 0x881375548072E64EefdEBd5074D4B86B350588C2::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 8686624801143060187044758 [8.686e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 8686624801143060187044758 [8.686e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 404540329198654330061055958 [4.045e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -50926899266841789434 [-5.092e19], amount1: 8686624801143060187044758 [8.686e24], sqrtPriceX96: 34047907384835713843150791308680 [3.404e31], liquidity: 152183492855657924602025 [1.521e23], tick: 121269 [1.212e5]) - │ │ └─ ← [Return] -50926899266841789434 [-5.092e19], 8686624801143060187044758 [8.686e24] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [139805] ScenarioRecorder::recordRecenter(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], 0) - │ ├─ emit ActionRecorded(step: 4, actionType: "RECENTER", actor: fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Stop] - ├─ [0] VM::warp(3601) - │ └─ ← [Return] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [928558] LiquidityManager::recenter() - │ ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - │ ├─ [37270] 0x881375548072E64EefdEBd5074D4B86B350588C2::burn(127400 [1.274e5], 127600 [1.276e5], 25563614720653619409 [2.556e19]) - │ │ ├─ emit Burn(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount: 25563614720653619409 [2.556e19], amount0: 435625665656823 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656823 [4.356e14], 0 - │ ├─ [9222] 0x881375548072E64EefdEBd5074D4B86B350588C2::collect(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 127400 [1.274e5], 127600 [1.276e5], 340282366920938463463374607431768211455 [3.402e38], 340282366920938463463374607431768211455 [3.402e38]) - │ │ ├─ [2954] WETH::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 435625665656823 [4.356e14]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 435625665656823 [4.356e14]) - │ │ │ └─ ← [Return] true - │ │ ├─ emit Collect(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], recipient: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount0: 435625665656823 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656823 [4.356e14], 0 - │ ├─ [80522] 0x881375548072E64EefdEBd5074D4B86B350588C2::burn(120200 [1.202e5], 127400 [1.274e5], 152183492855657924602025 [1.521e23]) - │ │ ├─ emit Burn(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount: 152183492855657924602025 [1.521e23], amount0: 93479728890167416123 [9.347e19], amount1: 3406492128772596074748371 [3.406e24]) - │ │ └─ ← [Return] 93479728890167416123 [9.347e19], 3406492128772596074748371 [3.406e24] - │ ├─ [33512] 0x881375548072E64EefdEBd5074D4B86B350588C2::collect(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 120200 [1.202e5], 127400 [1.274e5], 340282366920938463463374607431768211455 [3.402e38], 340282366920938463463374607431768211455 [3.402e38]) - │ │ ├─ [2954] WETH::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 94115493483345733355 [9.411e19]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 94115493483345733355 [9.411e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [22988] Kraiken::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 3440901140174339469442799 [3.44e24]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 3440901140174339469442799 [3.44e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ emit Collect(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], recipient: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount0: 94115493483345733355 [9.411e19], amount1: 3440901140174339469442799 [3.44e24]) - │ │ └─ ← [Return] 94115493483345733355 [9.411e19], 3440901140174339469442799 [3.44e24] - │ ├─ [77643] 0x881375548072E64EefdEBd5074D4B86B350588C2::burn(109200 [1.092e5], 120200 [1.202e5], 2325025585294773848086493 [2.325e24]) - │ │ ├─ emit Burn(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount: 2325025585294773848086493 [2.325e24], amount0: 0, amount1: 400666177370246667969699817 [4.006e26]) - │ │ └─ ← [Return] 0, 400666177370246667969699817 [4.006e26] - │ ├─ [13612] 0x881375548072E64EefdEBd5074D4B86B350588C2::collect(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 109200 [1.092e5], 120200 [1.202e5], 340282366920938463463374607431768211455 [3.402e38], 340282366920938463463374607431768211455 [3.402e38]) - │ │ ├─ [2954] WETH::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 2734685912231112078 [2.734e18]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 2734685912231112078 [2.734e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [3088] Kraiken::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 401099428058479990591613153 [4.01e26]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 401099428058479990591613153 [4.01e26]) - │ │ │ └─ ← [Return] true - │ │ ├─ emit Collect(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], recipient: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount0: 2734685912231112078 [2.734e18], amount1: 401099428058479990591613153 [4.01e26]) - │ │ └─ ← [Return] 2734685912231112078 [2.734e18], 401099428058479990591613153 [4.01e26] - │ ├─ [24854] WETH::transfer(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], 3370450505409429310 [3.37e18]) - │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], value: 3370450505409429310 [3.37e18]) - │ │ └─ ← [Return] true - │ ├─ [24988] Kraiken::transfer(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], 467659699635066016607764 [4.676e23]) - │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], value: 467659699635066016607764 [4.676e23]) - │ │ └─ ← [Return] true - │ ├─ [670] Kraiken::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 404072669499019264044448188 [4.04e26] - │ ├─ [3463] Kraiken::burn(404072669499019264044448188 [4.04e26]) - │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x0000000000000000000000000000000000000000, value: 404072669499019264044448188 [4.04e26]) - │ │ └─ ← [Stop] - │ ├─ [348] Kraiken::totalSupply() [staticcall] - │ │ └─ ← [Return] 9154284500778126203652528 [9.154e24] - │ ├─ [573] Kraiken::setPreviousTotalSupply(9154284500778126203652528 [9.154e24]) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 243481842984369471800 [2.434e20] - │ ├─ [263438] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 117600 [1.176e5], 124800 [1.248e5], 161630528569314481719245 [1.616e23], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 6 - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 6 - │ │ ├─ [33020] LiquidityManager::uniswapV3MintCallback(60853467075024120961 [6.085e19], 11644015272762925977268243 [1.164e25], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(11644015272762925977268243 [1.164e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 11644015272762925977268243 [1.164e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 243481842984369471800 [2.434e20] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 60853467075024120961 [6.085e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 60853467075024120961 [6.085e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 11644015272762925977268243 [1.164e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 11644015272762925977268243 [1.164e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60853467075024120967 [6.085e19] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 11644015272762925977268249 [1.164e25] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 117600 [1.176e5], tickUpper: 124800 [1.248e5], amount: 161630528569314481719245 [1.616e23], amount0: 60853467075024120961 [6.085e19], amount1: 11644015272762925977268243 [1.164e25]) - │ │ └─ ← [Return] 60853467075024120961 [6.085e19], 11644015272762925977268243 [1.164e25] - │ ├─ [165970] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 106600 [1.066e5], 117600 [1.176e5], 2469355297586749026266243 [2.469e24], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 11644015272762925977268249 [1.164e25] - │ │ ├─ [29509] LiquidityManager::uniswapV3MintCallback(0, 373665557036699081933019290 [3.736e26], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(373665557036699081933019290 [3.736e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 373665557036699081933019290 [3.736e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 373665557036699081933019290 [3.736e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 373665557036699081933019290 [3.736e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 385309572309462007910287539 [3.853e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 106600 [1.066e5], tickUpper: 117600 [1.176e5], amount: 2469355297586749026266243 [2.469e24], amount0: 0, amount1: 373665557036699081933019290 [3.736e26]) - │ │ └─ ← [Return] 0, 373665557036699081933019290 [3.736e26] - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ ├─ emit EthScarcity(currentTick: 121269 [1.212e5], ethBalance: 182628375909345350839 [1.826e20], outstandingSupply: 9157422763281919293247210 [9.157e24], vwap: 233174335700424782796450 [2.331e23], vwapTick: 104665 [1.046e5]) - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ ├─ [102573] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 124800 [1.248e5], 125000 [1.25e5], 35441680661270157275 [3.544e19], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60853467075024120967 [6.085e19] - │ │ ├─ [6545] LiquidityManager::uniswapV3MintCallback(687798087112019 [6.877e14], 0, 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 687798087112019 [6.877e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 687798087112019 [6.877e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60854154873111232986 [6.085e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 124800 [1.248e5], tickUpper: 125000 [1.25e5], amount: 35441680661270157275 [3.544e19], amount0: 687798087112019 [6.877e14], amount1: 0) - │ │ └─ ← [Return] 687798087112019 [6.877e14], 0 - │ └─ ← [Return] true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [113602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [89011] ScenarioRecorder::recordOptimizerParams(500000000000000000 [5e17], 500000000000000000 [5e17], 50, 500000000000000000 [5e17]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [1602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 45396259308851266436 [4.539e19], 0, 0) - │ ├─ emit ActionRecorded(step: 5, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [382304] → new SwapExecutor@0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], 45396259308851266436 [4.539e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], value: 45396259308851266436 [4.539e19]) - │ └─ ← [Return] true - ├─ [29843] SwapExecutor::executeBuy(45396259308851266436 [4.539e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [28556] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 45396259308851266436 [4.539e19], 4295128740 [4.295e9], 0x) - │ │ ├─ [3088] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 7414050442160545423850864 [7.414e24]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 7414050442160545423850864 [7.414e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60854154873111232986 [6.085e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(45396259308851266436 [4.539e19], -7414050442160545423850864 [-7.414e24], 0x) - │ │ │ ├─ [266] 0x881375548072E64EefdEBd5074D4B86B350588C2::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 45396259308851266436 [4.539e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 45396259308851266436 [4.539e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 106250414181962499422 [1.062e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 45396259308851266436 [4.539e19], amount1: -7414050442160545423850864 [-7.414e24], sqrtPriceX96: 30413683092433275221583921948281 [3.041e31], liquidity: 161630528569314481719245 [1.616e23], tick: 119012 [1.19e5]) - │ │ └─ ← [Return] 45396259308851266436 [4.539e19], -7414050442160545423850864 [-7.414e24] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 45396259308851266436 [4.539e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [113602] ScenarioRecorder::recordPreState(45396259308851266436 [4.539e19], 16100675243303605610895622 [1.61e25], 119012 [1.19e5], 30413683092433275221583921948281 [3.041e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] console::log(" [DISCOVERY REACHED] at tick", "119012") [staticcall] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 35441680661270157275 [3.544e19], 124800 [1.248e5], 125000 [1.25e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 161630528569314481719245 [1.616e23], 117600 [1.176e5], 124800 [1.248e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2469355297586749026266243 [2.469e24], 106600 [1.066e5], 117600 [1.176e5] - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(125000 [1.25e5]) [staticcall] - │ └─ ← [Return] "125000" - ├─ [0] VM::toString(35441680661270157275 [3.544e19]) [staticcall] - │ └─ ← [Return] "35441680661270157275" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(161630528569314481719245 [1.616e23]) [staticcall] - │ └─ ← [Return] "161630528569314481719245" - ├─ [0] VM::toString(106600 [1.066e5]) [staticcall] - │ └─ ← [Return] "106600" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(2469355297586749026266243 [2.469e24]) [staticcall] - │ └─ ← [Return] "2469355297586749026266243" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 45396259308851266436 [4.539e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [1602] ScenarioRecorder::recordPreState(45396259308851266436 [4.539e19], 16100675243303605610895622 [1.61e25], 119012 [1.19e5], 30413683092433275221583921948281 [3.041e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 16100675243303605610895622 [1.61e25], 0, 0) - │ ├─ emit ActionRecorded(step: 6, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [382304] → new SwapExecutor@0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], 16100675243303605610895622 [1.61e25]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], value: 16100675243303605610895622 [1.61e25]) - │ └─ ← [Return] true - ├─ [30270] SwapExecutor::executeSell(16100675243303605610895622 [1.61e25], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [28991] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 16100675243303605610895622 [1.61e25], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 86059577991359021386 [8.605e19]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 86059577991359021386 [8.605e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 377895521867301462486436675 [3.778e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-86059577991359021386 [-8.605e19], 16100675243303605610895622 [1.61e25], 0x) - │ │ │ ├─ [308] 0x881375548072E64EefdEBd5074D4B86B350588C2::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 16100675243303605610895622 [1.61e25]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 16100675243303605610895622 [1.61e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 393996197110605068097332297 [3.939e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -86059577991359021386 [-8.605e19], amount1: 16100675243303605610895622 [1.61e25], sqrtPriceX96: 38227000643248658511594599458889 [3.822e31], liquidity: 161630528569314481719245 [1.616e23], tick: 123585 [1.235e5]) - │ │ └─ ← [Return] -86059577991359021386 [-8.605e19], 16100675243303605610895622 [1.61e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 131455837300210287822 [1.314e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [93702] ScenarioRecorder::recordPreState(131455837300210287822 [1.314e20], 0, 123585 [1.235e5], 38227000643248658511594599458889 [3.822e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 131455837300210287822 [1.314e20] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 131455837300210287822 [1.314e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [1602] ScenarioRecorder::recordPreState(131455837300210287822 [1.314e20], 0, 123585 [1.235e5], 38227000643248658511594599458889 [3.822e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [0] console::log("\n[RECORDING] Exporting profitable scenario...") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log(" Run ID: 250818-JY0U") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] console::log(" Seed: 0") [staticcall] - │ └─ ← [Stop] - ├─ [155341] ScenarioRecorder::exportToJson() [staticcall] - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(200000000000000000000 [2e20]) [staticcall] - │ │ └─ ← [Return] "200000000000000000000" - │ ├─ [0] VM::toString(437916987905703973573 [4.379e20]) [staticcall] - │ │ └─ ← [Return] "437916987905703973573" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(10000 [1e4]) [staticcall] - │ │ └─ ← [Return] "10000" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(132885397836202478125 [1.328e20]) [staticcall] - │ │ └─ ← [Return] "132885397836202478125" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ │ └─ ← [Return] "123890" - │ ├─ [0] VM::toString(38813714283599478074587411019430 [3.881e31]) [staticcall] - │ │ └─ ← [Return] "38813714283599478074587411019430" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(39865619350860743438 [3.986e19]) [staticcall] - │ │ └─ ← [Return] "39865619350860743438" - │ ├─ [0] VM::toString(17373249602286120374089516 [1.737e25]) [staticcall] - │ │ └─ ← [Return] "17373249602286120374089516" - │ ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ │ └─ ← [Return] "120098" - │ ├─ [0] VM::toString(32110464384401727662944198120161 [3.211e31]) [staticcall] - │ │ └─ ← [Return] "32110464384401727662944198120161" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(2) [staticcall] - │ │ └─ ← [Return] "2" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(39865619350860743438 [3.986e19]) [staticcall] - │ │ └─ ← [Return] "39865619350860743438" - │ ├─ [0] VM::toString(17373249602286120374089516 [1.737e25]) [staticcall] - │ │ └─ ← [Return] "17373249602286120374089516" - │ ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ │ └─ ← [Return] "119273" - │ ├─ [0] VM::toString(30812862944640364687227822880556 [3.081e31]) [staticcall] - │ │ └─ ← [Return] "30812862944640364687227822880556" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(3) [staticcall] - │ │ └─ ← [Return] "3" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(39865619350860743438 [3.986e19]) [staticcall] - │ │ └─ ← [Return] "39865619350860743438" - │ ├─ [0] VM::toString(17373249602286120374089516 [1.737e25]) [staticcall] - │ │ └─ ← [Return] "17373249602286120374089516" - │ ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ │ └─ ← [Return] "120090" - │ ├─ [0] VM::toString(32097488370004114033187034337888 [3.209e31]) [staticcall] - │ │ └─ ← [Return] "32097488370004114033187034337888" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(4) [staticcall] - │ │ └─ ← [Return] "4" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) [staticcall] - │ │ └─ ← [Return] "0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4" - │ ├─ [0] VM::toString(90792518617702532872 [9.079e19]) [staticcall] - │ │ └─ ← [Return] "90792518617702532872" - │ ├─ [0] VM::toString(8686624801143060187044758 [8.686e24]) [staticcall] - │ │ └─ ← [Return] "8686624801143060187044758" - │ ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ │ └─ ← [Return] "121269" - │ ├─ [0] VM::toString(34047907384835713843150791308680 [3.404e31]) [staticcall] - │ │ └─ ← [Return] "34047907384835713843150791308680" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(5) [staticcall] - │ │ └─ ← [Return] "5" - │ ├─ [0] VM::toString(3601) [staticcall] - │ │ └─ ← [Return] "3601" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(90792518617702532872 [9.079e19]) [staticcall] - │ │ └─ ← [Return] "90792518617702532872" - │ ├─ [0] VM::toString(8686624801143060187044758 [8.686e24]) [staticcall] - │ │ └─ ← [Return] "8686624801143060187044758" - │ ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ │ └─ ← [Return] "121269" - │ ├─ [0] VM::toString(34047907384835713843150791308680 [3.404e31]) [staticcall] - │ │ └─ ← [Return] "34047907384835713843150791308680" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(394463856810240134113940061 [3.944e26]) [staticcall] - │ │ └─ ← [Return] "394463856810240134113940061" - │ ├─ [0] VM::toString(6) [staticcall] - │ │ └─ ← [Return] "6" - │ ├─ [0] VM::toString(3601) [staticcall] - │ │ └─ ← [Return] "3601" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(45396259308851266436 [4.539e19]) [staticcall] - │ │ └─ ← [Return] "45396259308851266436" - │ ├─ [0] VM::toString(16100675243303605610895622 [1.61e25]) [staticcall] - │ │ └─ ← [Return] "16100675243303605610895622" - │ ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ │ └─ ← [Return] "119012" - │ ├─ [0] VM::toString(30413683092433275221583921948281 [3.041e31]) [staticcall] - │ │ └─ ← [Return] "30413683092433275221583921948281" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(394463856810240134113940061 [3.944e26]) [staticcall] - │ │ └─ ← [Return] "394463856810240134113940061" - │ └─ ← [Return] "{\"scenario\":{\"seed\":0,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"437916987905703973573\",\"startTimestamp\":1,\"startBlock\":1,\"token0isWeth\":true,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"132885397836202478125\",\"traderKraiken\":\"0\",\"currentTick\":123890,\"poolPrice\":\"38813714283599478074587411019430\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":1,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120098,\"poolPrice\":\"32110464384401727662944198120161\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":2,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":119273,\"poolPrice\":\"30812862944640364687227822880556\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120090,\"poolPrice\":\"32097488370004114033187034337888\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":4,\"type\":\"RECENTER\",\"timestamp\":1,\"block\":1,\"actor\":\"0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":5,\"type\":\"BUY\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}},{\"step\":6,\"type\":\"SELL\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"45396259308851266436\",\"traderKraiken\":\"16100675243303605610895622\",\"currentTick\":119012,\"poolPrice\":\"30413683092433275221583921948281\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}}]}" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("recorded_scenario_seed0.json", "{\"scenario\":{\"seed\":0,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"437916987905703973573\",\"startTimestamp\":1,\"startBlock\":1,\"token0isWeth\":true,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"132885397836202478125\",\"traderKraiken\":\"0\",\"currentTick\":123890,\"poolPrice\":\"38813714283599478074587411019430\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":1,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120098,\"poolPrice\":\"32110464384401727662944198120161\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":2,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":119273,\"poolPrice\":\"30812862944640364687227822880556\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120090,\"poolPrice\":\"32097488370004114033187034337888\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":4,\"type\":\"RECENTER\",\"timestamp\":1,\"block\":1,\"actor\":\"0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":5,\"type\":\"BUY\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}},{\"step\":6,\"type\":\"SELL\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"45396259308851266436\",\"traderKraiken\":\"16100675243303605610895622\",\"currentTick\":119012,\"poolPrice\":\"30413683092433275221583921948281\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}}]}") - │ └─ ← [Return] - ├─ [0] console::log(" JSON exported to: recorded_scenario_seed0.json") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(93019778485341734687 [9.301e19]) [staticcall] - │ └─ ← [Return] "93019778485341734687" - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(244025272055601196358 [2.44e20]) [staticcall] - │ └─ ← [Return] "244025272055601196358" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(38079345162363541473731623 [3.807e25]) [staticcall] - │ └─ ← [Return] "38079345162363541473731623" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(8686624801143060187044758 [8.686e24]) [staticcall] - │ └─ ← [Return] "8686624801143060187044758" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(3601) [staticcall] - │ └─ ← [Return] "3601" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(45396259308851266436 [4.539e19]) [staticcall] - │ └─ ← [Return] "45396259308851266436" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(16100675243303605610895622 [1.61e25]) [staticcall] - │ └─ ← [Return] "16100675243303605610895622" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(123585 [1.235e5]) [staticcall] - │ └─ ← [Return] "123585" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("replay_script_seed0.sol", "// Replay script for profitable scenario\n// Seed: 0\n// Optimizer: BullMarketOptimizer\n// Discovery reached: YES\n\nfunction replayScenario() public {\n // Step 0\n _executeBuy(trader, 93019778485341734687);\n // Tick moved from 123890 to 120098\n\n // Step 1\n _executeBuy(whale, 244025272055601196358);\n // Tick moved from 120098 to 119273\n\n // Step 2\n _executeSell(whale, 38079345162363541473731623);\n // Tick moved from 119273 to 120090\n\n // Step 3\n _executeSell(trader, 8686624801143060187044758);\n // Tick moved from 120090 to 121269\n\n // Step 4\n vm.warp(3601);\n vm.prank(feeDestination);\n lm.recenter();\n // Tick moved from 121269 to 121269\n\n // Step 5\n _executeBuy(trader, 45396259308851266436);\n // Tick moved from 121269 to 119012\n\n // Step 6\n _executeSell(trader, 16100675243303605610895622);\n // Tick moved from 119012 to 123585\n\n}\n") - │ └─ ← [Return] - ├─ [0] console::log(" Replay script exported to: replay_script_seed0.sol") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(50) [staticcall] - │ └─ ← [Return] "50" - ├─ [0] VM::toString(131) [staticcall] - │ └─ ← [Return] "131" - ├─ [0] VM::toString(81) [staticcall] - │ └─ ← [Return] "81" - ├─ [0] VM::toString(162) [staticcall] - │ └─ ← [Return] "162" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(93) [staticcall] - │ └─ ← [Return] "93" - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(244) [staticcall] - │ └─ ← [Return] "244" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(38079345 [3.807e7]) [staticcall] - │ └─ ← [Return] "38079345" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(8686624 [8.686e6]) [staticcall] - │ └─ ← [Return] "8686624" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(45) [staticcall] - │ └─ ← [Return] "45" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(7) [staticcall] - │ └─ ← [Return] "7" - ├─ [0] VM::toString(16100675 [1.61e7]) [staticcall] - │ └─ ← [Return] "16100675" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(123585 [1.235e5]) [staticcall] - │ └─ ← [Return] "123585" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("scenario_summary_seed0.txt", "=== PROFITABLE SCENARIO SUMMARY ===\nRun ID: 250818-JY0U\nSeed: 0\nOptimizer: BullMarketOptimizer\nDiscovery Reached: YES\n\nFinancial Results:\n Initial Balance: 50 ETH\n Final Balance: 131 ETH\n Profit: 81 ETH (162%)\n\nAction Sequence:\n 1. BUY - Trader - Amount: 93 ETH - Tick: 123890 -> 120098\n 2. BUY - Whale - Amount: 244 ETH - Tick: 120098 -> 119273\n 3. SELL - Whale - Amount: 38079345 ETH - Tick: 119273 -> 120090\n 4. SELL - Trader - Amount: 8686624 ETH - Tick: 120090 -> 121269\n 5. RECENTER - System - Tick: 121269 -> 121269\n 6. BUY - Trader - Amount: 45 ETH - Tick: 121269 -> 119012\n 7. SELL - Trader - Amount: 16100675 ETH - Tick: 119012 -> 123585\n\nThis scenario can be replayed using the generated replay script.\n") - │ └─ ← [Return] - ├─ [0] console::log(" Summary exported to: scenario_summary_seed0.txt") [staticcall] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 35441680661270157275 [3.544e19], 124800 [1.248e5], 125000 [1.25e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 161630528569314481719245 [1.616e23], 117600 [1.176e5], 124800 [1.248e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2469355297586749026266243 [2.469e24], 106600 [1.066e5], 117600 [1.176e5] - ├─ [0] VM::toString(123585 [1.235e5]) [staticcall] - │ └─ ← [Return] "123585" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(125000 [1.25e5]) [staticcall] - │ └─ ← [Return] "125000" - ├─ [0] VM::toString(35441680661270157275 [3.544e19]) [staticcall] - │ └─ ← [Return] "35441680661270157275" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(161630528569314481719245 [1.616e23]) [staticcall] - │ └─ ← [Return] "161630528569314481719245" - ├─ [0] VM::toString(106600 [1.066e5]) [staticcall] - │ └─ ← [Return] "106600" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(2469355297586749026266243 [2.469e24]) [staticcall] - │ └─ ← [Return] "2469355297586749026266243" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("improved_positions_BullMarketOptimizer_0.csv", "\nMassiveBuy,119273,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true\nWhaleDump,120090,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true\nDiscovery_Reached,119012,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true\nFinal,123585,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true") - │ └─ ← [Return] - ├─ [19726985] TestEnvironment::setupEnvironmentWithOptimizer(false, fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f]) - │ ├─ [5007640] → new @0x7a480eFBB32dA5140D0a49D95cE488336FE6D598 - │ │ ├─ emit OwnerChanged(oldOwner: 0x0000000000000000000000000000000000000000, newOwner: TestEnvironment: [0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3]) - │ │ ├─ emit FeeAmountEnabled(fee: 500, tickSpacing: 10) - │ │ ├─ emit FeeAmountEnabled(fee: 3000, tickSpacing: 60) - │ │ ├─ emit FeeAmountEnabled(fee: 10000 [1e4], tickSpacing: 200) - │ │ └─ ← [Return] 24535 bytes of code - │ ├─ [705570] → new WETH@0x109A68FFC6d5efEa556D3a4A9DC135A0D3a773c8 - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0x63A56976d1DD870525eC76342f27D07D78E6a2dC - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [705570] → new WETH@0x0C22F3C8fa55c2a52FdA0C98AAc9d0c7f04665bd - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [705570] → new WETH@0x68f19F11745457f280DE8053b2b8c81100fEAc4c - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903 - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [4594728] 0x7a480eFBB32dA5140D0a49D95cE488336FE6D598::createPool(WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c], Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903], 10000 [1e4]) - │ │ ├─ [4435593] → new @0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3 - │ │ │ ├─ [734] 0x7a480eFBB32dA5140D0a49D95cE488336FE6D598::parameters() [staticcall] - │ │ │ │ └─ ← [Return] 0x0000000000000000000000007a480efbb32da5140d0a49d95ce488336fe6d5980000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8 - │ │ │ └─ ← [Return] 22142 bytes of code - │ │ ├─ emit PoolCreated(token0: Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903], token1: WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c], fee: 10000 [1e4], tickSpacing: 200, pool: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) - │ │ └─ ← [Return] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3 - │ ├─ [49112] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::initialize(161723773678779450733783246 [1.617e26]) - │ │ ├─ emit Initialize(sqrtPriceX96: 161723773678779450733783246 [1.617e26], tick: -123891 [-1.238e5]) - │ │ └─ ← [Stop] - │ ├─ [2366916] → new Stake@0xe5B7b0c3C1eB7d6Fe1512885426665689F7Ea529 - │ │ ├─ [310] Kraiken::decimals() [staticcall] - │ │ │ └─ ← [Return] 18 - │ │ └─ ← [Return] 7702 bytes of code - │ ├─ [2723044] → new LiquidityManager@0xA6cb079443f6Da1B200665e188e1d0cC00DfC099 - │ │ └─ ← [Return] 13371 bytes of code - │ ├─ [22751] LiquidityManager::setFeeDestination(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ ├─ [22759] Kraiken::setStakingPool(Stake: [0xe5B7b0c3C1eB7d6Fe1512885426665689F7Ea529]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22736] Kraiken::setLiquidityManager(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::deal(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], 50000000000000000000 [5e19]) - │ │ └─ ← [Return] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22670] LiquidityManager::setRecenterAccess(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ └─ ← [Return] 0x7a480eFBB32dA5140D0a49D95cE488336FE6D598, 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c], Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903], Stake: [0xe5B7b0c3C1eB7d6Fe1512885426665689F7Ea529], LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f], false - ├─ [0] VM::deal(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], 200000000000000000000 [2e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 305723460303298684994 [3.057e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 528490503571771872726 [5.284e20]) - │ └─ ← [Return] - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [47865] WETH::deposit{value: 152861730151649342497}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 152861730151649342497 [1.528e20]) - │ ├─ emit Deposit(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount: 152861730151649342497 [1.528e20]) - │ └─ ← [Stop] - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [25965] WETH::deposit{value: 264245251785885936363}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 264245251785885936363 [2.642e20]) - │ ├─ emit Deposit(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount: 264245251785885936363 [2.642e20]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [684044] LiquidityManager::recenter() - │ ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - │ ├─ [2670] Kraiken::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [492] Kraiken::burn(0) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [2539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [352413] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::mint(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], -127400 [-1.274e5], -120200 [-1.202e5], 152230779095623270236377 [1.522e23], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [2670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [2539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [149861] LiquidityManager::uniswapV3MintCallback(12564696022086613960938356 [1.256e25], 50013352320967697435 [5.001e19], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [69465] Kraiken::mint(12564696022086613960938356 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], value: 12564696022086613960938356 [1.256e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ │ │ └─ ← [Return] 0 - │ │ │ ├─ [23965] WETH::deposit{value: 200000000000000000000}() - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], value: 200000000000000000000 [2e20]) - │ │ │ │ ├─ emit Deposit(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], amount: 200000000000000000000 [2e20]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [22988] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 12564696022086613960938356 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 12564696022086613960938356 [1.256e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [22854] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 50013352320967697435 [5.001e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 50013352320967697435 [5.001e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 12564696022086613960938356 [1.256e25] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013352320967697435 [5.001e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], owner: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], tickLower: -127400 [-1.274e5], tickUpper: -120200 [-1.202e5], amount: 152230779095623270236377 [1.522e23], amount0: 12564696022086613960938356 [1.256e25], amount1: 50013352320967697435 [5.001e19]) - │ │ └─ ← [Return] 12564696022086613960938356 [1.256e25], 50013352320967697435 [5.001e19] - │ ├─ [125733] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::mint(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], -120200 [-1.202e5], -109200 [-1.092e5], 2325748013960911073055759 [2.325e24], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 12564696022086613960938356 [1.256e25] - │ │ ├─ [29523] LiquidityManager::uniswapV3MintCallback(400790671799002466108789188 [4.007e26], 0, 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(400790671799002466108789188 [4.007e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], value: 400790671799002466108789188 [4.007e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 400790671799002466108789188 [4.007e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 400790671799002466108789188 [4.007e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], owner: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], tickLower: -120200 [-1.202e5], tickUpper: -109200 [-1.092e5], amount: 2325748013960911073055759 [2.325e24], amount0: 400790671799002466108789188 [4.007e26], amount1: 0) - │ │ └─ ← [Return] 400790671799002466108789188 [4.007e26], 0 - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ ├─ [102946] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::mint(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], -127600 [-1.276e5], -127400 [-1.274e5], 25561339163394654594 [2.556e19], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013352320967697435 [5.001e19] - │ │ ├─ [6571] LiquidityManager::uniswapV3MintCallback(0, 435586888232093 [4.355e14], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 435586888232093 [4.355e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 435586888232093 [4.355e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013787907855929528 [5.001e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], owner: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], tickLower: -127600 [-1.276e5], tickUpper: -127400 [-1.274e5], amount: 25561339163394654594 [2.556e19], amount0: 0, amount1: 435586888232093 [4.355e14]) - │ │ └─ ← [Return] 0, 435586888232093 [4.355e14] - │ └─ ← [Return] false - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ └─ ← [Return] "-123891" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [2299756] → new ScenarioRecorder@0xD6D13a66c35d1a60556d955b0EBf5E2B32be4323 - │ └─ ← [Return] 11376 bytes of code - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [158542] ScenarioRecorder::initializeScenario(1, "BullMarketOptimizer", 200000000000000000000 [2e20], 417106981937535278860 [4.171e20], false, 10000 [1e4]) - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [2670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [93702] ScenarioRecorder::recordPreState(152861730151649342497 [1.528e20], 0, -123891 [-1.238e5], 161723773678779450733783246 [1.617e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] console::log(" Strategy: Whale Manipulation") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::warp(5401) - │ └─ ← [Return] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [3407] LiquidityManager::recenter() - │ ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - │ └─ ← [Revert] amplitude not reached. - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(152861730151649342497 [1.528e20], 0, -123891 [-1.238e5], 161723773678779450733783246 [1.617e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [186323] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 38215432537912335624 [3.821e19], 0, 0) - │ ├─ emit ActionRecorded(step: 0, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [382304] → new SwapExecutor@0x6966CB5815014204E5bF64A851ef03cF93eA2D35 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], 38215432537912335624 [3.821e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], value: 38215432537912335624 [3.821e19]) - │ └─ ← [Return] true - ├─ [70933] SwapExecutor::executeBuy(38215432537912335624 [3.821e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [69656] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 38215432537912335624 [3.821e19], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [22988] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 8094470310852125234052188 [8.094e24]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 8094470310852125234052188 [8.094e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013787907855929528 [5.001e19] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-8094470310852125234052188 [-8.094e24], 38215432537912335624 [3.821e19], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 38215432537912335624 [3.821e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 38215432537912335624 [3.821e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 88229220445768265152 [8.822e19] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -8094470310852125234052188 [-8.094e24], amount1: 38215432537912335624 [3.821e19], sqrtPriceX96: 181414017218734744871703229 [1.814e26], liquidity: 152230779095623270236377 [1.522e23], tick: -121593 [-1.215e5]) - │ │ └─ ← [Return] -8094470310852125234052188 [-8.094e24], 38215432537912335624 [3.821e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 114646297613737006873 [1.146e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(114646297613737006873 [1.146e20], 8094470310852125234052188 [8.094e24], -121593 [-1.215e5], 181414017218734744871703229 [1.814e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [2670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 0 - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 114646297613737006873 [1.146e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(114646297613737006873 [1.146e20], 8094470310852125234052188 [8.094e24], -121593 [-1.215e5], 181414017218734744871703229 [1.814e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 2023617577713031308513047 [2.023e24], 0, 0) - │ ├─ emit ActionRecorded(step: 1, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [382304] → new SwapExecutor@0x3368CC5DE817eF5b492792eF42c29a6b2746D036 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], 2023617577713031308513047 [2.023e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], value: 2023617577713031308513047 [2.023e24]) - │ └─ ← [Return] true - ├─ [50713] SwapExecutor::executeSell(2023617577713031308513047 [2.023e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [49424] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 2023617577713031308513047 [2.023e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 10196533658152330535 [1.019e19]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 10196533658152330535 [1.019e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 405260897510236954835675356 [4.052e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(2023617577713031308513047 [2.023e24], -10196533658152330535 [-1.019e19], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 2023617577713031308513047 [2.023e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 2023617577713031308513047 [2.023e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 407284515087949986144188403 [4.072e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 2023617577713031308513047 [2.023e24], amount1: -10196533658152330535 [-1.019e19], sqrtPriceX96: 176107254482909757175841776 [1.761e26], liquidity: 152230779095623270236377 [1.522e23], tick: -122186 [-1.221e5]) - │ │ └─ ← [Return] 2023617577713031308513047 [2.023e24], -10196533658152330535 [-1.019e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -122186 [-1.221e5], 176107254482909757175841776 [1.761e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -122186 [-1.221e5], 176107254482909757175841776 [1.761e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 132122625892942968181 [1.321e20], 0, 0) - │ ├─ emit ActionRecorded(step: 2, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [382304] → new SwapExecutor@0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], 132122625892942968181 [1.321e20]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], value: 132122625892942968181 [1.321e20]) - │ └─ ← [Return] true - ├─ [98303] SwapExecutor::executeBuy(132122625892942968181 [1.321e20], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [97026] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 132122625892942968181 [1.321e20], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [22988] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 22056872252977144578458959 [2.205e25]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 22056872252977144578458959 [2.205e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 78032686787615934617 [7.803e19] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-22056872252977144578458959 [-2.205e25], 132122625892942968181 [1.321e20], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 132122625892942968181 [1.321e20]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 132122625892942968181 [1.321e20]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 210155312680558902798 [2.101e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -22056872252977144578458959 [-2.205e25], amount1: 132122625892942968181 [1.321e20], sqrtPriceX96: 197743845112692177382153477 [1.977e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119869 [-1.198e5]) - │ │ └─ ← [Return] -22056872252977144578458959 [-2.205e25], 132122625892942968181 [1.321e20] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -119869 [-1.198e5], 197743845112692177382153477 [1.977e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -119869 [-1.198e5], 197743845112692177382153477 [1.977e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 1517713183284773481384785 [1.517e24], 0, 0) - │ ├─ emit ActionRecorded(step: 3, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [382304] → new SwapExecutor@0xe64497116bE9e8d7e6E7118aAac201124078A416 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], 1517713183284773481384785 [1.517e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], value: 1517713183284773481384785 [1.517e24]) - │ └─ ← [Return] true - ├─ [30805] SwapExecutor::executeSell(1517713183284773481384785 [1.517e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29516] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 1517713183284773481384785 [1.517e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 9344842152826393427 [9.344e18]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 9344842152826393427 [9.344e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 385227642834972841565729444 [3.852e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(1517713183284773481384785 [1.517e24], -9344842152826393427 [-9.344e18], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 1517713183284773481384785 [1.517e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 1517713183284773481384785 [1.517e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 386745356018257615047114229 [3.867e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 1517713183284773481384785 [1.517e24], amount1: -9344842152826393427 [-9.344e18], sqrtPriceX96: 197425506811074811873956860 [1.974e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119901 [-1.199e5]) - │ │ └─ ← [Return] 1517713183284773481384785 [1.517e24], -9344842152826393427 [-9.344e18] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119901 [-1.199e5], 197425506811074811873956860 [1.974e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 132122625892942968182 [1.321e20] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 132122625892942968182 [1.321e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119901 [-1.199e5], 197425506811074811873956860 [1.974e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 66061312946471484091 [6.606e19], 0, 0) - │ ├─ emit ActionRecorded(step: 4, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 132122625892942968182 [1.321e20] - ├─ [382304] → new SwapExecutor@0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], 66061312946471484091 [6.606e19]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], value: 66061312946471484091 [6.606e19]) - │ └─ ← [Return] true - ├─ [30047] SwapExecutor::executeBuy(66061312946471484091 [6.606e19], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [28770] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 66061312946471484091 [6.606e19], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [3088] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 10415054232392165045873538 [1.041e25]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 10415054232392165045873538 [1.041e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 200810470527732509371 [2.008e20] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-10415054232392165045873538 [-1.041e25], 66061312946471484091 [6.606e19], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 66061312946471484091 [6.606e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 66061312946471484091 [6.606e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 266871783474203993462 [2.668e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -10415054232392165045873538 [-1.041e25], amount1: 66061312946471484091 [6.606e19], sqrtPriceX96: 199653425417280065710376340 [1.996e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119677 [-1.196e5]) - │ │ └─ ← [Return] -10415054232392165045873538 [-1.041e25], 66061312946471484091 [6.606e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119677 [-1.196e5], 199653425417280065710376340 [1.996e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119677 [-1.196e5], 199653425417280065710376340 [1.996e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 1138284887463580111038589 [1.138e24], 0, 0) - │ ├─ emit ActionRecorded(step: 5, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [382304] → new SwapExecutor@0xEf1BE4630e01a7096e7A7823048a9873ccEF116c - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], 1138284887463580111038589 [1.138e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], value: 1138284887463580111038589 [1.138e24]) - │ └─ ← [Return] true - ├─ [30831] SwapExecutor::executeSell(1138284887463580111038589 [1.138e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29542] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 1138284887463580111038589 [1.138e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 7147440887610802362 [7.147e18]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 7147440887610802362 [7.147e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 376330301785865450001240691 [3.763e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(1138284887463580111038589 [1.138e24], -7147440887610802362 [-7.147e18], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 1138284887463580111038589 [1.138e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 1138284887463580111038589 [1.138e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 377468586673329030112279280 [3.774e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 1138284887463580111038589 [1.138e24], amount1: -7147440887610802362 [-7.147e18], sqrtPriceX96: 199409943060289759425132754 [1.994e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119701 [-1.197e5]) - │ │ └─ ← [Return] 1138284887463580111038589 [1.138e24], -7147440887610802362 [-7.147e18] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119701 [-1.197e5], 199409943060289759425132754 [1.994e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 66061312946471484091 [6.606e19] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 66061312946471484091 [6.606e19] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119701 [-1.197e5], 199409943060289759425132754 [1.994e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 33030656473235742045 [3.303e19], 0, 0) - │ ├─ emit ActionRecorded(step: 6, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 66061312946471484091 [6.606e19] - ├─ [382304] → new SwapExecutor@0xf11b2046D0661652a93FCc05d530254240571f8d - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], 33030656473235742045 [3.303e19]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], value: 33030656473235742045 [3.303e19]) - │ └─ ← [Return] true - ├─ [29989] SwapExecutor::executeBuy(33030656473235742045 [3.303e19], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [28712] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 33030656473235742045 [3.303e19], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [3088] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 5133323214963108788934928 [5.133e24]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 5133323214963108788934928 [5.133e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 259724342586593191100 [2.597e20] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-5133323214963108788934928 [-5.133e24], 33030656473235742045 [3.303e19], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 33030656473235742045 [3.303e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 33030656473235742045 [3.303e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 292754999059828933145 [2.927e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -5133323214963108788934928 [-5.133e24], amount1: 33030656473235742045 [3.303e19], sqrtPriceX96: 200523902363392386343308428 [2.005e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119590 [-1.195e5]) - │ │ └─ ← [Return] -5133323214963108788934928 [-5.133e24], 33030656473235742045 [3.303e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119590 [-1.195e5], 200523902363392386343308428 [2.005e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119590 [-1.195e5], 200523902363392386343308428 [2.005e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 853713665597685083278941 [8.537e23], 0, 0) - │ ├─ emit ActionRecorded(step: 7, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [382304] → new SwapExecutor@0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], 853713665597685083278941 [8.537e23]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], value: 853713665597685083278941 [8.537e23]) - │ └─ ← [Return] true - ├─ [30829] SwapExecutor::executeSell(853713665597685083278941 [8.537e23], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29540] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 853713665597685083278941 [8.537e23], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 5409053733993292169 [5.409e18]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 5409053733993292169 [5.409e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 372335263458365921323344352 [3.723e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(853713665597685083278941 [8.537e23], -5409053733993292169 [-5.409e18], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 853713665597685083278941 [8.537e23]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 853713665597685083278941 [8.537e23]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 373188977123963606406623293 [3.731e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 853713665597685083278941 [8.537e23], amount1: -5409053733993292169 [-5.409e18], sqrtPriceX96: 200339639328139758352135908 [2.003e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119608 [-1.196e5]) - │ │ └─ ← [Return] 853713665597685083278941 [8.537e23], -5409053733993292169 [-5.409e18] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 146744168046319825366 [1.467e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(146744168046319825366 [1.467e20], 2561140996793055249836826 [2.561e24], -119608 [-1.196e5], 200339639328139758352135908 [2.003e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] console::log(" [DISCOVERY REACHED] at tick", "-119608") [staticcall] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 146744168046319825366 [1.467e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(146744168046319825366 [1.467e20], 2561140996793055249836826 [2.561e24], -119608 [-1.196e5], 200339639328139758352135908 [2.003e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 2561140996793055249836826 [2.561e24], 0, 0) - │ ├─ emit ActionRecorded(step: 8, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [382304] → new SwapExecutor@0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], 2561140996793055249836826 [2.561e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], value: 2561140996793055249836826 [2.561e24]) - │ └─ ← [Return] true - ├─ [30859] SwapExecutor::executeSell(2561140996793055249836826 [2.561e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29570] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 2561140996793055249836826 [2.561e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 16167680096442206783 [1.616e19]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 16167680096442206783 [1.616e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 373188977123963606406623293 [3.731e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(2561140996793055249836826 [2.561e24], -16167680096442206783 [-1.616e19], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 2561140996793055249836826 [2.561e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 2561140996793055249836826 [2.561e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 375750118120756661656460119 [3.757e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 2561140996793055249836826 [2.561e24], amount1: -16167680096442206783 [-1.616e19], sqrtPriceX96: 199788876486047489964879485 [1.997e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119663 [-1.196e5]) - │ │ └─ ← [Return] 2561140996793055249836826 [2.561e24], -16167680096442206783 [-1.616e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 162911848142762032149 [1.629e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [93702] ScenarioRecorder::recordPreState(162911848142762032149 [1.629e20], 0, -119663 [-1.196e5], 199788876486047489964879485 [1.997e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 162911848142762032149 [1.629e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 162911848142762032149 [1.629e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(162911848142762032149 [1.629e20], 0, -119663 [-1.196e5], 199788876486047489964879485 [1.997e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] console::log("\n[RECORDING] Exporting profitable scenario...") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log(" Run ID: 250818-JY0U") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] console::log(" Seed: 1") [staticcall] - │ └─ ← [Stop] - ├─ [202291] ScenarioRecorder::exportToJson() [staticcall] - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(200000000000000000000 [2e20]) [staticcall] - │ │ └─ ← [Return] "200000000000000000000" - │ ├─ [0] VM::toString(417106981937535278860 [4.171e20]) [staticcall] - │ │ └─ ← [Return] "417106981937535278860" - │ ├─ [0] VM::toString(3601) [staticcall] - │ │ └─ ← [Return] "3601" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(10000 [1e4]) [staticcall] - │ │ └─ ← [Return] "10000" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(152861730151649342497 [1.528e20]) [staticcall] - │ │ └─ ← [Return] "152861730151649342497" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ │ └─ ← [Return] "-123891" - │ ├─ [0] VM::toString(161723773678779450733783246 [1.617e26]) [staticcall] - │ │ └─ ← [Return] "161723773678779450733783246" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(114646297613737006873 [1.146e20]) [staticcall] - │ │ └─ ← [Return] "114646297613737006873" - │ ├─ [0] VM::toString(8094470310852125234052188 [8.094e24]) [staticcall] - │ │ └─ ← [Return] "8094470310852125234052188" - │ ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ │ └─ ← [Return] "-121593" - │ ├─ [0] VM::toString(181414017218734744871703229 [1.814e26]) [staticcall] - │ │ └─ ← [Return] "181414017218734744871703229" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(2) [staticcall] - │ │ └─ ← [Return] "2" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(124842831271889337408 [1.248e20]) [staticcall] - │ │ └─ ← [Return] "124842831271889337408" - │ ├─ [0] VM::toString(6070852733139093925539141 [6.07e24]) [staticcall] - │ │ └─ ← [Return] "6070852733139093925539141" - │ ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ │ └─ ← [Return] "-122186" - │ ├─ [0] VM::toString(176107254482909757175841776 [1.761e26]) [staticcall] - │ │ └─ ← [Return] "176107254482909757175841776" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(3) [staticcall] - │ │ └─ ← [Return] "3" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(124842831271889337408 [1.248e20]) [staticcall] - │ │ └─ ← [Return] "124842831271889337408" - │ ├─ [0] VM::toString(6070852733139093925539141 [6.07e24]) [staticcall] - │ │ └─ ← [Return] "6070852733139093925539141" - │ ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ │ └─ ← [Return] "-119869" - │ ├─ [0] VM::toString(197743845112692177382153477 [1.977e26]) [staticcall] - │ │ └─ ← [Return] "197743845112692177382153477" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(4) [staticcall] - │ │ └─ ← [Return] "4" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(134187673424715730835 [1.341e20]) [staticcall] - │ │ └─ ← [Return] "134187673424715730835" - │ ├─ [0] VM::toString(4553139549854320444154356 [4.553e24]) [staticcall] - │ │ └─ ← [Return] "4553139549854320444154356" - │ ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ │ └─ ← [Return] "-119901" - │ ├─ [0] VM::toString(197425506811074811873956860 [1.974e26]) [staticcall] - │ │ └─ ← [Return] "197425506811074811873956860" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(5) [staticcall] - │ │ └─ ← [Return] "5" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(134187673424715730835 [1.341e20]) [staticcall] - │ │ └─ ← [Return] "134187673424715730835" - │ ├─ [0] VM::toString(4553139549854320444154356 [4.553e24]) [staticcall] - │ │ └─ ← [Return] "4553139549854320444154356" - │ ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ │ └─ ← [Return] "-119677" - │ ├─ [0] VM::toString(199653425417280065710376340 [1.996e26]) [staticcall] - │ │ └─ ← [Return] "199653425417280065710376340" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(6) [staticcall] - │ │ └─ ← [Return] "6" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(141335114312326533197 [1.413e20]) [staticcall] - │ │ └─ ← [Return] "141335114312326533197" - │ ├─ [0] VM::toString(3414854662390740333115767 [3.414e24]) [staticcall] - │ │ └─ ← [Return] "3414854662390740333115767" - │ ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ │ └─ ← [Return] "-119701" - │ ├─ [0] VM::toString(199409943060289759425132754 [1.994e26]) [staticcall] - │ │ └─ ← [Return] "199409943060289759425132754" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(7) [staticcall] - │ │ └─ ← [Return] "7" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(141335114312326533197 [1.413e20]) [staticcall] - │ │ └─ ← [Return] "141335114312326533197" - │ ├─ [0] VM::toString(3414854662390740333115767 [3.414e24]) [staticcall] - │ │ └─ ← [Return] "3414854662390740333115767" - │ ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ │ └─ ← [Return] "-119590" - │ ├─ [0] VM::toString(200523902363392386343308428 [2.005e26]) [staticcall] - │ │ └─ ← [Return] "200523902363392386343308428" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(8) [staticcall] - │ │ └─ ← [Return] "8" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(146744168046319825366 [1.467e20]) [staticcall] - │ │ └─ ← [Return] "146744168046319825366" - │ ├─ [0] VM::toString(2561140996793055249836826 [2.561e24]) [staticcall] - │ │ └─ ← [Return] "2561140996793055249836826" - │ ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ │ └─ ← [Return] "-119608" - │ ├─ [0] VM::toString(200339639328139758352135908 [2.003e26]) [staticcall] - │ │ └─ ← [Return] "200339639328139758352135908" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ └─ ← [Return] "{\"scenario\":{\"seed\":1,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"417106981937535278860\",\"startTimestamp\":3601,\"startBlock\":1,\"token0isWeth\":false,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"152861730151649342497\",\"traderKraiken\":\"0\",\"currentTick\":-123891,\"poolPrice\":\"161723773678779450733783246\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":1,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"114646297613737006873\",\"traderKraiken\":\"8094470310852125234052188\",\"currentTick\":-121593,\"poolPrice\":\"181414017218734744871703229\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":2,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-122186,\"poolPrice\":\"176107254482909757175841776\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-119869,\"poolPrice\":\"197743845112692177382153477\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":4,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119901,\"poolPrice\":\"197425506811074811873956860\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":5,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119677,\"poolPrice\":\"199653425417280065710376340\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":6,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119701,\"poolPrice\":\"199409943060289759425132754\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":7,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119590,\"poolPrice\":\"200523902363392386343308428\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":8,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"146744168046319825366\",\"traderKraiken\":\"2561140996793055249836826\",\"currentTick\":-119608,\"poolPrice\":\"200339639328139758352135908\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}}]}" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("recorded_scenario_seed1.json", "{\"scenario\":{\"seed\":1,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"417106981937535278860\",\"startTimestamp\":3601,\"startBlock\":1,\"token0isWeth\":false,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"152861730151649342497\",\"traderKraiken\":\"0\",\"currentTick\":-123891,\"poolPrice\":\"161723773678779450733783246\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":1,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"114646297613737006873\",\"traderKraiken\":\"8094470310852125234052188\",\"currentTick\":-121593,\"poolPrice\":\"181414017218734744871703229\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":2,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-122186,\"poolPrice\":\"176107254482909757175841776\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-119869,\"poolPrice\":\"197743845112692177382153477\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":4,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119901,\"poolPrice\":\"197425506811074811873956860\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":5,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119677,\"poolPrice\":\"199653425417280065710376340\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":6,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119701,\"poolPrice\":\"199409943060289759425132754\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":7,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119590,\"poolPrice\":\"200523902363392386343308428\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":8,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"146744168046319825366\",\"traderKraiken\":\"2561140996793055249836826\",\"currentTick\":-119608,\"poolPrice\":\"200339639328139758352135908\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}}]}") - │ └─ ← [Return] - ├─ [0] console::log(" JSON exported to: recorded_scenario_seed1.json") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(38215432537912335624 [3.821e19]) [staticcall] - │ └─ ← [Return] "38215432537912335624" - ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ └─ ← [Return] "-123891" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(2023617577713031308513047 [2.023e24]) [staticcall] - │ └─ ← [Return] "2023617577713031308513047" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(132122625892942968181 [1.321e20]) [staticcall] - │ └─ ← [Return] "132122625892942968181" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(1517713183284773481384785 [1.517e24]) [staticcall] - │ └─ ← [Return] "1517713183284773481384785" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(66061312946471484091 [6.606e19]) [staticcall] - │ └─ ← [Return] "66061312946471484091" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(1138284887463580111038589 [1.138e24]) [staticcall] - │ └─ ← [Return] "1138284887463580111038589" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(33030656473235742045 [3.303e19]) [staticcall] - │ └─ ← [Return] "33030656473235742045" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(7) [staticcall] - │ └─ ← [Return] "7" - ├─ [0] VM::toString(853713665597685083278941 [8.537e23]) [staticcall] - │ └─ ← [Return] "853713665597685083278941" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(8) [staticcall] - │ └─ ← [Return] "8" - ├─ [0] VM::toString(2561140996793055249836826 [2.561e24]) [staticcall] - │ └─ ← [Return] "2561140996793055249836826" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-119663 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119663" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("replay_script_seed1.sol", "// Replay script for profitable scenario\n// Seed: 1\n// Optimizer: BullMarketOptimizer\n// Discovery reached: YES\n\nfunction replayScenario() public {\n // Step 0\n _executeBuy(trader, 38215432537912335624);\n // Tick moved from -123891 to -121593\n\n // Step 1\n _executeSell(trader, 2023617577713031308513047);\n // Tick moved from -121593 to -122186\n\n // Step 2\n _executeBuy(whale, 132122625892942968181);\n // Tick moved from -122186 to -119869\n\n // Step 3\n _executeSell(trader, 1517713183284773481384785);\n // Tick moved from -119869 to -119901\n\n // Step 4\n _executeBuy(whale, 66061312946471484091);\n // Tick moved from -119901 to -119677\n\n // Step 5\n _executeSell(trader, 1138284887463580111038589);\n // Tick moved from -119677 to -119701\n\n // Step 6\n _executeBuy(whale, 33030656473235742045);\n // Tick moved from -119701 to -119590\n\n // Step 7\n _executeSell(trader, 853713665597685083278941);\n // Tick moved from -119590 to -119608\n\n // Step 8\n _executeSell(trader, 2561140996793055249836826);\n // Tick moved from -119608 to -119663\n\n}\n") - │ └─ ← [Return] - ├─ [0] console::log(" Replay script exported to: replay_script_seed1.sol") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(50) [staticcall] - │ └─ ← [Return] "50" - ├─ [0] VM::toString(162) [staticcall] - │ └─ ← [Return] "162" - ├─ [0] VM::toString(112) [staticcall] - │ └─ ← [Return] "112" - ├─ [0] VM::toString(225) [staticcall] - │ └─ ← [Return] "225" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(38) [staticcall] - │ └─ ← [Return] "38" - ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ └─ ← [Return] "-123891" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(2023617 [2.023e6]) [staticcall] - │ └─ ← [Return] "2023617" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(132) [staticcall] - │ └─ ← [Return] "132" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(1517713 [1.517e6]) [staticcall] - │ └─ ← [Return] "1517713" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(66) [staticcall] - │ └─ ← [Return] "66" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(1138284 [1.138e6]) [staticcall] - │ └─ ← [Return] "1138284" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(7) [staticcall] - │ └─ ← [Return] "7" - ├─ [0] VM::toString(33) [staticcall] - │ └─ ← [Return] "33" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(8) [staticcall] - │ └─ ← [Return] "8" - ├─ [0] VM::toString(853713 [8.537e5]) [staticcall] - │ └─ ← [Return] "853713" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(9) [staticcall] - │ └─ ← [Return] "9" - ├─ [0] VM::toString(2561140 [2.561e6]) [staticcall] - │ └─ ← [Return] "2561140" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-119663 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119663" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("scenario_summary_seed1.txt", "=== PROFITABLE SCENARIO SUMMARY ===\nRun ID: 250818-JY0U\nSeed: 1\nOptimizer: BullMarketOptimizer\nDiscovery Reached: YES\n\nFinancial Results:\n Initial Balance: 50 ETH\n Final Balance: 162 ETH\n Profit: 112 ETH (225%)\n\nAction Sequence:\n 1. BUY - Trader - Amount: 38 ETH - Tick: -123891 -> -121593\n 2. SELL - Trader - Amount: 2023617 ETH - Tick: -121593 -> -122186\n 3. BUY - Whale - Amount: 132 ETH - Tick: -122186 -> -119869\n 4. SELL - Trader - Amount: 1517713 ETH - Tick: -119869 -> -119901\n 5. BUY - Whale - Amount: 66 ETH - Tick: -119901 -> -119677\n 6. SELL - Trader - Amount: 1138284 ETH - Tick: -119677 -> -119701\n 7. BUY - Whale - Amount: 33 ETH - Tick: -119701 -> -119590\n 8. SELL - Trader - Amount: 853713 ETH - Tick: -119590 -> -119608\n 9. SELL - Trader - Amount: 2561140 ETH - Tick: -119608 -> -119663\n\nThis scenario can be replayed using the generated replay script.\n") - │ └─ ← [Return] - ├─ [0] console::log(" Summary exported to: scenario_summary_seed1.txt") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] console::log("PROFITABLE! Seed: 1") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(10050 [1.005e4]) [staticcall] - │ └─ ← [Return] "10050" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] console::log(" Profit: 10050 finney (6%)") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log(" Discovery reached: YES") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(152861730151649342497 [1.528e20]) [staticcall] - │ └─ ← [Return] "152861730151649342497" - ├─ [0] VM::toString(162911848142762032149 [1.629e20]) [staticcall] - │ └─ ← [Return] "162911848142762032149" - ├─ [0] VM::toString(10050117991112689652 [1.005e19]) [staticcall] - │ └─ ← [Return] "10050117991112689652" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119663 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119663" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("improved_positions_BullMarketOptimizer_1.csv", "precedingAction, currentTick, floorTickLower, floorTickUpper, floorLiquidity, anchorTickLower, anchorTickUpper, anchorLiquidity, discoveryTickLower, discoveryTickUpper, discoveryLiquidity, token0isWeth\nInitial,-123891,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nWhale_0,-121593,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nWhale_2,-119901,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nWhale_4,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nDiscovery_Reached,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nFinal,-119663,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false") - │ └─ ← [Return] - ├─ [16963338] TestEnvironment::setupEnvironmentWithOptimizer(true, fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f]) - │ ├─ [5007640] → new @0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D - │ │ ├─ emit OwnerChanged(oldOwner: 0x0000000000000000000000000000000000000000, newOwner: TestEnvironment: [0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3]) - │ │ ├─ emit FeeAmountEnabled(fee: 500, tickSpacing: 10) - │ │ ├─ emit FeeAmountEnabled(fee: 3000, tickSpacing: 60) - │ │ ├─ emit FeeAmountEnabled(fee: 10000 [1e4], tickSpacing: 200) - │ │ └─ ← [Return] 24535 bytes of code - │ ├─ [705570] → new WETH@0x9ac27af1a8b59BA3770685e883dBbB2cD3288749 - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0xD7cabDcb0d137820938F970B2D4D89D4EAE21207 - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [4594718] 0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D::createPool(WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749], Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207], 10000 [1e4]) - │ │ ├─ [4435593] → new @0x5389dc114B63aF4E750669F6Ae252273dd594dc4 - │ │ │ ├─ [734] 0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D::parameters() [staticcall] - │ │ │ │ └─ ← [Return] 0x000000000000000000000000bd98601ce25fe44c6ec4ade4c74616190cb9b40d0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae21207000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8 - │ │ │ └─ ← [Return] 22142 bytes of code - │ │ ├─ emit PoolCreated(token0: WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749], token1: Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207], fee: 10000 [1e4], tickSpacing: 200, pool: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4) - │ │ └─ ← [Return] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4 - │ ├─ [49152] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::initialize(38813714283599478074587411019430 [3.881e31]) - │ │ ├─ emit Initialize(sqrtPriceX96: 38813714283599478074587411019430 [3.881e31], tick: 123890 [1.238e5]) - │ │ └─ ← [Stop] - │ ├─ [2366916] → new Stake@0x74D7d51E27C6ac7589757F576563fB0C48c79650 - │ │ ├─ [310] Kraiken::decimals() [staticcall] - │ │ │ └─ ← [Return] 18 - │ │ └─ ← [Return] 7702 bytes of code - │ ├─ [2723044] → new LiquidityManager@0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b - │ │ └─ ← [Return] 13371 bytes of code - │ ├─ [22751] LiquidityManager::setFeeDestination(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ ├─ [22759] Kraiken::setStakingPool(Stake: [0x74D7d51E27C6ac7589757F576563fB0C48c79650]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22736] Kraiken::setLiquidityManager(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::deal(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 50000000000000000000 [5e19]) - │ │ └─ ← [Return] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22670] LiquidityManager::setRecenterAccess(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ └─ ← [Return] 0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D, 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749], Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207], Stake: [0x74D7d51E27C6ac7589757F576563fB0C48c79650], LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f], true - ├─ [0] VM::deal(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 200000000000000000000 [2e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 106430212937147064762 [1.064e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 934654242386062745934 [9.346e20]) - │ └─ ← [Return] - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [47865] WETH::deposit{value: 53215106468573532381}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 53215106468573532381 [5.321e19]) - │ ├─ emit Deposit(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount: 53215106468573532381 [5.321e19]) - │ └─ ← [Stop] - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [25965] WETH::deposit{value: 467327121193031372967}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 467327121193031372967 [4.673e20]) - │ ├─ emit Deposit(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount: 467327121193031372967 [4.673e20]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [683571] LiquidityManager::recenter() - │ ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - │ ├─ [2670] Kraiken::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [492] Kraiken::burn(0) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [2539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [352473] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::mint(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 120200 [1.202e5], 127400 [1.274e5], 152183492855657924602025 [1.521e23], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [2539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [2670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [149841] LiquidityManager::uniswapV3MintCallback(49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [69465] Kraiken::mint(12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ │ │ └─ ← [Return] 0 - │ │ │ ├─ [23965] WETH::deposit{value: 200000000000000000000}() - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], value: 200000000000000000000 [2e20]) - │ │ │ │ ├─ emit Deposit(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], amount: 200000000000000000000 [2e20]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [22854] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 49997885905797944322 [4.999e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 49997885905797944322 [4.999e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [22988] Kraiken::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], owner: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount: 152183492855657924602025 [1.521e23], amount0: 49997885905797944322 [4.999e19], amount1: 12560776629550722278400898 [1.256e25]) - │ │ └─ ← [Return] 49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25] - │ ├─ [126184] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::mint(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 109200 [1.092e5], 120200 [1.202e5], 2325025585294773848086493 [2.325e24], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ [29509] LiquidityManager::uniswapV3MintCallback(0, 400666177370246667969699818 [4.006e26], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [3088] Kraiken::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], owner: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount: 2325025585294773848086493 [2.325e24], amount0: 0, amount1: 400666177370246667969699818 [4.006e26]) - │ │ └─ ← [Return] 0, 400666177370246667969699818 [4.006e26] - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [102615] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::mint(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 127400 [1.274e5], 127600 [1.276e5], 25563614720653619409 [2.556e19], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [6545] LiquidityManager::uniswapV3MintCallback(435625665656824 [4.356e14], 0, 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [2954] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 435625665656824 [4.356e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 435625665656824 [4.356e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], owner: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount: 25563614720653619409 [2.556e19], amount0: 435625665656824 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656824 [4.356e14], 0 - │ └─ ← [Return] false - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [2299756] → new ScenarioRecorder@0x9e33B9e59689eCB8f038Bd0285ddD46eE59Abf1d - │ └─ ← [Return] 11376 bytes of code - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [158542] ScenarioRecorder::initializeScenario(2, "BullMarketOptimizer", 200000000000000000000 [2e20], 520542227661604905348 [5.205e20], true, 10000 [1e4]) - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [2670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [93702] ScenarioRecorder::recordPreState(53215106468573532381 [5.321e19], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] console::log(" Strategy: Volatile Swings") [staticcall] - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [2670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 0 - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(53215106468573532381 [5.321e19], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [186323] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 31929063881144119428 [3.192e19], 0, 0) - │ ├─ emit ActionRecorded(step: 0, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [382304] → new SwapExecutor@0x9b95344992E1f293f712633C4596B648BD229af1 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], 31929063881144119428 [3.192e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], value: 31929063881144119428 [3.192e19]) - │ └─ ← [Return] true - ├─ [70658] SwapExecutor::executeBuy(31929063881144119428 [3.192e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [69371] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 31929063881144119428 [3.192e19], 4295128740 [4.295e9], 0x) - │ │ ├─ [22988] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 6885686579118570186122274 [6.885e24]) - │ │ │ ├─ emit Transfer(from: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 6885686579118570186122274 [6.885e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(31929063881144119428 [3.192e19], -6885686579118570186122274 [-6.885e24], 0x) - │ │ │ ├─ [266] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749] - │ │ │ ├─ [2954] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 31929063881144119428 [3.192e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 31929063881144119428 [3.192e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 81927385412607720574 [8.192e19] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 31929063881144119428 [3.192e19], amount1: -6885686579118570186122274 [-6.885e24], sqrtPriceX96: 35228960871282113991444083666601 [3.522e31], liquidity: 152183492855657924602025 [1.521e23], tick: 121951 [1.219e5]) - │ │ └─ ← [Return] 31929063881144119428 [3.192e19], -6885686579118570186122274 [-6.885e24] - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 121951 [1.219e5], 35228960871282113991444083666601 [3.522e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 121951 [1.219e5], 35228960871282113991444083666601 [3.522e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 327128984835121961076 [3.271e20], 0, 0) - │ ├─ emit ActionRecorded(step: 1, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [382304] → new SwapExecutor@0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], 327128984835121961076 [3.271e20]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], value: 327128984835121961076 [3.271e20]) - │ └─ ← [Return] true - ├─ [79054] SwapExecutor::executeBuy(327128984835121961076 [3.271e20], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [77767] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], true, 327128984835121961076 [3.271e20], 4295128740 [4.295e9], 0x) - │ │ ├─ [22988] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 51851179693556904310212019 [5.185e25]) - │ │ │ ├─ emit Transfer(from: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 51851179693556904310212019 [5.185e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 81927385412607720574 [8.192e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(327128984835121961076 [3.271e20], -51851179693556904310212019 [-5.185e25], 0x) - │ │ │ ├─ [266] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749] - │ │ │ ├─ [2954] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 327128984835121961076 [3.271e20]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 327128984835121961076 [3.271e20]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 409056370247729681650 [4.09e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: 327128984835121961076 [3.271e20], amount1: -51851179693556904310212019 [-5.185e25], sqrtPriceX96: 30700947274367924531063731854058 [3.07e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 119200 [1.192e5]) - │ │ └─ ← [Return] 327128984835121961076 [3.271e20], -51851179693556904310212019 [-5.185e25] - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 119200 [1.192e5], 30700947274367924531063731854058 [3.07e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(119200 [1.192e5]) [staticcall] - │ └─ ← [Return] "119200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 51851179693556904310212019 [5.185e25] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 119200 [1.192e5], 30700947274367924531063731854058 [3.07e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 6885686579118570186122274 [6.885e24], 0, 0) - │ ├─ emit ActionRecorded(step: 2, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [382304] → new SwapExecutor@0x113B082C006091efb3F67d02Be403bBf95c4e682 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], 6885686579118570186122274 [6.885e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], value: 6885686579118570186122274 [6.885e24]) - │ └─ ← [Return] true - ├─ [50190] SwapExecutor::executeSell(6885686579118570186122274 [6.885e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [48911] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 6885686579118570186122274 [6.885e24], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 45057224485217529140 [4.505e19]) - │ │ │ ├─ emit Transfer(from: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 45057224485217529140 [4.505e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 354490087727121915751766423 [3.544e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-45057224485217529140 [-4.505e19], 6885686579118570186122274 [6.885e24], 0x) - │ │ │ ├─ [308] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207] - │ │ │ ├─ [3088] Kraiken::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 6885686579118570186122274 [6.885e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 6885686579118570186122274 [6.885e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 361375774306240485937888697 [3.613e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -45057224485217529140 [-4.505e19], amount1: 6885686579118570186122274 [6.885e24], sqrtPriceX96: 30933239295486089723651419456289 [3.093e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 119351 [1.193e5]) - │ │ └─ ← [Return] -45057224485217529140 [-4.505e19], 6885686579118570186122274 [6.885e24] - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 66343267072646942093 [6.634e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [93702] ScenarioRecorder::recordPreState(66343267072646942093 [6.634e19], 0, 119351 [1.193e5], 30933239295486089723651419456289 [3.093e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 51851179693556904310212019 [5.185e25] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 66343267072646942093 [6.634e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(66343267072646942093 [6.634e19], 0, 119351 [1.193e5], 30933239295486089723651419456289 [3.093e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 51851179693556904310212019 [5.185e25], 0, 0) - │ ├─ emit ActionRecorded(step: 3, actionType: "SELL", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 51851179693556904310212019 [5.185e25] - ├─ [382304] → new SwapExecutor@0x7F2CD241D09c42EC34AC1EBAa4e292f46aebD956 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x7F2CD241D09c42EC34AC1EBAa4e292f46aebD956], 51851179693556904310212019 [5.185e25]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x7F2CD241D09c42EC34AC1EBAa4e292f46aebD956], value: 51851179693556904310212019 [5.185e25]) - │ └─ ← [Return] true - ├─ [6151] SwapExecutor::executeSell(51851179693556904310212019 [5.185e25], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [5037] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 51851179693556904310212019 [5.185e25], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ └─ ← [OutOfGas] EvmError: OutOfGas - │ └─ ← [Stop] - └─ ← [OutOfGas] EvmError: OutOfGas - - -Gas used: 100000000 - -== Logs == - === RECORDED Fuzzing Analysis === - Run ID: 250818-JY0U - Recording enabled for profitable scenario replay - === IMPROVED Fuzzing Analysis === - Designed to reach discovery position with larger trades - Optimizer: BullMarketOptimizer - Fuzzing runs: 20 - - Strategy: Discovery Push [RECORDING] - [DISCOVERY REACHED] at tick 119012 - -[RECORDING] Exporting profitable scenario... - Run ID: 250818-JY0U - Seed: 0 - JSON exported to: recorded_scenario_seed0.json - Replay script exported to: replay_script_seed0.sol - Summary exported to: scenario_summary_seed0.txt - Strategy: Whale Manipulation - [DISCOVERY REACHED] at tick -119608 - -[RECORDING] Exporting profitable scenario... - Run ID: 250818-JY0U - Seed: 1 - JSON exported to: recorded_scenario_seed1.json - Replay script exported to: replay_script_seed1.sol - Summary exported to: scenario_summary_seed1.txt - PROFITABLE! Seed: 1 - Profit: 10050 finney (6%) - Discovery reached: YES - Strategy: Volatile Swings -Error: script failed: diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_0.csv b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_0.csv deleted file mode 100644 index 3f1fee5..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_0.csv +++ /dev/null @@ -1,5 +0,0 @@ - -MassiveBuy,119273,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true -WhaleDump,120090,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true -Discovery_Reached,119012,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true -Final,123585,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_1.csv b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_1.csv deleted file mode 100644 index 6daa6d8..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_1.csv +++ /dev/null @@ -1,7 +0,0 @@ -precedingAction, currentTick, floorTickLower, floorTickUpper, floorLiquidity, anchorTickLower, anchorTickUpper, anchorLiquidity, discoveryTickLower, discoveryTickUpper, discoveryLiquidity, token0isWeth -Initial,-123891,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Whale_0,-121593,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Whale_2,-119901,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Whale_4,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Discovery_Reached,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Final,-119663,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/index.txt b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/index.txt deleted file mode 100644 index 7ba62a1..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/index.txt +++ /dev/null @@ -1,20 +0,0 @@ -Recorded Fuzzing Results -======================== -Run ID: 250818-JY0U -Date: Mo 18. Aug 21:09:58 CEST 2025 -Optimizer: BullMarketOptimizer -Total Runs: 20 -Profitable Scenarios: 2 - -Files: ------- -- fuzzing.log -- improved_positions_BullMarketOptimizer_0.csv -- improved_positions_BullMarketOptimizer_1.csv -- index.txt -- replay_250818-JY0U_seed0.sol -- replay_250818-JY0U_seed1.sol -- scenario_250818-JY0U_seed0.json -- scenario_250818-JY0U_seed1.json -- summary_250818-JY0U_seed0.txt -- summary_250818-JY0U_seed1.txt diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed0.sol b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed0.sol deleted file mode 100644 index 6a92e35..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed0.sol +++ /dev/null @@ -1,37 +0,0 @@ -// Replay script for profitable scenario -// Seed: 0 -// Optimizer: BullMarketOptimizer -// Discovery reached: YES - -function replayScenario() public { - // Step 0 - _executeBuy(trader, 93019778485341734687); - // Tick moved from 123890 to 120098 - - // Step 1 - _executeBuy(whale, 244025272055601196358); - // Tick moved from 120098 to 119273 - - // Step 2 - _executeSell(whale, 38079345162363541473731623); - // Tick moved from 119273 to 120090 - - // Step 3 - _executeSell(trader, 8686624801143060187044758); - // Tick moved from 120090 to 121269 - - // Step 4 - vm.warp(3601); - vm.prank(feeDestination); - lm.recenter(); - // Tick moved from 121269 to 121269 - - // Step 5 - _executeBuy(trader, 45396259308851266436); - // Tick moved from 121269 to 119012 - - // Step 6 - _executeSell(trader, 16100675243303605610895622); - // Tick moved from 119012 to 123585 - -} diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed1.sol b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed1.sol deleted file mode 100644 index 9d8e34c..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed1.sol +++ /dev/null @@ -1,43 +0,0 @@ -// Replay script for profitable scenario -// Seed: 1 -// Optimizer: BullMarketOptimizer -// Discovery reached: YES - -function replayScenario() public { - // Step 0 - _executeBuy(trader, 38215432537912335624); - // Tick moved from -123891 to -121593 - - // Step 1 - _executeSell(trader, 2023617577713031308513047); - // Tick moved from -121593 to -122186 - - // Step 2 - _executeBuy(whale, 132122625892942968181); - // Tick moved from -122186 to -119869 - - // Step 3 - _executeSell(trader, 1517713183284773481384785); - // Tick moved from -119869 to -119901 - - // Step 4 - _executeBuy(whale, 66061312946471484091); - // Tick moved from -119901 to -119677 - - // Step 5 - _executeSell(trader, 1138284887463580111038589); - // Tick moved from -119677 to -119701 - - // Step 6 - _executeBuy(whale, 33030656473235742045); - // Tick moved from -119701 to -119590 - - // Step 7 - _executeSell(trader, 853713665597685083278941); - // Tick moved from -119590 to -119608 - - // Step 8 - _executeSell(trader, 2561140996793055249836826); - // Tick moved from -119608 to -119663 - -} diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed0.json b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed0.json deleted file mode 100644 index ca39c67..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed0.json +++ /dev/null @@ -1 +0,0 @@ -{"scenario":{"seed":0,"optimizer":"BullMarketOptimizer","initialEth":"200000000000000000000","traderInitialEth":"437916987905703973573","startTimestamp":1,"startBlock":1,"token0isWeth":true,"poolFee":10000},"actions":[{"step":0,"type":"BUY","timestamp":1,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"132885397836202478125","traderKraiken":"0","currentTick":123890,"poolPrice":"38813714283599478074587411019430","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":1,"type":"BUY","timestamp":1,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"39865619350860743438","traderKraiken":"17373249602286120374089516","currentTick":120098,"poolPrice":"32110464384401727662944198120161","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":2,"type":"SELL","timestamp":1,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"39865619350860743438","traderKraiken":"17373249602286120374089516","currentTick":119273,"poolPrice":"30812862944640364687227822880556","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":3,"type":"SELL","timestamp":1,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"39865619350860743438","traderKraiken":"17373249602286120374089516","currentTick":120090,"poolPrice":"32097488370004114033187034337888","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":4,"type":"RECENTER","timestamp":1,"block":1,"actor":"0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4","preState":{"traderWeth":"90792518617702532872","traderKraiken":"8686624801143060187044758","currentTick":121269,"poolPrice":"34047907384835713843150791308680","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":5,"type":"BUY","timestamp":3601,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"90792518617702532872","traderKraiken":"8686624801143060187044758","currentTick":121269,"poolPrice":"34047907384835713843150791308680","vwap":"0","outstandingSupply":"394463856810240134113940061"}},{"step":6,"type":"SELL","timestamp":3601,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"45396259308851266436","traderKraiken":"16100675243303605610895622","currentTick":119012,"poolPrice":"30413683092433275221583921948281","vwap":"0","outstandingSupply":"394463856810240134113940061"}}]} \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed1.json b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed1.json deleted file mode 100644 index 7c5f56b..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed1.json +++ /dev/null @@ -1 +0,0 @@ -{"scenario":{"seed":1,"optimizer":"BullMarketOptimizer","initialEth":"200000000000000000000","traderInitialEth":"417106981937535278860","startTimestamp":3601,"startBlock":1,"token0isWeth":false,"poolFee":10000},"actions":[{"step":0,"type":"BUY","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"152861730151649342497","traderKraiken":"0","currentTick":-123891,"poolPrice":"161723773678779450733783246","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":1,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"114646297613737006873","traderKraiken":"8094470310852125234052188","currentTick":-121593,"poolPrice":"181414017218734744871703229","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":2,"type":"BUY","timestamp":5401,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"124842831271889337408","traderKraiken":"6070852733139093925539141","currentTick":-122186,"poolPrice":"176107254482909757175841776","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":3,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"124842831271889337408","traderKraiken":"6070852733139093925539141","currentTick":-119869,"poolPrice":"197743845112692177382153477","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":4,"type":"BUY","timestamp":5401,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"134187673424715730835","traderKraiken":"4553139549854320444154356","currentTick":-119901,"poolPrice":"197425506811074811873956860","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":5,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"134187673424715730835","traderKraiken":"4553139549854320444154356","currentTick":-119677,"poolPrice":"199653425417280065710376340","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":6,"type":"BUY","timestamp":5401,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"141335114312326533197","traderKraiken":"3414854662390740333115767","currentTick":-119701,"poolPrice":"199409943060289759425132754","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":7,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"141335114312326533197","traderKraiken":"3414854662390740333115767","currentTick":-119590,"poolPrice":"200523902363392386343308428","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":8,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"146744168046319825366","traderKraiken":"2561140996793055249836826","currentTick":-119608,"poolPrice":"200339639328139758352135908","vwap":"0","outstandingSupply":"413355367821089080069727544"}}]} \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed0.txt b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed0.txt deleted file mode 100644 index 984ceee..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed0.txt +++ /dev/null @@ -1,21 +0,0 @@ -=== PROFITABLE SCENARIO SUMMARY === -Run ID: 250818-JY0U -Seed: 0 -Optimizer: BullMarketOptimizer -Discovery Reached: YES - -Financial Results: - Initial Balance: 50 ETH - Final Balance: 131 ETH - Profit: 81 ETH (162%) - -Action Sequence: - 1. BUY - Trader - Amount: 93 ETH - Tick: 123890 -> 120098 - 2. BUY - Whale - Amount: 244 ETH - Tick: 120098 -> 119273 - 3. SELL - Whale - Amount: 38079345 ETH - Tick: 119273 -> 120090 - 4. SELL - Trader - Amount: 8686624 ETH - Tick: 120090 -> 121269 - 5. RECENTER - System - Tick: 121269 -> 121269 - 6. BUY - Trader - Amount: 45 ETH - Tick: 121269 -> 119012 - 7. SELL - Trader - Amount: 16100675 ETH - Tick: 119012 -> 123585 - -This scenario can be replayed using the generated replay script. diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed1.txt b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed1.txt deleted file mode 100644 index 4df2271..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed1.txt +++ /dev/null @@ -1,23 +0,0 @@ -=== PROFITABLE SCENARIO SUMMARY === -Run ID: 250818-JY0U -Seed: 1 -Optimizer: BullMarketOptimizer -Discovery Reached: YES - -Financial Results: - Initial Balance: 50 ETH - Final Balance: 162 ETH - Profit: 112 ETH (225%) - -Action Sequence: - 1. BUY - Trader - Amount: 38 ETH - Tick: -123891 -> -121593 - 2. SELL - Trader - Amount: 2023617 ETH - Tick: -121593 -> -122186 - 3. BUY - Whale - Amount: 132 ETH - Tick: -122186 -> -119869 - 4. SELL - Trader - Amount: 1517713 ETH - Tick: -119869 -> -119901 - 5. BUY - Whale - Amount: 66 ETH - Tick: -119901 -> -119677 - 6. SELL - Trader - Amount: 1138284 ETH - Tick: -119677 -> -119701 - 7. BUY - Whale - Amount: 33 ETH - Tick: -119701 -> -119590 - 8. SELL - Trader - Amount: 853713 ETH - Tick: -119590 -> -119608 - 9. SELL - Trader - Amount: 2561140 ETH - Tick: -119608 -> -119663 - -This scenario can be replayed using the generated replay script. diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/fuzzing.log b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/fuzzing.log deleted file mode 100644 index 3c5fe54..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/fuzzing.log +++ /dev/null @@ -1,2981 +0,0 @@ -No files changed, compilation skipped -Traces: - [24064764] → new RecordedFuzzingAnalysis@0x9f7cF1d1F558E57ef88a59ac3D47214eF25B6A06 - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d] - ├─ [0] VM::label(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], "trader") - │ └─ ← [Return] - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797] - ├─ [0] VM::label(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], "whale") - │ └─ ← [Return] - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4] - ├─ [0] VM::label(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], "fees") - │ └─ ← [Return] - └─ ← [Return] 119490 bytes of code - - [99978891] RecordedFuzzingAnalysis::run() - ├─ [0] VM::envOr("RUN_ID", "LOCAL") [staticcall] - │ └─ ← [Return] - ├─ [0] console::log("=== RECORDED Fuzzing Analysis ===") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Run ID: 250818-WAER") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Recording enabled for profitable scenario replay") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::envOr("FUZZING_RUNS", 20) [staticcall] - │ └─ ← [Return] - ├─ [0] VM::envOr("TRACK_POSITIONS", false) [staticcall] - │ └─ ← [Return] - ├─ [0] VM::envOr("OPTIMIZER_CLASS", "BullMarketOptimizer") [staticcall] - │ └─ ← [Return] - ├─ [0] console::log("=== IMPROVED Fuzzing Analysis ===") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Designed to reach discovery position with larger trades") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Optimizer: BullMarketOptimizer") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(20) [staticcall] - │ └─ ← [Return] "20" - ├─ [0] console::log("Fuzzing runs: 20") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("") [staticcall] - │ └─ ← [Stop] - ├─ [14246808] → new TestEnvironment@0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3 - │ └─ ← [Return] 70897 bytes of code - ├─ [74921] → new BullMarketOptimizer@0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f - │ └─ ← [Return] 374 bytes of code - ├─ [17116638] TestEnvironment::setupEnvironmentWithOptimizer(true, fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f]) - │ ├─ [5007640] → new @0xd9003177dC465aAA89e20678675dca7FA5f5CAD5 - │ │ ├─ emit OwnerChanged(oldOwner: 0x0000000000000000000000000000000000000000, newOwner: TestEnvironment: [0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3]) - │ │ ├─ emit FeeAmountEnabled(fee: 500, tickSpacing: 10) - │ │ ├─ emit FeeAmountEnabled(fee: 3000, tickSpacing: 60) - │ │ ├─ emit FeeAmountEnabled(fee: 10000 [1e4], tickSpacing: 200) - │ │ └─ ← [Return] 24535 bytes of code - │ ├─ [705570] → new WETH@0x143514cFa5E66eC945bB19A024627c8bdE524156 - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0xF03252ff2894637aeFC003421b78e82E38b98087 - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [4594718] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5::createPool(WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], 10000 [1e4]) - │ │ ├─ [4435593] → new @0x881375548072E64EefdEBd5074D4B86B350588C2 - │ │ │ ├─ [734] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5::parameters() [staticcall] - │ │ │ │ └─ ← [Return] 0x000000000000000000000000d9003177dc465aaa89e20678675dca7fa5f5cad5000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b98087000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8 - │ │ │ └─ ← [Return] 22142 bytes of code - │ │ ├─ emit PoolCreated(token0: WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], token1: Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], fee: 10000 [1e4], tickSpacing: 200, pool: 0x881375548072E64EefdEBd5074D4B86B350588C2) - │ │ └─ ← [Return] 0x881375548072E64EefdEBd5074D4B86B350588C2 - │ ├─ [49152] 0x881375548072E64EefdEBd5074D4B86B350588C2::initialize(38813714283599478074587411019430 [3.881e31]) - │ │ ├─ emit Initialize(sqrtPriceX96: 38813714283599478074587411019430 [3.881e31], tick: 123890 [1.238e5]) - │ │ └─ ← [Stop] - │ ├─ [2366916] → new Stake@0x69429d5A924225a5Ed91920E7B396680d679dd2A - │ │ ├─ [310] Kraiken::decimals() [staticcall] - │ │ │ └─ ← [Return] 18 - │ │ └─ ← [Return] 7702 bytes of code - │ ├─ [2723044] → new LiquidityManager@0x7561293664431f3214Acc769Fbf8bc03f31231CC - │ │ └─ ← [Return] 13371 bytes of code - │ ├─ [22751] LiquidityManager::setFeeDestination(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ ├─ [22759] Kraiken::setStakingPool(Stake: [0x69429d5A924225a5Ed91920E7B396680d679dd2A]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22736] Kraiken::setLiquidityManager(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::deal(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 50000000000000000000 [5e19]) - │ │ └─ ← [Return] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22670] LiquidityManager::setRecenterAccess(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ └─ ← [Return] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5, 0x881375548072E64EefdEBd5074D4B86B350588C2, WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], Stake: [0x69429d5A924225a5Ed91920E7B396680d679dd2A], LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f], true - ├─ [0] VM::deal(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 200000000000000000000 [2e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 265770795672404956250 [2.657e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 610063180139002990896 [6.1e20]) - │ └─ ← [Return] - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [47865] WETH::deposit{value: 132885397836202478125}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 132885397836202478125 [1.328e20]) - │ ├─ emit Deposit(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount: 132885397836202478125 [1.328e20]) - │ └─ ← [Stop] - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [25965] WETH::deposit{value: 305031590069501495448}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 305031590069501495448 [3.05e20]) - │ ├─ emit Deposit(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount: 305031590069501495448 [3.05e20]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [683571] LiquidityManager::recenter() - │ ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - │ ├─ [2670] Kraiken::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [492] Kraiken::burn(0) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [2539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [352473] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 120200 [1.202e5], 127400 [1.274e5], 152183492855657924602025 [1.521e23], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [2539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [2670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [149841] LiquidityManager::uniswapV3MintCallback(49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [69465] Kraiken::mint(12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 0 - │ │ │ ├─ [23965] WETH::deposit{value: 200000000000000000000}() - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 200000000000000000000 [2e20]) - │ │ │ │ ├─ emit Deposit(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], amount: 200000000000000000000 [2e20]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [22854] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 49997885905797944322 [4.999e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 49997885905797944322 [4.999e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [22988] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount: 152183492855657924602025 [1.521e23], amount0: 49997885905797944322 [4.999e19], amount1: 12560776629550722278400898 [1.256e25]) - │ │ └─ ← [Return] 49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25] - │ ├─ [126184] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 109200 [1.092e5], 120200 [1.202e5], 2325025585294773848086493 [2.325e24], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ [29509] LiquidityManager::uniswapV3MintCallback(0, 400666177370246667969699818 [4.006e26], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount: 2325025585294773848086493 [2.325e24], amount0: 0, amount1: 400666177370246667969699818 [4.006e26]) - │ │ └─ ← [Return] 0, 400666177370246667969699818 [4.006e26] - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [102615] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 127400 [1.274e5], 127600 [1.276e5], 25563614720653619409 [2.556e19], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [6545] LiquidityManager::uniswapV3MintCallback(435625665656824 [4.356e14], 0, 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 435625665656824 [4.356e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 435625665656824 [4.356e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount: 25563614720653619409 [2.556e19], amount0: 435625665656824 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656824 [4.356e14], 0 - │ └─ ← [Return] false - ├─ [2299756] → new ScenarioRecorder@0x5c4a3C2CD1ffE6aAfDF62b64bb3E620C696c832E - │ └─ ← [Return] 11376 bytes of code - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [138642] ScenarioRecorder::initializeScenario(0, "BullMarketOptimizer", 200000000000000000000 [2e20], 437916987905703973573 [4.379e20], true, 10000 [1e4]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [2670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [93702] ScenarioRecorder::recordPreState(132885397836202478125 [1.328e20], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] console::log(" Strategy: Discovery Push [RECORDING]") [staticcall] - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(132885397836202478125 [1.328e20], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [186323] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 93019778485341734687 [9.301e19], 0, 0) - │ ├─ emit ActionRecorded(step: 0, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 132885397836202478125 [1.328e20] - ├─ [382304] → new SwapExecutor@0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], 93019778485341734687 [9.301e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], value: 93019778485341734687 [9.301e19]) - │ └─ ← [Return] true - ├─ [98968] SwapExecutor::executeBuy(93019778485341734687 [9.301e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [97681] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 93019778485341734687 [9.301e19], 4295128740 [4.295e9], 0x) - │ │ ├─ [22988] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 17373249602286120374089516 [1.737e25]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 17373249602286120374089516 [1.737e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(93019778485341734687 [9.301e19], -17373249602286120374089516 [-1.737e25], 0x) - │ │ │ ├─ [266] 0x881375548072E64EefdEBd5074D4B86B350588C2::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 93019778485341734687 [9.301e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 93019778485341734687 [9.301e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 143018100016805335833 [1.43e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x6AE5E129054a5dBFCeBb9Dfcb1CE1AA229fB1Ddb], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 93019778485341734687 [9.301e19], amount1: -17373249602286120374089516 [-1.737e25], sqrtPriceX96: 32110464384401727662944198120161 [3.211e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 120098 [1.2e5]) - │ │ └─ ← [Return] 93019778485341734687 [9.301e19], -17373249602286120374089516 [-1.737e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120098 [1.2e5], 32110464384401727662944198120161 [3.211e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32110464384401727662944198120161 [3.211e31], 120098 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120098 [1.2e5], 32110464384401727662944198120161 [3.211e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 244025272055601196358 [2.44e20], 0, 0) - │ ├─ emit ActionRecorded(step: 1, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 305031590069501495448 [3.05e20] - ├─ [382304] → new SwapExecutor@0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], 244025272055601196358 [2.44e20]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], value: 244025272055601196358 [2.44e20]) - │ └─ ← [Return] true - ├─ [52709] SwapExecutor::executeBuy(244025272055601196358 [2.44e20], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [51422] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], true, 244025272055601196358 [2.44e20], 4295128740 [4.295e9], 0x) - │ │ ├─ [24988] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 38079345162363541473731623 [3.807e25]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 38079345162363541473731623 [3.807e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 143018100016805335833 [1.43e20] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(244025272055601196358 [2.44e20], -38079345162363541473731623 [-3.807e25], 0x) - │ │ │ ├─ [266] 0x881375548072E64EefdEBd5074D4B86B350588C2::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 244025272055601196358 [2.44e20]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 244025272055601196358 [2.44e20]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 387043372072406532191 [3.87e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xcD95e0E356A5f414894Be4bAD363acdaCcAb30a9], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: 244025272055601196358 [2.44e20], amount1: -38079345162363541473731623 [-3.807e25], sqrtPriceX96: 30812862944640364687227822880556 [3.081e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 119273 [1.192e5]) - │ │ └─ ← [Return] 244025272055601196358 [2.44e20], -38079345162363541473731623 [-3.807e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 119273 [1.192e5], 30812862944640364687227822880556 [3.081e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 38079345162363541473731623 [3.807e25] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 38079345162363541473731623 [3.807e25] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30812862944640364687227822880556 [3.081e31], 119273 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 119273 [1.192e5], 30812862944640364687227822880556 [3.081e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 38079345162363541473731623 [3.807e25], 0, 0) - │ ├─ emit ActionRecorded(step: 2, actionType: "SELL", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 38079345162363541473731623 [3.807e25] - ├─ [382304] → new SwapExecutor@0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], 38079345162363541473731623 [3.807e25]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], value: 38079345162363541473731623 [3.807e25]) - │ └─ ← [Return] true - ├─ [50206] SwapExecutor::executeSell(38079345162363541473731623 [3.807e25], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [48927] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 38079345162363541473731623 [3.807e25], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 239265857784322240495 [2.392e20]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 239265857784322240495 [2.392e20]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 357774359235147728400279577 [3.577e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-239265857784322240495 [-2.392e20], 38079345162363541473731623 [3.807e25], 0x) - │ │ │ ├─ [308] 0x881375548072E64EefdEBd5074D4B86B350588C2::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 38079345162363541473731623 [3.807e25]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 38079345162363541473731623 [3.807e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 395853704397511269874011200 [3.958e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x961e384b66ae2Bb90c9bBdd3d5105397E70a7A37], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -239265857784322240495 [-2.392e20], amount1: 38079345162363541473731623 [3.807e25], sqrtPriceX96: 32097488370004114033187034337888 [3.209e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 120090 [1.2e5]) - │ │ └─ ← [Return] -239265857784322240495 [-2.392e20], 38079345162363541473731623 [3.807e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120090 [1.2e5], 32097488370004114033187034337888 [3.209e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 32097488370004114033187034337888 [3.209e31], 120090 [1.2e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 39865619350860743438 [3.986e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(39865619350860743438 [3.986e19], 17373249602286120374089516 [1.737e25], 120090 [1.2e5], 32097488370004114033187034337888 [3.209e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 8686624801143060187044758 [8.686e24], 0, 0) - │ ├─ emit ActionRecorded(step: 3, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 17373249602286120374089516 [1.737e25] - ├─ [382304] → new SwapExecutor@0x41b343Df2196081e42ac8Da11a1aA38De08e8658 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], 8686624801143060187044758 [8.686e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], value: 8686624801143060187044758 [8.686e24]) - │ └─ ← [Return] true - ├─ [58834] SwapExecutor::executeSell(8686624801143060187044758 [8.686e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [57555] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 8686624801143060187044758 [8.686e24], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 50926899266841789434 [5.092e19]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 50926899266841789434 [5.092e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 395853704397511269874011200 [3.958e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-50926899266841789434 [-5.092e19], 8686624801143060187044758 [8.686e24], 0x) - │ │ │ ├─ [308] 0x881375548072E64EefdEBd5074D4B86B350588C2::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 8686624801143060187044758 [8.686e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 8686624801143060187044758 [8.686e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 404540329198654330061055958 [4.045e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x41b343Df2196081e42ac8Da11a1aA38De08e8658], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -50926899266841789434 [-5.092e19], amount1: 8686624801143060187044758 [8.686e24], sqrtPriceX96: 34047907384835713843150791308680 [3.404e31], liquidity: 152183492855657924602025 [1.521e23], tick: 121269 [1.212e5]) - │ │ └─ ← [Return] -50926899266841789434 [-5.092e19], 8686624801143060187044758 [8.686e24] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [139805] ScenarioRecorder::recordRecenter(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], 0) - │ ├─ emit ActionRecorded(step: 4, actionType: "RECENTER", actor: fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Stop] - ├─ [0] VM::warp(3601) - │ └─ ← [Return] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [928558] LiquidityManager::recenter() - │ ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - │ ├─ [37270] 0x881375548072E64EefdEBd5074D4B86B350588C2::burn(127400 [1.274e5], 127600 [1.276e5], 25563614720653619409 [2.556e19]) - │ │ ├─ emit Burn(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount: 25563614720653619409 [2.556e19], amount0: 435625665656823 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656823 [4.356e14], 0 - │ ├─ [9222] 0x881375548072E64EefdEBd5074D4B86B350588C2::collect(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 127400 [1.274e5], 127600 [1.276e5], 340282366920938463463374607431768211455 [3.402e38], 340282366920938463463374607431768211455 [3.402e38]) - │ │ ├─ [2954] WETH::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 435625665656823 [4.356e14]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 435625665656823 [4.356e14]) - │ │ │ └─ ← [Return] true - │ │ ├─ emit Collect(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], recipient: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount0: 435625665656823 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656823 [4.356e14], 0 - │ ├─ [80522] 0x881375548072E64EefdEBd5074D4B86B350588C2::burn(120200 [1.202e5], 127400 [1.274e5], 152183492855657924602025 [1.521e23]) - │ │ ├─ emit Burn(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount: 152183492855657924602025 [1.521e23], amount0: 93479728890167416123 [9.347e19], amount1: 3406492128772596074748371 [3.406e24]) - │ │ └─ ← [Return] 93479728890167416123 [9.347e19], 3406492128772596074748371 [3.406e24] - │ ├─ [33512] 0x881375548072E64EefdEBd5074D4B86B350588C2::collect(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 120200 [1.202e5], 127400 [1.274e5], 340282366920938463463374607431768211455 [3.402e38], 340282366920938463463374607431768211455 [3.402e38]) - │ │ ├─ [2954] WETH::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 94115493483345733355 [9.411e19]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 94115493483345733355 [9.411e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [22988] Kraiken::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 3440901140174339469442799 [3.44e24]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 3440901140174339469442799 [3.44e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ emit Collect(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], recipient: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount0: 94115493483345733355 [9.411e19], amount1: 3440901140174339469442799 [3.44e24]) - │ │ └─ ← [Return] 94115493483345733355 [9.411e19], 3440901140174339469442799 [3.44e24] - │ ├─ [77643] 0x881375548072E64EefdEBd5074D4B86B350588C2::burn(109200 [1.092e5], 120200 [1.202e5], 2325025585294773848086493 [2.325e24]) - │ │ ├─ emit Burn(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount: 2325025585294773848086493 [2.325e24], amount0: 0, amount1: 400666177370246667969699817 [4.006e26]) - │ │ └─ ← [Return] 0, 400666177370246667969699817 [4.006e26] - │ ├─ [13612] 0x881375548072E64EefdEBd5074D4B86B350588C2::collect(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 109200 [1.092e5], 120200 [1.202e5], 340282366920938463463374607431768211455 [3.402e38], 340282366920938463463374607431768211455 [3.402e38]) - │ │ ├─ [2954] WETH::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 2734685912231112078 [2.734e18]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 2734685912231112078 [2.734e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [3088] Kraiken::transfer(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 401099428058479990591613153 [4.01e26]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 401099428058479990591613153 [4.01e26]) - │ │ │ └─ ← [Return] true - │ │ ├─ emit Collect(owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], recipient: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount0: 2734685912231112078 [2.734e18], amount1: 401099428058479990591613153 [4.01e26]) - │ │ └─ ← [Return] 2734685912231112078 [2.734e18], 401099428058479990591613153 [4.01e26] - │ ├─ [24854] WETH::transfer(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], 3370450505409429310 [3.37e18]) - │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], value: 3370450505409429310 [3.37e18]) - │ │ └─ ← [Return] true - │ ├─ [24988] Kraiken::transfer(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], 467659699635066016607764 [4.676e23]) - │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], value: 467659699635066016607764 [4.676e23]) - │ │ └─ ← [Return] true - │ ├─ [670] Kraiken::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 404072669499019264044448188 [4.04e26] - │ ├─ [3463] Kraiken::burn(404072669499019264044448188 [4.04e26]) - │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x0000000000000000000000000000000000000000, value: 404072669499019264044448188 [4.04e26]) - │ │ └─ ← [Stop] - │ ├─ [348] Kraiken::totalSupply() [staticcall] - │ │ └─ ← [Return] 9154284500778126203652528 [9.154e24] - │ ├─ [573] Kraiken::setPreviousTotalSupply(9154284500778126203652528 [9.154e24]) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 243481842984369471800 [2.434e20] - │ ├─ [263438] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 117600 [1.176e5], 124800 [1.248e5], 161630528569314481719245 [1.616e23], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 6 - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 6 - │ │ ├─ [33020] LiquidityManager::uniswapV3MintCallback(60853467075024120961 [6.085e19], 11644015272762925977268243 [1.164e25], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(11644015272762925977268243 [1.164e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 11644015272762925977268243 [1.164e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 243481842984369471800 [2.434e20] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 60853467075024120961 [6.085e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 60853467075024120961 [6.085e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 11644015272762925977268243 [1.164e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 11644015272762925977268243 [1.164e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60853467075024120967 [6.085e19] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 11644015272762925977268249 [1.164e25] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 117600 [1.176e5], tickUpper: 124800 [1.248e5], amount: 161630528569314481719245 [1.616e23], amount0: 60853467075024120961 [6.085e19], amount1: 11644015272762925977268243 [1.164e25]) - │ │ └─ ← [Return] 60853467075024120961 [6.085e19], 11644015272762925977268243 [1.164e25] - │ ├─ [165970] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 106600 [1.066e5], 117600 [1.176e5], 2469355297586749026266243 [2.469e24], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 11644015272762925977268249 [1.164e25] - │ │ ├─ [29509] LiquidityManager::uniswapV3MintCallback(0, 373665557036699081933019290 [3.736e26], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(373665557036699081933019290 [3.736e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], value: 373665557036699081933019290 [3.736e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 373665557036699081933019290 [3.736e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 373665557036699081933019290 [3.736e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 385309572309462007910287539 [3.853e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 106600 [1.066e5], tickUpper: 117600 [1.176e5], amount: 2469355297586749026266243 [2.469e24], amount0: 0, amount1: 373665557036699081933019290 [3.736e26]) - │ │ └─ ← [Return] 0, 373665557036699081933019290 [3.736e26] - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ ├─ emit EthScarcity(currentTick: 121269 [1.212e5], ethBalance: 182628375909345350839 [1.826e20], outstandingSupply: 9157422763281919293247210 [9.157e24], vwap: 233174335700424782796450 [2.331e23], vwapTick: 104665 [1.046e5]) - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ ├─ [102573] 0x881375548072E64EefdEBd5074D4B86B350588C2::mint(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], 124800 [1.248e5], 125000 [1.25e5], 35441680661270157275 [3.544e19], 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60853467075024120967 [6.085e19] - │ │ ├─ [6545] LiquidityManager::uniswapV3MintCallback(687798087112019 [6.877e14], 0, 0x000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b980870000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC]) [staticcall] - │ │ │ │ └─ ← [Return] 182628375909345350839 [1.826e20] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 687798087112019 [6.877e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 687798087112019 [6.877e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60854154873111232986 [6.085e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], owner: LiquidityManager: [0x7561293664431f3214Acc769Fbf8bc03f31231CC], tickLower: 124800 [1.248e5], tickUpper: 125000 [1.25e5], amount: 35441680661270157275 [3.544e19], amount0: 687798087112019 [6.877e14], amount1: 0) - │ │ └─ ← [Return] 687798087112019 [6.877e14], 0 - │ └─ ← [Return] true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [113602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [89011] ScenarioRecorder::recordOptimizerParams(500000000000000000 [5e17], 500000000000000000 [5e17], 50, 500000000000000000 [5e17]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 34047907384835713843150791308680 [3.404e31], 121269 [1.212e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8686624801143060187044758 [8.686e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [1602] ScenarioRecorder::recordPreState(90792518617702532872 [9.079e19], 8686624801143060187044758 [8.686e24], 121269 [1.212e5], 34047907384835713843150791308680 [3.404e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 45396259308851266436 [4.539e19], 0, 0) - │ ├─ emit ActionRecorded(step: 5, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 90792518617702532872 [9.079e19] - ├─ [382304] → new SwapExecutor@0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], 45396259308851266436 [4.539e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], value: 45396259308851266436 [4.539e19]) - │ └─ ← [Return] true - ├─ [29843] SwapExecutor::executeBuy(45396259308851266436 [4.539e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [28556] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 45396259308851266436 [4.539e19], 4295128740 [4.295e9], 0x) - │ │ ├─ [3088] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 7414050442160545423850864 [7.414e24]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 7414050442160545423850864 [7.414e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 60854154873111232986 [6.085e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(45396259308851266436 [4.539e19], -7414050442160545423850864 [-7.414e24], 0x) - │ │ │ ├─ [266] 0x881375548072E64EefdEBd5074D4B86B350588C2::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156] - │ │ │ ├─ [2954] WETH::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 45396259308851266436 [4.539e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 45396259308851266436 [4.539e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 106250414181962499422 [1.062e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xC33F7eF76C2bBC678794516f038e62Ce3fAE6072], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 45396259308851266436 [4.539e19], amount1: -7414050442160545423850864 [-7.414e24], sqrtPriceX96: 30413683092433275221583921948281 [3.041e31], liquidity: 161630528569314481719245 [1.616e23], tick: 119012 [1.19e5]) - │ │ └─ ← [Return] 45396259308851266436 [4.539e19], -7414050442160545423850864 [-7.414e24] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 45396259308851266436 [4.539e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [113602] ScenarioRecorder::recordPreState(45396259308851266436 [4.539e19], 16100675243303605610895622 [1.61e25], 119012 [1.19e5], 30413683092433275221583921948281 [3.041e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] console::log(" [DISCOVERY REACHED] at tick", "119012") [staticcall] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 35441680661270157275 [3.544e19], 124800 [1.248e5], 125000 [1.25e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 161630528569314481719245 [1.616e23], 117600 [1.176e5], 124800 [1.248e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2469355297586749026266243 [2.469e24], 106600 [1.066e5], 117600 [1.176e5] - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(125000 [1.25e5]) [staticcall] - │ └─ ← [Return] "125000" - ├─ [0] VM::toString(35441680661270157275 [3.544e19]) [staticcall] - │ └─ ← [Return] "35441680661270157275" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(161630528569314481719245 [1.616e23]) [staticcall] - │ └─ ← [Return] "161630528569314481719245" - ├─ [0] VM::toString(106600 [1.066e5]) [staticcall] - │ └─ ← [Return] "106600" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(2469355297586749026266243 [2.469e24]) [staticcall] - │ └─ ← [Return] "2469355297586749026266243" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 30413683092433275221583921948281 [3.041e31], 119012 [1.19e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 45396259308851266436 [4.539e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [1602] ScenarioRecorder::recordPreState(45396259308851266436 [4.539e19], 16100675243303605610895622 [1.61e25], 119012 [1.19e5], 30413683092433275221583921948281 [3.041e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 16100675243303605610895622 [1.61e25], 0, 0) - │ ├─ emit ActionRecorded(step: 6, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 16100675243303605610895622 [1.61e25] - ├─ [382304] → new SwapExecutor@0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], 16100675243303605610895622 [1.61e25]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], value: 16100675243303605610895622 [1.61e25]) - │ └─ ← [Return] true - ├─ [30270] SwapExecutor::executeSell(16100675243303605610895622 [1.61e25], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [28991] 0x881375548072E64EefdEBd5074D4B86B350588C2::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 16100675243303605610895622 [1.61e25], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 86059577991359021386 [8.605e19]) - │ │ │ ├─ emit Transfer(from: 0x881375548072E64EefdEBd5074D4B86B350588C2, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 86059577991359021386 [8.605e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 377895521867301462486436675 [3.778e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-86059577991359021386 [-8.605e19], 16100675243303605610895622 [1.61e25], 0x) - │ │ │ ├─ [308] 0x881375548072E64EefdEBd5074D4B86B350588C2::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087] - │ │ │ ├─ [3088] Kraiken::transfer(0x881375548072E64EefdEBd5074D4B86B350588C2, 16100675243303605610895622 [1.61e25]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], to: 0x881375548072E64EefdEBd5074D4B86B350588C2, value: 16100675243303605610895622 [1.61e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x881375548072E64EefdEBd5074D4B86B350588C2) [staticcall] - │ │ │ └─ ← [Return] 393996197110605068097332297 [3.939e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x7a3CE1E2bF7dBbb4A1B3039Cc468a915b2596cA8], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -86059577991359021386 [-8.605e19], amount1: 16100675243303605610895622 [1.61e25], sqrtPriceX96: 38227000643248658511594599458889 [3.822e31], liquidity: 161630528569314481719245 [1.616e23], tick: 123585 [1.235e5]) - │ │ └─ ← [Return] -86059577991359021386 [-8.605e19], 16100675243303605610895622 [1.61e25] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 131455837300210287822 [1.314e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [93702] ScenarioRecorder::recordPreState(131455837300210287822 [1.314e20], 0, 123585 [1.235e5], 38227000643248658511594599458889 [3.822e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 131455837300210287822 [1.314e20] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 131455837300210287822 [1.314e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 394463856810240134113940061 [3.944e26] - ├─ [1602] ScenarioRecorder::recordPreState(131455837300210287822 [1.314e20], 0, 123585 [1.235e5], 38227000643248658511594599458889 [3.822e31], 0, 394463856810240134113940061 [3.944e26]) - │ └─ ← [Stop] - ├─ [0] console::log("\n[RECORDING] Exporting profitable scenario...") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log(" Run ID: 250818-WAER") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] console::log(" Seed: 0") [staticcall] - │ └─ ← [Stop] - ├─ [155341] ScenarioRecorder::exportToJson() [staticcall] - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(200000000000000000000 [2e20]) [staticcall] - │ │ └─ ← [Return] "200000000000000000000" - │ ├─ [0] VM::toString(437916987905703973573 [4.379e20]) [staticcall] - │ │ └─ ← [Return] "437916987905703973573" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(10000 [1e4]) [staticcall] - │ │ └─ ← [Return] "10000" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(132885397836202478125 [1.328e20]) [staticcall] - │ │ └─ ← [Return] "132885397836202478125" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ │ └─ ← [Return] "123890" - │ ├─ [0] VM::toString(38813714283599478074587411019430 [3.881e31]) [staticcall] - │ │ └─ ← [Return] "38813714283599478074587411019430" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(39865619350860743438 [3.986e19]) [staticcall] - │ │ └─ ← [Return] "39865619350860743438" - │ ├─ [0] VM::toString(17373249602286120374089516 [1.737e25]) [staticcall] - │ │ └─ ← [Return] "17373249602286120374089516" - │ ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ │ └─ ← [Return] "120098" - │ ├─ [0] VM::toString(32110464384401727662944198120161 [3.211e31]) [staticcall] - │ │ └─ ← [Return] "32110464384401727662944198120161" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(2) [staticcall] - │ │ └─ ← [Return] "2" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(39865619350860743438 [3.986e19]) [staticcall] - │ │ └─ ← [Return] "39865619350860743438" - │ ├─ [0] VM::toString(17373249602286120374089516 [1.737e25]) [staticcall] - │ │ └─ ← [Return] "17373249602286120374089516" - │ ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ │ └─ ← [Return] "119273" - │ ├─ [0] VM::toString(30812862944640364687227822880556 [3.081e31]) [staticcall] - │ │ └─ ← [Return] "30812862944640364687227822880556" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(3) [staticcall] - │ │ └─ ← [Return] "3" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(39865619350860743438 [3.986e19]) [staticcall] - │ │ └─ ← [Return] "39865619350860743438" - │ ├─ [0] VM::toString(17373249602286120374089516 [1.737e25]) [staticcall] - │ │ └─ ← [Return] "17373249602286120374089516" - │ ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ │ └─ ← [Return] "120090" - │ ├─ [0] VM::toString(32097488370004114033187034337888 [3.209e31]) [staticcall] - │ │ └─ ← [Return] "32097488370004114033187034337888" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(4) [staticcall] - │ │ └─ ← [Return] "4" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) [staticcall] - │ │ └─ ← [Return] "0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4" - │ ├─ [0] VM::toString(90792518617702532872 [9.079e19]) [staticcall] - │ │ └─ ← [Return] "90792518617702532872" - │ ├─ [0] VM::toString(8686624801143060187044758 [8.686e24]) [staticcall] - │ │ └─ ← [Return] "8686624801143060187044758" - │ ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ │ └─ ← [Return] "121269" - │ ├─ [0] VM::toString(34047907384835713843150791308680 [3.404e31]) [staticcall] - │ │ └─ ← [Return] "34047907384835713843150791308680" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413226953999797390248100716 [4.132e26]) [staticcall] - │ │ └─ ← [Return] "413226953999797390248100716" - │ ├─ [0] VM::toString(5) [staticcall] - │ │ └─ ← [Return] "5" - │ ├─ [0] VM::toString(3601) [staticcall] - │ │ └─ ← [Return] "3601" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(90792518617702532872 [9.079e19]) [staticcall] - │ │ └─ ← [Return] "90792518617702532872" - │ ├─ [0] VM::toString(8686624801143060187044758 [8.686e24]) [staticcall] - │ │ └─ ← [Return] "8686624801143060187044758" - │ ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ │ └─ ← [Return] "121269" - │ ├─ [0] VM::toString(34047907384835713843150791308680 [3.404e31]) [staticcall] - │ │ └─ ← [Return] "34047907384835713843150791308680" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(394463856810240134113940061 [3.944e26]) [staticcall] - │ │ └─ ← [Return] "394463856810240134113940061" - │ ├─ [0] VM::toString(6) [staticcall] - │ │ └─ ← [Return] "6" - │ ├─ [0] VM::toString(3601) [staticcall] - │ │ └─ ← [Return] "3601" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(45396259308851266436 [4.539e19]) [staticcall] - │ │ └─ ← [Return] "45396259308851266436" - │ ├─ [0] VM::toString(16100675243303605610895622 [1.61e25]) [staticcall] - │ │ └─ ← [Return] "16100675243303605610895622" - │ ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ │ └─ ← [Return] "119012" - │ ├─ [0] VM::toString(30413683092433275221583921948281 [3.041e31]) [staticcall] - │ │ └─ ← [Return] "30413683092433275221583921948281" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(394463856810240134113940061 [3.944e26]) [staticcall] - │ │ └─ ← [Return] "394463856810240134113940061" - │ └─ ← [Return] "{\"scenario\":{\"seed\":0,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"437916987905703973573\",\"startTimestamp\":1,\"startBlock\":1,\"token0isWeth\":true,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"132885397836202478125\",\"traderKraiken\":\"0\",\"currentTick\":123890,\"poolPrice\":\"38813714283599478074587411019430\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":1,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120098,\"poolPrice\":\"32110464384401727662944198120161\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":2,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":119273,\"poolPrice\":\"30812862944640364687227822880556\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120090,\"poolPrice\":\"32097488370004114033187034337888\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":4,\"type\":\"RECENTER\",\"timestamp\":1,\"block\":1,\"actor\":\"0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":5,\"type\":\"BUY\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}},{\"step\":6,\"type\":\"SELL\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"45396259308851266436\",\"traderKraiken\":\"16100675243303605610895622\",\"currentTick\":119012,\"poolPrice\":\"30413683092433275221583921948281\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}}]}" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("recorded_scenario_seed0.json", "{\"scenario\":{\"seed\":0,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"437916987905703973573\",\"startTimestamp\":1,\"startBlock\":1,\"token0isWeth\":true,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"132885397836202478125\",\"traderKraiken\":\"0\",\"currentTick\":123890,\"poolPrice\":\"38813714283599478074587411019430\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":1,\"type\":\"BUY\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120098,\"poolPrice\":\"32110464384401727662944198120161\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":2,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":119273,\"poolPrice\":\"30812862944640364687227822880556\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":1,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"39865619350860743438\",\"traderKraiken\":\"17373249602286120374089516\",\"currentTick\":120090,\"poolPrice\":\"32097488370004114033187034337888\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":4,\"type\":\"RECENTER\",\"timestamp\":1,\"block\":1,\"actor\":\"0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"413226953999797390248100716\"}},{\"step\":5,\"type\":\"BUY\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"90792518617702532872\",\"traderKraiken\":\"8686624801143060187044758\",\"currentTick\":121269,\"poolPrice\":\"34047907384835713843150791308680\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}},{\"step\":6,\"type\":\"SELL\",\"timestamp\":3601,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"45396259308851266436\",\"traderKraiken\":\"16100675243303605610895622\",\"currentTick\":119012,\"poolPrice\":\"30413683092433275221583921948281\",\"vwap\":\"0\",\"outstandingSupply\":\"394463856810240134113940061\"}}]}") - │ └─ ← [Return] - ├─ [0] console::log(" JSON exported to: recorded_scenario_seed0.json") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(93019778485341734687 [9.301e19]) [staticcall] - │ └─ ← [Return] "93019778485341734687" - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(244025272055601196358 [2.44e20]) [staticcall] - │ └─ ← [Return] "244025272055601196358" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(38079345162363541473731623 [3.807e25]) [staticcall] - │ └─ ← [Return] "38079345162363541473731623" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(8686624801143060187044758 [8.686e24]) [staticcall] - │ └─ ← [Return] "8686624801143060187044758" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(3601) [staticcall] - │ └─ ← [Return] "3601" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(45396259308851266436 [4.539e19]) [staticcall] - │ └─ ← [Return] "45396259308851266436" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(16100675243303605610895622 [1.61e25]) [staticcall] - │ └─ ← [Return] "16100675243303605610895622" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(123585 [1.235e5]) [staticcall] - │ └─ ← [Return] "123585" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("replay_script_seed0.sol", "// Replay script for profitable scenario\n// Seed: 0\n// Optimizer: BullMarketOptimizer\n// Discovery reached: YES\n\nfunction replayScenario() public {\n // Step 0\n _executeBuy(trader, 93019778485341734687);\n // Tick moved from 123890 to 120098\n\n // Step 1\n _executeBuy(whale, 244025272055601196358);\n // Tick moved from 120098 to 119273\n\n // Step 2\n _executeSell(whale, 38079345162363541473731623);\n // Tick moved from 119273 to 120090\n\n // Step 3\n _executeSell(trader, 8686624801143060187044758);\n // Tick moved from 120090 to 121269\n\n // Step 4\n vm.warp(3601);\n vm.prank(feeDestination);\n lm.recenter();\n // Tick moved from 121269 to 121269\n\n // Step 5\n _executeBuy(trader, 45396259308851266436);\n // Tick moved from 121269 to 119012\n\n // Step 6\n _executeSell(trader, 16100675243303605610895622);\n // Tick moved from 119012 to 123585\n\n}\n") - │ └─ ← [Return] - ├─ [0] console::log(" Replay script exported to: replay_script_seed0.sol") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(50) [staticcall] - │ └─ ← [Return] "50" - ├─ [0] VM::toString(131) [staticcall] - │ └─ ← [Return] "131" - ├─ [0] VM::toString(81) [staticcall] - │ └─ ← [Return] "81" - ├─ [0] VM::toString(162) [staticcall] - │ └─ ← [Return] "162" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(93) [staticcall] - │ └─ ← [Return] "93" - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(244) [staticcall] - │ └─ ← [Return] "244" - ├─ [0] VM::toString(120098 [1.2e5]) [staticcall] - │ └─ ← [Return] "120098" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(38079345 [3.807e7]) [staticcall] - │ └─ ← [Return] "38079345" - ├─ [0] VM::toString(119273 [1.192e5]) [staticcall] - │ └─ ← [Return] "119273" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(8686624 [8.686e6]) [staticcall] - │ └─ ← [Return] "8686624" - ├─ [0] VM::toString(120090 [1.2e5]) [staticcall] - │ └─ ← [Return] "120090" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(45) [staticcall] - │ └─ ← [Return] "45" - ├─ [0] VM::toString(121269 [1.212e5]) [staticcall] - │ └─ ← [Return] "121269" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(7) [staticcall] - │ └─ ← [Return] "7" - ├─ [0] VM::toString(16100675 [1.61e7]) [staticcall] - │ └─ ← [Return] "16100675" - ├─ [0] VM::toString(119012 [1.19e5]) [staticcall] - │ └─ ← [Return] "119012" - ├─ [0] VM::toString(123585 [1.235e5]) [staticcall] - │ └─ ← [Return] "123585" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("scenario_summary_seed0.txt", "=== PROFITABLE SCENARIO SUMMARY ===\nRun ID: 250818-WAER\nSeed: 0\nOptimizer: BullMarketOptimizer\nDiscovery Reached: YES\n\nFinancial Results:\n Initial Balance: 50 ETH\n Final Balance: 131 ETH\n Profit: 81 ETH (162%)\n\nAction Sequence:\n 1. BUY - Trader - Amount: 93 ETH - Tick: 123890 -> 120098\n 2. BUY - Whale - Amount: 244 ETH - Tick: 120098 -> 119273\n 3. SELL - Whale - Amount: 38079345 ETH - Tick: 119273 -> 120090\n 4. SELL - Trader - Amount: 8686624 ETH - Tick: 120090 -> 121269\n 5. RECENTER - System - Tick: 121269 -> 121269\n 6. BUY - Trader - Amount: 45 ETH - Tick: 121269 -> 119012\n 7. SELL - Trader - Amount: 16100675 ETH - Tick: 119012 -> 123585\n\nThis scenario can be replayed using the generated replay script.\n") - │ └─ ← [Return] - ├─ [0] console::log(" Summary exported to: scenario_summary_seed0.txt") [staticcall] - │ └─ ← [Stop] - ├─ [696] 0x881375548072E64EefdEBd5074D4B86B350588C2::slot0() [staticcall] - │ └─ ← [Return] 38227000643248658511594599458889 [3.822e31], 123585 [1.235e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 35441680661270157275 [3.544e19], 124800 [1.248e5], 125000 [1.25e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 161630528569314481719245 [1.616e23], 117600 [1.176e5], 124800 [1.248e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2469355297586749026266243 [2.469e24], 106600 [1.066e5], 117600 [1.176e5] - ├─ [0] VM::toString(123585 [1.235e5]) [staticcall] - │ └─ ← [Return] "123585" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(125000 [1.25e5]) [staticcall] - │ └─ ← [Return] "125000" - ├─ [0] VM::toString(35441680661270157275 [3.544e19]) [staticcall] - │ └─ ← [Return] "35441680661270157275" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(124800 [1.248e5]) [staticcall] - │ └─ ← [Return] "124800" - ├─ [0] VM::toString(161630528569314481719245 [1.616e23]) [staticcall] - │ └─ ← [Return] "161630528569314481719245" - ├─ [0] VM::toString(106600 [1.066e5]) [staticcall] - │ └─ ← [Return] "106600" - ├─ [0] VM::toString(117600 [1.176e5]) [staticcall] - │ └─ ← [Return] "117600" - ├─ [0] VM::toString(2469355297586749026266243 [2.469e24]) [staticcall] - │ └─ ← [Return] "2469355297586749026266243" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::writeFile("improved_positions_BullMarketOptimizer_0.csv", "\nMassiveBuy,119273,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true\nWhaleDump,120090,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true\nDiscovery_Reached,119012,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true\nFinal,123585,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true") - │ └─ ← [Return] - ├─ [19726985] TestEnvironment::setupEnvironmentWithOptimizer(false, fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f]) - │ ├─ [5007640] → new @0x7a480eFBB32dA5140D0a49D95cE488336FE6D598 - │ │ ├─ emit OwnerChanged(oldOwner: 0x0000000000000000000000000000000000000000, newOwner: TestEnvironment: [0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3]) - │ │ ├─ emit FeeAmountEnabled(fee: 500, tickSpacing: 10) - │ │ ├─ emit FeeAmountEnabled(fee: 3000, tickSpacing: 60) - │ │ ├─ emit FeeAmountEnabled(fee: 10000 [1e4], tickSpacing: 200) - │ │ └─ ← [Return] 24535 bytes of code - │ ├─ [705570] → new WETH@0x109A68FFC6d5efEa556D3a4A9DC135A0D3a773c8 - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0x63A56976d1DD870525eC76342f27D07D78E6a2dC - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [705570] → new WETH@0x0C22F3C8fa55c2a52FdA0C98AAc9d0c7f04665bd - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [705570] → new WETH@0x68f19F11745457f280DE8053b2b8c81100fEAc4c - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903 - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [4594728] 0x7a480eFBB32dA5140D0a49D95cE488336FE6D598::createPool(WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c], Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903], 10000 [1e4]) - │ │ ├─ [4435593] → new @0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3 - │ │ │ ├─ [734] 0x7a480eFBB32dA5140D0a49D95cE488336FE6D598::parameters() [staticcall] - │ │ │ │ └─ ← [Return] 0x0000000000000000000000007a480efbb32da5140d0a49d95ce488336fe6d5980000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8 - │ │ │ └─ ← [Return] 22142 bytes of code - │ │ ├─ emit PoolCreated(token0: Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903], token1: WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c], fee: 10000 [1e4], tickSpacing: 200, pool: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) - │ │ └─ ← [Return] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3 - │ ├─ [49112] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::initialize(161723773678779450733783246 [1.617e26]) - │ │ ├─ emit Initialize(sqrtPriceX96: 161723773678779450733783246 [1.617e26], tick: -123891 [-1.238e5]) - │ │ └─ ← [Stop] - │ ├─ [2366916] → new Stake@0xe5B7b0c3C1eB7d6Fe1512885426665689F7Ea529 - │ │ ├─ [310] Kraiken::decimals() [staticcall] - │ │ │ └─ ← [Return] 18 - │ │ └─ ← [Return] 7702 bytes of code - │ ├─ [2723044] → new LiquidityManager@0xA6cb079443f6Da1B200665e188e1d0cC00DfC099 - │ │ └─ ← [Return] 13371 bytes of code - │ ├─ [22751] LiquidityManager::setFeeDestination(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ ├─ [22759] Kraiken::setStakingPool(Stake: [0xe5B7b0c3C1eB7d6Fe1512885426665689F7Ea529]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22736] Kraiken::setLiquidityManager(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::deal(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], 50000000000000000000 [5e19]) - │ │ └─ ← [Return] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22670] LiquidityManager::setRecenterAccess(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ └─ ← [Return] 0x7a480eFBB32dA5140D0a49D95cE488336FE6D598, 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c], Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903], Stake: [0xe5B7b0c3C1eB7d6Fe1512885426665689F7Ea529], LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f], false - ├─ [0] VM::deal(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], 200000000000000000000 [2e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 305723460303298684994 [3.057e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 528490503571771872726 [5.284e20]) - │ └─ ← [Return] - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [47865] WETH::deposit{value: 152861730151649342497}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 152861730151649342497 [1.528e20]) - │ ├─ emit Deposit(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount: 152861730151649342497 [1.528e20]) - │ └─ ← [Stop] - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [25965] WETH::deposit{value: 264245251785885936363}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 264245251785885936363 [2.642e20]) - │ ├─ emit Deposit(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount: 264245251785885936363 [2.642e20]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [684044] LiquidityManager::recenter() - │ ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - │ ├─ [2670] Kraiken::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [492] Kraiken::burn(0) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [2539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [352413] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::mint(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], -127400 [-1.274e5], -120200 [-1.202e5], 152230779095623270236377 [1.522e23], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [2670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [2539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [149861] LiquidityManager::uniswapV3MintCallback(12564696022086613960938356 [1.256e25], 50013352320967697435 [5.001e19], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [69465] Kraiken::mint(12564696022086613960938356 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], value: 12564696022086613960938356 [1.256e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ │ │ └─ ← [Return] 0 - │ │ │ ├─ [23965] WETH::deposit{value: 200000000000000000000}() - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], value: 200000000000000000000 [2e20]) - │ │ │ │ ├─ emit Deposit(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], amount: 200000000000000000000 [2e20]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [22988] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 12564696022086613960938356 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 12564696022086613960938356 [1.256e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [22854] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 50013352320967697435 [5.001e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 50013352320967697435 [5.001e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 12564696022086613960938356 [1.256e25] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013352320967697435 [5.001e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], owner: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], tickLower: -127400 [-1.274e5], tickUpper: -120200 [-1.202e5], amount: 152230779095623270236377 [1.522e23], amount0: 12564696022086613960938356 [1.256e25], amount1: 50013352320967697435 [5.001e19]) - │ │ └─ ← [Return] 12564696022086613960938356 [1.256e25], 50013352320967697435 [5.001e19] - │ ├─ [125733] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::mint(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], -120200 [-1.202e5], -109200 [-1.092e5], 2325748013960911073055759 [2.325e24], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 12564696022086613960938356 [1.256e25] - │ │ ├─ [29523] LiquidityManager::uniswapV3MintCallback(400790671799002466108789188 [4.007e26], 0, 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(400790671799002466108789188 [4.007e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], value: 400790671799002466108789188 [4.007e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 400790671799002466108789188 [4.007e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 400790671799002466108789188 [4.007e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], owner: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], tickLower: -120200 [-1.202e5], tickUpper: -109200 [-1.092e5], amount: 2325748013960911073055759 [2.325e24], amount0: 400790671799002466108789188 [4.007e26], amount1: 0) - │ │ └─ ← [Return] 400790671799002466108789188 [4.007e26], 0 - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ ├─ [102946] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::mint(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], -127600 [-1.276e5], -127400 [-1.274e5], 25561339163394654594 [2.556e19], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013352320967697435 [5.001e19] - │ │ ├─ [6571] LiquidityManager::uniswapV3MintCallback(0, 435586888232093 [4.355e14], 0x0000000000000000000000003fa247dece6089f8f7aac3e9e6f560c21f1bc90300000000000000000000000068f19f11745457f280de8053b2b8c81100feac4c0000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099]) [staticcall] - │ │ │ │ └─ ← [Return] 149986647679032302565 [1.499e20] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 435586888232093 [4.355e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 435586888232093 [4.355e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013787907855929528 [5.001e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], owner: LiquidityManager: [0xA6cb079443f6Da1B200665e188e1d0cC00DfC099], tickLower: -127600 [-1.276e5], tickUpper: -127400 [-1.274e5], amount: 25561339163394654594 [2.556e19], amount0: 0, amount1: 435586888232093 [4.355e14]) - │ │ └─ ← [Return] 0, 435586888232093 [4.355e14] - │ └─ ← [Return] false - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ └─ ← [Return] "-123891" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [2299756] → new ScenarioRecorder@0xD6D13a66c35d1a60556d955b0EBf5E2B32be4323 - │ └─ ← [Return] 11376 bytes of code - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [158542] ScenarioRecorder::initializeScenario(1, "BullMarketOptimizer", 200000000000000000000 [2e20], 417106981937535278860 [4.171e20], false, 10000 [1e4]) - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [2670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [93702] ScenarioRecorder::recordPreState(152861730151649342497 [1.528e20], 0, -123891 [-1.238e5], 161723773678779450733783246 [1.617e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] console::log(" Strategy: Whale Manipulation") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::warp(5401) - │ └─ ← [Return] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [3407] LiquidityManager::recenter() - │ ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - │ └─ ← [Revert] amplitude not reached. - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 161723773678779450733783246 [1.617e26], -123891 [-1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(152861730151649342497 [1.528e20], 0, -123891 [-1.238e5], 161723773678779450733783246 [1.617e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [186323] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 38215432537912335624 [3.821e19], 0, 0) - │ ├─ emit ActionRecorded(step: 0, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 152861730151649342497 [1.528e20] - ├─ [382304] → new SwapExecutor@0x6966CB5815014204E5bF64A851ef03cF93eA2D35 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], 38215432537912335624 [3.821e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], value: 38215432537912335624 [3.821e19]) - │ └─ ← [Return] true - ├─ [70933] SwapExecutor::executeBuy(38215432537912335624 [3.821e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [69656] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 38215432537912335624 [3.821e19], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [22988] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 8094470310852125234052188 [8.094e24]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 8094470310852125234052188 [8.094e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 50013787907855929528 [5.001e19] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-8094470310852125234052188 [-8.094e24], 38215432537912335624 [3.821e19], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 38215432537912335624 [3.821e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 38215432537912335624 [3.821e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 88229220445768265152 [8.822e19] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x6966CB5815014204E5bF64A851ef03cF93eA2D35], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -8094470310852125234052188 [-8.094e24], amount1: 38215432537912335624 [3.821e19], sqrtPriceX96: 181414017218734744871703229 [1.814e26], liquidity: 152230779095623270236377 [1.522e23], tick: -121593 [-1.215e5]) - │ │ └─ ← [Return] -8094470310852125234052188 [-8.094e24], 38215432537912335624 [3.821e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 114646297613737006873 [1.146e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(114646297613737006873 [1.146e20], 8094470310852125234052188 [8.094e24], -121593 [-1.215e5], 181414017218734744871703229 [1.814e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [2670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 0 - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 181414017218734744871703229 [1.814e26], -121593 [-1.215e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 114646297613737006873 [1.146e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(114646297613737006873 [1.146e20], 8094470310852125234052188 [8.094e24], -121593 [-1.215e5], 181414017218734744871703229 [1.814e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 2023617577713031308513047 [2.023e24], 0, 0) - │ ├─ emit ActionRecorded(step: 1, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 8094470310852125234052188 [8.094e24] - ├─ [382304] → new SwapExecutor@0x3368CC5DE817eF5b492792eF42c29a6b2746D036 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], 2023617577713031308513047 [2.023e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], value: 2023617577713031308513047 [2.023e24]) - │ └─ ← [Return] true - ├─ [50713] SwapExecutor::executeSell(2023617577713031308513047 [2.023e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [49424] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 2023617577713031308513047 [2.023e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 10196533658152330535 [1.019e19]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 10196533658152330535 [1.019e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 405260897510236954835675356 [4.052e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(2023617577713031308513047 [2.023e24], -10196533658152330535 [-1.019e19], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 2023617577713031308513047 [2.023e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 2023617577713031308513047 [2.023e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 407284515087949986144188403 [4.072e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x3368CC5DE817eF5b492792eF42c29a6b2746D036], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 2023617577713031308513047 [2.023e24], amount1: -10196533658152330535 [-1.019e19], sqrtPriceX96: 176107254482909757175841776 [1.761e26], liquidity: 152230779095623270236377 [1.522e23], tick: -122186 [-1.221e5]) - │ │ └─ ← [Return] 2023617577713031308513047 [2.023e24], -10196533658152330535 [-1.019e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -122186 [-1.221e5], 176107254482909757175841776 [1.761e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 176107254482909757175841776 [1.761e26], -122186 [-1.221e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -122186 [-1.221e5], 176107254482909757175841776 [1.761e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 132122625892942968181 [1.321e20], 0, 0) - │ ├─ emit ActionRecorded(step: 2, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 264245251785885936363 [2.642e20] - ├─ [382304] → new SwapExecutor@0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], 132122625892942968181 [1.321e20]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], value: 132122625892942968181 [1.321e20]) - │ └─ ← [Return] true - ├─ [98303] SwapExecutor::executeBuy(132122625892942968181 [1.321e20], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [97026] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 132122625892942968181 [1.321e20], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [22988] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 22056872252977144578458959 [2.205e25]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 22056872252977144578458959 [2.205e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 78032686787615934617 [7.803e19] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-22056872252977144578458959 [-2.205e25], 132122625892942968181 [1.321e20], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 132122625892942968181 [1.321e20]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 132122625892942968181 [1.321e20]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 210155312680558902798 [2.101e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xd9cb6B79f518cBD42AAcd7d5Cb1FD355B5dF2953], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -22056872252977144578458959 [-2.205e25], amount1: 132122625892942968181 [1.321e20], sqrtPriceX96: 197743845112692177382153477 [1.977e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119869 [-1.198e5]) - │ │ └─ ← [Return] -22056872252977144578458959 [-2.205e25], 132122625892942968181 [1.321e20] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -119869 [-1.198e5], 197743845112692177382153477 [1.977e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197743845112692177382153477 [1.977e26], -119869 [-1.198e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 124842831271889337408 [1.248e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(124842831271889337408 [1.248e20], 6070852733139093925539141 [6.07e24], -119869 [-1.198e5], 197743845112692177382153477 [1.977e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 1517713183284773481384785 [1.517e24], 0, 0) - │ ├─ emit ActionRecorded(step: 3, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6070852733139093925539141 [6.07e24] - ├─ [382304] → new SwapExecutor@0xe64497116bE9e8d7e6E7118aAac201124078A416 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], 1517713183284773481384785 [1.517e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], value: 1517713183284773481384785 [1.517e24]) - │ └─ ← [Return] true - ├─ [30805] SwapExecutor::executeSell(1517713183284773481384785 [1.517e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29516] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 1517713183284773481384785 [1.517e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 9344842152826393427 [9.344e18]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 9344842152826393427 [9.344e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 385227642834972841565729444 [3.852e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(1517713183284773481384785 [1.517e24], -9344842152826393427 [-9.344e18], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 1517713183284773481384785 [1.517e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 1517713183284773481384785 [1.517e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 386745356018257615047114229 [3.867e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xe64497116bE9e8d7e6E7118aAac201124078A416], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 1517713183284773481384785 [1.517e24], amount1: -9344842152826393427 [-9.344e18], sqrtPriceX96: 197425506811074811873956860 [1.974e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119901 [-1.199e5]) - │ │ └─ ← [Return] 1517713183284773481384785 [1.517e24], -9344842152826393427 [-9.344e18] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119901 [-1.199e5], 197425506811074811873956860 [1.974e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 132122625892942968182 [1.321e20] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 132122625892942968182 [1.321e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 197425506811074811873956860 [1.974e26], -119901 [-1.199e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119901 [-1.199e5], 197425506811074811873956860 [1.974e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 66061312946471484091 [6.606e19], 0, 0) - │ ├─ emit ActionRecorded(step: 4, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 132122625892942968182 [1.321e20] - ├─ [382304] → new SwapExecutor@0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], 66061312946471484091 [6.606e19]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], value: 66061312946471484091 [6.606e19]) - │ └─ ← [Return] true - ├─ [30047] SwapExecutor::executeBuy(66061312946471484091 [6.606e19], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [28770] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 66061312946471484091 [6.606e19], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [3088] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 10415054232392165045873538 [1.041e25]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 10415054232392165045873538 [1.041e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 200810470527732509371 [2.008e20] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-10415054232392165045873538 [-1.041e25], 66061312946471484091 [6.606e19], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 66061312946471484091 [6.606e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 66061312946471484091 [6.606e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 266871783474203993462 [2.668e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x8Be46BE34e3CCd3BCdDabCe1E7Ed397CB8Cf8731], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -10415054232392165045873538 [-1.041e25], amount1: 66061312946471484091 [6.606e19], sqrtPriceX96: 199653425417280065710376340 [1.996e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119677 [-1.196e5]) - │ │ └─ ← [Return] -10415054232392165045873538 [-1.041e25], 66061312946471484091 [6.606e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119677 [-1.196e5], 199653425417280065710376340 [1.996e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199653425417280065710376340 [1.996e26], -119677 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 134187673424715730835 [1.341e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(134187673424715730835 [1.341e20], 4553139549854320444154356 [4.553e24], -119677 [-1.196e5], 199653425417280065710376340 [1.996e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 1138284887463580111038589 [1.138e24], 0, 0) - │ ├─ emit ActionRecorded(step: 5, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 4553139549854320444154356 [4.553e24] - ├─ [382304] → new SwapExecutor@0xEf1BE4630e01a7096e7A7823048a9873ccEF116c - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], 1138284887463580111038589 [1.138e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], value: 1138284887463580111038589 [1.138e24]) - │ └─ ← [Return] true - ├─ [30831] SwapExecutor::executeSell(1138284887463580111038589 [1.138e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29542] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 1138284887463580111038589 [1.138e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 7147440887610802362 [7.147e18]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 7147440887610802362 [7.147e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 376330301785865450001240691 [3.763e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(1138284887463580111038589 [1.138e24], -7147440887610802362 [-7.147e18], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 1138284887463580111038589 [1.138e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 1138284887463580111038589 [1.138e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 377468586673329030112279280 [3.774e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xEf1BE4630e01a7096e7A7823048a9873ccEF116c], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 1138284887463580111038589 [1.138e24], amount1: -7147440887610802362 [-7.147e18], sqrtPriceX96: 199409943060289759425132754 [1.994e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119701 [-1.197e5]) - │ │ └─ ← [Return] 1138284887463580111038589 [1.138e24], -7147440887610802362 [-7.147e18] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119701 [-1.197e5], 199409943060289759425132754 [1.994e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 66061312946471484091 [6.606e19] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 66061312946471484091 [6.606e19] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199409943060289759425132754 [1.994e26], -119701 [-1.197e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119701 [-1.197e5], 199409943060289759425132754 [1.994e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 33030656473235742045 [3.303e19], 0, 0) - │ ├─ emit ActionRecorded(step: 6, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 66061312946471484091 [6.606e19] - ├─ [382304] → new SwapExecutor@0xf11b2046D0661652a93FCc05d530254240571f8d - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], 33030656473235742045 [3.303e19]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], value: 33030656473235742045 [3.303e19]) - │ └─ ← [Return] true - ├─ [29989] SwapExecutor::executeBuy(33030656473235742045 [3.303e19], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [28712] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 33030656473235742045 [3.303e19], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [3088] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 5133323214963108788934928 [5.133e24]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 5133323214963108788934928 [5.133e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 259724342586593191100 [2.597e20] - │ │ ├─ [5037] SwapExecutor::uniswapV3SwapCallback(-5133323214963108788934928 [-5.133e24], 33030656473235742045 [3.303e19], 0x) - │ │ │ ├─ [308] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token1() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x68f19F11745457f280DE8053b2b8c81100fEAc4c] - │ │ │ ├─ [2954] WETH::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 33030656473235742045 [3.303e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 33030656473235742045 [3.303e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 292754999059828933145 [2.927e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0xf11b2046D0661652a93FCc05d530254240571f8d], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: -5133323214963108788934928 [-5.133e24], amount1: 33030656473235742045 [3.303e19], sqrtPriceX96: 200523902363392386343308428 [2.005e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119590 [-1.195e5]) - │ │ └─ ← [Return] -5133323214963108788934928 [-5.133e24], 33030656473235742045 [3.303e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119590 [-1.195e5], 200523902363392386343308428 [2.005e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200523902363392386343308428 [2.005e26], -119590 [-1.195e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 141335114312326533197 [1.413e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(141335114312326533197 [1.413e20], 3414854662390740333115767 [3.414e24], -119590 [-1.195e5], 200523902363392386343308428 [2.005e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 853713665597685083278941 [8.537e23], 0, 0) - │ ├─ emit ActionRecorded(step: 7, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 3414854662390740333115767 [3.414e24] - ├─ [382304] → new SwapExecutor@0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], 853713665597685083278941 [8.537e23]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], value: 853713665597685083278941 [8.537e23]) - │ └─ ← [Return] true - ├─ [30829] SwapExecutor::executeSell(853713665597685083278941 [8.537e23], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29540] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 853713665597685083278941 [8.537e23], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 5409053733993292169 [5.409e18]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 5409053733993292169 [5.409e18]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 372335263458365921323344352 [3.723e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(853713665597685083278941 [8.537e23], -5409053733993292169 [-5.409e18], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 853713665597685083278941 [8.537e23]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 853713665597685083278941 [8.537e23]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 373188977123963606406623293 [3.731e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x0E7f417a2B218aa3c0Fde624991Ef6829865ED71], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 853713665597685083278941 [8.537e23], amount1: -5409053733993292169 [-5.409e18], sqrtPriceX96: 200339639328139758352135908 [2.003e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119608 [-1.196e5]) - │ │ └─ ← [Return] 853713665597685083278941 [8.537e23], -5409053733993292169 [-5.409e18] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 146744168046319825366 [1.467e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [113602] ScenarioRecorder::recordPreState(146744168046319825366 [1.467e20], 2561140996793055249836826 [2.561e24], -119608 [-1.196e5], 200339639328139758352135908 [2.003e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] console::log(" [DISCOVERY REACHED] at tick", "-119608") [staticcall] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 200339639328139758352135908 [2.003e26], -119608 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 146744168046319825366 [1.467e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(146744168046319825366 [1.467e20], 2561140996793055249836826 [2.561e24], -119608 [-1.196e5], 200339639328139758352135908 [2.003e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 2561140996793055249836826 [2.561e24], 0, 0) - │ ├─ emit ActionRecorded(step: 8, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 2561140996793055249836826 [2.561e24] - ├─ [382304] → new SwapExecutor@0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], 2561140996793055249836826 [2.561e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], value: 2561140996793055249836826 [2.561e24]) - │ └─ ← [Return] true - ├─ [30859] SwapExecutor::executeSell(2561140996793055249836826 [2.561e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [29570] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 2561140996793055249836826 [2.561e24], 4295128740 [4.295e9], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 16167680096442206783 [1.616e19]) - │ │ │ ├─ emit Transfer(from: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 16167680096442206783 [1.616e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 373188977123963606406623293 [3.731e26] - │ │ ├─ [5130] SwapExecutor::uniswapV3SwapCallback(2561140996793055249836826 [2.561e24], -16167680096442206783 [-1.616e19], 0x) - │ │ │ ├─ [266] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::token0() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0x3fa247dEce6089F8f7AAC3e9e6F560C21F1BC903] - │ │ │ ├─ [3088] Kraiken::transfer(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, 2561140996793055249836826 [2.561e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], to: 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3, value: 2561140996793055249836826 [2.561e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3) [staticcall] - │ │ │ └─ ← [Return] 375750118120756661656460119 [3.757e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x8B42A9036731F6D5f96e50EaD33114Bfd4C58cfD], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 2561140996793055249836826 [2.561e24], amount1: -16167680096442206783 [-1.616e19], sqrtPriceX96: 199788876486047489964879485 [1.997e26], liquidity: 2325748013960911073055759 [2.325e24], tick: -119663 [-1.196e5]) - │ │ └─ ← [Return] 2561140996793055249836826 [2.561e24], -16167680096442206783 [-1.616e19] - │ └─ ← [Stop] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 162911848142762032149 [1.629e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [93702] ScenarioRecorder::recordPreState(162911848142762032149 [1.629e20], 0, -119663 [-1.196e5], 199788876486047489964879485 [1.997e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 162911848142762032149 [1.629e20] - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 162911848142762032149 [1.629e20] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413355367821089080069727544 [4.133e26] - ├─ [1602] ScenarioRecorder::recordPreState(162911848142762032149 [1.629e20], 0, -119663 [-1.196e5], 199788876486047489964879485 [1.997e26], 0, 413355367821089080069727544 [4.133e26]) - │ └─ ← [Stop] - ├─ [0] console::log("\n[RECORDING] Exporting profitable scenario...") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log(" Run ID: 250818-WAER") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] console::log(" Seed: 1") [staticcall] - │ └─ ← [Stop] - ├─ [202291] ScenarioRecorder::exportToJson() [staticcall] - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(200000000000000000000 [2e20]) [staticcall] - │ │ └─ ← [Return] "200000000000000000000" - │ ├─ [0] VM::toString(417106981937535278860 [4.171e20]) [staticcall] - │ │ └─ ← [Return] "417106981937535278860" - │ ├─ [0] VM::toString(3601) [staticcall] - │ │ └─ ← [Return] "3601" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(10000 [1e4]) [staticcall] - │ │ └─ ← [Return] "10000" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(152861730151649342497 [1.528e20]) [staticcall] - │ │ └─ ← [Return] "152861730151649342497" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ │ └─ ← [Return] "-123891" - │ ├─ [0] VM::toString(161723773678779450733783246 [1.617e26]) [staticcall] - │ │ └─ ← [Return] "161723773678779450733783246" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(114646297613737006873 [1.146e20]) [staticcall] - │ │ └─ ← [Return] "114646297613737006873" - │ ├─ [0] VM::toString(8094470310852125234052188 [8.094e24]) [staticcall] - │ │ └─ ← [Return] "8094470310852125234052188" - │ ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ │ └─ ← [Return] "-121593" - │ ├─ [0] VM::toString(181414017218734744871703229 [1.814e26]) [staticcall] - │ │ └─ ← [Return] "181414017218734744871703229" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(2) [staticcall] - │ │ └─ ← [Return] "2" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(124842831271889337408 [1.248e20]) [staticcall] - │ │ └─ ← [Return] "124842831271889337408" - │ ├─ [0] VM::toString(6070852733139093925539141 [6.07e24]) [staticcall] - │ │ └─ ← [Return] "6070852733139093925539141" - │ ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ │ └─ ← [Return] "-122186" - │ ├─ [0] VM::toString(176107254482909757175841776 [1.761e26]) [staticcall] - │ │ └─ ← [Return] "176107254482909757175841776" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(3) [staticcall] - │ │ └─ ← [Return] "3" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(124842831271889337408 [1.248e20]) [staticcall] - │ │ └─ ← [Return] "124842831271889337408" - │ ├─ [0] VM::toString(6070852733139093925539141 [6.07e24]) [staticcall] - │ │ └─ ← [Return] "6070852733139093925539141" - │ ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ │ └─ ← [Return] "-119869" - │ ├─ [0] VM::toString(197743845112692177382153477 [1.977e26]) [staticcall] - │ │ └─ ← [Return] "197743845112692177382153477" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(4) [staticcall] - │ │ └─ ← [Return] "4" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(134187673424715730835 [1.341e20]) [staticcall] - │ │ └─ ← [Return] "134187673424715730835" - │ ├─ [0] VM::toString(4553139549854320444154356 [4.553e24]) [staticcall] - │ │ └─ ← [Return] "4553139549854320444154356" - │ ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ │ └─ ← [Return] "-119901" - │ ├─ [0] VM::toString(197425506811074811873956860 [1.974e26]) [staticcall] - │ │ └─ ← [Return] "197425506811074811873956860" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(5) [staticcall] - │ │ └─ ← [Return] "5" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(134187673424715730835 [1.341e20]) [staticcall] - │ │ └─ ← [Return] "134187673424715730835" - │ ├─ [0] VM::toString(4553139549854320444154356 [4.553e24]) [staticcall] - │ │ └─ ← [Return] "4553139549854320444154356" - │ ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ │ └─ ← [Return] "-119677" - │ ├─ [0] VM::toString(199653425417280065710376340 [1.996e26]) [staticcall] - │ │ └─ ← [Return] "199653425417280065710376340" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(6) [staticcall] - │ │ └─ ← [Return] "6" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ │ └─ ← [Return] "0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797" - │ ├─ [0] VM::toString(141335114312326533197 [1.413e20]) [staticcall] - │ │ └─ ← [Return] "141335114312326533197" - │ ├─ [0] VM::toString(3414854662390740333115767 [3.414e24]) [staticcall] - │ │ └─ ← [Return] "3414854662390740333115767" - │ ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ │ └─ ← [Return] "-119701" - │ ├─ [0] VM::toString(199409943060289759425132754 [1.994e26]) [staticcall] - │ │ └─ ← [Return] "199409943060289759425132754" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(7) [staticcall] - │ │ └─ ← [Return] "7" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(141335114312326533197 [1.413e20]) [staticcall] - │ │ └─ ← [Return] "141335114312326533197" - │ ├─ [0] VM::toString(3414854662390740333115767 [3.414e24]) [staticcall] - │ │ └─ ← [Return] "3414854662390740333115767" - │ ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ │ └─ ← [Return] "-119590" - │ ├─ [0] VM::toString(200523902363392386343308428 [2.005e26]) [staticcall] - │ │ └─ ← [Return] "200523902363392386343308428" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ ├─ [0] VM::toString(8) [staticcall] - │ │ └─ ← [Return] "8" - │ ├─ [0] VM::toString(5401) [staticcall] - │ │ └─ ← [Return] "5401" - │ ├─ [0] VM::toString(1) [staticcall] - │ │ └─ ← [Return] "1" - │ ├─ [0] VM::toString(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ │ └─ ← [Return] "0x10E951fA67B511D044803c7757DA445Ddf646f6d" - │ ├─ [0] VM::toString(146744168046319825366 [1.467e20]) [staticcall] - │ │ └─ ← [Return] "146744168046319825366" - │ ├─ [0] VM::toString(2561140996793055249836826 [2.561e24]) [staticcall] - │ │ └─ ← [Return] "2561140996793055249836826" - │ ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ │ └─ ← [Return] "-119608" - │ ├─ [0] VM::toString(200339639328139758352135908 [2.003e26]) [staticcall] - │ │ └─ ← [Return] "200339639328139758352135908" - │ ├─ [0] VM::toString(0) [staticcall] - │ │ └─ ← [Return] "0" - │ ├─ [0] VM::toString(413355367821089080069727544 [4.133e26]) [staticcall] - │ │ └─ ← [Return] "413355367821089080069727544" - │ └─ ← [Return] "{\"scenario\":{\"seed\":1,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"417106981937535278860\",\"startTimestamp\":3601,\"startBlock\":1,\"token0isWeth\":false,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"152861730151649342497\",\"traderKraiken\":\"0\",\"currentTick\":-123891,\"poolPrice\":\"161723773678779450733783246\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":1,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"114646297613737006873\",\"traderKraiken\":\"8094470310852125234052188\",\"currentTick\":-121593,\"poolPrice\":\"181414017218734744871703229\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":2,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-122186,\"poolPrice\":\"176107254482909757175841776\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-119869,\"poolPrice\":\"197743845112692177382153477\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":4,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119901,\"poolPrice\":\"197425506811074811873956860\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":5,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119677,\"poolPrice\":\"199653425417280065710376340\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":6,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119701,\"poolPrice\":\"199409943060289759425132754\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":7,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119590,\"poolPrice\":\"200523902363392386343308428\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":8,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"146744168046319825366\",\"traderKraiken\":\"2561140996793055249836826\",\"currentTick\":-119608,\"poolPrice\":\"200339639328139758352135908\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}}]}" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("recorded_scenario_seed1.json", "{\"scenario\":{\"seed\":1,\"optimizer\":\"BullMarketOptimizer\",\"initialEth\":\"200000000000000000000\",\"traderInitialEth\":\"417106981937535278860\",\"startTimestamp\":3601,\"startBlock\":1,\"token0isWeth\":false,\"poolFee\":10000},\"actions\":[{\"step\":0,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"152861730151649342497\",\"traderKraiken\":\"0\",\"currentTick\":-123891,\"poolPrice\":\"161723773678779450733783246\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":1,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"114646297613737006873\",\"traderKraiken\":\"8094470310852125234052188\",\"currentTick\":-121593,\"poolPrice\":\"181414017218734744871703229\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":2,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-122186,\"poolPrice\":\"176107254482909757175841776\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":3,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"124842831271889337408\",\"traderKraiken\":\"6070852733139093925539141\",\"currentTick\":-119869,\"poolPrice\":\"197743845112692177382153477\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":4,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119901,\"poolPrice\":\"197425506811074811873956860\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":5,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"134187673424715730835\",\"traderKraiken\":\"4553139549854320444154356\",\"currentTick\":-119677,\"poolPrice\":\"199653425417280065710376340\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":6,\"type\":\"BUY\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119701,\"poolPrice\":\"199409943060289759425132754\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":7,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"141335114312326533197\",\"traderKraiken\":\"3414854662390740333115767\",\"currentTick\":-119590,\"poolPrice\":\"200523902363392386343308428\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}},{\"step\":8,\"type\":\"SELL\",\"timestamp\":5401,\"block\":1,\"actor\":\"0x10E951fA67B511D044803c7757DA445Ddf646f6d\",\"preState\":{\"traderWeth\":\"146744168046319825366\",\"traderKraiken\":\"2561140996793055249836826\",\"currentTick\":-119608,\"poolPrice\":\"200339639328139758352135908\",\"vwap\":\"0\",\"outstandingSupply\":\"413355367821089080069727544\"}}]}") - │ └─ ← [Return] - ├─ [0] console::log(" JSON exported to: recorded_scenario_seed1.json") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [0] VM::toString(38215432537912335624 [3.821e19]) [staticcall] - │ └─ ← [Return] "38215432537912335624" - ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ └─ ← [Return] "-123891" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(2023617577713031308513047 [2.023e24]) [staticcall] - │ └─ ← [Return] "2023617577713031308513047" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(132122625892942968181 [1.321e20]) [staticcall] - │ └─ ← [Return] "132122625892942968181" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(1517713183284773481384785 [1.517e24]) [staticcall] - │ └─ ← [Return] "1517713183284773481384785" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(66061312946471484091 [6.606e19]) [staticcall] - │ └─ ← [Return] "66061312946471484091" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(1138284887463580111038589 [1.138e24]) [staticcall] - │ └─ ← [Return] "1138284887463580111038589" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(33030656473235742045 [3.303e19]) [staticcall] - │ └─ ← [Return] "33030656473235742045" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(7) [staticcall] - │ └─ ← [Return] "7" - ├─ [0] VM::toString(853713665597685083278941 [8.537e23]) [staticcall] - │ └─ ← [Return] "853713665597685083278941" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(8) [staticcall] - │ └─ ← [Return] "8" - ├─ [0] VM::toString(2561140996793055249836826 [2.561e24]) [staticcall] - │ └─ ← [Return] "2561140996793055249836826" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-119663 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119663" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("replay_script_seed1.sol", "// Replay script for profitable scenario\n// Seed: 1\n// Optimizer: BullMarketOptimizer\n// Discovery reached: YES\n\nfunction replayScenario() public {\n // Step 0\n _executeBuy(trader, 38215432537912335624);\n // Tick moved from -123891 to -121593\n\n // Step 1\n _executeSell(trader, 2023617577713031308513047);\n // Tick moved from -121593 to -122186\n\n // Step 2\n _executeBuy(whale, 132122625892942968181);\n // Tick moved from -122186 to -119869\n\n // Step 3\n _executeSell(trader, 1517713183284773481384785);\n // Tick moved from -119869 to -119901\n\n // Step 4\n _executeBuy(whale, 66061312946471484091);\n // Tick moved from -119901 to -119677\n\n // Step 5\n _executeSell(trader, 1138284887463580111038589);\n // Tick moved from -119677 to -119701\n\n // Step 6\n _executeBuy(whale, 33030656473235742045);\n // Tick moved from -119701 to -119590\n\n // Step 7\n _executeSell(trader, 853713665597685083278941);\n // Tick moved from -119590 to -119608\n\n // Step 8\n _executeSell(trader, 2561140996793055249836826);\n // Tick moved from -119608 to -119663\n\n}\n") - │ └─ ← [Return] - ├─ [0] console::log(" Replay script exported to: replay_script_seed1.sol") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(50) [staticcall] - │ └─ ← [Return] "50" - ├─ [0] VM::toString(162) [staticcall] - │ └─ ← [Return] "162" - ├─ [0] VM::toString(112) [staticcall] - │ └─ ← [Return] "112" - ├─ [0] VM::toString(225) [staticcall] - │ └─ ← [Return] "225" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(38) [staticcall] - │ └─ ← [Return] "38" - ├─ [0] VM::toString(-123891 [-1.238e5]) [staticcall] - │ └─ ← [Return] "-123891" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(2) [staticcall] - │ └─ ← [Return] "2" - ├─ [0] VM::toString(2023617 [2.023e6]) [staticcall] - │ └─ ← [Return] "2023617" - ├─ [0] VM::toString(-121593 [-1.215e5]) [staticcall] - │ └─ ← [Return] "-121593" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(3) [staticcall] - │ └─ ← [Return] "3" - ├─ [0] VM::toString(132) [staticcall] - │ └─ ← [Return] "132" - ├─ [0] VM::toString(-122186 [-1.221e5]) [staticcall] - │ └─ ← [Return] "-122186" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(4) [staticcall] - │ └─ ← [Return] "4" - ├─ [0] VM::toString(1517713 [1.517e6]) [staticcall] - │ └─ ← [Return] "1517713" - ├─ [0] VM::toString(-119869 [-1.198e5]) [staticcall] - │ └─ ← [Return] "-119869" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(5) [staticcall] - │ └─ ← [Return] "5" - ├─ [0] VM::toString(66) [staticcall] - │ └─ ← [Return] "66" - ├─ [0] VM::toString(-119901 [-1.199e5]) [staticcall] - │ └─ ← [Return] "-119901" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] VM::toString(1138284 [1.138e6]) [staticcall] - │ └─ ← [Return] "1138284" - ├─ [0] VM::toString(-119677 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119677" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(7) [staticcall] - │ └─ ← [Return] "7" - ├─ [0] VM::toString(33) [staticcall] - │ └─ ← [Return] "33" - ├─ [0] VM::toString(-119701 [-1.197e5]) [staticcall] - │ └─ ← [Return] "-119701" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(8) [staticcall] - │ └─ ← [Return] "8" - ├─ [0] VM::toString(853713 [8.537e5]) [staticcall] - │ └─ ← [Return] "853713" - ├─ [0] VM::toString(-119590 [-1.195e5]) [staticcall] - │ └─ ← [Return] "-119590" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(9) [staticcall] - │ └─ ← [Return] "9" - ├─ [0] VM::toString(2561140 [2.561e6]) [staticcall] - │ └─ ← [Return] "2561140" - ├─ [0] VM::toString(-119608 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119608" - ├─ [0] VM::toString(-119663 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119663" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("scenario_summary_seed1.txt", "=== PROFITABLE SCENARIO SUMMARY ===\nRun ID: 250818-WAER\nSeed: 1\nOptimizer: BullMarketOptimizer\nDiscovery Reached: YES\n\nFinancial Results:\n Initial Balance: 50 ETH\n Final Balance: 162 ETH\n Profit: 112 ETH (225%)\n\nAction Sequence:\n 1. BUY - Trader - Amount: 38 ETH - Tick: -123891 -> -121593\n 2. SELL - Trader - Amount: 2023617 ETH - Tick: -121593 -> -122186\n 3. BUY - Whale - Amount: 132 ETH - Tick: -122186 -> -119869\n 4. SELL - Trader - Amount: 1517713 ETH - Tick: -119869 -> -119901\n 5. BUY - Whale - Amount: 66 ETH - Tick: -119901 -> -119677\n 6. SELL - Trader - Amount: 1138284 ETH - Tick: -119677 -> -119701\n 7. BUY - Whale - Amount: 33 ETH - Tick: -119701 -> -119590\n 8. SELL - Trader - Amount: 853713 ETH - Tick: -119590 -> -119608\n 9. SELL - Trader - Amount: 2561140 ETH - Tick: -119608 -> -119663\n\nThis scenario can be replayed using the generated replay script.\n") - │ └─ ← [Return] - ├─ [0] console::log(" Summary exported to: scenario_summary_seed1.txt") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] console::log("PROFITABLE! Seed: 1") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(10050 [1.005e4]) [staticcall] - │ └─ ← [Return] "10050" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [0] console::log(" Profit: 10050 finney (6%)") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log(" Discovery reached: YES") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::toString(152861730151649342497 [1.528e20]) [staticcall] - │ └─ ← [Return] "152861730151649342497" - ├─ [0] VM::toString(162911848142762032149 [1.629e20]) [staticcall] - │ └─ ← [Return] "162911848142762032149" - ├─ [0] VM::toString(10050117991112689652 [1.005e19]) [staticcall] - │ └─ ← [Return] "10050117991112689652" - ├─ [0] VM::toString(6) [staticcall] - │ └─ ← [Return] "6" - ├─ [696] 0xAb4FD47D907E31F332347dF365Ce0989F7DEC0D3::slot0() [staticcall] - │ └─ ← [Return] 199788876486047489964879485 [1.997e26], -119663 [-1.196e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25561339163394654594 [2.556e19], -127600 [-1.276e5], -127400 [-1.274e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152230779095623270236377 [1.522e23], -127400 [-1.274e5], -120200 [-1.202e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325748013960911073055759 [2.325e24], -120200 [-1.202e5], -109200 [-1.092e5] - ├─ [0] VM::toString(-119663 [-1.196e5]) [staticcall] - │ └─ ← [Return] "-119663" - ├─ [0] VM::toString(-127600 [-1.276e5]) [staticcall] - │ └─ ← [Return] "-127600" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(25561339163394654594 [2.556e19]) [staticcall] - │ └─ ← [Return] "25561339163394654594" - ├─ [0] VM::toString(-127400 [-1.274e5]) [staticcall] - │ └─ ← [Return] "-127400" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(152230779095623270236377 [1.522e23]) [staticcall] - │ └─ ← [Return] "152230779095623270236377" - ├─ [0] VM::toString(-120200 [-1.202e5]) [staticcall] - │ └─ ← [Return] "-120200" - ├─ [0] VM::toString(-109200 [-1.092e5]) [staticcall] - │ └─ ← [Return] "-109200" - ├─ [0] VM::toString(2325748013960911073055759 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325748013960911073055759" - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] VM::writeFile("improved_positions_BullMarketOptimizer_1.csv", "precedingAction, currentTick, floorTickLower, floorTickUpper, floorLiquidity, anchorTickLower, anchorTickUpper, anchorLiquidity, discoveryTickLower, discoveryTickUpper, discoveryLiquidity, token0isWeth\nInitial,-123891,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nWhale_0,-121593,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nWhale_2,-119901,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nWhale_4,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nDiscovery_Reached,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false\nFinal,-119663,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false") - │ └─ ← [Return] - ├─ [16963338] TestEnvironment::setupEnvironmentWithOptimizer(true, fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f]) - │ ├─ [5007640] → new @0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D - │ │ ├─ emit OwnerChanged(oldOwner: 0x0000000000000000000000000000000000000000, newOwner: TestEnvironment: [0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3]) - │ │ ├─ emit FeeAmountEnabled(fee: 500, tickSpacing: 10) - │ │ ├─ emit FeeAmountEnabled(fee: 3000, tickSpacing: 60) - │ │ ├─ emit FeeAmountEnabled(fee: 10000 [1e4], tickSpacing: 200) - │ │ └─ ← [Return] 24535 bytes of code - │ ├─ [705570] → new WETH@0x9ac27af1a8b59BA3770685e883dBbB2cD3288749 - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0xD7cabDcb0d137820938F970B2D4D89D4EAE21207 - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [4594718] 0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D::createPool(WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749], Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207], 10000 [1e4]) - │ │ ├─ [4435593] → new @0x5389dc114B63aF4E750669F6Ae252273dd594dc4 - │ │ │ ├─ [734] 0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D::parameters() [staticcall] - │ │ │ │ └─ ← [Return] 0x000000000000000000000000bd98601ce25fe44c6ec4ade4c74616190cb9b40d0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae21207000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8 - │ │ │ └─ ← [Return] 22142 bytes of code - │ │ ├─ emit PoolCreated(token0: WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749], token1: Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207], fee: 10000 [1e4], tickSpacing: 200, pool: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4) - │ │ └─ ← [Return] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4 - │ ├─ [49152] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::initialize(38813714283599478074587411019430 [3.881e31]) - │ │ ├─ emit Initialize(sqrtPriceX96: 38813714283599478074587411019430 [3.881e31], tick: 123890 [1.238e5]) - │ │ └─ ← [Stop] - │ ├─ [2366916] → new Stake@0x74D7d51E27C6ac7589757F576563fB0C48c79650 - │ │ ├─ [310] Kraiken::decimals() [staticcall] - │ │ │ └─ ← [Return] 18 - │ │ └─ ← [Return] 7702 bytes of code - │ ├─ [2723044] → new LiquidityManager@0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b - │ │ └─ ← [Return] 13371 bytes of code - │ ├─ [22751] LiquidityManager::setFeeDestination(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ ├─ [22759] Kraiken::setStakingPool(Stake: [0x74D7d51E27C6ac7589757F576563fB0C48c79650]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22736] Kraiken::setLiquidityManager(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) - │ │ └─ ← [Stop] - │ ├─ [0] VM::deal(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 50000000000000000000 [5e19]) - │ │ └─ ← [Return] - │ ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Return] - │ ├─ [22670] LiquidityManager::setRecenterAccess(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ │ └─ ← [Stop] - │ └─ ← [Return] 0xbd98601ce25fE44C6EC4aDE4c74616190Cb9b40D, 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749], Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207], Stake: [0x74D7d51E27C6ac7589757F576563fB0C48c79650], LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f], true - ├─ [0] VM::deal(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 200000000000000000000 [2e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 106430212937147064762 [1.064e20]) - │ └─ ← [Return] - ├─ [0] VM::deal(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 934654242386062745934 [9.346e20]) - │ └─ ← [Return] - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [47865] WETH::deposit{value: 53215106468573532381}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 53215106468573532381 [5.321e19]) - │ ├─ emit Deposit(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount: 53215106468573532381 [5.321e19]) - │ └─ ← [Stop] - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [25965] WETH::deposit{value: 467327121193031372967}() - │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 467327121193031372967 [4.673e20]) - │ ├─ emit Deposit(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount: 467327121193031372967 [4.673e20]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [0] VM::prank(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4]) - │ └─ ← [Return] - ├─ [683571] LiquidityManager::recenter() - │ ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - │ ├─ [2670] Kraiken::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [492] Kraiken::burn(0) - │ │ └─ ← [Stop] - │ ├─ [275] BullMarketOptimizer::getLiquidityParams() [staticcall] - │ │ └─ ← [Return] 0, 1000000000000000000 [1e18], 50, 1000000000000000000 [1e18] - │ ├─ [2539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 0 - │ ├─ [352473] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::mint(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 120200 [1.202e5], 127400 [1.274e5], 152183492855657924602025 [1.521e23], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [2539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [2670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 0 - │ │ ├─ [149841] LiquidityManager::uniswapV3MintCallback(49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [69465] Kraiken::mint(12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ │ │ └─ ← [Return] 0 - │ │ │ ├─ [23965] WETH::deposit{value: 200000000000000000000}() - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], value: 200000000000000000000 [2e20]) - │ │ │ │ ├─ emit Deposit(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], amount: 200000000000000000000 [2e20]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [22854] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 49997885905797944322 [4.999e19]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 49997885905797944322 [4.999e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ ├─ [22988] Kraiken::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 12560776629550722278400898 [1.256e25]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 12560776629550722278400898 [1.256e25]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], owner: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], tickLower: 120200 [1.202e5], tickUpper: 127400 [1.274e5], amount: 152183492855657924602025 [1.521e23], amount0: 49997885905797944322 [4.999e19], amount1: 12560776629550722278400898 [1.256e25]) - │ │ └─ ← [Return] 49997885905797944322 [4.999e19], 12560776629550722278400898 [1.256e25] - │ ├─ [126184] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::mint(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 109200 [1.092e5], 120200 [1.202e5], 2325025585294773848086493 [2.325e24], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 12560776629550722278400898 [1.256e25] - │ │ ├─ [29509] LiquidityManager::uniswapV3MintCallback(0, 400666177370246667969699818 [4.006e26], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [23460] Kraiken::mint(400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [3088] Kraiken::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 400666177370246667969699818 [4.006e26]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 400666177370246667969699818 [4.006e26]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], owner: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], tickLower: 109200 [1.092e5], tickUpper: 120200 [1.202e5], amount: 2325025585294773848086493 [2.325e24], amount0: 0, amount1: 400666177370246667969699818 [4.006e26]) - │ │ └─ ← [Return] 0, 400666177370246667969699818 [4.006e26] - │ ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ ├─ [102615] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::mint(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], 127400 [1.274e5], 127600 [1.276e5], 25563614720653619409 [2.556e19], 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49997885905797944322 [4.999e19] - │ │ ├─ [6545] LiquidityManager::uniswapV3MintCallback(435625665656824 [4.356e14], 0, 0x0000000000000000000000009ac27af1a8b59ba3770685e883dbbb2cd3288749000000000000000000000000d7cabdcb0d137820938f970b2d4d89d4eae212070000000000000000000000000000000000000000000000000000000000002710) - │ │ │ ├─ [636] Kraiken::mint(0) - │ │ │ │ └─ ← [Stop] - │ │ │ ├─ [539] WETH::balanceOf(LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b]) [staticcall] - │ │ │ │ └─ ← [Return] 150002114094202055678 [1.5e20] - │ │ │ ├─ [2954] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 435625665656824 [4.356e14]) - │ │ │ │ ├─ emit Transfer(from: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 435625665656824 [4.356e14]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ emit Mint(sender: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], owner: LiquidityManager: [0xB252b1674c8De50B80D8C1f39E7AE0A1056C406b], tickLower: 127400 [1.274e5], tickUpper: 127600 [1.276e5], amount: 25563614720653619409 [2.556e19], amount0: 435625665656824 [4.356e14], amount1: 0) - │ │ └─ ← [Return] 435625665656824 [4.356e14], 0 - │ └─ ← [Return] false - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [2299756] → new ScenarioRecorder@0x9e33B9e59689eCB8f038Bd0285ddD46eE59Abf1d - │ └─ ← [Return] 11376 bytes of code - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [158542] ScenarioRecorder::initializeScenario(2, "BullMarketOptimizer", 200000000000000000000 [2e20], 520542227661604905348 [5.205e20], true, 10000 [1e4]) - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [2670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [93702] ScenarioRecorder::recordPreState(53215106468573532381 [5.321e19], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] console::log(" Strategy: Volatile Swings") [staticcall] - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [2670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 0 - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(0) [staticcall] - │ └─ ← [Return] "0" - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(123890 [1.238e5]) [staticcall] - │ └─ ← [Return] "123890" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 38813714283599478074587411019430 [3.881e31], 123890 [1.238e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(53215106468573532381 [5.321e19], 0, 123890 [1.238e5], 38813714283599478074587411019430 [3.881e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [186323] ScenarioRecorder::recordBuy(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 31929063881144119428 [3.192e19], 0, 0) - │ ├─ emit ActionRecorded(step: 0, actionType: "BUY", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 53215106468573532381 [5.321e19] - ├─ [382304] → new SwapExecutor@0x9b95344992E1f293f712633C4596B648BD229af1 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], 31929063881144119428 [3.192e19]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], value: 31929063881144119428 [3.192e19]) - │ └─ ← [Return] true - ├─ [70658] SwapExecutor::executeBuy(31929063881144119428 [3.192e19], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [69371] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], true, 31929063881144119428 [3.192e19], 4295128740 [4.295e9], 0x) - │ │ ├─ [22988] Kraiken::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 6885686579118570186122274 [6.885e24]) - │ │ │ ├─ emit Transfer(from: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 6885686579118570186122274 [6.885e24]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 49998321531463601146 [4.999e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(31929063881144119428 [3.192e19], -6885686579118570186122274 [-6.885e24], 0x) - │ │ │ ├─ [266] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749] - │ │ │ ├─ [2954] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 31929063881144119428 [3.192e19]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 31929063881144119428 [3.192e19]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 81927385412607720574 [8.192e19] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x9b95344992E1f293f712633C4596B648BD229af1], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: 31929063881144119428 [3.192e19], amount1: -6885686579118570186122274 [-6.885e24], sqrtPriceX96: 35228960871282113991444083666601 [3.522e31], liquidity: 152183492855657924602025 [1.521e23], tick: 121951 [1.219e5]) - │ │ └─ ← [Return] 31929063881144119428 [3.192e19], -6885686579118570186122274 [-6.885e24] - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 121951 [1.219e5], 35228960871282113991444083666601 [3.522e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 35228960871282113991444083666601 [3.522e31], 121951 [1.219e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 121951 [1.219e5], 35228960871282113991444083666601 [3.522e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164423] ScenarioRecorder::recordBuy(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 327128984835121961076 [3.271e20], 0, 0) - │ ├─ emit ActionRecorded(step: 1, actionType: "BUY", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [539] WETH::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 467327121193031372967 [4.673e20] - ├─ [382304] → new SwapExecutor@0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24854] WETH::transfer(SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], 327128984835121961076 [3.271e20]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], value: 327128984835121961076 [3.271e20]) - │ └─ ← [Return] true - ├─ [79054] SwapExecutor::executeBuy(327128984835121961076 [3.271e20], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [77767] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], true, 327128984835121961076 [3.271e20], 4295128740 [4.295e9], 0x) - │ │ ├─ [22988] Kraiken::transfer(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 51851179693556904310212019 [5.185e25]) - │ │ │ ├─ emit Transfer(from: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, to: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], value: 51851179693556904310212019 [5.185e25]) - │ │ │ └─ ← [Return] true - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 81927385412607720574 [8.192e19] - │ │ ├─ [4996] SwapExecutor::uniswapV3SwapCallback(327128984835121961076 [3.271e20], -51851179693556904310212019 [-5.185e25], 0x) - │ │ │ ├─ [266] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::token0() [staticcall] - │ │ │ │ └─ ← [Return] WETH: [0x9ac27af1a8b59BA3770685e883dBbB2cD3288749] - │ │ │ ├─ [2954] WETH::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 327128984835121961076 [3.271e20]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 327128984835121961076 [3.271e20]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [539] WETH::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 409056370247729681650 [4.09e20] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x9d8f095F2e145BE0dFCb73aC6bDD4A9900A76674], recipient: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], amount0: 327128984835121961076 [3.271e20], amount1: -51851179693556904310212019 [-5.185e25], sqrtPriceX96: 30700947274367924531063731854058 [3.07e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 119200 [1.192e5]) - │ │ └─ ← [Return] 327128984835121961076 [3.271e20], -51851179693556904310212019 [-5.185e25] - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [113602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 119200 [1.192e5], 30700947274367924531063731854058 [3.07e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [713] LiquidityManager::positions(0) [staticcall] - │ └─ ← [Return] 25563614720653619409 [2.556e19], 127400 [1.274e5], 127600 [1.276e5] - ├─ [713] LiquidityManager::positions(1) [staticcall] - │ └─ ← [Return] 152183492855657924602025 [1.521e23], 120200 [1.202e5], 127400 [1.274e5] - ├─ [713] LiquidityManager::positions(2) [staticcall] - │ └─ ← [Return] 2325025585294773848086493 [2.325e24], 109200 [1.092e5], 120200 [1.202e5] - ├─ [0] VM::toString(119200 [1.192e5]) [staticcall] - │ └─ ← [Return] "119200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(127600 [1.276e5]) [staticcall] - │ └─ ← [Return] "127600" - ├─ [0] VM::toString(25563614720653619409 [2.556e19]) [staticcall] - │ └─ ← [Return] "25563614720653619409" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(127400 [1.274e5]) [staticcall] - │ └─ ← [Return] "127400" - ├─ [0] VM::toString(152183492855657924602025 [1.521e23]) [staticcall] - │ └─ ← [Return] "152183492855657924602025" - ├─ [0] VM::toString(109200 [1.092e5]) [staticcall] - │ └─ ← [Return] "109200" - ├─ [0] VM::toString(120200 [1.202e5]) [staticcall] - │ └─ ← [Return] "120200" - ├─ [0] VM::toString(2325025585294773848086493 [2.325e24]) [staticcall] - │ └─ ← [Return] "2325025585294773848086493" - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 51851179693556904310212019 [5.185e25] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30700947274367924531063731854058 [3.07e31], 119200 [1.192e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 21286042587429412953 [2.128e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(21286042587429412953 [2.128e19], 6885686579118570186122274 [6.885e24], 119200 [1.192e5], 30700947274367924531063731854058 [3.07e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 6885686579118570186122274 [6.885e24], 0, 0) - │ ├─ emit ActionRecorded(step: 2, actionType: "SELL", actor: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 6885686579118570186122274 [6.885e24] - ├─ [382304] → new SwapExecutor@0x113B082C006091efb3F67d02Be403bBf95c4e682 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], 6885686579118570186122274 [6.885e24]) - │ ├─ emit Transfer(from: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], to: SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], value: 6885686579118570186122274 [6.885e24]) - │ └─ ← [Return] true - ├─ [50190] SwapExecutor::executeSell(6885686579118570186122274 [6.885e24], trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) - │ ├─ [48911] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], false, 6885686579118570186122274 [6.885e24], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ ├─ [2954] WETH::transfer(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], 45057224485217529140 [4.505e19]) - │ │ │ ├─ emit Transfer(from: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, to: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], value: 45057224485217529140 [4.505e19]) - │ │ │ └─ ← [Return] true - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 354490087727121915751766423 [3.544e26] - │ │ ├─ [5171] SwapExecutor::uniswapV3SwapCallback(-45057224485217529140 [-4.505e19], 6885686579118570186122274 [6.885e24], 0x) - │ │ │ ├─ [308] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::token1() [staticcall] - │ │ │ │ └─ ← [Return] Kraiken: [0xD7cabDcb0d137820938F970B2D4D89D4EAE21207] - │ │ │ ├─ [3088] Kraiken::transfer(0x5389dc114B63aF4E750669F6Ae252273dd594dc4, 6885686579118570186122274 [6.885e24]) - │ │ │ │ ├─ emit Transfer(from: SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], to: 0x5389dc114B63aF4E750669F6Ae252273dd594dc4, value: 6885686579118570186122274 [6.885e24]) - │ │ │ │ └─ ← [Return] true - │ │ │ └─ ← [Stop] - │ │ ├─ [670] Kraiken::balanceOf(0x5389dc114B63aF4E750669F6Ae252273dd594dc4) [staticcall] - │ │ │ └─ ← [Return] 361375774306240485937888697 [3.613e26] - │ │ ├─ emit Swap(sender: SwapExecutor: [0x113B082C006091efb3F67d02Be403bBf95c4e682], recipient: trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], amount0: -45057224485217529140 [-4.505e19], amount1: 6885686579118570186122274 [6.885e24], sqrtPriceX96: 30933239295486089723651419456289 [3.093e31], liquidity: 2325025585294773848086493 [2.325e24], tick: 119351 [1.193e5]) - │ │ └─ ← [Return] -45057224485217529140 [-4.505e19], 6885686579118570186122274 [6.885e24] - │ └─ ← [Stop] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 66343267072646942093 [6.634e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [93702] ScenarioRecorder::recordPreState(66343267072646942093 [6.634e19], 0, 119351 [1.193e5], 30933239295486089723651419456289 [3.093e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 51851179693556904310212019 [5.185e25] - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [696] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::slot0() [staticcall] - │ └─ ← [Return] 30933239295486089723651419456289 [3.093e31], 119351 [1.193e5], 0, 1, 1, 0, true - ├─ [539] WETH::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 66343267072646942093 [6.634e19] - ├─ [670] Kraiken::balanceOf(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d]) [staticcall] - │ └─ ← [Return] 0 - ├─ [766] Kraiken::outstandingSupply() [staticcall] - │ └─ ← [Return] 413226953999797390248100716 [4.132e26] - ├─ [1602] ScenarioRecorder::recordPreState(66343267072646942093 [6.634e19], 0, 119351 [1.193e5], 30933239295486089723651419456289 [3.093e31], 0, 413226953999797390248100716 [4.132e26]) - │ └─ ← [Stop] - ├─ [164512] ScenarioRecorder::recordSell(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], 51851179693556904310212019 [5.185e25], 0, 0) - │ ├─ emit ActionRecorded(step: 3, actionType: "SELL", actor: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Stop] - ├─ [670] Kraiken::balanceOf(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) [staticcall] - │ └─ ← [Return] 51851179693556904310212019 [5.185e25] - ├─ [382304] → new SwapExecutor@0x7F2CD241D09c42EC34AC1EBAa4e292f46aebD956 - │ └─ ← [Return] 1575 bytes of code - ├─ [0] VM::prank(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ └─ ← [Return] - ├─ [24988] Kraiken::transfer(SwapExecutor: [0x7F2CD241D09c42EC34AC1EBAa4e292f46aebD956], 51851179693556904310212019 [5.185e25]) - │ ├─ emit Transfer(from: whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], to: SwapExecutor: [0x7F2CD241D09c42EC34AC1EBAa4e292f46aebD956], value: 51851179693556904310212019 [5.185e25]) - │ └─ ← [Return] true - ├─ [6151] SwapExecutor::executeSell(51851179693556904310212019 [5.185e25], whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797]) - │ ├─ [5037] 0x5389dc114B63aF4E750669F6Ae252273dd594dc4::swap(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], false, 51851179693556904310212019 [5.185e25], 1461446703485210103287273052203988822378723970341 [1.461e48], 0x) - │ │ └─ ← [OutOfGas] EvmError: OutOfGas - │ └─ ← [Stop] - └─ ← [OutOfGas] EvmError: OutOfGas - - -Gas used: 100000000 - -== Logs == - === RECORDED Fuzzing Analysis === - Run ID: 250818-WAER - Recording enabled for profitable scenario replay - === IMPROVED Fuzzing Analysis === - Designed to reach discovery position with larger trades - Optimizer: BullMarketOptimizer - Fuzzing runs: 20 - - Strategy: Discovery Push [RECORDING] - [DISCOVERY REACHED] at tick 119012 - -[RECORDING] Exporting profitable scenario... - Run ID: 250818-WAER - Seed: 0 - JSON exported to: recorded_scenario_seed0.json - Replay script exported to: replay_script_seed0.sol - Summary exported to: scenario_summary_seed0.txt - Strategy: Whale Manipulation - [DISCOVERY REACHED] at tick -119608 - -[RECORDING] Exporting profitable scenario... - Run ID: 250818-WAER - Seed: 1 - JSON exported to: recorded_scenario_seed1.json - Replay script exported to: replay_script_seed1.sol - Summary exported to: scenario_summary_seed1.txt - PROFITABLE! Seed: 1 - Profit: 10050 finney (6%) - Discovery reached: YES - Strategy: Volatile Swings -Error: script failed: diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_0.csv b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_0.csv deleted file mode 100644 index 3f1fee5..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_0.csv +++ /dev/null @@ -1,5 +0,0 @@ - -MassiveBuy,119273,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true -WhaleDump,120090,127400,127600,25563614720653619409,120200,127400,152183492855657924602025,109200,120200,2325025585294773848086493,true -Discovery_Reached,119012,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true -Final,123585,124800,125000,35441680661270157275,117600,124800,161630528569314481719245,106600,117600,2469355297586749026266243,true \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_1.csv b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_1.csv deleted file mode 100644 index 6daa6d8..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_1.csv +++ /dev/null @@ -1,7 +0,0 @@ -precedingAction, currentTick, floorTickLower, floorTickUpper, floorLiquidity, anchorTickLower, anchorTickUpper, anchorLiquidity, discoveryTickLower, discoveryTickUpper, discoveryLiquidity, token0isWeth -Initial,-123891,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Whale_0,-121593,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Whale_2,-119901,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Whale_4,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Discovery_Reached,-119608,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false -Final,-119663,-127600,-127400,25561339163394654594,-127400,-120200,152230779095623270236377,-120200,-109200,2325748013960911073055759,false \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/index.txt b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/index.txt deleted file mode 100644 index 7ce0756..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/index.txt +++ /dev/null @@ -1,20 +0,0 @@ -Recorded Fuzzing Results -======================== -Run ID: 250818-WAER -Date: Mo 18. Aug 21:10:41 CEST 2025 -Optimizer: BullMarketOptimizer -Total Runs: 20 -Profitable Scenarios: 2 - -Files: ------- -- fuzzing.log -- improved_positions_BullMarketOptimizer_0.csv -- improved_positions_BullMarketOptimizer_1.csv -- index.txt -- replay_250818-WAER_seed0.sol -- replay_250818-WAER_seed1.sol -- scenario_250818-WAER_seed0.json -- scenario_250818-WAER_seed1.json -- summary_250818-WAER_seed0.txt -- summary_250818-WAER_seed1.txt diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed0.sol b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed0.sol deleted file mode 100644 index 6a92e35..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed0.sol +++ /dev/null @@ -1,37 +0,0 @@ -// Replay script for profitable scenario -// Seed: 0 -// Optimizer: BullMarketOptimizer -// Discovery reached: YES - -function replayScenario() public { - // Step 0 - _executeBuy(trader, 93019778485341734687); - // Tick moved from 123890 to 120098 - - // Step 1 - _executeBuy(whale, 244025272055601196358); - // Tick moved from 120098 to 119273 - - // Step 2 - _executeSell(whale, 38079345162363541473731623); - // Tick moved from 119273 to 120090 - - // Step 3 - _executeSell(trader, 8686624801143060187044758); - // Tick moved from 120090 to 121269 - - // Step 4 - vm.warp(3601); - vm.prank(feeDestination); - lm.recenter(); - // Tick moved from 121269 to 121269 - - // Step 5 - _executeBuy(trader, 45396259308851266436); - // Tick moved from 121269 to 119012 - - // Step 6 - _executeSell(trader, 16100675243303605610895622); - // Tick moved from 119012 to 123585 - -} diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed1.sol b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed1.sol deleted file mode 100644 index 9d8e34c..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed1.sol +++ /dev/null @@ -1,43 +0,0 @@ -// Replay script for profitable scenario -// Seed: 1 -// Optimizer: BullMarketOptimizer -// Discovery reached: YES - -function replayScenario() public { - // Step 0 - _executeBuy(trader, 38215432537912335624); - // Tick moved from -123891 to -121593 - - // Step 1 - _executeSell(trader, 2023617577713031308513047); - // Tick moved from -121593 to -122186 - - // Step 2 - _executeBuy(whale, 132122625892942968181); - // Tick moved from -122186 to -119869 - - // Step 3 - _executeSell(trader, 1517713183284773481384785); - // Tick moved from -119869 to -119901 - - // Step 4 - _executeBuy(whale, 66061312946471484091); - // Tick moved from -119901 to -119677 - - // Step 5 - _executeSell(trader, 1138284887463580111038589); - // Tick moved from -119677 to -119701 - - // Step 6 - _executeBuy(whale, 33030656473235742045); - // Tick moved from -119701 to -119590 - - // Step 7 - _executeSell(trader, 853713665597685083278941); - // Tick moved from -119590 to -119608 - - // Step 8 - _executeSell(trader, 2561140996793055249836826); - // Tick moved from -119608 to -119663 - -} diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed0.json b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed0.json deleted file mode 100644 index ca39c67..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed0.json +++ /dev/null @@ -1 +0,0 @@ -{"scenario":{"seed":0,"optimizer":"BullMarketOptimizer","initialEth":"200000000000000000000","traderInitialEth":"437916987905703973573","startTimestamp":1,"startBlock":1,"token0isWeth":true,"poolFee":10000},"actions":[{"step":0,"type":"BUY","timestamp":1,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"132885397836202478125","traderKraiken":"0","currentTick":123890,"poolPrice":"38813714283599478074587411019430","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":1,"type":"BUY","timestamp":1,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"39865619350860743438","traderKraiken":"17373249602286120374089516","currentTick":120098,"poolPrice":"32110464384401727662944198120161","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":2,"type":"SELL","timestamp":1,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"39865619350860743438","traderKraiken":"17373249602286120374089516","currentTick":119273,"poolPrice":"30812862944640364687227822880556","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":3,"type":"SELL","timestamp":1,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"39865619350860743438","traderKraiken":"17373249602286120374089516","currentTick":120090,"poolPrice":"32097488370004114033187034337888","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":4,"type":"RECENTER","timestamp":1,"block":1,"actor":"0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4","preState":{"traderWeth":"90792518617702532872","traderKraiken":"8686624801143060187044758","currentTick":121269,"poolPrice":"34047907384835713843150791308680","vwap":"0","outstandingSupply":"413226953999797390248100716"}},{"step":5,"type":"BUY","timestamp":3601,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"90792518617702532872","traderKraiken":"8686624801143060187044758","currentTick":121269,"poolPrice":"34047907384835713843150791308680","vwap":"0","outstandingSupply":"394463856810240134113940061"}},{"step":6,"type":"SELL","timestamp":3601,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"45396259308851266436","traderKraiken":"16100675243303605610895622","currentTick":119012,"poolPrice":"30413683092433275221583921948281","vwap":"0","outstandingSupply":"394463856810240134113940061"}}]} \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed1.json b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed1.json deleted file mode 100644 index 7c5f56b..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed1.json +++ /dev/null @@ -1 +0,0 @@ -{"scenario":{"seed":1,"optimizer":"BullMarketOptimizer","initialEth":"200000000000000000000","traderInitialEth":"417106981937535278860","startTimestamp":3601,"startBlock":1,"token0isWeth":false,"poolFee":10000},"actions":[{"step":0,"type":"BUY","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"152861730151649342497","traderKraiken":"0","currentTick":-123891,"poolPrice":"161723773678779450733783246","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":1,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"114646297613737006873","traderKraiken":"8094470310852125234052188","currentTick":-121593,"poolPrice":"181414017218734744871703229","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":2,"type":"BUY","timestamp":5401,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"124842831271889337408","traderKraiken":"6070852733139093925539141","currentTick":-122186,"poolPrice":"176107254482909757175841776","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":3,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"124842831271889337408","traderKraiken":"6070852733139093925539141","currentTick":-119869,"poolPrice":"197743845112692177382153477","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":4,"type":"BUY","timestamp":5401,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"134187673424715730835","traderKraiken":"4553139549854320444154356","currentTick":-119901,"poolPrice":"197425506811074811873956860","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":5,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"134187673424715730835","traderKraiken":"4553139549854320444154356","currentTick":-119677,"poolPrice":"199653425417280065710376340","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":6,"type":"BUY","timestamp":5401,"block":1,"actor":"0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797","preState":{"traderWeth":"141335114312326533197","traderKraiken":"3414854662390740333115767","currentTick":-119701,"poolPrice":"199409943060289759425132754","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":7,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"141335114312326533197","traderKraiken":"3414854662390740333115767","currentTick":-119590,"poolPrice":"200523902363392386343308428","vwap":"0","outstandingSupply":"413355367821089080069727544"}},{"step":8,"type":"SELL","timestamp":5401,"block":1,"actor":"0x10E951fA67B511D044803c7757DA445Ddf646f6d","preState":{"traderWeth":"146744168046319825366","traderKraiken":"2561140996793055249836826","currentTick":-119608,"poolPrice":"200339639328139758352135908","vwap":"0","outstandingSupply":"413355367821089080069727544"}}]} \ No newline at end of file diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed0.txt b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed0.txt deleted file mode 100644 index d057227..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed0.txt +++ /dev/null @@ -1,21 +0,0 @@ -=== PROFITABLE SCENARIO SUMMARY === -Run ID: 250818-WAER -Seed: 0 -Optimizer: BullMarketOptimizer -Discovery Reached: YES - -Financial Results: - Initial Balance: 50 ETH - Final Balance: 131 ETH - Profit: 81 ETH (162%) - -Action Sequence: - 1. BUY - Trader - Amount: 93 ETH - Tick: 123890 -> 120098 - 2. BUY - Whale - Amount: 244 ETH - Tick: 120098 -> 119273 - 3. SELL - Whale - Amount: 38079345 ETH - Tick: 119273 -> 120090 - 4. SELL - Trader - Amount: 8686624 ETH - Tick: 120090 -> 121269 - 5. RECENTER - System - Tick: 121269 -> 121269 - 6. BUY - Trader - Amount: 45 ETH - Tick: 121269 -> 119012 - 7. SELL - Trader - Amount: 16100675 ETH - Tick: 119012 -> 123585 - -This scenario can be replayed using the generated replay script. diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed1.txt b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed1.txt deleted file mode 100644 index b1d8778..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed1.txt +++ /dev/null @@ -1,23 +0,0 @@ -=== PROFITABLE SCENARIO SUMMARY === -Run ID: 250818-WAER -Seed: 1 -Optimizer: BullMarketOptimizer -Discovery Reached: YES - -Financial Results: - Initial Balance: 50 ETH - Final Balance: 162 ETH - Profit: 112 ETH (225%) - -Action Sequence: - 1. BUY - Trader - Amount: 38 ETH - Tick: -123891 -> -121593 - 2. SELL - Trader - Amount: 2023617 ETH - Tick: -121593 -> -122186 - 3. BUY - Whale - Amount: 132 ETH - Tick: -122186 -> -119869 - 4. SELL - Trader - Amount: 1517713 ETH - Tick: -119869 -> -119901 - 5. BUY - Whale - Amount: 66 ETH - Tick: -119901 -> -119677 - 6. SELL - Trader - Amount: 1138284 ETH - Tick: -119677 -> -119701 - 7. BUY - Whale - Amount: 33 ETH - Tick: -119701 -> -119590 - 8. SELL - Trader - Amount: 853713 ETH - Tick: -119590 -> -119608 - 9. SELL - Trader - Amount: 2561140 ETH - Tick: -119608 -> -119663 - -This scenario can be replayed using the generated replay script. diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211422/fuzzing.log b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211422/fuzzing.log deleted file mode 100644 index db02d32..0000000 --- a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211422/fuzzing.log +++ /dev/null @@ -1,91 +0,0 @@ -No files changed, compilation skipped -Traces: - [24064764] → new RecordedFuzzingAnalysis@0x9f7cF1d1F558E57ef88a59ac3D47214eF25B6A06 - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d] - ├─ [0] VM::label(trader: [0x10E951fA67B511D044803c7757DA445Ddf646f6d], "trader") - │ └─ ← [Return] - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797] - ├─ [0] VM::label(whale: [0x9e3AD1ae79015470ed3CfF3E062E4B3EAF11a797], "whale") - │ └─ ← [Return] - ├─ [0] VM::addr() [staticcall] - │ └─ ← [Return] fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4] - ├─ [0] VM::label(fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], "fees") - │ └─ ← [Return] - └─ ← [Return] 119490 bytes of code - - [29722872] RecordedFuzzingAnalysis::run() - ├─ [0] VM::envOr("RUN_ID", "LOCAL") [staticcall] - │ └─ ← [Return] - ├─ [0] console::log("=== RECORDED Fuzzing Analysis ===") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Run ID: 250818-AB8P") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Recording enabled for profitable scenario replay") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::envOr("FUZZING_RUNS", 20) [staticcall] - │ └─ ← [Return] - ├─ [0] VM::envOr("TRACK_POSITIONS", false) [staticcall] - │ └─ ← [Return] - ├─ [0] VM::envOr("OPTIMIZER_CLASS", "BullMarketOptimizer") [staticcall] - │ └─ ← [Return] - ├─ [0] console::log("=== IMPROVED Fuzzing Analysis ===") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Designed to reach discovery position with larger trades") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("Optimizer: BullMarketOptimizer") [staticcall] - │ └─ ← [Stop] - ├─ [0] VM::toString(1) [staticcall] - │ └─ ← [Return] "1" - ├─ [0] console::log("Fuzzing runs: 1") [staticcall] - │ └─ ← [Stop] - ├─ [0] console::log("") [staticcall] - │ └─ ← [Stop] - ├─ [14246808] → new TestEnvironment@0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3 - │ └─ ← [Return] 70897 bytes of code - ├─ [74921] → new BullMarketOptimizer@0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f - │ └─ ← [Return] 374 bytes of code - ├─ [15198807] TestEnvironment::setupEnvironmentWithOptimizer(true, fees: [0xA4E6160eF2Ee2E58Bf1aC59ad85D5e6a6Cf811e4], BullMarketOptimizer: [0xf13D09eD3cbdD1C930d4de74808de1f33B6b3D4f]) - │ ├─ [5007640] → new @0xd9003177dC465aAA89e20678675dca7FA5f5CAD5 - │ │ ├─ emit OwnerChanged(oldOwner: 0x0000000000000000000000000000000000000000, newOwner: TestEnvironment: [0x5aAdFB43eF8dAF45DD80F4676345b7676f1D70e3]) - │ │ ├─ emit FeeAmountEnabled(fee: 500, tickSpacing: 10) - │ │ ├─ emit FeeAmountEnabled(fee: 3000, tickSpacing: 60) - │ │ ├─ emit FeeAmountEnabled(fee: 10000 [1e4], tickSpacing: 200) - │ │ └─ ← [Return] 24535 bytes of code - │ ├─ [705570] → new WETH@0x143514cFa5E66eC945bB19A024627c8bdE524156 - │ │ └─ ← [Return] 3295 bytes of code - │ ├─ [1217322] → new Kraiken@0xF03252ff2894637aeFC003421b78e82E38b98087 - │ │ └─ ← [Return] 5845 bytes of code - │ ├─ [4594718] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5::createPool(WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], 10000 [1e4]) - │ │ ├─ [4435593] → new @0x881375548072E64EefdEBd5074D4B86B350588C2 - │ │ │ ├─ [734] 0xd9003177dC465aAA89e20678675dca7FA5f5CAD5::parameters() [staticcall] - │ │ │ │ └─ ← [Return] 0x000000000000000000000000d9003177dc465aaa89e20678675dca7fa5f5cad5000000000000000000000000143514cfa5e66ec945bb19a024627c8bde524156000000000000000000000000f03252ff2894637aefc003421b78e82e38b98087000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8 - │ │ │ └─ ← [Return] 22142 bytes of code - │ │ ├─ emit PoolCreated(token0: WETH: [0x143514cFa5E66eC945bB19A024627c8bdE524156], token1: Kraiken: [0xF03252ff2894637aeFC003421b78e82E38b98087], fee: 10000 [1e4], tickSpacing: 200, pool: 0x881375548072E64EefdEBd5074D4B86B350588C2) - │ │ └─ ← [Return] 0x881375548072E64EefdEBd5074D4B86B350588C2 - │ ├─ [49152] 0x881375548072E64EefdEBd5074D4B86B350588C2::initialize(38813714283599478074587411019430 [3.881e31]) - │ │ ├─ emit Initialize(sqrtPriceX96: 38813714283599478074587411019430 [3.881e31], tick: 123890 [1.238e5]) - │ │ └─ ← [Stop] - │ ├─ [2366916] → new Stake@0x69429d5A924225a5Ed91920E7B396680d679dd2A - │ │ ├─ [310] Kraiken::decimals() [staticcall] - │ │ │ └─ ← [Return] 18 - │ │ └─ ← [Return] 7702 bytes of code - │ ├─ [48844] → new LiquidityManager@0x7561293664431f3214Acc769Fbf8bc03f31231CC - │ │ └─ ← [OutOfGas] 0x60806040526004361061009d575f3560e01c8063d348799711610062578063d348799714610137578063de53fcd514610156578063f46e13461461018d578063f4dd4156146101b1578063f86aafc0146101c6578063fbe532341461023b575f5ffd5b806315e05bc5146100a857806329fc7d84146100be5780633c1a4c0b146100e5578063a8de7fbc14610104578063aeff34a514610123575f5ffd5b366100a457005b5f5ffd5b3480156100b3575f5ffd5b506100bc61025a565b005b3480156100c9575f5ffd5b506100d25f5481565b6040519081526020015b60405180910390f35b3480156100f0575f5ffd5b506100d26100ff366004612d1e565b6102cb565b34801561010f575f5ffd5b506100bc61011e366004612d4c565b61032c565b34801561012e575f5ffd5b506100d26103a8565b348015610142575f5ffd5b506100bc610151366004612d67565b6103cb565b348015610161575f5ffd5b50600654610175906001600160a01b031681565b6040516001600160a01b0390911681526020016100dc565b348015610198575f5ffd5b506101a1610702565b60405190151581526020016100dc565b3480156101bc575f5ffd5b506100d260015481565b3480156101d1575f5ffd5b506102126101e0366004612de3565b600260208190525f9182526040909120546001600160801b03811691600160801b8204810b91600160981b9004900b83565b604080516001600160801b039094168452600292830b6020850152910b908201526060016100dc565b348015610246575f5ffd5b506100bc610255366004612d4c565b610be5565b6006546001600160a01b031633146102b95760405162461bcd60e51b815260206004820152601f60248201527f6f6e6c792063616c6c61626c652062792066656544657374696e6174696f6e0060448201526064015b60405180910390fd5b600580546001600160a01b0319169055565b5f5f6102d56103a8565b9050801561032257670de0b6b3a76400006102f08483612e15565b6102fa9190612e40565b600a610307836007612e15565b6103119190612e40565b61031b9190612e53565b9150610326565b5f91505b50919050565b6006546001600160a01b031633146103865760405162461bcd60e51b815260206004820152601f60248201527f6f6e6c792063616c6c61626c652062792066656544657374696e6174696f6e0060448201526064016102b0565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001545f90156103c6576001545f546103c19190612e40565b905090565b505f90565b604080516060810182526003546001600160a01b0390811682526004549081166020830152600160a01b900462ffffff169181019190915261042e907f000000000000000000000000d9003177dc465aaa89e20678675dca7fa5f5cad590610c5a565b505f7f000000000000000000000000000000000000000000000000000000000000000161045b578461045d565b835b60405163140e25ad60e31b8152600481018290529091507f000000000000000000000000f03252ff2894637aefc003421b78e82e38b980876001600160a01b03169063a0712d68906024015f604051808303815f87803b1580156104bf575f5ffd5b505af11580156104d1573d5f5f3e3d5ffd5b505050505f7f00000000000000000000000000000000000000000000000000000000000000016105015784610503565b855b6040516370a0823160e01b815230600482015290915081906001600160a01b037f000000000000000000000000143514cfa5e66ec945bb19a024627c8bde52415616906370a0823190602401602060405180830381865afa15801561056a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058e9190612e66565b1015610605577f000000000000000000000000143514cfa5e66ec945bb19a024627c8bde5241566001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004015f604051808303818588803b1580156105ed575f5ffd5b505af11580156105ff573d5f5f3e3d5ffd5b50505050505b851561067f5760035460405163a9059cbb60e01b8152336004820152602481018890526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015610659573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067d9190612e8c565b505b84156106fa576004805460405163a9059cbb60e01b81523392810192909252602482018790526001600160a01b03169063a9059cbb906044016020604051808303815f875af11580156106d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f89190612e8c565b505b505050505050565b5f5f7f000000000000000000000000881375548072e64eefdebd5074d4b86b350588c26001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015610760573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107849190612eb6565b50506005549395505050506001600160a01b03161590506107ee576005546001600160a01b031633146107e95760405162461bcd60e51b815260206004820152600d60248201526c1858d8d95cdcc819195b9a5959609a1b60448201526064016102b0565b610843565b6107f781610cb2565b6108435760405162461bcd60e51b815260206004820152601a60248201527f70726963652064657669617465642066726f6d206f7261636c6500000000000060448201526064016102b0565b60015f90815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0549092506001600160801b0316156109635760015f908152600260208190527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054600160801b8104820b92600160981b909104820b916108cf8484612f5d565b6108d99190612f82565b6108e39084612fba565b90505f610913858360c87f0000000000000000000000000000000000000000000000000000000000000001610f48565b90965090508061095e5760405162461bcd60e51b815260206004820152601660248201527530b6b83634ba3ab232903737ba103932b0b1b432b21760511b60448201526064016102b0565b505050505b61096b610f9f565b8115610a6c577f000000000000000000000000f03252ff2894637aefc003421b78e82e38b980876001600160a01b0316639c547c4b7f000000000000000000000000f03252ff2894637aefc003421b78e82e38b980876001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109fc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a209190612e66565b6040518263ffffffff1660e01b8152600401610a3e91815260200190565b5f604051808303815f87803b158015610a55575f5ffd5b505af1158015610a67573d5f5f3e3d5ffd5b505050505b7f000000000000000000000000f13d09ed3cbdd1c930d4de74808de1f33b6b3d4f6001600160a01b031663bd53c0dc6040518163ffffffff1660e01b8152600401608060405180830381865afa925050508015610ae6575060408051601f3d908101601f19168201909252610ae391810190612fdf565b60015b610b3b575f60405180608001604052806706f05b59d3b2000081526020016706f05b59d3b200008152602001603262ffffff1681526020016706f05b59d3b200008152509050610b368282611609565b505090565b5f6040518060800160405280670de0b6b3a76400008711610b5c5786610b66565b670de0b6b3a76400005b8152602001670de0b6b3a76400008611610b805785610b8a565b670de0b6b3a76400005b815260200160648562ffffff1611610ba25784610ba5565b60645b62ffffff168152602001670de0b6b3a76400008411610bc45783610bce565b670de0b6b3a76400005b90529050610bdc8682611609565b50505050505090565b6001600160a01b0381165f03610c0e57604051633b2e669960e01b815260040160405180910390fd5b6006546001600160a01b031615610c3857604051637b1616c160e11b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160ff60a01b84175f52606083206020527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5482526055600b2091526001600160a01b0316338114610cac575f5ffd5b92915050565b6040805160028082526060820183525f927f000000000000000000000000881375548072e64eefdebd5074d4b86b350588c2928492909160208301908036833701905050905061012c815f81518110610d0d57610d0d613037565b602002602001019063ffffffff16908163ffffffff16815250505f81600181518110610d3b57610d3b613037565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81525f906001600160a01b0384169063883bdbfd90610d7e90859060040161304b565b5f60405180830381865afa925050508015610dba57506040513d5f823e601f3d908101601f19168201604052610db7919081019061315a565b60015b610ebb57610dcb61012c60c8613226565b825f81518110610ddd57610ddd613037565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81525f906001600160a01b0385169063883bdbfd90610e2090869060040161304b565b5f60405180830381865afa158015610e3a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e61919081019061315a565b5090505f815f81518110610e7757610e77613037565b602002602001015182600181518110610e9257610e92613037565b6020026020010151610ea4919061324c565b9050610eb261012c82613279565b92505050610f0f565b5f825f81518110610ece57610ece613037565b602002602001015183600181518110610ee957610ee9613037565b6020026020010151610efb919061324c565b9050610f0961012c82613279565b93505050505b610f1a603282612f5d565b60020b8560020b12158015610f3f5750610f35603282612fba565b60020b8560020b13155b95945050505050565b5f8080610f568560026132ac565b62ffffff16905083610f70578560020b8760020b13610f7a565b8560020b8760020b125b925080610f92610f8a888a612f5d565b60020b61169c565b1191505094509492505050565b5f8080805b60028111611264575f60025f836002811115610fc257610fc2612f49565b6002811115610fd357610fd3612f49565b6002811115610fe457610fe4612f49565b815260208101919091526040015f2080549091506001600160801b03161561125157805460405163a34123a760e01b8152600160801b8204600290810b6004830152600160981b8304900b60248201526001600160801b0390911660448201525f9081907f000000000000000000000000881375548072e64eefdebd5074d4b86b350588c26001600160a01b03169063a34123a79060640160408051808303815f875af1158015611097573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110bb91906132ca565b84546040516309e3d67b60e31b8152306004820152600160801b8204600290810b6024830152600160981b90920490910b60448201526001600160801b0360648201819052608482015291935091505f9081907f000000000000000000000000881375548072e64eefdebd5074d4b86b350588c26001600160a01b031690634f1eb3d89060a40160408051808303815f875af115801561115d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111819190613302565b6001600160801b03918216935016905061119b8483613333565b6111a5908a612e53565b98506111b18382613333565b6111bb9089612e53565b97506001860361124c5784545f906002906111e890600160801b8104830b90600160981b9004830b612f5d565b6111f29190612f82565b86546112089190600160801b900460020b612fba565b90506112487f000000000000000000000000000000000000000000000000000000000000000161123857816116b1565b611243825f19613346565b6116b1565b9750505b505050505b508061125c81613365565b915050610fa4565b5082156113cd577f0000000000000000000000000000000000000000000000000000000000000001156113365760065460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018590527f000000000000000000000000143514cfa5e66ec945bb19a024627c8bde5241569091169063a9059cbb906044016020604051808303815f875af1158015611302573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113269190612e8c565b5061133181846116dd565b6113cd565b60065460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018590527f000000000000000000000000f03252ff2894637aefc003421b78e82e38b980879091169063a9059cbb906044016020604051808303815f875af11580156113a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113cb9190612e8c565b505b8115611534577f0000000000000000000000000000000000000000000000000000000000000001156114945760065460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490527f000000000000000000000000f03252ff2894637aefc003421b78e82e38b980879091169063a9059cbb906044016020604051808303815f875af115801561146a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061148e9190612e8c565b50611534565b60065460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490527f000000000000000000000000143514cfa5e66ec945bb19a024627c8bde5241569091169063a9059cbb906044016020604051808303815f875af1158015611505573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115299190612e8c565b5061153481836116dd565b6040516370a0823160e01b81523060048201527f000000000000000000000000f03252ff2894637aefc003421b78e82e38b980876001600160a01b0316906342966c689082906370a0823190602401602060405180830381865afa15801561159e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115c29190612e66565b6040518263ffffffff1660e01b81526004016115e091815260200190565b5f604051808303815f87803b1580156115f7575f5ffd5b505af11580156106f8573d5f5f3e3d5ffd5b5f6116126117eb565b90505f678ac7230489e8000082846020015160026116309190612e15565b61163a9190612e15565b6116449190612e40565b6014611651846013612e15565b61165b9190612e40565b6116659190613333565b90505f8061167d866116778587613333565b8761187d565b915091505f61168d87838861197e565b90506106f8878585848a611b2c565b5f5f8212156116ad57815f03610cac565b5090565b5f5f6116bc83611e87565b6001600160a01b031690506116d68180600160601b612168565b9392505050565b5f6116e9826064612e15565b90505f6116f68285612e15565b905061170460025f19612e40565b8111156117265761171760025f19612e40565b90506117238482612e40565b91505b7d0172ebad6ddc73c86d67c5faa71c245689c10795024000000000000000005f5411156117b8575f61175c620f42405f19612e40565b90505f815f5461176c9190612e40565b611777906001612e53565b90506103e881111561178857506103e85b6002811015611795575060025b805f546117a29190612e40565b5f556001546117b2908290612e40565b60015550505b805f5f8282546117c89190612e53565b925050819055508160015f8282546117e09190612e53565b909155505050505050565b6040516370a0823160e01b81523060048201525f907f000000000000000000000000143514cfa5e66ec945bb19a024627c8bde5241566001600160a01b0316906370a0823190602401602060405180830381865afa15801561184f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118739190612e66565b6103c19047612e53565b5f5f5f606460c8856040015160226118959190613346565b61189f9190613346565b6118a99190612f82565b6118b49060c8612fba565b90505f6118cb6118c48389612f5d565b60c861224c565b90505f6118db6118c4848a612fba565b90505f6118e789611e87565b90505f6118f384611e87565b90505f6118ff84611e87565b90507f000000000000000000000000000000000000000000000000000000000000000180156119475761193384838d612295565b975061194083858a6122df565b9850611962565b61195283858d612318565b975061195f84838a612348565b98505b61196f600187878b612395565b50505050505050935093915050565b5f60c861198b8186612f82565b6119959190613346565b93505f7f000000000000000000000000000000000000000000000000000000000000000190505f606460c8856040015160226119d19190613346565b6119db9190613346565b6119e59190612f82565b6119f09060c8612fba565b90505f611a2183611a0a57611a058389612fba565b6118c4565b82611a17612af88a612f5d565b6118c49190612f5d565b90505f611a4d84611a435783611a39612af88b612fba565b611a059190612fba565b6118c4848a612f5d565b90505f611a5983611e87565b90505f611a6583611e87565b90505f670de0b6b3a76400008960600151610320611a839190612e15565b611a8d9190612e40565b611a989060c8612e53565b90505f611aa6876002613346565b90505f611ab8600283900b6064612e15565b612af860020b848e6001600160801b0316611ad39190612e15565b611add9190612e15565b611ae79190612e40565b90508815611b0157611afa8585836122df565b9950611b0f565b611b0c858583612348565b99505b611b1c6002888884612395565b5050505050505050509392505050565b7f00000000000000000000000000000000000000000000000000000000000000015f611b5661253f565b9050611b628582613333565b905083811015611b725780611b74565b835b611b7e9082613333565b90505f611b8d845f01516102cb565b90505f611b986117eb565b90505f8215611d29575f6030611bad856125c0565b901b90505f611bc18683600160601b612168565b9050808b1015611c875787515f90670de0b6b3a764000090611be39089612e15565b611bed9190612e40565b600a611bfa896007612e15565b611c049190612e40565b611c0e9190612e53565b9050611c1b88828e6126a4565b93507fa89ff7049d33f95a26c83c41924f73b3056c6f4454c914a011724b35802062fa8d86898988604051611c79959493929190600295860b815260208101949094526040840192909252606083015290910b608082015260a00190565b60405180910390a150611d22565b5f6030611c93876125c0565b901b9050611ca4602082901c612732565b935087611cb15783611cba565b611cba8461337d565b93507f8ecc556bb0d8ac96481ba85edc02e356164c7ec2aed0e93527e6d4a3e471b62b8d86898988604051611d18959493929190600295860b815260208101949094526040840192909252606083015290910b608082015260a00190565b60405180910390a1505b5050611d2c565b50885b5f606460c888604001516022611d429190613346565b611d4c9190613346565b611d569190612f82565b611d619060c8612fba565b90508515611d9657611d73818c612fba565b60020b8260020b12611d855781611d8f565b611d8f818c612fba565b9150611dbf565b611da0818c612f5d565b60020b8260020b13611db25781611dbc565b611dbc818c612f5d565b91505b611dca8260c861224c565b91505f611deb87611de057611a0560c885612f5d565b6118c460c885612fba565b90505f611df66117eb565b90505f8c821015611e075781611e09565b8c5b90505f8915611e3457611e2d611e1e87611e87565b611e2786611e87565b84612318565b9050611e52565b611e4f611e4087611e87565b611e4986611e87565b84612295565b90505b611e765f8b611e615785611e63565b875b8c611e6e5788611e70565b865b84612395565b505050505050505050505050505050565b5f600282900b818112820380820118620d89e8811115611eb8576308c379a05f52602080526101546041526045601cfd5b7ffffcb933bd6fad37aa2d162d1a594001000000000000000000000000000000006080600783901b161c7001ffffffffffffffffffffffffffffffff166002821615611f14576ffff97272373d413259a46990580e213a0260801c5b6004821615611f33576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611f52576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611f71576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611f90576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611faf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611fce576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611fee576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561200e576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561202e576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561204e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b61100082161561206e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b61200082161561208e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156120ae576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156120ce576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156120ef576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561210f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561212e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561214b576b048a170391f7dc42444e8fa20260801c5b5f831315612157575f19045b63ffffffff0160201c949350505050565b5f80805f19858709858702925082811083820303915050805f0361219f5783828161219557612195612e2c565b04925050506116d6565b8084116121e65760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016102b0565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f816122588185612f82565b6122629190613346565b9050620d89e719600282900b121561227b5750620d89e7195b620d89e8600282900b1315610cac5750620d89e892915050565b8282108383180292831892909118905f806122bc6001600160a01b03808716908616612752565b9050610f3f6122da84836001600160a01b038981169089160361278d565b612799565b8282108383180292831892909118905f6123106001600160801b0383166001600160a01b0380871690861603612752565b949350505050565b8282108383180292831892909118905f6123106122da83600160601b6001600160a01b038089169088160361278d565b8282108383180292831892909118905f6123106001600160a01b0380861690612391906fffffffffffffffffffffffffffffffff60601b606087901b169087168381039061278d565b0490565b7f000000000000000000000000881375548072e64eefdebd5074d4b86b350588c26001600160a01b0316633c8a7d8d308585856003604051602001612409919081546001600160a01b03908116825260019290920154918216602082015260a09190911c62ffffff16604082015260600190565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161243895949392919061339d565b60408051808303815f875af1158015612453573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247791906132ca565b50506040518060600160405280826001600160801b031681526020018460020b81526020018360020b81525060025f8660028111156124b8576124b8612f49565b60028111156124c9576124c9612f49565b815260208082019290925260409081015f208351815493850151949092015162ffffff908116600160981b0262ffffff60981b1991909516600160801b0272ffffffffffffffffffffffffffffffffffffff199094166001600160801b0390931692909217929092171691909117905550505050565b5f7f000000000000000000000000f03252ff2894637aefc003421b78e82e38b980876001600160a01b031663caacafe26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561259c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c19190612e66565b5f815f036125cf57505f919050565b5f60016125db846127a7565b901c6001901b905060018184816125f4576125f4612e2c565b048201901c9050600181848161260c5761260c612e2c565b048201901c9050600181848161262457612624612e2c565b048201901c9050600181848161263c5761263c612e2c565b048201901c9050600181848161265457612654612e2c565b048201901c9050600181848161266c5761266c612e2c565b048201901c9050600181848161268457612684612e2c565b048201901c90506116d68182858161269e5761269e612e2c565b0461283a565b5f5f82116126f45760405162461bcd60e51b815260206004820152601960248201527f45544820616d6f756e742063616e6e6f74206265207a65726f0000000000000060448201526064016102b0565b825f036127055750620d89e861271f565b5f612710848461284f565b905061271b81612732565b9150505b836116d65761272d8161337d565b612310565b5f5f602061273f846128b4565b600f0b901b600f0b90506116d6816128d4565b5f8282025f1983850981811082019003600160601b811061277a5763ae47f7025f526004601cfd5b8060a01b8260601c179250505092915050565b5f612310848484612b0b565b5f8160801c156116ad575f5ffd5b5f80608083901c156127bb57608092831c92015b604083901c156127cd57604092831c92015b602083901c156127df57602092831c92015b601083901c156127f157601092831c92015b600883901c1561280357600892831c92015b600483901c1561281557600492831c92015b600283901c1561282757600292831c92015b600183901c15610cac5760010192915050565b5f81831061284857816116d6565b5090919050565b5f81600f0b5f0361285e575f5ffd5b5f82600f0b604085600f0b901b8161287857612878612e2c565b0590506f7fffffffffffffffffffffffffffffff1981128015906128ac57506f7fffffffffffffffffffffffffffffff8113155b6116d6575f5ffd5b5f5f82600f0b12156128c4575f5ffd5b610cac604083600f0b901b612ba7565b5f73fffd8963efd1fc6a506488495d951d51639616826401000276a38303111561290f576308c379a05f52602080526101526041526045601cfd5b7f07060605060205040602030205040301060502050303040105050304000000006f8421084210842108cc6318c6db6d54be6001600160801b03841160071b84811c67ffffffffffffffff1060061b1784811c63ffffffff1060051b1784811c61ffff1060041b1784811c60ff1060031b1784811c9190911c601f169190911a17605f19810160401b5f606085901b601e1984011c8002818112603f81901b93909317607f9384019190911c8002828112603e81901b929092179184011c8002828112603d81901b929092179184011c8002828112603c81901b929092179184011c8002828112603b81901b929092179184011c8002828112603a81901b929092179184011c8002828112603981901b929092179184011c8002828112603881901b929092179184011c8002828112603781901b929092179184011c8002828112603681901b929092179184011c8002828112603581901b929092179184011c8002828112603481901b929092179184011c8002828112603381901b92909217919093019290921c80021260321b17693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811c916fdb2df09e81959a81455e260799a0632f01901c600281810b9083900b14612afe575f612af182611e87565b871082039550612b029050565b8094505b50505050919050565b8282025f198385098181108201900380612b3a5782612b315763ae47f7025f526004601cfd5b508190046116d6565b808311612b4e5763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b5f815f03612bb657505f919050565b816001600160801b8210612bcf5760809190911c9060401b5b680100000000000000008210612bea5760409190911c9060201b5b6401000000008210612c015760209190911c9060101b5b620100008210612c165760109190911c9060081b5b6101008210612c2a5760089190911c9060041b5b60108210612c3d5760049190911c9060021b5b60048210612c495760011b5b6001818581612c5a57612c5a612e2c565b048201901c90506001818581612c7257612c72612e2c565b048201901c90506001818581612c8a57612c8a612e2c565b048201901c90506001818581612ca257612ca2612e2c565b048201901c90506001818581612cba57612cba612e2c565b048201901c90506001818581612cd257612cd2612e2c565b048201901c90506001818581612cea57612cea612e2c565b048201901c90505f818581612d0157612d01612e2c565b049050808210612d115780610f3f565b509392505050565b919050565b5f60208284031215612d2e575f5ffd5b5035919050565b6001600160a01b0381168114612d49575f5ffd5b50565b5f60208284031215612d5c575f5ffd5b81356116d681612d35565b5f5f5f5f60608587031215612d7a575f5ffd5b8435935060208501359250604085013567ffffffffffffffff811115612d9e575f5ffd5b8501601f81018713612dae575f5ffd5b803567ffffffffffffffff811115612dc4575f5ffd5b876020828401011115612dd5575f5ffd5b949793965060200194505050565b5f60208284031215612df3575f5ffd5b8135600381106116d6575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610cac57610cac612e01565b634e487b7160e01b5f52601260045260245ffd5b5f82612e4e57612e4e612e2c565b500490565b80820180821115610cac57610cac612e01565b5f60208284031215612e76575f5ffd5b5051919050565b80518015158114612d19575f5ffd5b5f60208284031215612e9c575f5ffd5b6116d682612e7d565b805161ffff81168114612d19575f5ffd5b5f5f5f5f5f5f5f60e0888a031215612ecc575f5ffd5b8751612ed781612d35565b8097505060208801518060020b8114612eee575f5ffd5b9550612efc60408901612ea5565b9450612f0a60608901612ea5565b9350612f1860808901612ea5565b925060a088015160ff81168114612f2d575f5ffd5b9150612f3b60c08901612e7d565b905092959891949750929550565b634e487b7160e01b5f52602160045260245ffd5b600282810b9082900b03627fffff198112627fffff82131715610cac57610cac612e01565b5f8160020b8360020b80612f9857612f98612e2c565b627fffff1982145f1982141615612fb157612fb1612e01565b90059392505050565b600281810b9083900b01627fffff8113627fffff1982121715610cac57610cac612e01565b5f5f5f5f60808587031215612ff2575f5ffd5b845160208601516040870151919550935062ffffff81168114613013575f5ffd5b6060959095015193969295505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b8181101561308857835163ffffffff16835260209384019390920191600101613064565b509095945050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156130bc576130bc613023565b604052919050565b5f67ffffffffffffffff8211156130dd576130dd613023565b5060051b60200190565b5f82601f8301126130f6575f5ffd5b8151613109613104826130c4565b613093565b8082825260208201915060208360051b86010192508583111561312a575f5ffd5b602085015b8381101561315057805161314281612d35565b83526020928301920161312f565b5095945050505050565b5f5f6040838503121561316b575f5ffd5b825167ffffffffffffffff811115613181575f5ffd5b8301601f81018513613191575f5ffd5b805161319f613104826130c4565b8082825260208201915060208360051b8501019250878311156131c0575f5ffd5b6020840193505b828410156131f05783518060060b81146131df575f5ffd5b8252602093840193909101906131c7565b80955050505050602083015167ffffffffffffffff811115613210575f5ffd5b61321c858286016130e7565b9150509250929050565b63ffffffff818116838216029081169081811461324557613245612e01565b5092915050565b600682810b9082900b03667fffffffffffff198112667fffffffffffff82131715610cac57610cac612e01565b5f8160060b8360060b8061328f5761328f612e2c565b667fffffffffffff1982145f1982141615612fb157612fb1612e01565b62ffffff818116838216029081169081811461324557613245612e01565b5f5f604083850312156132db575f5ffd5b505080516020909101519092909150565b80516001600160801b0381168114612d19575f5ffd5b5f5f60408385031215613313575f5ffd5b61331c836132ec565b915061332a602084016132ec565b90509250929050565b81810381811115610cac57610cac612e01565b5f8260020b8260020b028060020b915080821461324557613245612e01565b5f6001820161337657613376612e01565b5060010190565b5f8160020b627fffff19810361339557613395612e01565b5f0392915050565b60018060a01b03861681528460020b60208201528360020b60408201526001600160801b038316606082015260a060808201525f82518060a0840152806020850160c085015e5f60c0828501015260c0601f19601f830116840101915050969550505050505056fea2646970667358221220392abb2641efad763d5298bcb02c1b0b80ee7d07dfbaf222866b4b6a5546d86b64736f6c634300081e0033 - │ └─ ← [Revert] EvmError: Revert - └─ ← [Revert] EvmError: Revert - - -Gas used: 29743936 - -== Logs == - === RECORDED Fuzzing Analysis === - Run ID: 250818-AB8P - Recording enabled for profitable scenario replay - === IMPROVED Fuzzing Analysis === - Designed to reach discovery position with larger trades - Optimizer: BullMarketOptimizer - Fuzzing runs: 1 - -Error: script failed: