diff --git a/onchain/analysis/run-recorded-fuzzing.sh b/onchain/analysis/run-recorded-fuzzing.sh index f0f65e4..b434100 100755 --- a/onchain/analysis/run-recorded-fuzzing.sh +++ b/onchain/analysis/run-recorded-fuzzing.sh @@ -59,7 +59,7 @@ 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 -vv 2>&1 | tee $OUTPUT_DIR/fuzzing.log +forge script analysis/RecordedFuzzingAnalysis.s.sol:RecordedFuzzingAnalysis --gas-limit 100000000 -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) @@ -169,13 +169,13 @@ if [ $POSITION_CSV_COUNT -gt 0 ] && [ $SCENARIO_COUNT -gt 0 ]; then FIRST_CSV=$(ls -1 $OUTPUT_DIR/improved_positions_*.csv 2>/dev/null | head -1) echo "CSV file: $FIRST_CSV" - # Create a temporary symlink to the CSV for the viewer - TEMP_LINK="profitable_scenario.csv" + # Create a temporary symlink to the CSV for the viewer in the analysis directory + TEMP_LINK="analysis/profitable_scenario.csv" if [ -f "$TEMP_LINK" ] || [ -L "$TEMP_LINK" ]; then rm -f "$TEMP_LINK" fi # Use absolute path for the symlink - ln -s "$(pwd)/$FIRST_CSV" "$TEMP_LINK" + ln -s "$(realpath $FIRST_CSV)" "$TEMP_LINK" # Check if server is already running on common ports SERVER_RUNNING=false diff --git a/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/fuzzing.log b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/fuzzing.log new file mode 100644 index 0000000..024e9d5 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/fuzzing.log @@ -0,0 +1,2981 @@ +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 new file mode 100644 index 0000000..3f1fee5 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_0.csv @@ -0,0 +1,5 @@ + +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 new file mode 100644 index 0000000..6daa6d8 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/improved_positions_BullMarketOptimizer_1.csv @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..7ba62a1 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/index.txt @@ -0,0 +1,20 @@ +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 new file mode 100644 index 0000000..6a92e35 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed0.sol @@ -0,0 +1,37 @@ +// 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 new file mode 100644 index 0000000..9d8e34c --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/replay_250818-JY0U_seed1.sol @@ -0,0 +1,43 @@ +// 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 new file mode 100644 index 0000000..ca39c67 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed0.json @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..7c5f56b --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/scenario_250818-JY0U_seed1.json @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..984ceee --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed0.txt @@ -0,0 +1,21 @@ +=== 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 new file mode 100644 index 0000000..4df2271 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_210958/summary_250818-JY0U_seed1.txt @@ -0,0 +1,23 @@ +=== 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 new file mode 100644 index 0000000..3c5fe54 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/fuzzing.log @@ -0,0 +1,2981 @@ +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 new file mode 100644 index 0000000..3f1fee5 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_0.csv @@ -0,0 +1,5 @@ + +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 new file mode 100644 index 0000000..6daa6d8 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/improved_positions_BullMarketOptimizer_1.csv @@ -0,0 +1,7 @@ +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 new file mode 100644 index 0000000..7ce0756 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/index.txt @@ -0,0 +1,20 @@ +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 new file mode 100644 index 0000000..6a92e35 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed0.sol @@ -0,0 +1,37 @@ +// 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 new file mode 100644 index 0000000..9d8e34c --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/replay_250818-WAER_seed1.sol @@ -0,0 +1,43 @@ +// 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 new file mode 100644 index 0000000..ca39c67 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed0.json @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..7c5f56b --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/scenario_250818-WAER_seed1.json @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..d057227 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed0.txt @@ -0,0 +1,21 @@ +=== 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 new file mode 100644 index 0000000..b1d8778 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211041/summary_250818-WAER_seed1.txt @@ -0,0 +1,23 @@ +=== 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 new file mode 100644 index 0000000..db02d32 --- /dev/null +++ b/onchain/fuzzing_results_recorded_BullMarketOptimizer_20250818_211422/fuzzing.log @@ -0,0 +1,91 @@ +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: