Block extends Message { public void verify() throws VerificationException { verifyHeader(); verifyTransactions(); } Block(NetworkParameters params);  Block(NetworkParameters params, byte[] payloadBytes);  Block(NetworkParameters params, byte[] payloadBytes, boolean parseLazy, boolean parseRetain, int length);  Block(NetworkParameters params, long version, Sha256Hash prevBlockHash, Sha256Hash merkleRoot, long time,
                 long difficultyTarget, long nonce, List<Transaction> transactions); BigInteger getBlockInflation(int height); int getOptimalEncodingMessageSize(); void ensureParsed(); void ensureParsedHeader(); void ensureParsedTransactions(); byte[] bitcoinSerialize(); String getHashAsString(); Sha256Hash getHash(); BigInteger getWork(); Block cloneAsHeader(); @Override String toString(); void solve(); BigInteger getDifficultyTargetAsInteger(); void verifyHeader(); void verifyTransactions(); void verify(); @Override boolean equals(Object o); @Override int hashCode(); Sha256Hash getMerkleRoot(); void addTransaction(Transaction t); long getVersion(); Sha256Hash getPrevBlockHash(); long getTimeSeconds(); Date getTime(); void setTime(long time); long getDifficultyTarget(); void setDifficultyTarget(long compactForm); long getNonce(); void setNonce(long nonce); List<Transaction> getTransactions(); @VisibleForTesting Block createNextBlock(Address to, long time); @VisibleForTesting Block createNextBlock(@Nullable Address to, TransactionOutPoint prevOut); @VisibleForTesting Block createNextBlock(@Nullable Address to, BigInteger value); @VisibleForTesting Block createNextBlock(@Nullable Address to); @VisibleForTesting Block createNextBlockWithCoinbase(byte[] pubKey, BigInteger coinbaseValue); static final int HEADER_SIZE; static final int MAX_BLOCK_SIZE; static final int MAX_BLOCK_SIGOPS; static final long EASIEST_DIFFICULTY_TARGET; }
@Test public void testBadTransactions() throws Exception { Block block = new Block(params, blockBytes); Transaction tx1 = block.transactions.get(0); Transaction tx2 = block.transactions.get(1); block.transactions.set(0, tx2); block.transactions.set(1, tx1); try { block.verify(); fail(); } catch (VerificationException e) { } }