Filled status fix

This commit is contained in:
Tim Olson
2023-12-08 16:19:35 -04:00
parent a69b52d93a
commit b1a16ccda2
2 changed files with 3 additions and 2 deletions

View File

@@ -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

View File

@@ -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