diff --git a/test/functional/data/README.md b/test/functional/data/README.md new file mode 100644 index 00000000000..bfe7ee82baa --- /dev/null +++ b/test/functional/data/README.md @@ -0,0 +1,42 @@ +# Various test vectors + +## mainnet_alt.json + +For easier testing the difficulty is maximally increased in the first (and only) +regarget period, by producing blocks approximately 2 minutes apart. + +The alternate mainnet chain was generated as follows: +- use faketime to set node clock to 2 minutes after genesis block +- mine a block using a CPU miner such as https://github.com/pooler/cpuminer +- restart node with a faketime 2 minutes later + +```sh +for i in {1..2015} +do + faketime "`date -d @"$(( 1231006505 + $i * 120 ))" +'%Y-%m-%d %H:%M:%S'`" \ + bitcoind -connect=0 -nocheckpoints -stopatheight=$i +done +``` + +The CPU miner is kept running as follows: + +```sh +./minerd --coinbase-addr 1NQpH6Nf8QtR2HphLRcvuVqfhXBXsiWn8r --no-stratum --algo sha256d --no-longpoll --scantime 3 --retry-pause 1 +``` + +The payout address is derived from first BIP32 test vector master key: + +``` +pkh(xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi/44h/0h/0h/<0;1>/*)#fkjtr0yn +``` + +It uses `pkh()` because `tr()` outputs at low heights are not spendable (`unexpected-witness`). + +This makes each block determinisic except for its timestamp and nonce, which +are stored in `mainnet_alt.json` and used to reconstruct the chain without +having to redo the proof-of-work. + +The timestamp was not kept constant because at difficulty 1 it's not sufficient +to only grind the nonce. Grinding the extra_nonce or version field instead +would have required additional (stratum) software. It would also make it more +complicated to reconstruct the blocks in this test. diff --git a/test/functional/data/mainnet_alt.json b/test/functional/data/mainnet_alt.json new file mode 100644 index 00000000000..a4a072d2c5b --- /dev/null +++ b/test/functional/data/mainnet_alt.json @@ -0,0 +1,4036 @@ +{ + "timestamps": [ + 1231006631, + 1231006749, + 1231006880, + 1231006989, + 1231007108, + 1231007233, + 1231007356, + 1231007471, + 1231007591, + 1231007721, + 1231007832, + 1231007963, + 1231008066, + 1231008186, + 1231008313, + 1231008431, + 1231008551, + 1231008675, + 1231008793, + 1231008918, + 1231009032, + 1231009164, + 1231009270, + 1231009402, + 1231009526, + 1231009642, + 1231009778, + 1231009888, + 1231010036, + 1231010117, + 1231010226, + 1231010355, + 1231010475, + 1231010586, + 1231010728, + 1231010839, + 1231010954, + 1231011073, + 1231011187, + 1231011318, + 1231011432, + 1231011577, + 1231011667, + 1231011810, + 1231011921, + 1231012044, + 1231012153, + 1231012279, + 1231012396, + 1231012517, + 1231012648, + 1231012766, + 1231012898, + 1231012994, + 1231013116, + 1231013240, + 1231013346, + 1231013481, + 1231013588, + 1231013726, + 1231013832, + 1231013958, + 1231014081, + 1231014193, + 1231014318, + 1231014439, + 1231014556, + 1231014674, + 1231014788, + 1231014917, + 1231015062, + 1231015163, + 1231015276, + 1231015396, + 1231015535, + 1231015653, + 1231015755, + 1231015877, + 1231015986, + 1231016113, + 1231016245, + 1231016355, + 1231016469, + 1231016593, + 1231016721, + 1231016837, + 1231016958, + 1231017079, + 1231017192, + 1231017311, + 1231017445, + 1231017557, + 1231017672, + 1231017800, + 1231017940, + 1231018028, + 1231018149, + 1231018268, + 1231018437, + 1231018521, + 1231018645, + 1231018753, + 1231018906, + 1231018999, + 1231019127, + 1231019250, + 1231019365, + 1231019467, + 1231019621, + 1231019709, + 1231019855, + 1231019963, + 1231020083, + 1231020190, + 1231020312, + 1231020473, + 1231020554, + 1231020674, + 1231020830, + 1231020913, + 1231021028, + 1231021167, + 1231021301, + 1231021392, + 1231021534, + 1231021644, + 1231021753, + 1231021872, + 1231021987, + 1231022107, + 1231022230, + 1231022369, + 1231022514, + 1231022625, + 1231022714, + 1231022827, + 1231022947, + 1231023070, + 1231023206, + 1231023318, + 1231023426, + 1231023592, + 1231023675, + 1231023789, + 1231023922, + 1231024031, + 1231024149, + 1231024268, + 1231024399, + 1231024524, + 1231024657, + 1231024748, + 1231024888, + 1231024994, + 1231025116, + 1231025226, + 1231025347, + 1231025512, + 1231025588, + 1231025710, + 1231025866, + 1231025949, + 1231026080, + 1231026200, + 1231026318, + 1231026432, + 1231026568, + 1231026704, + 1231026795, + 1231026918, + 1231027026, + 1231027165, + 1231027277, + 1231027415, + 1231027506, + 1231027636, + 1231027747, + 1231027875, + 1231027993, + 1231028156, + 1231028232, + 1231028364, + 1231028472, + 1231028596, + 1231028733, + 1231028849, + 1231028947, + 1231029071, + 1231029190, + 1231029328, + 1231029466, + 1231029569, + 1231029667, + 1231029786, + 1231029918, + 1231030054, + 1231030159, + 1231030268, + 1231030438, + 1231030524, + 1231030647, + 1231030793, + 1231030900, + 1231030995, + 1231031110, + 1231031243, + 1231031350, + 1231031485, + 1231031596, + 1231031717, + 1231031840, + 1231031950, + 1231032068, + 1231032189, + 1231032318, + 1231032455, + 1231032553, + 1231032694, + 1231032793, + 1231032942, + 1231033033, + 1231033176, + 1231033293, + 1231033393, + 1231033516, + 1231033656, + 1231033747, + 1231033901, + 1231034005, + 1231034106, + 1231034228, + 1231034389, + 1231034474, + 1231034618, + 1231034709, + 1231034827, + 1231034956, + 1231035086, + 1231035197, + 1231035309, + 1231035436, + 1231035548, + 1231035669, + 1231035791, + 1231035918, + 1231036036, + 1231036153, + 1231036266, + 1231036394, + 1231036552, + 1231036660, + 1231036764, + 1231036869, + 1231036996, + 1231037106, + 1231037226, + 1231037348, + 1231037468, + 1231037593, + 1231037714, + 1231037828, + 1231037946, + 1231038125, + 1231038212, + 1231038330, + 1231038435, + 1231038586, + 1231038669, + 1231038800, + 1231038906, + 1231039050, + 1231039152, + 1231039291, + 1231039390, + 1231039513, + 1231039631, + 1231039755, + 1231039875, + 1231039993, + 1231040107, + 1231040244, + 1231040353, + 1231040495, + 1231040591, + 1231040717, + 1231040843, + 1231040989, + 1231041086, + 1231041208, + 1231041313, + 1231041430, + 1231041596, + 1231041703, + 1231041801, + 1231041929, + 1231042060, + 1231042160, + 1231042279, + 1231042389, + 1231042514, + 1231042647, + 1231042751, + 1231042881, + 1231042995, + 1231043118, + 1231043234, + 1231043357, + 1231043467, + 1231043587, + 1231043730, + 1231043826, + 1231043957, + 1231044090, + 1231044216, + 1231044334, + 1231044445, + 1231044562, + 1231044692, + 1231044807, + 1231044907, + 1231045031, + 1231045157, + 1231045267, + 1231045386, + 1231045531, + 1231045640, + 1231045752, + 1231045869, + 1231046004, + 1231046113, + 1231046239, + 1231046362, + 1231046497, + 1231046596, + 1231046711, + 1231046853, + 1231046954, + 1231047093, + 1231047186, + 1231047310, + 1231047454, + 1231047562, + 1231047681, + 1231047802, + 1231047911, + 1231048063, + 1231048164, + 1231048284, + 1231048397, + 1231048510, + 1231048638, + 1231048759, + 1231048867, + 1231048988, + 1231049109, + 1231049235, + 1231049346, + 1231049473, + 1231049591, + 1231049710, + 1231049827, + 1231049961, + 1231050069, + 1231050215, + 1231050324, + 1231050430, + 1231050548, + 1231050684, + 1231050793, + 1231050906, + 1231051032, + 1231051149, + 1231051305, + 1231051387, + 1231051510, + 1231051643, + 1231051816, + 1231051884, + 1231051997, + 1231052107, + 1231052227, + 1231052407, + 1231052486, + 1231052620, + 1231052715, + 1231052829, + 1231052972, + 1231053079, + 1231053187, + 1231053352, + 1231053439, + 1231053556, + 1231053670, + 1231053803, + 1231053964, + 1231054036, + 1231054149, + 1231054282, + 1231054386, + 1231054508, + 1231054635, + 1231054751, + 1231054888, + 1231054987, + 1231055107, + 1231055238, + 1231055347, + 1231055479, + 1231055605, + 1231055717, + 1231055830, + 1231055963, + 1231056103, + 1231056232, + 1231056310, + 1231056430, + 1231056555, + 1231056692, + 1231056799, + 1231056923, + 1231057039, + 1231057152, + 1231057268, + 1231057398, + 1231057510, + 1231057631, + 1231057771, + 1231057920, + 1231058017, + 1231058111, + 1231058251, + 1231058365, + 1231058468, + 1231058590, + 1231058727, + 1231058827, + 1231058952, + 1231059079, + 1231059190, + 1231059311, + 1231059433, + 1231059555, + 1231059673, + 1231059805, + 1231059907, + 1231060049, + 1231060153, + 1231060270, + 1231060386, + 1231060522, + 1231060628, + 1231060749, + 1231060945, + 1231060993, + 1231061115, + 1231061263, + 1231061350, + 1231061467, + 1231061600, + 1231061711, + 1231061828, + 1231061954, + 1231062078, + 1231062193, + 1231062333, + 1231062433, + 1231062564, + 1231062669, + 1231062797, + 1231062911, + 1231063050, + 1231063154, + 1231063274, + 1231063400, + 1231063511, + 1231063626, + 1231063754, + 1231063885, + 1231063991, + 1231064143, + 1231064227, + 1231064371, + 1231064467, + 1231064594, + 1231064708, + 1231064829, + 1231064950, + 1231065073, + 1231065211, + 1231065306, + 1231065436, + 1231065631, + 1231065678, + 1231065804, + 1231065910, + 1231066031, + 1231066155, + 1231066267, + 1231066397, + 1231066523, + 1231066632, + 1231066746, + 1231066872, + 1231067010, + 1231067136, + 1231067228, + 1231067371, + 1231067483, + 1231067603, + 1231067715, + 1231067826, + 1231067950, + 1231068078, + 1231068193, + 1231068312, + 1231068432, + 1231068547, + 1231068680, + 1231068825, + 1231068908, + 1231069056, + 1231069152, + 1231069290, + 1231069393, + 1231069544, + 1231069658, + 1231069750, + 1231069876, + 1231069993, + 1231070113, + 1231070226, + 1231070348, + 1231070479, + 1231070589, + 1231070707, + 1231070831, + 1231070967, + 1231071077, + 1231071205, + 1231071311, + 1231071426, + 1231071582, + 1231071676, + 1231071788, + 1231071950, + 1231072034, + 1231072152, + 1231072269, + 1231072393, + 1231072522, + 1231072642, + 1231072746, + 1231072872, + 1231072988, + 1231073107, + 1231073230, + 1231073347, + 1231073471, + 1231073594, + 1231073722, + 1231073828, + 1231073960, + 1231074066, + 1231074198, + 1231074343, + 1231074436, + 1231074585, + 1231074667, + 1231074794, + 1231074906, + 1231075030, + 1231075149, + 1231075272, + 1231075387, + 1231075524, + 1231075643, + 1231075812, + 1231075891, + 1231075994, + 1231076109, + 1231076253, + 1231076357, + 1231076474, + 1231076590, + 1231076725, + 1231076830, + 1231076971, + 1231077091, + 1231077196, + 1231077315, + 1231077437, + 1231077559, + 1231077679, + 1231077789, + 1231077914, + 1231078028, + 1231078165, + 1231078266, + 1231078391, + 1231078531, + 1231078631, + 1231078754, + 1231078866, + 1231078987, + 1231079111, + 1231079228, + 1231079350, + 1231079474, + 1231079588, + 1231079756, + 1231079827, + 1231079957, + 1231080080, + 1231080212, + 1231080308, + 1231080440, + 1231080552, + 1231080670, + 1231080830, + 1231080916, + 1231081068, + 1231081154, + 1231081274, + 1231081412, + 1231081525, + 1231081648, + 1231081747, + 1231081878, + 1231081988, + 1231082109, + 1231082228, + 1231082351, + 1231082483, + 1231082603, + 1231082737, + 1231082836, + 1231082954, + 1231083068, + 1231083195, + 1231083307, + 1231083427, + 1231083548, + 1231083679, + 1231083790, + 1231083941, + 1231084054, + 1231084164, + 1231084294, + 1231084408, + 1231084537, + 1231084632, + 1231084793, + 1231084895, + 1231084999, + 1231085122, + 1231085243, + 1231085374, + 1231085469, + 1231085586, + 1231085733, + 1231085842, + 1231085946, + 1231086072, + 1231086198, + 1231086322, + 1231086476, + 1231086594, + 1231086668, + 1231086794, + 1231086918, + 1231087036, + 1231087173, + 1231087277, + 1231087392, + 1231087546, + 1231087636, + 1231087754, + 1231087866, + 1231087990, + 1231088110, + 1231088239, + 1231088352, + 1231088476, + 1231088625, + 1231088708, + 1231088828, + 1231088954, + 1231089109, + 1231089196, + 1231089306, + 1231089439, + 1231089565, + 1231089674, + 1231089791, + 1231089919, + 1231090062, + 1231090150, + 1231090280, + 1231090389, + 1231090518, + 1231090639, + 1231090746, + 1231090876, + 1231090986, + 1231091113, + 1231091230, + 1231091412, + 1231091508, + 1231091596, + 1231091725, + 1231091830, + 1231091947, + 1231092106, + 1231092207, + 1231092322, + 1231092432, + 1231092547, + 1231092675, + 1231092786, + 1231092967, + 1231093044, + 1231093159, + 1231093270, + 1231093399, + 1231093521, + 1231093632, + 1231093751, + 1231093875, + 1231093993, + 1231094113, + 1231094231, + 1231094349, + 1231094475, + 1231094587, + 1231094710, + 1231094830, + 1231094963, + 1231095104, + 1231095192, + 1231095324, + 1231095428, + 1231095557, + 1231095677, + 1231095790, + 1231095915, + 1231096041, + 1231096158, + 1231096282, + 1231096391, + 1231096510, + 1231096645, + 1231096753, + 1231096874, + 1231096993, + 1231097106, + 1231097231, + 1231097349, + 1231097469, + 1231097595, + 1231097761, + 1231097842, + 1231097962, + 1231098070, + 1231098210, + 1231098311, + 1231098430, + 1231098547, + 1231098687, + 1231098788, + 1231098911, + 1231099026, + 1231099162, + 1231099276, + 1231099400, + 1231099509, + 1231099632, + 1231099756, + 1231099868, + 1231099988, + 1231100130, + 1231100232, + 1231100358, + 1231100493, + 1231100603, + 1231100736, + 1231100827, + 1231100967, + 1231101075, + 1231101187, + 1231101322, + 1231101448, + 1231101551, + 1231101687, + 1231101791, + 1231101913, + 1231102038, + 1231102147, + 1231102310, + 1231102387, + 1231102513, + 1231102682, + 1231102777, + 1231102873, + 1231102987, + 1231103125, + 1231103231, + 1231103368, + 1231103467, + 1231103611, + 1231103724, + 1231103845, + 1231103975, + 1231104122, + 1231104190, + 1231104332, + 1231104449, + 1231104567, + 1231104673, + 1231104805, + 1231104909, + 1231105042, + 1231105149, + 1231105273, + 1231105386, + 1231105515, + 1231105635, + 1231105755, + 1231105885, + 1231106009, + 1231106111, + 1231106227, + 1231106354, + 1231106496, + 1231106589, + 1231106724, + 1231106854, + 1231106954, + 1231107074, + 1231107199, + 1231107317, + 1231107445, + 1231107602, + 1231107685, + 1231107787, + 1231107917, + 1231108026, + 1231108160, + 1231108274, + 1231108390, + 1231108515, + 1231108630, + 1231108767, + 1231108882, + 1231108993, + 1231109114, + 1231109234, + 1231109367, + 1231109471, + 1231109609, + 1231109735, + 1231109846, + 1231109955, + 1231110070, + 1231110193, + 1231110308, + 1231110440, + 1231110551, + 1231110670, + 1231110787, + 1231110911, + 1231111029, + 1231111159, + 1231111284, + 1231111409, + 1231111542, + 1231111656, + 1231111751, + 1231111897, + 1231112001, + 1231112114, + 1231112227, + 1231112354, + 1231112476, + 1231112592, + 1231112713, + 1231112840, + 1231112957, + 1231113066, + 1231113190, + 1231113319, + 1231113483, + 1231113556, + 1231113691, + 1231113883, + 1231113923, + 1231114028, + 1231114148, + 1231114274, + 1231114392, + 1231114525, + 1231114626, + 1231114750, + 1231114924, + 1231115002, + 1231115144, + 1231115255, + 1231115356, + 1231115473, + 1231115595, + 1231115706, + 1231115836, + 1231115948, + 1231116069, + 1231116188, + 1231116341, + 1231116430, + 1231116546, + 1231116728, + 1231116805, + 1231116916, + 1231117041, + 1231117176, + 1231117275, + 1231117434, + 1231117523, + 1231117634, + 1231117746, + 1231117870, + 1231118004, + 1231118114, + 1231118230, + 1231118354, + 1231118472, + 1231118594, + 1231118726, + 1231118870, + 1231118968, + 1231119074, + 1231119209, + 1231119317, + 1231119433, + 1231119551, + 1231119706, + 1231119793, + 1231119941, + 1231120033, + 1231120149, + 1231120277, + 1231120388, + 1231120516, + 1231120628, + 1231120746, + 1231120893, + 1231120987, + 1231121109, + 1231121227, + 1231121349, + 1231121484, + 1231121590, + 1231121706, + 1231121827, + 1231121998, + 1231122076, + 1231122205, + 1231122323, + 1231122442, + 1231122576, + 1231122668, + 1231122799, + 1231122926, + 1231123054, + 1231123175, + 1231123291, + 1231123412, + 1231123527, + 1231123632, + 1231123757, + 1231123880, + 1231123989, + 1231124141, + 1231124232, + 1231124379, + 1231124479, + 1231124614, + 1231124706, + 1231124836, + 1231124954, + 1231125096, + 1231125199, + 1231125307, + 1231125434, + 1231125563, + 1231125669, + 1231125856, + 1231125914, + 1231126039, + 1231126166, + 1231126267, + 1231126386, + 1231126509, + 1231126646, + 1231126767, + 1231126877, + 1231126994, + 1231127119, + 1231127230, + 1231127353, + 1231127468, + 1231127609, + 1231127739, + 1231127872, + 1231127947, + 1231128075, + 1231128197, + 1231128309, + 1231128433, + 1231128558, + 1231128708, + 1231128797, + 1231128907, + 1231129026, + 1231129164, + 1231129276, + 1231129386, + 1231129506, + 1231129627, + 1231129747, + 1231129888, + 1231129986, + 1231130217, + 1231130227, + 1231130347, + 1231130472, + 1231130588, + 1231130728, + 1231130840, + 1231130952, + 1231131071, + 1231131201, + 1231131314, + 1231131452, + 1231131553, + 1231131666, + 1231131809, + 1231131911, + 1231132039, + 1231132156, + 1231132289, + 1231132386, + 1231132559, + 1231132635, + 1231132766, + 1231132899, + 1231132988, + 1231133128, + 1231133230, + 1231133353, + 1231133467, + 1231133596, + 1231133728, + 1231133826, + 1231133954, + 1231134066, + 1231134200, + 1231134306, + 1231134434, + 1231134557, + 1231134673, + 1231134804, + 1231134915, + 1231135042, + 1231135216, + 1231135284, + 1231135400, + 1231135553, + 1231135632, + 1231135756, + 1231135894, + 1231136002, + 1231136111, + 1231136244, + 1231136366, + 1231136473, + 1231136589, + 1231136724, + 1231136845, + 1231136946, + 1231137066, + 1231137190, + 1231137329, + 1231137466, + 1231137551, + 1231137668, + 1231137794, + 1231137956, + 1231138027, + 1231138147, + 1231138266, + 1231138402, + 1231138573, + 1231138655, + 1231138747, + 1231138869, + 1231138988, + 1231139122, + 1231139248, + 1231139352, + 1231139469, + 1231139587, + 1231139752, + 1231139839, + 1231139956, + 1231140089, + 1231140194, + 1231140325, + 1231140431, + 1231140574, + 1231140677, + 1231140792, + 1231140910, + 1231141027, + 1231141192, + 1231141285, + 1231141390, + 1231141542, + 1231141630, + 1231141777, + 1231141867, + 1231141996, + 1231142107, + 1231142231, + 1231142346, + 1231142480, + 1231142622, + 1231142721, + 1231142839, + 1231142958, + 1231143069, + 1231143227, + 1231143346, + 1231143426, + 1231143546, + 1231143673, + 1231143812, + 1231143934, + 1231144033, + 1231144176, + 1231144291, + 1231144424, + 1231144508, + 1231144636, + 1231144755, + 1231144871, + 1231144999, + 1231145110, + 1231145230, + 1231145349, + 1231145485, + 1231145587, + 1231145723, + 1231145843, + 1231145951, + 1231146077, + 1231146201, + 1231146310, + 1231146428, + 1231146555, + 1231146722, + 1231146823, + 1231146924, + 1231147029, + 1231147201, + 1231147282, + 1231147396, + 1231147510, + 1231147637, + 1231147756, + 1231147877, + 1231147998, + 1231148204, + 1231148244, + 1231148373, + 1231148485, + 1231148639, + 1231148727, + 1231148860, + 1231149020, + 1231149086, + 1231149187, + 1231149312, + 1231149428, + 1231149583, + 1231149675, + 1231149787, + 1231149908, + 1231150027, + 1231150180, + 1231150327, + 1231150415, + 1231150543, + 1231150655, + 1231150750, + 1231150873, + 1231151008, + 1231151141, + 1231151247, + 1231151346, + 1231151466, + 1231151595, + 1231151709, + 1231151829, + 1231151948, + 1231152089, + 1231152191, + 1231152313, + 1231152430, + 1231152551, + 1231152671, + 1231152803, + 1231152909, + 1231153056, + 1231153186, + 1231153266, + 1231153400, + 1231153536, + 1231153653, + 1231153751, + 1231153877, + 1231153986, + 1231154110, + 1231154260, + 1231154398, + 1231154477, + 1231154588, + 1231154727, + 1231154829, + 1231155011, + 1231155080, + 1231155194, + 1231155327, + 1231155440, + 1231155552, + 1231155679, + 1231155816, + 1231155908, + 1231156036, + 1231156152, + 1231156266, + 1231156401, + 1231156508, + 1231156654, + 1231156787, + 1231156903, + 1231157009, + 1231157131, + 1231157239, + 1231157369, + 1231157475, + 1231157642, + 1231157707, + 1231157828, + 1231157965, + 1231158070, + 1231158244, + 1231158317, + 1231158447, + 1231158565, + 1231158678, + 1231158797, + 1231158924, + 1231159036, + 1231159152, + 1231159268, + 1231159411, + 1231159525, + 1231159640, + 1231159746, + 1231159867, + 1231159993, + 1231160112, + 1231160231, + 1231160377, + 1231160471, + 1231160635, + 1231160711, + 1231160830, + 1231160947, + 1231161090, + 1231161226, + 1231161309, + 1231161428, + 1231161552, + 1231161671, + 1231161787, + 1231161916, + 1231162048, + 1231162151, + 1231162333, + 1231162386, + 1231162515, + 1231162626, + 1231162756, + 1231162868, + 1231163016, + 1231163116, + 1231163227, + 1231163348, + 1231163469, + 1231163615, + 1231163706, + 1231163832, + 1231163950, + 1231164075, + 1231164193, + 1231164334, + 1231164433, + 1231164546, + 1231164703, + 1231164796, + 1231164906, + 1231165031, + 1231165180, + 1231165267, + 1231165391, + 1231165517, + 1231165681, + 1231165747, + 1231165868, + 1231165994, + 1231166136, + 1231166231, + 1231166374, + 1231166477, + 1231166606, + 1231166710, + 1231166835, + 1231166951, + 1231167067, + 1231167189, + 1231167316, + 1231167429, + 1231167550, + 1231167667, + 1231167819, + 1231167926, + 1231168039, + 1231168187, + 1231168310, + 1231168392, + 1231168508, + 1231168636, + 1231168748, + 1231168866, + 1231168997, + 1231169108, + 1231169247, + 1231169366, + 1231169476, + 1231169588, + 1231169719, + 1231169827, + 1231169981, + 1231170080, + 1231170201, + 1231170310, + 1231170430, + 1231170551, + 1231170668, + 1231170788, + 1231170907, + 1231171028, + 1231171154, + 1231171271, + 1231171461, + 1231171521, + 1231171633, + 1231171753, + 1231171900, + 1231171989, + 1231172140, + 1231172230, + 1231172365, + 1231172494, + 1231172606, + 1231172713, + 1231172854, + 1231172977, + 1231173153, + 1231173194, + 1231173306, + 1231173448, + 1231173546, + 1231173671, + 1231173792, + 1231173907, + 1231174040, + 1231174151, + 1231174294, + 1231174394, + 1231174506, + 1231174626, + 1231174765, + 1231174874, + 1231174994, + 1231175107, + 1231175236, + 1231175356, + 1231175493, + 1231175586, + 1231175723, + 1231175843, + 1231175954, + 1231176093, + 1231176204, + 1231176312, + 1231176432, + 1231176569, + 1231176682, + 1231176814, + 1231176949, + 1231177029, + 1231177158, + 1231177318, + 1231177388, + 1231177507, + 1231177628, + 1231177771, + 1231177867, + 1231177992, + 1231178113, + 1231178228, + 1231178396, + 1231178469, + 1231178598, + 1231178749, + 1231178828, + 1231178953, + 1231179067, + 1231179198, + 1231179306, + 1231179444, + 1231179585, + 1231179668, + 1231179786, + 1231179911, + 1231180048, + 1231180147, + 1231180269, + 1231180401, + 1231180513, + 1231180627, + 1231180766, + 1231180870, + 1231181006, + 1231181108, + 1231181237, + 1231181354, + 1231181483, + 1231181599, + 1231181753, + 1231181842, + 1231181948, + 1231182107, + 1231182191, + 1231182310, + 1231182442, + 1231182554, + 1231182666, + 1231182788, + 1231182907, + 1231183053, + 1231183147, + 1231183279, + 1231183412, + 1231183508, + 1231183654, + 1231183753, + 1231183871, + 1231183986, + 1231184119, + 1231184236, + 1231184385, + 1231184466, + 1231184601, + 1231184719, + 1231184826, + 1231184947, + 1231185070, + 1231185235, + 1231185313, + 1231185437, + 1231185564, + 1231185688, + 1231185790, + 1231185917, + 1231186035, + 1231186147, + 1231186338, + 1231186389, + 1231186524, + 1231186638, + 1231186747, + 1231186869, + 1231186999, + 1231187113, + 1231187235, + 1231187357, + 1231187499, + 1231187604, + 1231187707, + 1231187826, + 1231187947, + 1231188096, + 1231188211, + 1231188323, + 1231188433, + 1231188565, + 1231188688, + 1231188790, + 1231188908, + 1231189042, + 1231189154, + 1231189303, + 1231189389, + 1231189524, + 1231189643, + 1231189753, + 1231189900, + 1231189996, + 1231190110, + 1231190233, + 1231190350, + 1231190478, + 1231190586, + 1231190723, + 1231190853, + 1231190946, + 1231191087, + 1231191214, + 1231191323, + 1231191437, + 1231191565, + 1231191676, + 1231191802, + 1231191917, + 1231192036, + 1231192171, + 1231192267, + 1231192386, + 1231192507, + 1231192628, + 1231192748, + 1231192879, + 1231192991, + 1231193116, + 1231193251, + 1231193349, + 1231193469, + 1231193624, + 1231193717, + 1231193833, + 1231193953, + 1231194082, + 1231194193, + 1231194353, + 1231194431, + 1231194571, + 1231194668, + 1231194825, + 1231194916, + 1231195033, + 1231195154, + 1231195281, + 1231195397, + 1231195523, + 1231195627, + 1231195759, + 1231195866, + 1231195989, + 1231196107, + 1231196232, + 1231196356, + 1231196477, + 1231196590, + 1231196706, + 1231196826, + 1231196949, + 1231197160, + 1231197196, + 1231197332, + 1231197427, + 1231197561, + 1231197691, + 1231197795, + 1231197909, + 1231198026, + 1231198147, + 1231198295, + 1231198417, + 1231198512, + 1231198638, + 1231198768, + 1231198870, + 1231198994, + 1231199115, + 1231199274, + 1231199348, + 1231199482, + 1231199605, + 1231199710, + 1231199842, + 1231199948, + 1231200074, + 1231200186, + 1231200310, + 1231200441, + 1231200587, + 1231200696, + 1231200788, + 1231200919, + 1231201033, + 1231201165, + 1231201298, + 1231201390, + 1231201508, + 1231201633, + 1231201775, + 1231201877, + 1231201987, + 1231202114, + 1231202236, + 1231202389, + 1231202466, + 1231202588, + 1231202722, + 1231202836, + 1231202949, + 1231203066, + 1231203211, + 1231203315, + 1231203472, + 1231203551, + 1231203737, + 1231203810, + 1231203929, + 1231204046, + 1231204152, + 1231204279, + 1231204398, + 1231204506, + 1231204630, + 1231204747, + 1231204908, + 1231204991, + 1231205106, + 1231205229, + 1231205348, + 1231205467, + 1231205588, + 1231205710, + 1231205855, + 1231205959, + 1231206107, + 1231206205, + 1231206314, + 1231206455, + 1231206549, + 1231206675, + 1231206790, + 1231206915, + 1231207032, + 1231207153, + 1231207285, + 1231207404, + 1231207525, + 1231207659, + 1231207754, + 1231207880, + 1231208006, + 1231208123, + 1231208228, + 1231208355, + 1231208480, + 1231208595, + 1231208714, + 1231208839, + 1231208961, + 1231209088, + 1231209192, + 1231209311, + 1231209445, + 1231209561, + 1231209670, + 1231209798, + 1231209934, + 1231210045, + 1231210152, + 1231210278, + 1231210393, + 1231210506, + 1231210636, + 1231210789, + 1231210879, + 1231210994, + 1231211116, + 1231211227, + 1231211358, + 1231211493, + 1231211587, + 1231211723, + 1231211840, + 1231211951, + 1231212070, + 1231212206, + 1231212306, + 1231212431, + 1231212548, + 1231212686, + 1231212850, + 1231212912, + 1231213138, + 1231213153, + 1231213277, + 1231213390, + 1231213592, + 1231213672, + 1231213748, + 1231213867, + 1231213986, + 1231214140, + 1231214236, + 1231214365, + 1231214477, + 1231214594, + 1231214727, + 1231214838, + 1231214950, + 1231215078, + 1231215208, + 1231215323, + 1231215442, + 1231215549, + 1231215697, + 1231215786, + 1231215908, + 1231216056, + 1231216148, + 1231216271, + 1231216387, + 1231216523, + 1231216639, + 1231216759, + 1231216885, + 1231217008, + 1231217107, + 1231217257, + 1231217346, + 1231217469, + 1231217599, + 1231217713, + 1231217831, + 1231217951, + 1231218066, + 1231218187, + 1231218326, + 1231218444, + 1231218587, + 1231218693, + 1231218794, + 1231218922, + 1231219027, + 1231219159, + 1231219286, + 1231219417, + 1231219530, + 1231219629, + 1231219746, + 1231219867, + 1231220005, + 1231220119, + 1231220235, + 1231220362, + 1231220471, + 1231220598, + 1231220751, + 1231220827, + 1231220949, + 1231221100, + 1231221188, + 1231221311, + 1231221439, + 1231221556, + 1231221672, + 1231221801, + 1231221920, + 1231222033, + 1231222168, + 1231222273, + 1231222399, + 1231222506, + 1231222642, + 1231222747, + 1231222879, + 1231222986, + 1231223108, + 1231223260, + 1231223346, + 1231223466, + 1231223586, + 1231223709, + 1231223851, + 1231223953, + 1231224073, + 1231224226, + 1231224306, + 1231224454, + 1231224557, + 1231224668, + 1231224789, + 1231224915, + 1231225027, + 1231225158, + 1231225277, + 1231225457, + 1231225514, + 1231225628, + 1231225758, + 1231225867, + 1231226039, + 1231226110, + 1231226234, + 1231226357, + 1231226473, + 1231226625, + 1231226707, + 1231226842, + 1231226965, + 1231227115, + 1231227202, + 1231227308, + 1231227465, + 1231227547, + 1231227682, + 1231227798, + 1231227938, + 1231228067, + 1231228148, + 1231228277, + 1231228415, + 1231228519, + 1231228631, + 1231228755, + 1231228869, + 1231228991, + 1231229129, + 1231229227, + 1231229349, + 1231229476, + 1231229588, + 1231229737, + 1231229826, + 1231229956, + 1231230071, + 1231230188, + 1231230312, + 1231230440, + 1231230548, + 1231230715, + 1231230797, + 1231230908, + 1231231088, + 1231231155, + 1231231274, + 1231231390, + 1231231506, + 1231231630, + 1231231752, + 1231231906, + 1231231986, + 1231232106, + 1231232233, + 1231232375, + 1231232485, + 1231232601, + 1231232739, + 1231232849, + 1231232964, + 1231233068, + 1231233187, + 1231233319, + 1231233462, + 1231233546, + 1231233671, + 1231233823, + 1231233947, + 1231234026, + 1231234163, + 1231234278, + 1231234415, + 1231234510, + 1231234647, + 1231234777, + 1231234898, + 1231234998, + 1231235114, + 1231235229, + 1231235382, + 1231235494, + 1231235597, + 1231235707, + 1231235826, + 1231235949, + 1231236073, + 1231236201, + 1231236309, + 1231236433, + 1231236553, + 1231236675, + 1231236892, + 1231236908, + 1231237052, + 1231237162, + 1231237304, + 1231237405, + 1231237538, + 1231237631, + 1231237799, + 1231237923, + 1231237991, + 1231238114, + 1231238229, + 1231238356, + 1231238474, + 1231238589, + 1231238715, + 1231238861, + 1231238956, + 1231239074, + 1231239201, + 1231239314, + 1231239442, + 1231239550, + 1231239684, + 1231239822, + 1231239970, + 1231240028, + 1231240147, + 1231240268, + 1231240399, + 1231240539, + 1231240627, + 1231240751, + 1231240870, + 1231240992, + 1231241107, + 1231241236, + 1231241389, + 1231241476, + 1231241588, + 1231241709, + 1231241845, + 1231241986, + 1231242088, + 1231242192, + 1231242329, + 1231242437, + 1231242549, + 1231242677, + 1231242786, + 1231242914, + 1231243046, + 1231243153, + 1231243283, + 1231243386, + 1231243541, + 1231243629, + 1231243754, + 1231243868, + 1231244002, + 1231244113, + 1231244233, + 1231244348, + 1231244475, + 1231244586, + 1231244711, + 1231244843, + 1231244987, + 1231245067, + 1231245205, + 1231245319, + 1231245444, + 1231245563, + 1231245674, + 1231245788, + 1231245923, + 1231246028, + 1231246147, + 1231246274, + 1231246434, + 1231246518, + 1231246640, + 1231246749, + 1231246897, + 1231247020, + 1231247128, + 1231247234, + 1231247350, + 1231247476, + 1231247586, + 1231247732, + 1231247828, + 1231247971, + 1231248071, + 1231248198, + 1231248322 + ], + "nonces": [ + 2345621585, + 1466054288, + 4259470465, + 2482467056, + 3414599120, + 1749986592, + 1375086560, + 4164947392, + 1655752633, + 1669879025, + 3136435576, + 2242139497, + 1095449497, + 1281332848, + 536617352, + 809187112, + 569579745, + 2559968985, + 3113096393, + 242209224, + 3343125913, + 2053680104, + 1563013664, + 1750534176, + 1892126905, + 2670033425, + 3780886344, + 2884585784, + 3902417184, + 788540081, + 3346598457, + 1094422977, + 1822068801, + 4134436368, + 656833520, + 3060733928, + 656454920, + 3741557040, + 803875625, + 3331483905, + 2993220480, + 2248716560, + 1528213913, + 2134074393, + 2267300889, + 2534921824, + 458669632, + 2326454872, + 3700864489, + 629113376, + 1490226992, + 3934986616, + 28329616, + 2329520368, + 3993549201, + 3132595873, + 1724100329, + 3998070849, + 963270496, + 1385631665, + 3444717281, + 129596177, + 1503664032, + 4174939769, + 3847267360, + 2571407768, + 1204174520, + 4229629800, + 492155873, + 2616652408, + 343156840, + 4081108544, + 991960161, + 809310400, + 1206946073, + 28062169, + 3062719552, + 1885412041, + 2360912200, + 3869870112, + 3969671017, + 4265964417, + 3127508008, + 1183216601, + 3884260472, + 4260835993, + 3644564793, + 641068960, + 3277029017, + 3885403288, + 1928699977, + 3259498777, + 709430992, + 3790409089, + 3817688016, + 2309181697, + 3828254089, + 1111402472, + 3359862961, + 1102105128, + 2879616224, + 3737489392, + 1446857552, + 3203995769, + 2375996352, + 1682144808, + 2223019144, + 1495348848, + 4233257001, + 1164450944, + 143661512, + 1186097761, + 2563726624, + 1170522896, + 4181230657, + 187216689, + 3224117056, + 2486179368, + 4229693184, + 3411037344, + 2656707537, + 4143652616, + 608776809, + 3705967240, + 1151678153, + 1212900664, + 3227916113, + 3254944424, + 614618584, + 3794915824, + 1321577737, + 1245073297, + 1199614208, + 2577598312, + 3352786496, + 2793583648, + 3805033481, + 2014274096, + 1273620496, + 3510287752, + 3036090281, + 1873903937, + 973791072, + 567766752, + 1588432345, + 3516332368, + 1973552456, + 1460089808, + 891664864, + 3441780168, + 4199492408, + 2250994528, + 161685634, + 309949776, + 84438825, + 3008390448, + 1891451553, + 12276104, + 28796520, + 3326187712, + 4132542928, + 1042624304, + 2309694512, + 2949052888, + 3871394864, + 613989584, + 1629950352, + 443192344, + 123027353, + 2838379721, + 2487535080, + 3854921033, + 2845945049, + 1362952729, + 2963474913, + 912468872, + 3789488921, + 892973112, + 1656496720, + 176900009, + 4091352673, + 4063982433, + 1203426720, + 2714968905, + 3077793784, + 2559535016, + 1172014817, + 2828036160, + 2800897288, + 1562398265, + 90418345, + 2050496681, + 4218928545, + 2259510521, + 2244400104, + 3005242056, + 2793248713, + 2602935568, + 1032540201, + 3743118713, + 1814628904, + 4064408840, + 3201287656, + 3907092512, + 912276032, + 2325901616, + 4284800000, + 3093000856, + 2683777616, + 1680296081, + 2062695368, + 67000376, + 4028846513, + 1942933288, + 3447031657, + 1581078136, + 1888980384, + 3538731920, + 1262054097, + 1055426584, + 497311961, + 3636943409, + 2367737696, + 1823027496, + 3612981616, + 1995012120, + 294075977, + 3573636328, + 1503189080, + 3951373640, + 1114325648, + 263985328, + 1016660352, + 107276688, + 1780888184, + 3839455560, + 193347704, + 1104838617, + 2859614913, + 2047848856, + 1577220201, + 27218185, + 609956912, + 3153402993, + 4166739688, + 2328596280, + 2977854929, + 178389176, + 2908008592, + 3186719600, + 3270319297, + 2969529801, + 789110320, + 1041559072, + 2060126641, + 313040729, + 1271631841, + 2737338608, + 391410168, + 3360075673, + 3303733000, + 662544297, + 255532128, + 1916663192, + 250847905, + 162300744, + 1846592808, + 2214561289, + 2896364457, + 987042585, + 148500168, + 3292040337, + 3082191312, + 2383184752, + 129770392, + 1200072384, + 4109755536, + 648048360, + 94025584, + 274197344, + 4059705296, + 4288387497, + 4068023792, + 4059571760, + 354057216, + 2962161600, + 2441760072, + 3839910312, + 790192320, + 3676263960, + 1140156480, + 3571685448, + 835713480, + 3472336937, + 1809431960, + 3817809592, + 1449653136, + 2986622345, + 2651791024, + 1390226849, + 836575272, + 2339832001, + 3854831113, + 2902534857, + 1722352656, + 585083825, + 3685121832, + 829195448, + 1754471297, + 2199476393, + 1023225048, + 1955017489, + 2289202393, + 2149991560, + 2942355264, + 2732886536, + 746271177, + 2467278952, + 3201357088, + 437017984, + 3840297904, + 871921041, + 321469537, + 3623723656, + 1704793432, + 2017005049, + 4207461896, + 3480291617, + 1649714433, + 1416473993, + 3700624225, + 56739496, + 440591440, + 1284917921, + 1869142624, + 4060493552, + 2714503753, + 4130186145, + 3248537552, + 2768524240, + 2032498080, + 313008257, + 3233808769, + 1201221617, + 3153005241, + 1358817064, + 868211712, + 1836586992, + 1142359689, + 1172762728, + 2374289616, + 2623329912, + 1035172473, + 407287176, + 2740081177, + 238545432, + 2500453312, + 940605841, + 2299029448, + 3932004368, + 648829553, + 3108148360, + 2510793593, + 362918816, + 1786144480, + 4039192784, + 3157656697, + 3938473393, + 3107368744, + 4109449361, + 2521238825, + 1103178641, + 2218339049, + 3600072592, + 1720805992, + 4094725176, + 2644180352, + 3204915584, + 2626999368, + 1519385768, + 2009121856, + 1490893168, + 3552243080, + 2370310745, + 3538754033, + 1995721992, + 617179664, + 4236341864, + 3306658224, + 1600426513, + 536270008, + 267684145, + 1862037712, + 648545657, + 2121349336, + 846345249, + 1947105257, + 406647296, + 2905350032, + 716258681, + 2651199816, + 2103315312, + 1099212088, + 628983088, + 2886081297, + 1614066720, + 2086329496, + 897859361, + 873276928, + 1140290976, + 1659216297, + 1074089968, + 2856584072, + 643017216, + 4266094704, + 1858941393, + 2757314489, + 1995804488, + 2252767025, + 1370083624, + 2833172360, + 574334969, + 397958073, + 192581592, + 1383216728, + 1263119192, + 3835432745, + 720928776, + 2300993265, + 806696865, + 3768721696, + 3658562528, + 1149492056, + 4144175561, + 2481701880, + 4002168489, + 2605027000, + 168788272, + 111826000, + 1486844384, + 2809606569, + 2830897193, + 2320949792, + 1646174025, + 1052149552, + 1430892280, + 3774064048, + 861250904, + 2746548737, + 213943521, + 3173265609, + 3856617664, + 2063800977, + 344622345, + 1358526792, + 3111523441, + 4098131256, + 3782233176, + 418926576, + 4193261832, + 505171856, + 1045838689, + 1961721792, + 4078677785, + 2435573504, + 1312485576, + 56231233, + 723810569, + 2047551504, + 4153448865, + 3903087441, + 813374632, + 107487776, + 4202058992, + 3589225737, + 1938055872, + 3252586296, + 2643095336, + 163182432, + 2566715800, + 3248350016, + 3235872897, + 3535805336, + 3940723865, + 1509379529, + 3028804952, + 2032142953, + 1678137240, + 1406015385, + 2063295520, + 871546592, + 3020951129, + 1990988593, + 424290920, + 2381651320, + 2108735776, + 1303608425, + 2018825201, + 2534757768, + 818385657, + 826681201, + 3919789273, + 1986826936, + 4154048608, + 3897925985, + 2354253560, + 2847364312, + 1267215056, + 2849208361, + 896389504, + 2485025648, + 1649333592, + 1995548192, + 3402960409, + 3720225945, + 2121875040, + 2753438464, + 617364881, + 3773131225, + 666845241, + 991795464, + 1376324377, + 3669714672, + 1376477057, + 2726627368, + 319579672, + 3060100665, + 1393673720, + 2415289392, + 141403136, + 2484675736, + 3266948696, + 3889649, + 480774512, + 3498271801, + 1385366553, + 2251691794, + 2598855000, + 2755820169, + 596620256, + 3856089993, + 1591831056, + 2155312825, + 2813105601, + 1624669761, + 3337556153, + 2575635825, + 301826136, + 1659056064, + 1750292472, + 3312404465, + 3821953545, + 3385341512, + 1900840161, + 2794723049, + 3203465865, + 2645172600, + 1235202833, + 249386881, + 3055070769, + 844138617, + 2748386921, + 1180603185, + 2480739680, + 76439856, + 1173890665, + 3751622152, + 1240688648, + 1104991784, + 98839096, + 2401631616, + 3597650904, + 3428281264, + 1893944353, + 1020933800, + 1689649136, + 2481424945, + 3319569905, + 4025114633, + 1670763880, + 4019296697, + 3701300288, + 2198376488, + 4028910704, + 2450608376, + 757183864, + 1914289768, + 1934793729, + 2588349273, + 287478377, + 3855500688, + 198299888, + 126732680, + 3330716297, + 2118798560, + 54433384, + 329463449, + 4015988184, + 2921884928, + 2051214592, + 3897764232, + 1077889289, + 1554711713, + 2137303249, + 3994900776, + 4225476336, + 424888128, + 599401152, + 4165157760, + 2409116552, + 1874636385, + 3247379856, + 3533810609, + 4186257440, + 1354342129, + 3399649361, + 3624037680, + 3714277953, + 3706289448, + 3891150113, + 1925448832, + 1892823137, + 3233373297, + 2775958768, + 825152576, + 3075014032, + 3491321569, + 1191202881, + 3240272489, + 76043105, + 4089524024, + 2717675321, + 2889829696, + 1038202360, + 2155947280, + 3730116920, + 419143561, + 60760089, + 769687616, + 3740668481, + 92094706, + 2372829560, + 3692317888, + 614225321, + 3648672352, + 4264957849, + 2468047769, + 1184537768, + 3586705232, + 2628474777, + 519582472, + 3591068976, + 3655899272, + 4018296720, + 1359161160, + 2423617472, + 4098554168, + 2548717241, + 2951117377, + 2490994408, + 2943179145, + 1566566248, + 1614762961, + 4173376032, + 2836598320, + 2306308937, + 208210344, + 1360239169, + 3906018473, + 754882136, + 2149525809, + 92910553, + 3827187993, + 1662389808, + 2345437448, + 1157520297, + 1135849817, + 3004948752, + 1605919288, + 1886223113, + 2773361609, + 878587432, + 3115015489, + 481772632, + 2515503033, + 3023140768, + 664798473, + 2147227416, + 2574067809, + 1470226968, + 2271862096, + 3043320416, + 1279815792, + 2874156120, + 1297710025, + 1307737968, + 3573547912, + 4211282505, + 3027559864, + 1635261128, + 2240808121, + 3487192008, + 4109698345, + 4008358057, + 701443665, + 1968967649, + 493977265, + 2019657176, + 4034295624, + 1520198888, + 1901845912, + 4256201288, + 1832326897, + 276793929, + 929150520, + 4162696544, + 4172741360, + 1653374337, + 2227693520, + 2685173465, + 4161979976, + 3613377280, + 282100136, + 3757938824, + 2712705432, + 1985975265, + 598772305, + 508505600, + 12291672, + 428190825, + 2035116681, + 997834792, + 2037296552, + 2376430337, + 2923237697, + 1770786392, + 357325433, + 3723415728, + 2353414169, + 1889889393, + 2528080193, + 3071083344, + 3925875729, + 3440975297, + 3224083168, + 1263292689, + 1875679832, + 4155867121, + 2462272576, + 1061211808, + 1028802336, + 3206917209, + 1718538864, + 4006975513, + 3345093626, + 3795999721, + 4265113897, + 2905209072, + 3337369256, + 3173815456, + 3152450824, + 3544153496, + 1846649704, + 1228868288, + 370704608, + 39355753, + 3834810449, + 1394700817, + 3158448112, + 2782730049, + 2594198673, + 757958824, + 4251714896, + 1086730833, + 457520841, + 3620805121, + 621129841, + 2021362457, + 3688892041, + 124720129, + 3660573576, + 633287481, + 1272079472, + 950001856, + 1101135720, + 1694728721, + 2171366265, + 2239120568, + 1086920969, + 2756876560, + 2003572928, + 1164230632, + 3676581200, + 4110668520, + 3568622104, + 870386609, + 98766952, + 1003688513, + 2634222217, + 4192297016, + 1797843560, + 4237635145, + 1526378800, + 3629906688, + 3208081305, + 1694618672, + 2832767169, + 1976736088, + 3582884697, + 999912016, + 246745392, + 1583031512, + 356023569, + 3747649049, + 2070706360, + 2499383584, + 2223038104, + 3496515640, + 3290242593, + 2981417592, + 1996805800, + 3648843168, + 105074865, + 1217629688, + 4221566304, + 3365014081, + 1005411424, + 3504155728, + 1147574865, + 227400168, + 644958056, + 532880345, + 766059617, + 2715571073, + 1582336176, + 1761352824, + 2120029912, + 2886191400, + 133214897, + 52494848, + 2345404392, + 3476082128, + 4205092072, + 3329372816, + 3357681177, + 947654368, + 1186339128, + 3673748040, + 3077157240, + 3717982000, + 24065169, + 2008493688, + 3896524400, + 672086744, + 3213691280, + 1046756177, + 2252125857, + 2982421080, + 4057177201, + 2443519328, + 238101425, + 1992583000, + 997570512, + 35484121, + 3324589112, + 2175597249, + 2429906296, + 3234233721, + 1900611024, + 1088597168, + 323424528, + 3707898281, + 2915726033, + 2099058473, + 1815036473, + 4111684240, + 205389352, + 3508849272, + 2083870432, + 3206039576, + 2578602000, + 822568176, + 1924510432, + 678298593, + 1318329016, + 756457081, + 1608911985, + 2124867328, + 3477603937, + 3931541641, + 2879810857, + 452350512, + 4211019553, + 67853065, + 1396078353, + 2649636208, + 151264472, + 1502390929, + 707805304, + 1405327160, + 54460064, + 3012980232, + 694174888, + 277701489, + 2453433249, + 1423252977, + 4001729064, + 3603005057, + 2102874321, + 3581382265, + 3570879985, + 2136294081, + 4009521112, + 507336464, + 513584, + 2380368313, + 2828932650, + 1534688280, + 2314132808, + 4237319801, + 3647728688, + 1440080712, + 3210952617, + 2634505209, + 1733128489, + 774993841, + 1410304816, + 3266816537, + 824794680, + 1388151904, + 37973008, + 2778742073, + 2736755729, + 63352985, + 2190953680, + 364940160, + 2975410040, + 4048291520, + 2236837089, + 2590589392, + 689262672, + 1397056848, + 2364458952, + 2367436480, + 1773493512, + 4213276057, + 1572377345, + 2228136393, + 2519801408, + 370108104, + 1640968713, + 3284138792, + 1833944432, + 1232709104, + 2858427593, + 2570476361, + 2323747960, + 3421539160, + 451223921, + 185641152, + 3010399337, + 2788035296, + 3735103224, + 2888188312, + 1503814280, + 3670340080, + 2348444488, + 1396604264, + 93141808, + 2434516544, + 130046120, + 4127203417, + 1104171976, + 804523569, + 2881621313, + 410156913, + 2443984120, + 3874393553, + 2435131968, + 164732000, + 2459488576, + 3397755568, + 3483115200, + 559979729, + 8498264, + 3376627192, + 1999487880, + 4094348128, + 2627288113, + 586243544, + 3404102769, + 2236690089, + 3462707504, + 2364948776, + 918323080, + 2638693969, + 417069112, + 1586625232, + 3700422552, + 2395256233, + 2080581449, + 2268883641, + 1794405889, + 3262037192, + 3490476849, + 584798408, + 2211414609, + 3312846712, + 2822265801, + 339472120, + 1572514208, + 797386673, + 1933526937, + 2688259296, + 4053429464, + 4081325057, + 62167984, + 2922686201, + 1710280632, + 2702584577, + 982344697, + 2780262608, + 2040360961, + 3671768256, + 4112613961, + 3892970185, + 3346476208, + 1068215200, + 4039273401, + 3088152256, + 3395055320, + 1193517097, + 3928057505, + 45287161, + 3018691473, + 1175097545, + 2626367960, + 1916037505, + 4101474873, + 1559102072, + 213117512, + 148129265, + 1808558672, + 3909047369, + 1517323144, + 3555222720, + 795681064, + 1148710168, + 384905216, + 209861233, + 2007240888, + 3705724016, + 2166441328, + 641896441, + 379618793, + 1408768777, + 3288023280, + 261925368, + 738048288, + 375920521, + 1222777008, + 3085534857, + 233649728, + 2271695673, + 3544153208, + 3812052056, + 3287957536, + 3148632745, + 1595696713, + 3082068865, + 855857232, + 2609797409, + 4096533200, + 415863209, + 1526304561, + 509324216, + 704402416, + 4041675064, + 1215084209, + 4194685984, + 1912370473, + 2861818280, + 3475313553, + 3161519632, + 673778313, + 2308191353, + 2229688721, + 3020987440, + 2227115672, + 3282542440, + 381242448, + 155280305, + 208819680, + 1310151608, + 4151461785, + 308780721, + 2526963033, + 3112853400, + 1973594728, + 352462224, + 56044400, + 3111589009, + 543573360, + 2730463929, + 2992800904, + 962587408, + 2796063912, + 3141991832, + 1837871984, + 111872, + 1048235184, + 2096256217, + 2292529432, + 1013529345, + 2820764153, + 584808936, + 3089964704, + 81395656, + 3985411216, + 2599082264, + 3823483424, + 2971838912, + 2870477209, + 1777869001, + 1310758792, + 120081032, + 1514648736, + 3397216032, + 2682932641, + 749222144, + 2558897128, + 3875434449, + 1873648545, + 727227736, + 71872304, + 1130565761, + 3525226001, + 3014591768, + 3546671256, + 1542177336, + 1263604153, + 1979563016, + 1131262777, + 1921246488, + 1395279224, + 4282661177, + 1944817624, + 2952571673, + 1369941809, + 2202879776, + 3438093449, + 1847335528, + 1476903648, + 2808802768, + 726771136, + 982646568, + 1525537000, + 1364716504, + 3510329768, + 3392680520, + 1050747448, + 3693376128, + 256849681, + 2980922088, + 36052944, + 216404497, + 3072721480, + 1146657296, + 2461352929, + 1248810609, + 3920814928, + 2660368808, + 1710229489, + 1216299672, + 563229992, + 2228044921, + 2699053425, + 3825048168, + 3875556177, + 3411608993, + 636152272, + 4012565256, + 3139395105, + 2700379809, + 1782503064, + 3770489056, + 516304441, + 3087047081, + 2224371025, + 2114485529, + 2360779489, + 802762897, + 1166085825, + 49762672, + 2597356824, + 3048910488, + 991862136, + 2264892753, + 565580008, + 3638926049, + 835936568, + 3507760696, + 104366368, + 1271179697, + 3662435849, + 1223838033, + 1427238680, + 4095224753, + 230481304, + 1826054857, + 888975561, + 3880916408, + 3278767304, + 3481978312, + 268684704, + 4291060009, + 2996771912, + 1888203425, + 1794239096, + 3934922545, + 4278051048, + 2717049536, + 1948322048, + 463007648, + 1525947409, + 39168305, + 3366676848, + 3957299536, + 509350344, + 3347500464, + 65442104, + 3748754312, + 599239225, + 1341190816, + 206503152, + 2476102672, + 591075240, + 1454281073, + 2202876737, + 2594875457, + 724711689, + 1787356096, + 1098335289, + 33636840, + 3432453353, + 1247332632, + 2247686576, + 1751956600, + 403802729, + 4104029136, + 1250626456, + 256505272, + 1853506728, + 4292853472, + 1419688728, + 2213314889, + 2314983296, + 3994682144, + 3090890056, + 2175119825, + 2870958425, + 2748755232, + 1583750048, + 1237454024, + 2451825040, + 3733861440, + 3464033144, + 2654806408, + 995436521, + 819627984, + 2798190609, + 13248328, + 1036736576, + 1983312832, + 2651949729, + 4142337585, + 3898990448, + 3664555128, + 3337800592, + 1940981936, + 3911687816, + 4087811192, + 706330336, + 3888391888, + 1417367640, + 3285604568, + 1176005129, + 3545682280, + 3144573713, + 1931086008, + 2137557633, + 521476368, + 1574657128, + 46373521, + 3993996280, + 496916784, + 2248920272, + 713313137, + 4154536601, + 851483409, + 1209036818, + 472646880, + 2325351633, + 634089976, + 842863169, + 3165681296, + 3862955553, + 205338504, + 2712903497, + 1632843465, + 3493150032, + 3948191625, + 3080808657, + 3650064720, + 357073880, + 3807897200, + 3021902488, + 1248594280, + 1443172369, + 3995161080, + 2530965841, + 3072695169, + 340927232, + 3950726577, + 2817800960, + 1564194320, + 673363249, + 2834321072, + 4076619217, + 1064192681, + 3125970080, + 3364246304, + 1917583368, + 4280236641, + 4280870768, + 1574578624, + 3847320632, + 45986217, + 6347584, + 1888368129, + 1633604976, + 3794179256, + 4138859288, + 3384577097, + 932883104, + 2041079433, + 1679305040, + 3746350864, + 983199928, + 1808801904, + 2582918177, + 3382595313, + 384997681, + 2836503537, + 3925618817, + 4271453224, + 1515653465, + 3306369496, + 308816817, + 4102922121, + 2442800584, + 3843365288, + 3434984408, + 2691398328, + 1652937872, + 265176385, + 3149346048, + 2927190577, + 2445015256, + 2354015609, + 1774194408, + 3877922576, + 461175088, + 2750653744, + 2529962272, + 810845216, + 3698316832, + 2902695473, + 1362737152, + 2118668080, + 3224390568, + 3719338576, + 4172418592, + 69882008, + 1289352888, + 3116122048, + 3244566289, + 1201609944, + 3889046513, + 1528413224, + 1082878297, + 316220016, + 1694563848, + 3768713864, + 664876968, + 4080350088, + 3259222408, + 2099470129, + 2694516217, + 1528952368, + 3638560208, + 1488199392, + 1311408497, + 1624929641, + 3843543704, + 2848103264, + 2253410337, + 1058428137, + 2867686793, + 503256016, + 2784728321, + 1921461353, + 2609186689, + 4001105537, + 2980126961, + 993741752, + 797156072, + 4238228688, + 223973616, + 3333054009, + 187322129, + 931166816, + 1016618105, + 3657060152, + 3276319569, + 968849609, + 2255741736, + 4159694416, + 3929257904, + 81345736, + 2590118088, + 2892180161, + 800731457, + 2566489089, + 310288401, + 937850648, + 2735133088, + 832658001, + 2503748809, + 2224790072, + 2967713800, + 2406954560, + 2098458608, + 607694897, + 1934065585, + 1065652289, + 2281056921, + 2207919153, + 1029850328, + 3339333128, + 4171473753, + 4233148248, + 257853297, + 77480448, + 2220570072, + 582625024, + 669538841, + 3204240960, + 2574910720, + 2463202072, + 1402555121, + 3498024953, + 3585680288, + 15232161, + 1889439736, + 2512655616, + 4047715529, + 3823544825, + 2755046888, + 3510217312, + 3979541872, + 1510672225, + 1449153064, + 2931831346, + 1320013664, + 1522685944, + 3394450968, + 747744992, + 985896944, + 2285682064, + 1027834385, + 1148467769, + 3797340032, + 3989637449, + 3969869105, + 2261941656, + 2500122376, + 3638672624, + 1916677969, + 1392851696, + 3166315713, + 3045674976, + 2734409504, + 3892062032, + 1616121577, + 990179936, + 3208113256, + 3177988041, + 163224672, + 3190233849, + 585352432, + 1525809088, + 4033189680, + 2304369944, + 3797018536, + 1053263561, + 2640611697, + 1953734641, + 856751456, + 266614161, + 4170181144, + 1610627241, + 3961065521, + 2043021464, + 3983349888, + 90463760, + 1033299384, + 1525777032, + 1743852824, + 489832424, + 3518442624, + 477393480, + 3940369361, + 4027756720, + 2489290985, + 708061832, + 2486358600, + 1442649392, + 3966600920, + 316938184, + 2396779680, + 2821566273, + 2128275256, + 1890723696, + 3469474872, + 3911466761, + 1625122497, + 1012978712, + 1736087681, + 4067566321, + 1840066160, + 2596901424, + 44376608, + 2840412368, + 3580624360, + 2144042536, + 2409444328, + 2932941001, + 3997797784, + 2445430984, + 4282145409, + 468052400, + 156214217, + 1141592400, + 1770563008, + 3353975657, + 3507400353, + 2337040321, + 2988419873, + 3180540928, + 980652385, + 4121639992, + 2204742321, + 639911192, + 294000552, + 2836524184, + 898830232, + 661522665, + 1657869928, + 3692207192, + 208182073, + 2772100208, + 2695114440, + 254031736, + 2067444432, + 4133870568, + 3567586633, + 507346361, + 2858059121, + 211038745, + 3990581808, + 1581134000, + 201360248, + 58377728, + 779833977, + 1127609776, + 384175425, + 718981264, + 2533187785, + 1990947752, + 463757113, + 951587977, + 1905119112, + 157507809, + 938472944, + 354291712, + 1753686936, + 1895027736, + 218027016, + 549445808, + 422761048, + 1640215664, + 984846169, + 663442057, + 1340045385, + 2427470488, + 2020746561, + 1243947224, + 2008423880, + 141189160, + 3058935905, + 3700438714, + 1317463656, + 3020144528, + 2557776968, + 713568200, + 2638365065, + 4239134488, + 469527752, + 55621176, + 4011391944, + 4266591992, + 3821569928, + 1584044545, + 141438648, + 3227553265, + 57803184, + 1283229081, + 2203597072, + 3274279633, + 1191310048, + 3399616177, + 2338988840, + 2883111016, + 1655474440, + 1238439945, + 1855421441, + 2130738928, + 3479898785, + 1721533112, + 964236232, + 1385318296, + 2434269681, + 2101024704, + 1153380656, + 3859032697, + 4121714928, + 696075441, + 3511598752, + 2062778305, + 2474165464, + 1465721241, + 1554130544, + 3415278449, + 1182883553, + 2979221784, + 4247681144, + 75781185, + 1425367872, + 4008509736, + 675277640, + 578695608, + 988694776, + 789786640, + 1453213440, + 1626295865, + 1310017769, + 2927346216, + 3916894977, + 1102656721, + 2066279032, + 723035144, + 924119856, + 3058293336, + 1638822377, + 2061198553, + 4165878544, + 4052391465, + 1066352121, + 1429673152, + 4288670408, + 3356702128, + 3997891640, + 2126794792, + 2685171777, + 2094846192, + 2747268104, + 1532807000, + 2817011400, + 2000690168, + 18968825, + 3468746264, + 2549179457, + 1468495784, + 1768656048, + 3121790536, + 93625041, + 2222395096, + 2896063281, + 2257838952, + 546548208, + 3655710088, + 195720025, + 1539900072, + 2387794160, + 1074750497, + 662221465, + 3036363360, + 1972051088, + 1392614969, + 772976313, + 668943784, + 2850073481, + 700936089, + 606744176, + 1596496393, + 693350681, + 2059568880, + 1894974945, + 3487090184, + 2333926544, + 2077790473, + 1370840376, + 1807499601, + 3998409632, + 2639886968, + 2398709080, + 3387904841, + 1061527472, + 509300704, + 2823458305, + 2338154040, + 88016232, + 3545367457, + 2551924793, + 1653040640, + 894914745, + 4064722000, + 4180779185, + 1154469920, + 2928651968, + 650875000, + 2253583728, + 1127455465, + 2927306313, + 4208462104, + 1261062264, + 4035160008, + 3278328888, + 2444983864, + 2128604896, + 3367529144, + 4221742688, + 569912545, + 2988700760, + 3750734576, + 3198988472, + 2272811737, + 3744854424, + 1373315576, + 1486330665, + 3012211968, + 3562701336, + 1023840977, + 37481960, + 3432347017, + 3958652161, + 532238224, + 28752168, + 4257046776, + 2686243872, + 457666289, + 3360828328, + 335684681, + 467923976, + 1986149681, + 830616712, + 2339546072, + 2223022328, + 345137865, + 3417227888, + 818954752, + 3862565329, + 1265593513, + 2543080672, + 1876115297, + 725353345, + 4094036264, + 3348059056, + 3426055416, + 1463260360, + 4102694337, + 1728368864, + 2309030232, + 3157557792, + 1209677544, + 2882634849, + 3667277584, + 1332720313, + 660139968, + 2223662168, + 2639334801, + 1129491152, + 1995595304, + 1633557897, + 779417616, + 672837521, + 2489545673, + 777830032, + 2086258728, + 2826242305, + 338944688, + 3824071520, + 348312744, + 205047128, + 3723724233, + 4162660904, + 3000414728, + 1178190792, + 1483910496, + 2852941065, + 2335475753, + 669354329, + 1110139825, + 1637625640, + 3024990968, + 3838896544, + 228146088, + 3693318552, + 1968776840, + 3574554896, + 838028000, + 1943267944, + 930658560, + 614247976, + 3895577224, + 2038681528, + 1940549528, + 1533117321, + 1746145681, + 2213759440, + 1452932696, + 3695397329, + 1257187320, + 2440595721, + 365703048, + 2551320104, + 3854440688, + 3109254128, + 3016581769, + 3202935208, + 1281332489, + 1772166256, + 982231777, + 3057352912, + 1896762249, + 3496060784, + 1116287376, + 3516827696, + 1000441361, + 4016346560, + 690321200, + 1999657777, + 300096553, + 4259328344, + 2596368488, + 706933152, + 2533118176, + 168574712, + 2718052496, + 3087300169, + 3415301880, + 3329096536, + 241563680, + 746351088, + 1830989705, + 3797638768, + 1688294065, + 3368828905, + 1781115320, + 668281528, + 3260942560, + 1134054729, + 1903380601, + 2061131568, + 1997876769, + 3390855872, + 766572872, + 94295616, + 261059969, + 956849617, + 1896350032, + 3763570600, + 1216231696, + 4202377353, + 833749104, + 3502034264, + 116464984, + 2785163016, + 1469696808, + 3306777784, + 3707874633, + 375990921, + 2335618145, + 2397891800, + 3301838449, + 908956544, + 553715336, + 2479933080, + 2659972392, + 3160477601, + 3670499624, + 3870769561, + 1684385264, + 3584091224, + 3841179208, + 478049961, + 2731180552, + 733954561, + 118634697, + 3382023897, + 1573927656, + 3794486088, + 1692547208, + 137008849, + 3479634608, + 397297201, + 3642373352, + 488484513, + 1790991385, + 2671616176, + 794462913, + 4280950657, + 3928574729, + 2634294824, + 3561657688, + 3497619232, + 3621263913, + 3066390160, + 646799633, + 3368142096, + 2085961113, + 239610833, + 4262560928, + 4286059376, + 2407359969, + 1462838888, + 2250626464, + 3837618569, + 447703088, + 249996617, + 3454226832, + 4040032785, + 2662012985, + 2729563280, + 1888623568, + 826123824, + 1147286200, + 4042583880, + 266387392, + 1854801016, + 3410476112, + 134216824, + 4131284000, + 717703912, + 2384801889, + 1302681776, + 1251464752, + 3164871800, + 1478402265, + 2731456144, + 2617222969, + 3119212265, + 2882759480, + 172286976, + 1315595880, + 2569310529, + 3496644088, + 3440484832, + 1565171705, + 4157554625, + 4164419432, + 2166867944, + 3833595240, + 3696630040, + 1665228152, + 2307346720, + 1570357088, + 4290134080, + 1223675792, + 1303082904, + 651242160, + 1667917449, + 711478792, + 752429312, + 2730387176, + 1621795977, + 1875207817, + 2848157001, + 927866312, + 4063636833, + 1009971288, + 2315288480, + 1692873736, + 1522796232, + 3693972552, + 368088520, + 3589058113, + 4086045704, + 1633295216, + 3764891832, + 3658502865, + 2519048297, + 1915965760, + 1183846025 + ] +} diff --git a/test/functional/mining_mainnet.py b/test/functional/mining_mainnet.py new file mode 100755 index 00000000000..c2757b61574 --- /dev/null +++ b/test/functional/mining_mainnet.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +# Copyright (c) 2025 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +"""Test mining on an alternate mainnet + +Test mining related RPCs that involve difficulty adjustment, which +regtest doesn't have. + +It uses an alternate mainnet chain. See data/README.md for how it was generated. + +Mine one retarget period worth of blocks with a short interval in +order to maximally raise the difficulty. Verify this using the getmininginfo RPC. + +""" + +from test_framework.test_framework import BitcoinTestFramework +from test_framework.util import ( + assert_equal, +) +from test_framework.blocktools import ( + DIFF_1_N_BITS, + DIFF_1_TARGET, + DIFF_4_N_BITS, + DIFF_4_TARGET, + create_coinbase, + nbits_str, + target_str +) + +from test_framework.messages import ( + CBlock, +) + +import json +import os + +# See data/README.md +COINBASE_SCRIPT_PUBKEY="76a914eadbac7f36c37e39361168b7aaee3cb24a25312d88ac" + +class MiningMainnetTest(BitcoinTestFramework): + + def set_test_params(self): + self.num_nodes = 1 + self.setup_clean_chain = True + self.chain = "" # main + + def add_options(self, parser): + parser.add_argument( + '--datafile', + default='data/mainnet_alt.json', + help='Block data file (default: %(default)s)', + ) + + self.add_wallet_options(parser) + + def mine(self, height, prev_hash, blocks, node, fees=0): + self.log.debug(f"height={height}") + block = CBlock() + block.nVersion = 0x20000000 + block.hashPrevBlock = int(prev_hash, 16) + block.nTime = blocks['timestamps'][height - 1] + block.nBits = DIFF_1_N_BITS + block.nNonce = blocks['nonces'][height - 1] + block.vtx = [create_coinbase(height=height, script_pubkey=bytes.fromhex(COINBASE_SCRIPT_PUBKEY), retarget_period=2016)] + block.hashMerkleRoot = block.calc_merkle_root() + block.rehash() + block_hex = block.serialize(with_witness=False).hex() + self.log.debug(block_hex) + assert_equal(node.submitblock(block_hex), None) + prev_hash = node.getbestblockhash() + assert_equal(prev_hash, block.hash) + return prev_hash + + + def run_test(self): + node = self.nodes[0] + # Clear disk space warning + node.stderr.seek(0) + node.stderr.truncate() + self.log.info("Load alternative mainnet blocks") + path = os.path.join(os.path.dirname(os.path.realpath(__file__)), self.options.datafile) + prev_hash = node.getbestblockhash() + with open(path, encoding='utf-8') as f: + blocks = json.load(f) + n_blocks = len(blocks['timestamps']) + assert_equal(n_blocks, 2015) + for i in range(2015): + prev_hash = self.mine(i + 1, prev_hash, blocks, node) + + assert_equal(node.getblockcount(), 2015) + + self.log.info("Check difficulty adjustment with getmininginfo") + mining_info = node.getmininginfo() + assert_equal(mining_info['difficulty'], 1) + assert_equal(mining_info['bits'], nbits_str(DIFF_1_N_BITS)) + assert_equal(mining_info['target'], target_str(DIFF_1_TARGET)) + + assert_equal(mining_info['next']['height'], 2016) + assert_equal(mining_info['next']['difficulty'], 4) + assert_equal(mining_info['next']['bits'], nbits_str(DIFF_4_N_BITS)) + assert_equal(mining_info['next']['target'], target_str(DIFF_4_TARGET)) + +if __name__ == '__main__': + MiningMainnetTest(__file__).main() diff --git a/test/functional/test_framework/blocktools.py b/test/functional/test_framework/blocktools.py index c6ebf77deb8..38600bc005a 100644 --- a/test/functional/test_framework/blocktools.py +++ b/test/functional/test_framework/blocktools.py @@ -66,10 +66,20 @@ NORMAL_GBT_REQUEST_PARAMS = {"rules": ["segwit"]} VERSIONBITS_LAST_OLD_BLOCK_VERSION = 4 MIN_BLOCKS_TO_KEEP = 288 +REGTEST_RETARGET_PERIOD = 150 + REGTEST_N_BITS = 0x207fffff # difficulty retargeting is disabled in REGTEST chainparams" REGTEST_TARGET = 0x7fffff0000000000000000000000000000000000000000000000000000000000 assert_equal(uint256_from_compact(REGTEST_N_BITS), REGTEST_TARGET) +DIFF_1_N_BITS = 0x1d00ffff +DIFF_1_TARGET = 0x00000000ffff0000000000000000000000000000000000000000000000000000 +assert_equal(uint256_from_compact(DIFF_1_N_BITS), DIFF_1_TARGET) + +DIFF_4_N_BITS = 0x1c3fffc0 +DIFF_4_TARGET = int(DIFF_1_TARGET / 4) +assert_equal(uint256_from_compact(DIFF_4_N_BITS), DIFF_4_TARGET) + def nbits_str(nbits): return f"{nbits:08x}" @@ -133,7 +143,7 @@ def script_BIP34_coinbase_height(height): return CScript([CScriptNum(height)]) -def create_coinbase(height, pubkey=None, *, script_pubkey=None, extra_output_script=None, fees=0, nValue=50): +def create_coinbase(height, pubkey=None, *, script_pubkey=None, extra_output_script=None, fees=0, nValue=50, retarget_period=REGTEST_RETARGET_PERIOD): """Create a coinbase transaction. If pubkey is passed in, the coinbase output will be a P2PK output; @@ -146,7 +156,7 @@ def create_coinbase(height, pubkey=None, *, script_pubkey=None, extra_output_scr coinbaseoutput = CTxOut() coinbaseoutput.nValue = nValue * COIN if nValue == 50: - halvings = int(height / 150) # regtest + halvings = int(height / retarget_period) coinbaseoutput.nValue >>= halvings coinbaseoutput.nValue += fees if pubkey is not None: diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py index 85170b10450..b51e40483e6 100755 --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -316,6 +316,7 @@ BASE_SCRIPTS = [ 'wallet_upgradewallet.py --legacy-wallet', 'wallet_crosschain.py', 'mining_basic.py', + 'mining_mainnet.py', 'feature_signet.py', 'p2p_mutated_blocks.py', 'wallet_implicitsegwit.py --legacy-wallet',