[{"data":1,"prerenderedAt":990},["ShallowReactive",2],{"navigation_docs":3,"-guide-lookups":96,"-guide-lookups-surround":985},[4,48],{"title":5,"path":6,"stem":7,"children":8,"icon":47},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Puzzle records","\u002Fguide\u002Frecords","1.guide\u002F02.records",{"title":16,"path":17,"stem":18},"Registry","\u002Fguide\u002Fregistry","1.guide\u002F03.registry",{"title":20,"path":21,"stem":22},"Lookups and views","\u002Fguide\u002Flookups","1.guide\u002F04.lookups",{"title":24,"path":25,"stem":26},"Verification","\u002Fguide\u002Fverification","1.guide\u002F05.verification",{"title":28,"path":29,"stem":30},"Balances","\u002Fguide\u002Fbalances","1.guide\u002F06.balances",{"title":32,"path":33,"stem":34},"CLI","\u002Fguide\u002Fcli","1.guide\u002F07.cli",{"title":36,"path":37,"stem":38},"Agents","\u002Fguide\u002Fagents","1.guide\u002F08.agents",{"title":40,"path":41,"stem":42},"Custom collections","\u002Fguide\u002Fcustom","1.guide\u002F09.custom",{"title":44,"path":45,"stem":46},"Playground","\u002Fguide\u002Fplayground","1.guide\u002F10.playground","i-lucide-book-open",{"title":49,"path":50,"stem":51,"children":52,"icon":95},"Collections","\u002Fcollections","2.collections\u002F00.index",[53,55,59,63,67,71,75,79,83,87,91],{"title":54,"path":50,"stem":51},"Overview",{"title":56,"path":57,"stem":58},"Bitcoin puzzle transaction","\u002Fcollections\u002Fb1000","2.collections\u002F01.b1000",{"title":60,"path":61,"stem":62},"RushWallet contest","\u002Fcollections\u002Frushwallet","2.collections\u002F02.rushwallet",{"title":64,"path":65,"stem":66},"Zden's puzzles","\u002Fcollections\u002Fzden","2.collections\u002F03.zden",{"title":68,"path":69,"stem":70},"Arweave bounties","\u002Fcollections\u002Farweave","2.collections\u002F04.arweave",{"title":72,"path":73,"stem":74},"WarpWallet challenges","\u002Fcollections\u002Fwarp","2.collections\u002F05.warp",{"title":76,"path":77,"stem":78},"Hash collision bounties","\u002Fcollections\u002Fhash_collision","2.collections\u002F06.hash_collision",{"title":80,"path":81,"stem":82},"Ballet wallets","\u002Fcollections\u002Fballet","2.collections\u002F07.ballet",{"title":84,"path":85,"stem":86},"Bitimage","\u002Fcollections\u002Fbitimage","2.collections\u002F08.bitimage",{"title":88,"path":89,"stem":90},"Bitaps mnemonic challenge","\u002Fcollections\u002Fbitaps","2.collections\u002F09.bitaps",{"title":92,"path":93,"stem":94},"GSMG.io puzzle","\u002Fcollections\u002Fgsmg","2.collections\u002F10.gsmg","i-lucide-layers",{"id":97,"title":20,"body":98,"description":978,"extension":979,"links":980,"meta":981,"navigation":164,"path":21,"seo":983,"stem":22,"__hash__":984},"docs\u002F1.guide\u002F04.lookups.md",{"type":99,"value":100,"toc":970},"minimark",[101,106,254,265,269,519,544,548,675,685,689,778,789,793,866,880,884,952,966],[102,103,105],"h2",{"id":104},"by-identifier","By identifier",[107,108,113],"pre",{"className":109,"code":110,"language":111,"meta":112,"style":112},"language-ts shiki shiki-themes github-light github-light vitesse-dark","import { get, requirePuzzle } from \"@agntn\u002Fpuzzles\";\n\nawait get(\"b1000\u002F71\"); \u002F\u002F the puzzle, loading b1000 only\nawait get(\"gsmg\"); \u002F\u002F a singleton, the key is the id\nawait get(\"b1000\u002F999\"); \u002F\u002F undefined\nawait requirePuzzle(\"b1000\u002F999\"); \u002F\u002F throws PuzzleNotFoundError\n","ts","",[114,115,116,159,166,192,213,234],"code",{"__ignoreMap":112},[117,118,121,125,129,133,136,139,142,145,149,153,156],"span",{"class":119,"line":120},"line",1,[117,122,124],{"class":123},"sds8u","import",[117,126,128],{"class":127},"s14qF"," {",[117,130,132],{"class":131},"s9qSu"," get",[117,134,135],{"class":127},",",[117,137,138],{"class":131}," requirePuzzle",[117,140,141],{"class":127}," }",[117,143,144],{"class":123}," from",[117,146,148],{"class":147},"s2tGe"," \"",[117,150,152],{"class":151},"skmWX","@agntn\u002Fpuzzles",[117,154,155],{"class":147},"\"",[117,157,158],{"class":127},";\n",[117,160,162],{"class":119,"line":161},2,[117,163,165],{"emptyLinePlaceholder":164},true,"\n",[117,167,169,172,175,178,180,183,185,188],{"class":119,"line":168},3,[117,170,171],{"class":123},"await",[117,173,132],{"class":174},"sTnI0",[117,176,177],{"class":127},"(",[117,179,155],{"class":147},[117,181,182],{"class":151},"b1000\u002F71",[117,184,155],{"class":147},[117,186,187],{"class":127},");",[117,189,191],{"class":190},"sjj-T"," \u002F\u002F the puzzle, loading b1000 only\n",[117,193,195,197,199,201,203,206,208,210],{"class":119,"line":194},4,[117,196,171],{"class":123},[117,198,132],{"class":174},[117,200,177],{"class":127},[117,202,155],{"class":147},[117,204,205],{"class":151},"gsmg",[117,207,155],{"class":147},[117,209,187],{"class":127},[117,211,212],{"class":190}," \u002F\u002F a singleton, the key is the id\n",[117,214,216,218,220,222,224,227,229,231],{"class":119,"line":215},5,[117,217,171],{"class":123},[117,219,132],{"class":174},[117,221,177],{"class":127},[117,223,155],{"class":147},[117,225,226],{"class":151},"b1000\u002F999",[117,228,155],{"class":147},[117,230,187],{"class":127},[117,232,233],{"class":190}," \u002F\u002F undefined\n",[117,235,237,239,241,243,245,247,249,251],{"class":119,"line":236},6,[117,238,171],{"class":123},[117,240,138],{"class":174},[117,242,177],{"class":127},[117,244,155],{"class":147},[117,246,226],{"class":151},[117,248,155],{"class":147},[117,250,187],{"class":127},[117,252,253],{"class":190}," \u002F\u002F throws PuzzleNotFoundError\n",[255,256,257,260,261,264],"p",{},[114,258,259],{},"get"," reads the collection key off the identifier, loads that collection, and asks it. A bad collection segment loads nothing. ",[114,262,263],{},"peter_todd\u002Fsha1"," works, because the alias resolves before the load.",[102,266,268],{"id":267},"inside-a-collection","Inside a collection",[107,270,272],{"className":109,"code":271,"language":111,"meta":112,"style":112},"import { b1000 } from \"@agntn\u002Fpuzzles\u002Fcollections\u002Fb1000\";\nimport { zden } from \"@agntn\u002Fpuzzles\u002Fcollections\u002Fzden\";\n\nb1000.get(71); \u002F\u002F NumericCollection takes numbers, or \"71\", or \"b1000\u002F71\"\nb1000.require(71); \u002F\u002F throws when missing\nzden.get(\"decred_janus\"); \u002F\u002F NamedCollection takes the name, or the full id\nzden.requireId(\"zden\u002Fdecred_janus\"); \u002F\u002F the full id on any collection\n\nb1000.all(); \u002F\u002F every puzzle, in list order\nb1000.solved(); \u002F\u002F status === \"solved\"\nb1000.unsolved(); \u002F\u002F status === \"unsolved\"\nb1000.withPubkey(); \u002F\u002F a public key is known\nb1000.count(); \u002F\u002F 256\nb1000.solvedCount(); \u002F\u002F 83\nb1000.unsolvedCount(); \u002F\u002F 77\n",[114,273,274,296,318,322,343,361,384,408,413,429,444,459,474,489,504],{"__ignoreMap":112},[117,275,276,278,280,283,285,287,289,292,294],{"class":119,"line":120},[117,277,124],{"class":123},[117,279,128],{"class":127},[117,281,282],{"class":131}," b1000",[117,284,141],{"class":127},[117,286,144],{"class":123},[117,288,148],{"class":147},[117,290,291],{"class":151},"@agntn\u002Fpuzzles\u002Fcollections\u002Fb1000",[117,293,155],{"class":147},[117,295,158],{"class":127},[117,297,298,300,302,305,307,309,311,314,316],{"class":119,"line":161},[117,299,124],{"class":123},[117,301,128],{"class":127},[117,303,304],{"class":131}," zden",[117,306,141],{"class":127},[117,308,144],{"class":123},[117,310,148],{"class":147},[117,312,313],{"class":151},"@agntn\u002Fpuzzles\u002Fcollections\u002Fzden",[117,315,155],{"class":147},[117,317,158],{"class":127},[117,319,320],{"class":119,"line":168},[117,321,165],{"emptyLinePlaceholder":164},[117,323,324,327,330,332,334,338,340],{"class":119,"line":194},[117,325,326],{"class":131},"b1000",[117,328,329],{"class":127},".",[117,331,259],{"class":174},[117,333,177],{"class":127},[117,335,337],{"class":336},"sw1C9","71",[117,339,187],{"class":127},[117,341,342],{"class":190}," \u002F\u002F NumericCollection takes numbers, or \"71\", or \"b1000\u002F71\"\n",[117,344,345,347,349,352,354,356,358],{"class":119,"line":215},[117,346,326],{"class":131},[117,348,329],{"class":127},[117,350,351],{"class":174},"require",[117,353,177],{"class":127},[117,355,337],{"class":336},[117,357,187],{"class":127},[117,359,360],{"class":190}," \u002F\u002F throws when missing\n",[117,362,363,366,368,370,372,374,377,379,381],{"class":119,"line":236},[117,364,365],{"class":131},"zden",[117,367,329],{"class":127},[117,369,259],{"class":174},[117,371,177],{"class":127},[117,373,155],{"class":147},[117,375,376],{"class":151},"decred_janus",[117,378,155],{"class":147},[117,380,187],{"class":127},[117,382,383],{"class":190}," \u002F\u002F NamedCollection takes the name, or the full id\n",[117,385,387,389,391,394,396,398,401,403,405],{"class":119,"line":386},7,[117,388,365],{"class":131},[117,390,329],{"class":127},[117,392,393],{"class":174},"requireId",[117,395,177],{"class":127},[117,397,155],{"class":147},[117,399,400],{"class":151},"zden\u002Fdecred_janus",[117,402,155],{"class":147},[117,404,187],{"class":127},[117,406,407],{"class":190}," \u002F\u002F the full id on any collection\n",[117,409,411],{"class":119,"line":410},8,[117,412,165],{"emptyLinePlaceholder":164},[117,414,416,418,420,423,426],{"class":119,"line":415},9,[117,417,326],{"class":131},[117,419,329],{"class":127},[117,421,422],{"class":174},"all",[117,424,425],{"class":127},"();",[117,427,428],{"class":190}," \u002F\u002F every puzzle, in list order\n",[117,430,432,434,436,439,441],{"class":119,"line":431},10,[117,433,326],{"class":131},[117,435,329],{"class":127},[117,437,438],{"class":174},"solved",[117,440,425],{"class":127},[117,442,443],{"class":190}," \u002F\u002F status === \"solved\"\n",[117,445,447,449,451,454,456],{"class":119,"line":446},11,[117,448,326],{"class":131},[117,450,329],{"class":127},[117,452,453],{"class":174},"unsolved",[117,455,425],{"class":127},[117,457,458],{"class":190}," \u002F\u002F status === \"unsolved\"\n",[117,460,462,464,466,469,471],{"class":119,"line":461},12,[117,463,326],{"class":131},[117,465,329],{"class":127},[117,467,468],{"class":174},"withPubkey",[117,470,425],{"class":127},[117,472,473],{"class":190}," \u002F\u002F a public key is known\n",[117,475,477,479,481,484,486],{"class":119,"line":476},13,[117,478,326],{"class":131},[117,480,329],{"class":127},[117,482,483],{"class":174},"count",[117,485,425],{"class":127},[117,487,488],{"class":190}," \u002F\u002F 256\n",[117,490,492,494,496,499,501],{"class":119,"line":491},14,[117,493,326],{"class":131},[117,495,329],{"class":127},[117,497,498],{"class":174},"solvedCount",[117,500,425],{"class":127},[117,502,503],{"class":190}," \u002F\u002F 83\n",[117,505,507,509,511,514,516],{"class":119,"line":506},15,[117,508,326],{"class":131},[117,510,329],{"class":127},[117,512,513],{"class":174},"unsolvedCount",[117,515,425],{"class":127},[117,517,518],{"class":190}," \u002F\u002F 77\n",[255,520,521,522,524,525,527,528,531,532,535,536,539,540,543],{},"Pick ",[114,523,259],{}," when a miss is normal. Pick ",[114,526,351],{}," when a miss is a bug. ",[114,529,530],{},"all()"," is a frozen array built once. ",[114,533,534],{},"solved()",", ",[114,537,538],{},"unsolved()"," and ",[114,541,542],{},"withPubkey()"," filter it on every call, so keep the result if you loop.",[102,545,547],{"id":546},"across-collections","Across collections",[107,549,551],{"className":109,"code":550,"language":111,"meta":112,"style":112},"import { all, selectPuzzles, Status } from \"@agntn\u002Fpuzzles\";\n\nawait all(); \u002F\u002F 332 puzzles in manifest order, then list order\nawait selectPuzzles({ collection: \"b1000\", status: Status.Unsolved }); \u002F\u002F 77\nawait selectPuzzles({ status: Status.Solved, withPubkey: true }); \u002F\u002F every solved puzzle with a known public key\n",[114,552,553,584,588,599,641],{"__ignoreMap":112},[117,554,555,557,559,562,564,567,569,572,574,576,578,580,582],{"class":119,"line":120},[117,556,124],{"class":123},[117,558,128],{"class":127},[117,560,561],{"class":131}," all",[117,563,135],{"class":127},[117,565,566],{"class":131}," selectPuzzles",[117,568,135],{"class":127},[117,570,571],{"class":131}," Status",[117,573,141],{"class":127},[117,575,144],{"class":123},[117,577,148],{"class":147},[117,579,152],{"class":151},[117,581,155],{"class":147},[117,583,158],{"class":127},[117,585,586],{"class":119,"line":161},[117,587,165],{"emptyLinePlaceholder":164},[117,589,590,592,594,596],{"class":119,"line":168},[117,591,171],{"class":123},[117,593,561],{"class":174},[117,595,425],{"class":127},[117,597,598],{"class":190}," \u002F\u002F 332 puzzles in manifest order, then list order\n",[117,600,601,603,605,608,612,615,617,619,621,623,626,628,631,633,636,639],{"class":119,"line":194},[117,602,171],{"class":123},[117,604,566],{"class":174},[117,606,607],{"class":127},"({ ",[117,609,611],{"class":610},"sC822","collection",[117,613,614],{"class":127},": ",[117,616,155],{"class":147},[117,618,326],{"class":151},[117,620,155],{"class":147},[117,622,535],{"class":127},[117,624,625],{"class":610},"status",[117,627,614],{"class":127},[117,629,630],{"class":131},"Status",[117,632,329],{"class":127},[117,634,635],{"class":131},"Unsolved",[117,637,638],{"class":127}," });",[117,640,518],{"class":190},[117,642,643,645,647,649,651,653,655,657,660,662,664,666,670,672],{"class":119,"line":215},[117,644,171],{"class":123},[117,646,566],{"class":174},[117,648,607],{"class":127},[117,650,625],{"class":610},[117,652,614],{"class":127},[117,654,630],{"class":131},[117,656,329],{"class":127},[117,658,659],{"class":131},"Solved",[117,661,535],{"class":127},[117,663,468],{"class":610},[117,665,614],{"class":127},[117,667,669],{"class":668},"skBag","true",[117,671,638],{"class":127},[117,673,674],{"class":190}," \u002F\u002F every solved puzzle with a known public key\n",[255,676,677,680,681,684],{},[114,678,679],{},"selectPuzzles"," with a collection loads that collection alone. Without one it loads everything. ",[114,682,683],{},"withPubkey: true"," keeps the puzzles whose public key is known. That's what a scanner wants: a public key turns a hash search into a discrete log search.",[102,686,688],{"id":687},"statistics","Statistics",[107,690,692],{"className":109,"code":691,"language":111,"meta":112,"style":112},"import { collectionSummaries, stats } from \"@agntn\u002Fpuzzles\";\n\nawait stats();\n\u002F\u002F {\n\u002F\u002F   total: 332, solved: 130, unsolved: 93, claimed: 11, swept: 96, expired: 2,\n\u002F\u002F   with_pubkey: 236,\n\u002F\u002F   total_prize: { AR: 5550, ETH: 14.1337, DAI: 100, BTC: 1058.06884913, LTC: 230.8255, DCR: 460 },\n\u002F\u002F   unsolved_prize: { AR: 1900, ETH: 1, BTC: 907.88195631 },\n\u002F\u002F }\n\nawait collectionSummaries(); \u002F\u002F [{ key, author, total, solved, unsolved }, ...]\n",[114,693,694,720,724,733,738,743,748,753,758,763,767],{"__ignoreMap":112},[117,695,696,698,700,703,705,708,710,712,714,716,718],{"class":119,"line":120},[117,697,124],{"class":123},[117,699,128],{"class":127},[117,701,702],{"class":131}," collectionSummaries",[117,704,135],{"class":127},[117,706,707],{"class":131}," stats",[117,709,141],{"class":127},[117,711,144],{"class":123},[117,713,148],{"class":147},[117,715,152],{"class":151},[117,717,155],{"class":147},[117,719,158],{"class":127},[117,721,722],{"class":119,"line":161},[117,723,165],{"emptyLinePlaceholder":164},[117,725,726,728,730],{"class":119,"line":168},[117,727,171],{"class":123},[117,729,707],{"class":174},[117,731,732],{"class":127},"();\n",[117,734,735],{"class":119,"line":194},[117,736,737],{"class":190},"\u002F\u002F {\n",[117,739,740],{"class":119,"line":215},[117,741,742],{"class":190},"\u002F\u002F   total: 332, solved: 130, unsolved: 93, claimed: 11, swept: 96, expired: 2,\n",[117,744,745],{"class":119,"line":236},[117,746,747],{"class":190},"\u002F\u002F   with_pubkey: 236,\n",[117,749,750],{"class":119,"line":386},[117,751,752],{"class":190},"\u002F\u002F   total_prize: { AR: 5550, ETH: 14.1337, DAI: 100, BTC: 1058.06884913, LTC: 230.8255, DCR: 460 },\n",[117,754,755],{"class":119,"line":410},[117,756,757],{"class":190},"\u002F\u002F   unsolved_prize: { AR: 1900, ETH: 1, BTC: 907.88195631 },\n",[117,759,760],{"class":119,"line":415},[117,761,762],{"class":190},"\u002F\u002F }\n",[117,764,765],{"class":119,"line":431},[117,766,165],{"emptyLinePlaceholder":164},[117,768,769,771,773,775],{"class":119,"line":446},[117,770,171],{"class":123},[117,772,702],{"class":174},[117,774,425],{"class":127},[117,776,777],{"class":190}," \u002F\u002F [{ key, author, total, solved, unsolved }, ...]\n",[255,779,780,781,784,785,788],{},"Prizes are summed per currency in whole units, the way the records write them, rounded to eight places. Nothing here is a balance. A ",[114,782,783],{},"swept"," puzzle's prize is what sat on the address when it was swept. An ",[114,786,787],{},"expired"," one's went back to the author.",[102,790,792],{"id":791},"the-dataset-snapshot","The dataset snapshot",[107,794,796],{"className":109,"code":795,"language":111,"meta":112,"style":112},"import { dataset, datasetCollections, dataVersion } from \"@agntn\u002Fpuzzles\";\n\nawait dataVersion(); \u002F\u002F \"c8c77264fe07\", the first 12 hex characters of SHA-256 over the serialized collections\nawait datasetCollections(); \u002F\u002F [{ name, author, puzzles: [PuzzleData, ...] }, ...]\nawait dataset(); \u002F\u002F { version, data_version, collections }\n",[114,797,798,829,833,844,855],{"__ignoreMap":112},[117,799,800,802,804,807,809,812,814,817,819,821,823,825,827],{"class":119,"line":120},[117,801,124],{"class":123},[117,803,128],{"class":127},[117,805,806],{"class":131}," dataset",[117,808,135],{"class":127},[117,810,811],{"class":131}," datasetCollections",[117,813,135],{"class":127},[117,815,816],{"class":131}," dataVersion",[117,818,141],{"class":127},[117,820,144],{"class":123},[117,822,148],{"class":147},[117,824,152],{"class":151},[117,826,155],{"class":147},[117,828,158],{"class":127},[117,830,831],{"class":119,"line":161},[117,832,165],{"emptyLinePlaceholder":164},[117,834,835,837,839,841],{"class":119,"line":168},[117,836,171],{"class":123},[117,838,816],{"class":174},[117,840,425],{"class":127},[117,842,843],{"class":190}," \u002F\u002F \"c8c77264fe07\", the first 12 hex characters of SHA-256 over the serialized collections\n",[117,845,846,848,850,852],{"class":119,"line":194},[117,847,171],{"class":123},[117,849,811],{"class":174},[117,851,425],{"class":127},[117,853,854],{"class":190}," \u002F\u002F [{ name, author, puzzles: [PuzzleData, ...] }, ...]\n",[117,856,857,859,861,863],{"class":119,"line":215},[117,858,171],{"class":123},[117,860,806],{"class":174},[117,862,425],{"class":127},[117,864,865],{"class":190}," \u002F\u002F { version, data_version, collections }\n",[255,867,868,871,872,875,876,879],{},[114,869,870],{},"dataVersion()"," changes when a record changes and stays the same across runtimes. Cache a snapshot, compare it later, no build step. No timestamp in it, no environment data. ",[114,873,874],{},"puzzles export"," prints ",[114,877,878],{},"dataset()",". That's what the JSON consumers of the old dataset read now.",[102,881,883],{"id":882},"explorer-links","Explorer links",[107,885,887],{"className":109,"code":886,"language":111,"meta":112,"style":112},"const puzzle = await requirePuzzle(\"zden\u002Fdecred_janus\");\n\npuzzle.explorerUrl(); \u002F\u002F \"https:\u002F\u002Fdcrdata.decred.org\u002Faddress\u002FDsRaAja82UvgnqYaBHYFuyCKURFX2rCyEJ8\"\npuzzle.claimExplorerUrl(); \u002F\u002F the claim transaction, when there's one\n",[114,888,889,919,923,938],{"__ignoreMap":112},[117,890,891,895,899,903,906,908,910,912,914,916],{"class":119,"line":120},[117,892,894],{"class":893},"sO_1p","const",[117,896,898],{"class":897},"sHhh0"," puzzle",[117,900,902],{"class":901},"sLuFV"," =",[117,904,905],{"class":123}," await",[117,907,138],{"class":174},[117,909,177],{"class":127},[117,911,155],{"class":147},[117,913,400],{"class":151},[117,915,155],{"class":147},[117,917,918],{"class":127},");\n",[117,920,921],{"class":119,"line":161},[117,922,165],{"emptyLinePlaceholder":164},[117,924,925,928,930,933,935],{"class":119,"line":168},[117,926,927],{"class":131},"puzzle",[117,929,329],{"class":127},[117,931,932],{"class":174},"explorerUrl",[117,934,425],{"class":127},[117,936,937],{"class":190}," \u002F\u002F \"https:\u002F\u002Fdcrdata.decred.org\u002Faddress\u002FDsRaAja82UvgnqYaBHYFuyCKURFX2rCyEJ8\"\n",[117,939,940,942,944,947,949],{"class":119,"line":194},[117,941,927],{"class":131},[117,943,329],{"class":127},[117,945,946],{"class":174},"claimExplorerUrl",[117,948,425],{"class":127},[117,950,951],{"class":190}," \u002F\u002F the claim transaction, when there's one\n",[255,953,954,955,958,959,539,962,965],{},"Explorer bases come from ",[114,956,957],{},"@agntn\u002Fchains",": blockstream.info for Bitcoin, litecoinspace.org for Litecoin, etherscan.io, dcrdata.decred.org and viewblock.io for Arweave. Need a link for something that isn't a puzzle? ",[114,960,961],{},"addressExplorerUrl(chain, address)",[114,963,964],{},"transactionExplorerUrl(chain, txid)"," are exported too.",[967,968,969],"style",{},"html pre.shiki code .sds8u, html code.shiki .sds8u{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#4D9375}html pre.shiki code .s14qF, html code.shiki .s14qF{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#666666}html pre.shiki code .s9qSu, html code.shiki .s9qSu{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#BD976A}html pre.shiki code .s2tGe, html code.shiki .s2tGe{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#C98A7D77}html pre.shiki code .skmWX, html code.shiki .skmWX{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#C98A7D}html pre.shiki code .sTnI0, html code.shiki .sTnI0{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#80A665}html pre.shiki code .sjj-T, html code.shiki .sjj-T{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#758575DD}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sw1C9, html code.shiki .sw1C9{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#4C9A91}html pre.shiki code .sC822, html code.shiki .sC822{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#B8A965}html pre.shiki code .skBag, html code.shiki .skBag{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#4D9375}html pre.shiki code .sO_1p, html code.shiki .sO_1p{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#CB7676}html pre.shiki code .sHhh0, html code.shiki .sHhh0{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#BD976A}html pre.shiki code .sLuFV, html code.shiki .sLuFV{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#666666}",{"title":112,"searchDepth":161,"depth":161,"links":971},[972,973,974,975,976,977],{"id":104,"depth":161,"text":105},{"id":267,"depth":161,"text":268},{"id":546,"depth":161,"text":547},{"id":687,"depth":161,"text":688},{"id":791,"depth":161,"text":792},{"id":882,"depth":161,"text":883},"get and requirePuzzle by identifier. selectPuzzles by collection and status. stats and the dataset snapshot with its deterministic data version.","md",null,{"icon":982},"i-lucide-search",{"title":20,"description":978},"LTH1WZyTq0zFs5l-3cbKmOrz4DP3N62LbaeHBfYNaGE",[986,988],{"title":16,"path":17,"stem":18,"description":987,"children":-1},"A manifest of ten keys and ten lazy imports. Keys and aliases answer at once. Records load on the first lookup for their collection. How to register yours.",{"title":24,"path":25,"stem":26,"description":989,"children":-1},"verifyPuzzle derives the address from the one secret a record exposes and compares. Expected failures are values. What can and can't be checked.",1789737888907]