Add support for LWMA chains by skipping pow validation

Add SKIP_POW_DIFFICULTY_VALIDATION flag to AbstractNet for chains using custom difficulty algorithms like LWMA. Update blockchain.py to skip pow validation when flag is set, relying on server validation and checkpoints instead. Also update Palladium checkpoints.
This commit is contained in:
2025-11-20 16:32:11 +01:00
parent 823454f825
commit 912f610e26
3 changed files with 660 additions and 23 deletions

View File

@@ -312,13 +312,16 @@ class Blockchain(Logger):
raise InvalidHeader("prev hash mismatch: %s vs %s" % (prev_hash, header.get('prev_block_hash')))
if constants.net.TESTNET:
return
bits = cls.target_to_bits(target)
if bits != header.get('bits'):
raise InvalidHeader("bits mismatch: %s vs %s" % (bits, header.get('bits')))
_pow_hash = pow_hash_header(header)
pow_hash_as_num = int.from_bytes(bfh(_pow_hash), byteorder='big')
if pow_hash_as_num > target:
raise InvalidHeader(f"insufficient proof of work: {pow_hash_as_num} vs target {target}")
# Skip difficulty validation for chains with custom difficulty algorithms (e.g., LWMA)
# We rely on server validation and checkpoints instead
if not constants.net.SKIP_POW_DIFFICULTY_VALIDATION:
bits = cls.target_to_bits(target)
if bits != header.get('bits'):
raise InvalidHeader("bits mismatch: %s vs %s" % (bits, header.get('bits')))
_pow_hash = pow_hash_header(header)
pow_hash_as_num = int.from_bytes(bfh(_pow_hash), byteorder='big')
if pow_hash_as_num > target:
raise InvalidHeader(f"insufficient proof of work: {pow_hash_as_num} vs target {target}")
def verify_chunk(self, index: int, data: bytes) -> None:
num = len(data) // HEADER_SIZE

View File

@@ -1,17 +1,646 @@
[
["000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", 0],
["00000000082962e4c2838933cb63507142c1abb748d84b7ddce6bb233d6407e0", 1],
["000000004cc3eca82841f0691e6231b86c3b269e447fa7d6e7221cd42f725390", 16],
["00000000ae75d0169080e9f0ddbcd80827eda623cfe1f4a2b1be6dcd49b916e6", 69],
["000000000000086425f826a2eb60c588aefd3e0783ddeccf0f4f0c985d348e69", 22170],
["00000000000000d66df607146de7d9b423cf97150beb804d22439d199e868ca9", 26619],
["0000000000000017e9e74b9b403b775098905418b1333e9612f510af66746aa7", 28879],
["0000000000000014351dee34029945d5a4dea299ec8843626695c88b084b4d10", 28925],
["000000000000041fddecba51204a679b15ae47fc8aa658ef4ea7b953445d95e5", 50000],
["0000000000000850eba93bbc491f085e2c79c0c30c497292858c72e90cae69a5", 100000],
["000000000000829a0a4cab2f040151766df64edfe8817c565d101ae12b51411a", 142892],
["00000000000003212d753a62f2dec5b696ab22524cc49ba7cdc0d80c45d0eb18", 150000],
["000000000000221a9e16556453fc86308b260d95d80c14bafaf053a09374e7eb", 200000],
["0000000000012553b0303deaf5f2883deb66c901b6848dd03bb4a34f1774e0d0", 250000],
["0000000000013acdf07a4fb988bbe9824c36eb421478a71c8196cf524dcba143", 300000]
]
[
"0000000013c07703d72d597add4778a34352f641a2e77bba7722951de2b2911c",
26959535291011309493156476344723991336010898738574164086137773096960
],
[
"000000001502c99450c36d243297a5de1793ec20e4f129eeaeb624ee6ff66a62",
26959535291011309493156476344723991336010898738574164086137773096960
],
[
"000000000e39f574ed36eb188c80c49df5e091e8631bd0681a20e260874fc246",
6739883822752827373289119086180997834002724684643541021534443274240
],
[
"0000000004bc751272ff5344c014ed8329c34a13fc4cc18ff8c0341893e5359f",
1684970955688206843322279771545249458500681171160885255383610818560
],
[
"0000000002fc325a014363596b7f90109690babe248ace2a93aaaec0b362efe6",
421242738922051710830569942886312364625170292790221313845902704640
],
[
"000000000000e2055983edec74c202b66cad83a9981f5db11bb04b1d99ad28bf",
105310684730512927707642485721578091156292573197555328461475676160
],
[
"000000000000115066e2162a909199c1bfe5823db9be378e44443d6b5a261d5d",
26327671182628231926910621430394522789073143299388832115368919040
],
[
"000000000000056a23a034af4d11e4bfd4825fa7d1d5dc3377aaf645f8fb19ac",
6581917795657057981727655357598630697268285824847208028842229760
],
[
"00000000000021e913dce673d5cede06bb048702f6d8c4d64a4b33b909be6f50",
1645479448914264495431913839399657674317071456211802007210557440
],
[
"000000000000282aa920b6728360dd39461cfc3c9c4be9c3177bec56e95f557b",
411369862228566123857978459849914418579267864052950501802639360
],
[
"0000000000003d53674b7c01e58228da8341553c77013880e3c988dd2f8a053e",
102842465557141530964494614962478604644816966013237625450659840
],
[
"00000000000001783f443b6956fa81f3be60de637f5a4a4166593ace82da3843",
25710616389285382741123653740619651161204241503309406362664960
],
[
"00000000000003b8b89f9e1d756d807942d9bba69d91544b8fd509d40a270ed1",
6427654097321345685280913435154912790301060375827351590666240
],
[
"000000000000008be1639191b6d8c03bef45182e6deb7a9553dbac3e68113dfb",
1606913524330336421320228358788728197575265093956837897666560
],
[
"0000000000000144e5277bf0e5a66420ddb53d765c3f41ec6761a2de8391dcd5",
2643003109598946560679139616904509230436222239682727656816640
],
[
"00000000000000681ece340b5db7e46bde439ee58c7ddd8603c272a6a841ad5d",
1330181609542937674833311486014033966434127658229411751133184
],
[
"000000000000004088a758da0adb1299bdda0e3ac196454bc6ea6bf360eca1a3",
724655075206073772618898796084781625411365171946177033142272
],
[
"00000000000000dbf9bedb5701d82423ebd44bf65b0783701d5f5788b6deeeee",
2133307352671278853500020262450533598438098557557439041896448
],
[
"00000000000000e19c485c5c3f37ae963f04bb34048eb0261066ff63d3c41e83",
2959408268948281437931237377518070665722881593805242896482304
],
[
"000000000000008e3ecc4cdea36164e1cbb1157fa881cea8243ab8350405fbae",
986534809459170757235035748645848635099461597470960799186944
],
[
"00000000000000025fb6bbdcb4c2ba52f6611d20cea26c8c25e617479a0d7e75",
2253651162504395373769184537798593078009310903344272953573376
],
[
"000000000000007604009f5b08b13f42cf075d87d06916f386d4d79e1b126e20",
1023044983224759693396565008220677601089994438317862937427968
],
[
"0000000000000189e90a959c1790ea87480f53bf9e7584e939991e70bb7f9854",
2955313440863087782901703874261525039584252322870768311468032
],
[
"00000000000000ddf34f3b29bf0c1037ec03cfed34e6f4b465a78cb39fae9406",
4935886157949508689222297838598150223546172864554900826095616
],
[
"0000000000000016b26d56d23969aec7f7b74c446f1f0bf0753b4d5d520b4437",
6836646507267634103799589089760787305225229472755711339397120
],
[
"000000000000016c8da2c765e4ae84fa23dab944cd68b626c4eada17be043e87",
7967505616783390810159380528035543458001169445797435057111040
],
[
"0000000000000000cc4e16fece06b28a8190913f02ecaef1162286fbfb2abc06",
6647671417132379616897704601148828379174835514121006987870208
],
[
"00000000000002e07f6c7645fd93cf4b45c96781c96c679954334567ccfbffca",
13546328823965611047461905845016225795206013646716755605716992
],
[
"0000000000000903edee19c7553c6eb16908cc0ee6934be0191df41eb9394b3e",
15001194270713397439811252445159208916819361919927025229889536
],
[
"00000000000001cef4338bad70e99e3a865f94463ae162e8ea2c6f9d6c6716a0",
9399224250881938817192082654680448309705140283306243554017280
],
[
"00000000000004c4c7a33a291bffd936ae335b6bb3b1248f38cb2d0b1a70bd9e",
10728817382137183990703784535436056557412758345712736801914880
],
[
"00000000000000ae603874e46301a31c650f68a074fc08d0831f964b64cf833a",
9249530086450158793507639317068406108649261845851349293465600
],
[
"0000000000000015286ba0b7db787ad345931559b3a3ef2ca325a8356d8e3190",
10079872950384278158298792336707095231754301551989357358874624
],
[
"0000000000000255e229a2cef3046e7e5443be28c901a94ee9a823a5f752ef58",
5552856602737788616486501484952647498397608285233041593335808
],
[
"00000000000003c5bd07e721332be1f6e05fe34a8d629726b6388ddf5a08e20f",
6207832936939542587437992137580472441002788436141335694540800
],
[
"0000000000000004acf1d1ed99819230b500a15c5dbb7c05869590e43a4a4276",
10552617174830587553325175227642422608717010196400554958127104
],
[
"000000000000002f63a1c4eaea34e1cd45251bb2c483e2736d1f30aa9f5d6686",
7688002950058106536616551763835761467856049329737100957843456
],
[
"000000000000038383f948ea1a71adeb23c4a26847500c2c5ca8f8ad526c47de",
7180734666067170397389072031072791925604777730381351168770048
],
[
"0000000000000437791016eb012d9cf32f4af9f2affdb4fe89a2cab0952f6d5b",
7307012298634519639317799826109977402334961834049279988072448
],
[
"0000000000000038a84c82ec09a0b66725495db9127856b1b11f5e9d8e9b5a9e",
9593103326747964148440713853779288225143114207131935432507392
],
[
"0000000000000461631a30677abe1756cef4ac21e785afb8d4c6f5a256047743",
9418840193805022194579069496627972267255460144070193661870080
],
[
"000000000000030a91819e48eca59197f1ce1f728cb64c30e731b5c653f2076b",
18776993564191755190367148450980792290839618218901916677570560
],
[
"00000000000003daaf1a2ee84045ed6ec6f212c416c4d546d8b5578fef942794",
6294510884730917261266740245436093928428264320892040233615360
],
[
"00000000000001cbcaf09954506a7b68d32a8e4bf8c159ab1b93a61358856f63",
5923843123270602991317890133285194345568032651931248008101888
],
[
"00000000000009ef43bde9faeca878a4a92048df10f86bdf6bd42f609d95a266",
69198646931259499469417073933679142546377676920641741781991424
],
[
"0000000000000255ef3929514905691b15ed4cbea412ebb47801b05481cdd746",
5957607065026960254645241234987369957501520712271197131243520
],
[
"0000000000002a87656e9191ead9caabee38d27f8ce7ba90ea169c7f710a3da9",
68703491492023567315726058575818769047913727835307731184517120
],
[
"000000000000192714f8d13ce49846eaf09e85c18288b67e65748874a1e59920",
48030420884886572867132761982190311020260191874962397081894912
],
[
"00000000000003bd370e2d58e273e8305fbf7eb32ca14b3f4e858ff6a04b3be6",
161503991908479678748722233273653868508942385427482332859727872
],
[
"0000000000002db7579192f9418146ff48ebb1ed0820a069ec12d2cf9b4da963",
80631848303835953687865822229898350014475483566561972019265536
],
[
"000000000000036f4d36b61a9c0d23093acf991d2a9721c7c8a78e0d6bd45b06",
38181231423277755226904934906786097529297651885557092991369216
],
[
"000000000000040d78139e0b17a60a64f3f4374dcbb307519060aeb9270a1883",
18056083141839787217173648275856852445918425436000795276345344
],
[
"00000000000085a3f7cd20b7ce182af9fb694cb6bef246f5456d4f4af09cf576",
250450082140193175796284162196562682336067879878670513030037504
],
[
"00000000000006ce5173ef398cb4b0d4d068a343ae00faf7e9d7a3adf9ee3339",
272846781132052852761650258858567636108721084104518188172050432
],
[
"0000000000003a8c0d5e9a8e7f4f81a2c3721119e18a54cab0e94587adb76450",
126570743794477415295332845922986353465879758187394143788990464
],
[
"00000000000034f6d8fae292b28d5a3238eb62eafdd61f4feebce53701c01bf0",
108505318559820509619678645163651992735177992917704517273780224
],
[
"0000000000002ffa54297aa1f82800fa0e95b48aa11671e40087cc69844285e4",
103948191739787087093577329509508095726981558664675538092687360
],
[
"000000000000080831702d04468070b743da28f9745fe11366abb8637355fd83",
72942521277630539023275648854231130679484787646223304429142016
],
[
"00000000000011c75f848709503dc3a4b5b061fa30033ad09caa12092d72fea8",
83509114811793823482989052206761164107956400743418173839114240
],
[
"0000000000001923a956165ebcbad4d2063772f2a4a8ed013c76eb90e5e334c3",
50193274751585746057821931175324302579758459722795535973744640
],
[
"00000000000060a478d6a6932ffcbdee98be0f197b3ccb791f3e05be302525fc",
182666529331404911171564319040977918087370277713540132028547072
],
[
"0000000000000f801fd21ad291c71589c0003c03966b5b288018b46ed01fb608",
38547853396510183550267718982785320295913130083235320507138048
],
[
"00000000000027cf18fcaa0083be011d262831537fa3d26adc3cb8ca568957f0",
69517994482047296853277219720584832575296884253878849537835008
],
[
"0000000000002984a4a95701f02236221bd46879e5e5b391e057eb443d5a669d",
105215479732332888689663614433527881004519973269330534810517504
],
[
"0000000000003f0a0e5be5f1f9878b2fafd83fbbdb456084828af1b3aff252ea",
222121522008393085509093244529626483800197949757804325273337856
],
[
"0000000000003e87c9f2c638608088ae09e49eb3868452ac671bcee0a4180da5",
164316648404434642669577075339852025567241936562947274011836416
],
[
"000000000000489049c42e6a0b3b058c03275af48e290c234f28b0c4043c4f76",
206422490568190996918739935182184110093525958791199774956584960
],
[
"00000000000069058431b5b01381e780955d71364141887cf9c045051220d5ef",
316378481666959483858851458508512802704390919111876267518984192
],
[
"00000000000059ffeca238a0210322331e381ffcfa01d06a59619af64d2d348a",
457255475914242760241618080533562460080976082351982594091909120
],
[
"00000000000070dc6e5d2410e33bbb206964ab920ff39089dfc54ffc04cbf2ec",
341813297898746314313914077251350267022437663372844535365238784
],
[
"0000000000003077c9ec2b21bc6246465b8b149e8476ec365e6dca151b98f9a3",
124409287563711511795282499542341122988356950629640436342325248
],
[
"0000000000000070f81651bc6ef5f5b05adbb84ab4823f61098aba0bbebe6a07",
31354515487114932082907507905761244227582271842313131394072576
],
[
"00000000000001aeaf653d54cacfd2e32d364575dd04a2f515ea2343e1077b7f",
18863892191341014552191500160808323422787535202086215655358464
],
[
"0000000000000571436c8f02c256636e180cc82f0ee9abcb71d57b647bd7bbf7",
14757883018681201997547414404352608628354581946976179079610368
],
[
"0000000000000453c258f7eea1a7dc49c6a49238111a9cf5cae6d91ef635b180",
15647809309244187121151539956406901772518718230184685597622272
],
[
"000000000000236699cf9112d2caf857eeb9d319fb2defae62019a0060acaa6f",
94468860881993006533981139339024446455630299649974513285726208
],
[
"0000000000000d9005890f1910abb00d92c869963577f9fe808d6eade9c19e55",
42549873551749000350539040743366723710382450176470466573631488
],
[
"0000000000000540ec267f93a7118ef1cee5c1d816cc5a53a255d678bc8ba7fd",
36887854226644252738893957482976105388217311866086042630094848
],
[
"0000000000003563e640aee183b9d5ef0b391b9a1e438eafb657024a1e7f2283",
95483250330402955687105696403235779110451215449730283238064128
],
[
"000000000000044f2e28a8bb53498d176a34e38d4643a3882cc9cc3089baf7fc",
87958231346107018162353271562431507324891386263115652738842624
],
[
"0000000000000aaf2df65708c246065a332b49277ec6ae0a78e0d976f7f356f1",
34374953858482656678734008095288548806233586102920214063611904
],
[
"00000000000009699c82c516bbaaa135bec5e74f0e75e90377e7be6f25e18677",
88229863115734415230719571856299845327069440535044451857334272
],
[
"0000000000004d45420462e66ec137a72443b3403db9fce2a0d2f5ac00262005",
157845495953681359594940518582678478401073041895875863057006592
],
[
"0000000000001eed364bb84261fc9d41b4a366121d834d826183dfd7ab3845ab",
127362050931994598739123895127149469913459661370611891139772416
],
[
"000000000000342d9c4c3d924afddcdf6a37de5cd793e8da01c7b7d23dc9de7c",
92846156523609587993864386572467961472227027068102695551238144
],
[
"0000000000003470cefb663ec558c1c02f298bb46b5b62971990f20e28118a48",
96740926510916446428272357774701277648789973322610944403046400
],
[
"000000000000170d72a0284249758a8feba3bce70d94bba7363c0f680ab0db9a",
49473516765880509233049916477164779767343348231714296641355776
],
[
"000000000000019a794f00f09b665b7a50aa165cd7f677b3b031c5528bbbf13e",
42586604404872473974696173604913462320895424115750963150585856
],
[
"0000000000000324891f6a933ad1269993dd9eafc81c84da65c782cfe3a59cd3",
14086404772495404135369121070936429156460195213200211950174208
],
[
"00000000000003bf07ceb6f60f11077f7d79c07c9e1c61ae59949f6163451f51",
10225398726944902964288500970405288591830737019031912221507584
],
[
"0000000000000586f9009ec753321cb12d32533681d7c0cc8f5d2d0dce218f52",
11975557674471055748977200742515810489417212896217495781769216
],
[
"00000000000006263b33434b02d8aa1e4426d943b624892ecd8b974f2e06b037",
76729207419431208048281322557333589849945471467922188186681344
],
[
"0000000000002c0cc968d062e10082f9f1601798fa988f0bd8d12de1ef9a1221",
85333593663069808413752698376300367399711650993073173370503168
],
[
"0000000000001d63388fdb884a931a965d0a0a6610f622ac889f2c5ca7c8c2a0",
48349106397600716187006096963180272115612075912898721521598464
],
[
"00000000000000e3153d3d92d0808a1a5e9c6933971218e623dee7bad46e720d",
27416909184449790323130704187425022608718814591861606494240768
],
[
"000000000000070afab1ba9dd98a0774dddb4577e046846f24cb76d0136b4d20",
79606621046961000968734954935511010373108016043734119632338944
],
[
"00000000000005c164b6bd796e7b8998d9654157199f2a7afdcd8838b0403896",
67211159594292691672567567107556015167379268628038316854345728
],
[
"000000000000073f39cf2d712013b7671c59bd65b94e1c6a183bb982d6a10587",
66596739222084412584363671750654696007009374789259489601126400
],
[
"0000000000001570b0dfb51f4e34260a0b741e3d59b6c85901fc69a4ebb719ba",
55270371178652801210008800542392190892719997685024922638745600
],
[
"0000000000000869a42225f6b1a76dbc5d96f634f099c897fae425f90809fab4",
37553227010595240899860551161836118028324161543199230288461824
],
[
"0000000000000b500cf3576d85e64a52cbd543950b442367c92fd82ee72e9a6a",
51983965141176719871036492509608895854633284012284631444357120
],
[
"000000000000240cdbebb433ea27219a840c9e0bb10f5e1b937b0aba2256f67c",
59237107156558721785205279721020485588545679928710913448738816
],
[
"000000000000094be502a30e8ef0e0f4565a0912248319bfb6711a92037e39b7",
98834609658883096859450664616417812852976425761425204227080192
],
[
"0000000000003b593187d36adf878640d75bc258c7738afe3b6819e2272e859a",
168069521564621646722811930474147440315875256524654298770964480
],
[
"00000000000006e498d16a97c80f2255327ff34625f595a71f7089ca59bd2eff",
57562224389999901461239141954883586878058556517206988427362304
],
[
"0000000000001b2a37696794b980cc864a767c5d59d4f484d4f996f121e4ecec",
127608991133467564606204325733716362134071250517804068060004352
],
[
"0000000000000fea969858ecd9c7500fb4dd7e1e1b51b06ee0ee1ac9233c55fb",
167157085979554423423656237520958363430422128201219159504191488
],
[
"0000000000001d6fd30183b59a0caa8faf8545bb41e057c23f68c8c8d66561d0",
103208082213299151264766315962828016808607990318051700523401216
],
[
"00000000000006d9eabd1efa23792c4b73ccdef069754676831c5a812cd0402f",
66798145916047171161684559150350898241157283959653347333505024
],
[
"00000000000037c9a98c8c98164d60ef831226358dedfae902e2b054b7d093a1",
145042954645501762509549686317207492266281281569676185665798144
],
[
"00000000000060886666f6514e07fb5163f31b19da2c903c674380261e45339f",
204492428904131515709190832335862359100256111890982813969678336
],
[
"0000000000001fef4ed18d4758004cf05a28d76142b6ffc84dc1e77347ace128",
148910899830861304425380953013077569430894165414589732745117696
],
[
"000000000000a2a5d8e95dc18746b9e1e3878f760d0b7ba08cb2733996766dd9",
348165724854957635246915896147636425435533247082642138292289536
],
[
"0000000000002810cd2879cf1910e9115d468d3f417fef1249de38eaedce70ee",
92293747050966906232425103369673252422663081889163905576468480
],
[
"000000000000227e6e250262195669dbb937aecd4aef3d1ba6c2aa1a1ae75a49",
159997462972058221511179910078531594164130882220985009638998016
],
[
"0000000000013ce74ac567746c6c29c5115549a62c6f01bc1c5998a37c431e63",
518011543611050443354784686360789463322430780698949984142229504
],
[
"000000000000001bf6dfeefc1d871afaed4b8f0b287c46ad1b043b0e0ba0a463",
161193594131650538155794900233386736285655511530718777340592128
],
[
"0000000000002f0f3b64c684db3162088c1c6d041298d5e3de2102e3dc0bd898",
126795052101802873715753040460656289920467665795229913272287232
],
[
"000000000000944cb4cbabaf8f17b1fe5f401d153bada6d4303e6dfd4a7b99d8",
361228373566297317916458173937331579247442248762571794113626112
],
[
"0000000000005f52310833447a6414abe0ef0a87d73371f4f63e2e9c868eac3e",
325285689029473183862734443700044481348840161487570732492783616
],
[
"0000000000002df1eb3502dce0eb42b1950af4a7d332e8f4d69cbd650de1d3ce",
519392505992835513122828560033895149933973298896732071735066624
],
[
"0000000000002bfb29f9c360e9d368d75551abb5d26828f9450965a5ae2553ec",
264448019010105473899637972610315778443976132519825309993795584
],
[
"000000000000a8396d75a87d52e3c9b102b6c32f71171f220b07700d0e2d32fa",
499010756658034960682653751776739857080888950768557351671693312
],
[
"000000000000081356c2b19d9f7e39e70ac6e283cbdd3861e2ba121e767d952e",
530157735469023670632806938894696297837588838483987890924683264
],
[
"00000000000029e9c430dc93fb5c4bd366dc22ef67e9ceaea21b06e9bcf0bb48",
92798293622877264553040138678116003015804246607838657288077312
],
[
"000000000000ee9201eb550fad33fa0bf3c2e834d5d11962adc59aa8173333d3",
516247678023406786060146829532868109059506018819055590444105728
],
[
"0000000000000ba2d0ea0fa39086c451f55c9af1ebee4096923f01f004527106",
90078396017019831153004010640777199871770770513961245208477696
],
[
"0000000000006585b6191f8c7290ce51d3bef9aa1bc6a5f59809fedbbaa430d1",
905365214600027126610327415877511350193691032821381089898528768
],
[
"0000000000018cd5be20f0bbc62691e9c43ed47afd74568e62aba47149525696",
794423718528802930790293673611739053955498002695923743917604864
],
[
"00000000000056fbe570bc2076c9c96ea37fbd5430d584cabae69c2d8e68c9d2",
10567607482252978639490536702390300941837389130797757991047135232
],
[
"00000000000002d469b1af824785aeddc31f925c2cb7d1efbd08505288b43a1c",
7980403099255318130791324376616040460090504754249732253024256
],
[
"00000000000004c5c946b7389536317ced4ae42e320def3d3a994706b60655d9",
14181174296742550702370001251095404276375178040516045908738048
],
[
"00000000000007300c9de9d1d9577fdcb84f0c6d2ffffa979be9dee0b0239eb5",
15093904120953620252186499006913694021191561161862644427128832
],
[
"000000000000447d1c519f53cbd3f597d8fc4566c175179c1c1e5aadd80879f9",
302568857849108786178412721777455936588965737134055391590612992
],
[
"000000000003f39e4de4d27e50b5d3cf1320bc54abc997baf3209970a10002cf",
2118421402065238570902357557701816092771887324819500223550193664
],
[
"0000000000019dfaa642c47cd039cdd7b2a9a3ef64eb32433e3ab6a67fd57c9c",
1936768354944883416277713647583609434356301260612155528781496320
],
[
"00000000000294657390dd41fdd67b261a89203603a1a503583125d9856b5d30",
1081814544381746722881751456563878853150328244365265100056035328
],
[
"00000000000573590ad7f8d284537bbc9b25a4b96ac020424daaffceeea242cc",
4680320041735546137769713638153253817841406061790384485436489728
],
[
"0000000000007e8966042d12cdb8019a2ee8b2a1f4397bf4362741800bca192b",
207269899302468198821857766754317145059699776776202419615825920
],
[
"000000000000b22a7ca1866278ac40e6d5218fa420f5e913da7332b6d49389c3",
294766420392023141988964835524408807233750509316586596691083264
],
[
"00000000000139227cef439d1c7ec93514aedb95473652a4a0aebd0955b0f0aa",
715162754916075312785339160564895850119373560498676380123267072
],
[
"00000000000014277a0a2e883f756ef8cc70f34dc7c0c0d75225355bf7532b62",
132657325684223648756297525643778693444274631984188312879366144
],
[
"000000000000e0ad45a995ecc80dc2584b750e7b83e4544e7984e5884765cfab",
508018397648314847578758109599042858387995830831363241197699072
],
[
"00000000000152cf95ab9aa4dcdc3a21ad8ead21e2ce59a37fdedf1a82995b40",
757131457118870660372345248648462307777433909000362914876489728
],
[
"00000000000038af313017ab9551bf6cbb632b6dcffed1db1713f710efa23560",
740785884199923743663316852990429544429903375422978569004908544
],
[
"00000000000121b20df509f229e21d9211d035843f5b99a2cf79a68df4e9f67b",
748964947761132588698594886608869133770084744567115205975212032
],
[
"000000000001c2fc8d72ec517090bcbec6552c42b51a8026ef692b2cf411a86c",
737383695059344162689317855123050989232375898772079062298918912
],
[
"000000000000769ffbe9df8220a24a1d8345dfa91db9239d56a81469bec0d249",
208562982259957855059207939375497924341416861997762010725482496
],
[
"000000000000eb64c9a4d65f5d5278747cac7ff60f98a22c36e263850f9de01a",
780155866284269005414094924252788028191697348770656993469792256
],
[
"0000000000005a7b6e44e498339ebf768eb8f68302958e153a8b07a2ef9cf944",
603537054755693968762047317251993918241825373629772454380437504
],
[
"0000000000008cd85743871dd1a0002b55f4dafa4910c43db41993257b644b0a",
724634901434773814057967366804516218741272014864372608203227136
],
[
"00000000000007ebb752742d323a41b2913d21e8fa8a0623971e22d5d1b17276",
16061607625206630967130027387289919657042715693000213122777088
],
[
"0000000000002d65f159880a3a3559fda968ae83e2db7a812baee5b2009f1f85",
282739493467022261645455462989542918380498396284993506564374528
],
[
"00000000000005206f97164e6b22505660e349bc40cc957e6d7401b271f9b0d9",
12363953344348106621239540213076784848913546139343707917254656
],
[
"000000000000003c40e4eee4ba04f00bc5b4e00e1f72118578da866382dc7f7d",
19024007325450682620112780258204987726292021065571958410706944
],
[
"0000000000000292b5d9523bf3bfb45d9391a6644f6cfd6d9b3f68f09478fa76",
17366729867665329627351463182715991767706309729103678611128320
],
[
"000000000000071c026c4caf69fe9cee0d3ce108aa541865b9f12d5745b1f789",
24392032705995718113170398224907090734671740462756680112799744
],
[
"00000000000003c82da4eb8c0b0f7eeae4c3dc4f5901e446a4c5aed5395df2ab",
12967879187092536102541397609536178691994018852613821862772736
],
[
"0000000000000b27165e3204797787db2b50dfb76749915b043b475a98d72dcc",
44073296719012963146855906356116303063634166363050741824749568
],
[
"00000000000004ce81e5952baf133d7cd5cc192d06f9cd404f2d76c1a66f693c",
31605967355460207126786945485976066958430434557481016839110656
],
[
"0000000000000080cbc8949157d55517b9c170dabd9c2079a159984da9e450da",
12225195068095945580448342039850487254191971024264715841830912
]
]

View File

@@ -79,9 +79,13 @@ class AbstractNet:
XPRV_HEADERS_INV: Mapping[int, str]
XPUB_HEADERS: Mapping[str, int]
XPUB_HEADERS_INV: Mapping[int, str]
SKIP_POW_DIFFICULTY_VALIDATION: bool = False # Skip difficulty bits validation (e.g., for LWMA chains)
@classmethod
def max_checkpoint(cls) -> int:
# Checkpoints are indexed by chunk number (0, 1, 2, ...)
# Each chunk ends at height: (chunk + 1) * 2016 - 1
# So max checkpoint height = (num_checkpoints) * 2016 - 1
return max(0, len(cls.CHECKPOINTS) * 2016 - 1)
@classmethod
@@ -210,6 +214,7 @@ class Palladium(AbstractNet):
BIP44_COIN_TYPE = 746 # Palladium coin type (SLIP-0044 registered)
LN_REALM_BYTE = 0
LN_DNS_SEEDS = [] # Lightning DNS seeds not configured yet
SKIP_POW_DIFFICULTY_VALIDATION = True # Palladium uses LWMA, not Bitcoin's difficulty algo
class BitcoinTestnet(AbstractNet):