## Notes Pre-swap block: https://www.mintscan.io/osmosis/blocks/9465039 Swap block: https://www.mintscan.io/osmosis/blocks/9465040 Tx in question: https://www.mintscan.io/osmosis/txs/E054F4F363113C6006C82BD7A899C48D454E419C5EED15CBF859F7D60718E99C Swaps in: 3000000 UUSDC Gets out: 10944266 UQCK Swap route is pools 678 > 952 678 is USDC <> OSMO https://info.osmosis.zone/pool/678 * osmo10venxtvdglryxkdmvjr8wa6n3ugja40rewddlxtg0pr30vmkf47sllgslg 952 is QCK <> OSMO https://info.osmosis.zone/pool/952 * osmo1k3j5wgcj8um2gnu8qxdm0mzzuh6x66p4p7gn6fraf3wnpfcvg9sq2zhx7j ## Balances Block 9465039 ### Pool 679 ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo10venxtvdglryxkdmvjr8wa6n3ugja40rewddlxtg0pr30vmkf47sllgslg --height 9465039 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "7838673705736" denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 - amount: "10651596226854" denom: uosmo pagination: next_key: null total: "0" ``` ### Pool 952 ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo1k3j5wgcj8um2gnu8qxdm0mzzuh6x66p4p7gn6fraf3wnpfcvg9sq2zhx7j --height 9465039 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "658986900132" denom: ibc/635CB83EF1DFE598B10A3E90485306FD0D47D34217A4BE5FD9977FA010A5367D - amount: "329923796412352352" denom: ibc/BB936517F7E5D77A63E0ADB05217A6608B0C4CF8FBA7EA2F4BAE4107A7238F06 - amount: "273612" denom: ibc/EB7FB9C8B425F289B63703413327C2051030E848CE4EAAEA2E51199D6D39D3EC - amount: "244231522381" denom: uosmo ``` ### Swap Account ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo100ywfax95u9c6mndxzuqkq2fdkv7f6pqmsnhke --height 9465039 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "4914" denom: ibc/0EF15DF2F02480ADE0BB6E85D9EBB5DAEA2836D3860E9F97F9AADE4F57A31AA0 - amount: "16774695" denom: ibc/42D24879D4569CE6477B7E88206ADBFE47C222C6CAD51A54083E4A72594269FC - amount: "945474" denom: ibc/635CB83EF1DFE598B10A3E90485306FD0D47D34217A4BE5FD9977FA010A5367D - amount: "38966102900929795331" denom: ibc/6AE98883D4D5D5FF9E50D7130F1305DA2FFA0C652D1DD9C123657C6B4EB2DF8A - amount: "4631895" denom: ibc/A8CA5EE328FA10C9519DF6057DA1F69682D28F7D0F5CCC7ECB72E3DCA2D157A4 - amount: "10362158" denom: ibc/BB6BCDB515050BAE97516111873CCD7BCF1FD0CCB723CC12F3C4F704D6C646CE - amount: "250421" denom: ibc/C140AFD542AE77BD7DCC83F13FDD8C5E5BB8C4929785E6EC2F4C636F98F17901 - amount: "6008939" denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 - amount: "294000000000000000" denom: ibc/D38BB3DD46864694F009AF01DA5A815B3A875F8CC52FF5679BFFCC35DC7451D5 - amount: "263446152" denom: ibc/EDD6F0D66BCD49C1084FB2C35353B4ACD7B9191117CE63671B61320548F7C89D - amount: "1285640" denom: ibc/FA602364BEC305A696CBDF987058E99D8B479F0318E47314C49173E8838C5BAC - amount: "68860" denom: uosmo ``` ## Balances Block 9465040 ### Pool 679 ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo10venxtvdglryxkdmvjr8wa6n3ugja40rewddlxtg0pr30vmkf47sllgslg --height 9465040 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "7838677443678" denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 - amount: "10651591157707" denom: uosmo pagination: next_key: null total: "0" ``` ### Pool 952 ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo1k3j5wgcj8um2gnu8qxdm0mzzuh6x66p4p7gn6fraf3wnpfcvg9sq2zhx7j --height 9465040 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "658975955866" denom: ibc/635CB83EF1DFE598B10A3E90485306FD0D47D34217A4BE5FD9977FA010A5367D - amount: "329923796412352352" denom: ibc/BB936517F7E5D77A63E0ADB05217A6608B0C4CF8FBA7EA2F4BAE4107A7238F06 - amount: "273612" denom: ibc/EB7FB9C8B425F289B63703413327C2051030E848CE4EAAEA2E51199D6D39D3EC - amount: "244235590781" denom: uosmo pagination: next_key: null total: "0" ``` ### Swap Account ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo100ywfax95u9c6mndxzuqkq2fdkv7f6pqmsnhke --height 9465040 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "4914" denom: ibc/0EF15DF2F02480ADE0BB6E85D9EBB5DAEA2836D3860E9F97F9AADE4F57A31AA0 - amount: "16774695" denom: ibc/42D24879D4569CE6477B7E88206ADBFE47C222C6CAD51A54083E4A72594269FC - amount: "11889740" denom: ibc/635CB83EF1DFE598B10A3E90485306FD0D47D34217A4BE5FD9977FA010A5367D - amount: "38966102900929795331" denom: ibc/6AE98883D4D5D5FF9E50D7130F1305DA2FFA0C652D1DD9C123657C6B4EB2DF8A - amount: "4631895" denom: ibc/A8CA5EE328FA10C9519DF6057DA1F69682D28F7D0F5CCC7ECB72E3DCA2D157A4 - amount: "10362158" denom: ibc/BB6BCDB515050BAE97516111873CCD7BCF1FD0CCB723CC12F3C4F704D6C646CE - amount: "250421" denom: ibc/C140AFD542AE77BD7DCC83F13FDD8C5E5BB8C4929785E6EC2F4C636F98F17901 - amount: "3008939" denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 - amount: "294000000000000000" denom: ibc/D38BB3DD46864694F009AF01DA5A815B3A875F8CC52FF5679BFFCC35DC7451D5 - amount: "263446152" denom: ibc/EDD6F0D66BCD49C1084FB2C35353B4ACD7B9191117CE63671B61320548F7C89D - amount: "1285640" denom: ibc/FA602364BEC305A696CBDF987058E99D8B479F0318E47314C49173E8838C5BAC - amount: "67610" denom: uosmo ``` Pool 678 Diffs: * 7838677443678 - 7838673705736 = 3737942 (uusdc) * 10651591157707 - 10651596226854 = -5069147 (uosmo) Pool 952 Diffs * 658975955866 - 658986900132 = -10944266 (uqck) * 244235590781 - 244231522381 = 4068400 (uosmo) Account Diffs: * 3008939 - 6008939 = -3000000 (uusdc) * 11889740 - 945474 = 10944266 (uqck) This means we have unaccounted for: * 737942 (uusdc) * -1000747 (uosmo) Protorev Diffs: * 45356704350 - 45356703603 = 747 (uosmo) ## What happened Protorev backran the following tx in the same block: https://www.mintscan.io/osmosis/txs/A8D2BD0349DDCDBF975011E242AA791154C4D761FAE27AF76E2555C02ECAE90D This: * minted 1000000 uosmo * used pool 678 as the final swap route * profited 747 uosmo * burned 1000000 uosmo Protorev account pre swap ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo17qdmjdumw4xawam4g46gtwzle5rd4zwyfqvvza --height 9465039 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "794360948" denom: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 - amount: "2887794603" denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 - amount: "45356703603" denom: uosmo ``` Protorev account post swap ``` czar@Adams-MacBook-Pro ~ % osmosisd q bank balances osmo17qdmjdumw4xawam4g46gtwzle5rd4zwyfqvvza --height 9465040 --node https://rpc-osmosis-ia.cosmosia.notional.ventures:443 balances: - amount: "794360948" denom: ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2 - amount: "2887794603" denom: ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858 - amount: "45356704350" denom: uosmo ``` This can be validated utilizing the following python script: ``` import base64 import httpx def txs(block_height: int | None = None) -> dict | None: page = 1 page_total = 1 # Loop through each page of txs while page <= page_total: headers: dict = {"Content-Type": "application/json"} json_data: dict = {"method": "tx_search", "params": [ f"tx.height={block_height}", False, f"{page}", "100", "asc" ], "id": 1} if page == 1: txs_resp = httpx.post(url="http://65.109.20.216:26657/", json=json_data, headers=headers, timeout=60) txs = txs_resp.json() if page > 1: txs_extend_resp: dict = httpx.post(url="http://65.109.20.216:26657/", json=json_data, headers=headers, timeout=60) txs_extend = txs_extend_resp.json() txs["txs"].extend(txs_extend["txs"]) page += 1 return txs txs = txs(block_height=9465040) for tx in txs['result']['txs']: events = tx['tx_result']['events'] for _, event in enumerate(events): if event['type'] == 'protorev_backrun': print(event['type']) for attribute in event['attributes']: attribute['key'] = base64.b64decode( attribute['key']).decode('utf-8') attribute['value'] = base64.b64decode( attribute['value']).decode('utf-8') print(attribute['key'], attribute['value']) else: continue ```