Exemplo n.º 1
0
        public async Task Test(string addressFrom, string privateKey, bool legacy)
        {
            var transfer = new TransferFunction();

            transfer.To          = "0x12890d2cce102216644c59daE5baed380d848301";
            transfer.FromAddress = addressFrom;
            transfer.Value       = 1;
            transfer.Nonce       = 1;
            transfer.GasPrice    = 100;
            transfer.Gas         = 1000;
            var rpcClient        = new HttpClient(new Uri("http://localhost:8545"), defaultTimeOutForTests);
            var transactionInput = transfer.CreateTransactionInput("0x12890d2cce102216644c59daE5baed380d84830c");

            var account = new Account(privateKey, Chain.MainNet);

            account.TransactionManager.Client = rpcClient;
            var signature = await account.TransactionManager.SignTransactionAsync(transactionInput);

            var ledgerManager = await LedgerFactory.GetWindowsConnectedLedgerManager();

            var externalAccount = new ExternalAccount(new LedgerExternalSigner(ledgerManager, 0, legacy), 1);
            await externalAccount.InitialiseAsync();

            externalAccount.InitialiseDefaultTransactionManager(rpcClient);
            //Ensure contract data is enable in the settings of ledger nano
            var signature2 = await externalAccount.TransactionManager.SignTransactionAsync(transactionInput);

            Assert.Equal(signature, signature2);

            //Signing just transfer
            var signature3 = await externalAccount.TransactionManager.SignTransactionAsync(new TransactionInput()
            {
                From = addressFrom,
                GasPrice
                      = new HexBigInteger(Transaction.DEFAULT_GAS_PRICE),
                Gas   = new HexBigInteger(Transaction.DEFAULT_GAS_LIMIT),
                Nonce = new HexBigInteger(1),
                To    = "0x12890d2cce102216644c59daE5baed380d848301",
                Value = new HexBigInteger(100)
            });
        }
Exemplo n.º 2
0
 public LedgerWalletTest()
 {
     signer = LedgerFactory.GetLedgerWalletAsync(DerivationPath.DefaultBIP44).Result;
     Assert.True(signer != null);
 }