Example #1
0
        private async Task GetAddress(uint coinNumber)
        {
            LedgerManager.SetCoinNumber(coinNumber);
            var address = await LedgerManager.GetAddressAsync(0, 0);

            Assert.IsTrue(!string.IsNullOrEmpty(address));
        }
Example #2
0
        public async Task TestBitcoinGetAddressAnyApp()
        {
            await LedgerManager.SetCoinNumber();

            var address = await LedgerManager.GetAddressAsync(0, false, 0, false);

            Assert.IsTrue(!string.IsNullOrEmpty(address));
        }
Example #3
0
        public async Task TestEthereumGetAddress()
        {
            LedgerManager.SetCoinNumber(60);
            var address = await LedgerManager.GetAddressAsync(0, 0);

            Console.WriteLine(address);

            Assert.IsTrue(!string.IsNullOrEmpty(address));
        }
Example #4
0
        public async Task TestTronDisplayAddress()
        {
            uint coinNumber = 195;
            var  isSegwit   = false;
            var  isChange   = false;
            var  index      = 0;

            LedgerManager.SetCoinNumber(coinNumber);

            //This address seems to match the default address in the Tron app
            var path        = $"m/{(isSegwit ? 49 : 44)}'/{coinNumber}'/{(isChange ? 1 : 0)}'/{0}/{index}";
            var addressPath = AddressPathBase.Parse <BIP44AddressPath>(path);
            var address     = await LedgerManager.GetAddressAsync(addressPath, false, true);

            Assert.IsTrue(!string.IsNullOrEmpty(address));
        }
Example #5
0
        public async Task TestEthereumGetAddressParsed()
        {
            LedgerManager.SetCoinNumber(60);

            //Modern Path
            var path    = AddressPathBase.Parse <CustomAddressPath>("m/44'/60'/0'/0/0");
            var address = await LedgerManager.GetAddressAsync(path, false, false);

            Assert.IsTrue(!string.IsNullOrEmpty(address));

            //Legacy Path
            path    = AddressPathBase.Parse <CustomAddressPath>("m/44'/60'/0'/0");
            address = await LedgerManager.GetAddressAsync(path, false, false);

            Assert.IsTrue(!string.IsNullOrEmpty(address));
        }
Example #6
0
        public async Task TestBitcoinDashboardTooManyPrompts()
        {
            var       lastState     = MockLedgerManagerFactory.MockLedgerManagerTransport.CurrentState;
            Exception lastException = null;

            try
            {
                MockLedgerManagerFactory.MockLedgerManagerTransport.CurrentState = CurrentState.Dashboard;

                var address = await LedgerManager.GetAddressAsync(0, 0);

                Assert.IsTrue(!string.IsNullOrEmpty(address));
            }
            catch (TooManyPromptsException tex)
            {
                lastException = tex;
            }
            Assert.IsTrue(lastException is TooManyPromptsException);
            MockLedgerManagerFactory.MockLedgerManagerTransport.CurrentState = lastState;
        }
Example #7
0
        public async Task TestEthereumGetAddressCustomPath()
        {
            LedgerManager.SetCoinNumber(60);

            //Three elements
            var path    = new uint[] { AddressUtilities.HardenNumber(44), AddressUtilities.HardenNumber(60), 0 };
            var address = await LedgerManager.GetAddressAsync(new CustomAddressPath(path), false, false);

            Assert.IsTrue(!string.IsNullOrEmpty(address));

            //Four elements
            path    = new uint[] { AddressUtilities.HardenNumber(44), AddressUtilities.HardenNumber(60), 0, 1 };
            address = await LedgerManager.GetAddressAsync(new CustomAddressPath(path), false, false);

            Assert.IsTrue(!string.IsNullOrEmpty(address));

            //Two elements
            path    = new uint[] { AddressUtilities.HardenNumber(44), AddressUtilities.HardenNumber(60) };
            address = await LedgerManager.GetAddressAsync(new CustomAddressPath(path), false, false);

            Assert.IsTrue(!string.IsNullOrEmpty(address));

            LedgerManager.ErrorPrompt = ThrowErrorInsteadOfPrompt;

            Exception exception = null;;

            try
            {
                //The ethereum app doesn't like this Purpose (49)
                path    = new uint[] { AddressUtilities.HardenNumber(49), AddressUtilities.HardenNumber(60), AddressUtilities.HardenNumber(0), 0, 0 };
                address = await LedgerManager.GetAddressAsync(new CustomAddressPath(path), false, false);
            }
            catch (Exception ex)
            {
                exception = ex;
            }
            Assert.IsTrue(exception != null);
        }
Example #8
0
        public async Task GetLiteCoinAddress()
        {
            await GetLedger();

            _LedgerManager.SetCoinNumber(2);
            var address = await _LedgerManager.GetAddressAsync(0, 0);

            Assert.True(!string.IsNullOrEmpty(address));
        }
Example #9
0
        public async Task TestBitcoinDisplayAddress()
        {
            var address = await LedgerManager.GetAddressAsync(0, false, 0, true);

            Assert.IsTrue(!string.IsNullOrEmpty(address));
        }