{"code":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport {AMMStrategyBase} from \"./AMMStrategyBase.sol\";\nimport {TradeInfo} from \"./IAMMStrategy.sol\";\n\ncontract Strategy is AMMStrategyBase {\n    uint256 constant ELAPSED_CAP = 8;\n    uint256 constant SIGNAL_THRESHOLD = WAD / 650;\n    uint256 constant DIR_DECAY = 750000000000000000;\n    uint256 constant ACT_DECAY = 530000000000000000;\n    uint256 constant SIZE_DECAY = 530000000000000000;\n    uint256 constant TOX_DECAY = 910000000000000000;\n    uint256 constant SIGMA_DECAY = 690000000000000000;\n    uint256 constant LAMBDA_DECAY = 990000000000000000;\n    uint256 constant SIZE_BLEND_DECAY = 828000000000000000;\n    uint256 constant TOX_BLEND_DECAY = 51000000000000000;\n    uint256 constant ACT_BLEND_DECAY = 985000000000000000;\n    uint256 constant PHAT_ALPHA = 270000000000000000;\n    uint256 constant PHAT_ALPHA_RETAIL = 60000000000000000;\n    uint256 constant PHAT_ALPHA_SAME = 120000000000000000;\n    uint256 constant REVERT_U = 0;\n    uint256 constant DIR_IMPACT_MULT = 4;\n    uint256 constant GATE_SIGMA_MULT = 7200000000000000000;\n    uint256 constant MIN_GATE = 30000000000000000;\n    uint256 constant TRADE_TOX_BOOST = 3500 * BPS;\n    uint256 constant STALE_ATTRACT_FRAC = 1050000000000000000;\n    uint256 constant RET_CAP = WAD / 35;\n    uint256 constant TOX_CAP = WAD / 5;\n    uint256 constant TRADE_RATIO_CAP = WAD / 5;\n    uint256 constant LAMBDA_CAP = 1820000000000000000;\n    uint256 constant STEP_COUNT_CAP = 64;\n    uint256 constant BASE_FEE = 4 * BPS;\n    uint256 constant SIGMA_COEF = 200000000000000000;\n    uint256 constant LAMBDA_COEF = 12 * BPS;\n    uint256 constant FLOW_SIZE_COEF = 4842 * BPS;\n    uint256 constant TOX_COEF = 300 * BPS;\n    uint256 constant TOX_QUAD_COEF = 15000 * BPS;\n    uint256 constant ACT_COEF = 91843 * BPS;\n    uint256 constant DIR_COEF = 20 * BPS;\n    uint256 constant DIR_TOX_COEF = 100 * BPS;\n    uint256 constant STALE_DIR_COEF = 6850 * BPS;\n    uint256 constant SIGMA_TOX_COEF = 500 * BPS;\n    uint256 constant TAIL_KNEE = 600 * BPS;\n    uint256 constant TAIL_SLOPE_PROTECT = 930000000000000000;\n    uint256 constant TAIL_SLOPE_ATTRACT = 850000000000000000;\n\n    function afterInitialize(uint256 initialX, uint256 initialY) external override returns (uint256, uint256) {\n        slots[0] = BASE_FEE; slots[1] = BASE_FEE; slots[3] = WAD; \n        slots[5] = initialX > 0 ? wdiv(initialY, initialX) : 100 * WAD;\n        slots[6] = 950000000000000; slots[7] = 800000000000000000; slots[8] = 2000000000000000;\n        slots[13] = 902500000000; slots[14] = slots[5]; \n        return (BASE_FEE, BASE_FEE);\n    }\n\n    function afterSwap(TradeInfo calldata trade) external override returns (uint256, uint256) {\n        uint256 prevBidFee = slots[0]; uint256 prevAskFee = slots[1]; uint256 lastTs = uint64(slots[2]);\n        uint256 dirState = slots[3]; uint256 actEma = slots[4]; uint256 pHat = slots[5];\n        uint256 sigmaHat = slots[6]; uint256 lambdaHat = slots[7]; uint256 sizeHat = slots[8];\n        uint256 toxEma = slots[9]; uint256 stepTradeCount = slots[10];\n\n        uint256 sigmaForFast = sigmaHat;\n        uint256 fastHat = slots[14];\n        uint256 uncertainty = slots[13];\n        uint256 silent = trade.timestamp > lastTs ? trade.timestamp - lastTs : 0;\n        bool isNewStep = trade.timestamp > lastTs;\n        if (isNewStep) {\n            uint256 elapsedRaw = trade.timestamp - lastTs;\n            uint256 elapsed = elapsedRaw > ELAPSED_CAP ? ELAPSED_CAP : elapsedRaw;\n            dirState = _decayCentered(dirState, DIR_DECAY, elapsed);\n            actEma = wmul(actEma, _powWad(ACT_DECAY, elapsed));\n            sizeHat = wmul(sizeHat, _powWad(SIZE_DECAY, elapsed));\n            toxEma = wmul(toxEma, _powWad(TOX_DECAY, elapsed));\n            if (stepTradeCount > 0 && elapsedRaw > 0) {\n                uint256 lambdaInst = (stepTradeCount * WAD) / elapsedRaw;\n                if (lambdaInst > LAMBDA_CAP) lambdaInst = LAMBDA_CAP;\n                lambdaHat = wmul(lambdaHat, LAMBDA_DECAY) + wmul(lambdaInst, WAD - LAMBDA_DECAY);\n            }\n            uncertainty += wmul(sigmaForFast, sigmaForFast) * elapsedRaw;\n            if (uncertainty > 100000000000000) uncertainty = 100000000000000;\n            stepTradeCount = 0;\n        }\n\n        bool firstInStep = stepTradeCount == 0;\n        uint256 spot = trade.reserveX > 0 ? wdiv(trade.reserveY, trade.reserveX) : pHat;\n        if (pHat == 0) pHat = spot;\n\n        uint256 feeUsed = trade.isBuy ? prevBidFee : prevAskFee;\n        uint256 gamma = feeUsed < WAD ? WAD - feeUsed : 0;\n        uint256 pImplied;\n        if (gamma == 0) { pImplied = spot; }\n        else { pImplied = trade.isBuy ? wmul(spot, gamma) : wdiv(spot, gamma); }\n\n        // S: infer a no-trade interval center from the last post-trade spot.\n        uint256 silenceScale = WAD;\n        if (firstInStep && silent > 1) {\n            uint256 g = silent - 1;\n            if (g > 1) g = 1;\n            uint256 w = WAD - _powWad(800000000000000000, g);\n            uint256 s = slots[2] >> 64;\n            if (s == 0) s = pHat;\n            uint256 c = (wmul(s, WAD - prevBidFee) + wdiv(s, WAD - prevAskFee)) / 2;\n            if (c >= pHat) pHat += wmul(w, c - pHat);\n            else pHat -= wmul(w, pHat - c);\n            silenceScale = WAD - wmul(300000000000000000, w);\n        }\n\n        {\n            uint256 ret = pHat > 0 ? wdiv(absDiff(pImplied, pHat), pHat) : 0;\n            uint256 alpha = firstInStep ? PHAT_ALPHA : PHAT_ALPHA_RETAIL;\n            uint256 prePhat = pHat;\n            bool secondPrint = !firstInStep && stepTradeCount == 1;\n            bool sameDir = false; bool oppDir = false;\n            if (secondPrint) {\n                bool up2 = pImplied >= pHat;\n                uint256 d1 = slots[12];\n                if (d1 != 0) { sameDir = (d1 == 1) == up2; oppDir = !sameDir; }\n                if (sameDir) alpha = PHAT_ALPHA_SAME;\n            }\n            if (firstInStep) { slots[12] = pImplied >= pHat ? 1 : 2; }\n            uint256 adaptiveGate = wmul(sigmaHat, GATE_SIGMA_MULT);\n            if (adaptiveGate < MIN_GATE) adaptiveGate = MIN_GATE;\n            alpha = wmul(alpha, silenceScale);\n            adaptiveGate = wmul(adaptiveGate, silenceScale);\n            if (ret <= adaptiveGate) { pHat = wmul(pHat, WAD - alpha) + wmul(pImplied, alpha); }\n            if (oppDir && REVERT_U > 0) {\n                uint256 pre = slots[11];\n                if (pre > pHat) pHat = pHat + wmul(pre - pHat, REVERT_U);\n                else pHat = pHat - wmul(pHat - pre, REVERT_U);\n            }\n            if (firstInStep) {\n                if (ret > RET_CAP) ret = RET_CAP;\n                sigmaHat = wmul(sigmaHat, SIGMA_DECAY) + wmul(ret, WAD - SIGMA_DECAY);\n            }\n        }\n\n        // Interior retail routing equalizes fee-adjusted marginal prices.\n        // Subsequent trades in a step cannot be the initial arbitrage trade.\n        if (!firstInStep && feeUsed > 30 * BPS && gamma > 0) {\n            uint256 normalSpot = trade.isBuy\n                ? wdiv(wmul(spot, gamma), WAD - 30 * BPS)\n                : wdiv(wmul(spot, WAD - 30 * BPS), gamma);\n            pHat = wmul(pHat, 90 * WAD / 100) + wmul(normalSpot, 10 * WAD / 100);\n        }\n\n        {\n            uint256 ret = fastHat > 0 ? wdiv(absDiff(pImplied, fastHat), fastHat) : 0;\n            uint256 alpha;\n            if (firstInStep) {\n                uint256 processSigma = sigmaForFast;\n                uint256 obsVar = uncertainty + wmul(processSigma, processSigma);\n                uint256 probArb;\n                uint256 z2 = wdiv(wmul(ret, ret), obsVar);\n                uint256 density = _powWad(wdiv(WAD, WAD + z2 / 16), 8);\n                uint256 sigmaObs = _isqrt(obsVar * WAD);\n                uint256 odds = wmul(density, wdiv(6700000000000000, sigmaObs));\n                bool arbFlag = ret <= wmul(sigmaForFast, 1220000000000000000);\n                uint256 prior = arbFlag ? 650000000000000000 : 400000000000000000;\n                uint256 tr = trade.reserveY > 0 ? wdiv(trade.amountY, trade.reserveY) : 0;\n                if (tr > 3000000000000000) prior = wmul(prior, 6 * WAD / 10);\n                if (silent > 1) prior = wmul(prior, 8 * WAD / 10);\n                odds = wmul(odds, wdiv(prior, WAD - prior));\n                probArb = wdiv(odds, WAD + odds);\n                alpha = wmul(probArb, 600000000000000000) + wmul(WAD - probArb, 80000000000000000);\n                slots[15] = pImplied >= fastHat ? 1 : 2;\n                uncertainty = wmul(uncertainty, WAD - alpha);\n            } else {\n                if ((slots[15] == 1) == (pImplied >= fastHat)) alpha = PHAT_ALPHA_RETAIL;\n            }\n            uint256 gate = wmul(sigmaHat, GATE_SIGMA_MULT);\n            if (gate < MIN_GATE) gate = MIN_GATE;\n            if (ret <= gate) fastHat = wmul(fastHat, WAD - alpha) + wmul(pImplied, alpha);\n            slots[13] = uncertainty;\n        }\n\n        if (!firstInStep && feeUsed > 30 * BPS && gamma > 0) {\n            uint256 normalObs = trade.isBuy\n                ? wdiv(wmul(spot, gamma), WAD - 30 * BPS)\n                : wdiv(wmul(spot, WAD - 30 * BPS), gamma);\n            if ((slots[15] == 1) == (normalObs >= fastHat)) {\n                fastHat = wmul(fastHat, 9 * WAD / 10) + wmul(normalObs, WAD / 10);\n            }\n        }\n        slots[14] = fastHat;\n        uint256 tradeRatio = trade.reserveY > 0 ? wdiv(trade.amountY, trade.reserveY) : 0;\n        if (tradeRatio > TRADE_RATIO_CAP) tradeRatio = TRADE_RATIO_CAP;\n\n        if (tradeRatio > SIGNAL_THRESHOLD) {\n            uint256 push = tradeRatio * DIR_IMPACT_MULT;\n            if (push > WAD / 4) push = WAD / 4;\n            if (trade.isBuy) {\n                dirState = dirState + push;\n                if (dirState > 2 * WAD) dirState = 2 * WAD;\n            } else {\n                dirState = dirState > push ? dirState - push : 0;\n            }\n            actEma = wmul(actEma, ACT_BLEND_DECAY) + wmul(tradeRatio, WAD - ACT_BLEND_DECAY);\n            sizeHat = wmul(sizeHat, SIZE_BLEND_DECAY) + wmul(tradeRatio, WAD - SIZE_BLEND_DECAY);\n            if (sizeHat > WAD) sizeHat = WAD;\n        }\n\n        uint256 tox = pHat > 0 ? wdiv(absDiff(spot, pHat), pHat) : 0;\n        if (tox > TOX_CAP) tox = TOX_CAP;\n        toxEma = wmul(toxEma, TOX_BLEND_DECAY) + wmul(tox, WAD - TOX_BLEND_DECAY);\n        uint256 toxSignal = toxEma;\n\n        stepTradeCount = stepTradeCount + 1;\n        if (stepTradeCount > STEP_COUNT_CAP) stepTradeCount = STEP_COUNT_CAP;\n\n        uint256 flowSize = wmul(lambdaHat, sizeHat);\n        uint256 fBase = BASE_FEE + wmul(SIGMA_COEF, sigmaHat) + wmul(LAMBDA_COEF, lambdaHat) + wmul(FLOW_SIZE_COEF, flowSize);\n        uint256 fMid = fBase + wmul(TOX_COEF, toxSignal) + wmul(TOX_QUAD_COEF, wmul(toxSignal, toxSignal)) + wmul(ACT_COEF, actEma);\n        fMid = fMid + wmul(SIGMA_TOX_COEF, wmul(sigmaHat, toxSignal));\n\n        uint256 dirDev; bool sellPressure;\n        if (dirState >= WAD) { dirDev = dirState - WAD; sellPressure = true; }\n        else { dirDev = WAD - dirState; sellPressure = false; }\n\n        uint256 skew = wmul(DIR_COEF, dirDev) + wmul(DIR_TOX_COEF, wmul(dirDev, toxSignal));\n        uint256 bidFee; uint256 askFee;\n        if (sellPressure) {\n            bidFee = fMid + skew;\n            askFee = fMid > skew ? fMid - skew : 0;\n        } else {\n            askFee = fMid + skew;\n            bidFee = fMid > skew ? fMid - skew : 0;\n        }\n\n        {\n            uint256 staleHat = wmul(pHat, 700000000000000000) + wmul(fastHat, 300000000000000000);\n            uint256 staleTox = wdiv(absDiff(spot, staleHat), staleHat);\n            if (staleTox > TOX_CAP) staleTox = TOX_CAP;\n            uint256 staleShift = wmul(STALE_DIR_COEF, staleTox);\n            uint256 attractShift = wmul(staleShift, STALE_ATTRACT_FRAC);\n            if (spot >= staleHat) {\n                bidFee = bidFee + staleShift;\n                askFee = askFee > attractShift ? askFee - attractShift : 0;\n            } else {\n                askFee = askFee + staleShift;\n                bidFee = bidFee > attractShift ? bidFee - attractShift : 0;\n            }\n        }\n\n        {\n            bool tradeAligned = (trade.isBuy && spot >= pHat) || (!trade.isBuy && spot < pHat);\n            if (tradeAligned) {\n                uint256 tradeBoost = wmul(TRADE_TOX_BOOST, tradeRatio);\n                if (trade.isBuy) { bidFee = bidFee + tradeBoost; }\n                else { askFee = askFee + tradeBoost; }\n            }\n        }\n\n        if (sellPressure) {\n            bidFee = clampFee(_compressTailWithSlope(bidFee, TAIL_SLOPE_PROTECT));\n            askFee = clampFee(_compressTailWithSlope(askFee, TAIL_SLOPE_ATTRACT));\n        } else {\n            askFee = clampFee(_compressTailWithSlope(askFee, TAIL_SLOPE_PROTECT));\n            bidFee = clampFee(_compressTailWithSlope(bidFee, TAIL_SLOPE_ATTRACT));\n        }\n\n        slots[0] = bidFee; slots[1] = askFee; slots[2] = (spot << 64) | trade.timestamp;\n        slots[3] = dirState; slots[4] = actEma; slots[5] = pHat;\n        slots[6] = sigmaHat; slots[7] = lambdaHat; slots[8] = sizeHat;\n        slots[9] = toxEma; slots[10] = stepTradeCount;\n\n        return (bidFee, askFee);\n    }\n\n    function _compressTailWithSlope(uint256 fee, uint256 slope) internal pure returns (uint256) {\n        if (fee <= TAIL_KNEE) return fee;\n        return TAIL_KNEE + wmul(fee - TAIL_KNEE, slope);\n    }\n\n    function _powWad(uint256 factor, uint256 exp) internal pure returns (uint256 result) {\n        result = WAD;\n        while (exp > 0) {\n            if (exp & 1 == 1) result = wmul(result, factor);\n            factor = wmul(factor, factor);\n            exp >>= 1;\n        }\n    }\n\n    function _decayCentered(uint256 centered, uint256 decayFactor, uint256 elapsed) internal pure returns (uint256) {\n        uint256 mul = _powWad(decayFactor, elapsed);\n        if (centered >= WAD) { return WAD + wmul(centered - WAD, mul); }\n        uint256 below = wmul(WAD - centered, mul);\n        return below < WAD ? WAD - below : 0;\n    }\n\n    // Floor square root: bit-length seed and seven Newton steps (all uint256).\n    function _isqrt(uint256 x) internal pure returns (uint256 r) {\n        if (x == 0) return 0;\n        unchecked {\n            uint256 y = x;\n            r = 1;\n            if (y >> 128 != 0) { y >>= 128; r <<= 64; }\n            if (y >> 64 != 0) { y >>= 64; r <<= 32; }\n            if (y >> 32 != 0) { y >>= 32; r <<= 16; }\n            if (y >> 16 != 0) { y >>= 16; r <<= 8; }\n            if (y >> 8 != 0) { y >>= 8; r <<= 4; }\n            if (y >> 4 != 0) { y >>= 4; r <<= 2; }\n            if (y >> 2 != 0) { r <<= 1; }\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            uint256 t = x / r;\n            return r < t ? r : t;\n        }\n    }\n\n    function getName() external pure override returns (string memory) { return \"no_cubic\"; }\n}\n","sha256":"610c1905e7dd5559b84e40a3b2d6f8e0b53a7b0ac7574ae33b6c1770a28367cb","v2_sha256":"28417e116f57f1029fdd1803832e852574902c1ae7253c05657f317db76da4ab","paired":{"label":"G_minus_V2","n":256,"mean_diff":0.002904894772038702,"se":0.002857312170046356,"sd":0.0457169947207417,"n_nonzero":5,"max_abs_diff":0.7304987692035638,"worst":[{"seed":10044,"diff":-0.023879557265217954,"edge_a":581.4479025749735,"edge_b":581.4717821322387},{"seed":10057,"diff":-0.0020430751104640876,"edge_a":441.40959048771265,"edge_b":441.4116335628231},{"seed":10000,"diff":0.0,"edge_a":489.4875846678468,"edge_b":489.4875846678468},{"seed":10001,"diff":0.0,"edge_a":552.3376592263003,"edge_b":552.3376592263003},{"seed":10002,"diff":0.0,"edge_a":443.04632640588295,"edge_b":443.04632640588295}],"stage":"diagnostic"},"seeds":{"start":10000,"end_inclusive":10255,"n":256,"excluded":[],"steps_each":10000,"gas_limit":250000,"workers":8,"max_chunk":32,"config":"MatchRunner: default_rng(seed) draws size, rate, sigma; price seed, retail seed+1; independently X vs Vanilla"},"gas":{"max_ok":211186,"init_max":220944,"oog":0,"other_errors":0,"oog_seeds":[],"by_callback":{"afterInitialize":{"calls":256,"ok":256,"max_ok_gas":220944,"sum_ok_gas":56561664,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"afterSwap":{"calls":2644186,"ok":2644186,"max_ok_gas":211186,"sum_ok_gas":259299555384,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"getName":{"calls":256,"ok":256,"max_ok_gas":21557,"sum_ok_gas":5518592,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}}},"v2_gas":{"max_ok":243554,"init_max":236377,"oog":7,"other_errors":0,"oog_seeds":[[10043,2],[10044,1],[10057,1],[10150,2],[10231,1]],"by_callback":{"afterInitialize":{"calls":256,"ok":256,"max_ok_gas":236377,"sum_ok_gas":60512512,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"afterSwap":{"calls":2644187,"ok":2644180,"max_ok_gas":243554,"sum_ok_gas":294618218760,"oog":7,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"getName":{"calls":256,"ok":256,"max_ok_gas":21545,"sum_ok_gas":5515520,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}}},"calibration":{"expected_mean":523.2153137188661,"expected_oog":7,"actual_mean":523.2153137188661,"actual_oog":7,"mean_error":0.0,"pass":true,"G_mean":523.2182186136382},"trace_parity":{"n":16,"seeds":[10000,10015],"exact_scores_and_all_gas_counters":true,"global_counters_equal":true,"disabled_gas":{"by_callback":{"afterInitialize":{"calls":16,"ok":16,"max_ok_gas":220944,"sum_ok_gas":3535104,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"afterSwap":{"calls":163332,"ok":163332,"max_ok_gas":208750,"sum_ok_gas":16024959641,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"getName":{"calls":16,"ok":16,"max_ok_gas":21557,"sum_ok_gas":344912,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}},"max_ok":220944,"oog":0,"other_errors":0,"oog_seeds":[]}},"tables":{"G":{"quote_columns":["phase","rank","quotes","sum_fee_bps","sum_fee_bps_squared","above30","sum_excess30_bps","above36","sum_excess36_bps"],"quotes":[["first","higher",1726796,114306311.278535,11224857016.060684,1634855,62729514.998464,1476443,53378168.842081],["first","lower",1726796,11701815.572179,217045050.534894,17112,65156.090391,3418,14343.113565],["init","higher",256,1024,4096,0,0,0,0],["init","lower",256,1024,4096,0,0,0,0],["later","higher",917390,61720533.130204,6119319263.224415,876934,34292096.129157,795889,29264110.227832],["later","lower",917390,6566670.759453,127840114.926121,14775,64277.3277,3495,17688.63901]],"execution_columns":["quote_phase","engine_kind","quoted_side","final_fee_rank_or_age","trades","volume_y","actual_edge_y","sum_used_bps","sum_used_bps_times_y","sum_quote_age_steps"],"executions":[["all","arb","all","four_plus_steps",15463,43420.677188,-20.895092,841496.516198,2382253.227853,76138],["all","arb","all","one_step",820049,5418863.057488,-7038.370167,66340403.036482,613215557.211331,820049],["all","arb","all","two_three_steps",90050,271338.714019,-138.312748,4819367.845095,14706085.989162,201789],["all","retail","all","four_plus_steps",75305,853335.055387,6956.773078,3101666.864316,35186718.679319,381505],["all","retail","all","one_step",454851,5094284.275829,36383.280255,15488981.300618,174536431.565227,454851],["all","retail","all","same_step",917390,10525244.560095,75384.915508,37189288.286232,447322312.641065,0],["all","retail","all","two_three_steps",271078,3024098.423038,22416.473131,9663029.95213,107870813.275113,625504],["first","arb","ask","higher",249185,1498916.658982,-1711.54279,20906476.948542,174203002.102481,290040],["first","arb","ask","lower",28502,111436.383993,-74.184456,426349.628708,1731125.307386,40395],["first","arb","bid","higher",247107,1480153.131898,-1914.177713,21229579.942491,172940886.425324,287134],["first","arb","bid","lower",29160,112989.77412,-74.457825,437548.7835,1766876.553058,41491],["first","retail","ask","higher",324086,3642488.333837,18538.961632,20670853.973702,240673550.65768,232060],["first","retail","ask","lower",260667,2966794.567517,28174.465487,2233198.87355,25022725.863375,201307],["first","retail","bid","higher",324963,3652411.297144,19346.737794,21087642.526411,247283738.398322,237046],["first","retail","bid","lower",262984,2973909.739922,27946.880538,2248765.848962,24953376.521211,199783],["init","arb","ask","tied",101,369.125503,-0.211739,404,1476.502013,119],["init","arb","bid","tied",103,336.389159,-0.173651,412,1345.556634,120],["init","retail","ask","tied",24,380.712369,1.445367,96,1522.849475,33],["init","retail","bid","tied",28,323.669735,0.608509,112,1294.678939,34],["later","arb","ask","higher",171327,1226854.907758,-1798.037783,14275730.581668,144493112.784267,197667],["later","arb","ask","lower",15459,62529.540658,-43.827672,249734.227461,1046642.78887,22819],["later","arb","bid","higher",168923,1177664.618089,-1537.210074,14220897.035297,133064988.011601,195037],["later","arb","bid","lower",15695,62371.918534,-43.754305,254134.250109,1054440.396712,23154],["later","retail","ask","higher",139854,1613586.605459,9222.117724,8335721.987319,98876811.104239,155845],["later","retail","ask","lower",133137,1526073.627946,14065.863994,1218560.102663,14337429.051665,139253],["later","retail","bid","higher",139502,1602821.164054,9403.800326,8428845.555498,99696215.333864,157079],["later","retail","bid","lower",133379,1518172.596368,14440.560601,1219169.535191,14069611.701953,139420]],"next_columns":["quote_phase","age_bucket","next_engine_kind","quotes","sum_age_steps","sum_intervening_empty_steps","next_volume_y"],"next":[["first","four_plus_steps","arb",9278,45401,36123,26107.801081],["first","four_plus_steps","retail",43556,218735,175179,488532.232427],["first","one_step","arb",488918,488918,0,3008596.044674],["first","one_step","retail",276824,276824,0,3068338.977898],["first","same_step","retail",689819,0,0,7891436.175751],["first","two_three_steps","arb",55758,124741,68983,168792.103237],["first","two_three_steps","retail",162501,374637,212136,1787296.552344],["first","unconsumed","none",142,0,0,0],["init","one_step","arb",174,174,0,582.39392],["init","one_step","retail",39,39,0,477.54325],["init","two_three_steps","arb",30,65,35,123.120742],["init","two_three_steps","retail",13,28,15,226.838853],["init","unconsumed","none",0,0,0,0],["later","four_plus_steps","arb",6185,30737,24552,17312.876106],["later","four_plus_steps","retail",31749,162770,131021,364802.82296],["later","one_step","arb",330957,330957,0,2409684.618894],["later","one_step","retail",177988,177988,0,2025467.754681],["later","same_step","retail",227571,0,0,2633808.384344],["later","two_three_steps","arb",34262,76983,42721,102423.49004],["later","two_three_steps","retail",108564,250839,142275,1236575.031841],["later","unconsumed","none",114,0,0,0]],"cap_columns":["eligible_quotes","changed_quotes","sum_cut_bps","sum_cut_bps_squared"],"fee_hist_bins_bps":[0,10,20,30,36,50,75,100,200,600,1000.00001],"fee_hist_axes":["init/first/later","lower/higher","bins"],"fee_hist":[[[256,0,0,0,0,0,0,0,0,0],[256,0,0,0,0,0,0,0,0,0]],[[1190779,319131,199774,13694,3281,131,5,1,0,0],[0,50,91891,158412,435969,606292,238739,166522,27663,1258]],[[621745,166826,114044,11280,3242,244,9,0,0,0],[0,11,40445,81045,227553,330770,127951,93736,15193,686]]],"original_distributions":{"tradeBoost/first":{"n":1726796,"mean":1.590338,"quantiles":[0,0,0.928071,4.127703,9.012366,700]},"staleTox/first":{"n":1726796,"mean":50.480203,"quantiles":[6.1e-05,8.018905,38.71468,98.33926,268.35772,2000]},"tradeAligned/first":{"n":1726796,"mean":0.702534,"quantiles":[0,0,1,1,1,1]},"tradeBoost/later":{"n":917390,"mean":1.169672,"quantiles":[0,0,0,3.616095,10.234501,93.654452]},"staleTox/later":{"n":917390,"mean":50.938608,"quantiles":[0.000132,7.944675,39.602679,99.248634,260.97529,2000]},"tradeAligned/later":{"n":917390,"mean":0.445655,"quantiles":[0,0,0,1,1,1]}},"engine_first":{"arb":925562,"retail":801234,"solidity_first_mismatch":0},"max_abs_trace_reconciliation":0.0},"per_seed_G":{"row_order":"seed = 10000 + row index; all 256 seeds, no exclusions","row_schema":"[ [lower_fee_hist_counts,higher_fee_hist_counts], [executed_trades,arithmetic_mean_used_fee_bps,volume_y_weighted_mean_used_fee_bps,total_executed_volume_y] ]","histogram_denominator":"successful afterSwap callbacks plus one initialization quote per seed, for each rank; includes final unconsumed quote","summary_precision":"means and total volume rounded to 0.001; all counts exact; unrounded totals in aggregate tables","encoding":"base64(gzip(UTF-8 JSON))","data":"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"},"lower_fee_cap_activation":{"first30":{"eligible_callback_quotes":1726796,"changed_quotes":17112,"changed_fraction":0.009909682440774706,"mean_cut_over_eligible_bps":0.037732361200274005,"mean_cut_when_changed_bps":3.8076256656842187,"sum_cut_bps":65156.09039118835,"not_counterfactual_profit":true},"all36":{"eligible_callback_quotes":2644186,"changed_quotes":6913,"changed_fraction":0.0026144151735165377,"mean_cut_over_eligible_bps":0.012114031530101202,"mean_cut_when_changed_bps":4.633553099298738,"sum_cut_bps":32031.752575452174,"not_counterfactual_profit":true}},"actual_retail_arb_deltas":{"per_seed_mean_deltas":{"total":{"n":256,"mean":0.002904895,"se":0.002857312,"sd":0.045716995},"retail":{"n":256,"mean":-0.00032599,"se":0.0002867,"sd":0.004587192},"arb":{"n":256,"mean":0.003230885,"se":0.003120586,"sd":0.049929383}},"columns":["quote_phase","engine_kind","quoted_side","G_trades","V2_trades","G_volume_y","V2_volume_y","G_actual_edge_y","V2_actual_edge_y","edge_delta_y_sum"],"rows":[["first","arb","ask",277687,277693,1610353.042974953,1610368.879908188,-1785.727246418,-1785.734969285,0.007722867],["first","arb","bid",276267,276263,1593142.906018056,1593098.47101369,-1988.63553714,-1988.579947858,-0.055589282],["first","retail","ask",584753,584750,6609282.901354359,6609285.769906811,46713.427119002,46713.395361645,0.031757358],["first","retail","bid",587947,587943,6626321.037065567,6626303.935367695,47293.618332015,47293.63384124,-0.015509225],["init","arb","ask",101,102,369.125503259,376.413460229,-0.211738803,-0.217056649,0.005317846],["init","arb","bid",103,106,336.389158543,455.332773761,-0.173651018,-1.095635339,0.921984322],["init","retail","ask",24,26,380.712368785,382.909822665,1.445366595,1.454940249,-0.009573654],["init","retail","bid",28,29,323.669734631,326.716110007,0.608509418,0.609438224,-0.000928805],["later","arb","ask",186786,186785,1289384.448416324,1289372.578115787,-1841.865454743,-1841.844398285,-0.021056458],["later","arb","bid",184618,184614,1240036.536623792,1240003.346506499,-1580.964378569,-1580.933105857,-0.031272713],["later","retail","ask",272991,272994,3139660.233404238,3139684.413417735,23287.981717998,23288.013669434,-0.031951436],["later","retail","bid",272881,272882,3120993.760421706,3121006.957761618,23844.360926753,23844.41817451,-0.057247758]]},"V2_volume_terciles":{"retail_volume_y":[{"tercile":"low","n":86,"V2_volume_y_range":[57146.525064968,70606.564685011],"V2_volume_y_mean":64427.690148025,"deltas":{"total":{"n":86,"mean":-2.3757e-05,"se":2.3757e-05,"sd":0.00022031},"retail":{"n":86,"mean":-5.1484e-05,"se":5.1484e-05,"sd":0.000477443},"arb":{"n":86,"mean":2.7727e-05,"se":2.7727e-05,"sd":0.000257133}}},{"tercile":"middle","n":85,"V2_volume_y_range":[70782.872201072,82121.659767065],"V2_volume_y_mean":76542.5087156,"deltas":{"total":{"n":85,"mean":0.008927534,"se":0.008596602,"sd":0.07925675},"retail":{"n":85,"mean":-0.000738577,"se":0.000804954,"sd":0.007421312},"arb":{"n":85,"mean":0.009666111,"se":0.009396495,"sd":0.086631407}}},{"tercile":"high","n":85,"V2_volume_y_range":[82281.648746427,98205.472087254],"V2_volume_y_mean":87648.189515651,"deltas":{"total":{"n":85,"mean":-0.000154638,"se":0.000309388,"sd":0.002852416},"retail":{"n":85,"mean":-0.000191139,"se":0.000312564,"sd":0.002881696},"arb":{"n":85,"mean":3.6501e-05,"se":2.6715e-05,"sd":0.000246304}}}],"total_executed_volume_y":[{"tercile":"low","n":86,"V2_volume_y_range":[75400.624753505,92045.358201865],"V2_volume_y_mean":85264.322720157,"deltas":{"total":{"n":86,"mean":-2.3757e-05,"se":2.3757e-05,"sd":0.00022031},"retail":{"n":86,"mean":-5.1484e-05,"se":5.1484e-05,"sd":0.000477443},"arb":{"n":86,"mean":2.7727e-05,"se":2.7727e-05,"sd":0.000257133}}},{"tercile":"middle","n":85,"V2_volume_y_range":[92160.972073455,104991.90276639],"V2_volume_y_mean":99147.23098859,"deltas":{"total":{"n":85,"mean":0.008927534,"se":0.008596602,"sd":0.07925675},"retail":{"n":85,"mean":-0.000738577,"se":0.000804954,"sd":0.007421312},"arb":{"n":85,"mean":0.009666111,"se":0.009396495,"sd":0.086631407}}},{"tercile":"high","n":85,"V2_volume_y_range":[105258.569029414,124866.477666303],"V2_volume_y_mean":111416.698072953,"deltas":{"total":{"n":85,"mean":-0.000154638,"se":0.000309388,"sd":0.002852416},"retail":{"n":85,"mean":-0.000191139,"se":0.000312564,"sd":0.002881696},"arb":{"n":85,"mean":3.6501e-05,"se":2.6715e-05,"sd":0.000246304}}}]}},"definitions":{"quote":"one returned, clamped bid/ask pair per successful callback; init kept separately; OOG retains old quote, no new quote","phase":"source quote from Solidity firstInStep vs later callback, not engine trader label; first retail is possible","rank":"final clamped lower/higher side, recomputed for each quote; ties explicitly separate for executions","used_fee":"bid if AMM buys X, ask if AMM sells X; executions arithmetic mean=sum_used_bps/trades; volume mean=sum_used_bps_times_y/volume_y","actual_edge":"engine true-price cashflow: buys X => amountX*fairPrice-amountY; sells => amountY-amountX*fairPrice; arb equals negative actual arbitrage profit. No fee*volume edge proxy. Host only.","next":"first execution using each quote; unconsumed includes end-of-run quote. Execution table includes all executions, including reused quotes after failed callbacks.","age":"execution timestamp minus source callback timestamp; init assigned -1. same_step=0, one_step=1, two_three_steps=2..3, four_plus_steps>=4. sum_intervening_empty_steps=max(age-1,0) until first use; initialization gap is relative to -1.","histograms":"left-closed right-open fee bins in bps, last edge 1000.00001 includes max1000; per-seed columns sum to quotes; all G quotes accounted for","distribution":"original tradeBoost actually added before compression, including zero when unaligned; staleTox price ratio converted to bps. Successful callbacks only. Quantiles=min,p10,p50,p90,p99,max; tradeAligned is a 0/1 indicator. Host reproduces exact integer arithmetic from post-call storage.","precision":"aggregate tables rounded to 6 decimals; actual deltas and terciles 9; paired/calibration and gas exact as serialized","attribution":"phase/side delta compares different realized trade populations in independent markets; not a fixed-order counterfactual"},"interpretation":["Calibration matches exactly. G has 0 OOG vs V2 7, no other failures. Its paired diagnostic gain is tiny relative to its SE, not evidence for a new economic rule or a board improvement.","Only five seeds have nonzero G-minus-V2 edge; these are exactly the five V2 OOG seeds. The observed differences are consistent with eliminating halts; 251 seeds are bit-identical in total edge.","The 30bps first-call cap changes about 0.991% of eligible quotes; the 36bps all-call cap changes about 0.261%. Mean cuts among changed quotes are only a few bps. No capped strategy was simulated.","A first callback is not synonymous with arbitrage: 801234 of 1726796 first prints are retail. Both first and later quotes can persist across empty steps and next serve arb or retail. Same-step next executions are retail.","Final lower fees usually lie below either cap. tradeBoost is usually small; staleTox shifts the sides asymmetrically."],"source_patch_script":{"encoding":"base64(gzip(UTF-8 JSON))","data":"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","files":["audit.py","trace_tests.py","harness.patch","instrumentation.patch"],"sha256_uncompressed_json":"a7a9dda89555fa87e060e5f3b18dbdfaeb5c07ae4946834baef3e60697d8ed29"},"reproduce":["Use pinned simulator commit 6b6921f8d463314aa7c96234e1be25a25245f704. Decode setup.sh, harness.py, tests.py and V2.sol from input artifact reusable_sources_bundle into scratch/ (V2.sol into contracts/src/). Decode source_patch_script JSON into scratch/. Save result.code as contracts/src/G.sol.","sh scratch/setup.sh (once); . scratch/env.sh && git apply scratch/instrumentation.patch scratch/harness.patch; . scratch/env.sh && maturin develop --release --uv --manifest-path amm_sim_rs/Cargo.toml",". scratch/env.sh && python scratch/tests.py; . scratch/env.sh && python scratch/trace_tests.py; . scratch/env.sh && amm-match validate contracts/src/G.sol; . scratch/env.sh && amm-match validate contracts/src/V2.sol",". scratch/env.sh && python scratch/audit.py; script writes local compact measurements, not raw events. Each run_batch contains exactly one candidate and Vanilla, 8 workers, chunks32."],"checks":{"harness":{"matchrunner_equal_10000_10031":true,"far_block_len":4,"far_block_seconds":0.0001,"allocation_scales_with_n":true,"far_seed_equals_single":true,"validity_cases":{"cand_oog_equal_v2_valid":true,"cand_oog_less_valid":true,"cand_oog_more_invalid":true,"v2_oog_alone_not_invalid":true,"revert_invalid":true,"ref_revert_invalid":true,"vanilla_oog_invalid":true,"vanilla_other_invalid":true,"incomplete_invalid":true,"counter_mismatch_invalid":true,"reconciliation_threshold_invalid":true,"control_oog_match_valid":true,"control_oog_mismatch_invalid":true},"all_pass":true},"trace_synthetic":{"synthetic_trace_tests":true,"cases":["retail_first","same_step_retail","empty_steps","failed_callback_keeps_quote","first30","all36","actual_edge_reconciliation"]},"G_validate":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!","V2_validate":"Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!","valid":true,"invalid_reasons":[],"per_seed_global_counters_match":{"G":true,"V2":true},"max_abs_retail_arb_total_reconciliation":7.673861546209082e-12,"trace_volume_edge_reconciliation_max":{"G":6.984919309616089e-10,"V2":6.984919309616089e-10},"Vanilla":{"G":{"by_callback":{"afterInitialize":{"calls":256,"ok":256,"max_ok_gas":21796,"sum_ok_gas":5579776,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"afterSwap":{"calls":2749682,"ok":2749682,"max_ok_gas":22592,"sum_ok_gas":62040909928,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"getName":{"calls":256,"ok":256,"max_ok_gas":21526,"sum_ok_gas":5510656,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}},"max_ok":22592,"oog":0,"other_errors":0,"oog_seeds":[]},"V2":{"by_callback":{"afterInitialize":{"calls":256,"ok":256,"max_ok_gas":21796,"sum_ok_gas":5579776,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"afterSwap":{"calls":2749671,"ok":2749671,"max_ok_gas":22592,"sum_ok_gas":62040662676,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"getName":{"calls":256,"ok":256,"max_ok_gas":21526,"sum_ok_gas":5510656,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}},"max_ok":22592,"oog":0,"other_errors":0,"oog_seeds":[]}},"source_commit":"6b6921f8d463314aa7c96234e1be25a25245f704","new_policy_tuning_holdout_runs":0,"patch_replay_exact":true},"blocked":null}