@Test public void test_2() { byte[] rlp = Hex.decode("f90219f90214a0809870664d9a43cf1827aa515de6374e2fad1bf64290a9f261dd49c525d6a0efa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794f927a40c8b7f6e07c5af7fa2155b4864a4112b13a010c8ec4f62ecea600c616443bcf527d97e5b1c5bb4a9769c496d1bf32636c95da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000857147839e5e82bf958302472c808455c4e47b99476574682f76312e302e312f6c696e75782f676f312e342e32a0788ac534cb2f6a226a01535e29b11a96602d447aed972463b5cbcc7dd5d633f288e2ff1b6435006517c0c0"); Block b = new Block(rlp); assertFalse(rule.validate(b.getHeader()).success); }
@Override public ValidationResult validate(BlockHeader header) { byte[] proof = header.calcPowValue(); byte[] boundary = header.getPowBoundary(); if (!header.isGenesis() && FastByteComparisons.compareTo(proof, 0, 32, boundary, 0, 32) > 0) { return fault(String.format("#%d: proofValue > header.getPowBoundary()", header.getNumber())); } return Success; }
ProofOfWorkRule extends BlockHeaderRule { @Override public ValidationResult validate(BlockHeader header) { byte[] proof = header.calcPowValue(); byte[] boundary = header.getPowBoundary(); if (!header.isGenesis() && FastByteComparisons.compareTo(proof, 0, 32, boundary, 0, 32) > 0) { return fault(String.format("#%d: proofValue > header.getPowBoundary()", header.getNumber())); } return Success; } }
ProofOfWorkRule extends BlockHeaderRule { @Override public ValidationResult validate(BlockHeader header) { byte[] proof = header.calcPowValue(); byte[] boundary = header.getPowBoundary(); if (!header.isGenesis() && FastByteComparisons.compareTo(proof, 0, 32, boundary, 0, 32) > 0) { return fault(String.format("#%d: proofValue > header.getPowBoundary()", header.getNumber())); } return Success; }  }
ProofOfWorkRule extends BlockHeaderRule { @Override public ValidationResult validate(BlockHeader header) { byte[] proof = header.calcPowValue(); byte[] boundary = header.getPowBoundary(); if (!header.isGenesis() && FastByteComparisons.compareTo(proof, 0, 32, boundary, 0, 32) > 0) { return fault(String.format("#%d: proofValue > header.getPowBoundary()", header.getNumber())); } return Success; }  @Override ValidationResult validate(BlockHeader header); }
ProofOfWorkRule extends BlockHeaderRule { @Override public ValidationResult validate(BlockHeader header) { byte[] proof = header.calcPowValue(); byte[] boundary = header.getPowBoundary(); if (!header.isGenesis() && FastByteComparisons.compareTo(proof, 0, 32, boundary, 0, 32) > 0) { return fault(String.format("#%d: proofValue > header.getPowBoundary()", header.getNumber())); } return Success; }  @Override ValidationResult validate(BlockHeader header);  }