private static void RunScan(RepositoryConfiguration repositoryConfig) { var repoFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig); var business = new WalletBusiness.WalletBusiness(repoFactory); try { while (true) { try { Console.WriteLine("Start Scan wallet..."); var resultSend = business.CreateAddressAsync(); Console.WriteLine(JsonHelper.SerializeObject(resultSend.Result)); Console.WriteLine("End Create Address..."); Thread.Sleep(100); } catch (Exception e) { Console.WriteLine(e); } } } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public async Task <ActionResult <string> > CreateAddress(string currency) { try { var apiKey = (ApiKey)RouteData.Values[Requests.KEY_PASS_DATA_API_KEY_MODEL]; var checkCurrency = CheckCurrency(currency, apiKey); if (!string.IsNullOrEmpty(checkCurrency)) { return(checkCurrency); } if (!apiKey.Permissions.Contains(Permissions.CREATED_ADDRESSES)) { return(CreateDataError(MessageError.CREATE_TRANSACION_NOT_PERMISSION)); } var userModel = (User)RouteData.Values[Requests.KEY_PASS_DATA_USER_MODEL]; var walletBusiness = new WalletBusiness.WalletBusiness(VakapayRepositoryFactory); var wallet = walletBusiness.FindByUserAndNetwork(userModel.Id, currency); if (wallet == null) { return(CreateDataError(MessageError.CREATE_ADDRESS_FAIL)); } var result = await walletBusiness.CreateAddressAsync(wallet); if (result.Status != Status.STATUS_SUCCESS) { return(CreateDataError(MessageError.CREATE_ADDRESS_FAIL)); } BlockchainAddress blockChainAddress; switch (currency) { case CryptoCurrency.BTC: var bitCoinAddressRepository = new BitcoinAddressRepository(VakapayRepositoryFactory.GetOldConnection()); blockChainAddress = bitCoinAddressRepository.FindByAddress(result.Data); break; case CryptoCurrency.ETH: var ethereumAddressRepository = new EthereumAddressRepository(VakapayRepositoryFactory.GetOldConnection()); blockChainAddress = ethereumAddressRepository.FindById(result.Data); break; case CryptoCurrency.VAKA: var vaKaCoinAccountRepository = new VakacoinAccountRepository(VakapayRepositoryFactory.GetOldConnection()); blockChainAddress = vaKaCoinAccountRepository.FindById(result.Data); break; default: return(CreateDataError(MessageError.CREATE_ADDRESS_FAIL)); } return(blockChainAddress != null ? CreateDataSuccess(JsonConvert.SerializeObject(blockChainAddress)) : CreateDataError(MessageError.CREATE_ADDRESS_FAIL)); } catch (Exception) { return(CreateDataError(MessageError.CREATE_ADDRESS_FAIL)); } }