public async Task <AccountDataModel> GetAccountData(bool waitForFinalize = true) { var response = (CentaurusResponse)await connection.SendMessage(new AccountDataRequest().CreateEnvelope()); var data = await(waitForFinalize ? response.ResponseTask : response.AcknowledgmentTask); var rawMessage = (AccountDataResponse)data.Message; var balances = rawMessage.Balances.Select(x => BalanceModel.FromBalance(x, constellation)).ToDictionary(k => k.AssetId, v => v); var orders = rawMessage.Orders.Select(x => OrderModel.FromOrder(x, constellation)).ToDictionary(k => k.OrderId, v => v); return(new AccountDataModel { Balances = balances, Orders = orders }); }