public async Task CompareAddressBalances()
        {
            IAddressInfoService addressInfoService = Instantiate <IAddressInfoService>();
            IBlockchainClient   blockchainClient   = Instantiate <IBlockchainClient>();

            IEnumerable <string> addresses = new List <string>();

            using (var uow = NewUnitOfWork())
            {
                addresses = NewRepository <Address>(uow).GetAs(a => true, a => a.BlockchainAddress);
            }

            foreach (var address in addresses)
            {
                var databaseResult = addressInfoService.GetAddressInfo(address);
                Assert.True(databaseResult.Successful, $"Retrieving address {address} from database failed.");

                var blockchainResult = await blockchainClient.GetAddressInfo(address);

                Assert.True(blockchainResult.Successful, $"Retrieving address {address} from blockchain failed.");

                var addressInfoDto       = databaseResult.Data;
                var addressBlockchainDto = blockchainResult.Data;

                Assert.True(addressBlockchainDto.Balance.Available == addressInfoDto.ChxBalanceInfo.AvailableBalance, $"Available CHX for {address} does not match.");
                Assert.True(addressBlockchainDto.Balance.Deposit == addressInfoDto.ChxBalanceInfo.ValidatorDeposit, $"Deposited CHX for {address} does not match.");
                Assert.True(addressBlockchainDto.Balance.Staked == addressInfoDto.ChxBalanceInfo.DelegatedStakes, $"Staked CHX for {address} does not match.");
            }
        }
Exemple #2
0
 public BlockchainInfoService(
     IUnitOfWorkFactory unitOfWorkFactory,
     IRepositoryFactory repositoryFactory,
     IBlockchainInfoRepositoryFactory blockchainInfoRepositoryFactory,
     IAddressInfoService addressInfoService,
     IBlockInfoService blockInfoService,
     ITxInfoService txInfoService)
     : base(unitOfWorkFactory, repositoryFactory)
 {
     _blockchainInfoRepositoryFactory = blockchainInfoRepositoryFactory;
     _addressInfoService = addressInfoService;
     _blockInfoService   = blockInfoService;
     _txInfoService      = txInfoService;
 }
 public AddressInfoController(IAddressInfoService addressInfoService)
 {
     _addressInfoService = addressInfoService;
 }
 public AddressInfoController(IAddressInfoService srv, ILogger log)
 {
     _srv = srv;
     _log = log;
 }