fix: Resolve fuzzing script issues with gas limits and CSV symlinks

- Increased gas limit to 100M to prevent out-of-gas errors during large swaps
- Fixed symlink path for profitable_scenario.csv to work with visualizer
- Position CSVs are now always generated when recording profitable scenarios

The out-of-gas error was occurring when large KRAIKEN sells tried to traverse
many tick ranges in Uniswap V3. The visualizer couldn't display data because
the CSV symlink was created in the wrong directory.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
johba 2025-08-18 21:14:48 +02:00
parent c1627dd4c9
commit fbd8170198
22 changed files with 6373 additions and 4 deletions

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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
1 MassiveBuy 119273 127400 127600 25563614720653619409 120200 127400 152183492855657924602025 109200 120200 2325025585294773848086493 true
2 WhaleDump 120090 127400 127600 25563614720653619409 120200 127400 152183492855657924602025 109200 120200 2325025585294773848086493 true
3 Discovery_Reached 119012 124800 125000 35441680661270157275 117600 124800 161630528569314481719245 106600 117600 2469355297586749026266243 true
4 Final 123585 124800 125000 35441680661270157275 117600 124800 161630528569314481719245 106600 117600 2469355297586749026266243 true

View file

@ -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
1 precedingAction currentTick floorTickLower floorTickUpper floorLiquidity anchorTickLower anchorTickUpper anchorLiquidity discoveryTickLower discoveryTickUpper discoveryLiquidity token0isWeth
2 Initial -123891 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
3 Whale_0 -121593 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
4 Whale_2 -119901 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
5 Whale_4 -119608 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
6 Discovery_Reached -119608 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
7 Final -119663 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false

View file

@ -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

View file

@ -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
}

View file

@ -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
}

View file

@ -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"}}]}

View file

@ -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"}}]}

View file

@ -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.

View file

@ -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.

File diff suppressed because it is too large Load diff

View file

@ -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
1 MassiveBuy 119273 127400 127600 25563614720653619409 120200 127400 152183492855657924602025 109200 120200 2325025585294773848086493 true
2 WhaleDump 120090 127400 127600 25563614720653619409 120200 127400 152183492855657924602025 109200 120200 2325025585294773848086493 true
3 Discovery_Reached 119012 124800 125000 35441680661270157275 117600 124800 161630528569314481719245 106600 117600 2469355297586749026266243 true
4 Final 123585 124800 125000 35441680661270157275 117600 124800 161630528569314481719245 106600 117600 2469355297586749026266243 true

View file

@ -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
1 precedingAction currentTick floorTickLower floorTickUpper floorLiquidity anchorTickLower anchorTickUpper anchorLiquidity discoveryTickLower discoveryTickUpper discoveryLiquidity token0isWeth
2 Initial -123891 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
3 Whale_0 -121593 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
4 Whale_2 -119901 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
5 Whale_4 -119608 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
6 Discovery_Reached -119608 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false
7 Final -119663 -127600 -127400 25561339163394654594 -127400 -120200 152230779095623270236377 -120200 -109200 2325748013960911073055759 false

View file

@ -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

View file

@ -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
}

View file

@ -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
}

View file

@ -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"}}]}

View file

@ -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"}}]}

View file

@ -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.

View file

@ -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.

File diff suppressed because one or more lines are too long