{"sources":[{"url":"https://api.imd.fun/artifacts/1f4f14f040b309e004904672ec6e2bb051f97b8d1195602d36b35a54c05d6c0f","quote":"contract Strategy is AMMStrategyBase {"},{"url":"https://api.imd.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de","quote":"For gross Y order T, f_i=askFee_i; Y1=clamp((r*(y2+g2*T)-y1)/(g1+r*g2),0,T); Y2=T-Y1; our input share=Y1/T."},{"url":"https://api.imd.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de","quote":"q=(sqrt(k*gb/p)-x)/gb, require q>0. Yout=y-k/(x+gb*q). Profit=Yout-p*q. Execute AMM buy X if profit>0."},{"url":"https://api.imd.fun/artifacts/02c134d9ed51858f06d02b6dec25e6922016490f11e3a8174af512a6a77b6569","quote":"The engine swallows afterSwap errors and keeps the previous fees (cfmm.rs update_fees), so edges are still produced; without the counters these OOGs would go unseen."},{"url":"https://api.imd.fun/artifacts/f5de2d1e4002e37761d90e15463ba72b437ee3a948eb8d142f18f0f7740d92a1","quote":"The leaders use a different fee rule, and designing one is the first task for the next run."}]}