fillFeeBP in SwapOrderStatus

This commit is contained in:
7400
2024-01-30 18:56:23 -08:00
parent 878679c9d5
commit bfcd87e9b0

View File

@@ -75,6 +75,7 @@ SwapOrder
@dataclass
class SwapStatus:
# this is an elaborated version of the on-chain status
fillFeeBP: int
state: SwapOrderState
start: int
ocoGroup: Optional[int]
@@ -96,37 +97,40 @@ class SwapOrderStatus(SwapStatus):
@staticmethod
def load(obj):
order = SwapOrder.load(obj[0])
state = SwapOrderState(obj[1])
start = obj[2]
ocoGroup = None if obj[3] == NO_OCO else obj[3]
filledIn = int(obj[4])
filledOut = int(obj[5])
trancheFilledIn = [int(f) for f in obj[6]]
trancheFilledOut = [int(f) for f in obj[7]]
return SwapOrderStatus(order, state, start, ocoGroup, filledIn, filledOut, trancheFilledIn, trancheFilledOut)
fillFeeBP = int(obj[1])
state = SwapOrderState(obj[2])
start = obj[3]
ocoGroup = None if obj[4] == NO_OCO else obj[4]
filledIn = int(obj[5])
filledOut = int(obj[6])
trancheFilledIn = [int(f) for f in obj[7]]
trancheFilledOut = [int(f) for f in obj[8]]
return SwapOrderStatus(order, fillFeeBP, state, start, ocoGroup, filledIn, filledOut, trancheFilledIn, trancheFilledOut)
@staticmethod
def load_from_chain(obj):
# 0 SwapOrder order;
# 1 bool canceled;
# 2 uint32 start;
# 3 uint64 ocoGroup;
# 4 uint256 filled; // total
# 5 uint256[] trancheFilled; // sum(trancheFilled) == filled
# 1 int fillFeeBP
# 2 bool canceled;
# 3 uint32 start;
# 4 uint64 ocoGroup;
# 5 uint256 filled; // total
# 6 uint256[] trancheFilled; // sum(trancheFilled) == filled
order = SwapOrder.load(obj[0])
state = SwapOrderState.Canceled if obj[1] else SwapOrderState.Open
start = obj[2]
ocoGroup = None if obj[3] == NO_OCO else obj[3]
fillFeeBP = obj[1]
state = SwapOrderState.Canceled if obj[2] else SwapOrderState.Open
start = obj[3]
ocoGroup = None if obj[4] == NO_OCO else obj[4]
# we ignore any fill values from the on-chain struct, because we will subsequently detect the DexorderSwapFilled events and add them in
filledIn = 0
filledOut = 0
trancheFilledIn = [0 for _ in range(len(obj[5]))]
trancheFilledOut = [0 for _ in range(len(obj[5]))]
return SwapOrderStatus(order, state, start, ocoGroup, filledIn, filledOut, trancheFilledIn, trancheFilledOut)
trancheFilledIn = [0 for _ in range(len(obj[6]))]
trancheFilledOut = [0 for _ in range(len(obj[6]))]
return SwapOrderStatus(order, fillFeeBP, state, start, ocoGroup, filledIn, filledOut, trancheFilledIn, trancheFilledOut)
def dump(self):
return (self.order.dump(), self.state.value, self.start, self.ocoGroup,
return (self.order.dump(), self.fillFeeBP, self.state.value, self.start, self.ocoGroup,
str(self.filledIn), str(self.filledOut),
[str(f) for f in self.trancheFilledIn], [str(f) for f in self.trancheFilledOut])