예제 #1
0
        public async System.Threading.Tasks.Task CreateNewAddressAsync(string walletId)
        {
            var repositoryConfig = new RepositoryConfiguration
            {
                ConnectionString = AppSettingHelper.GetDbConnection()
            };

            var persistenceFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig);

            _ethBus = new Vakapay.EthereumBusiness.EthereumBusiness(persistenceFactory);
            var connection = persistenceFactory.GetDbConnection();

            using (var ethAddressRepos = persistenceFactory.GetEthereumAddressRepository(connection))
            {
                _walletBusiness = new WalletBusiness.WalletBusiness(persistenceFactory);

                string pass = "******";
                //	var resultTest = _ethBus.CreateNewAddAddress(wallet);
                var outPut =
                    await _ethBus.CreateAddressAsync <EthereumAddress>(ethAddressRepos, RpcClass, walletId,
                                                                       pass);

                Assert.IsNotNull(outPut);
            }
        }
예제 #2
0
        public void CreateAllWalletForUser(string userId)
        {
            var repositoryConfig = new RepositoryConfiguration()
            {
                ConnectionString = AppSettingHelper.GetDbConnection()
            };

            var persistence = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig);

            _walletBusiness =
                new Vakapay.WalletBusiness.WalletBusiness(persistence);
            var user = new User();

            user.Id = userId;

            //blockChain.Name = NetworkName.ETH;
            //var resultTest = _walletBusiness.CreateNewWallet(user, blockChain.Name);
            //Assert.AreEqual(Status.StatusSuccess, resultTest.Status);

            //blockChain.Name = NetworkName.BTC;
            //_walletBusiness.CreateNewWallet(user, blockChain.Name);
            //Assert.AreEqual(Status.StatusSuccess, resultTest.Status);

            //blockChain.Name = NetworkName.VAKA;
            //_walletBusiness.CreateNewWallet(user, blockChain.Name);
            var resultTest = _walletBusiness.MakeAllWalletForNewUser(user);

            Console.WriteLine(JsonHelper.SerializeObject(resultTest));
            Assert.AreEqual(Status.STATUS_SUCCESS, resultTest.Status);
        }
예제 #3
0
        public void Setup()
        {
            var repositoryConfig = new RepositoryConfiguration()
            {
                ConnectionString = AppSettingHelper.GetDbConnection()
            };

            _vakapayRepositoryFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig);

            _walletBusiness = new WalletBusiness.WalletBusiness(_vakapayRepositoryFactory);
            _userBusiness   =
                new Vakapay.UserBusiness.UserBusiness(_vakapayRepositoryFactory);
        }
예제 #4
0
        public void ValidateAddress(string networkName, bool result, string address)
        {
            var repositoryConfig = new RepositoryConfiguration
            {
                ConnectionString = AppSettingHelper.GetDbConnection()
            };

            var persistenceFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig);

            _walletBusiness =
                new Vakapay.WalletBusiness.WalletBusiness(persistenceFactory);

            Assert.AreEqual(result, Vakapay.WalletBusiness.WalletBusiness.ValidateAddress(address, networkName));
        }
예제 #5
0
        public void CreateRadomPendingTxsToWithdraw()
        {
            var repositoryConfig = new RepositoryConfiguration()
            {
                ConnectionString = AppSettingHelper.GetDbConnection()
            };

            var persistence = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig);

            _walletBusiness =
                new Vakapay.WalletBusiness.WalletBusiness(persistence);


            var connection = persistence.GetDbConnection();
            var walletRepo = persistence.GetWalletRepository(connection);

            ReturnObject resultTest = null;

            for (int i = 0; i < 1000; i++)
            {
                var rndFrom    = new Random().Next(1, 10);
                var rndTo      = new Random().Next(1, 10);
                var fromWallet = walletRepo.FindByUserAndNetwork(rndFrom.ToString(), CryptoCurrency.ETH);

                while (rndFrom == rndTo)
                {
                    rndTo = new Random().Next(1, 10);
                }

                var toWalletAddr = walletRepo.FindByUserAndNetwork(rndTo.ToString(), CryptoCurrency.ETH);
                // TODO
                //				resultTest = _walletBusiness.Withdraw(fromWallet, toWalletAddr.Address, 1);
            }

            Console.WriteLine(JsonHelper.SerializeObject(resultTest));
            Assert.AreEqual(Status.STATUS_SUCCESS, resultTest.Status);
        }
예제 #6
0
        public void GetHistory(string walletId)
        {
            var repositoryConfig = new RepositoryConfiguration
            {
                ConnectionString = AppSettingHelper.GetDbConnection()
            };

            var persistenceFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig);

            _walletBusiness =
                new Vakapay.WalletBusiness.WalletBusiness(persistenceFactory);

            var wallet = _walletBusiness.GetWalletById(walletId);
            int numberDb;

            if (wallet == null)
            {
                Console.WriteLine("wallet null");
            }
            else
            {
                _walletBusiness.GetHistory(out numberDb, wallet.UserId, wallet.Currency, 1, 3);
            }
        }
예제 #7
0
        public void InsertPendingTxsToWithdraw(string walletId, string toAddr)
        {
            var repositoryConfig = new RepositoryConfiguration()
            {
                ConnectionString = AppSettingHelper.GetDbConnection()
            };

            var persistence = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig);

            _walletBusiness =
                new Vakapay.WalletBusiness.WalletBusiness(persistence);

            var wallet = new Wallet();

            wallet.Id = walletId;

            ReturnObject resultTest = null;

            resultTest = _walletBusiness.Withdraw(wallet, toAddr, 1000000000000000000000m, 0);


            Console.WriteLine(JsonHelper.SerializeObject(resultTest));
            Assert.AreEqual(Status.STATUS_SUCCESS, resultTest.Status);
        }