Example #1
0
        public void Sign_and_recover()
        {
            EthereumEcdsa ethereumEcdsa = new EthereumEcdsa(OlympicSpecProvider.Instance, NullLogManager.Instance);

            Keccak     message    = Keccak.Compute("Test message");
            PrivateKey privateKey = Build.A.PrivateKey.TestObject;
            Signature  signature  = ethereumEcdsa.Sign(privateKey, message);

            Assert.AreEqual(privateKey.Address, ethereumEcdsa.RecoverAddress(signature, message));
        }
Example #2
0
        public void Sign_and_recover()
        {
            EthereumEcdsa ethereumEcdsa = new EthereumEcdsa(ChainId.Olympic, LimboLogs.Instance);

            Keccak     message    = Keccak.Compute("Test message");
            PrivateKey privateKey = Build.A.PrivateKey.TestObject;
            Signature  signature  = ethereumEcdsa.Sign(privateKey, message);

            Assert.AreEqual(privateKey.Address, ethereumEcdsa.RecoverAddress(signature, message));
        }
Example #3
0
        public void Sign_goerli()
        {
            EthereumEcdsa ecdsa = new EthereumEcdsa(ChainId.Goerli, LimboLogs.Instance);
            PrivateKey    key   = Build.A.PrivateKey.TestObject;
            Transaction   tx    = Build.A.Transaction.TestObject;

            ecdsa.Sign(key, tx, true);
            Address address = ecdsa.RecoverAddress(tx);

            Assert.AreEqual(key.Address, address);
        }
Example #4
0
        public void Signature_test_olympic(bool isEip155Enabled)
        {
            EthereumEcdsa ecdsa = new EthereumEcdsa(ChainId.Mainnet, LimboLogs.Instance);
            PrivateKey    key   = Build.A.PrivateKey.TestObject;
            Transaction   tx    = Build.A.Transaction.TestObject;

            ecdsa.Sign(key, tx, isEip155Enabled);
            Address address = ecdsa.RecoverAddress(tx);

            Assert.AreEqual(key.Address, address);
        }
Example #5
0
        public void Signature_test_ropsten(bool eip155)
        {
            EthereumEcdsa ecdsa = new EthereumEcdsa(ChainId.Ropsten, LimboLogs.Instance);
            PrivateKey    key   = Build.A.PrivateKey.TestObject;
            Transaction   tx    = Build.A.Transaction.TestObject;

            ecdsa.Sign(key, tx, eip155);
            Address address = ecdsa.RecoverAddress(tx);

            Assert.AreEqual(key.Address, address);
        }
Example #6
0
        public void Signature_test_olympic(uint blockNumber)
        {
            EthereumEcdsa ecdsa = new EthereumEcdsa(OlympicSpecProvider.Instance, LimboLogs.Instance);
            PrivateKey    key   = Build.A.PrivateKey.TestObject;
            Transaction   tx    = Build.A.Transaction.TestObject;

            ecdsa.Sign(key, tx, blockNumber);
            Address address = ecdsa.RecoverAddress(tx, blockNumber);

            Assert.AreEqual(key.Address, address);
        }
Example #7
0
        public void Recover_kovan([Values(false, true)] bool eip155)
        {
            EthereumEcdsa singEcdsa = new EthereumEcdsa(ChainId.Mainnet, LimboLogs.Instance);
            PrivateKey    key       = Build.A.PrivateKey.TestObject;
            Transaction   tx        = Build.A.Transaction.TestObject;

            singEcdsa.Sign(key, tx, eip155);

            EthereumEcdsa recoverEcdsa = new EthereumEcdsa(ChainId.Kovan, LimboLogs.Instance);
            Address       address      = recoverEcdsa.RecoverAddress(tx, true);

            Assert.AreEqual(key.Address, address);
        }
Example #8
0
            public On AddPendingTransaction(PrivateKey nodeKey)
            {
                Transaction transaction = new Transaction();

                transaction.Value         = 1;
                transaction.To            = TestItem.AddressC;
                transaction.GasLimit      = 30000;
                transaction.GasPrice      = 20.GWei();
                transaction.Nonce         = _currentNonce + 1;
                transaction.SenderAddress = TestItem.PrivateKeyD.Address;
                transaction.Hash          = transaction.CalculateHash();
                _ethereumEcdsa.Sign(TestItem.PrivateKeyD, transaction, true);
                _pools[nodeKey].AddTransaction(transaction, TxHandlingOptions.None);

                return(this);
            }
Example #9
0
 public TransactionBuilder <T> SignedAndResolved(PrivateKey privateKey)
 {
     _ecdsa.Sign(privateKey, TestObjectInternal, true);
     TestObjectInternal.SenderAddress = privateKey.Address;
     return(this);
 }
Example #10
0
 public TransactionBuilder <T> SignedAndResolved(PrivateKey privateKey)
 {
     _ecdsa.Sign(privateKey, TestObjectInternal, MainnetSpecProvider.MuirGlacierBlockNumber);
     TestObjectInternal.SenderAddress = privateKey.Address;
     return(this);
 }