Filled status fix
This commit is contained in:
@@ -106,6 +106,7 @@ class Order:
|
|||||||
# flattenings of various static data
|
# flattenings of various static data
|
||||||
self.order = self.status.order
|
self.order = self.status.order
|
||||||
self.amount = self.status.order.amount
|
self.amount = self.status.order.amount
|
||||||
|
self.min_fill_amount = self.status.order.minFillAmount
|
||||||
self.amount_is_input = self.status.order.amountIsInput
|
self.amount_is_input = self.status.order.amountIsInput
|
||||||
self.tranche_amounts = [t.fraction_of(self.amount) for t in self.order.tranches]
|
self.tranche_amounts = [t.fraction_of(self.amount) for t in self.order.tranches]
|
||||||
Order.instances[self.key] = self
|
Order.instances[self.key] = self
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ class TrancheTrigger:
|
|||||||
self.pool_price_multiplier = None
|
self.pool_price_multiplier = None
|
||||||
|
|
||||||
# compute status and set relevant triggers
|
# compute status and set relevant triggers
|
||||||
if tranche_remaining <= 0:
|
if tranche_remaining == 0 or tranche_remaining < self.order.min_fill_amount: # min_fill_amount could be 0 (disabled) so we also check for the 0 case separately
|
||||||
self.status = TrancheStatus.Filled
|
self.status = TrancheStatus.Filled
|
||||||
return
|
return
|
||||||
timestamp = current_block.get().timestamp
|
timestamp = current_block.get().timestamp
|
||||||
@@ -164,7 +164,7 @@ class TrancheTrigger:
|
|||||||
|
|
||||||
def fill(self, _amount_in, _amount_out ):
|
def fill(self, _amount_in, _amount_out ):
|
||||||
remaining = self.order.tranche_remaining(self.tk.tranche_index)
|
remaining = self.order.tranche_remaining(self.tk.tranche_index)
|
||||||
filled = remaining <= 0
|
filled = remaining == 0 or remaining < self.order.min_fill_amount
|
||||||
if filled:
|
if filled:
|
||||||
log.debug(f'tranche filled {self.tk}')
|
log.debug(f'tranche filled {self.tk}')
|
||||||
self.status = TrancheStatus.Filled
|
self.status = TrancheStatus.Filled
|
||||||
|
|||||||
Reference in New Issue
Block a user