Exemple #1
0
        public override void RevertEffect()
        {
            MarkAsProcessed();

            var decodedId = OrderIdConverter.Decode(Effect.OrderId);

            if (decodedId.Side == OrderSide.Buy)
            {
                Effect.AccountWrapper.Account.GetBalance(0).UpdateLiabilities(Effect.QuoteAmount);
            }
            else
            {
                Effect.AccountWrapper.Account.GetBalance(decodedId.Asset).UpdateLiabilities(Effect.Amount);
            }

            var order = new Order
            {
                OrderId        = Effect.OrderId,
                Amount         = Effect.Amount,
                QuoteAmount    = Effect.QuoteAmount,
                Price          = Effect.Price,
                AccountWrapper = Effect.AccountWrapper
            };

            orderbook.InsertOrder(order);
        }
Exemple #2
0
        public override void CommitEffect()
        {
            MarkAsProcessed();

            //lock order reserve
            var decodedId = OrderIdConverter.Decode(order.OrderId);

            if (decodedId.Side == OrderSide.Buy)
            {
                order.AccountWrapper.Account.GetBalance(0).UpdateLiabilities(order.QuoteAmount);
            }
            else
            {
                order.AccountWrapper.Account.GetBalance(decodedId.Asset).UpdateLiabilities(order.Amount);
            }

            //add order to the orderbook
            orderBook.InsertOrder(order);
        }