コード例 #1
0
        public static Block Convert(PostStateJson postStateJson, TestBlockJson testBlockJson)
        {
            BlockHeader header = Convert(testBlockJson.BlockHeader);

            BlockHeader[] ommers = testBlockJson.UncleHeaders?.Select(Convert).ToArray() ?? new BlockHeader[0];
            Block         block  = new Block(header, ommers);

            block.Body.Transactions = testBlockJson.Transactions?.Select(t => Convert(t)).ToArray();
            return(block);
        }
コード例 #2
0
        public static Block Convert(PostStateJson postStateJson, TestBlockJson testBlockJson)
        {
            BlockHeader header = Convert(testBlockJson.BlockHeader);

            BlockHeader[] ommers = testBlockJson.UncleHeaders?.Select(Convert).ToArray() ?? new BlockHeader[0];
            Block         block  = new Block(header, Enumerable.Empty <Transaction>(), ommers);

            block.Body = block.Body.WithChangedTransactions(testBlockJson.Transactions?.Select(Convert).ToArray());
            return(block);
        }
コード例 #3
0
        public static Transaction Convert(PostStateJson postStateJson, TransactionJson transactionJson)
        {
            Transaction transaction = new Transaction();

            transaction.Value         = transactionJson.Value[postStateJson.Indexes.Value];
            transaction.GasLimit      = transactionJson.GasLimit[postStateJson.Indexes.Gas];
            transaction.GasPrice      = transactionJson.GasPrice;
            transaction.Nonce         = transactionJson.Nonce;
            transaction.To            = transactionJson.To;
            transaction.Data          = transactionJson.Data[postStateJson.Indexes.Data];
            transaction.SenderAddress = new PrivateKey(transactionJson.SecretKey).Address;
            transaction.Signature     = new Signature(1, 1, 27);
            transaction.Hash          = transaction.CalculateHash();
            return(transaction);
        }