diff --git a/src/main/java/org/bitcoinj/core/AuxPoW.java b/src/main/java/org/bitcoinj/core/AuxPoW.java index 3804b6e9..f2d007ae 100644 --- a/src/main/java/org/bitcoinj/core/AuxPoW.java +++ b/src/main/java/org/bitcoinj/core/AuxPoW.java @@ -355,7 +355,10 @@ public class AuxPoW extends ChildMessage { if (getChainMerkleBranch().getIndex() != getExpectedIndex(nonce, ((AuxPoWNetworkParameters) params).getChainID(), getChainMerkleBranch().size())) { if (throwException) { - throw new VerificationException("Aux POW wrong index"); + throw new VerificationException("Aux POW wrong index in chain merkle branch for chain ID " + + ((AuxPoWNetworkParameters) params).getChainID() + ". Was " + + getChainMerkleBranch().getIndex() + ", expected " + + getExpectedIndex(nonce, ((AuxPoWNetworkParameters) params).getChainID(), getChainMerkleBranch().size())); } return false; } @@ -402,12 +405,20 @@ public class AuxPoW extends ChildMessage { // Choose a pseudo-random slot in the chain merkle tree // but have it be fixed for a size/nonce/chain combination. - long rand = nonce; + // We do most of the maths with a signed 32 bit integer, as the operation is + // the same as the 32 unsigned integer that the reference version uses + int rand = (int) nonce; rand = rand * 1103515245 + 12345; rand += chainId; rand = rand * 1103515245 + 12345; - return (int) (rand % (1L << merkleHeight)); + // At this point, we need to flip the value to its positive version, + // so we switch to a 64 bit signed integer for the last calculations + long longRand = rand & 0xffffffffl; + + longRand %= (1 << merkleHeight); + + return (int) longRand; } public Transaction getTransaction() { diff --git a/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java b/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java index 79062bfc..85c0c486 100644 --- a/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java +++ b/src/test/java/org/bitcoinj/core/DogecoinBlockTest.java @@ -122,6 +122,31 @@ public class DogecoinBlockTest { assertTrue(auxpow.checkProofOfWork(block.getHash(), block.getDifficultyTargetAsInteger(), false)); } + /** + * Confirm parsing of block with a nonce value above Integer.MAX_VALUE. + * See https://github.com/rnicoll/libdohj/pull/7 + * + * @throws IOException + */ + @Test + public void shouldParseBlock748634() throws IOException { + byte[] payload = Util.getBytes(getClass().getResourceAsStream("dogecoin_block748634.bin")); + AltcoinSerializer serializer = (AltcoinSerializer)params.getDefaultSerializer(); + final AltcoinBlock block = (AltcoinBlock)serializer.makeBlock(payload); + assertEquals("bd98a06391115285265c04984e8505229739f6ffa5d498929a91fbe7c281ea7b", block.getHashAsString()); + assertEquals(0, block.getNonce()); + + // Check block version values + assertEquals(2, block.getVersion()); + assertEquals(98, block.getChainID()); + assertTrue(block.getVersionFlags().get(0)); + + final AuxPoW auxpow = block.getAuxPoW(); + assertNotNull(auxpow); + + assertTrue(auxpow.checkProofOfWork(block.getHash(), block.getDifficultyTargetAsInteger(), true)); + } + /** * Confirm parsing of block with a nonce value above Integer.MAX_VALUE. * See https://github.com/rnicoll/libdohj/issues/5 diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block250000.hex b/src/test/resources/org/bitcoinj/core/dogecoin_block250000.hex deleted file mode 100644 index 50777646..00000000 --- a/src/test/resources/org/bitcoinj/core/dogecoin_block250000.hex +++ /dev/null @@ -1 +0,0 @@ -02000000f1ed0635084cd33dd84246608bd0f482eae17d10abe9f93d9c63198133da944a41d2a7ac13d1f72806911826dbe4cc76aa4bb6b7d474d614ae8d042b1425e624b9739153b88b561b89272f930601000000010000000000000000000000000000000000000000000000000000000000000000ffffffff270390d003062f503253482f04bf739153085802adce270000000d2f6e6f64655374726174756d2f0000000001e0635c6e5e0b00001976a914e0401fae9ec7f860ceefd71b17205d219f55f28388ac0000000001000000028bc149d040255e7d0056cb2148cf7cd36114a8e58eb9e0fb6b29222c02cdb35b030000006b48304502200df85199a31097d136aea951068217fbe1b2ffa6df30f58553eb5d8898989cc4022100d23ca500cf00ef5ee13d50ad017e56a93f6a46633579af0399277e7cb49a63a101210206b5768096e2f57c0496275891b6eaef12a7a32814aa96bba53e448634cd56f5ffffffffceda415463a4bfcc58d3fdb80de17046e812b93e88bb417481644564a9798fba000000006a47304402205af5dcf4f846f50e3233ab00b37a77e38cf3ee6d41da3aeee7a2cd8c28313c0f02207fb4d22d31e58042be8111886ef988cc5567f1b6e44e83401ffed0b4cb25bedf0121038090fa8c26e0048ec68df957aefc7ea9a358f762fd6fee9229ed6b5aa61e90feffffffff018053669e691300001976a91473cf40aa538f9ed024de0152365dde43a46061cf88ac0000000001000000013e257f3b57b650cdcd7a35b6799fb197ab72d9abb7e9108f4656b65a7495bc91000000008b483045022100994df605ea92e55fcd52b9905932d0714169a84d339b26fd3e89b191cf97be9b022031b4a88fedd13d891c766097ad64f13e66a7a0313a5fe1f3254e4ed763445e400141045bac63545633d14f00b361204e3496462756ef33be08fa53130558c0ec3b25c3da87af5c32427a8f9849f5607cc96fd12880093b53d57ff9d234ea141b181878ffffffff50a9824dab0b0000001976a9144802a6e4deac3aa91bd10107c572ed35b9b8315688ac8754e8b40c0000001976a9147d1d208a1908711d6d958fb05a98ddd027e0f50f88ac77eaef91020000001976a914aeb8aabf73789fd36db28d52eb4ca4f1b245ee6c88ac1964a03a060000001976a9149ce7357e92f48d5c22a31517894645da5046e62188acc755ad440c0000001976a914010aad796d5dd9b2d718f6a5818d103f1573b58788ac4808e2623c0000001976a914658d38097d8585dc353655f2ae306f6117c4d87b88ac924eed59170000001976a914ecdd22e82337671f793fedb7898d5b05ed749d7f88ac534cf4ca0b0000001976a91400e1e813276e2485df18ae1f0c5fe6e8f457e50d88ac5e5bab3f0f0000001976a914316dc54f7606d6d9e3075f192541ec0fca03501388ac45f0cf2a180000001976a914068df4e92ad05012207642a2ebe5fbd9ebad44ad88ac27f5e169170000001976a914adb0596bc0fe58ce700fe1c994068e9b8a0115cc88ac70ea470c0f0000001976a914d070b0f19447d89b1dad5a0f386ca6132e47119288ac4eed95560c0000001976a9149241eda2d88808556ee8e3a724eceb2ea8e1cba388acef99f871ef0000001976a91447360e18965f42e488e397d04b1461a49323bd9a88ac0b529ea5180000001976a91439cb521ee46575772823483719892e02f5eba2bc88ac45d8ded9020000001976a914af36bf435037354092fea16a539be3e9b5e8251388ace2f8f87a020000001976a9145329b59231241f6ad8a60e6711470081c023bb0f88ac6cc953ec770000001976a9144eccec9d3a95e5be5305eefc4ae26b776f6c938288ac8b97d3a30c0000001976a9147324db561127774be7f17f26c0092a14297b722388ac77eaef91020000001976a9148f4988ae9c5c672c4b4639089326707cd6e9accb88ac57d1bae20b0000001976a9144c307f2b885212a775df1b2045e27a0c19b80fa388ac81c35be00b0000001976a914ed5d3cfc425b8ee13fd6ba0090c42dc3229ff37388acf2ec3ef1020000001976a914f39a8cb88d7b3e962dc3e857234a270602bde76388ac48e9b4c7180000001976a9149abbac43b4a450511cd6f6c85fac5be48bb7003f88ac031e933f150000001976a9146dffb899339c43b89ae19b45451fd0e30a69cc6b88ac78a8e3500d0000001976a914744d62be468aec6cabf0becd12d539e5b03d021c88ace1dc155a0d0000001976a9149b7963e633d4c2c6a5642d33d8c690c96a95c45588ac53f30f78610000001976a914dc6c59526919d26b878fc983dc2324768b8fc5e688ac056296ee0b0000001976a914c35fc0bda88b44763a2ad61a679547a2ec430d1b88ac1820fc2f030000001976a914093f8d41de24417adadebee55780cc2504b1616388ac69c59e37750000001976a914379b604d9a326884036bdba05a2f6d0dc1d1f73f88ac71fe5692020000001976a914b71169cd04faa6027e259f93b72c8fdb027fae7688ac91c3b676020000001976a91414ba9b9e56d74dbb84cbcf7936ebd5661b7b3bfe88ac50a13558170000001976a91471293bb3d25409b631226f35e61abcccb81af14b88ac171438f8060000001976a91402cf2f282e656ab6bfdb4257a3399eec69e7705b88ac88f09683020000001976a9149a6f3ca42dd9089a1b4456fa9669229ccf6c270888ac737a1403050000001976a9147c06016cf7038b54b888bf01506a25345fa9ff5288ac2a452d15180000001976a914ed77151b9c2c2826b52de5a5f8ca0bfc7a25bc7988ac3fb8905d020000001976a9149cd65ea7c9c17104873ff6d6be8e4e31772127d888acd1263765030000001976a91446ddf3e3bb4592041a0c77195dbef67f9cb3f47d88ac0f9be2b6040000001976a914c71d12dd8eecb23b09a578e4612935945c48b59f88acc75e680b190000001976a914ab0c0bb720f4808b5b6a2e4a728cff6d1305c90388acbac97680020000001976a914b07d8b10b52c54eb6e450ce057ba294ecbf268c588acc1744b76190000001976a9146968114212b5da4550c4713b3b0a78821938beb488ac20b00b52190000001976a9142fa9682c37fdb9b95d91f07b97f10824c5ef51cc88ace3e2063be40000001976a914e0401fae9ec7f860ceefd71b17205d219f55f28388ac777a4c1c5e0000001976a914741cf53d280ba5b5bd50ea3579e465c4984161a188ac1e460e557c0000001976a914a9ad741e95a2cd0df726dbc14283181e23b4e38488ac7444f70c050000001976a91457ae7d012aafc8b773e61dc5074eb49fcc29937e88ac77da66ce020000001976a9147b10af6a2ee85d650e0b25647405eec4c9ec267788ac48b01178020000001976a914774f17662bb46d30e30b360074165e0b587c910788ac0fccba8b030000001976a914d20ea42fb07fdea184fbc1724794459c30d3848588accc1530610c0000001976a914bd5ed4d4817b9931cd5e4a6ebddb807070aa2a2088ace1aa7268020000001976a9141ba10df81ebe5fb8f887935c52bb789be85eff0f88ace9ef1f51180000001976a91487351b57fcd7ca2b759645a944875295c58b189588ac27cfdd0a030000001976a91429d5a52cb57a3ea89cef80fd412b9e2b34f3ca1a88ac199225e00b0000001976a91485cb3b4f164af2893d6a318d8a78c19c9521f16388ac3f4177b7190000001976a91486bdb6593f205880fb3b0fa4ead31f4f6a483c4188acdd6ea8f1040000001976a9147b9199434d184cf871ba802c307898923cfb114588acfe2ee51a750000001976a9145d530157f041228e9586964e55c3999871efae8c88ac43349a180d0000001976a9144c41e2f7d6450e1534b01134d7a108a3416af90e88ac5ca1f360030000001976a914e5e12425f7a24e797ab3560d7e7f63ebbe0dd0b488acb3cf558df30000001976a914157534d15ec39a4700a674c2f551d352d343a30988acd7262cdf170000001976a9140ab3b001e4379ca97bd11e681ef7da935032394088acb72c5e5ef30100001976a9148f75f94569fee7abe9a90ce0cf6b4eddf6f2a2da88acdfdcda674c0000001976a914c88f1f0710eebf3ec7bf6b2a0abd0c7d1a0de71288acc2f93a09060000001976a914f8783344af8532a73dfa97ebddfcc7527a2c6e5a88ac933b7ec60b0000001976a91443d84415142afbb6ab08ef60efdca30b31583e3988ac17f4f7f2170000001976a91421333564b0cda31763d0e04c310a0d5e31c401b388ac45150e8b020000001976a914f9885ad598f20dea09f7e5b5b4f6297745b9571588ac258b3e531a0000001976a9141d4ecf34bf5d6e7b9b85aa94832666f7dcbb5ad688ac557d4d5b100000001976a914ffaaf69b4fa1322702ded815222364857f0c1d1888ac0736f2ca050000001976a9142a169357ede9c3c368988d9dd178a9ada505cf0188ac516c65c5170000001976a914f425ebb751f3acfb6cfd8f9806d320110ade303d88acd15ebaba020000001976a9143a916f1eb747d84cae79780f70d0c0ea65cb79f788ac8db4243c060000001976a914ad345a8194be2cc456fce87e46a5f048f61f53d488ac9ea9a555020000001976a914eba059c3d9c4ae25b7dfa331d02acb6638ab579188ac8decf359020000001976a914c74caa8578cc83a8b96b839dcd5fff74a6d4b5b988ac087d7912050000001976a9144c7d38826243b36c2bb2163df674088437c7b94988ac627cc06f840000001976a914ac2089c0a48e36fd4094b862582e27004d1b2a8c88ac000000000100000001c5f435857a2f7e6f737d0c555b6930baab118dec52d8fa5647fa9afab7018acd010000006b48304502205bb1280a33590a644ce8e54dae1646e75e228d10d79781dc467ccc4e46e0cc27022100d98c74ef98d02b251fa7c9dfdefa61b8a423f6ad5e57ef9b4666c13fc09692d8012103788f672427c4c7fcbd764f74ba1d210d4c47323eac0e938f87305911f2157df5ffffffff02612f54d5460000001976a91473b87bd3e6c48b1c5407e2136d8ce5e3a63e973688ac5b62a505940000001976a9141d5f0968a3b4bc21179afa87676e698d15669a1888ac0000000001000000015aed3b4f2341acf8c58ed86cb6b87b3a1c4bca86167db922466562bafce660f60a0000006c49304602210089c01fd2e72563a35c2eef3bf6ccc8b1e0470cb70aed79722a52109b120b9bee022100e9127953a83e4f74d937e1e721a7d2959f7eb69910ca0f784c775f7860b7b5c50121028ee732b2a18ecdd8370dc2fdcf1514b4876f0e0be11588106bc92cf6313f0359ffffffff1800e1f505000000001976a91435479ba7008ae6babdff4e776a45ecda652fc7f688ac00e1f505000000001976a91417b28b361b560b8fc5ac0334a675da3df06f89da88ac00e1f505000000001976a914b217c8441318bb05b633aaa4d8a0e2a4ef88b73a88ac00e1f505000000001976a914c0aabc2ee1b7682c4e9874ae3f4873f18f64b67988ac00e1f505000000001976a9141557f4e81c5ea03cd0791c2155dff0551480218288ac00e1f505000000001976a914b7d9dff654e3a139e0cd713062f27f1b43a02a6e88ac0083556d1d0100001976a9145a1691fe88e6c71b1035eb69c44f6f4d717044ff88ac00e1f505000000001976a91486e89a9fc18ccd63b70b019a85b7d0908f6c123588ac00e1f505000000001976a9144ef6e028f071b9ceb785dc7e14eda9a89c7aa4fb88ac00e1f505000000001976a91404f6bc3f0a42ea7a9ab5f9359d0d696d671c1ab988ac00c2eb0b000000001976a9142c78d5a19aa92dc52ba6d6f34b988e2a69cfcaa888ac00e1f505000000001976a9142a14aa985a556947f2f5dfce30ba51a39b239d4e88ac00e1f505000000001976a914f21f66c71ab4751c9e9d75af7c30adb2572afce788ac00e1f505000000001976a91440456d03580707faf461a7bc569ef63543c47a1e88ac00e1f505000000001976a9144da5ace1799936e08625de8df7cf74262d759a6888ac00e1f505000000001976a9143064c76e48663459558757f05b5fdda37b91224288ac00e1f505000000001976a914393ce38521e1be5548b6e3061f37a5a19611ca3388ac00e1f505000000001976a914c513b6ea4174e7b013d96b0df3508c2e2105121d88ac00e1f505000000001976a914276465a8417a4aec7d965a34bde09971646743ab88ac00e1f505000000001976a91458db4ef1139fe51e26ad6bec4ba52ae6fdca9ff888ac00e1f505000000001976a9148c67f5db776574e3b650ae16c856d3ae7176a02e88ac00e1f505000000001976a914b2fc2f43282ab0ff9a20c61f42a3cfd5a307dae288ac00e1f505000000001976a914aebdbf030669c214545961c606b15cfca953e04288ac00e1f505000000001976a914639ec121400c2a4f59d4a48baf8dc408f768ace088ac0000000001000000013b0899ee0de79ca15b44db2efecf4421664879e8192792edfe0ee9b2bb2e089f060000006a47304402203d4c99b7762c278fcb2bbd125c86725b96dcf67802e2c5acc157ab0f27f8e88d02202374c963c38714599d2eded36c689868f02df0a0af341db7fdbf190e87b2f07e012102d4a953ee79ffaf8474b2a7f2eb0c4f5d2d7670468b73046e3c3b55e3ec576e3cffffffff0e00e1f505000000001976a9148ef4817cba8d74195fc233928249dde63ccde50088ac00c2eb0b000000001976a91417b28b361b560b8fc5ac0334a675da3df06f89da88ac00e1f505000000001976a91435479ba7008ae6babdff4e776a45ecda652fc7f688ac00e1f505000000001976a9146f756f696219b4be264514e9753ec5d69cbaade288ac00e1f505000000001976a91486e89a9fc18ccd63b70b019a85b7d0908f6c123588ac00e1f505000000001976a914f21f66c71ab4751c9e9d75af7c30adb2572afce788ac0054ed131d0100001976a9143b8dd3200b6f90fc4c7326fa0697e6df3ac65a4388ac00e1f505000000001976a9142c78d5a19aa92dc52ba6d6f34b988e2a69cfcaa888ac00e1f505000000001976a9144ef6e028f071b9ceb785dc7e14eda9a89c7aa4fb88ac00e1f505000000001976a914393ce38521e1be5548b6e3061f37a5a19611ca3388ac00e1f505000000001976a91458db4ef1139fe51e26ad6bec4ba52ae6fdca9ff888ac00e1f505000000001976a914b2fc2f43282ab0ff9a20c61f42a3cfd5a307dae288ac00e1f505000000001976a914aebdbf030669c214545961c606b15cfca953e04288ac00e1f505000000001976a9144cfa186866e65129b173fa6d9dbff2874d32077888ac00000000 diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block371337.hex b/src/test/resources/org/bitcoinj/core/dogecoin_block371337.hex deleted file mode 100644 index c8458e1b..00000000 --- a/src/test/resources/org/bitcoinj/core/dogecoin_block371337.hex +++ /dev/null @@ -1 +0,0 @@ -020162000d6f03470d329026cd1fc720c0609cd378ca8691a117bd1aa46f01fb09b1a8468a15bf6f0b0e83f2e5036684169eafb9406468d4f075c999fb5b2a78fbb827ee41fb11548441361b0000000001000000010000000000000000000000000000000000000000000000000000000000000000ffffffff380345bf09fabe6d6d980ba42120410de0554d42a5b5ee58167bcd86bf7591f429005f24da45fb51cf0800000000000000cdb1f1ff0e000000ffffffff01800c0c2a010000001976a914aa3750aa18b8a0f3f0590731e1fab934856680cf88ac00000000b3e64e02fff596209c498f1b18f798d62f216f11c8462bf3922319000000000003a979a636db2450363972d211aee67b71387a3daaa3051be0fd260c5acd4739cd52a418d29d8a0e56c8714c95a0dc24e1c9624480ec497fe2441941f3fee8f9481a3370c334178415c83d1d0c2deeec727c2330617a47691fc5e79203669312d100000000036fa40307b3a439538195245b0de56a2c1db6ba3a64f8bdd2071d00bc48c841b5e77b98e5c7d6f06f92dec5cf6d61277ecb9a0342406f49f34c51ee8ce4abd678038129485de14238bd1ca12cd2de12ff0e383aee542d90437cd664ce139446a00000000002000000d2ec7dfeb7e8f43fe77aba3368df95ac2088034420402730ee0492a2084217083411b3fc91033bfdeea339bc11b9efc986e161c703e07a9045338c165673f09940fb11548b54021b58cc9ae50601000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0d0389aa050101062f503253482fffffffff010066f33caf050000232102b73438165461b826b30a46078f211aa005d1e7e430b1e0ed461678a5fe516c73ac000000000100000001ef2e86aa5f027e13d7fc1f0bd4a1fc677d698e42850680634ccd1834668ff320010000006b483045022100fcf5dc43afa85978a71e76a9f4c11cd6bf2a7d5677212f9001ad085d420a5d3a022068982e1e53e94fc6007cf8b60ff3919bcaf7f0b70fefb79112cb840777d8c7cf0121022b050b740dd02c1b4e1e7cdbffe6d836d987c9db4c4db734b58526f08942193bffffffff02004e7253000000001976a91435cb1f77e88e96fb3094d84e8d3b7789a092636d88ac00d4b7e8b00700001976a9146ca1f634daa4efc7871abab945c7cefd282b481f88ac0000000001000000010a6c24bbc92fd0ec32bb5b0a051c44eba0c1325f0b24d9523c109f8bb1281f49000000006a4730440220608577619fb3a0b826f09df5663ffbf121c8e0164f43b73d9affe2f9e4576bd0022040782c9a7df0a20afe1a7e3578bf27e1331c862253af21ced4fde5ef1b44b787012103e4f91ad831a87cc532249944bc7138a355f7d0aac25dc4737a8701181ce680a5ffffffff010019813f0d0000001976a91481db1aa49ebc6a71cad96949eb28e22af85eb0bd88ac0000000001000000017b82db0f644ecff378217d9b8dc0de8817eaf85ceefacab23bf344e2e495dca5010000006b483045022100f07ced6bfdbd6cdeb8b2c8fc92b9803f5798754b5b6c454c8f084198bea303f402205616f84d7ec882af9c34a3fd2457ca3fb81ec5a463a963a6e684edee427d4525012102c056b10494520dbd7b37e2e6bb8f72f98d73a609a926901221bfb114fa1d5a80ffffffff02f0501a22000000001976a914ca63ded8b23d0252158a3bdc816747ef89fb438988ac80b65ea1350700001976a914fb26a7c16ace531a8e7bbd925e46c67c3150c1c888ac000000000100000001c9bdba900e1579ebf4e44415fe8b9abec57a763f8c70a30604bea7fbe7c55d42000000006a47304402204ccbeeace0630e72102fdaf0836e41f8f6dcdde6a178f0fbc2d96a4d17a1df8f02207e4a91203a2abd87fdddee96510482ef96535741b6c17a1acae93c977ad248e5012103e0747583a342b76a5de9c21db138b9640d49b4f3b67a306d3b3f217416d49b55ffffffff020058850c020000001976a9144417c63a91208a02a5f46a0f7a2b806adc7d19a788ac0042dc06030000001976a9147b61c5adef0d559e5acf2901c2989294624b651988ac0000000001000000017c1423b198dfc3da37ae9a5fc11a3720e4343b3049d3b289b8285eb04595c04b000000006b483045022100b0c1cb9608bf644d7a8916bf61f36ced95bd045e97612804ca774f60e05e7bde022017c12255eecc474c8d8b05d0910013b2df8703af68212cf0962b6b8ee0e101ee01210341e154088c23b8ea943bca94c1d4f65361668a242b168522f00199365414b46affffffff01019891ad000000001976a91481db1aa49ebc6a71cad96949eb28e22af85eb0bd88ac00000000 diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block748634.bin b/src/test/resources/org/bitcoinj/core/dogecoin_block748634.bin new file mode 100644 index 00000000..d2a2256f Binary files /dev/null and b/src/test/resources/org/bitcoinj/core/dogecoin_block748634.bin differ diff --git a/src/test/resources/org/bitcoinj/core/dogecoin_block894863.hex b/src/test/resources/org/bitcoinj/core/dogecoin_block894863.hex deleted file mode 100644 index c06ca50e..00000000 --- a/src/test/resources/org/bitcoinj/core/dogecoin_block894863.hex +++ /dev/null @@ -1 +0,0 @@ -02016200f24da529ad02f22db8b2206bc8a13e990aeb7d732717b3f9eedcc0648560f7a768a0e12ca98fe316c1798c8b27c4fa3c7d0df809d4aeff8744b81944c11f5fb0572409564819031b0000000001000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6403251d0de4b883e5bda9e7a59ee4bb99e9b1bcfabe6d6dc6c83f297ee373df0d826f3148f218e4e4eb349e0bba715ad793ccc2d6beb6df40000000f09f909f4d696e65642062792079616e6779616e676368656e000000000000000000000000000000000000000c0100f90295000000001976a914aa3750aa18b8a0f3f0590731e1fab934856680cf88acede8a23812aa15714c5616de24d0eee8c2e0af8d9fd9ef1bf36f7c18e9f50200000000000000000000062900000000000000000000000000000000000000000000000000000000000000463ceed131958d98aee29089d1cf38b9728b224512e51ca3a8b1189d5ed03d0709b68fd6e328528f2a29ec7fb077c834fbf0f14c371fafcfb27444017fbf5b26fdb884bed8ad6a4bded36fc89ed8b05a6c6c0ae1cfd5fe37eb3021b32a1e29042b7a2e142329e7d0d0bffcb5cc338621a576b49d4d32991000b8d4ac793bc1f5a8333358a936ee3634858177dc1508c23e004276906540bceb927ef8feb201b32800000003000000fa6ad1b1a7dc415f598fdd76dd332453af98ebf7855263edad2f1373c1d303ce8b7bcbae9ab8ba8b1ad3aa7b5f2f2045f904687fb00dc73c3792f541cf3144c85f2409567d69011ba556f0590701000000010000000000000000000000000000000000000000000000000000000000000000ffffffff35038fa70d0fe4b883e5bda9e7a59ee4bb99e9b1bc205b323031352d30392d32385431313a32383a32342e3937303432363335325a5dffffffff01005668f8e800000023210214a5f15a73686b64cf27405e018e2f06e0501b52f4ff98282badd9d6948fb57dac0000000001000000017859d0ff1a92ea43ff4743012626832abee769003d64368f7667702738209c64010000008b483045022100ae5a992241cd5142ef17e0864b726b6e6ab11763794ef947d4f7cd3cc3a9019f022016c7618b92fb1437560d85059adbc98fb380d01977dc46fdd544d65fbf4987e9014104602a01b7bfed07cc64ead23d3d7caa37f6c6e0de60137a255d5dd1414b32653fe4136c85d2d832cb3fa2eca83de87b782500d251a331028feb47454d67da5026ffffffff0200e87648170000001976a914fdc4b05332c27c67566483265da71948a08e497388acabeeb73a090000001976a914a4d86cbd7991a44f4c4fd2eb1617a9fd6c23bd0f88ac000000000100000001b4c77d6147eb709b89940b98b3dce38905e8fda3731017ae0d8bf1cdb1995ee2010000006b4830450221009615014a8b164d283ce2821bfc647e1d8f36992e3f4fff75f0976d93c2b3f661022071a569760f5987759d28c51a422f90760abe82eb3e6775cfb0e13826d41fbacf01210363181dbf895dcb94e042ed4ef11c8e81d41a605bf4667a67c750394743632f38feffffff0200a0724e180900001976a91423b30ee802c85794357b601118df906d8895fade88ac0063332f3a0000001976a914ea592985d9fd5bb3ec0f338e92481607ee20598688ac81a70d000100000002edb4a047875f0094175b91edcba6c5542017943a27c4793d7fc6b595c09ea5d236000000da00483045022100c7478375781e0ba196b7f5ebc29fcd23de4b3863c3a640a13eca23990be2e50f02206b736c5d2857656c9c9e1be1525e0c08b55e9c601331a3434ad11f4413ad05a90147304402200f6d0fc8674d05c34bcfd51ee8146caa4cb474b15adafd81b31c9fab009c53350220550fdbd35abe04e727cbf856213971b7ae7bf3fd13c3b2d64530aca49432988c0147522102ec2d3fe84bd61ed4418d4388a95c603d5ead879cd22ef08d75c74f014d9cb58d2103aa1b1d45d98419b67c30d01f6e582c62158845329a4f064247b8d7a9bfa53bd152aeffffffffbdf13084cb7dff5c74235a36d7bcb0cd7f487d2c9e30f49e09726856e3aa948a36000000db00483045022100a3027442a84c45e6e03f41ec9ca6ad4af71b0f04e99024a53b5db4635508b2fa02203118b1ce6282779d970af3f91d47671b80881425b0304e051d0b9ea6aba8dc55014830450221009d5376c47f3d09849bf5c4021d2fd0de470982d85905cc105655c8e17b25436f022064b016bd218492b3428fb12d620af2e148e497d1aa0a0432d0d03c1a4952d3910147522102ec2d3fe84bd61ed4418d4388a95c603d5ead879cd22ef08d75c74f014d9cb58d2103aa1b1d45d98419b67c30d01f6e582c62158845329a4f064247b8d7a9bfa53bd152aeffffffff02c0f87a23080000001976a91454a00e6fb1a8d707b3dbb3c1540ad6f82245877988ac2082fd050000000017a9143ec0a1a92c148e703169486cc8a6053cdf29246f87000000000100000003c43fe5756224f000aeb5f8bf42bc66aa04bae3ad99ceaf850fde8e5375451a16000000006a47304402203a0269600054b8db230bd15d838c49a8052e5c72928b31d447392558abc479a0022028fd39174567d7c38b7de5d68a1d1be27709b16bb438f278f5022d6d689ad20d012102a081b81372de4163ef2389fa45db496273a2226cd6e1566a621eefd9aa01ba45ffffffff063e1c724b08cbd97f915cea207e5c05013f19e1e41381b9148fca7a81136ac4000000006a473044022034c61d7594dcaa07c378b3bd45d8b54097f7e1cac6ffc8db605da22814fec93502200ac4a8509d9e5a21854228f4d9f705ca584c807b8c7f816b36506ad5f46a2d3901210309f0b3561357ad7b61eed6b7206bf06be1883be2244582f4bd2f82639f8b2d8effffffffb13dd12cac55f64d04fd78256621f11459f841bb22523439267b95872a1b28b4000000006b483045022100e2711892b33d49dfa369947e2f8852a948f6efef42d263f3af369e48d36cc047022061bcba806f366250f6eb39fabc5a99d12ada01e69fa23aca411e6900a44b958e0121034a3aa67fc0e3679191f0cc079351093e979a390f0a2a4397d20110862cad7df2ffffffff020005a1902d0000001976a9142c33219753dcd501e002542cc250b01a0edea4ad88acb91e521b000000001976a914ee15705187d162a6a41e8f051c9457a0d720902388ac000000000100000002b7d5cba56f51facb13ca99f9188cc00346411ceed2c7a4908e1e665c20eb03d2010000008a47304402205f59cf4937d30a5bad1442d2092a63f50b5ad3202e59df3366040bac7b71311a022033476029a9ef0323ae52de926a69d912251a8e6db7e0155aaa3c50007d308d100141047970ba8aa787466fe4a52b6c2a7b29ff2ea56271e9a1596154f30d9daf2e9155cb7f613d6d0faaa51d57f0b885ffd4ebc2da7c801183718f22f09c1e9be683dbffffffffb480cbcee4018f2e14c4c078448a3ff8a4628d51e0d2dff3284ac49b5a7e7e691d0000008b483045022100bd1f49700e0aeed8888ab1b45bff88cea21110f63d03089e11347b35dfcc78dc02202f0b20015c98bc7a0889735a1f7e3533780b72276bca9c09638f9be6f3a0454c0141047970ba8aa787466fe4a52b6c2a7b29ff2ea56271e9a1596154f30d9daf2e9155cb7f613d6d0faaa51d57f0b885ffd4ebc2da7c801183718f22f09c1e9be683dbffffffff0200a6f75f020000001976a9141cef487ab28793ed3e31d84ae09cf6979f9e5e0a88ac20fd0136000000001976a914f6a7204e300452a3a598c8851b7d218c3c3b076688ac000000000100000003ab692b8d152ec9b374161a77293204c93f8afc79da5ef62646eefa2e69126051010000008a4730440220348433b365b55413671948eeeb42c7a53ed88aca56e37b598287e8e60266b8a402206b03b3afc2a29cae19015cda64bf474476f7544fd15cde7e5dd65c280f5bbb4d014104faea7b76f8cc5512ca9f67f7c10c8b44daa9f456cb5bbd89d72807a31cc1e15b9d794f0e328d3fb8799d0c82be140b99cd9535d456f5073f5281ca42c972afc3ffffffffd84874c069baf7fcf606c914363ed05bb6fff1a9c3b9834a25b5d3b38fdbc3aa590700008b483045022100ea94de8e0b84c45d81590fe27460824b62458cc53c7e73d10117a076ad765dcd02204058476173680b8d3671a517282987e2bc22dd7f730a95e427f34d6e73aa9793014104faea7b76f8cc5512ca9f67f7c10c8b44daa9f456cb5bbd89d72807a31cc1e15b9d794f0e328d3fb8799d0c82be140b99cd9535d456f5073f5281ca42c972afc3ffffffffd4ef1069cac74af75f373075787242f268632e772e16d1e872d6829bf21e93cd080000008b483045022100a05e7cea49f6efa07c3650d70ece9150e6560b9ea2fbe9be76f60df246096a320220009c007302dfef6a724a623104fcba4ef3dc221ac62d9543f80d475ba1d08335014104faea7b76f8cc5512ca9f67f7c10c8b44daa9f456cb5bbd89d72807a31cc1e15b9d794f0e328d3fb8799d0c82be140b99cd9535d456f5073f5281ca42c972afc3ffffffff02007841cb020000001976a91497ad1a640cfac036b7a4bae5b0fb20a509afaf1388acc0dd9a44000000001976a91458d577bc6fb70e0088f025cbc846750e94a5712488ac00000000 \ No newline at end of file