If an unmatched market order is placed, the address involved must be deducted the amount immediately. If a market order is filled or expired, balances must be similarly adjusted.
XChain doesn’t have the logic to calculate these adjustments so it must rely on Counterparty Server. But Counterparty Server can lag behind XChain by several seconds. XChain needs to queue a balance update check to Counterparty Server when it sees a counterparty transaction that is not a send or receive.
Since Counterparty Server lags behind XChain by a few seconds, this check needs to ensure the current block height is reached. If the balance update check detects that Counterparty Server is lagging behind XChain, the check needs to go back into the queue, wait a few seconds and then try again.
If an unmatched market order is placed, the address involved must be deducted the amount immediately. If a market order is filled or expired, balances must be similarly adjusted.
XChain doesn’t have the logic to calculate these adjustments so it must rely on Counterparty Server. But Counterparty Server can lag behind XChain by several seconds. XChain needs to queue a balance update check to Counterparty Server when it sees a counterparty transaction that is not a send or receive.
Since Counterparty Server lags behind XChain by a few seconds, this check needs to ensure the current block height is reached. If the balance update check detects that Counterparty Server is lagging behind XChain, the check needs to go back into the queue, wait a few seconds and then try again.