Add Rfq/Limit distinction
This commit is contained in:
parent
cf71272c10
commit
dbe40249b5
@ -1,3 +1,4 @@
|
||||
import pdb
|
||||
from typing import Optional, List
|
||||
from mev_inspect.schemas.transfers import Transfer
|
||||
from mev_inspect.schemas.swaps import Swap
|
||||
@ -20,32 +21,40 @@ class ZeroExSwapClassifier(SwapClassifier):
|
||||
) -> Optional[Swap]:
|
||||
|
||||
token_in_amount: int = 0
|
||||
taker_address: str
|
||||
taker_address: str = ""
|
||||
|
||||
order: List = trace.inputs["order"]
|
||||
|
||||
if "taker" in trace.inputs:
|
||||
taker_address = trace.inputs["taker"]
|
||||
else:
|
||||
taker_address = order[5]
|
||||
|
||||
token_in_address: str = order[0]
|
||||
token_out_address: str = order[1]
|
||||
|
||||
token_out_amount: int = trace.inputs["takerTokenFillAmount"]
|
||||
if "Rfq" in trace.function_signature:
|
||||
|
||||
pool_address = trace.to_address
|
||||
taker_address = order[5]
|
||||
|
||||
elif "Limit" in trace.function_signature:
|
||||
|
||||
taker_address = order[6]
|
||||
|
||||
else:
|
||||
|
||||
raise NotImplementedError
|
||||
|
||||
token_out_amount = trace.inputs["takerTokenFillAmount"]
|
||||
contract_address = trace.to_address
|
||||
|
||||
for transfer in child_transfers:
|
||||
if transfer.to_address == taker_address:
|
||||
token_in_amount = transfer.amount
|
||||
|
||||
pdb.set_trace()
|
||||
|
||||
return Swap(
|
||||
abi_name=trace.abi_name,
|
||||
transaction_hash=trace.transaction_hash,
|
||||
block_number=trace.block_number,
|
||||
trace_address=trace.trace_address,
|
||||
pool_address=pool_address,
|
||||
contract_address=contract_address,
|
||||
protocol=trace.protocol,
|
||||
from_address=trace.from_address,
|
||||
to_address=trace.to_address,
|
||||
|
Loading…
x
Reference in New Issue
Block a user