diff --git a/docs/contracts/sepolia.json b/docs/contracts/sepolia.json index db98b5618..4a23eed2a 100644 --- a/docs/contracts/sepolia.json +++ b/docs/contracts/sepolia.json @@ -12,11 +12,31 @@ "create_tx": "0x55351cbbccda0f78311c22feb1174d99c5d8d9fe3488cb60ff8656f65007e079", "create_block": 11869731, "igneum_chain_id": "igneum-devnet-3", - "table": { "tx": "0x6ec1045dbc0abe981944e9e15987089d3f0cdc2e8e467f688b7b0c63e907b26b", "block": 11869732, "index": 2127, "voters": 29, "total_weight": 7164, "table_id": "0xabfcc2bc54ca92ec506beee8a44dced17f15cf1e7c518a6221bf2819b0d1cbd6", "read_from": "igneum_getFinalityWeights on a Devnet 3 node at checkpoint index 2127 (hash 0xcb21b52c…), 12:1x UTC 8 October 2026" }, - "final_checkpoints": "none yet: the first Devnet 3 certificate is submitted when /api/checkpoint serves dn3_live_certificates", + "table": { + "tx": "0x6ec1045dbc0abe981944e9e15987089d3f0cdc2e8e467f688b7b0c63e907b26b", + "block": 11869732, + "index": 2127, + "voters": 29, + "total_weight": 7164, + "table_id": "0xabfcc2bc54ca92ec506beee8a44dced17f15cf1e7c518a6221bf2819b0d1cbd6", + "read_from": "igneum_getFinalityWeights on a Devnet 3 node at checkpoint index 2127 (hash 0xcb21b52c\u2026), 12:1x UTC 8 October 2026" + }, + "final_checkpoints": [ + { + "index": 2127, + "checkpoint": "0xcb21b52c18654542e7e66af82898313282fd6881e44d01c448d3ba2bd1abd544", + "tx": "0x569a62c155f2273bc2167afc137bc9a44bfe522bf21f7554500c2045add444fc", + "block": 11869773, + "gas_used": 765514, + "signers": 17, + "signed_weight_under_table": 4833, + "total_weight": 7164, + "source": "igneum.network/api/checkpoint?index=2127 (dn3_live_certificates), the bytes the chain carried; verified by eth_call before the send (true, 4833, 7164)" + } + ], "interface": "IIgneumCertificateVerifier in contracts/bridge/src/IgneumCertificateVerifier.sol: chainId(), tableId(), verifyCertificate(uint64 index, bytes32 checkpoint, bytes bitmap, bytes signature) view returns (bool ok, uint256 signedWeight, uint256 totalWeight), submitCertificate(...), finalCheckpoint(uint64) view returns (bytes32), isFinal(bytes32) view returns (bool), verifyAccount(bytes32 stateRoot, address account, bytes[] proof) pure returns (bool exists, uint256 nonce, uint256 balance, bytes32 storageRoot, bytes32 codeHash)" } }, - "first_deploy_note": "A first creation at 0xD7dd375E14F92A4CE4782040325189e6d6E394b6 (tx 0x4db10565…, block 11869633) ran out of gas at Foundry's Prague-spec estimate of 3,323,884; Sepolia runs Osaka pricing (EIP-7883 modexp), so the test EVM and the deploy now use osaka and the RPC's own estimate. That address holds no code.", - "tests": "contracts/bridge/test/Verifier.t.sol: 9 of 9 green on build-3 (Foundry, osaka), 12:3x UTC 8 October 2026" + "first_deploy_note": "A first creation at 0xD7dd375E14F92A4CE4782040325189e6d6E394b6 (tx 0x4db10565\u2026, block 11869633) ran out of gas at Foundry's Prague-spec estimate of 3,323,884; Sepolia runs Osaka pricing (EIP-7883 modexp), so the test EVM and the deploy now use osaka and the RPC's own estimate. That address holds no code.", + "tests": "contracts/bridge/test/Verifier.t.sol: 9 of 9 green on build-3 (Foundry, osaka), 12:3x UTC 8 October 2026; the live contract verified and recorded Devnet 3 checkpoint 2127 at 12:5x UTC" } diff --git a/site/404.html b/site/404.html index 632e9acd2..09178008e 100644 --- a/site/404.html +++ b/site/404.html @@ -88,6 +88,9 @@ main{flex:1} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/address.html b/site/address.html index d4831c123..e8f20d5de 100644 --- a/site/address.html +++ b/site/address.html @@ -142,6 +142,9 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/api/checkpoint.mjs b/site/api/checkpoint.mjs index 01ca40cfb..a0a73787a 100644 --- a/site/api/checkpoint.mjs +++ b/site/api/checkpoint.mjs @@ -75,6 +75,34 @@ function shape(row, source) { }; } +/** The earliest certified Devnet 3 checkpoint whose chain block number is at least `number` (the reference apps' receipt: + * the smallest proof that a block is final), from the dn3_ rows; null when no certificate reaches that block yet. + * `chainNumberOf(hash)` resolves a checkpoint hash to its chain block number (the exec RPC); rows are tried newest first + * until one falls below `number`, so the cost is a few lookups. */ +export async function earliestCheckpointAbove(sql, number, chainNumberOf, table = 'dn3_live_certificates') { + const rows = await sql(`SELECT index, hash FROM ${table} ORDER BY index DESC LIMIT 400`).catch(() => []); + let pick = null; + for (const r of rows) { + const n = await chainNumberOf(r.hash).catch(() => null); + if (n === null) continue; + if (n >= number) pick = r; else break; + } + if (!pick) return null; + const full = await sql(`SELECT * FROM ${table} WHERE index = $1 LIMIT 1`, [Number(pick.index)]); + return full[0] ? shape(full[0], 'dn3') : null; +} + +/** The latest certified checkpoint of `want` ('live', 'test' or 'dn3') through `sql`, shaped for the verifier, or null + * (the reference apps' read service calls this off Vercel: 'dn3' names the dn3_ tables whatever LIVE_TABLE_PREFIX says). */ +export async function readCheckpoint(sql, want = 'live') { + let row = null, source = null; + if (want === 'dn3') { row = await latest(sql, 'dn3_live_certificates'); if (row) source = 'dn3'; } + if (!row && want !== 'test' && want !== 'dn3') { row = await latest(sql, `${tablePrefix()}live_certificates`); if (row) source = 'live'; } + if (!row && want !== 'dn3') { row = await latest(sql, 'fintest_live_certificates'); if (row) source = 'test'; } + return row ? shape(row, source) : null; +} +export { neon }; + export default async function handler(req, res) { res.setHeader('Cache-Control', 'public, max-age=5'); res.setHeader('Access-Control-Allow-Origin', '*'); @@ -93,7 +121,7 @@ export default async function handler(req, res) { res.setHeader('Cache-Control', 'no-store'); return res.status(404).json({ ok: false, error: 'no certified checkpoint stored yet' }); } - return res.status(200).json({ ok: true, now: new Date().toISOString(), ...shape(row, source) }); + return res.status(200).json({ ok: true, now: new Date().toISOString(), ...cp }); } catch (e) { res.setHeader('Cache-Control', 'no-store'); return res.status(500).json({ ok: false, error: String(e.message || e) }); diff --git a/site/app.html b/site/app.html index 00ffd4626..eaabd64a5 100644 --- a/site/app.html +++ b/site/app.html @@ -110,6 +110,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/bench.html b/site/bench.html index d42ceae70..89d78a068 100644 --- a/site/bench.html +++ b/site/bench.html @@ -115,6 +115,9 @@ table{min-width:560px} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/block.html b/site/block.html index eb52a82bc..50cdc10ef 100644 --- a/site/block.html +++ b/site/block.html @@ -142,6 +142,9 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/build.html b/site/build.html index 6637216e7..5ab49c04c 100644 --- a/site/build.html +++ b/site/build.html @@ -115,6 +115,9 @@ table{min-width:560px} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/build.mjs b/site/build.mjs index 982b3292b..e31da1944 100644 --- a/site/build.mjs +++ b/site/build.mjs @@ -410,7 +410,9 @@ const PAGES = [['index.html', ''], ['download.html', 'download'], ['income.html' // the three) and /proving; the Explorer entry of the Network panel is the current one on all five ['explorer.html', 'explorer'], ['block.html', 'explorer'], ['address.html', 'explorer'], ['tx.html', 'explorer'], ['proving.html', 'explorer'], // the scenes lab (6 Oct 2026): three animated views of the live feed, unlinked, noindex - ['scenes.html', '']]; + ['scenes.html', ''], + // the reference apps (8 Oct 2026): the light wallet, the payment receipt, the Sepolia state oracle + ['light.html', 'light'], ['receipt.html', 'receipt'], ['oracle.html', 'oracle']]; for (const [file, active] of PAGES) { const p = join(here, file); if (!existsSync(p)) throw new Error(`missing page ${file}`); diff --git a/site/claims.html b/site/claims.html index 416f21660..7fa2fea45 100644 --- a/site/claims.html +++ b/site/claims.html @@ -114,6 +114,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/dev-fee.html b/site/dev-fee.html index 20faa93e0..28121aa97 100644 --- a/site/dev-fee.html +++ b/site/dev-fee.html @@ -114,6 +114,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/download.html b/site/download.html index b81da46a3..fe83ae1f4 100644 --- a/site/download.html +++ b/site/download.html @@ -104,6 +104,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/economics.html b/site/economics.html index 0d4026a9c..4c6f77ca7 100644 --- a/site/economics.html +++ b/site/economics.html @@ -74,6 +74,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. @@ -228,7 +234,7 @@

The proving-fee market

-

The second income of a card is the proving pool above: 20 percent of every block, paid per shard against a valid proof record, plus the provers’ part of the priority fee. The price a prover must charge an outside customer is the subsidy it forgoes while it proves, which falls as one over the network’s hash rate; the formula and its measured inputs are in the litepaper (Building on Igneum). The market itself is designed and not built. No figure for it appears here.

+

The second income of a card is the proving pool above: 20 percent of every block, paid per shard against a valid proof record, plus the provers’ part of the priority fee. The price a prover must charge an outside customer is the subsidy it forgoes while it proves, which falls as one over the network’s hash rate; the formula and its measured inputs are in the litepaper (Building on Igneum). The market itself is designed and not built. What the pool pays today is measured: on Devnet 3 in the 24 hours to 12:16 UK on 8 October 2026 the chain paid 8,209 shards, 9,913.09 IGN in all, to 29 prover keys; 905 shards were paid in the hour to that minute; the lag from a proven block to the block that pays its shards read p50 514 and p90 953 DAA seconds; 40,502 shards were planned and 54 proving at that minute (the observer’s proof tables, read through /api/explorer?proving=1; the same numbers live on the proving page). Devnet 3 IGN has no value; the rows show the mechanism paying, not an income.

The client fee and the fund it fills

diff --git a/site/evidence.html b/site/evidence.html index 67f3163bc..5b062b910 100644 --- a/site/evidence.html +++ b/site/evidence.html @@ -125,6 +125,9 @@ td.mono{font-family:var(--f-mono);font-size:12.5px;min-width:180px}td.iv{color:v The journeySix phases, four gates, the log behind them.Engineering logEvery measurement, with the commands that made it.EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/explorer.html b/site/explorer.html index 297a175e6..03dbaf552 100644 --- a/site/explorer.html +++ b/site/explorer.html @@ -141,6 +141,9 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/faucet.html b/site/faucet.html index 818ae47cd..81daaac22 100644 --- a/site/faucet.html +++ b/site/faucet.html @@ -117,6 +117,9 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/grants.html b/site/grants.html index 0fd28ec49..8878a3a3d 100644 --- a/site/grants.html +++ b/site/grants.html @@ -115,6 +115,9 @@ table{min-width:560px} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/income.html b/site/income.html index ac3172c8e..39297480c 100644 --- a/site/income.html +++ b/site/income.html @@ -74,6 +74,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/index.html b/site/index.html index 39f4d06f2..052e803ad 100644 --- a/site/index.html +++ b/site/index.html @@ -106,6 +106,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/journey.html b/site/journey.html index 4becd941d..54005b5fa 100644 --- a/site/journey.html +++ b/site/journey.html @@ -114,6 +114,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. @@ -275,12 +281,12 @@
log

Live devnet: real transactions, the first non-empty shard proven and…

Live devnet: real transactions, the first non-empty shard proven and paid, and the exporter's block structure fixed

log

The program id split

The program id split: why the Apple M5 Max rejected the RTX 5090 Windows rig's proofs, and the verifier at 114 s

log

Live devnet: the first shards proven, verified and paid

-
log

Devnet v4 live: generator v2, two-thirds floor, fresh chain

Devnet v4 cut-over: generator v2, 2/3 floor, three nodes and a seed on a fresh chain

-
log

One-click Windows workers

One-click Windows workers: what the Apple M5 Max could measure

-
log

First live hourly swap: no pause on Mac, NVIDIA or AMD

First hourly program swap on the live devnet: compile-ahead, no pause, two cards

-
log

Proving: devnet v4 shards on the Apple M5 Max CPU, loaded machine

-
log

First live finality lock: 77.4% of weight, 17 voters

First finality lock on the live devnet: checkpoint 242 at 77.4% of all weight, two hours after genesis

-
log

The gfx1036 worker fault and what the Apple M5 Max could and could…

The gfx1036 worker fault and what the Apple M5 Max could and could not reproduce

+
log

Economy simulation: mining versus proving under stress

Sim/economy: mining versus proving under stress, agent-based

+
log

Difficulty rule attacked seven ways

Difficulty rule under attack: pool hopping, pulsed rental, timestamp stretching, short-lane oscillation, epoch games, polluted window, block flood

+
log

Timestamp attack on the difficulty rule fixed

Difficulty rule: timestamp attack fixed , simulator regression, 3-node forger test

+
log

Devnet v4: nine branches merged into one node

Devnet-v4 integration: nine branches merged, 3-node test network on the merged node, Windows cross-build

+
log

Generator v2 adopted: every hash does 128 distinct reads

Generator version 2 adopted: exact load count, fresh-source loads, program acceptance; every vector re-cut, three workers re-checked, 20,000-program census, devnet-v4 binaries rebuilt

+
log

First GPU proof of an Igneum block: 1.4 s on an RTX 5090

Proving v0 on the RTX 5090: first GPU proof of an Igneum block

Every entry is a dated heading of the engineering log, where the commands and the hardware are. The phases and their gates are the litepaper’s roadmap.

The engineering logEvery claim and its statusThe live devnet
diff --git a/site/journey.json b/site/journey.json index 40e99d2b7..c606773e0 100644 --- a/site/journey.json +++ b/site/journey.json @@ -222,33 +222,33 @@ }, { "date": "2026-10-04", - "text": "Devnet v4 cut-over: generator v2, 2/3 floor, three nodes and a seed on a fresh chain", - "short": "Devnet v4 live: generator v2, two-thirds floor, fresh chain" + "text": "Sim/economy: mining versus proving under stress, agent-based", + "short": "Economy simulation: mining versus proving under stress" }, { "date": "2026-10-04", - "text": "One-click Windows workers: what the Apple M5 Max could measure", - "short": "One-click Windows workers" + "text": "Difficulty rule under attack: pool hopping, pulsed rental, timestamp stretching, short-lane oscillation, epoch games, polluted window, block flood", + "short": "Difficulty rule attacked seven ways" }, { "date": "2026-10-04", - "text": "First hourly program swap on the live devnet: compile-ahead, no pause, two cards", - "short": "First live hourly swap: no pause on Mac, NVIDIA or AMD" + "text": "Difficulty rule: timestamp attack fixed , simulator regression, 3-node forger test", + "short": "Timestamp attack on the difficulty rule fixed" }, { "date": "2026-10-04", - "text": "Proving: devnet v4 shards on the Apple M5 Max CPU, loaded machine", - "short": "Proving: devnet v4 shards on the Apple M5 Max CPU, loaded machine" + "text": "Devnet-v4 integration: nine branches merged, 3-node test network on the merged node, Windows cross-build", + "short": "Devnet v4: nine branches merged into one node" }, { "date": "2026-10-04", - "text": "First finality lock on the live devnet: checkpoint 242 at 77.4% of all weight, two hours after genesis", - "short": "First live finality lock: 77.4% of weight, 17 voters" + "text": "Generator version 2 adopted: exact load count, fresh-source loads, program acceptance; every vector re-cut, three workers re-checked, 20,000-program census, devnet-v4 binaries rebuilt", + "short": "Generator v2 adopted: every hash does 128 distinct reads" }, { "date": "2026-10-04", - "text": "The gfx1036 worker fault and what the Apple M5 Max could and could not reproduce", - "short": "The gfx1036 worker fault and what the Apple M5 Max could and could…" + "text": "Proving v0 on the RTX 5090: first GPU proof of an Igneum block", + "short": "First GPU proof of an Igneum block: 1.4 s on an RTX 5090" } ] } diff --git a/site/lc/app.js b/site/lc/app.js new file mode 100644 index 000000000..6aee3da9e --- /dev/null +++ b/site/lc/app.js @@ -0,0 +1,119 @@ +// Igneum reference apps, the browser driver for /light and /receipt (8 October 2026). Fetches data from the read +// service behind rpc.devnet.igneum.network/light and verifies every byte in this tab with core.js. Libraries, pinned: +// BLAKE2b and keccak from @noble/hashes 2.4.0, BLS12-381 from @noble/curves 2.4.0 (pure JavaScript, served by jsdelivr +// as ES modules). Known-failed first: before the genuine result is shown, a copy of the same proof with one byte +// altered is run through the same verifier and must read as refused. +import { blake2b } from 'https://cdn.jsdelivr.net/npm/@noble/hashes@2.4.0/blake2.js/+esm'; +import { keccak_256 } from 'https://cdn.jsdelivr.net/npm/@noble/hashes@2.4.0/sha3.js/+esm'; +import { bls12_381 } from 'https://cdn.jsdelivr.net/npm/@noble/curves@2.4.0/bls12-381.js/+esm'; +import { verifyBalance, verifyReceipt, formatIgn } from './core.js'; + +export const LIBRARIES = { '@noble/hashes': '2.4.0', '@noble/curves': '2.4.0' }; +const deps = { blake2b, bls: bls12_381, keccak: keccak_256 }; +const q = new URLSearchParams(location.search); +export const API = (q.get('api') || 'https://rpc.devnet.igneum.network/light').replace(/\/$/, ''); +const $ = s => document.querySelector(s); +const esc = s => String(s).replace(/&/g, '&').replace(//g, '>'); +const short = h => { const s = String(h).replace(/^0x/, ''); return s.slice(0, 8) + '…' + s.slice(-6); }; +const clone = x => JSON.parse(JSON.stringify(x)); +const flipHex = (s, at) => { const h = s.replace(/^0x/, ''); const i = Math.min(at, h.length - 1); const d = (parseInt(h[i], 16) ^ 1).toString(16); return (s.startsWith('0x') ? '0x' : '') + h.slice(0, i) + d + h.slice(i + 1); }; + +async function getJson(url) { + const r = await fetch(url, { cache: 'no-store' }); + let j = null; try { j = await r.json(); } catch { j = null; } + if (!j) throw new Error(`${url.replace(API, '')} answered ${r.status} with no JSON`); + if (!j.ok) throw new Error(j.error || `${url.replace(API, '')} answered ${r.status}`); + return j; +} + +function setStatus(text, kind = '') { const el = $('[data-status]'); if (!el) return; el.textContent = text; el.dataset.kind = kind; } +function stepsHtml(result) { + return '
    ' + result.steps.map(s => `
  1. ${s.ok ? 'checked' : 'refused'}${esc(s.name)}${esc(s.detail)}
  2. `).join('') + '
'; +} +function negativeHtml(name, result) { + return `
${result.verified ? 'NOT REFUSED (this is a bug)' : 'refused'} ${esc(name)}${esc(result.reason || 'verified')}
`; +} +const ago = ms => { const s = Math.max(0, Math.round((Date.now() - Number(ms)) / 1000)); return s < 90 ? `${s} s ago` : s < 5400 ? `${Math.round(s / 60)} min ago` : `${(s / 3600).toFixed(1)} h ago`; }; + +// ---- /light ------------------------------------------------------------------------------------------------------- +export async function runLight(address) { + const out = $('[data-result]'); out.innerHTML = ''; + setStatus('fetching the latest certified checkpoint…', 'busy'); + const cp = await getJson(`${API}/checkpoint`); + setStatus(`checkpoint ${cp.index} fetched; fetching the proof for ${short(address)}…`, 'busy'); + const proof = await getJson(`${API}/balance?address=${address}&checkpoint=${cp.hash}&index=${cp.index}`); + // the service may answer with an earlier certificate (the first checkpoint above the carrier: the smallest proof); verified like any other + if (proof.checkpoint_certificate) { Object.assign(cp, proof.checkpoint_certificate); } + setStatus('verifying in this tab…', 'busy'); + await new Promise(r => setTimeout(r, 20)); + // known-failed first: the same proof with one byte of the last account-proof node altered + const bad = clone(proof); const last = bad.account.accountProof.length - 1; + bad.account.accountProof[last] = flipHex(bad.account.accountProof[last], 30); + const neg = verifyBalance(cp, bad, deps); + const res = verifyBalance(cp, proof, deps); + window.__igneumLight = { cp, proof, neg, res }; + const top = res.verified + ? `
Proven balance · Devnet 3, no value
${esc(formatIgn(res.balance_wei))} IGN
+

${esc(res.balance_wei)} wei at chain block ${res.block}, under checkpoint ${res.checkpoint} (locked ${esc(ago(Number(proof.headers[proof.headers.length - 1].timestamp)))}). Verified here in ${res.ms} ms, ${res.headers} headers checked.

` + : `
Not verified · Devnet 3, no value

${esc(res.reason)}

`; + out.innerHTML = top + negativeHtml('a copy of this proof with one byte of a trie node altered', neg) + stepsHtml(res) + + `

Data served by ${esc(API)} (a read service in front of a Devnet 3 node). Nothing it answered was taken on trust: the certificate, every header hash and parent link, the coinbase inclusion, the segment record's signature and the account proof were recomputed in this tab. What is trusted: that the aggregator's statement is the true execution result (every node checks it natively before paying the record; the SP1 proof behind it is verified by nodes, not in this tab yet), and the voter list with weights, which came from the node (spec 10.1).

`; + setStatus(res.verified ? 'verified' : 'refused', res.verified ? 'ok' : 'bad'); + return res; +} + +// ---- /receipt ----------------------------------------------------------------------------------------------------- +export async function runReceipt(tx) { + const out = $('[data-result]'); out.innerHTML = ''; + setStatus('fetching the latest certified checkpoint…', 'busy'); + const cp = await getJson(`${API}/checkpoint`); + setStatus(`checkpoint ${cp.index} fetched; fetching the inclusion proof…`, 'busy'); + const r = await getJson(`${API}/receipt?tx=${tx}&checkpoint=${cp.hash}&index=${cp.index}`); + // the service may answer with an earlier certificate (the first checkpoint above the block: the smallest proof); it is verified like any other + const receipt = { format: 'igneum-receipt-v1', issued: new Date().toISOString(), ...r, checkpoint: { ...r.checkpoint, certificate: r.checkpoint.certificate || cp } }; + delete receipt.ok; delete receipt.now; + setStatus('verifying in this tab…', 'busy'); + await new Promise(resolve => setTimeout(resolve, 20)); + const bad = clone(receipt); bad.raw_tx_hex = flipHex(bad.raw_tx_hex, 40); + const neg = verifyReceipt(bad, deps); + const res = verifyReceipt(receipt, deps); + window.__igneumReceipt = { receipt, neg, res }; + const t = res.tx || {}; + const when = new Date(Number(res.block_time || 0)).toISOString().replace('T', ' ').slice(0, 19) + ' UTC'; + const top = res.verified + ? `
Final · Devnet 3, no value
${esc(formatIgn(t.value || '0'))} IGN
+
To
${esc(t.to || 'contract creation')}
From
${esc(receipt.tx_as_reported.from)} (as the node reports it; the signature is the chain's check)
+
Transaction
0x${esc(receipt.tx_hash)}
Block
${esc(res.block)} at ${esc(when)}, DAA ${esc(res.block_daa)}
+
Finality
checkpoint ${res.checkpoint}, ${esc(res.certificate)}; ${res.headers} headers from the block to the checkpoint, verified here in ${res.ms} ms
+ ${receipt.execution ? `
Execution
status ${receipt.execution.status === '0x1' ? 'success' : 'failed'}, gas ${parseInt(receipt.execution.gas_used, 16)}, ${receipt.execution.logs} log(s) (as the node reports it, not proven here)
` : ''}
` + : `
Not verified · Devnet 3, no value

${esc(res.reason)}

`; + out.innerHTML = top + negativeHtml('a copy of this receipt with one nibble of the raw transaction altered', neg) + stepsHtml(res) + + (res.verified ? `

+

The file carries the raw transaction, the including block's header and merkle path, every header up to the certified checkpoint, the certificate and the voter table. Anyone re-verifies it offline with the one-file verifier: node verify-receipt.js receipt.json (verify-receipt.js, plain JavaScript, no npm, no network). A tampered file fails there the same way the copy above failed here.

` : ''); + const dl = $('[data-download]'); + if (dl) dl.addEventListener('click', () => { + const blob = new Blob([JSON.stringify(receipt, null, 1)], { type: 'application/json' }); + const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = `igneum-receipt-${receipt.tx_hash.slice(0, 12)}.json`; a.click(); setTimeout(() => URL.revokeObjectURL(a.href), 5000); + }); + setStatus(res.verified ? 'verified' : 'refused', res.verified ? 'ok' : 'bad'); + return res; +} + +// ---- wiring --------------------------------------------------------------------------------------------------------- +function wire() { + const form = $('[data-form]'); if (!form) return; + const input = form.querySelector('input'); const kind = form.dataset.form; + if (q.get(kind === 'light' ? 'address' : 'tx')) input.value = q.get(kind === 'light' ? 'address' : 'tx'); + form.addEventListener('submit', async e => { + e.preventDefault(); + const v = input.value.trim(); + const ok = kind === 'light' ? /^0x[0-9a-fA-F]{40}$/.test(v) : /^0x[0-9a-fA-F]{64}$/.test(v); + if (!ok) { setStatus(kind === 'light' ? 'an address is 0x and 40 hex digits' : 'a transaction hash is 0x and 64 hex digits', 'bad'); return; } + form.querySelector('button').disabled = true; + try { if (kind === 'light') await runLight(v); else await runReceipt(v); } + catch (err) { setStatus(String(err.message || err), 'bad'); $('[data-result]').innerHTML = `
Could not fetch · Devnet 3, no value

${esc(String(err.message || err))}

`; } + finally { form.querySelector('button').disabled = false; } + }); + if (input.value) form.requestSubmit(); +} +if (typeof document !== 'undefined') { if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', wire); else wire(); } diff --git a/site/lc/core.js b/site/lc/core.js new file mode 100644 index 000000000..b70123826 --- /dev/null +++ b/site/lc/core.js @@ -0,0 +1,388 @@ +// Igneum reference apps, the checks (no I/O, no DOM). 8 October 2026. Used by the light wallet (/light), the receipt +// page (/receipt) and the one-file offline receipt verifier. Everything here recomputes; nothing is taken on trust +// from the node that served the data. `deps` is { blake2b, bls, keccak } (@noble/hashes blake2b and keccak_256, +// @noble/curves bls12_381), injected so the browser, Node and the bundled verifier share one file. +// +// What a balance proof chains together (every link recomputed here): +// certificate ──signs──> checkpoint header ──parents──> ... ──parents──> carrier header +// carrier header.hash_merkle_root ──merkle path──> coinbase transaction hash ──payload──> IGNS segment record +// segment record ──BLS signature by a voter──> public values ──post_root──> MPT account proof ──> balance +// What a receipt proof chains together: certificate ──> checkpoint ──parents──> including block ──merkle──> raw tx. +// +// Formats, from the node's own code (vendor/igneum-node-light at 5b673577 plus e6081dd6): consensus/core/src/hashing +// (header, transaction), crypto/merkle (the body root), consensus/core/src/proving.rs (IGNS, SegmentRecord, +// BlockStatement), consensus/core/src/finality.rs (the coinbase extra data and IGNF), igneum/exec/src/state.rs +// (the keccak-keyed MPT in reth's layout, eth_getProof). +import { headerHash, voteKeyHash, verifyCheckpoint, hexToBytes, bytesToHex } from '../verify/core.js'; + +export { headerHash, voteKeyHash, verifyCheckpoint, hexToBytes, bytesToHex }; + +export const DST_SEGMENT = 'IGNEUM_SEGMENT_RECORD_V1_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_'; +export const SEGMENT_RECORD_LEN = 2 + 8 + 8 + 32 + 48 + 20 + 340 + 32 + 96; +export const ZERO32 = new Uint8Array(32); +const te = new TextEncoder(); +const strip = s => String(s).replace(/^0x/i, ''); +const u64le = v => { const b = new Uint8Array(8); new DataView(b.buffer).setBigUint64(0, BigInt(v), true); return b; }; +const u16le = v => { const b = new Uint8Array(2); new DataView(b.buffer).setUint16(0, Number(v), true); return b; }; +const u32le = v => { const b = new Uint8Array(4); new DataView(b.buffer).setUint32(0, Number(v), true); return b; }; +function concat(parts) { const n = parts.reduce((a, p) => a + p.length, 0); const m = new Uint8Array(n); let o = 0; for (const p of parts) { m.set(p, o); o += p.length; } return m; } +const eq = (a, b) => a.length === b.length && a.every((x, i) => x === b[i]); +const bigOf = b => { let v = 0n; for (const x of b) v = (v << 8n) | BigInt(x); return v; }; +export const keyed = (blake2b, key) => data => blake2b(data, { dkLen: 32, key: te.encode(key) }); + +// ---- the body merkle root (crypto/merkle/src/lib.rs): leaves padded to a power of two, a missing right child is the +// zero hash, inner node = BLAKE2b-256 keyed "MerkleBranchHash" over left || right; one leaf is its own root -------- +export function merkleRoot(leaves, blake2b) { + const H = keyed(blake2b, 'MerkleBranchHash'); + if (leaves.length === 0) return ZERO32; + let level = leaves.slice(); + while (level.length > 1) { + const next = []; + for (let i = 0; i < level.length; i += 2) next.push(H(concat([level[i], level[i + 1] || ZERO32]))); + level = next; + } + return level[0]; +} +export function merklePath(leaves, index) { + const path = []; let level = leaves.slice(); let i = index; + while (level.length > 1) { + const sib = i % 2 === 0 ? (level[i + 1] || ZERO32) : level[i - 1]; + path.push(sib); + const next = []; for (let k = 0; k < level.length; k += 2) next.push(new Uint8Array(0)); + // only the shape matters here; the hashes are recomputed by the verifier + level = next; i = i >> 1; + } + return path; +} +export function merkleRootFromPath(leaf, index, siblings, blake2b) { + const H = keyed(blake2b, 'MerkleBranchHash'); + let h = leaf, i = index; + for (const s of siblings) { h = i % 2 === 0 ? H(concat([h, s])) : H(concat([s, h])); i = i >> 1; } + return h; +} + +// ---- the coinbase transaction hash (consensus/core/src/hashing/tx.rs, FULL flags) from the RPC's JSON ------------ +export function coinbaseTxHash(tx, blake2b, amountWireLen = 8) { + const version = Number(tx.version || 0); + const parts = [u16le(version), u64le((tx.inputs || []).length)]; + for (const inp of tx.inputs || []) { + parts.push(hexToBytes(strip(inp.previousOutpoint.transactionId)), u32le(inp.previousOutpoint.index)); + const sig = hexToBytes(strip(inp.signatureScript || '')); + parts.push(u64le(sig.length), sig); + if (version < 1) parts.push(new Uint8Array([Number(inp.sigOpCount || 0)])); + parts.push(u64le(inp.sequence)); + if (version >= 1) parts.push(u16le(inp.computeBudget || 0)); + } + parts.push(u64le((tx.outputs || []).length)); + for (const out of tx.outputs || []) { + const v = new Uint8Array(amountWireLen); let x = BigInt(out.value); + for (let i = 0; i < amountWireLen; i++) { v[i] = Number(x & 0xffn); x >>= 8n; } + const spk = hexToBytes(strip(out.scriptPublicKey)); // version u16 LE || script, as the RPC serialises it + parts.push(v, spk.subarray(0, 2), u64le(spk.length - 2), spk.subarray(2)); + if (version >= 1) parts.push(new Uint8Array([out.covenant ? 1 : 0])); + } + const payload = hexToBytes(strip(tx.payload || '')); + parts.push(u64le(tx.lockTime || 0), hexToBytes(strip(tx.subnetworkId)), u64le(tx.gas || 0), u64le(payload.length), payload); + const mass = BigInt(tx.mass || 0); + if (version < 1) { if (mass > 0n) parts.push(u64le(mass)); } else parts.push(u64le(mass)); + return keyed(blake2b, 'TransactionHash')(concat(parts)); +} + +// ---- the coinbase payload: blue_score u64 || subsidy || script version u16 || script len u8 || script || extra; the +// extra data ends with nested sections `items || len_le32 || TAG`: IGNF last, IGNP before it, IGNS before that ---- +export function coinbaseExtraData(payload) { + if (payload.length < 19) return new Uint8Array(0); + const scriptLen = payload[18]; + return payload.subarray(19 + scriptLen); +} +function takeSection(extra, tag) { + const n = extra.length; + if (n < 8) return { items: null, before: extra }; + const t = String.fromCharCode(...extra.subarray(n - 4)); + if (t !== tag) return { items: null, before: extra }; + const len = new DataView(extra.buffer, extra.byteOffset + n - 8, 4).getUint32(0, true); + if (len + 8 > n) return { items: null, before: extra }; + return { items: extra.subarray(n - 8 - len, n - 8), before: extra.subarray(0, n - 8 - len) }; +} +export function segmentRecordsOf(payload) { + const extra = coinbaseExtraData(payload); + const f = takeSection(extra, 'IGNF'); + const p = takeSection(f.before, 'IGNP'); + const s = takeSection(p.before, 'IGNS'); + const out = []; + if (!s.items) return out; + for (let o = 0; o + SEGMENT_RECORD_LEN <= s.items.length; o += SEGMENT_RECORD_LEN) out.push(parseSegmentRecord(s.items.subarray(o, o + SEGMENT_RECORD_LEN))); + return out; +} +export function parseSegmentRecord(b) { + if (b.length !== SEGMENT_RECORD_LEN) throw new Error(`segment record is ${b.length} bytes, not ${SEGMENT_RECORD_LEN}`); + const dv = new DataView(b.buffer, b.byteOffset, b.byteLength); + let o = 0; + const version = dv.getUint16(o, true); o += 2; + const first = dv.getBigUint64(o, true); o += 8; + const last = dv.getBigUint64(o, true); o += 8; + const block = b.subarray(o, o + 32); o += 32; + const pubkey = b.subarray(o, o + 48); o += 48; + const payout = b.subarray(o, o + 20); o += 20; + const publicValues = b.subarray(o, o + 340); o += 340; + const proofHash = b.subarray(o, o + 32); o += 32; + const signature = b.subarray(o, o + 96); + return { bytes: b, version, first, last, block, pubkey, payout, publicValues, proofHash, signature, statement: parseBlockStatement(publicValues) }; +} +export function parseBlockStatement(b) { + const dv = new DataView(b.buffer, b.byteOffset, b.byteLength); + const h = o => bytesToHex(b.subarray(o, o + 32)); + return { + chain_id: dv.getBigUint64(0), number: dv.getBigUint64(8), block_hash: h(16), parent_hash: h(48), shard_count: dv.getUint32(80), + tx_commitment: h(84), pre_root: h(116), post_root: h(148), receipts: h(180), gas_used: dv.getBigUint64(212), pgas_used: dv.getBigUint64(220), + executed: dv.getUint32(228), skipped: dv.getUint32(232), provers: h(236), shard_vk: h(268), agg_vk: h(300), chain_len: dv.getBigUint64(332), + }; +} +export function segmentRecordMessage(chainId, r) { + return concat([te.encode('igneum-segment-record-v1/' + chainId), new Uint8Array([0]), u64le(r.first), u64le(r.last), r.block, r.payout, r.publicValues, r.proofHash]); +} +export function verifySegmentRecordSignature(chainId, r, bls) { + const L = bls.longSignatures; + return L.verify(r.signature, L.hash(segmentRecordMessage(chainId, r), DST_SEGMENT), r.pubkey); +} + +// ---- RLP and the Merkle Patricia trie (keccak-keyed, Ethereum's layout) ---------------------------------------- +export function rlpDecode(b) { + const [item, rest] = rlpItem(b, 0); + if (rest !== b.length) throw new Error('rlp: trailing bytes'); + return item; +} +function rlpItem(b, o) { + if (o >= b.length) throw new Error('rlp: short'); + const x = b[o]; + if (x < 0x80) return [b.subarray(o, o + 1), o + 1]; + if (x < 0xb8) { const n = x - 0x80; return [b.subarray(o + 1, o + 1 + n), o + 1 + n]; } + if (x < 0xc0) { const ll = x - 0xb7; const n = Number(bigOf(b.subarray(o + 1, o + 1 + ll))); return [b.subarray(o + 1 + ll, o + 1 + ll + n), o + 1 + ll + n]; } + let n, start; + if (x < 0xf8) { n = x - 0xc0; start = o + 1; } else { const ll = x - 0xf7; n = Number(bigOf(b.subarray(o + 1, o + 1 + ll))); start = o + 1 + ll; } + const end = start + n; if (end > b.length) throw new Error('rlp: list overruns'); + const items = []; let p = start; + while (p < end) { const [it, q] = rlpItem(b, p); items.push(it); p = q; } + return [items, end]; +} +export function rlpEncode(item) { + if (item instanceof Uint8Array) { + if (item.length === 1 && item[0] < 0x80) return item; + return concat([rlpLen(item.length, 0x80), item]); + } + const body = concat(item.map(rlpEncode)); + return concat([rlpLen(body.length, 0xc0), body]); +} +function rlpLen(n, base) { + if (n < 56) return new Uint8Array([base + n]); + const bytes = []; let x = n; while (x > 0) { bytes.unshift(x & 0xff); x = Math.floor(x / 256); } + return new Uint8Array([base + 55 + bytes.length, ...bytes]); +} +export const trimBig = v => { v = BigInt(v); if (v === 0n) return new Uint8Array(0); let h = v.toString(16); if (h.length % 2) h = '0' + h; return hexToBytes(h); }; +const nibbles = b => { const out = []; for (const x of b) { out.push(x >> 4, x & 15); } return out; }; +function hpDecode(b) { // hex-prefix: returns [nibbles, isLeaf] + const n = nibbles(b); const flag = n[0]; + const body = flag & 1 ? n.slice(1) : n.slice(2); + return [body, (flag & 2) !== 0]; +} +// Walks the proof from the root to the key; returns the value bytes (Uint8Array) or null for a proven absence. +// Throws on any node that does not hash to its reference, any malformed node, or a path that does not reach a verdict. +export function mptVerify(root, key, proofNodes, keccak) { + const path = nibbles(key); let want = root; let pos = 0; + const byHash = new Map(); for (const n of proofNodes) byHash.set(bytesToHex(keccak(n)), n); + if (proofNodes.length === 0) { if (eq(root, keccak(rlpEncode(new Uint8Array(0))))) return null; throw new Error('mpt: no proof nodes for a non-empty root'); } + let node = byHash.get(bytesToHex(want)); + if (!node) throw new Error('mpt: the first proof node is not the root'); + for (let guard = 0; guard < 128; guard++) { + const items = rlpDecode(node); + if (!Array.isArray(items)) throw new Error('mpt: node is not a list'); + let next; + if (items.length === 17) { + if (pos === path.length) { const v = items[16]; return v.length ? v : null; } + next = items[path[pos]]; pos += 1; + } else if (items.length === 2) { + const [np, leaf] = hpDecode(items[0]); + for (let i = 0; i < np.length; i++) if (path[pos + i] !== np[i]) return null; // the key diverges: proven absent + pos += np.length; + if (leaf) { if (pos !== path.length) return null; return items[1]; } + next = items[1]; + } else throw new Error('mpt: node with ' + items.length + ' items'); + if (next instanceof Uint8Array) { + if (next.length === 0) return null; // an empty slot: proven absent + if (next.length !== 32) throw new Error('mpt: bad reference'); + node = byHash.get(bytesToHex(next)); + if (!node) throw new Error('mpt: a referenced node is missing from the proof'); + want = next; + } else { + node = rlpEncode(next); // an embedded node (under 32 bytes) + } + } + throw new Error('mpt: path too deep'); +} +// Verifies an eth_getProof account proof against `stateRoot`; returns {exists, nonce, balance, storageRoot, codeHash}. +export function verifyAccountProof(stateRoot, address, proofHex, keccak) { + const key = keccak(hexToBytes(strip(address))); + const v = mptVerify(stateRoot, key, proofHex.map(h => hexToBytes(strip(h))), keccak); + if (v === null) return { exists: false, nonce: 0n, balance: 0n, storageRoot: null, codeHash: null }; + const items = rlpDecode(v); + if (!Array.isArray(items) || items.length !== 4) throw new Error('mpt: account leaf is not [nonce, balance, storageRoot, codeHash]'); + return { exists: true, nonce: bigOf(items[0]), balance: bigOf(items[1]), storageRoot: bytesToHex(items[2]), codeHash: bytesToHex(items[3]) }; +} +export function verifyStorageProof(storageRoot, slot, proofHex, keccak) { + const key = keccak(hexToBytes(strip(slot).padStart(64, '0'))); + const v = mptVerify(storageRoot, key, proofHex.map(h => hexToBytes(strip(h))), keccak); + if (v === null) return 0n; + const item = rlpDecode(v); + if (Array.isArray(item)) throw new Error('mpt: storage leaf is a list'); + return bigOf(item); +} + +// ---- the header path: headers[0] is the oldest, each next header names the previous as a direct parent ------------ +export function verifyHeaderPath(headers, blake2b, fromHash, toHash) { + if (!headers.length) throw new Error('no headers'); + for (let i = 0; i < headers.length; i++) { + const h = headers[i]; + const got = headerHash(h, blake2b); + if (got !== strip(h.hash)) throw new Error(`header ${i} (${strip(h.hash).slice(0, 12)}) does not recompute: ${got.slice(0, 12)}`); + if (i > 0) { + const direct = (h.parents_by_level && h.parents_by_level[0]) || []; + if (!direct.includes(strip(headers[i - 1].hash))) throw new Error(`header ${i} does not name header ${i - 1} as a direct parent`); + } + } + if (fromHash && strip(headers[0].hash) !== strip(fromHash)) throw new Error('the first header is not the block the proof starts from'); + if (toHash && strip(headers[headers.length - 1].hash) !== strip(toHash)) throw new Error('the last header is not the certified checkpoint'); + return headers.length; +} + +// ---- the balance proof ------------------------------------------------------------------------------------------ +// `cp` is the /api/checkpoint body (certificate, voters, headers to the previous lock); `proof` is the /balance body: +// { address, chain_id, checkpoint: {hash, index}, headers: [carrier .. checkpoint], carrier: { coinbase: , +// evm_tx_hashes: [hex...], leaf_index: 0, merkle_siblings: [hex...] }, segment_record_hex, account: eth_getProof result }. +// Returns { verified, steps: [{name, ok, detail}], balance, ... } and stops at the first failing step. +export function verifyBalance(cp, proof, deps) { + const { blake2b, bls, keccak } = deps; + const steps = []; const t0 = now(); + const step = (name, fn) => { try { const d = fn(); steps.push({ name, ok: true, detail: d }); return d; } catch (e) { steps.push({ name, ok: false, detail: String(e.message || e) }); throw e; } }; + const done = extra => ({ ...extra, steps, ms: Math.round((now() - t0) * 10) / 10 }); + try { + const cert = step('certificate: BLS aggregate over the checkpoint, 2/3 of active and 17/30 of total weight', () => { + const r = verifyCheckpoint(cp, { blake2b, bls }); + if (!r.verified) throw new Error(r.reason); + return `checkpoint ${r.index}, ${r.signers} of ${r.voters} voters, ${(r.weight_fraction_total * 100).toFixed(1)}% of total weight, ${r.headers_checked} headers to the previous lock`; + }); + step('the proof names the certified checkpoint', () => { + if (strip(proof.checkpoint.hash) !== strip(cp.hash) || Number(proof.checkpoint.index) !== Number(cp.index)) throw new Error('the balance proof is for another checkpoint than the certificate'); + if (proof.chain_id !== cp.chain_id) throw new Error(`chain ${proof.chain_id} is not ${cp.chain_id}`); + return `${cp.chain_id}, checkpoint ${cp.index}`; + }); + step('header chain from the carrier block up to the checkpoint (every hash recomputed, every parent link checked)', () => + `${verifyHeaderPath(proof.headers, blake2b, proof.headers[0].hash, cp.hash)} headers, ${strip(proof.headers[0].hash).slice(0, 12)} up to ${strip(cp.hash).slice(0, 12)}`); + const carrier = proof.headers[0]; + const record = step('the coinbase transaction is in the carrier block (hash recomputed, merkle path to hash_merkle_root)', () => { + const cb = coinbaseTxHash(proof.carrier.coinbase, blake2b, proof.carrier.amount_wire_len || 8); + const sibs = proof.carrier.merkle_siblings.map(s => hexToBytes(strip(s))); + const root = merkleRootFromPath(cb, Number(proof.carrier.leaf_index), sibs, blake2b); + if (bytesToHex(root) !== strip(carrier.hash_merkle_root)) throw new Error('the merkle path does not reach the carrier\'s hash_merkle_root'); + const recs = segmentRecordsOf(hexToBytes(strip(proof.carrier.coinbase.payload))); + const want = strip(proof.segment_record_hex); + const rec = recs.find(r => bytesToHex(r.bytes) === want); + if (!rec) throw new Error(`the carrier's coinbase carries ${recs.length} segment record(s), none is the named one`); + return `coinbase ${bytesToHex(cb).slice(0, 12)}, leaf ${proof.carrier.leaf_index} of ${proof.carrier.evm_tx_hashes.length + 1}, record for blocks ${rec.first} to ${rec.last}`; + }) && segmentRecordsOf(hexToBytes(strip(proof.carrier.coinbase.payload))).find(r => bytesToHex(r.bytes) === strip(proof.segment_record_hex)); + const agg = step('the segment record is signed by its aggregator (BLS over the record under the network\'s tag)', () => { + if (!verifySegmentRecordSignature(cp.chain_id, record, bls)) throw new Error('the aggregator\'s signature does not verify'); + // the aggregator signs with a vote key; a prove-only key has no mining weight and is not in the voter table, which is + // reported, not refused (the record's standing comes from the nodes' native check and the payout, not from weight) + const kh = voteKeyHash(record.pubkey, blake2b); + const voter = (cp.voters || []).find(v => (v.vote_key_hash || voteKeyHash(hexToBytes(v.pubkey_hex), blake2b)) === kh); + const total = (cp.voters || []).reduce((a, v) => a + Number(v.weight), 0); + return voter + ? `aggregator ${kh.slice(0, 12)}, a voter with weight ${voter.weight} of ${total} (${(100 * Number(voter.weight) / total).toFixed(2)}%)` + : `aggregator ${kh.slice(0, 12)}, a prove-only key (not in the voter table of ${cp.voters.length}, no mining weight)`; + }); + const st = record.statement; + step('the record\'s statement names the chain and the block whose state it commits', () => { + if (Number(st.number) !== Number(record.last)) throw new Error('the statement is not for the segment\'s last block'); + if (bytesToHex(record.block) !== st.block_hash) throw new Error('the record\'s block hash is not the statement\'s'); + // the EVM chain id in the statement is the one in force at that block (Devnet 3: 4463 below its class v5 floor, 4464 above); + // the record's binding to the chain is the signed message, which names the network by its string ("igneum-devnet-3") + const ids = cp.chain_id === 'igneum-devnet-3' ? [4463, 4464] : [Number(proof.account.evm_chain_id)]; + if (!ids.includes(Number(st.chain_id))) throw new Error(`statement chain id ${st.chain_id} is not ${cp.chain_id}'s (${ids.join(' or ')})`); + return `EVM chain id ${st.chain_id}, chain block ${st.number}, post_root ${st.post_root.slice(0, 12)}, ${st.executed} executed, chain_len ${st.chain_len}`; + }); + let acct = null; + step('account proof under post_root (keccak-keyed Merkle Patricia trie, every node hashed)', () => { + if (Number(proof.account.blockNumber) !== Number(st.number)) throw new Error('the account proof is for another block than the statement'); + if (strip(proof.account.stateRoot) !== st.post_root) throw new Error('the node\'s state root is not the proven post_root'); + const a = verifyAccountProof(hexToBytes(st.post_root), proof.address, proof.account.accountProof, keccak); + acct = a; + if (a.exists && a.balance !== BigInt(proof.account.balance)) throw new Error('the proven balance is not the balance the node reported'); + if (!a.exists && BigInt(proof.account.balance) !== 0n) throw new Error('the node reports a balance for an account the trie does not hold'); + return `${proof.account.accountProof.length} nodes, ${a.exists ? 'account present' : 'account absent (exclusion proof)'}`; + }); + const balance = acct.exists ? acct.balance : 0n; + return done({ verified: true, balance, balance_wei: balance.toString(), nonce: acct.nonce.toString(), block: Number(st.number), post_root: st.post_root, checkpoint: Number(cp.index), headers: proof.headers.length, aggregator: agg, certificate: cert }); + } catch (e) { + return done({ verified: false, reason: String(e.message || e) }); + } +} + +// ---- the receipt proof ------------------------------------------------------------------------------------------ +// `receipt` = { chain_id, tx_hash, raw_tx_hex, checkpoint: {hash, index, certificate: }, +// including_block: { header, evm_tx_hashes, leaf_index, merkle_siblings }, headers: [including .. checkpoint], +// execution (optional, as the node reports it): { chain_block, status, gas_used, ... } } +export function verifyReceipt(receipt, deps) { + const { blake2b, bls, keccak } = deps; + const steps = []; const t0 = now(); + const step = (name, fn) => { try { const d = fn(); steps.push({ name, ok: true, detail: d }); return d; } catch (e) { steps.push({ name, ok: false, detail: String(e.message || e) }); throw e; } }; + const done = extra => ({ ...extra, steps, ms: Math.round((now() - t0) * 10) / 10 }); + try { + const cp = receipt.checkpoint.certificate; + const cert = step('certificate: BLS aggregate over the checkpoint, 2/3 of active and 17/30 of total weight', () => { + const r = verifyCheckpoint(cp, { blake2b, bls }); + if (!r.verified) throw new Error(r.reason); + if (strip(cp.hash) !== strip(receipt.checkpoint.hash) || receipt.chain_id !== cp.chain_id) throw new Error('the receipt names another checkpoint or chain than its certificate'); + return `checkpoint ${r.index} on ${cp.chain_id}, ${r.signers} of ${r.voters} voters, ${(r.weight_fraction_total * 100).toFixed(1)}% of total weight`; + }); + let tx = null; + step('the transaction hash is keccak256 of the raw signed transaction', () => { + const raw = hexToBytes(strip(receipt.raw_tx_hex)); + const h = bytesToHex(keccak(raw)); + if (h !== strip(receipt.tx_hash)) throw new Error(`the raw bytes hash to ${h.slice(0, 12)}, not ${strip(receipt.tx_hash).slice(0, 12)}`); + tx = parseTx(raw); + return `${raw.length} bytes, type ${tx.type}, to ${tx.to || 'contract creation'}, value ${tx.value} wei, nonce ${tx.nonce}`; + }); + step('header chain from the including block up to the checkpoint (every hash recomputed, every parent link checked)', () => + `${verifyHeaderPath(receipt.headers, blake2b, receipt.including_block.header.hash, cp.hash)} headers, ${strip(receipt.headers[0].hash).slice(0, 12)} up to ${strip(cp.hash).slice(0, 12)}`); + step('the transaction is a leaf of the including block\'s hash_merkle_root', () => { + const ib = receipt.including_block; + const sibs = ib.merkle_siblings.map(s => hexToBytes(strip(s))); + const root = merkleRootFromPath(hexToBytes(strip(receipt.tx_hash)), Number(ib.leaf_index), sibs, blake2b); + if (bytesToHex(root) !== strip(receipt.headers[0].hash_merkle_root)) throw new Error('the merkle path does not reach the including block\'s hash_merkle_root'); + return `leaf ${ib.leaf_index} of ${ib.leaf_count}`; + }); + return done({ verified: true, tx, headers: receipt.headers.length, checkpoint: Number(cp.index), certificate: cert, block: strip(receipt.headers[0].hash), block_daa: receipt.headers[0].daa_score, block_time: receipt.headers[0].timestamp }); + } catch (e) { + return done({ verified: false, reason: String(e.message || e) }); + } +} + +// A typed (EIP-1559 type 2, EIP-2930 type 1) or legacy raw transaction: the fields a receipt shows. No signature +// recovery here (the node's `from` is shown as reported; the chain's own check of the signature is what put the +// transaction in a block). +export function parseTx(raw) { + const type = raw[0] <= 0x7f ? raw[0] : 0; + const body = rlpDecode(type ? raw.subarray(1) : raw); + const hex = b => '0x' + bytesToHex(b); + if (type === 2) return { type, chain_id: bigOf(body[0]).toString(), nonce: bigOf(body[1]).toString(), to: body[5].length ? hex(body[5]) : null, value: bigOf(body[6]).toString(), data: hex(body[7]), gas: bigOf(body[4]).toString() }; + if (type === 1) return { type, chain_id: bigOf(body[0]).toString(), nonce: bigOf(body[1]).toString(), to: body[4].length ? hex(body[4]) : null, value: bigOf(body[5]).toString(), data: hex(body[6]), gas: bigOf(body[3]).toString() }; + return { type: 0, nonce: bigOf(body[0]).toString(), to: body[3].length ? hex(body[3]) : null, value: bigOf(body[4]).toString(), data: hex(body[5]), gas: bigOf(body[2]).toString() }; +} + +export function formatIgn(wei, decimals = 18) { + const v = BigInt(wei); const base = 10n ** BigInt(decimals); + const whole = v / base; let frac = (v % base).toString().padStart(decimals, '0').replace(/0+$/, ''); + if (frac.length > 6) frac = frac.slice(0, 6); + return whole.toString() + (frac ? '.' + frac : ''); +} +const now = () => (typeof performance !== 'undefined' ? performance : Date).now(); diff --git a/site/lc/test.html b/site/lc/test.html new file mode 100644 index 000000000..b16045e1b --- /dev/null +++ b/site/lc/test.html @@ -0,0 +1,86 @@ + + + + +Igneum reference apps test: genuine and tampered + + + + + +

Igneum reference apps: the negative cases, in this tab (Devnet 3, no value)

+

Each row runs site/lc/core.js on live Devnet 3 data from . A tampered case must read refused; the genuine case must read verified. The same cases run under Node in tools/reference-apps/light-service/verify.test.mjs. Parameters: ?api= (the read service), ?address= (the balance to prove; default: the miner of the latest block), ?tx= (a transaction; default: one in a recent block).

+

Receipt

+
caseresultmsreason
+

Balance

+
caseresultmsreason
+

+
+
+
diff --git a/site/lc/verify-receipt.js b/site/lc/verify-receipt.js
new file mode 100644
index 000000000..e2aec4e52
--- /dev/null
+++ b/site/lc/verify-receipt.js
@@ -0,0 +1,5322 @@
+#!/usr/bin/env node
+// Igneum payment receipt verifier, one file, offline. Source: tools/reference-apps/receipt/verify-receipt.src.mjs and site/lc/core.js
+// (the same checks the browser page runs), bundled with @noble/hashes 2.4.0 and @noble/curves 2.4.0 (MIT). Usage: node verify-receipt.js receipt.json [--tamper]
+
+// tools/reference-apps/receipt/verify-receipt.src.mjs
+var import_node_fs = require("node:fs");
+
+// tools/reference-apps/light-service/node_modules/@noble/hashes/utils.js
+function isBytes(a) {
+  return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array" && "BYTES_PER_ELEMENT" in a && a.BYTES_PER_ELEMENT === 1;
+}
+var atitle = (title) => title ? `"${title}" ` : "";
+function anumber(n, title = "") {
+  if (typeof n !== "number")
+    throw new TypeError(atitle(title) + "expected number, got " + typeof n);
+  if (!Number.isSafeInteger(n) || n < 0)
+    throw new RangeError(atitle(title) + "expected integer >= 0, got " + n);
+  return n;
+}
+function abool(value, title = "") {
+  if (typeof value !== "boolean")
+    throw new TypeError(atitle(title) + "expected boolean, got type=" + typeof value);
+  return value;
+}
+function abytes(value, length, title = "") {
+  if (isBytes(value) && (length === void 0 || value.length === length))
+    return value;
+  if (length !== void 0)
+    anumber(length, "length");
+  const bytes = isBytes(value);
+  const ofLen = length !== void 0 ? ` of length ${length}` : "";
+  const got = bytes ? `length=${value.length}` : `type=${typeof value}`;
+  const message = atitle(title) + "expected Uint8Array" + ofLen + ", got " + got;
+  if (!bytes)
+    throw new TypeError(message);
+  throw new RangeError(message);
+}
+function copyBytes(bytes) {
+  return Uint8Array.from(abytes(bytes));
+}
+var aobject = (value, label) => {
+  if (value === null || typeof value !== "object" || Array.isArray(value))
+    throw new TypeError((label === "object" ? "" : `"${label}" `) + "expected object, got type=" + typeof value);
+};
+var aopts = (value, label) => {
+  aobject(value, label);
+  const proto = Object.getPrototypeOf(value);
+  if (proto !== Object.prototype && proto !== null)
+    throw new TypeError(`"${label}" expected plain object`);
+  if (Object.hasOwn(value, "__proto__"))
+    throw new TypeError(`"${label}.__proto__" is not allowed`);
+};
+function aexists(instance, checkFinished = true) {
+  if (instance.destroyed)
+    throw new Error("hash was destroyed");
+  if (checkFinished && instance.finished)
+    throw new Error("digest() was already called");
+}
+function aoutput(out, instance) {
+  abytes(out, void 0, "output");
+  const min = instance.outputLen;
+  if (!(out.length >= min)) {
+    throw new RangeError('"output" expected length >= ' + min);
+  }
+}
+function u32(arr) {
+  return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
+}
+function clean(...arrays) {
+  for (let i = 0; i < arrays.length; i++) {
+    arrays[i].fill(0);
+  }
+}
+function createView(arr) {
+  return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
+}
+function rotr(word, shift) {
+  return word << 32 - shift | word >>> shift;
+}
+var isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68)();
+function byteSwap(word) {
+  return word << 24 & 4278190080 | word << 8 & 16711680 | word >>> 8 & 65280 | word >>> 24 & 255;
+}
+var swap8IfBE = isLE ? (n) => n : (n) => byteSwap(n) >>> 0;
+function byteSwap32(arr) {
+  for (let i = 0; i < arr.length; i++) {
+    arr[i] = byteSwap(arr[i]);
+  }
+  return arr;
+}
+var swap32IfBE = isLE ? (u) => u : byteSwap32;
+var hasHexBuiltin = /* @__PURE__ */ (() => (
+  // @ts-ignore
+  typeof Uint8Array.from([]).toHex === "function" && typeof Uint8Array.fromHex === "function"
+))();
+var hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
+function bytesToHex(bytes) {
+  abytes(bytes);
+  if (hasHexBuiltin)
+    return bytes.toHex();
+  let hex = "";
+  for (let i = 0; i < bytes.length; i++) {
+    hex += hexes[bytes[i]];
+  }
+  return hex;
+}
+function asciiToBase16(ch) {
+  return ch >= 48 && ch <= 57 ? ch - 48 : ch >= 65 && ch <= 70 ? ch - (65 - 10) : ch >= 97 && ch <= 102 ? ch - (97 - 10) : void 0;
+}
+function hexToBytes(hex) {
+  if (typeof hex !== "string")
+    throw new TypeError("hex string expected, got " + typeof hex);
+  if (hasHexBuiltin) {
+    try {
+      return Uint8Array.fromHex(hex);
+    } catch (error) {
+      if (error instanceof SyntaxError)
+        throw new RangeError(error.message);
+      throw error;
+    }
+  }
+  const hl = hex.length;
+  const al = hl / 2;
+  if (hl % 2)
+    throw new RangeError("hex string expected, got unpadded hex of length " + hl);
+  const array = new Uint8Array(al);
+  for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {
+    const n1 = asciiToBase16(hex.charCodeAt(hi));
+    const n2 = asciiToBase16(hex.charCodeAt(hi + 1));
+    if (n1 === void 0 || n2 === void 0) {
+      const char = hex[hi] + hex[hi + 1];
+      throw new RangeError('hex string expected, got non-hex character "' + char + '" at index ' + hi);
+    }
+    array[ai] = n1 * 16 + n2;
+  }
+  return array;
+}
+function concatBytes(...arrays) {
+  let sum = 0;
+  for (let i = 0; i < arrays.length; i++) {
+    const a = arrays[i];
+    abytes(a);
+    sum += a.length;
+  }
+  const res = new Uint8Array(sum);
+  for (let i = 0, pad = 0; i < arrays.length; i++) {
+    const a = arrays[i];
+    res.set(a, pad);
+    pad += a.length;
+  }
+  return res;
+}
+function checkOpts(defaults, opts, title = "opts") {
+  aopts(defaults, "defaults");
+  if (opts !== void 0)
+    aopts(opts, title);
+  const merged = Object.assign(/* @__PURE__ */ Object.create(null), defaults, opts);
+  return merged;
+}
+function createHasher(hashCons, info = {}) {
+  if (typeof hashCons !== "function")
+    throw new TypeError('"hashCons" expected function, got type=' + typeof hashCons);
+  info = checkOpts({}, info, "info");
+  const hashC = (msg, opts) => hashCons(opts).update(msg).digest();
+  const tmp = hashCons(void 0);
+  hashC.outputLen = tmp.outputLen;
+  hashC.blockLen = tmp.blockLen;
+  hashC.canXOF = tmp.canXOF;
+  hashC.create = (opts) => hashCons(opts);
+  Object.assign(hashC, info);
+  return Object.freeze(hashC);
+}
+function randomBytes(bytesLength = 32) {
+  anumber(bytesLength, "bytesLength");
+  const cr = typeof globalThis === "object" ? globalThis.crypto : null;
+  if (typeof cr?.getRandomValues !== "function")
+    throw new Error("crypto.getRandomValues must be defined");
+  if (bytesLength > 65536)
+    throw new RangeError(`"bytesLength" expected <= 65536, got ${bytesLength}`);
+  return cr.getRandomValues(new Uint8Array(bytesLength));
+}
+var oidNist = (suffix) => ({
+  // Current NIST hashAlgs suffixes used here fit in one DER subidentifier octet.
+  // Larger suffix values would need base-128 OID encoding and a different length byte.
+  oid: Uint8Array.from([6, 9, 96, 134, 72, 1, 101, 3, 4, 2, suffix])
+});
+
+// tools/reference-apps/light-service/node_modules/@noble/hashes/_blake.js
+var BSIGMA = /* @__PURE__ */ Uint8Array.from([
+  0,
+  1,
+  2,
+  3,
+  4,
+  5,
+  6,
+  7,
+  8,
+  9,
+  10,
+  11,
+  12,
+  13,
+  14,
+  15,
+  14,
+  10,
+  4,
+  8,
+  9,
+  15,
+  13,
+  6,
+  1,
+  12,
+  0,
+  2,
+  11,
+  7,
+  5,
+  3,
+  11,
+  8,
+  12,
+  0,
+  5,
+  2,
+  15,
+  13,
+  10,
+  14,
+  3,
+  6,
+  7,
+  1,
+  9,
+  4,
+  7,
+  9,
+  3,
+  1,
+  13,
+  12,
+  11,
+  14,
+  2,
+  6,
+  5,
+  10,
+  4,
+  0,
+  15,
+  8,
+  9,
+  0,
+  5,
+  7,
+  2,
+  4,
+  10,
+  15,
+  14,
+  1,
+  11,
+  12,
+  6,
+  8,
+  3,
+  13,
+  2,
+  12,
+  6,
+  10,
+  0,
+  11,
+  8,
+  3,
+  4,
+  13,
+  7,
+  5,
+  15,
+  14,
+  1,
+  9,
+  12,
+  5,
+  1,
+  15,
+  14,
+  13,
+  4,
+  10,
+  0,
+  7,
+  6,
+  3,
+  9,
+  2,
+  8,
+  11,
+  13,
+  11,
+  7,
+  14,
+  12,
+  1,
+  3,
+  9,
+  5,
+  0,
+  15,
+  4,
+  8,
+  6,
+  2,
+  10,
+  6,
+  15,
+  14,
+  9,
+  11,
+  3,
+  0,
+  8,
+  12,
+  2,
+  13,
+  7,
+  1,
+  4,
+  10,
+  5,
+  10,
+  2,
+  8,
+  4,
+  7,
+  6,
+  1,
+  5,
+  15,
+  11,
+  9,
+  14,
+  3,
+  12,
+  13,
+  0,
+  0,
+  1,
+  2,
+  3,
+  4,
+  5,
+  6,
+  7,
+  8,
+  9,
+  10,
+  11,
+  12,
+  13,
+  14,
+  15,
+  14,
+  10,
+  4,
+  8,
+  9,
+  15,
+  13,
+  6,
+  1,
+  12,
+  0,
+  2,
+  11,
+  7,
+  5,
+  3,
+  // Blake1, unused in others
+  11,
+  8,
+  12,
+  0,
+  5,
+  2,
+  15,
+  13,
+  10,
+  14,
+  3,
+  6,
+  7,
+  1,
+  9,
+  4,
+  7,
+  9,
+  3,
+  1,
+  13,
+  12,
+  11,
+  14,
+  2,
+  6,
+  5,
+  10,
+  4,
+  0,
+  15,
+  8,
+  9,
+  0,
+  5,
+  7,
+  2,
+  4,
+  10,
+  15,
+  14,
+  1,
+  11,
+  12,
+  6,
+  8,
+  3,
+  13,
+  2,
+  12,
+  6,
+  10,
+  0,
+  11,
+  8,
+  3,
+  4,
+  13,
+  7,
+  5,
+  15,
+  14,
+  1,
+  9
+]);
+
+// tools/reference-apps/light-service/node_modules/@noble/hashes/_u64.js
+var U32_MASK64 = /* @__PURE__ */ (() => BigInt(2 ** 32 - 1))();
+var _32n = /* @__PURE__ */ BigInt(32);
+function fromBig(n, le = false) {
+  if (le)
+    return { h: Number(n & U32_MASK64), l: Number(n >> _32n & U32_MASK64) };
+  return { h: Number(n >> _32n & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
+}
+function split(lst, le = false) {
+  const len = lst.length;
+  let Ah = new Uint32Array(len);
+  let Al = new Uint32Array(len);
+  for (let i = 0; i < len; i++) {
+    const { h, l } = fromBig(lst[i], le);
+    [Ah[i], Al[i]] = [h, l];
+  }
+  return [Ah, Al];
+}
+var fromNumH = (n) => n / 2 ** 32 | 0;
+var fromNumL = (n) => n >>> 0;
+function setU64FromNum(view, byteOffset, n, isLE2) {
+  const h = fromNumH(n);
+  const l = fromNumL(n);
+  view.setUint32(byteOffset, isLE2 ? l : h, isLE2);
+  view.setUint32(byteOffset + 4, isLE2 ? h : l, isLE2);
+}
+var rotrSH = (h, l, s) => h >>> s | l << 32 - s;
+var rotrSL = (h, l, s) => h << 32 - s | l >>> s;
+var rotrBH = (h, l, s) => h << 64 - s | l >>> s - 32;
+var rotrBL = (h, l, s) => h >>> s - 32 | l << 64 - s;
+var rotr32H = (_h, l) => l;
+var rotr32L = (h, _l) => h;
+function add(Ah, Al, Bh, Bl) {
+  const l = (Al >>> 0) + (Bl >>> 0);
+  return { h: Ah + Bh + (l / 2 ** 32 | 0) | 0, l: l | 0 };
+}
+var add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
+var add3H = (low, Ah, Bh, Ch) => Ah + Bh + Ch + (low / 2 ** 32 | 0) | 0;
+
+// tools/reference-apps/light-service/node_modules/@noble/hashes/_md.js
+function Chi(a, b, c) {
+  return a & b ^ ~a & c;
+}
+function Maj(a, b, c) {
+  return a & b ^ a & c ^ b & c;
+}
+var HashMD = class {
+  blockLen;
+  outputLen;
+  canXOF = false;
+  padOffset;
+  isLE;
+  // For partial updates less than block size
+  buffer;
+  view;
+  finished = false;
+  length = 0;
+  pos = 0;
+  destroyed = false;
+  constructor(blockLen, outputLen, padOffset, isLE2) {
+    this.blockLen = blockLen;
+    this.outputLen = outputLen;
+    this.padOffset = padOffset;
+    this.isLE = isLE2;
+    this.buffer = new Uint8Array(blockLen);
+    this.view = createView(this.buffer);
+  }
+  update(data) {
+    aexists(this);
+    abytes(data);
+    const { view, buffer, blockLen } = this;
+    const len = data.length;
+    let processed = false;
+    for (let pos = 0; pos < len; ) {
+      const take = Math.min(blockLen - this.pos, len - pos);
+      if (take === blockLen) {
+        const dataView = createView(data);
+        for (; blockLen <= len - pos; pos += blockLen)
+          this.process(dataView, pos);
+        processed = true;
+        continue;
+      }
+      buffer.set(pos === 0 && take === len ? data : data.subarray(pos, pos + take), this.pos);
+      this.pos += take;
+      pos += take;
+      if (this.pos === blockLen) {
+        this.process(view, 0);
+        this.pos = 0;
+        processed = true;
+      }
+    }
+    this.length += data.length;
+    if (processed)
+      this.roundClean();
+    return this;
+  }
+  digestInto(out) {
+    aexists(this);
+    aoutput(out, this);
+    this.finished = true;
+    const { buffer, view, blockLen, isLE: isLE2 } = this;
+    let { pos } = this;
+    buffer[pos++] = 128;
+    buffer.fill(0, pos);
+    if (this.padOffset > blockLen - pos) {
+      this.process(view, 0);
+      buffer.fill(0);
+    }
+    setU64FromNum(view, blockLen - 8, this.length * 8, isLE2);
+    this.process(view, 0);
+    this.roundClean();
+    const oview = out === buffer ? view : createView(out);
+    const len = this.outputLen;
+    const outLen = len / 4;
+    const state = this.get();
+    if (len % 4 || outLen > state.length)
+      throw new Error("invalid outputLen");
+    for (let i = 0; i < outLen; i++)
+      oview.setUint32(4 * i, state[i], isLE2);
+  }
+  digest() {
+    const { buffer, outputLen } = this;
+    this.digestInto(buffer);
+    const res = buffer.slice(0, outputLen);
+    this.destroy();
+    return res;
+  }
+  _cloneIntoMeta(to) {
+    const { buffer, length, finished, destroyed, pos } = this;
+    to.destroyed = destroyed;
+    to.finished = finished;
+    to.length = length;
+    to.pos = pos;
+    if (pos)
+      to.buffer.set(buffer);
+    return to;
+  }
+  clone() {
+    return this._cloneInto();
+  }
+};
+var SHA256_IV = /* @__PURE__ */ Uint32Array.from([
+  1779033703,
+  3144134277,
+  1013904242,
+  2773480762,
+  1359893119,
+  2600822924,
+  528734635,
+  1541459225
+]);
+
+// tools/reference-apps/light-service/node_modules/@noble/hashes/blake2.js
+var B2B_IV = /* @__PURE__ */ Uint32Array.from([
+  4089235720,
+  1779033703,
+  2227873595,
+  3144134277,
+  4271175723,
+  1013904242,
+  1595750129,
+  2773480762,
+  2917565137,
+  1359893119,
+  725511199,
+  2600822924,
+  4215389547,
+  528734635,
+  327033209,
+  1541459225
+]);
+var BBUF = /* @__PURE__ */ new Uint32Array(32);
+function G1b(a, b, c, d, msg, x) {
+  const Xl = msg[x], Xh = msg[x + 1];
+  let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1];
+  let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1];
+  let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1];
+  let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1];
+  const ll = add3L(Al, Bl, Xl);
+  Ah = add3H(ll, Ah, Bh, Xh);
+  Al = ll | 0;
+  let xh = Dh ^ Ah, xl = Dl ^ Al;
+  Dh = rotr32H(xh, xl);
+  Dl = rotr32L(xh, xl);
+  ({ h: Ch, l: Cl } = add(Ch, Cl, Dh, Dl));
+  xh = Bh ^ Ch;
+  xl = Bl ^ Cl;
+  Bh = rotrSH(xh, xl, 24);
+  Bl = rotrSL(xh, xl, 24);
+  BBUF[2 * a] = Al;
+  BBUF[2 * a + 1] = Ah;
+  BBUF[2 * b] = Bl;
+  BBUF[2 * b + 1] = Bh;
+  BBUF[2 * c] = Cl;
+  BBUF[2 * c + 1] = Ch;
+  BBUF[2 * d] = Dl;
+  BBUF[2 * d + 1] = Dh;
+}
+function G2b(a, b, c, d, msg, x) {
+  const Xl = msg[x], Xh = msg[x + 1];
+  let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1];
+  let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1];
+  let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1];
+  let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1];
+  const ll = add3L(Al, Bl, Xl);
+  Ah = add3H(ll, Ah, Bh, Xh);
+  Al = ll | 0;
+  let xh = Dh ^ Ah, xl = Dl ^ Al;
+  Dh = rotrSH(xh, xl, 16);
+  Dl = rotrSL(xh, xl, 16);
+  ({ h: Ch, l: Cl } = add(Ch, Cl, Dh, Dl));
+  xh = Bh ^ Ch;
+  xl = Bl ^ Cl;
+  Bh = rotrBH(xh, xl, 63);
+  Bl = rotrBL(xh, xl, 63);
+  BBUF[2 * a] = Al;
+  BBUF[2 * a + 1] = Ah;
+  BBUF[2 * b] = Bl;
+  BBUF[2 * b + 1] = Bh;
+  BBUF[2 * c] = Cl;
+  BBUF[2 * c + 1] = Ch;
+  BBUF[2 * d] = Dl;
+  BBUF[2 * d + 1] = Dh;
+}
+function checkBlake2Opts(outputLen, opts = {}, keyLen, saltLen, persLen) {
+  anumber(keyLen);
+  if (outputLen <= 0 || outputLen > keyLen)
+    throw new Error('"dkLen" must be 1..' + keyLen + ", got " + outputLen);
+  const { key, salt, personalization } = opts;
+  if (key !== void 0 && (key.length < 1 || key.length > keyLen))
+    throw new Error('"key" expected to be undefined or of length=1..' + keyLen);
+  if (salt !== void 0)
+    abytes(salt, saltLen, "salt");
+  if (personalization !== void 0)
+    abytes(personalization, persLen, "personalization");
+}
+var _BLAKE2 = class {
+  buffer;
+  buffer32;
+  finished = false;
+  destroyed = false;
+  length = 0;
+  pos = 0;
+  blockLen;
+  outputLen;
+  canXOF = false;
+  constructor(blockLen, outputLen) {
+    anumber(blockLen);
+    anumber(outputLen);
+    this.blockLen = blockLen;
+    this.outputLen = outputLen;
+    this.buffer = new Uint8Array(blockLen);
+    this.buffer32 = u32(this.buffer);
+  }
+  update(data) {
+    aexists(this);
+    abytes(data);
+    const { blockLen, buffer, buffer32 } = this;
+    const len = data.length;
+    const offset = data.byteOffset;
+    const buf = data.buffer;
+    for (let pos = 0; pos < len; ) {
+      if (this.pos === blockLen) {
+        swap32IfBE(buffer32);
+        this.compress(buffer32, 0, false);
+        swap32IfBE(buffer32);
+        this.pos = 0;
+      }
+      const take = Math.min(blockLen - this.pos, len - pos);
+      const dataOffset = offset + pos;
+      if (take === blockLen && !(dataOffset % 4) && pos + take < len) {
+        const data32 = new Uint32Array(buf, dataOffset, Math.floor((len - pos) / 4));
+        swap32IfBE(data32);
+        for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {
+          this.length += blockLen;
+          this.compress(data32, pos32, false);
+        }
+        swap32IfBE(data32);
+        continue;
+      }
+      buffer.set(pos === 0 && take === len ? data : data.subarray(pos, pos + take), this.pos);
+      this.pos += take;
+      this.length += take;
+      pos += take;
+    }
+    return this;
+  }
+  digestInto(out) {
+    aexists(this);
+    aoutput(out, this);
+    if (out.byteOffset & 3)
+      throw new RangeError('"output" expected 4-byte aligned byteOffset, got ' + out.byteOffset);
+    const { pos, buffer32 } = this;
+    this.finished = true;
+    this.buffer.fill(0, pos);
+    swap32IfBE(buffer32);
+    this.compress(buffer32, 0, true);
+    swap32IfBE(buffer32);
+    const state = this.get();
+    const out32 = out === this.buffer ? buffer32 : u32(out);
+    const full = Math.floor(this.outputLen / 4);
+    for (let i = 0; i < full; i++)
+      out32[i] = swap8IfBE(state[i]);
+    const tail = this.outputLen % 4;
+    if (!tail)
+      return;
+    const off = full * 4;
+    const word = state[full];
+    for (let i = 0; i < tail; i++)
+      out[off + i] = word >>> 8 * i;
+  }
+  digest() {
+    const { buffer, outputLen } = this;
+    this.digestInto(buffer);
+    const res = buffer.slice(0, outputLen);
+    this.destroy();
+    return res;
+  }
+  _cloneInto(to) {
+    const { buffer, length, finished, destroyed, outputLen, pos } = this;
+    to ||= new this.constructor({ dkLen: outputLen });
+    to.set(...this.get());
+    to.buffer.set(buffer);
+    to.destroyed = destroyed;
+    to.finished = finished;
+    to.length = length;
+    to.pos = pos;
+    to.outputLen = outputLen;
+    return to;
+  }
+  clone() {
+    return this._cloneInto();
+  }
+};
+var _BLAKE2b = class extends _BLAKE2 {
+  // Same IV words as SHA-512 / BLAKE2b, encoded as LE u32 low/high halves.
+  v0l = B2B_IV[0] | 0;
+  v0h = B2B_IV[1] | 0;
+  v1l = B2B_IV[2] | 0;
+  v1h = B2B_IV[3] | 0;
+  v2l = B2B_IV[4] | 0;
+  v2h = B2B_IV[5] | 0;
+  v3l = B2B_IV[6] | 0;
+  v3h = B2B_IV[7] | 0;
+  v4l = B2B_IV[8] | 0;
+  v4h = B2B_IV[9] | 0;
+  v5l = B2B_IV[10] | 0;
+  v5h = B2B_IV[11] | 0;
+  v6l = B2B_IV[12] | 0;
+  v6h = B2B_IV[13] | 0;
+  v7l = B2B_IV[14] | 0;
+  v7h = B2B_IV[15] | 0;
+  constructor(opts = {}) {
+    opts = checkOpts({}, opts);
+    const olen = opts.dkLen === void 0 ? 64 : opts.dkLen;
+    super(128, olen);
+    checkBlake2Opts(olen, opts, 64, 16, 16);
+    let { key, personalization, salt } = opts;
+    let keyLength = 0;
+    if (key !== void 0) {
+      abytes(key, void 0, "key");
+      keyLength = key.length;
+    }
+    this.v0l ^= this.outputLen | keyLength << 8 | 1 << 16 | 1 << 24;
+    if (salt !== void 0) {
+      abytes(salt, void 0, "salt");
+      const slt = u32(copyBytes(salt));
+      this.v4l ^= swap8IfBE(slt[0]);
+      this.v4h ^= swap8IfBE(slt[1]);
+      this.v5l ^= swap8IfBE(slt[2]);
+      this.v5h ^= swap8IfBE(slt[3]);
+    }
+    if (personalization !== void 0) {
+      abytes(personalization, void 0, "personalization");
+      const pers = u32(copyBytes(personalization));
+      this.v6l ^= swap8IfBE(pers[0]);
+      this.v6h ^= swap8IfBE(pers[1]);
+      this.v7l ^= swap8IfBE(pers[2]);
+      this.v7h ^= swap8IfBE(pers[3]);
+    }
+    if (key !== void 0) {
+      const tmp = new Uint8Array(this.blockLen);
+      tmp.set(key);
+      this.update(tmp);
+      clean(tmp);
+    }
+  }
+  // prettier-ignore
+  get() {
+    let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this;
+    return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h];
+  }
+  // prettier-ignore
+  set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) {
+    this.v0l = v0l | 0;
+    this.v0h = v0h | 0;
+    this.v1l = v1l | 0;
+    this.v1h = v1h | 0;
+    this.v2l = v2l | 0;
+    this.v2h = v2h | 0;
+    this.v3l = v3l | 0;
+    this.v3h = v3h | 0;
+    this.v4l = v4l | 0;
+    this.v4h = v4h | 0;
+    this.v5l = v5l | 0;
+    this.v5h = v5h | 0;
+    this.v6l = v6l | 0;
+    this.v6h = v6h | 0;
+    this.v7l = v7l | 0;
+    this.v7h = v7h | 0;
+  }
+  compress(msg, offset, isLast) {
+    const { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this;
+    {
+      BBUF[0] = v0l;
+      BBUF[1] = v0h;
+      BBUF[2] = v1l;
+      BBUF[3] = v1h;
+      BBUF[4] = v2l;
+      BBUF[5] = v2h;
+      BBUF[6] = v3l;
+      BBUF[7] = v3h;
+      BBUF[8] = v4l;
+      BBUF[9] = v4h;
+      BBUF[10] = v5l;
+      BBUF[11] = v5h;
+      BBUF[12] = v6l;
+      BBUF[13] = v6h;
+      BBUF[14] = v7l;
+      BBUF[15] = v7h;
+    }
+    BBUF.set(B2B_IV, 16);
+    const l = fromNumL(this.length);
+    const h = fromNumH(this.length);
+    BBUF[24] = B2B_IV[8] ^ l;
+    BBUF[25] = B2B_IV[9] ^ h;
+    if (isLast) {
+      BBUF[28] = ~BBUF[28];
+      BBUF[29] = ~BBUF[29];
+    }
+    let j = 0;
+    const s = BSIGMA;
+    for (let i = 0; i < 12; i++) {
+      G1b(0, 4, 8, 12, msg, offset + 2 * s[j++]);
+      G2b(0, 4, 8, 12, msg, offset + 2 * s[j++]);
+      G1b(1, 5, 9, 13, msg, offset + 2 * s[j++]);
+      G2b(1, 5, 9, 13, msg, offset + 2 * s[j++]);
+      G1b(2, 6, 10, 14, msg, offset + 2 * s[j++]);
+      G2b(2, 6, 10, 14, msg, offset + 2 * s[j++]);
+      G1b(3, 7, 11, 15, msg, offset + 2 * s[j++]);
+      G2b(3, 7, 11, 15, msg, offset + 2 * s[j++]);
+      G1b(0, 5, 10, 15, msg, offset + 2 * s[j++]);
+      G2b(0, 5, 10, 15, msg, offset + 2 * s[j++]);
+      G1b(1, 6, 11, 12, msg, offset + 2 * s[j++]);
+      G2b(1, 6, 11, 12, msg, offset + 2 * s[j++]);
+      G1b(2, 7, 8, 13, msg, offset + 2 * s[j++]);
+      G2b(2, 7, 8, 13, msg, offset + 2 * s[j++]);
+      G1b(3, 4, 9, 14, msg, offset + 2 * s[j++]);
+      G2b(3, 4, 9, 14, msg, offset + 2 * s[j++]);
+    }
+    this.v0l ^= BBUF[0] ^ BBUF[16];
+    this.v0h ^= BBUF[1] ^ BBUF[17];
+    this.v1l ^= BBUF[2] ^ BBUF[18];
+    this.v1h ^= BBUF[3] ^ BBUF[19];
+    this.v2l ^= BBUF[4] ^ BBUF[20];
+    this.v2h ^= BBUF[5] ^ BBUF[21];
+    this.v3l ^= BBUF[6] ^ BBUF[22];
+    this.v3h ^= BBUF[7] ^ BBUF[23];
+    this.v4l ^= BBUF[8] ^ BBUF[24];
+    this.v4h ^= BBUF[9] ^ BBUF[25];
+    this.v5l ^= BBUF[10] ^ BBUF[26];
+    this.v5h ^= BBUF[11] ^ BBUF[27];
+    this.v6l ^= BBUF[12] ^ BBUF[28];
+    this.v6h ^= BBUF[13] ^ BBUF[29];
+    this.v7l ^= BBUF[14] ^ BBUF[30];
+    this.v7h ^= BBUF[15] ^ BBUF[31];
+    clean(BBUF);
+  }
+  destroy() {
+    this.destroyed = true;
+    clean(this.buffer32);
+    this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+  }
+};
+var blake2b = /* @__PURE__ */ createHasher((opts) => new _BLAKE2b(opts));
+
+// tools/reference-apps/light-service/node_modules/@noble/hashes/sha3.js
+var _0n = BigInt(0);
+var _1n = BigInt(1);
+var _2n = BigInt(2);
+var _7n = BigInt(7);
+var _256n = BigInt(256);
+var _0x71n = BigInt(113);
+var SHA3_PI = [];
+var SHA3_ROTL = [];
+var _SHA3_IOTA = [];
+for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
+  [x, y] = [y, (2 * x + 3 * y) % 5];
+  SHA3_PI.push(2 * (5 * y + x));
+  SHA3_ROTL.push((round + 1) * (round + 2) / 2 % 64);
+  let t2 = _0n;
+  for (let j = 0; j < 7; j++) {
+    R = (R << _1n ^ (R >> _7n) * _0x71n) % _256n;
+    if (R & _2n)
+      t2 ^= _1n << (_1n << BigInt(j)) - _1n;
+  }
+  _SHA3_IOTA.push(t2);
+}
+var IOTAS = split(_SHA3_IOTA, true);
+var SHA3_IOTA_H = IOTAS[0];
+var SHA3_IOTA_L = IOTAS[1];
+var rotlSH = (h, l, s) => h << s | l >>> 32 - s;
+var rotlSL = (h, l, s) => l << s | h >>> 32 - s;
+var rotlBH = (h, l, s) => l << s - 32 | h >>> 64 - s;
+var rotlBL = (h, l, s) => h << s - 32 | l >>> 64 - s;
+var rotlH = (h, l, s) => s > 32 ? rotlBH(h, l, s) : rotlSH(h, l, s);
+var rotlL = (h, l, s) => s > 32 ? rotlBL(h, l, s) : rotlSL(h, l, s);
+var B = new Uint32Array(5 * 2);
+function keccakP(s, rounds = 24) {
+  if (!(s instanceof Uint32Array))
+    throw new TypeError('"s" expected Uint32Array(50), got type=' + typeof s);
+  if (s.length !== 50)
+    throw new RangeError('"s" expected Uint32Array(50), got length=' + s.length);
+  anumber(rounds, "rounds");
+  if (rounds < 1 || rounds > 24)
+    throw new Error('"rounds" expected integer 1..24');
+  for (let round = 24 - rounds; round < 24; round++) {
+    for (let x = 0; x < 10; x++)
+      B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
+    for (let x = 0; x < 10; x += 2) {
+      const idx1 = (x + 8) % 10;
+      const idx0 = (x + 2) % 10;
+      const B0 = B[idx0];
+      const B1 = B[idx0 + 1];
+      const Th = rotlH(B0, B1, 1) ^ B[idx1];
+      const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
+      for (let y = 0; y < 50; y += 10) {
+        s[x + y] ^= Th;
+        s[x + y + 1] ^= Tl;
+      }
+    }
+    let curH = s[2];
+    let curL = s[3];
+    for (let t2 = 0; t2 < 24; t2++) {
+      const shift = SHA3_ROTL[t2];
+      const Th = rotlH(curH, curL, shift);
+      const Tl = rotlL(curH, curL, shift);
+      const PI = SHA3_PI[t2];
+      curH = s[PI];
+      curL = s[PI + 1];
+      s[PI] = Th;
+      s[PI + 1] = Tl;
+    }
+    for (let y = 0; y < 50; y += 10) {
+      const b0 = s[y], b1 = s[y + 1], b2 = s[y + 2], b3 = s[y + 3];
+      s[y] ^= ~s[y + 2] & s[y + 4];
+      s[y + 1] ^= ~s[y + 3] & s[y + 5];
+      s[y + 2] ^= ~s[y + 4] & s[y + 6];
+      s[y + 3] ^= ~s[y + 5] & s[y + 7];
+      s[y + 4] ^= ~s[y + 6] & s[y + 8];
+      s[y + 5] ^= ~s[y + 7] & s[y + 9];
+      s[y + 6] ^= ~s[y + 8] & b0;
+      s[y + 7] ^= ~s[y + 9] & b1;
+      s[y + 8] ^= ~b0 & b2;
+      s[y + 9] ^= ~b1 & b3;
+    }
+    s[0] ^= SHA3_IOTA_H[round];
+    s[1] ^= SHA3_IOTA_L[round];
+  }
+  clean(B);
+}
+var Keccak = class _Keccak {
+  state;
+  pos = 0;
+  posOut = 0;
+  finished = false;
+  state32;
+  destroyed = false;
+  blockLen;
+  suffix;
+  outputLen;
+  canXOF;
+  enableXOF = false;
+  rounds;
+  // NOTE: we accept arguments in bytes instead of bits here.
+  constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
+    anumber(blockLen, "blockLen");
+    anumber(suffix, "suffix");
+    anumber(rounds, "rounds");
+    abool(enableXOF, "enableXOF");
+    this.blockLen = blockLen;
+    this.suffix = suffix;
+    this.outputLen = outputLen;
+    this.enableXOF = enableXOF;
+    this.canXOF = enableXOF;
+    this.rounds = rounds;
+    anumber(outputLen, "outputLen");
+    if (!(0 < blockLen && blockLen < 200))
+      throw new Error('"blockLen" must be 1..199');
+    this.state = new Uint8Array(200);
+    this.state32 = u32(this.state);
+  }
+  clone() {
+    return this._cloneInto();
+  }
+  keccak() {
+    swap32IfBE(this.state32);
+    keccakP(this.state32, this.rounds);
+    swap32IfBE(this.state32);
+    this.posOut = 0;
+    this.pos = 0;
+  }
+  update(data) {
+    aexists(this);
+    abytes(data);
+    const { blockLen, state, state32 } = this;
+    const len = data.length;
+    const canUseU32 = blockLen % 4 === 0 && data.byteOffset % 4 === 0;
+    const blockLen32 = blockLen / 4;
+    const data32 = canUseU32 && len >= blockLen ? u32(data) : void 0;
+    for (let pos = 0; pos < len; ) {
+      if (data32 !== void 0 && this.pos === 0 && pos % 4 === 0 && len - pos >= blockLen) {
+        for (let i = 0, o = pos / 4; i < blockLen32; i++)
+          state32[i] ^= data32[o + i];
+        pos += blockLen;
+        this.pos = blockLen;
+        this.keccak();
+        continue;
+      }
+      const take = Math.min(blockLen - this.pos, len - pos);
+      for (let i = 0; i < take; i++)
+        state[this.pos++] ^= data[pos++];
+      if (this.pos === blockLen)
+        this.keccak();
+    }
+    return this;
+  }
+  finish() {
+    if (this.finished)
+      return;
+    this.finished = true;
+    const { state, suffix, pos, blockLen } = this;
+    state[pos] ^= suffix;
+    if ((suffix & 128) !== 0 && pos === blockLen - 1)
+      this.keccak();
+    state[blockLen - 1] ^= 128;
+    this.keccak();
+  }
+  writeInto(out) {
+    aexists(this, false);
+    abytes(out);
+    this.finish();
+    const bufferOut = this.state;
+    const { blockLen } = this;
+    for (let pos = 0, len = out.length; pos < len; ) {
+      if (this.posOut >= blockLen)
+        this.keccak();
+      const take = Math.min(blockLen - this.posOut, len - pos);
+      out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
+      this.posOut += take;
+      pos += take;
+    }
+    return out;
+  }
+  xofInto(out) {
+    if (!this.enableXOF)
+      throw new Error("XOF is not enabled");
+    return this.writeInto(out);
+  }
+  xof(bytes) {
+    anumber(bytes);
+    return this.xofInto(new Uint8Array(bytes));
+  }
+  digestInto(out) {
+    aoutput(out, this);
+    if (this.finished)
+      throw new Error("digest() was already called");
+    this.writeInto(out.length === this.outputLen ? out : out.subarray(0, this.outputLen));
+    this.destroy();
+  }
+  digest() {
+    const out = new Uint8Array(this.outputLen);
+    this.digestInto(out);
+    return out;
+  }
+  destroy() {
+    this.destroyed = true;
+    clean(this.state);
+  }
+  _cloneInto(to) {
+    const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
+    to ||= new _Keccak(blockLen, suffix, outputLen, enableXOF, rounds);
+    to.blockLen = blockLen;
+    to.state32.set(this.state32);
+    to.pos = this.pos;
+    to.posOut = this.posOut;
+    to.finished = this.finished;
+    to.rounds = rounds;
+    to.suffix = suffix;
+    to.outputLen = outputLen;
+    to.enableXOF = enableXOF;
+    to.canXOF = this.canXOF;
+    to.destroyed = this.destroyed;
+    return to;
+  }
+};
+var genKeccak = (suffix, blockLen, outputLen, info = {}) => createHasher(() => new Keccak(blockLen, suffix, outputLen), info);
+var keccak_256 = /* @__PURE__ */ genKeccak(1, 136, 32);
+
+// tools/reference-apps/light-service/node_modules/@noble/hashes/sha2.js
+var SHA256_K = /* @__PURE__ */ Uint32Array.from([
+  1116352408,
+  1899447441,
+  3049323471,
+  3921009573,
+  961987163,
+  1508970993,
+  2453635748,
+  2870763221,
+  3624381080,
+  310598401,
+  607225278,
+  1426881987,
+  1925078388,
+  2162078206,
+  2614888103,
+  3248222580,
+  3835390401,
+  4022224774,
+  264347078,
+  604807628,
+  770255983,
+  1249150122,
+  1555081692,
+  1996064986,
+  2554220882,
+  2821834349,
+  2952996808,
+  3210313671,
+  3336571891,
+  3584528711,
+  113926993,
+  338241895,
+  666307205,
+  773529912,
+  1294757372,
+  1396182291,
+  1695183700,
+  1986661051,
+  2177026350,
+  2456956037,
+  2730485921,
+  2820302411,
+  3259730800,
+  3345764771,
+  3516065817,
+  3600352804,
+  4094571909,
+  275423344,
+  430227734,
+  506948616,
+  659060556,
+  883997877,
+  958139571,
+  1322822218,
+  1537002063,
+  1747873779,
+  1955562222,
+  2024104815,
+  2227730452,
+  2361852424,
+  2428436474,
+  2756734187,
+  3204031479,
+  3329325298
+]);
+var SHA256_W = /* @__PURE__ */ new Uint32Array(64);
+var SHA2_32B = class extends HashMD {
+  // We cannot use array here since array allows indexing by variable
+  // which means optimizer/compiler cannot use registers.
+  // Numeric initializers matter: starting the fields as `undefined` changes
+  // V8's field representation and makes sha256 3x slower (measured).
+  A = 0;
+  B = 0;
+  C = 0;
+  D = 0;
+  E = 0;
+  F = 0;
+  G = 0;
+  H = 0;
+  constructor(outputLen, IV) {
+    super(64, outputLen, 8, false);
+    this.A = IV[0] | 0;
+    this.B = IV[1] | 0;
+    this.C = IV[2] | 0;
+    this.D = IV[3] | 0;
+    this.E = IV[4] | 0;
+    this.F = IV[5] | 0;
+    this.G = IV[6] | 0;
+    this.H = IV[7] | 0;
+  }
+  get() {
+    const { A, B: B2, C, D, E, F, G, H } = this;
+    return [A, B2, C, D, E, F, G, H];
+  }
+  // prettier-ignore
+  set(A, B2, C, D, E, F, G, H) {
+    this.A = A | 0;
+    this.B = B2 | 0;
+    this.C = C | 0;
+    this.D = D | 0;
+    this.E = E | 0;
+    this.F = F | 0;
+    this.G = G | 0;
+    this.H = H | 0;
+  }
+  _cloneInto(to) {
+    (to ||= new this.constructor()).set(...this.get());
+    return this._cloneIntoMeta(to);
+  }
+  process(view, offset) {
+    for (let i = 0; i < 16; i++, offset += 4)
+      SHA256_W[i] = view.getUint32(offset, false);
+    for (let i = 16; i < 64; i++) {
+      const W15 = SHA256_W[i - 15];
+      const W2 = SHA256_W[i - 2];
+      const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ W15 >>> 3;
+      const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ W2 >>> 10;
+      SHA256_W[i] = s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16] | 0;
+    }
+    let { A, B: B2, C, D, E, F, G, H } = this;
+    for (let i = 0; i < 64; i++) {
+      const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);
+      const T1 = H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i] | 0;
+      const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);
+      const T2 = sigma0 + Maj(A, B2, C) | 0;
+      H = G;
+      G = F;
+      F = E;
+      E = D + T1 | 0;
+      D = C;
+      C = B2;
+      B2 = A;
+      A = T1 + T2 | 0;
+    }
+    A = A + this.A | 0;
+    B2 = B2 + this.B | 0;
+    C = C + this.C | 0;
+    D = D + this.D | 0;
+    E = E + this.E | 0;
+    F = F + this.F | 0;
+    G = G + this.G | 0;
+    H = H + this.H | 0;
+    this.set(A, B2, C, D, E, F, G, H);
+  }
+  roundClean() {
+    clean(SHA256_W);
+  }
+  destroy() {
+    this.destroyed = true;
+    this.set(0, 0, 0, 0, 0, 0, 0, 0);
+    clean(this.buffer);
+  }
+};
+var _SHA256 = class extends SHA2_32B {
+  constructor() {
+    super(32, SHA256_IV);
+  }
+};
+var sha256 = /* @__PURE__ */ createHasher(
+  () => new _SHA256(),
+  /* @__PURE__ */ oidNist(1)
+);
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/utils.js
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+function aarray(item, title, inner = () => {
+}) {
+  if (!Array.isArray(item))
+    throw new TypeError(`"${title}" expected array, got type=${typeof item}`);
+  for (let i = 0; i < item.length; i++)
+    inner(item[i], `${title}[${i}]`);
+  return item;
+}
+var abytes2 = (value, length, title) => abytes(value, length, title);
+var anumber2 = anumber;
+function aobject2(value, title = "object") {
+  if (value === null || typeof value !== "object" || Array.isArray(value))
+    throw new TypeError(title === "object" ? "expected valid options object" : `"${title}" expected object, got type=${typeof value}`);
+  return value;
+}
+function afunction(value, title) {
+  if (typeof value !== "function")
+    throw new TypeError(`"${title}" is invalid: expected function, got ${typeof value}`);
+  return value;
+}
+var bytesToHex2 = bytesToHex;
+var concatBytes2 = (...arrays) => concatBytes(...arrays);
+var hexToBytes2 = (hex) => hexToBytes(hex);
+var isBytes2 = isBytes;
+var randomBytes2 = (bytesLength) => randomBytes(bytesLength);
+var _0n2 = /* @__PURE__ */ BigInt(0);
+var _1n2 = /* @__PURE__ */ BigInt(1);
+var atitle2 = (title) => title ? `"${title}" ` : "";
+function abool2(value, title = "") {
+  if (typeof value !== "boolean")
+    throw new TypeError(atitle2(title) + "expected boolean, got type=" + typeof value);
+  return value;
+}
+function abignumber(n) {
+  if (typeof n === "bigint") {
+    if (!isPosBig(n))
+      throw new RangeError("positive bigint expected, got " + n);
+  } else
+    anumber2(n);
+  return n;
+}
+function asafenumber(value, title = "") {
+  if (typeof value !== "number") {
+    const prefix = title && `"${title}" `;
+    throw new TypeError(prefix + "expected number, got type=" + typeof value);
+  }
+  if (!Number.isSafeInteger(value)) {
+    const prefix = title && `"${title}" `;
+    throw new RangeError(prefix + "expected safe integer, got " + value);
+  }
+}
+function hexToNumber(hex) {
+  if (typeof hex !== "string")
+    throw new TypeError("hex string expected, got " + typeof hex);
+  return hex === "" ? _0n2 : BigInt("0x" + hex);
+}
+function bytesToNumberBE(bytes) {
+  return hexToNumber(bytesToHex(bytes));
+}
+function bytesToNumberLE(bytes) {
+  return hexToNumber(bytesToHex(copyBytes2(abytes(bytes)).reverse()));
+}
+function numberToBytesBE(n, len) {
+  anumber(len);
+  if (len === 0)
+    throw new Error("zero output length is invalid");
+  n = abignumber(n);
+  const expectedLen = len * 2;
+  const hex = n.toString(16);
+  if (hex.length > expectedLen)
+    throw new RangeError("number is too large");
+  return hexToBytes(hex.padStart(expectedLen, "0"));
+}
+function numberToBytesLE(n, len) {
+  return numberToBytesBE(n, len).reverse();
+}
+function copyBytes2(bytes) {
+  return Uint8Array.from(abytes2(bytes));
+}
+function asciiToBytes(ascii) {
+  if (typeof ascii !== "string")
+    throw new TypeError("ascii string expected, got " + typeof ascii);
+  return Uint8Array.from(ascii, (c, i) => {
+    const charCode = c.charCodeAt(0);
+    if (c.length !== 1 || charCode > 127) {
+      throw new RangeError(`string contains non-ASCII character "${ascii[i]}" with code ${charCode} at position ${i}`);
+    }
+    return charCode;
+  });
+}
+function isPosBig(n) {
+  return typeof n === "bigint" && _0n2 <= n;
+}
+function inRange(n, min, max) {
+  return isPosBig(n) && isPosBig(min) && isPosBig(max) && min <= n && n < max;
+}
+function aInRange(title, n, min, max) {
+  if (!inRange(n, min, max))
+    throw new RangeError("expected valid " + title + ": " + min + " <= n < " + max + ", got " + n);
+}
+function bitLen(n) {
+  if (n < _0n2)
+    throw new Error("expected non-negative bigint, got " + n);
+  return n === _0n2 ? 0 : n.toString(2).length;
+}
+function bitGet(n, pos) {
+  if (typeof n !== "bigint")
+    throw new TypeError('"n" expected bigint, got type=' + typeof n);
+  asafenumber(pos, "pos");
+  return n >> BigInt(pos) & _1n2;
+}
+var bitMask = (n) => {
+  asafenumber(n, "n");
+  return (_1n2 << BigInt(n)) - _1n2;
+};
+function validateObject(object, fields2 = {}, optFields = {}, title = "object") {
+  aobject2(object, title);
+  aobject2(fields2, "fields");
+  aobject2(optFields, "optFields");
+  function checkField(fieldName, expectedType, isOpt) {
+    const label = title === "object" ? `param "${String(fieldName)}"` : `"${title}.${String(fieldName)}"`;
+    const val = object[fieldName];
+    if (!Object.hasOwn(object, fieldName) && (isOpt ? val !== void 0 : expectedType !== "function")) {
+      throw new TypeError(`${label} is invalid: expected own property`);
+    }
+    if (isOpt && val === void 0)
+      return;
+    const current = typeof val;
+    if (current !== expectedType || val === null)
+      throw new TypeError(`${label} is invalid: expected ${expectedType}, got ${current}`);
+  }
+  const iter = (f, isOpt) => Object.entries(f).forEach(([k, v]) => checkField(k, v, isOpt));
+  iter(fields2, false);
+  iter(optFields, true);
+}
+var notImplemented = () => {
+  throw new Error("not implemented");
+};
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/abstract/modular.js
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+var _0n3 = /* @__PURE__ */ BigInt(0);
+var _1n3 = /* @__PURE__ */ BigInt(1);
+var _2n2 = /* @__PURE__ */ BigInt(2);
+var _3n = /* @__PURE__ */ BigInt(3);
+var _4n = /* @__PURE__ */ BigInt(4);
+var _5n = /* @__PURE__ */ BigInt(5);
+var _7n2 = /* @__PURE__ */ BigInt(7);
+var _8n = /* @__PURE__ */ BigInt(8);
+var _9n = /* @__PURE__ */ BigInt(9);
+var _15n = /* @__PURE__ */ BigInt(15);
+var _16n = /* @__PURE__ */ BigInt(16);
+var POW_WINDOWED_MIN = /* @__PURE__ */ BigInt("0x10000000000000000");
+function mod(a, b) {
+  if (b <= _0n3)
+    throw new Error("mod: expected positive modulus, got " + b);
+  const result = a % b;
+  return result >= _0n3 ? result : b + result;
+}
+function pow(num, power, modulo) {
+  if (modulo <= _1n3)
+    throw new Error("pow: expected modulus > 1, got " + modulo);
+  if (typeof power !== "bigint")
+    throw new TypeError("invalid exponent: expected bigint, got " + typeof power);
+  if (power < _0n3)
+    throw new Error("invalid exponent, negatives unsupported");
+  if (power === _0n3)
+    return _1n3;
+  if (power === _1n3)
+    return num;
+  let d = num % modulo;
+  if (d < _0n3)
+    d += modulo;
+  if (power < POW_WINDOWED_MIN) {
+    let p2 = _1n3;
+    while (power > _0n3) {
+      if (power & _1n3)
+        p2 = p2 * d % modulo;
+      d = d * d % modulo;
+      power >>= _1n3;
+    }
+    return p2;
+  }
+  const digits = [];
+  while (power > _0n3) {
+    digits.push(Number(power & _15n));
+    power >>= _4n;
+  }
+  const table = new Array(16);
+  table[0] = _1n3;
+  table[1] = d;
+  for (let i = 2; i < 16; i++)
+    table[i] = table[i - 1] * d % modulo;
+  let p = table[digits[digits.length - 1]];
+  for (let w = digits.length - 2; w >= 0; w--) {
+    p = p * p % modulo;
+    p = p * p % modulo;
+    p = p * p % modulo;
+    p = p * p % modulo;
+    const digit = digits[w];
+    if (digit !== 0)
+      p = p * table[digit] % modulo;
+  }
+  return p;
+}
+function invert(number, modulo) {
+  if (number === _0n3)
+    throw new Error("invert: expected non-zero number");
+  if (modulo <= _1n3)
+    throw new Error("invert: expected modulus > 1, got " + modulo);
+  let a = mod(number, modulo);
+  let b = modulo;
+  let x = _0n3, u = _1n3;
+  while (a !== _0n3) {
+    const q = b / a;
+    const r2 = b - a * q;
+    const m = x - u * q;
+    b = a, a = r2, x = u, u = m;
+  }
+  const gcd = b;
+  if (gcd !== _1n3)
+    throw new Error("invert: does not exist");
+  return mod(x, modulo);
+}
+function assertIsSquare(Fp3, root, n) {
+  const F = Fp3;
+  if (!F.eql(F.sqr(root), n))
+    throw new Error("Cannot find square root");
+}
+function aoddModulus(order, fnName) {
+  if ((order & _1n3) === _0n3)
+    throw new Error(fnName + ": expected odd modulus, got " + order);
+}
+function sqrt3mod4(Fp3, n) {
+  const F = Fp3;
+  const p1div4 = (F.ORDER + _1n3) / _4n;
+  const root = F.pow(n, p1div4);
+  assertIsSquare(F, root, n);
+  return root;
+}
+function sqrt5mod8(Fp3, n) {
+  const F = Fp3;
+  const p5div8 = (F.ORDER - _5n) / _8n;
+  const n2 = F.mul(n, _2n2);
+  const v = F.pow(n2, p5div8);
+  const nv = F.mul(n, v);
+  const i = F.mul(F.mul(nv, _2n2), v);
+  const root = F.mul(nv, F.sub(i, F.ONE));
+  assertIsSquare(F, root, n);
+  return root;
+}
+function sqrt9mod16(P) {
+  const Fp_ = Field(P);
+  const tn = tonelliShanks(P);
+  const c1 = tn(Fp_, Fp_.neg(Fp_.ONE));
+  const c2 = tn(Fp_, c1);
+  const c3 = tn(Fp_, Fp_.neg(c1));
+  const c4 = (P + _7n2) / _16n;
+  return (Fp3, n) => {
+    const F = Fp3;
+    let tv1 = F.pow(n, c4);
+    let tv2 = F.mul(tv1, c1);
+    const tv3 = F.mul(tv1, c2);
+    const tv4 = F.mul(tv1, c3);
+    const e1 = F.eql(F.sqr(tv2), n);
+    const e2 = F.eql(F.sqr(tv3), n);
+    tv1 = F.cmov(tv1, tv2, e1);
+    tv2 = F.cmov(tv4, tv3, e2);
+    const e3 = F.eql(F.sqr(tv2), n);
+    const root = F.cmov(tv1, tv2, e3);
+    assertIsSquare(F, root, n);
+    return root;
+  };
+}
+function tonelliShanks(P) {
+  if (P < _3n)
+    throw new Error("sqrt is not defined for small field");
+  aoddModulus(P, "tonelliShanks");
+  let Q = P - _1n3;
+  let S = 0;
+  while (Q % _2n2 === _0n3) {
+    Q /= _2n2;
+    S++;
+  }
+  let Z = _2n2;
+  const _Fp = Field(P);
+  while (FpLegendre(_Fp, Z) === 1) {
+    if (Z++ > 1e3)
+      throw new Error("Cannot find square root: probably non-prime P");
+  }
+  if (S === 1)
+    return sqrt3mod4;
+  let cc = _Fp.pow(Z, Q);
+  const Q1div2 = (Q + _1n3) / _2n2;
+  return function tonelliSlow(Fp3, n) {
+    const F = Fp3;
+    if (F.is0(n))
+      return n;
+    if (FpLegendre(F, n) !== 1)
+      throw new Error("Cannot find square root");
+    let M = S;
+    let c = F.mul(F.ONE, cc);
+    let t2 = F.pow(n, Q);
+    let R = F.pow(n, Q1div2);
+    while (!F.eql(t2, F.ONE)) {
+      if (F.is0(t2))
+        throw new Error("Cannot find square root: probably non-prime P");
+      let i = 1;
+      let t_tmp = F.sqr(t2);
+      while (!F.eql(t_tmp, F.ONE)) {
+        i++;
+        t_tmp = F.sqr(t_tmp);
+        if (i === M)
+          throw new Error("Cannot find square root");
+      }
+      const exponent = _1n3 << BigInt(M - i - 1);
+      const b = F.pow(c, exponent);
+      M = i;
+      c = F.sqr(b);
+      t2 = F.mul(t2, c);
+      R = F.mul(R, b);
+    }
+    return R;
+  };
+}
+function FpSqrt(P) {
+  aoddModulus(P, "Fp.sqrt");
+  if (P % _4n === _3n)
+    return sqrt3mod4;
+  if (P % _8n === _5n)
+    return sqrt5mod8;
+  if (P % _16n === _9n)
+    return sqrt9mod16(P);
+  return tonelliShanks(P);
+}
+var FIELD_FIELDS = [
+  "create",
+  "isValid",
+  "is0",
+  "neg",
+  "inv",
+  "sqrt",
+  "sqr",
+  "eql",
+  "add",
+  "sub",
+  "mul",
+  "pow",
+  "div",
+  "addN",
+  "subN",
+  "mulN",
+  "sqrN"
+];
+function validateField(field) {
+  aobject2(field, "field");
+  if (typeof field.ORDER !== "bigint")
+    throw new TypeError('param "ORDER" is invalid: expected bigint, got ' + typeof field.ORDER);
+  asafenumber(field.BYTES, "BYTES");
+  asafenumber(field.BITS, "BITS");
+  for (const name of FIELD_FIELDS)
+    afunction(field[name], "field." + name);
+  if (field.BYTES < 1 || field.BITS < 1)
+    throw new Error("invalid field: expected BYTES/BITS > 0");
+  if (field.ORDER <= _1n3)
+    throw new Error("invalid field: expected ORDER > 1, got " + field.ORDER);
+  return field;
+}
+function FpPow(Fp3, num, power) {
+  validateField(Fp3);
+  const F = Fp3;
+  if (typeof power !== "bigint")
+    throw new TypeError("invalid exponent: expected bigint, got " + typeof power);
+  if (power < _0n3)
+    throw new Error("invalid exponent, negatives unsupported");
+  if (power === _0n3)
+    return F.ONE;
+  if (power === _1n3)
+    return num;
+  if (power < POW_WINDOWED_MIN) {
+    let p2 = F.ONE;
+    let d = num;
+    while (power > _0n3) {
+      if (power & _1n3)
+        p2 = F.mul(p2, d);
+      d = F.sqr(d);
+      power >>= _1n3;
+    }
+    return p2;
+  }
+  const digits = [];
+  while (power > _0n3) {
+    digits.push(Number(power & _15n));
+    power >>= _4n;
+  }
+  const table = new Array(16);
+  table[0] = F.ONE;
+  table[1] = num;
+  for (let i = 2; i < 16; i++)
+    table[i] = F.mul(table[i - 1], num);
+  let p = table[digits[digits.length - 1]];
+  for (let w = digits.length - 2; w >= 0; w--) {
+    p = F.sqr(F.sqr(F.sqr(F.sqr(p))));
+    const digit = digits[w];
+    if (digit !== 0)
+      p = F.mul(p, table[digit]);
+  }
+  return p;
+}
+function FpInvertBatch(Fp3, nums, passZero = false) {
+  validateField(Fp3);
+  aarray(nums, "nums");
+  abool2(passZero, "passZero");
+  const F = Fp3;
+  const inverted = new Array(nums.length).fill(passZero ? F.ZERO : void 0);
+  const multipliedAcc = nums.reduce((acc, num, i) => {
+    if (F.is0(num))
+      return acc;
+    inverted[i] = acc;
+    return F.mul(acc, num);
+  }, F.ONE);
+  const invertedAcc = F.inv(multipliedAcc);
+  nums.reduceRight((acc, num, i) => {
+    if (F.is0(num))
+      return acc;
+    inverted[i] = F.mul(acc, inverted[i]);
+    return F.mul(acc, num);
+  }, invertedAcc);
+  return inverted;
+}
+function FpLegendre(Fp3, n) {
+  validateField(Fp3);
+  const F = Fp3;
+  aoddModulus(F.ORDER, "FpLegendre");
+  const p1mod2 = (F.ORDER - _1n3) / _2n2;
+  const powered = F.pow(n, p1mod2);
+  const yes = F.eql(powered, F.ONE);
+  const zero = F.eql(powered, F.ZERO);
+  const no = F.eql(powered, F.neg(F.ONE));
+  if (!yes && !zero && !no)
+    throw new Error("invalid Legendre symbol result");
+  return yes ? 1 : zero ? 0 : -1;
+}
+function FpIsSquare(Fp3, n) {
+  const l = FpLegendre(Fp3, n);
+  return l !== -1;
+}
+function nLength(n, nBitLength) {
+  if (nBitLength !== void 0)
+    anumber2(nBitLength);
+  if (n <= _0n3)
+    throw new Error("invalid n length: expected positive n, got " + n);
+  if (nBitLength !== void 0 && nBitLength < 1)
+    throw new Error("invalid n length: expected positive bit length, got " + nBitLength);
+  const bits = bitLen(n);
+  if (nBitLength !== void 0 && nBitLength < bits)
+    throw new Error(`invalid n length: expected nBitLength (${nBitLength}) >= bitLen(n) (${bits})`);
+  const _nBitLength = nBitLength !== void 0 ? nBitLength : bits;
+  const nByteLength = Math.ceil(_nBitLength / 8);
+  return { nBitLength: _nBitLength, nByteLength };
+}
+var FIELD_SQRT = /* @__PURE__ */ new WeakMap();
+var _Field = class {
+  ORDER;
+  BITS;
+  BYTES;
+  isLE;
+  ZERO = _0n3;
+  ONE = _1n3;
+  _lengths;
+  _mod;
+  constructor(ORDER, opts = {}) {
+    if (ORDER <= _1n3)
+      throw new Error("invalid field: expected ORDER > 1, got " + ORDER);
+    let _nbitLength = void 0;
+    this.isLE = false;
+    if (opts != null && typeof opts === "object") {
+      if (typeof opts.BITS === "number")
+        _nbitLength = opts.BITS;
+      if (typeof opts.sqrt === "function")
+        Object.defineProperty(this, "sqrt", { value: opts.sqrt, enumerable: true });
+      if (typeof opts.isLE === "boolean")
+        this.isLE = opts.isLE;
+      if (opts.allowedLengths)
+        this._lengths = Object.freeze(opts.allowedLengths.slice());
+      if (typeof opts.modFromBytes === "boolean")
+        this._mod = opts.modFromBytes;
+    }
+    const { nBitLength, nByteLength } = nLength(ORDER, _nbitLength);
+    if (nByteLength > 2048)
+      throw new Error("invalid field: expected ORDER of <= 2048 bytes");
+    this.ORDER = ORDER;
+    this.BITS = nBitLength;
+    this.BYTES = nByteLength;
+    Object.freeze(this);
+  }
+  create(num) {
+    return mod(num, this.ORDER);
+  }
+  isValid(num) {
+    if (typeof num !== "bigint")
+      throw new TypeError("invalid field element: expected bigint, got " + typeof num);
+    return _0n3 <= num && num < this.ORDER;
+  }
+  is0(num) {
+    return num === _0n3;
+  }
+  // is valid and invertible
+  isValidNot0(num) {
+    return !this.is0(num) && this.isValid(num);
+  }
+  isOdd(num) {
+    return (num & _1n3) === _1n3;
+  }
+  neg(num) {
+    return mod(-num, this.ORDER);
+  }
+  eql(lhs, rhs) {
+    return lhs === rhs;
+  }
+  sqr(num) {
+    return mod(num * num, this.ORDER);
+  }
+  add(lhs, rhs) {
+    return mod(lhs + rhs, this.ORDER);
+  }
+  sub(lhs, rhs) {
+    return mod(lhs - rhs, this.ORDER);
+  }
+  mul(lhs, rhs) {
+    return mod(lhs * rhs, this.ORDER);
+  }
+  pow(num, power) {
+    return pow(num, power, this.ORDER);
+  }
+  div(lhs, rhs) {
+    return mod(lhs * invert(rhs, this.ORDER), this.ORDER);
+  }
+  // Same as above, but doesn't normalize
+  sqrN(num) {
+    return num * num;
+  }
+  addN(lhs, rhs) {
+    return lhs + rhs;
+  }
+  subN(lhs, rhs) {
+    return lhs - rhs;
+  }
+  mulN(lhs, rhs) {
+    return lhs * rhs;
+  }
+  inv(num) {
+    return invert(num, this.ORDER);
+  }
+  sqrt(num) {
+    let sqrt = FIELD_SQRT.get(this);
+    if (!sqrt)
+      FIELD_SQRT.set(this, sqrt = FpSqrt(this.ORDER));
+    return sqrt(this, num);
+  }
+  toBytes(num) {
+    return this.isLE ? numberToBytesLE(num, this.BYTES) : numberToBytesBE(num, this.BYTES);
+  }
+  fromBytes(bytes, skipValidation = false) {
+    abytes2(bytes);
+    const { _lengths: allowedLengths, BYTES, isLE: isLE2, ORDER, _mod: modFromBytes } = this;
+    if (allowedLengths) {
+      if (bytes.length < 1 || !allowedLengths.includes(bytes.length) || bytes.length > BYTES) {
+        throw new Error("Field.fromBytes: expected " + allowedLengths + " bytes, got " + bytes.length);
+      }
+      const padded = new Uint8Array(BYTES);
+      padded.set(bytes, isLE2 ? 0 : padded.length - bytes.length);
+      bytes = padded;
+    }
+    if (bytes.length !== BYTES)
+      throw new Error("Field.fromBytes: expected " + BYTES + " bytes, got " + bytes.length);
+    let scalar = isLE2 ? bytesToNumberLE(bytes) : bytesToNumberBE(bytes);
+    if (modFromBytes)
+      scalar = mod(scalar, ORDER);
+    if (!skipValidation) {
+      if (!this.isValid(scalar))
+        throw new Error("invalid field element: outside of range 0..ORDER");
+    }
+    return scalar;
+  }
+  // TODO: we don't need it here, move out to separate fn
+  invertBatch(lst) {
+    return FpInvertBatch(this, lst, true);
+  }
+  // We can't move this out because Fp6, Fp12 implement it
+  // and it's unclear what to return in there.
+  cmov(a, b, condition) {
+    abool2(condition, "condition");
+    return condition ? b : a;
+  }
+};
+function Field(ORDER, opts = {}) {
+  Object.freeze(_Field.prototype);
+  return new _Field(ORDER, opts);
+}
+function getFieldBytesLength(fieldOrder) {
+  if (typeof fieldOrder !== "bigint")
+    throw new Error("field order must be bigint");
+  if (fieldOrder <= _1n3)
+    throw new Error("field order must be greater than 1");
+  const bitLength = bitLen(fieldOrder - _1n3);
+  return Math.ceil(bitLength / 8);
+}
+function getMinHashLength(fieldOrder) {
+  const length = getFieldBytesLength(fieldOrder);
+  return length + Math.ceil(length / 2);
+}
+function mapHashToField(key, fieldOrder, isLE2 = false) {
+  abytes2(key);
+  const len = key.length;
+  const fieldLen = getFieldBytesLength(fieldOrder);
+  const minLen = Math.max(getMinHashLength(fieldOrder), 16);
+  if (len < minLen || len > 1024)
+    throw new Error("expected " + minLen + "-1024 bytes of input, got " + len);
+  const num = isLE2 ? bytesToNumberLE(key) : bytesToNumberBE(key);
+  const reduced = mod(num, fieldOrder - _1n3) + _1n3;
+  return isLE2 ? numberToBytesLE(reduced, fieldLen) : numberToBytesBE(reduced, fieldLen);
+}
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/abstract/curve.js
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+var _0n4 = /* @__PURE__ */ BigInt(0);
+var _1n4 = /* @__PURE__ */ BigInt(1);
+var _4n2 = /* @__PURE__ */ BigInt(4);
+var BLIND_BYTES = 16;
+var BLIND_BITS = 128;
+var FW_WINDOW = 5;
+var TABLE_BYTES_MAX = /* @__PURE__ */ (() => 2 ** 31)();
+function validatePointCons(Point) {
+  const pc = Point;
+  if (typeof pc !== "function")
+    throw new TypeError('"Point" expected constructor, got type=' + typeof Point);
+  afunction(pc.fromAffine, "Point.fromAffine");
+  afunction(pc.fromBytes, "Point.fromBytes");
+  afunction(pc.fromHex, "Point.fromHex");
+  aobject2(pc.BASE, "Point.BASE");
+  aobject2(pc.ZERO, "Point.ZERO");
+  validateField(pc.Fp);
+  validateField(pc.Fn);
+}
+function normalizeZ(c, points) {
+  validatePointCons(c);
+  validateMSMPoints(points, c);
+  const invertedZs = FpInvertBatch(c.Fp, points.map((p) => p.Z));
+  return points.map((p, i) => c.fromAffine(p.toAffine(invertedZs[i])));
+}
+function validateW(W, bits, min = 1) {
+  if (!Number.isSafeInteger(W) || W < min || W > bits)
+    throw new Error("invalid window size, expected [" + min + ".." + bits + "], got W=" + W);
+}
+function validateTableBytes(numPoints, fpBytes) {
+  const bytes = numPoints * (4 * fpBytes + 128);
+  if (bytes > TABLE_BYTES_MAX)
+    throw new Error("invalid window size: table would need ~" + Math.ceil(bytes / 2 ** 20) + " MiB, max " + TABLE_BYTES_MAX / 2 ** 20 + " MiB");
+}
+function probeRandomBytes(randomBytes3, length) {
+  if (randomBytes3 === void 0)
+    return void 0;
+  afunction(randomBytes3, "randomBytes");
+  try {
+    const probe = randomBytes3(length);
+    if (!isBytes2(probe) || probe.length !== length)
+      return void 0;
+  } catch {
+    return void 0;
+  }
+  return randomBytes3;
+}
+function validateMSMPoints(points, c) {
+  aarray(points, "points");
+  points.forEach((p, i) => {
+    if (!(p instanceof c))
+      throw new Error("invalid point at index " + i);
+  });
+}
+function validateMSMScalars(scalars, field, maxScalar) {
+  if (!Array.isArray(scalars))
+    throw new Error("array of scalars expected");
+  scalars.forEach((s, i) => {
+    const ok = maxScalar === void 0 ? field.isValid(s) : isPosBig(s) && s < maxScalar;
+    if (!ok)
+      throw new Error("invalid scalar at index " + i);
+  });
+}
+var pointWindowSizes = /* @__PURE__ */ new WeakMap();
+function getWindowSize(P) {
+  return pointWindowSizes.get(P) || 1;
+}
+function oddMultiples(p, size) {
+  const dbl = p.double();
+  const t2 = [p];
+  for (let j = 1; j < size; j++)
+    t2.push(t2[j - 1].add(dbl));
+  return t2;
+}
+function wnafDigits(n, W) {
+  const size = 2 ** W;
+  const half = size / 2;
+  const mask = BigInt(size - 1);
+  const d = [];
+  while (n > _0n4) {
+    let w = 0;
+    if (n & _1n4) {
+      w = Number(n & mask);
+      if (w >= half)
+        w -= size;
+      n -= BigInt(w);
+    }
+    d.push(w);
+    n >>= _1n4;
+  }
+  return d;
+}
+function signedWindowDigits(n, W, windows) {
+  const size = 2 ** W;
+  const half = size / 2;
+  const mask = BigInt(size - 1);
+  const shiftBy = BigInt(W);
+  const d = [];
+  for (let w = 0; w < windows; w++) {
+    let v = Number(n & mask);
+    n >>= shiftBy;
+    if (v > half) {
+      v -= size;
+      n += _1n4;
+    }
+    d.push(v);
+  }
+  if (n !== _0n4)
+    throw new Error("invalid wnaf");
+  return d;
+}
+function wnafWalk(zero, tables, digits) {
+  let max = 0;
+  for (const d of digits)
+    max = Math.max(max, d.length);
+  let acc = zero;
+  for (let bit = max - 1; bit >= 0; bit--) {
+    if (bit !== max - 1)
+      acc = acc.double();
+    for (let i = 0; i < digits.length; i++) {
+      const w = digits[i][bit];
+      if (w) {
+        const item = tables[i][Math.abs(w) - 1 >> 1];
+        acc = acc.add(w < 0 ? item.negate() : item);
+      }
+    }
+  }
+  return acc;
+}
+var ScalarMultiplier = class {
+  Point;
+  BASE;
+  ZERO;
+  randomBytes;
+  wnafPrecomputes = /* @__PURE__ */ new WeakMap();
+  baseCanBeBlinded;
+  bits;
+  // Parametrized with a given Point class (not individual point)
+  constructor(Point, randomBytes3) {
+    validatePointCons(Point);
+    this.randomBytes = probeRandomBytes(randomBytes3, BLIND_BYTES);
+    this.Point = Point;
+    this.BASE = Point.BASE;
+    this.ZERO = Point.ZERO;
+    this.bits = Point.Fn.BITS;
+  }
+  /**
+   * Creates a signed fixed-window wNAF precomputation table: for every window w, the
+   * multiples `[1..2^(W−1)]⋅2^(w⋅W)⋅P`, flattened. All doublings are baked into the table,
+   * so cached multiplication is additions-only. `windows = ceil(bits/W) + 1`: the extra
+   * window absorbs the final carry of signed-digit recoding.
+   * For a 256-bit curve and W=6, the table is 44⋅32 = 1408 points.
+   * @param point - Point instance
+   * @param W - window size
+   * @param bits - scalar bitlength the table must cover
+   */
+  buildWnafTable(point, W, bits) {
+    const windows = Math.ceil(bits / W) + 1;
+    const half = 2 ** (W - 1);
+    const comp = [];
+    let base = point;
+    for (let w = 0; w < windows; w++) {
+      let acc = base;
+      for (let i = 0; i < half; i++) {
+        comp.push(acc);
+        acc = acc.add(base);
+      }
+      base = comp[comp.length - 1].double();
+    }
+    return { W, bits, windows, comp };
+  }
+  /**
+   * Implements ec multiplication using precomputed signed fixed-window wNAF tables.
+   * Constant-time: fixed window count with one table addition per window — zero digits feed
+   * the fake accumulator — and no doublings; the lookup scans the whole window slice.
+   * Scalar bounds are validated by the public entry points ({@link ScalarMultiplier.mulCT},
+   * {@link ScalarMultiplier.mulCTBlinded}, {@link ScalarMultiplier.mulUnsafe});
+   * signedWindowDigits throws if `n` exceeds the table.
+   * @returns real and fake (for const-time) points
+   */
+  wnafCachedCT(precomputes, n) {
+    const { W, windows, comp } = precomputes;
+    const half = 2 ** (W - 1);
+    const digits = signedWindowDigits(n, W, windows);
+    let p = this.ZERO;
+    let f = this.BASE;
+    for (let w = 0; w < windows; w++) {
+      const digit = digits[w];
+      const start = w * half;
+      const idx = Math.abs(digit) - 1;
+      let sel = comp[start];
+      for (let i = 1; i < half; i++)
+        sel = i === idx ? comp[start + i] : sel;
+      const neg = sel.negate();
+      if (digit === 0)
+        f = f.add(comp[start]);
+      else
+        p = p.add(digit < 0 ? neg : sel);
+    }
+    return { p, f };
+  }
+  // Cache key is point identity plus (W, bits); at most two entries exist per point (public-width
+  // `Fn.BITS` and blinded `Fn.BITS + BLIND_BITS`). Callers must not reuse the same point with
+  // incompatible `transform(...)` layouts and expect a separate cache entry.
+  getWnafPrecomputes(W, point, bits, transform) {
+    let entries = this.wnafPrecomputes.get(point);
+    let comp = entries?.find((entry) => entry.W === W && entry.bits === bits);
+    if (!comp) {
+      comp = this.buildWnafTable(point, W, bits);
+      if (typeof transform === "function")
+        comp = { ...comp, comp: transform(comp.comp) };
+      if (!entries) {
+        entries = [];
+        this.wnafPrecomputes.set(point, entries);
+      }
+      entries.push(comp);
+    }
+    return comp;
+  }
+  assertPoint(point) {
+    if (!(point instanceof this.Point))
+      throw new TypeError('"point" expected Point instance, got type=' + typeof point);
+  }
+  // Shared prologue of the constant-time entry points. Rejects scalar 0: in key/signature-style
+  // callers a zero scalar means broken upstream plumbing, and concrete Points already reject it.
+  // Uses inRange instead of Fn.isValidNot0: validateField() only certifies the arithmetic subset.
+  validateMulInput(point, scalar) {
+    this.assertPoint(point);
+    if (!inRange(scalar, _1n4, this.Point.Fn.ORDER))
+      throw new Error("invalid scalar");
+  }
+  // Constant-time dispatch shared by mulCT / mulCTBlinded. Un-precomputed points (W===1, e.g.
+  // ECDH peer keys) skip building a throwaway cached table in favor of a small fixed-window
+  // multiply. `n` must be < 2^bits.
+  runCT(point, n, bits, transform) {
+    const W = getWindowSize(point);
+    if (W === 1)
+      return this.fixedWindowCT(point, n, bits);
+    return this.wnafCachedCT(this.getWnafPrecomputes(W, point, bits, transform), n);
+  }
+  mulCT(point, scalar, transform) {
+    this.validateMulInput(point, scalar);
+    return this.runCT(point, scalar, this.bits, transform);
+  }
+  mulCTBlinded(point, scalar, transform) {
+    this.validateMulInput(point, scalar);
+    if (this.randomBytes === void 0)
+      throw new Error("randomBytes is required for scalar blinding");
+    const bits = this.Point.Fn.BITS + BLIND_BITS;
+    const blind = this.randomBytes(BLIND_BYTES);
+    if (!isBytes2(blind) || blind.length !== BLIND_BYTES)
+      throw new Error("randomBytes returned invalid byte array");
+    blind[0] = blind[0] & 63 | 128;
+    const n = scalar + bytesToNumberBE(blind) * this.Point.Fn.ORDER;
+    return this.runCT(point, n, bits, transform);
+  }
+  /**
+   * Constant-time multiplication `n*point` for an un-precomputed point, via a small fixed window.
+   * A cached wNAF table only pays off when reused; a flat 2^FW_WINDOW table (`size-1` adds) is
+   * far cheaper to build for a single use. The point-operation sequence is independent of `n`:
+   * build the table, then per window exactly FW_WINDOW doublings, a data-oblivious scan over
+   * every table entry, and one addition (adds the identity when the window digit is 0 — never
+   * skipped).
+   *
+   * `n` must be `< 2^bits`. Assumes complete addition (adding the identity costs the same as any
+   * add), which holds for the Weierstrass/Edwards point types used here. The table is left in
+   * projective form (no normalizeZ): normalizing this small a table costs more than the
+   * mixed-add savings it would buy for a single multiply.
+   * @returns real point `p`; `f` duplicates it only to match {@link wnafCachedCT}'s return shape
+   * (this path needs no fake accumulator — its op-count is already scalar-independent).
+   */
+  fixedWindowCT(point, n, bits) {
+    const W = FW_WINDOW;
+    const size = 1 << W;
+    const mask = bitMask(W);
+    const table = new Array(size);
+    table[0] = this.ZERO;
+    for (let i = 1; i < size; i++)
+      table[i] = table[i - 1].add(point);
+    const windows = Math.ceil(bits / W);
+    let acc = this.ZERO;
+    for (let window = windows - 1; window >= 0; window--) {
+      if (window !== windows - 1)
+        for (let d = 0; d < W; d++)
+          acc = acc.double();
+      const digit = Number(n >> BigInt(window * W) & mask);
+      let sel = table[0];
+      for (let i = 1; i < size; i++)
+        sel = i === digit ? table[i] : sel;
+      acc = acc.add(sel);
+    }
+    return { p: acc, f: acc };
+  }
+  shouldBlind(point, cofactor) {
+    if (this.randomBytes === void 0)
+      return false;
+    if (cofactor === _1n4)
+      return true;
+    if (point !== this.BASE)
+      return false;
+    if (this.baseCanBeBlinded === void 0)
+      this.baseCanBeBlinded = this.mulUnsafe(this.BASE, this.Point.Fn.ORDER).is0();
+    return this.baseCanBeBlinded;
+  }
+  mulSecret(point, scalar, cofactor, transform) {
+    return this.shouldBlind(point, cofactor) ? this.mulCTBlinded(point, scalar, transform) : this.mulCT(point, scalar, transform);
+  }
+  mulUnsafe(point, scalar, transform) {
+    this.assertPoint(point);
+    if (!isPosBig(scalar))
+      throw new Error("invalid scalar");
+    const W = getWindowSize(point);
+    if (W === 1 || scalar >= this.Point.Fn.ORDER)
+      return mulAddUnsafe(this.Point, [point], [scalar], true);
+    const precomputes = this.getWnafPrecomputes(W, point, this.bits, transform);
+    return this.wnafCachedCT(precomputes, scalar).p;
+  }
+  // Remembers the window size used for precomputed wNAF multiplication of the given point
+  // and drops any previously built tables. Usually only the base point is precomputed.
+  // W=1 resets the point to the un-precomputed (table-less) paths.
+  // W is additionally capped so tables stay under ~2 GiB ({@link TABLE_BYTES_MAX}).
+  setWindowSize(point, W) {
+    this.assertPoint(point);
+    validateW(W, this.bits);
+    const windows = Math.ceil((this.bits + BLIND_BITS) / W) + 1;
+    validateTableBytes(windows * 2 ** (W - 1), this.Point.Fp.BYTES);
+    pointWindowSizes.set(point, W);
+    this.wnafPrecomputes.delete(point);
+  }
+  // True when a window size is set: tables themselves are built lazily on first multiply.
+  hasWindowSize(point) {
+    return getWindowSize(point) !== 1;
+  }
+};
+function mulAddUnsafe(c, points, scalars, allowOversized = false) {
+  validatePointCons(c);
+  validateMSMPoints(points, c);
+  abool2(allowOversized, "allowOversized");
+  validateMSMScalars(scalars, c.Fn, allowOversized ? c.Fn.ORDER ** _4n2 : void 0);
+  if (points.length !== scalars.length)
+    throw new Error("arrays of points and scalars must have equal length");
+  const tables = points.map((p) => oddMultiples(p, 4));
+  const digits = scalars.map((n) => wnafDigits(n, 4));
+  return wnafWalk(c.ZERO, tables, digits);
+}
+function createField(order, field, isLE2) {
+  if (field) {
+    if (field.ORDER !== order)
+      throw new Error("Field.ORDER must match order: Fp == p, Fn == n");
+    validateField(field);
+    return field;
+  } else {
+    return Field(order, { isLE: isLE2 });
+  }
+}
+function createCurveFields(type, CURVE, curveOpts = {}, FpFnLE) {
+  if (type !== "weierstrass" && type !== "edwards")
+    throw new Error('expected curve type "weierstrass" or "edwards"');
+  if (FpFnLE === void 0)
+    FpFnLE = type === "edwards";
+  if (!CURVE || typeof CURVE !== "object")
+    throw new Error(`expected valid ${type} CURVE object`);
+  validateObject(curveOpts);
+  for (const p of ["p", "n", "h"]) {
+    const val = CURVE[p];
+    if (!(isPosBig(val) && val !== _0n4))
+      throw new Error(`CURVE.${p} must be positive bigint`);
+  }
+  const Fp3 = createField(CURVE.p, curveOpts.Fp, FpFnLE);
+  const Fn = createField(CURVE.n, curveOpts.Fn, FpFnLE);
+  const _b = type === "weierstrass" ? "b" : "d";
+  const params = ["Gx", "Gy", "a", _b];
+  for (const p of params) {
+    if (!Fp3.isValid(CURVE[p]))
+      throw new Error(`CURVE.${p} must be valid field element of CURVE.Fp`);
+  }
+  CURVE = Object.freeze(Object.assign({}, CURVE));
+  return { CURVE, Fp: Fp3, Fn };
+}
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/abstract/hash-to-curve.js
+var _0n5 = /* @__PURE__ */ BigInt(0);
+var _1n5 = /* @__PURE__ */ BigInt(1);
+var _2n3 = /* @__PURE__ */ BigInt(2);
+var _3n2 = /* @__PURE__ */ BigInt(3);
+var _4n3 = /* @__PURE__ */ BigInt(4);
+var os2ip = bytesToNumberBE;
+function i2osp(value, length) {
+  asafenumber(value);
+  asafenumber(length);
+  if (length < 0 || length > 4)
+    throw new Error("invalid I2OSP length: " + length);
+  if (value < 0 || value > 2 ** (8 * length) - 1)
+    throw new Error("invalid I2OSP input: " + value);
+  const res = Array.from({ length }).fill(0);
+  for (let i = length - 1; i >= 0; i--) {
+    res[i] = value & 255;
+    value >>>= 8;
+  }
+  return new Uint8Array(res);
+}
+function strxor(a, b) {
+  const arr = new Uint8Array(a.length);
+  for (let i = 0; i < a.length; i++) {
+    arr[i] = a[i] ^ b[i];
+  }
+  return arr;
+}
+function normDST(DST) {
+  if (!isBytes2(DST) && typeof DST !== "string")
+    throw new Error("DST must be Uint8Array or ascii string");
+  const dst = typeof DST === "string" ? asciiToBytes(DST) : DST;
+  if (dst.length === 0)
+    throw new Error("DST must be non-empty");
+  return dst;
+}
+function expand_message_xmd(msg, DST, lenInBytes, H) {
+  abytes2(msg);
+  asafenumber(lenInBytes);
+  if (typeof H !== "function")
+    throw new Error("expand_message_xmd: expected hash function");
+  asafenumber(H.outputLen, "hash.outputLen");
+  asafenumber(H.blockLen, "hash.blockLen");
+  DST = normDST(DST);
+  if (DST.length > 255)
+    DST = H(concatBytes2(asciiToBytes("H2C-OVERSIZE-DST-"), DST));
+  const { outputLen: b_in_bytes, blockLen: r_in_bytes } = H;
+  const ell = Math.ceil(lenInBytes / b_in_bytes);
+  if (lenInBytes > 65535 || ell > 255)
+    throw new Error("expand_message_xmd: invalid lenInBytes");
+  const DST_prime = concatBytes2(DST, i2osp(DST.length, 1));
+  const Z_pad = new Uint8Array(r_in_bytes);
+  const l_i_b_str = i2osp(lenInBytes, 2);
+  const b = new Array(ell);
+  const b_0 = H(concatBytes2(Z_pad, msg, l_i_b_str, i2osp(0, 1), DST_prime));
+  b[0] = H(concatBytes2(b_0, i2osp(1, 1), DST_prime));
+  for (let i = 1; i < ell; i++) {
+    const args2 = [strxor(b_0, b[i - 1]), i2osp(i + 1, 1), DST_prime];
+    b[i] = H(concatBytes2(...args2));
+  }
+  const pseudo_random_bytes = concatBytes2(...b);
+  return pseudo_random_bytes.slice(0, lenInBytes);
+}
+function expand_message_xof(msg, DST, lenInBytes, k, H) {
+  abytes2(msg);
+  asafenumber(lenInBytes);
+  asafenumber(k, "k");
+  if (k < 0)
+    throw new Error("expand_message_xof: invalid k");
+  if (typeof H !== "function")
+    throw new Error("expand_message_xof: expected XOF function");
+  if (typeof H.create !== "function")
+    throw new Error("expand_message_xof: expected XOF create");
+  DST = normDST(DST);
+  if (lenInBytes < 0 || lenInBytes > 65535)
+    throw new Error("expand_message_xof: invalid lenInBytes");
+  if (DST.length > 255) {
+    const dkLen = Math.ceil(2 * k / 8);
+    DST = H.create({ dkLen }).update(asciiToBytes("H2C-OVERSIZE-DST-")).update(DST).digest();
+  }
+  if (DST.length > 255)
+    throw new Error("expand_message_xof: invalid DST");
+  return H.create({ dkLen: lenInBytes }).update(msg).update(i2osp(lenInBytes, 2)).update(DST).update(i2osp(DST.length, 1)).digest();
+}
+function hash_to_field(msg, count, options) {
+  validateObject(options, {
+    p: "bigint",
+    m: "number",
+    k: "number",
+    hash: "function"
+  });
+  const { p, k, m, hash, expand, DST } = options;
+  asafenumber(hash.outputLen, "valid hash");
+  abytes2(msg);
+  asafenumber(count);
+  asafenumber(m, "m");
+  asafenumber(k, "k");
+  if (p <= BigInt(1))
+    throw new Error("hash_to_field: expected valid field characteristic");
+  if (count < 1)
+    throw new Error("hash_to_field: expected count >= 1");
+  if (m < 1)
+    throw new Error("hash_to_field: expected m >= 1");
+  if (k < 0)
+    throw new Error("hash_to_field: invalid k");
+  const log2p = p.toString(2).length;
+  const L = Math.ceil((log2p + k) / 8);
+  const len_in_bytes = count * m * L;
+  let prb;
+  if (expand === "xmd") {
+    prb = expand_message_xmd(msg, DST, len_in_bytes, hash);
+  } else if (expand === "xof") {
+    prb = expand_message_xof(msg, DST, len_in_bytes, k, hash);
+  } else if (expand === "_internal_pass") {
+    prb = msg;
+  } else {
+    throw new Error('expand must be "xmd" or "xof"');
+  }
+  const u = new Array(count);
+  for (let i = 0; i < count; i++) {
+    const e = new Array(m);
+    for (let j = 0; j < m; j++) {
+      const elm_offset = L * (j + i * m);
+      const tv = prb.subarray(elm_offset, elm_offset + L);
+      e[j] = mod(os2ip(tv), p);
+    }
+    u[i] = e;
+  }
+  return u;
+}
+function isogenyMap(field, map) {
+  validateField(field);
+  aarray(map, "map");
+  const coeff = map.map((i, row) => {
+    aarray(i, "map[" + row + "]");
+    if (i.length < 1)
+      throw new Error("isogenyMap: expected non-empty coefficients");
+    return Array.from(i).reverse();
+  });
+  return (x, y) => {
+    const [xn, xd, yn, yd] = coeff.map((val) => val.reduce((acc, i) => field.add(field.mul(acc, x), i)));
+    const isZero = field.is0(xd) || field.is0(yd);
+    const [xd_inv, yd_inv] = FpInvertBatch(field, [xd, yd], true);
+    x = field.mul(xn, xd_inv);
+    y = field.mul(y, field.mul(yn, yd_inv));
+    return isZero ? { x: field.ZERO, y: field.ZERO } : { x, y };
+  };
+}
+var _DST_scalar = "HashToScalar-";
+function createHasher2(Point, mapToCurve, defaults) {
+  if (typeof mapToCurve !== "function")
+    throw new Error("mapToCurve() must be defined");
+  validateObject(defaults);
+  const snapshot = (src) => Object.freeze({
+    ...src,
+    DST: isBytes2(src.DST) ? copyBytes2(src.DST) : src.DST,
+    ...src.encodeDST === void 0 ? {} : { encodeDST: isBytes2(src.encodeDST) ? copyBytes2(src.encodeDST) : src.encodeDST }
+  });
+  const safeDefaults = snapshot(defaults);
+  const dstOverride = (options) => options && options.DST !== void 0 ? { DST: options.DST } : void 0;
+  function map(num) {
+    return Point.fromAffine(mapToCurve(num));
+  }
+  function clear(initial) {
+    const P = initial.clearCofactor();
+    if (P.equals(Point.ZERO))
+      return Point.ZERO;
+    P.assertValidity();
+    return P;
+  }
+  return Object.freeze({
+    get defaults() {
+      return snapshot(safeDefaults);
+    },
+    Point,
+    hashToCurve(msg, options) {
+      const opts = Object.assign({}, safeDefaults, dstOverride(options));
+      const u = hash_to_field(msg, 2, opts);
+      const u0 = map(u[0]);
+      const u1 = map(u[1]);
+      return clear(u0.add(u1));
+    },
+    encodeToCurve(msg, options) {
+      const optsDst = safeDefaults.encodeDST === void 0 ? {} : { DST: safeDefaults.encodeDST };
+      const opts = Object.assign({}, safeDefaults, optsDst, dstOverride(options));
+      const u = hash_to_field(msg, 1, opts);
+      const u0 = map(u[0]);
+      return clear(u0);
+    },
+    /** See {@link H2CHasher} */
+    mapToCurve(scalars) {
+      if (safeDefaults.m === 1) {
+        if (typeof scalars !== "bigint")
+          throw new Error("expected bigint (m=1)");
+        return clear(map([scalars]));
+      }
+      if (!Array.isArray(scalars))
+        throw new Error("expected array of bigints");
+      if (scalars.length !== safeDefaults.m)
+        throw new Error(`expected array of ${safeDefaults.m} bigints`);
+      for (const i of scalars)
+        if (typeof i !== "bigint")
+          throw new Error("expected array of bigints");
+      return clear(map(scalars));
+    },
+    // hash_to_scalar can produce 0: https://www.rfc-editor.org/errata/eid8393
+    // RFC 9380, draft-irtf-cfrg-bbs-signatures-08. Default scalar DST is the shared generic
+    // `HashToScalar-` prefix above unless the caller overrides it per invocation.
+    hashToScalar(msg, options) {
+      const N = Point.Fn.ORDER;
+      const opts = Object.assign({}, safeDefaults, { DST: _DST_scalar }, dstOverride(options), {
+        p: N,
+        m: 1
+      });
+      return hash_to_field(msg, 1, opts)[0][0];
+    }
+  });
+}
+function SWUFpSqrtRatio(Fp3, Z) {
+  const F = validateField(Fp3);
+  const q = F.ORDER;
+  let l = _0n5;
+  for (let o = q - _1n5; o % _2n3 === _0n5; o /= _2n3)
+    l += _1n5;
+  const c1 = l;
+  const _2n_pow_c1_1 = _2n3 << c1 - _1n5 - _1n5;
+  const _2n_pow_c1 = _2n_pow_c1_1 * _2n3;
+  const c2 = (q - _1n5) / _2n_pow_c1;
+  const c3 = (c2 - _1n5) / _2n3;
+  const c4 = _2n_pow_c1 - _1n5;
+  const c5 = _2n_pow_c1_1;
+  const c6 = F.pow(Z, c2);
+  const c7 = F.pow(Z, (c2 + _1n5) / _2n3);
+  let sqrtRatio = (u, v) => {
+    let tv1 = c6;
+    let tv2 = F.pow(v, c4);
+    let tv3 = F.sqr(tv2);
+    tv3 = F.mul(tv3, v);
+    let tv5 = F.mul(u, tv3);
+    tv5 = F.pow(tv5, c3);
+    tv5 = F.mul(tv5, tv2);
+    tv2 = F.mul(tv5, v);
+    tv3 = F.mul(tv5, u);
+    let tv4 = F.mul(tv3, tv2);
+    tv5 = F.pow(tv4, c5);
+    let isQR = F.eql(tv5, F.ONE);
+    tv2 = F.mul(tv3, c7);
+    tv5 = F.mul(tv4, tv1);
+    tv3 = F.cmov(tv2, tv3, isQR);
+    tv4 = F.cmov(tv5, tv4, isQR);
+    for (let i = c1; i > _1n5; i--) {
+      let tv52 = i - _2n3;
+      tv52 = _2n3 << tv52 - _1n5;
+      let tvv5 = F.pow(tv4, tv52);
+      const e1 = F.eql(tvv5, F.ONE);
+      tv2 = F.mul(tv3, tv1);
+      tv1 = F.mul(tv1, tv1);
+      tvv5 = F.mul(tv4, tv1);
+      tv3 = F.cmov(tv2, tv3, e1);
+      tv4 = F.cmov(tvv5, tv4, e1);
+    }
+    return { isValid: !F.is0(v) && (isQR || F.is0(u)), value: tv3 };
+  };
+  if (F.ORDER % _4n3 === _3n2) {
+    const c12 = (F.ORDER - _3n2) / _4n3;
+    const c22 = F.sqrt(F.neg(Z));
+    sqrtRatio = (u, v) => {
+      let tv1 = F.sqr(v);
+      const tv2 = F.mul(u, v);
+      tv1 = F.mul(tv1, tv2);
+      let y1 = F.pow(tv1, c12);
+      y1 = F.mul(y1, tv2);
+      const y2 = F.mul(y1, c22);
+      const tv3 = F.mul(F.sqr(y1), v);
+      const isQR = F.eql(tv3, u);
+      let y = F.cmov(y2, y1, isQR);
+      return { isValid: !F.is0(v) && isQR, value: y };
+    };
+  }
+  return sqrtRatio;
+}
+function mapToCurveSimpleSWU(Fp3, opts) {
+  const F = validateField(Fp3);
+  validateObject(opts, {}, {}, "opts");
+  const { A, B: B2, Z } = opts;
+  if (!F.isValidNot0(A) || !F.isValidNot0(B2) || !F.isValid(Z))
+    throw new Error("mapToCurveSimpleSWU: invalid opts");
+  if (F.eql(Z, F.neg(F.ONE)) || FpIsSquare(F, Z))
+    throw new Error("mapToCurveSimpleSWU: invalid opts");
+  const x = F.mul(B2, F.inv(F.mul(Z, A)));
+  const gx = F.add(F.add(F.mul(F.sqr(x), x), F.mul(A, x)), B2);
+  if (!FpIsSquare(F, gx))
+    throw new Error("mapToCurveSimpleSWU: invalid opts");
+  const sqrtRatio = SWUFpSqrtRatio(F, Z);
+  if (!F.isOdd)
+    throw new Error("Field does not have .isOdd()");
+  return (u) => {
+    let tv1, tv2, tv3, tv4, tv5, tv6, x2, y;
+    tv1 = F.sqr(u);
+    tv1 = F.mul(tv1, Z);
+    tv2 = F.sqr(tv1);
+    tv2 = F.add(tv2, tv1);
+    tv3 = F.add(tv2, F.ONE);
+    tv3 = F.mul(tv3, B2);
+    tv4 = F.cmov(Z, F.neg(tv2), !F.eql(tv2, F.ZERO));
+    tv4 = F.mul(tv4, A);
+    tv2 = F.sqr(tv3);
+    tv6 = F.sqr(tv4);
+    tv5 = F.mul(tv6, A);
+    tv2 = F.add(tv2, tv5);
+    tv2 = F.mul(tv2, tv3);
+    tv6 = F.mul(tv6, tv4);
+    tv5 = F.mul(tv6, B2);
+    tv2 = F.add(tv2, tv5);
+    x2 = F.mul(tv1, tv3);
+    const { isValid, value } = sqrtRatio(tv2, tv6);
+    y = F.mul(tv1, u);
+    y = F.mul(y, value);
+    x2 = F.cmov(x2, tv3, isValid);
+    y = F.cmov(y, value, isValid);
+    const e1 = F.isOdd(u) === F.isOdd(y);
+    y = F.cmov(F.neg(y), y, e1);
+    const tv4_inv = FpInvertBatch(F, [tv4], true)[0];
+    x2 = F.mul(x2, tv4_inv);
+    return { x: x2, y };
+  };
+}
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/abstract/weierstrass.js
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+var divNearest = (num, den) => (num + (num >= 0 ? den : -den) / _2n4) / den;
+function _splitEndoScalar(k, basis, n) {
+  aInRange("scalar", k, _0n6, n);
+  const [[a1, b1], [a2, b2]] = basis;
+  const c1 = divNearest(b2 * k, n);
+  const c2 = divNearest(-b1 * k, n);
+  let k1 = k - c1 * a1 - c2 * a2;
+  let k2 = -c1 * b1 - c2 * b2;
+  const k1neg = k1 < _0n6;
+  const k2neg = k2 < _0n6;
+  if (k1neg)
+    k1 = -k1;
+  if (k2neg)
+    k2 = -k2;
+  const MAX_NUM = bitMask(Math.ceil(bitLen(n) / 2)) + _1n6;
+  if (k1 < _0n6 || k1 >= MAX_NUM || k2 < _0n6 || k2 >= MAX_NUM) {
+    throw new Error("splitScalar (endomorphism): failed for k");
+  }
+  return { k1neg, k1, k2neg, k2 };
+}
+var _0n6 = /* @__PURE__ */ BigInt(0);
+var _1n6 = /* @__PURE__ */ BigInt(1);
+var _2n4 = /* @__PURE__ */ BigInt(2);
+var _3n3 = /* @__PURE__ */ BigInt(3);
+var _4n4 = /* @__PURE__ */ BigInt(4);
+function weierstrass(params, extraOpts = {}) {
+  const validated = createCurveFields("weierstrass", params, extraOpts);
+  const Fp3 = validated.Fp;
+  const Fn = validated.Fn;
+  let CURVE = validated.CURVE;
+  const { h: cofactor, n: CURVE_ORDER } = CURVE;
+  validateObject(extraOpts, {}, {
+    allowInfinityPoint: "boolean",
+    clearCofactor: "function",
+    isTorsionFree: "function",
+    fromBytes: "function",
+    toBytes: "function",
+    endo: "object",
+    randomBytes: "function"
+  });
+  const { endo: endoOpts, allowInfinityPoint, clearCofactor, isTorsionFree, fromBytes, toBytes } = extraOpts;
+  const randomBytes3 = extraOpts.randomBytes === void 0 ? randomBytes2 : extraOpts.randomBytes;
+  if (endoOpts) {
+    if (!Fp3.is0(CURVE.a) || typeof endoOpts.beta !== "bigint" || !Array.isArray(endoOpts.basises)) {
+      throw new Error('invalid endo: expected "beta": bigint and "basises": array');
+    }
+  }
+  const endo = endoOpts ? {
+    beta: endoOpts.beta,
+    basises: endoOpts.basises.map((basis) => [...basis])
+  } : void 0;
+  const lengths = getWLengths(Fp3, Fn);
+  function assertCompressionIsSupported() {
+    if (!Fp3.isOdd)
+      throw new Error("compression is not supported: Field does not have .isOdd()");
+  }
+  function pointToBytes(_c, point, isCompressed) {
+    if (point.is0()) {
+      if (!allowInfinityPoint)
+        throw new Error("bad point: ZERO");
+      return Uint8Array.of(0);
+    }
+    const { x, y } = point.toAffine();
+    const bx = Fp3.toBytes(x);
+    abool2(isCompressed, "isCompressed");
+    if (isCompressed) {
+      assertCompressionIsSupported();
+      const hasEvenY = !Fp3.isOdd(y);
+      return concatBytes2(pprefix(hasEvenY), bx);
+    } else {
+      return concatBytes2(Uint8Array.of(4), bx, Fp3.toBytes(y));
+    }
+  }
+  function pointFromBytes(bytes) {
+    abytes2(bytes, void 0, "Point");
+    const { publicKey: comp, publicKeyUncompressed: uncomp } = lengths;
+    const length = bytes.length;
+    const head = bytes[0];
+    const tail = bytes.subarray(1);
+    if (allowInfinityPoint && length === 1 && head === 0)
+      return { x: Fp3.ZERO, y: Fp3.ZERO };
+    if (length === comp && (head === 2 || head === 3)) {
+      const x = Fp3.fromBytes(tail);
+      if (!Fp3.isValid(x))
+        throw new Error("bad point: is not on curve, wrong x");
+      const y2 = weierstrassEquation(x);
+      let y;
+      try {
+        y = Fp3.sqrt(y2);
+      } catch (sqrtError) {
+        const err = sqrtError instanceof Error ? ": " + sqrtError.message : "";
+        throw new Error("bad point: is not on curve, sqrt error" + err);
+      }
+      assertCompressionIsSupported();
+      const evenY = Fp3.isOdd(y);
+      const evenH = (head & 1) === 1;
+      if (evenH !== evenY)
+        y = Fp3.neg(y);
+      return { x, y };
+    } else if (length === uncomp && head === 4) {
+      const L = Fp3.BYTES;
+      const x = Fp3.fromBytes(tail.subarray(0, L));
+      const y = Fp3.fromBytes(tail.subarray(L, L * 2));
+      if (!isValidXY(x, y))
+        throw new Error("bad point: is not on curve");
+      return { x, y };
+    } else {
+      throw new Error(`bad point: got length ${length}, expected compressed=${comp} or uncompressed=${uncomp}`);
+    }
+  }
+  const encodePoint = toBytes === void 0 ? pointToBytes : toBytes;
+  const decodePoint = fromBytes === void 0 ? pointFromBytes : fromBytes;
+  const b3 = Fp3.mul(CURVE.b, _3n3);
+  const mulA = Fp3.is0(CURVE.a) ? (_) => Fp3.ZERO : (x) => Fp3.mul(CURVE.a, x);
+  function weierstrassEquation(x) {
+    const x2 = Fp3.sqr(x);
+    const x3 = Fp3.mul(x2, x);
+    return Fp3.add(Fp3.add(x3, Fp3.mul(x, CURVE.a)), CURVE.b);
+  }
+  function isValidXY(x, y) {
+    const left = Fp3.sqr(y);
+    const right = weierstrassEquation(x);
+    return Fp3.eql(left, right);
+  }
+  if (!isValidXY(CURVE.Gx, CURVE.Gy))
+    throw new Error("bad curve params: generator point");
+  const _4a3 = Fp3.mul(Fp3.pow(CURVE.a, _3n3), _4n4);
+  const _27b2 = Fp3.mul(Fp3.sqr(CURVE.b), BigInt(27));
+  if (Fp3.is0(Fp3.add(_4a3, _27b2)))
+    throw new Error("bad curve params: a or b");
+  function acoord(title, n, banZero = false) {
+    if (!Fp3.isValid(n) || banZero && Fp3.is0(n))
+      throw new Error(`bad point coordinate ${title}`);
+    return typeof n === "object" && n !== null ? Fp3.create(n) : n;
+  }
+  function aprjpoint(other) {
+    if (!(other instanceof Point))
+      throw new Error("Weierstrass Point expected");
+  }
+  function splitEndoScalarN(k) {
+    if (!endo || !endo.basises)
+      throw new Error("no endo");
+    return _splitEndoScalar(k, endo.basises, Fn.ORDER);
+  }
+  function pushWnafPair(points, scalars, p, k) {
+    if (!Fn.isValid(k))
+      throw new RangeError("invalid scalar: out of range");
+    if (endo) {
+      const { k1neg, k1, k2neg, k2 } = splitEndoScalarN(k);
+      const psi = new Point(Fp3.mul(p.X, endo.beta), p.Y, p.Z);
+      points.push(k1neg ? p.negate() : p, k2neg ? psi.negate() : psi);
+      scalars.push(k1, k2);
+    } else {
+      points.push(p);
+      scalars.push(k);
+    }
+  }
+  const validityCache = /* @__PURE__ */ new WeakSet();
+  class Point {
+    static BASE = new Point(CURVE.Gx, CURVE.Gy, Fp3.ONE);
+    static ZERO = new Point(Fp3.ZERO, Fp3.ONE, Fp3.ZERO);
+    static Fp = Fp3;
+    static Fn = Fn;
+    X;
+    Y;
+    Z;
+    /** Does NOT validate if the point is valid. Use `.assertValidity()`. */
+    constructor(X, Y, Z) {
+      this.X = acoord("x", X);
+      this.Y = acoord("y", Y, true);
+      this.Z = acoord("z", Z);
+      Object.freeze(this);
+    }
+    static CURVE() {
+      return CURVE;
+    }
+    /** Does NOT validate if the point is valid. Use `.assertValidity()`. */
+    static fromAffine(p) {
+      const { x, y } = p || {};
+      if (!p || !Fp3.isValid(x) || !Fp3.isValid(y))
+        throw new Error("invalid affine point");
+      if (p instanceof Point)
+        throw new Error("projective point not allowed");
+      if (Fp3.is0(x) && Fp3.is0(y))
+        return Point.ZERO;
+      return new Point(x, y, Fp3.ONE);
+    }
+    static fromBytes(bytes) {
+      const P = Point.fromAffine(decodePoint(abytes2(bytes, void 0, "point")));
+      P.assertValidity();
+      return P;
+    }
+    static fromHex(hex) {
+      return Point.fromBytes(hexToBytes2(hex));
+    }
+    get x() {
+      return this.toAffine().x;
+    }
+    get y() {
+      return this.toAffine().y;
+    }
+    /**
+     * @param isLazy - true will defer table computation until the first multiplication
+     */
+    precompute(windowSize = 6, isLazy = true) {
+      wnaf.setWindowSize(this, windowSize);
+      if (!isLazy)
+        this.multiply(_3n3);
+      return this;
+    }
+    // TODO: return `this`
+    /** A point on curve is valid if it conforms to equation. */
+    assertValidity() {
+      const p = this;
+      if (p.is0()) {
+        if (allowInfinityPoint && Fp3.is0(p.X) && Fp3.eql(p.Y, Fp3.ONE) && Fp3.is0(p.Z))
+          return;
+        throw new Error("bad point: ZERO");
+      }
+      if (validityCache.has(p))
+        return;
+      const { x, y } = p.toAffine();
+      if (!Fp3.isValid(x) || !Fp3.isValid(y))
+        throw new Error("bad point: x or y not field elements");
+      if (!isValidXY(x, y))
+        throw new Error("bad point: equation left != right");
+      if (!p.isTorsionFree())
+        throw new Error("bad point: not in prime-order subgroup");
+      validityCache.add(p);
+    }
+    hasEvenY() {
+      const { y } = this.toAffine();
+      if (!Fp3.isOdd)
+        throw new Error("Field doesn't support isOdd");
+      return !Fp3.isOdd(y);
+    }
+    /** Compare one point to another. */
+    equals(other) {
+      aprjpoint(other);
+      const { X: X1, Y: Y1, Z: Z1 } = this;
+      const { X: X2, Y: Y2, Z: Z2 } = other;
+      const U1 = Fp3.eql(Fp3.mul(X1, Z2), Fp3.mul(X2, Z1));
+      const U2 = Fp3.eql(Fp3.mul(Y1, Z2), Fp3.mul(Y2, Z1));
+      return U1 && U2;
+    }
+    /** Flips point to one corresponding to (x, -y) in Affine coordinates. */
+    negate() {
+      return new Point(this.X, Fp3.neg(this.Y), this.Z);
+    }
+    // Renes-Costello-Batina exception-free doubling formula.
+    // There is 30% faster Jacobian formula, but it is not complete.
+    // https://eprint.iacr.org/2015/1060, algorithm 3
+    // Cost: 8M + 3S + 3*a + 2*b3 + 15add.
+    double() {
+      const { X: X1, Y: Y1, Z: Z1 } = this;
+      let X3 = Fp3.ZERO, Y3 = Fp3.ZERO, Z3 = Fp3.ZERO;
+      let t0 = Fp3.mul(X1, X1);
+      let t1 = Fp3.mul(Y1, Y1);
+      let t2 = Fp3.mul(Z1, Z1);
+      let t3 = Fp3.mul(X1, Y1);
+      t3 = Fp3.add(t3, t3);
+      Z3 = Fp3.mul(X1, Z1);
+      Z3 = Fp3.add(Z3, Z3);
+      X3 = mulA(Z3);
+      Y3 = Fp3.mul(b3, t2);
+      Y3 = Fp3.add(X3, Y3);
+      X3 = Fp3.sub(t1, Y3);
+      Y3 = Fp3.add(t1, Y3);
+      Y3 = Fp3.mul(X3, Y3);
+      X3 = Fp3.mul(t3, X3);
+      Z3 = Fp3.mul(b3, Z3);
+      t2 = mulA(t2);
+      t3 = Fp3.sub(t0, t2);
+      t3 = mulA(t3);
+      t3 = Fp3.add(t3, Z3);
+      Z3 = Fp3.add(t0, t0);
+      t0 = Fp3.add(Z3, t0);
+      t0 = Fp3.add(t0, t2);
+      t0 = Fp3.mul(t0, t3);
+      Y3 = Fp3.add(Y3, t0);
+      t2 = Fp3.mul(Y1, Z1);
+      t2 = Fp3.add(t2, t2);
+      t0 = Fp3.mul(t2, t3);
+      X3 = Fp3.sub(X3, t0);
+      Z3 = Fp3.mul(t2, t1);
+      Z3 = Fp3.add(Z3, Z3);
+      Z3 = Fp3.add(Z3, Z3);
+      return new Point(X3, Y3, Z3);
+    }
+    // Renes-Costello-Batina exception-free addition formula.
+    // There is 30% faster Jacobian formula, but it is not complete.
+    // https://eprint.iacr.org/2015/1060, algorithm 1
+    // Cost: 12M + 0S + 3*a + 3*b3 + 23add.
+    add(other) {
+      aprjpoint(other);
+      const { X: X1, Y: Y1, Z: Z1 } = this;
+      const { X: X2, Y: Y2, Z: Z2 } = other;
+      let X3 = Fp3.ZERO, Y3 = Fp3.ZERO, Z3 = Fp3.ZERO;
+      let t0 = Fp3.mul(X1, X2);
+      let t1 = Fp3.mul(Y1, Y2);
+      let t2 = Fp3.mul(Z1, Z2);
+      let t3 = Fp3.add(X1, Y1);
+      let t4 = Fp3.add(X2, Y2);
+      t3 = Fp3.mul(t3, t4);
+      t4 = Fp3.add(t0, t1);
+      t3 = Fp3.sub(t3, t4);
+      t4 = Fp3.add(X1, Z1);
+      let t5 = Fp3.add(X2, Z2);
+      t4 = Fp3.mul(t4, t5);
+      t5 = Fp3.add(t0, t2);
+      t4 = Fp3.sub(t4, t5);
+      t5 = Fp3.add(Y1, Z1);
+      X3 = Fp3.add(Y2, Z2);
+      t5 = Fp3.mul(t5, X3);
+      X3 = Fp3.add(t1, t2);
+      t5 = Fp3.sub(t5, X3);
+      Z3 = mulA(t4);
+      X3 = Fp3.mul(b3, t2);
+      Z3 = Fp3.add(X3, Z3);
+      X3 = Fp3.sub(t1, Z3);
+      Z3 = Fp3.add(t1, Z3);
+      Y3 = Fp3.mul(X3, Z3);
+      t1 = Fp3.add(t0, t0);
+      t1 = Fp3.add(t1, t0);
+      t2 = mulA(t2);
+      t4 = Fp3.mul(b3, t4);
+      t1 = Fp3.add(t1, t2);
+      t2 = Fp3.sub(t0, t2);
+      t2 = mulA(t2);
+      t4 = Fp3.add(t4, t2);
+      t0 = Fp3.mul(t1, t4);
+      Y3 = Fp3.add(Y3, t0);
+      t0 = Fp3.mul(t5, t4);
+      X3 = Fp3.mul(t3, X3);
+      X3 = Fp3.sub(X3, t0);
+      t0 = Fp3.mul(t3, t1);
+      Z3 = Fp3.mul(t5, Z3);
+      Z3 = Fp3.add(Z3, t0);
+      return new Point(X3, Y3, Z3);
+    }
+    subtract(other) {
+      aprjpoint(other);
+      return this.add(other.negate());
+    }
+    is0() {
+      return this.equals(Point.ZERO);
+    }
+    /**
+     * Constant time multiplication.
+     * Uses precomputed tables (signed fixed-window wNAF) when available.
+     * Uses scalar blinding and avoids endomorphism splitting in the secret-scalar path.
+     * @param scalar - by which the point would be multiplied
+     * @returns New point
+     */
+    multiply(scalar) {
+      if (!Fn.isValidNot0(scalar))
+        throw new RangeError("invalid scalar: out of range");
+      const { p, f } = wnaf.mulSecret(this, scalar, cofactor, normalize);
+      return normalize([p, f])[0];
+    }
+    /**
+     * Non-constant-time multiplication. Uses width-4 wNAF with GLV endomorphism splitting
+     * when available (two half-width scalars sharing one halved doubling chain).
+     * It's faster, but should only be used when you don't care about
+     * an exposed secret key e.g. sig verification, which works over *public* keys.
+     */
+    multiplyUnsafe(scalar) {
+      const p = this;
+      const sc = scalar;
+      if (!Fn.isValid(sc))
+        throw new RangeError("invalid scalar: out of range");
+      if (sc === _0n6 || p.is0())
+        return Point.ZERO;
+      if (sc === _1n6)
+        return p;
+      if (wnaf.hasWindowSize(this))
+        return wnaf.mulUnsafe(p, sc, normalize);
+      const points = [];
+      const scalars = [];
+      pushWnafPair(points, scalars, p, sc);
+      return mulAddUnsafe(Point, points, scalars);
+    }
+    /**
+     * Non-constant-time double-scalar multiplication `a⋅this + b⋅other` (Strauss–Shamir).
+     * Both walks share one doubling chain via {@link mulAddUnsafe}, and GLV endomorphism
+     * (when available) halves the chain again by splitting each scalar into two half-width
+     * parts. Used by ECDSA verification and public-key recovery for `R = u1⋅G + u2⋅P`.
+     * Only for public scalars.
+     */
+    mulAddUnsafe(a, other, b) {
+      aprjpoint(other);
+      const points = [];
+      const scalars = [];
+      pushWnafPair(points, scalars, this, a);
+      pushWnafPair(points, scalars, other, b);
+      return mulAddUnsafe(Point, points, scalars);
+    }
+    /**
+     * Converts Projective point to affine (x, y) coordinates.
+     * (X, Y, Z) ∋ (x=X/Z, y=Y/Z).
+     * @param invertedZ - Z^-1 (inverted zero) - optional, precomputation is useful for invertBatch
+     */
+    toAffine(invertedZ) {
+      const p = this;
+      let iz = invertedZ;
+      if (iz != null && !Fp3.isValid(iz))
+        throw new RangeError('"invertedZ" expected valid field element');
+      const { X, Y, Z } = p;
+      if (Fp3.eql(Z, Fp3.ONE))
+        return { x: X, y: Y };
+      const is0 = p.is0();
+      if (iz == null)
+        iz = is0 ? Fp3.ONE : Fp3.inv(Z);
+      const x = Fp3.mul(X, iz);
+      const y = Fp3.mul(Y, iz);
+      const zz = Fp3.mul(Z, iz);
+      if (is0)
+        return { x: Fp3.ZERO, y: Fp3.ZERO };
+      if (!Fp3.eql(zz, Fp3.ONE))
+        throw new Error("invZ was invalid");
+      return { x, y };
+    }
+    /**
+     * Checks whether Point is free of torsion elements (is in prime subgroup).
+     * Always torsion-free for cofactor=1 curves.
+     */
+    isTorsionFree() {
+      if (cofactor === _1n6)
+        return true;
+      if (isTorsionFree)
+        return isTorsionFree(Point, this);
+      return wnaf.mulUnsafe(this, CURVE_ORDER).is0();
+    }
+    clearCofactor() {
+      if (cofactor === _1n6)
+        return this;
+      if (clearCofactor)
+        return clearCofactor(Point, this);
+      return this.multiplyUnsafe(cofactor);
+    }
+    isSmallOrder() {
+      if (cofactor === _1n6)
+        return this.is0();
+      return this.clearCofactor().is0();
+    }
+    toBytes(isCompressed = true) {
+      abool2(isCompressed, "isCompressed");
+      this.assertValidity();
+      return encodePoint(Point, this, isCompressed);
+    }
+    toHex(isCompressed = true) {
+      return bytesToHex2(this.toBytes(isCompressed));
+    }
+    toString() {
+      return ``;
+    }
+  }
+  const normalize = (points) => normalizeZ(Point, points);
+  const wnaf = new ScalarMultiplier(Point, randomBytes3);
+  if (wnaf.bits >= 6)
+    Point.BASE.precompute(6);
+  Object.freeze(Point.prototype);
+  Object.freeze(Point);
+  return Point;
+}
+function pprefix(hasEvenY) {
+  return Uint8Array.of(hasEvenY ? 2 : 3);
+}
+function getWLengths(Fp3, Fn) {
+  return {
+    secretKey: Fn.BYTES,
+    publicKey: 1 + Fp3.BYTES,
+    publicKeyUncompressed: 1 + 2 * Fp3.BYTES,
+    publicKeyHasPrefix: true,
+    // Raw compact `(r || s)` signature width; DER and recovered signatures use
+    // different lengths outside this helper.
+    signature: 2 * Fn.BYTES
+  };
+}
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/abstract/bls.js
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+var _0n7 = BigInt(0);
+var _1n7 = BigInt(1);
+var _2n5 = BigInt(2);
+var _3n4 = BigInt(3);
+function NAfDecomposition(a) {
+  const res = [];
+  for (; a > _1n7; a >>= _1n7) {
+    if ((a & _1n7) === _0n7)
+      res.unshift(0);
+    else if ((a & _3n4) === _3n4) {
+      res.unshift(-1);
+      a += _1n7;
+    } else
+      res.unshift(1);
+  }
+  return res;
+}
+function aNonEmpty(arr) {
+  if (!Array.isArray(arr) || arr.length === 0)
+    throw new Error("expected non-empty array");
+}
+function createBlsPairing(fields2, G1, G2, params) {
+  validateObject(fields2, { Fp: "object", Fr: "object", Fp2: "object", Fp12: "object" }, { Fp6: "object" }, "fields");
+  if (typeof G1 !== "function")
+    throw new TypeError('"G1_Point" expected point constructor, got type=' + typeof G1);
+  if (typeof G2 !== "function")
+    throw new TypeError('"G2_Point" expected point constructor, got type=' + typeof G2);
+  validateObject(params, { ateLoopSize: "bigint", xNegative: "boolean", twistType: "string" }, { randomBytes: "function", postPrecompute: "function" }, "params");
+  const { Fp: Fp3, Fr, Fp2: Fp22, Fp12: Fp122 } = fields2;
+  const { twistType, ateLoopSize, xNegative, postPrecompute } = params;
+  const fp22 = (c0, c1) => ({ c0, c1 });
+  const fp2f = ({ c0, c1 }) => Object.freeze({ c0, c1 });
+  const add2 = (a, b) => fp22(Fp3.add(a.c0, b.c0), Fp3.add(a.c1, b.c1));
+  const sub2 = (a, b) => fp22(Fp3.sub(a.c0, b.c0), Fp3.sub(a.c1, b.c1));
+  const mul2 = (a, b) => {
+    const t0 = Fp3.mul(a.c0, b.c0);
+    const t1 = Fp3.mul(a.c1, b.c1);
+    return fp22(Fp3.sub(t0, t1), Fp3.sub(Fp3.mul(Fp3.add(a.c0, a.c1), Fp3.add(b.c0, b.c1)), Fp3.add(t0, t1)));
+  };
+  const mul2ByFp = (a, rhs) => fp22(Fp3.mul(a.c0, rhs), Fp3.mul(a.c1, rhs));
+  const mul2ByNonresidue = (a) => Fp22.mulByNonresidue(a);
+  const mul014ByLine = ({ c0: f0, c1: f1 }, o0, l1, l4, Px, Py) => {
+    const o1 = mul2ByFp(l1, Px);
+    const o4 = mul2ByFp(l4, Py);
+    const { c0: a0, c1: a1, c2: a2 } = f0;
+    const { c0: b0, c1: b1, c2: b2 } = f1;
+    const t0_0 = mul2(a0, o0);
+    const t0_1 = mul2(a1, o1);
+    const t0_c0 = add2(mul2ByNonresidue(sub2(mul2(add2(a1, a2), o1), t0_1)), t0_0);
+    const t0_c1 = sub2(sub2(mul2(add2(o0, o1), add2(a0, a1)), t0_0), t0_1);
+    const t0_c2 = add2(sub2(mul2(add2(a0, a2), o0), t0_0), t0_1);
+    const t1_c0 = mul2ByNonresidue(mul2(b2, o4));
+    const t1_c1 = mul2(b0, o4);
+    const t1_c2 = mul2(b1, o4);
+    const s0 = add2(a0, b0);
+    const s1 = add2(a1, b1);
+    const s2 = add2(a2, b2);
+    const o14 = add2(o1, o4);
+    const t2_0 = mul2(s0, o0);
+    const t2_1 = mul2(s1, o14);
+    const t2_c0 = add2(mul2ByNonresidue(sub2(mul2(add2(s1, s2), o14), t2_1)), t2_0);
+    const t2_c1 = sub2(sub2(mul2(add2(o0, o14), add2(s0, s1)), t2_0), t2_1);
+    const t2_c2 = add2(sub2(mul2(add2(s0, s2), o0), t2_0), t2_1);
+    return Object.freeze({
+      c0: Object.freeze({
+        c0: fp2f(add2(mul2ByNonresidue(t1_c2), t0_c0)),
+        c1: fp2f(add2(t1_c0, t0_c1)),
+        c2: fp2f(add2(t1_c1, t0_c2))
+      }),
+      c1: Object.freeze({
+        c0: fp2f(sub2(sub2(t2_c0, t0_c0), t1_c0)),
+        c1: fp2f(sub2(sub2(t2_c1, t0_c1), t1_c1)),
+        c2: fp2f(sub2(sub2(t2_c2, t0_c2), t1_c2))
+      })
+    });
+  };
+  const mul034ByLine = ({ c0: f0, c1: f1 }, l0, l3, o4, Px, Py) => {
+    const o0 = mul2ByFp(l0, Py);
+    const o3 = mul2ByFp(l3, Px);
+    const { c0: a0, c1: a1, c2: a2 } = f0;
+    const { c0: b0, c1: b1, c2: b2 } = f1;
+    const a_c0 = mul2(a0, o0);
+    const a_c1 = mul2(a1, o0);
+    const a_c2 = mul2(a2, o0);
+    const b0m = mul2(b0, o3);
+    const b1m = mul2(b1, o4);
+    const b_c0 = add2(mul2ByNonresidue(sub2(mul2(add2(b1, b2), o4), b1m)), b0m);
+    const b_c1 = sub2(sub2(mul2(add2(o3, o4), add2(b0, b1)), b0m), b1m);
+    const b_c2 = add2(sub2(mul2(add2(b0, b2), o3), b0m), b1m);
+    const s0 = add2(a0, b0);
+    const s1 = add2(a1, b1);
+    const s2 = add2(a2, b2);
+    const o03 = add2(o0, o3);
+    const e0m = mul2(s0, o03);
+    const e1m = mul2(s1, o4);
+    const e_c0 = add2(mul2ByNonresidue(sub2(mul2(add2(s1, s2), o4), e1m)), e0m);
+    const e_c1 = sub2(sub2(mul2(add2(o03, o4), add2(s0, s1)), e0m), e1m);
+    const e_c2 = add2(sub2(mul2(add2(s0, s2), o03), e0m), e1m);
+    return Object.freeze({
+      c0: Object.freeze({
+        c0: fp2f(add2(mul2ByNonresidue(b_c2), a_c0)),
+        c1: fp2f(add2(b_c0, a_c1)),
+        c2: fp2f(add2(b_c1, a_c2))
+      }),
+      c1: Object.freeze({
+        c0: fp2f(sub2(sub2(e_c0, a_c0), b_c0)),
+        c1: fp2f(sub2(sub2(e_c1, a_c1), b_c1)),
+        c2: fp2f(sub2(sub2(e_c2, a_c2), b_c2))
+      })
+    });
+  };
+  let lineFunction;
+  if (twistType === "multiplicative") {
+    lineFunction = (c0, c1, c2, f, Px, Py) => mul014ByLine(f, c0, c1, c2, Px, Py);
+  } else if (twistType === "divisive") {
+    lineFunction = (c0, c1, c2, f, Px, Py) => mul034ByLine(f, c2, c1, c0, Px, Py);
+  } else
+    throw new Error("bls: unknown twist type");
+  const Fp2div2 = Fp22.div(Fp22.ONE, Fp22.mul(Fp22.ONE, _2n5));
+  function pointDouble(ell, Rx, Ry, Rz) {
+    const t0 = Fp22.sqr(Ry);
+    const t1 = Fp22.sqr(Rz);
+    const t2 = Fp22.mulByB(Fp22.mul(t1, _3n4));
+    const t3 = Fp22.mul(t2, _3n4);
+    const t4 = Fp22.sub(Fp22.sub(Fp22.sqr(Fp22.add(Ry, Rz)), t1), t0);
+    const c0 = Fp22.sub(t2, t0);
+    const c1 = Fp22.mul(Fp22.sqr(Rx), _3n4);
+    const c2 = Fp22.neg(t4);
+    ell.push([c0, c1, c2]);
+    Rx = Fp22.mul(Fp22.mul(Fp22.mul(Fp22.sub(t0, t3), Rx), Ry), Fp2div2);
+    Ry = Fp22.sub(Fp22.sqr(Fp22.mul(Fp22.add(t0, t3), Fp2div2)), Fp22.mul(Fp22.sqr(t2), _3n4));
+    Rz = Fp22.mul(t0, t4);
+    return { Rx, Ry, Rz };
+  }
+  function pointAdd(ell, Rx, Ry, Rz, Qx, Qy) {
+    const t0 = Fp22.sub(Ry, Fp22.mul(Qy, Rz));
+    const t1 = Fp22.sub(Rx, Fp22.mul(Qx, Rz));
+    const c0 = Fp22.sub(Fp22.mul(t0, Qx), Fp22.mul(t1, Qy));
+    const c1 = Fp22.neg(t0);
+    const c2 = t1;
+    ell.push([c0, c1, c2]);
+    const t2 = Fp22.sqr(t1);
+    const t3 = Fp22.mul(t2, t1);
+    const t4 = Fp22.mul(t2, Rx);
+    const t5 = Fp22.add(Fp22.sub(t3, Fp22.mul(t4, _2n5)), Fp22.mul(Fp22.sqr(t0), Rz));
+    Rx = Fp22.mul(t1, t5);
+    Ry = Fp22.sub(Fp22.mul(Fp22.sub(t4, t5), t0), Fp22.mul(t3, Ry));
+    Rz = Fp22.mul(Rz, t3);
+    return { Rx, Ry, Rz };
+  }
+  const ATE_NAF = NAfDecomposition(ateLoopSize);
+  const calcPairingPrecomputes = (point) => {
+    if (!(point instanceof G2))
+      throw new TypeError('"point" expected G2 point, got type=' + typeof point);
+    const p = point;
+    const { x, y } = p.toAffine();
+    const Qx = x, Qy = y, negQy = Fp22.neg(y);
+    let Rx = Qx, Ry = Qy, Rz = Fp22.ONE;
+    const ell = [];
+    for (const bit of ATE_NAF) {
+      const cur = [];
+      ({ Rx, Ry, Rz } = pointDouble(cur, Rx, Ry, Rz));
+      if (bit)
+        ({ Rx, Ry, Rz } = pointAdd(cur, Rx, Ry, Rz, Qx, bit === -1 ? negQy : Qy));
+      ell.push(cur);
+    }
+    if (postPrecompute) {
+      const last = ell[ell.length - 1];
+      postPrecompute(Rx, Ry, Rz, Qx, Qy, pointAdd.bind(null, last));
+    }
+    return ell;
+  };
+  function millerLoopBatch(pairs, withFinalExponent = false) {
+    aarray(pairs, "pairs", (pair, title) => {
+      aarray(pair, title);
+      if (pair.length !== 3)
+        throw new TypeError(`"${title}" expected precompute tuple`);
+      aarray(pair[0], title + "[0]");
+    });
+    let f12 = Fp122.ONE;
+    if (pairs.length) {
+      const ellLen = pairs[0][0].length;
+      for (let i = 0; i < ellLen; i++) {
+        if (i !== 0)
+          f12 = Fp122.sqr(f12);
+        for (const [ell, Px, Py] of pairs) {
+          for (const [c0, c1, c2] of ell[i])
+            f12 = lineFunction(c0, c1, c2, f12, Px, Py);
+        }
+      }
+    }
+    if (xNegative)
+      f12 = Fp122.conjugate(f12);
+    return withFinalExponent ? Fp122.finalExponentiate(f12) : f12;
+  }
+  function pairingBatch(pairs, withFinalExponent = true) {
+    aarray(pairs, "pairs");
+    const res = [];
+    for (let i = 0; i < pairs.length; i++) {
+      const pair = pairs[i];
+      validateObject(pair, { g1: "object", g2: "object" }, {}, "pairs[" + i + "]");
+      const { g1: g12, g2: g22 } = pair;
+      if (!(g12 instanceof G1))
+        throw new TypeError('"pairs[' + i + '].g1" expected G1 point, got type=' + typeof g12);
+      if (!(g22 instanceof G2))
+        throw new TypeError('"pairs[' + i + '].g2" expected G2 point, got type=' + typeof g22);
+      if (g12.is0() || g22.is0())
+        throw new Error("pairing is not available for ZERO point");
+      g12.assertValidity();
+      g22.assertValidity();
+      const Qa = g12.toAffine();
+      res.push([calcPairingPrecomputes(g22), Qa.x, Qa.y]);
+    }
+    return millerLoopBatch(res, withFinalExponent);
+  }
+  function pairing(Q, P, withFinalExponent = true) {
+    if (!(Q instanceof G1))
+      throw new TypeError('"Q" expected G1 point, got type=' + typeof Q);
+    if (!(P instanceof G2))
+      throw new TypeError('"P" expected G2 point, got type=' + typeof P);
+    return pairingBatch([{ g1: Q, g2: P }], withFinalExponent);
+  }
+  const lengths = {
+    seed: getMinHashLength(Fr.ORDER)
+  };
+  const rand = params.randomBytes === void 0 ? randomBytes2 : params.randomBytes;
+  const randomSecretKey = (seed) => {
+    seed = seed === void 0 ? rand(lengths.seed) : seed;
+    abytes2(seed, lengths.seed, "seed");
+    return mapHashToField(seed, Fr.ORDER);
+  };
+  Object.freeze(lengths);
+  return {
+    lengths,
+    Fr,
+    Fp12: Fp122,
+    // NOTE: we re-export Fp12 here because pairing results are Fp12!
+    millerLoopBatch,
+    pairing,
+    pairingBatch,
+    calcPairingPrecomputes,
+    randomSecretKey
+  };
+}
+function createBlsSig(blsPairing, PubPoint, SigPoint, isSigG1, hashToSigCurve, SignatureCoder) {
+  const { Fr, Fp12: Fp122, pairingBatch, randomSecretKey, lengths } = blsPairing;
+  if (!SignatureCoder) {
+    SignatureCoder = {
+      fromBytes: notImplemented,
+      fromHex: notImplemented,
+      toBytes: notImplemented,
+      toHex: notImplemented
+    };
+  }
+  const sigCoder = Object.freeze({ ...SignatureCoder });
+  function normPub(point) {
+    return point instanceof PubPoint ? point : PubPoint.fromBytes(point);
+  }
+  function normSig(point) {
+    return point instanceof SigPoint ? point : sigCoder.fromBytes(point);
+  }
+  function amsg(m) {
+    if (!(m instanceof SigPoint))
+      throw new Error(`expected valid message hashed to ${!isSigG1 ? "G2" : "G1"} curve`);
+    return m;
+  }
+  const pair = !isSigG1 ? (a, b) => ({ g1: a, g2: b }) : (a, b) => ({ g1: b, g2: a });
+  return Object.freeze({
+    lengths: Object.freeze({ ...lengths, secretKey: Fr.BYTES }),
+    keygen(seed) {
+      const secretKey = randomSecretKey(seed);
+      const publicKey = this.getPublicKey(secretKey);
+      return { secretKey, publicKey };
+    },
+    // P = pk x G
+    getPublicKey(secretKey) {
+      let sec;
+      try {
+        sec = PubPoint.Fn.fromBytes(secretKey);
+      } catch (error) {
+        throw new Error("invalid private key: " + typeof secretKey, { cause: error });
+      }
+      return PubPoint.BASE.multiply(sec);
+    },
+    // S = pk x H(m)
+    sign(message, secretKey, unusedArg) {
+      if (unusedArg != null)
+        throw new Error("sign() expects 2 arguments");
+      const sec = PubPoint.Fn.fromBytes(secretKey);
+      amsg(message).assertValidity();
+      return message.multiply(sec);
+    },
+    // Checks if pairing of public key & hash is equal to pairing of generator & signature.
+    // e(P, H(m)) == e(G, S)
+    // e(S, G) == e(H(m), P)
+    verify(signature, message, publicKey, unusedArg) {
+      if (unusedArg != null)
+        throw new Error("verify() expects 3 arguments");
+      signature = normSig(signature);
+      publicKey = normPub(publicKey);
+      const P = publicKey.negate();
+      const G = PubPoint.BASE;
+      const Hm = amsg(message);
+      const S = signature;
+      try {
+        const exp = pairingBatch([pair(P, Hm), pair(G, S)]);
+        return Fp122.eql(exp, Fp122.ONE);
+      } catch {
+        return false;
+      }
+    },
+    // https://ethresear.ch/t/fast-verification-of-multiple-bls-signatures/5407
+    // e(G, S) = e(G, SUM(n)(Si)) = MUL(n)(e(G, Si))
+    // TODO: maybe `{message: G2Hex, publicKey: G1Hex}[]` instead?
+    verifyBatch(signature, items) {
+      aNonEmpty(items);
+      const sig = normSig(signature);
+      const nMessages = items.map((i) => amsg(i.message));
+      const nPublicKeys = items.map((i) => normPub(i.publicKey));
+      const messagePubKeyMap = /* @__PURE__ */ new Map();
+      for (let i = 0; i < nPublicKeys.length; i++) {
+        const pub = nPublicKeys[i];
+        const msg = nMessages[i];
+        let keys = messagePubKeyMap.get(msg);
+        if (keys === void 0) {
+          keys = [];
+          messagePubKeyMap.set(msg, keys);
+        }
+        keys.push(pub);
+      }
+      const paired = [];
+      const G = PubPoint.BASE;
+      try {
+        for (const [msg, keys] of messagePubKeyMap) {
+          const groupPublicKey = keys.reduce((acc, msg2) => acc.add(msg2));
+          paired.push(pair(groupPublicKey, msg));
+        }
+        paired.push(pair(G.negate(), sig));
+        return Fp122.eql(pairingBatch(paired), Fp122.ONE);
+      } catch {
+        return false;
+      }
+    },
+    // Adds a bunch of public key points together.
+    // pk1 + pk2 + pk3 = pkA
+    aggregatePublicKeys(publicKeys) {
+      aNonEmpty(publicKeys);
+      publicKeys = publicKeys.map((pub) => normPub(pub));
+      const agg = publicKeys.reduce((sum, p) => sum.add(p), PubPoint.ZERO);
+      agg.assertValidity();
+      return agg;
+    },
+    // Adds a bunch of signature points together.
+    // pk1 + pk2 + pk3 = pkA
+    aggregateSignatures(signatures) {
+      aNonEmpty(signatures);
+      signatures = signatures.map((sig) => normSig(sig));
+      const agg = signatures.reduce((sum, s) => sum.add(s), SigPoint.ZERO);
+      agg.assertValidity();
+      return agg;
+    },
+    hash(messageBytes, DST) {
+      abytes2(messageBytes);
+      const opts = DST === void 0 ? void 0 : { DST };
+      return hashToSigCurve(messageBytes, opts);
+    },
+    Signature: Object.freeze({ ...sigCoder })
+  });
+}
+function blsBasic(fields2, G1_Point2, G2_Point2, params) {
+  const { Fp: Fp3, Fr, Fp2: Fp22, Fp6: Fp62, Fp12: Fp122 } = fields2;
+  const G1 = { Point: G1_Point2 };
+  const G2 = { Point: G2_Point2 };
+  const pairingRes = createBlsPairing(fields2, G1_Point2, G2_Point2, params);
+  const { millerLoopBatch, pairing, pairingBatch, calcPairingPrecomputes, randomSecretKey, lengths } = pairingRes;
+  G1.Point.BASE.precompute(4);
+  Object.freeze(G1);
+  Object.freeze(G2);
+  return Object.freeze({
+    lengths: Object.freeze(lengths),
+    millerLoopBatch,
+    pairing,
+    pairingBatch,
+    G1,
+    G2,
+    fields: Object.freeze({ Fr, Fp: Fp3, Fp2: Fp22, Fp6: Fp62, Fp12: Fp122 }),
+    params: Object.freeze({
+      ateLoopSize: params.ateLoopSize,
+      xNegative: params.xNegative,
+      twistType: params.twistType,
+      postPrecompute: params.postPrecompute
+    }),
+    utils: Object.freeze({
+      randomSecretKey,
+      calcPairingPrecomputes
+    })
+  });
+}
+function blsHashers(fields2, G1_Point2, G2_Point2, params, hasherParams) {
+  const base = blsBasic(fields2, G1_Point2, G2_Point2, params);
+  validateObject(hasherParams, { hasherOpts: "object", hasherOptsG1: "object", hasherOptsG2: "object" }, { mapToG1: "function", mapToG2: "function" }, "hasherParams");
+  const G1Hasher = createHasher2(G1_Point2, hasherParams.mapToG1 === void 0 ? notImplemented : hasherParams.mapToG1, {
+    ...hasherParams.hasherOpts,
+    ...hasherParams.hasherOptsG1
+  });
+  const G2Hasher = createHasher2(G2_Point2, hasherParams.mapToG2 === void 0 ? notImplemented : hasherParams.mapToG2, {
+    ...hasherParams.hasherOpts,
+    ...hasherParams.hasherOptsG2
+  });
+  return Object.freeze({ ...base, G1: G1Hasher, G2: G2Hasher });
+}
+function bls(fields2, G1_Point2, G2_Point2, params, hasherParams, signatureCoders2) {
+  const base = blsHashers(fields2, G1_Point2, G2_Point2, params, hasherParams);
+  const pairingRes = {
+    ...base,
+    Fr: base.fields.Fr,
+    Fp12: base.fields.Fp12,
+    calcPairingPrecomputes: base.utils.calcPairingPrecomputes,
+    randomSecretKey: base.utils.randomSecretKey
+  };
+  const longSignatures = createBlsSig(pairingRes, G1_Point2, G2_Point2, false, base.G2.hashToCurve, signatureCoders2?.LongSignature);
+  const shortSignatures = createBlsSig(pairingRes, G2_Point2, G1_Point2, true, base.G1.hashToCurve, signatureCoders2?.ShortSignature);
+  return Object.freeze({ ...base, longSignatures, shortSignatures });
+}
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/abstract/tower.js
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+var _0n8 = /* @__PURE__ */ BigInt(0);
+var _1n8 = /* @__PURE__ */ BigInt(1);
+var _2n6 = /* @__PURE__ */ BigInt(2);
+var _3n5 = /* @__PURE__ */ BigInt(3);
+var _6n = /* @__PURE__ */ BigInt(6);
+var _12n = /* @__PURE__ */ BigInt(12);
+var isObj = (value) => !!value && typeof value === "object";
+function calcFrobeniusCoefficients(Fp3, nonResidue, modulus, degree, num = 1, divisor) {
+  asafenumber(num, "num");
+  asafenumber(degree, "degree");
+  const divisorN = divisor === void 0 ? degree : divisor;
+  asafenumber(divisorN, "divisor");
+  const F = Fp3;
+  if (typeof modulus !== "bigint" || modulus <= _1n8)
+    throw new Error("calcFrobeniusCoefficients: expected valid modulus, got " + modulus);
+  if (degree <= 0)
+    throw new Error("calcFrobeniusCoefficients: expected positive degree, got " + degree);
+  if (num <= 0)
+    throw new Error("calcFrobeniusCoefficients: expected positive row count, got " + num);
+  if (divisorN <= 0)
+    throw new Error("calcFrobeniusCoefficients: expected positive divisor, got " + divisorN);
+  const _divisor = BigInt(divisorN);
+  const towerModulus = modulus ** BigInt(degree);
+  const res = [];
+  for (let i = 0; i < num; i++) {
+    const a = BigInt(i + 1);
+    const powers = [];
+    for (let j = 0, qPower = _1n8; j < degree; j++) {
+      const numer = a * qPower - a;
+      if (numer % _divisor)
+        throw new Error("calcFrobeniusCoefficients: inexact tower exponent");
+      const power = numer / _divisor % towerModulus;
+      powers.push(F.pow(nonResidue, power));
+      qPower *= modulus;
+    }
+    res.push(powers);
+  }
+  return res;
+}
+function psiFrobenius(Fp3, Fp22, base) {
+  validateField(Fp3);
+  validateField(Fp22);
+  validateObject(Fp22, {
+    Fp: "object",
+    frobeniusMap: "function",
+    fromBigTuple: "function",
+    mulByB: "function",
+    mulByNonresidue: "function",
+    reim: "function",
+    Fp4Square: "function",
+    NONRESIDUE: "object"
+  }, {});
+  if (!isObj(base) || Array.isArray(base))
+    throw new TypeError('"base" expected Fp2 element, got type=' + typeof base);
+  if (!Fp22.isValid(base))
+    throw new RangeError('"base" expected valid Fp2 element');
+  const PSI_X = Fp22.pow(base, (Fp3.ORDER - _1n8) / _3n5);
+  const PSI_Y = Fp22.pow(base, (Fp3.ORDER - _1n8) / _2n6);
+  function psi(x, y) {
+    const x2 = Fp22.mul(Fp22.frobeniusMap(x, 1), PSI_X);
+    const y2 = Fp22.mul(Fp22.frobeniusMap(y, 1), PSI_Y);
+    return [x2, y2];
+  }
+  const PSI2_X = Fp22.pow(base, (Fp3.ORDER ** _2n6 - _1n8) / _3n5);
+  const PSI2_Y = Fp22.pow(base, (Fp3.ORDER ** _2n6 - _1n8) / _2n6);
+  if (!Fp22.eql(PSI2_Y, Fp22.neg(Fp22.ONE)))
+    throw new Error("psiFrobenius: PSI2_Y!==-1");
+  function psi2(x, y) {
+    return [Fp22.mul(x, PSI2_X), Fp22.neg(y)];
+  }
+  const mapAffine = (fn) => (c, P) => {
+    if (typeof c !== "function")
+      throw new TypeError('"c" expected point constructor, got type=' + typeof c);
+    validatePointCons(c);
+    if (!(P instanceof c))
+      throw new TypeError('"P" expected Point instance, got type=' + typeof P);
+    const affine = P.toAffine();
+    const p = fn(affine.x, affine.y);
+    return c.fromAffine({ x: p[0], y: p[1] });
+  };
+  const G2psi3 = mapAffine(psi);
+  const G2psi22 = mapAffine(psi2);
+  return { psi, psi2, G2psi: G2psi3, G2psi2: G2psi22, PSI_X, PSI_Y, PSI2_X, PSI2_Y };
+}
+var _Field2 = class {
+  ORDER;
+  BITS;
+  BYTES;
+  isLE;
+  ZERO;
+  ONE;
+  Fp;
+  NONRESIDUE;
+  mulByB;
+  Fp_NONRESIDUE;
+  Fp_div2;
+  constructor(Fp3, opts = {}) {
+    const { NONRESIDUE = BigInt(-1), FP2_NONRESIDUE, Fp2mulByB } = opts;
+    const ORDER = Fp3.ORDER;
+    const FP2_ORDER = ORDER * ORDER;
+    this.Fp = Fp3;
+    this.ORDER = FP2_ORDER;
+    this.BITS = bitLen(FP2_ORDER);
+    this.BYTES = Math.ceil(bitLen(FP2_ORDER) / 8);
+    this.isLE = Fp3.isLE;
+    this.ZERO = this.create({ c0: Fp3.ZERO, c1: Fp3.ZERO });
+    this.ONE = this.create({ c0: Fp3.ONE, c1: Fp3.ZERO });
+    this.Fp_NONRESIDUE = Fp3.create(NONRESIDUE);
+    this.Fp_div2 = Fp3.div(Fp3.ONE, _2n6);
+    this.NONRESIDUE = this.create({ c0: FP2_NONRESIDUE[0], c1: FP2_NONRESIDUE[1] });
+    this.mulByB = (num) => {
+      const { c0, c1 } = Fp2mulByB(num);
+      return Object.freeze({ c0, c1 });
+    };
+    Object.freeze(this);
+  }
+  fromBigTuple(tuple) {
+    if (!Array.isArray(tuple) || tuple.length !== 2)
+      throw new Error("invalid Fp2.fromBigTuple");
+    const [c0, c1] = tuple;
+    if (typeof c0 !== "bigint" || typeof c1 !== "bigint")
+      throw new Error("invalid Fp2.fromBigTuple");
+    return this.create({ c0, c1 });
+  }
+  create(num) {
+    const { Fp: Fp3 } = this;
+    const c0 = Fp3.create(num.c0);
+    const c1 = Fp3.create(num.c1);
+    return Object.freeze({ c0, c1 });
+  }
+  isValid(num) {
+    if (!isObj(num))
+      throw new TypeError("invalid field element: expected object, got " + typeof num);
+    const { c0, c1 } = num;
+    const { Fp: Fp3 } = this;
+    return Fp3.isValid(c0) && Fp3.isValid(c1);
+  }
+  is0(num) {
+    if (!isObj(num))
+      return false;
+    const { c0, c1 } = num;
+    const { Fp: Fp3 } = this;
+    return Fp3.is0(c0) && Fp3.is0(c1);
+  }
+  isValidNot0(num) {
+    return !this.is0(num) && this.isValid(num);
+  }
+  eql({ c0, c1 }, { c0: r0, c1: r1 }) {
+    const { Fp: Fp3 } = this;
+    return Fp3.eql(c0, r0) && Fp3.eql(c1, r1);
+  }
+  neg({ c0, c1 }) {
+    const { Fp: Fp3 } = this;
+    return Object.freeze({ c0: Fp3.neg(c0), c1: Fp3.neg(c1) });
+  }
+  pow(num, power) {
+    return FpPow(this, num, power);
+  }
+  invertBatch(nums) {
+    return FpInvertBatch(this, nums, true);
+  }
+  // Normalized
+  add(f1, f2) {
+    const { Fp: Fp3 } = this;
+    const { c0, c1 } = f1;
+    const { c0: r0, c1: r1 } = f2;
+    return Object.freeze({
+      c0: Fp3.add(c0, r0),
+      c1: Fp3.add(c1, r1)
+    });
+  }
+  sub({ c0, c1 }, { c0: r0, c1: r1 }) {
+    const { Fp: Fp3 } = this;
+    return Object.freeze({
+      c0: Fp3.sub(c0, r0),
+      c1: Fp3.sub(c1, r1)
+    });
+  }
+  mul({ c0, c1 }, rhs) {
+    const { Fp: Fp3 } = this;
+    if (typeof rhs === "bigint")
+      return Object.freeze({ c0: Fp3.mul(c0, rhs), c1: Fp3.mul(c1, rhs) });
+    const { c0: r0, c1: r1 } = rhs;
+    let t1 = Fp3.mul(c0, r0);
+    let t2 = Fp3.mul(c1, r1);
+    const o0 = Fp3.sub(t1, t2);
+    const o1 = Fp3.sub(Fp3.mul(Fp3.add(c0, c1), Fp3.add(r0, r1)), Fp3.add(t1, t2));
+    return Object.freeze({ c0: o0, c1: o1 });
+  }
+  sqr({ c0, c1 }) {
+    const { Fp: Fp3 } = this;
+    const a = Fp3.add(c0, c1);
+    const b = Fp3.sub(c0, c1);
+    const c = Fp3.add(c0, c0);
+    return Object.freeze({ c0: Fp3.mul(a, b), c1: Fp3.mul(c, c1) });
+  }
+  // NonNormalized stuff
+  addN(a, b) {
+    return this.add(a, b);
+  }
+  subN(a, b) {
+    return this.sub(a, b);
+  }
+  mulN(a, b) {
+    return this.mul(a, b);
+  }
+  sqrN(a) {
+    return this.sqr(a);
+  }
+  // Why inversion for bigint inside Fp instead of Fp2? it is even used in that context?
+  div(lhs, rhs) {
+    const { Fp: Fp3 } = this;
+    return this.mul(lhs, typeof rhs === "bigint" ? Fp3.inv(Fp3.create(rhs)) : this.inv(rhs));
+  }
+  inv({ c0: a, c1: b }) {
+    const { Fp: Fp3 } = this;
+    const factor = Fp3.inv(Fp3.create(a * a + b * b));
+    return Object.freeze({ c0: Fp3.mul(factor, Fp3.create(a)), c1: Fp3.mul(factor, Fp3.create(-b)) });
+  }
+  sqrt(num) {
+    const { Fp: Fp3 } = this;
+    const Fp22 = this;
+    const { c0, c1 } = num;
+    if (Fp3.is0(c1)) {
+      if (FpLegendre(Fp3, c0) === 1)
+        return Fp22.create({ c0: Fp3.sqrt(c0), c1: Fp3.ZERO });
+      else
+        return Fp22.create({ c0: Fp3.ZERO, c1: Fp3.sqrt(Fp3.div(c0, this.Fp_NONRESIDUE)) });
+    }
+    const a = Fp3.sqrt(Fp3.sub(Fp3.sqr(c0), Fp3.mul(Fp3.sqr(c1), this.Fp_NONRESIDUE)));
+    let d = Fp3.mul(Fp3.add(a, c0), this.Fp_div2);
+    const legendre = FpLegendre(Fp3, d);
+    if (legendre === -1)
+      d = Fp3.sub(d, a);
+    const a0 = Fp3.sqrt(d);
+    const candidateSqrt = Fp22.create({ c0: a0, c1: Fp3.div(Fp3.mul(c1, this.Fp_div2), a0) });
+    if (!Fp22.eql(Fp22.sqr(candidateSqrt), num))
+      throw new Error("Cannot find square root");
+    const x1 = candidateSqrt;
+    const x2 = Fp22.neg(x1);
+    const { re: re1, im: im1 } = Fp22.reim(x1);
+    const { re: re2, im: im2 } = Fp22.reim(x2);
+    if (im1 > im2 || im1 === im2 && re1 > re2)
+      return x1;
+    return x2;
+  }
+  // Same as sgn0_m_eq_2 in RFC 9380
+  isOdd(x) {
+    const { re: x0, im: x1 } = this.reim(x);
+    const sign_0 = x0 % _2n6;
+    const zero_0 = x0 === _0n8;
+    const sign_1 = x1 % _2n6;
+    return BigInt(sign_0 || zero_0 && sign_1) == _1n8;
+  }
+  // Bytes util
+  fromBytes(b) {
+    const { Fp: Fp3 } = this;
+    abytes2(b);
+    if (b.length !== this.BYTES)
+      throw new Error("fromBytes invalid length=" + b.length);
+    return this.create({
+      c0: Fp3.fromBytes(b.subarray(0, Fp3.BYTES)),
+      c1: Fp3.fromBytes(b.subarray(Fp3.BYTES))
+    });
+  }
+  toBytes({ c0, c1 }) {
+    return concatBytes2(this.Fp.toBytes(c0), this.Fp.toBytes(c1));
+  }
+  cmov({ c0, c1 }, { c0: r0, c1: r1 }, c) {
+    const { Fp: Fp3 } = this;
+    return this.create({
+      c0: Fp3.cmov(c0, r0, c),
+      c1: Fp3.cmov(c1, r1, c)
+    });
+  }
+  reim({ c0, c1 }) {
+    return { re: c0, im: c1 };
+  }
+  Fp4Square(a, b) {
+    const Fp22 = this;
+    const a2 = Fp22.sqr(a);
+    const b2 = Fp22.sqr(b);
+    return {
+      first: Fp22.add(Fp22.mulByNonresidue(b2), a2),
+      // b² * Nonresidue + a²
+      second: Fp22.sub(Fp22.sub(Fp22.sqr(Fp22.add(a, b)), a2), b2)
+      // (a + b)² - a² - b²
+    };
+  }
+  // multiply by u + 1
+  mulByNonresidue({ c0, c1 }) {
+    const { Fp: Fp3, NONRESIDUE: nr } = this;
+    if (nr.c0 === Fp3.ONE && nr.c1 === Fp3.ONE) {
+      return Object.freeze({ c0: Fp3.sub(c0, c1), c1: Fp3.add(c0, c1) });
+    }
+    if (nr.c1 === Fp3.ONE) {
+      return Object.freeze({
+        c0: Fp3.sub(Fp3.mul(c0, nr.c0), c1),
+        c1: Fp3.add(c0, Fp3.mul(c1, nr.c0))
+      });
+    }
+    return this.mul({ c0, c1 }, nr);
+  }
+  frobeniusMap(num, power) {
+    const { c0, c1 } = num;
+    const { Fp: Fp3 } = this;
+    return Object.freeze({ c0, c1: power % 2 === 0 ? c1 : Fp3.neg(c1) });
+  }
+};
+var _Field6 = class {
+  ORDER;
+  BITS;
+  BYTES;
+  isLE;
+  ZERO;
+  ONE;
+  Fp2;
+  constructor(Fp22) {
+    this.Fp2 = Fp22;
+    this.ORDER = Fp22.Fp.ORDER ** _6n;
+    this.BITS = 3 * Fp22.BITS;
+    this.BYTES = 3 * Fp22.BYTES;
+    this.isLE = Fp22.isLE;
+    this.ZERO = this.create({ c0: Fp22.ZERO, c1: Fp22.ZERO, c2: Fp22.ZERO });
+    this.ONE = this.create({ c0: Fp22.ONE, c1: Fp22.ZERO, c2: Fp22.ZERO });
+    Object.freeze(this);
+  }
+  // Most callers never touch Frobenius maps, so keep the sextic tables lazy:
+  // eagerly deriving them dominates `bls12-381.js` / `bn254.js` import time.
+  get FROBENIUS_COEFFICIENTS_1() {
+    const frob2 = _FROBENIUS_COEFFICIENTS_6.get(this);
+    if (frob2)
+      return frob2[0];
+    const { Fp2: Fp22 } = this;
+    const { Fp: Fp3 } = Fp22;
+    const rows = calcFrobeniusCoefficients(Fp22, Fp22.NONRESIDUE, Fp3.ORDER, 6, 2, 3);
+    const cache = [Object.freeze(rows[0]), Object.freeze(rows[1])];
+    _FROBENIUS_COEFFICIENTS_6.set(this, cache);
+    return cache[0];
+  }
+  get FROBENIUS_COEFFICIENTS_2() {
+    const frob2 = _FROBENIUS_COEFFICIENTS_6.get(this);
+    if (frob2)
+      return frob2[1];
+    void this.FROBENIUS_COEFFICIENTS_1;
+    return _FROBENIUS_COEFFICIENTS_6.get(this)[1];
+  }
+  add({ c0, c1, c2 }, { c0: r0, c1: r1, c2: r2 }) {
+    const { Fp2: Fp22 } = this;
+    return Object.freeze({
+      c0: Fp22.add(c0, r0),
+      c1: Fp22.add(c1, r1),
+      c2: Fp22.add(c2, r2)
+    });
+  }
+  sub({ c0, c1, c2 }, { c0: r0, c1: r1, c2: r2 }) {
+    const { Fp2: Fp22 } = this;
+    return Object.freeze({
+      c0: Fp22.sub(c0, r0),
+      c1: Fp22.sub(c1, r1),
+      c2: Fp22.sub(c2, r2)
+    });
+  }
+  mul({ c0, c1, c2 }, rhs) {
+    const { Fp2: Fp22 } = this;
+    if (typeof rhs === "bigint") {
+      return Object.freeze({
+        c0: Fp22.mul(c0, rhs),
+        c1: Fp22.mul(c1, rhs),
+        c2: Fp22.mul(c2, rhs)
+      });
+    }
+    const { c0: r0, c1: r1, c2: r2 } = rhs;
+    const t0 = Fp22.mul(c0, r0);
+    const t1 = Fp22.mul(c1, r1);
+    const t2 = Fp22.mul(c2, r2);
+    return Object.freeze({
+      // t0 + (c1 + c2) * (r1 * r2) - (T1 + T2) * (u + 1)
+      c0: Fp22.add(t0, Fp22.mulByNonresidue(Fp22.sub(Fp22.mul(Fp22.add(c1, c2), Fp22.add(r1, r2)), Fp22.add(t1, t2)))),
+      // (c0 + c1) * (r0 + r1) - (T0 + T1) + T2 * (u + 1)
+      c1: Fp22.add(Fp22.sub(Fp22.mul(Fp22.add(c0, c1), Fp22.add(r0, r1)), Fp22.add(t0, t1)), Fp22.mulByNonresidue(t2)),
+      // T1 + (c0 + c2) * (r0 + r2) - T0 + T2
+      c2: Fp22.sub(Fp22.add(t1, Fp22.mul(Fp22.add(c0, c2), Fp22.add(r0, r2))), Fp22.add(t0, t2))
+    });
+  }
+  sqr({ c0, c1, c2 }) {
+    const { Fp2: Fp22 } = this;
+    let t0 = Fp22.sqr(c0);
+    let t1 = Fp22.mul(Fp22.mul(c0, c1), _2n6);
+    let t3 = Fp22.mul(Fp22.mul(c1, c2), _2n6);
+    let t4 = Fp22.sqr(c2);
+    return Object.freeze({
+      c0: Fp22.add(Fp22.mulByNonresidue(t3), t0),
+      // T3 * (u + 1) + T0
+      c1: Fp22.add(Fp22.mulByNonresidue(t4), t1),
+      // T4 * (u + 1) + T1
+      // T1 + (c0 - c1 + c2)² + T3 - T0 - T4
+      c2: Fp22.sub(Fp22.sub(Fp22.add(Fp22.add(t1, Fp22.sqr(Fp22.add(Fp22.sub(c0, c1), c2))), t3), t0), t4)
+    });
+  }
+  addN(a, b) {
+    return this.add(a, b);
+  }
+  subN(a, b) {
+    return this.sub(a, b);
+  }
+  mulN(a, b) {
+    return this.mul(a, b);
+  }
+  sqrN(a) {
+    return this.sqr(a);
+  }
+  create(num) {
+    const { Fp2: Fp22 } = this;
+    const c0 = Fp22.create(num.c0);
+    const c1 = Fp22.create(num.c1);
+    const c2 = Fp22.create(num.c2);
+    return Object.freeze({ c0, c1, c2 });
+  }
+  isValid(num) {
+    if (!isObj(num))
+      throw new TypeError("invalid field element: expected object, got " + typeof num);
+    const { c0, c1, c2 } = num;
+    const { Fp2: Fp22 } = this;
+    return Fp22.isValid(c0) && Fp22.isValid(c1) && Fp22.isValid(c2);
+  }
+  is0(num) {
+    if (!isObj(num))
+      return false;
+    const { c0, c1, c2 } = num;
+    const { Fp2: Fp22 } = this;
+    return Fp22.is0(c0) && Fp22.is0(c1) && Fp22.is0(c2);
+  }
+  isValidNot0(num) {
+    return !this.is0(num) && this.isValid(num);
+  }
+  neg({ c0, c1, c2 }) {
+    const { Fp2: Fp22 } = this;
+    return Object.freeze({ c0: Fp22.neg(c0), c1: Fp22.neg(c1), c2: Fp22.neg(c2) });
+  }
+  eql({ c0, c1, c2 }, { c0: r0, c1: r1, c2: r2 }) {
+    const { Fp2: Fp22 } = this;
+    return Fp22.eql(c0, r0) && Fp22.eql(c1, r1) && Fp22.eql(c2, r2);
+  }
+  sqrt(_) {
+    return notImplemented();
+  }
+  // Do we need division by bigint at all? Should be done via order:
+  div(lhs, rhs) {
+    const { Fp2: Fp22 } = this;
+    const { Fp: Fp3 } = Fp22;
+    return this.mul(lhs, typeof rhs === "bigint" ? Fp3.inv(Fp3.create(rhs)) : this.inv(rhs));
+  }
+  pow(num, power) {
+    return FpPow(this, num, power);
+  }
+  invertBatch(nums) {
+    return FpInvertBatch(this, nums, true);
+  }
+  inv({ c0, c1, c2 }) {
+    const { Fp2: Fp22 } = this;
+    let t0 = Fp22.sub(Fp22.sqr(c0), Fp22.mulByNonresidue(Fp22.mul(c2, c1)));
+    let t1 = Fp22.sub(Fp22.mulByNonresidue(Fp22.sqr(c2)), Fp22.mul(c0, c1));
+    let t2 = Fp22.sub(Fp22.sqr(c1), Fp22.mul(c0, c2));
+    let t4 = Fp22.inv(Fp22.add(Fp22.mulByNonresidue(Fp22.add(Fp22.mul(c2, t1), Fp22.mul(c1, t2))), Fp22.mul(c0, t0)));
+    return Object.freeze({ c0: Fp22.mul(t4, t0), c1: Fp22.mul(t4, t1), c2: Fp22.mul(t4, t2) });
+  }
+  // Bytes utils
+  fromBytes(b) {
+    const { Fp2: Fp22 } = this;
+    abytes2(b);
+    if (b.length !== this.BYTES)
+      throw new Error("fromBytes invalid length=" + b.length);
+    const B2 = Fp22.BYTES;
+    return this.create({
+      c0: Fp22.fromBytes(b.subarray(0, B2)),
+      c1: Fp22.fromBytes(b.subarray(B2, B2 * 2)),
+      c2: Fp22.fromBytes(b.subarray(2 * B2))
+    });
+  }
+  toBytes({ c0, c1, c2 }) {
+    const { Fp2: Fp22 } = this;
+    return concatBytes2(Fp22.toBytes(c0), Fp22.toBytes(c1), Fp22.toBytes(c2));
+  }
+  cmov({ c0, c1, c2 }, { c0: r0, c1: r1, c2: r2 }, c) {
+    const { Fp2: Fp22 } = this;
+    return this.create({
+      c0: Fp22.cmov(c0, r0, c),
+      c1: Fp22.cmov(c1, r1, c),
+      c2: Fp22.cmov(c2, r2, c)
+    });
+  }
+  fromBigSix(tuple) {
+    const { Fp2: Fp22 } = this;
+    if (!Array.isArray(tuple) || tuple.length !== 6)
+      throw new Error("invalid Fp6.fromBigSix");
+    for (let i = 0; i < 6; i++)
+      if (typeof tuple[i] !== "bigint")
+        throw new Error("invalid Fp6.fromBigSix");
+    const t2 = tuple;
+    return this.create({
+      c0: Fp22.fromBigTuple(t2.slice(0, 2)),
+      c1: Fp22.fromBigTuple(t2.slice(2, 4)),
+      c2: Fp22.fromBigTuple(t2.slice(4, 6))
+    });
+  }
+  frobeniusMap(num, power) {
+    const { c0, c1, c2 } = num;
+    if (power % 6 === 0)
+      return Object.freeze({ c0, c1, c2 });
+    const { Fp2: Fp22 } = this;
+    return Object.freeze({
+      c0: Fp22.frobeniusMap(c0, power),
+      c1: Fp22.mul(Fp22.frobeniusMap(c1, power), this.FROBENIUS_COEFFICIENTS_1[power % 6]),
+      c2: Fp22.mul(Fp22.frobeniusMap(c2, power), this.FROBENIUS_COEFFICIENTS_2[power % 6])
+    });
+  }
+  mulByFp2({ c0, c1, c2 }, rhs) {
+    const { Fp2: Fp22 } = this;
+    return Object.freeze({
+      c0: Fp22.mul(c0, rhs),
+      c1: Fp22.mul(c1, rhs),
+      c2: Fp22.mul(c2, rhs)
+    });
+  }
+  mulByNonresidue({ c0, c1, c2 }) {
+    const { Fp2: Fp22 } = this;
+    return Object.freeze({ c0: Fp22.mulByNonresidue(c2), c1: c0, c2: c1 });
+  }
+  // Sparse multiplication
+  mul1({ c0, c1, c2 }, b1) {
+    const { Fp2: Fp22 } = this;
+    return Object.freeze({
+      c0: Fp22.mulByNonresidue(Fp22.mul(c2, b1)),
+      c1: Fp22.mul(c0, b1),
+      c2: Fp22.mul(c1, b1)
+    });
+  }
+  // Sparse multiplication
+  mul01({ c0, c1, c2 }, b0, b1) {
+    const { Fp2: Fp22 } = this;
+    let t0 = Fp22.mul(c0, b0);
+    let t1 = Fp22.mul(c1, b1);
+    return Object.freeze({
+      // ((c1 + c2) * b1 - T1) * (u + 1) + T0
+      c0: Fp22.add(Fp22.mulByNonresidue(Fp22.sub(Fp22.mul(Fp22.add(c1, c2), b1), t1)), t0),
+      // (b0 + b1) * (c0 + c1) - T0 - T1
+      c1: Fp22.sub(Fp22.sub(Fp22.mul(Fp22.add(b0, b1), Fp22.add(c0, c1)), t0), t1),
+      // (c0 + c2) * b0 - T0 + T1
+      c2: Fp22.add(Fp22.sub(Fp22.mul(Fp22.add(c0, c2), b0), t0), t1)
+    });
+  }
+};
+var _FROBENIUS_COEFFICIENTS_6 = /* @__PURE__ */ new WeakMap();
+var _Field12 = class {
+  ORDER;
+  BITS;
+  BYTES;
+  isLE;
+  ZERO;
+  ONE;
+  Fp6;
+  X_LEN;
+  finalExponentiate;
+  constructor(Fp62, opts) {
+    const { X_LEN, Fp12finalExponentiate } = opts;
+    const { Fp2: Fp22 } = Fp62;
+    const { Fp: Fp3 } = Fp22;
+    this.Fp6 = Fp62;
+    this.ORDER = Fp3.ORDER ** _12n;
+    this.BITS = 2 * Fp62.BITS;
+    this.BYTES = 2 * Fp62.BYTES;
+    this.isLE = Fp62.isLE;
+    this.ZERO = this.create({ c0: Fp62.ZERO, c1: Fp62.ZERO });
+    this.ONE = this.create({ c0: Fp62.ONE, c1: Fp62.ZERO });
+    this.X_LEN = X_LEN;
+    this.finalExponentiate = (num) => {
+      const copy2 = ({ c0, c1 }) => Object.freeze({ c0, c1 });
+      const copy6 = ({ c0, c1, c2 }) => Object.freeze({ c0: copy2(c0), c1: copy2(c1), c2: copy2(c2) });
+      const res = Fp12finalExponentiate(num);
+      return Object.freeze({ c0: copy6(res.c0), c1: copy6(res.c1) });
+    };
+    Object.freeze(this);
+  }
+  // Keep the degree-12 Frobenius row lazy too; after the first lookup the cached
+  // array is reused exactly like the old eager table.
+  get FROBENIUS_COEFFICIENTS() {
+    const frob2 = _FROBENIUS_COEFFICIENTS_12.get(this);
+    if (frob2)
+      return frob2;
+    const { Fp2: Fp22 } = this.Fp6;
+    const { Fp: Fp3 } = Fp22;
+    const cache = Object.freeze(calcFrobeniusCoefficients(Fp22, Fp22.NONRESIDUE, Fp3.ORDER, 12, 1, 6)[0]);
+    _FROBENIUS_COEFFICIENTS_12.set(this, cache);
+    return cache;
+  }
+  create(num) {
+    const { Fp6: Fp62 } = this;
+    const c0 = Fp62.create(num.c0);
+    const c1 = Fp62.create(num.c1);
+    return Object.freeze({ c0, c1 });
+  }
+  isValid(num) {
+    if (!isObj(num))
+      throw new TypeError("invalid field element: expected object, got " + typeof num);
+    const { c0, c1 } = num;
+    const { Fp6: Fp62 } = this;
+    return Fp62.isValid(c0) && Fp62.isValid(c1);
+  }
+  is0(num) {
+    if (!isObj(num))
+      return false;
+    const { c0, c1 } = num;
+    const { Fp6: Fp62 } = this;
+    return Fp62.is0(c0) && Fp62.is0(c1);
+  }
+  isValidNot0(num) {
+    return !this.is0(num) && this.isValid(num);
+  }
+  neg({ c0, c1 }) {
+    const { Fp6: Fp62 } = this;
+    return Object.freeze({ c0: Fp62.neg(c0), c1: Fp62.neg(c1) });
+  }
+  eql({ c0, c1 }, { c0: r0, c1: r1 }) {
+    const { Fp6: Fp62 } = this;
+    return Fp62.eql(c0, r0) && Fp62.eql(c1, r1);
+  }
+  sqrt(_) {
+    return notImplemented();
+  }
+  inv({ c0, c1 }) {
+    const { Fp6: Fp62 } = this;
+    let t2 = Fp62.inv(Fp62.sub(Fp62.sqr(c0), Fp62.mulByNonresidue(Fp62.sqr(c1))));
+    return Object.freeze({ c0: Fp62.mul(c0, t2), c1: Fp62.neg(Fp62.mul(c1, t2)) });
+  }
+  div(lhs, rhs) {
+    const { Fp6: Fp62 } = this;
+    const { Fp2: Fp22 } = Fp62;
+    const { Fp: Fp3 } = Fp22;
+    return this.mul(lhs, typeof rhs === "bigint" ? Fp3.inv(Fp3.create(rhs)) : this.inv(rhs));
+  }
+  pow(num, power) {
+    return FpPow(this, num, power);
+  }
+  invertBatch(nums) {
+    return FpInvertBatch(this, nums, true);
+  }
+  // Normalized
+  add({ c0, c1 }, { c0: r0, c1: r1 }) {
+    const { Fp6: Fp62 } = this;
+    return Object.freeze({
+      c0: Fp62.add(c0, r0),
+      c1: Fp62.add(c1, r1)
+    });
+  }
+  sub({ c0, c1 }, { c0: r0, c1: r1 }) {
+    const { Fp6: Fp62 } = this;
+    return Object.freeze({
+      c0: Fp62.sub(c0, r0),
+      c1: Fp62.sub(c1, r1)
+    });
+  }
+  mul({ c0, c1 }, rhs) {
+    const { Fp6: Fp62 } = this;
+    if (typeof rhs === "bigint")
+      return Object.freeze({ c0: Fp62.mul(c0, rhs), c1: Fp62.mul(c1, rhs) });
+    let { c0: r0, c1: r1 } = rhs;
+    let t1 = Fp62.mul(c0, r0);
+    let t2 = Fp62.mul(c1, r1);
+    return Object.freeze({
+      c0: Fp62.add(t1, Fp62.mulByNonresidue(t2)),
+      // T1 + T2 * v
+      // (c0 + c1) * (r0 + r1) - (T1 + T2)
+      c1: Fp62.sub(Fp62.mul(Fp62.add(c0, c1), Fp62.add(r0, r1)), Fp62.add(t1, t2))
+    });
+  }
+  sqr({ c0, c1 }) {
+    const { Fp6: Fp62 } = this;
+    let ab = Fp62.mul(c0, c1);
+    return Object.freeze({
+      // (c1 * v + c0) * (c0 + c1) - AB - AB * v
+      c0: Fp62.sub(Fp62.sub(Fp62.mul(Fp62.add(Fp62.mulByNonresidue(c1), c0), Fp62.add(c0, c1)), ab), Fp62.mulByNonresidue(ab)),
+      c1: Fp62.add(ab, ab)
+    });
+  }
+  // NonNormalized stuff
+  addN(a, b) {
+    return this.add(a, b);
+  }
+  subN(a, b) {
+    return this.sub(a, b);
+  }
+  mulN(a, b) {
+    return this.mul(a, b);
+  }
+  sqrN(a) {
+    return this.sqr(a);
+  }
+  // Bytes utils
+  fromBytes(b) {
+    const { Fp6: Fp62 } = this;
+    abytes2(b);
+    if (b.length !== this.BYTES)
+      throw new Error("fromBytes invalid length=" + b.length);
+    return this.create({
+      c0: Fp62.fromBytes(b.subarray(0, Fp62.BYTES)),
+      c1: Fp62.fromBytes(b.subarray(Fp62.BYTES))
+    });
+  }
+  toBytes({ c0, c1 }) {
+    const { Fp6: Fp62 } = this;
+    return concatBytes2(Fp62.toBytes(c0), Fp62.toBytes(c1));
+  }
+  cmov({ c0, c1 }, { c0: r0, c1: r1 }, c) {
+    const { Fp6: Fp62 } = this;
+    return this.create({
+      c0: Fp62.cmov(c0, r0, c),
+      c1: Fp62.cmov(c1, r1, c)
+    });
+  }
+  // Utils
+  // toString() {
+  //   return '' + 'Fp12(' + this.c0 + this.c1 + '* w');
+  // },
+  // fromTuple(c: [Fp6, Fp6]) {
+  //   return new Fp12(...c);
+  // }
+  fromBigTwelve(tuple) {
+    const { Fp6: Fp62 } = this;
+    if (!Array.isArray(tuple) || tuple.length !== 12)
+      throw new Error("invalid Fp12.fromBigTwelve");
+    for (let i = 0; i < 12; i++)
+      if (typeof tuple[i] !== "bigint")
+        throw new Error("invalid Fp12.fromBigTwelve");
+    const t2 = tuple;
+    return this.create({
+      c0: Fp62.fromBigSix(t2.slice(0, 6)),
+      c1: Fp62.fromBigSix(t2.slice(6, 12))
+    });
+  }
+  // Raises to q**i -th power
+  frobeniusMap(lhs, power) {
+    const p = power % 12;
+    if (p === 0)
+      return Object.freeze({ c0: lhs.c0, c1: lhs.c1 });
+    if (p === 6)
+      return this.conjugate(lhs);
+    const { Fp6: Fp62 } = this;
+    const { Fp2: Fp22 } = Fp62;
+    const { c0, c1, c2 } = Fp62.frobeniusMap(lhs.c1, power);
+    const coeff = this.FROBENIUS_COEFFICIENTS[p];
+    return Object.freeze({
+      c0: Fp62.frobeniusMap(lhs.c0, power),
+      c1: Object.freeze({
+        c0: Fp22.mul(c0, coeff),
+        c1: Fp22.mul(c1, coeff),
+        c2: Fp22.mul(c2, coeff)
+      })
+    });
+  }
+  mulByFp2({ c0, c1 }, rhs) {
+    const { Fp6: Fp62 } = this;
+    return Object.freeze({
+      c0: Fp62.mulByFp2(c0, rhs),
+      c1: Fp62.mulByFp2(c1, rhs)
+    });
+  }
+  conjugate({ c0, c1 }) {
+    return Object.freeze({ c0, c1: this.Fp6.neg(c1) });
+  }
+  // A cyclotomic group is a subgroup of Fp^n defined by
+  //   GΦₙ(p) = {α ∈ Fpⁿ : α^Φₙ(p) = 1}
+  // The result of any pairing is in a cyclotomic subgroup
+  // https://eprint.iacr.org/2009/565.pdf
+  // https://eprint.iacr.org/2010/354.pdf
+  _cyclotomicSquare({ c0, c1 }) {
+    const { Fp6: Fp62 } = this;
+    const { Fp2: Fp22 } = Fp62;
+    const { c0: c0c0, c1: c0c1, c2: c0c2 } = c0;
+    const { c0: c1c0, c1: c1c1, c2: c1c2 } = c1;
+    const { first: t3, second: t4 } = Fp22.Fp4Square(c0c0, c1c1);
+    const { first: t5, second: t6 } = Fp22.Fp4Square(c1c0, c0c2);
+    const { first: t7, second: t8 } = Fp22.Fp4Square(c0c1, c1c2);
+    const t9 = Fp22.mulByNonresidue(t8);
+    return Object.freeze({
+      c0: Object.freeze({
+        c0: Fp22.add(Fp22.mul(Fp22.sub(t3, c0c0), _2n6), t3),
+        // 2 * (T3 - c0c0)  + T3
+        c1: Fp22.add(Fp22.mul(Fp22.sub(t5, c0c1), _2n6), t5),
+        // 2 * (T5 - c0c1)  + T5
+        c2: Fp22.add(Fp22.mul(Fp22.sub(t7, c0c2), _2n6), t7)
+      }),
+      // 2 * (T7 - c0c2)  + T7
+      c1: Object.freeze({
+        c0: Fp22.add(Fp22.mul(Fp22.add(t9, c1c0), _2n6), t9),
+        // 2 * (T9 + c1c0) + T9
+        c1: Fp22.add(Fp22.mul(Fp22.add(t4, c1c1), _2n6), t4),
+        // 2 * (T4 + c1c1) + T4
+        c2: Fp22.add(Fp22.mul(Fp22.add(t6, c1c2), _2n6), t6)
+      })
+    });
+  }
+  // https://eprint.iacr.org/2009/565.pdf
+  _cyclotomicExp(num, n) {
+    aInRange("cyclotomic exponent", n, _0n8, _1n8 << BigInt(this.X_LEN));
+    if (n === _0n8)
+      return this.ONE;
+    let z = num;
+    for (let i = bitLen(n) - 2; i >= 0; i--) {
+      z = this._cyclotomicSquare(z);
+      if (bitGet(n, i))
+        z = this.mul(z, num);
+    }
+    return z;
+  }
+};
+var _FROBENIUS_COEFFICIENTS_12 = /* @__PURE__ */ new WeakMap();
+function tower12(opts) {
+  validateObject(opts, {
+    ORDER: "bigint",
+    X_LEN: "number",
+    FP2_NONRESIDUE: "object",
+    Fp2mulByB: "function",
+    Fp12finalExponentiate: "function"
+  }, { NONRESIDUE: "bigint" });
+  asafenumber(opts.X_LEN, "X_LEN");
+  if (opts.X_LEN < 1)
+    throw new Error("invalid X_LEN");
+  const nonresidue = opts.FP2_NONRESIDUE;
+  if (!Array.isArray(nonresidue) || nonresidue.length !== 2)
+    throw new Error("invalid FP2_NONRESIDUE");
+  if (typeof nonresidue[0] !== "bigint" || typeof nonresidue[1] !== "bigint")
+    throw new Error("invalid FP2_NONRESIDUE");
+  const Fp3 = Field(opts.ORDER);
+  const Fp22 = new _Field2(Fp3, opts);
+  const Fp62 = new _Field6(Fp22);
+  const Fp122 = new _Field12(Fp62, opts);
+  return { Fp: Fp3, Fp2: Fp22, Fp6: Fp62, Fp12: Fp122 };
+}
+
+// tools/reference-apps/light-service/node_modules/@noble/curves/bls12-381.js
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+var _0n9 = BigInt(0);
+var _1n9 = BigInt(1);
+var _2n7 = BigInt(2);
+var _3n6 = BigInt(3);
+var _4n5 = BigInt(4);
+var BLS_X = BigInt("0xd201000000010000");
+var BLS_X_LEN = bitLen(BLS_X);
+var bls12_381_CURVE_G1 = {
+  p: BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),
+  n: BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),
+  h: BigInt("0x396c8c005555e1568c00aaab0000aaab"),
+  a: _0n9,
+  b: _4n5,
+  Gx: BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),
+  Gy: BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")
+};
+var bls12_381_Fr = Field(bls12_381_CURVE_G1.n, {
+  modFromBytes: true
+});
+function bls12FromCompressed(g0, g12, { g2: g22, g3, g4, g5 }) {
+  return { c0: { c0: g0, c1: g4, c2: g3 }, c1: { c0: g22, c1: g12, c2: g5 } };
+}
+function bls12Compress({ c0, c1 }) {
+  return { g2: c1.c0, g3: c0.c2, g4: c0.c1, g5: c1.c2 };
+}
+function bls12CyclotomicSquareCompressed({ g2: g22, g3, g4, g5 }) {
+  const { first: h23c0, second: h23c1 } = Fp2.Fp4Square(g4, g5);
+  const { first: h45c0, second: h45c1 } = Fp2.Fp4Square(g22, g3);
+  const d2 = Fp2.add(g22, g22);
+  const d3 = Fp2.add(g3, g3);
+  const d4 = Fp2.add(g4, g4);
+  const d5 = Fp2.add(g5, g5);
+  return {
+    g2: Fp2.add(Fp2.mul(Fp2.mulByNonresidue(h23c1), _3n6), d2),
+    g3: Fp2.sub(Fp2.mul(h23c0, _3n6), d3),
+    g4: Fp2.sub(Fp2.mul(h45c0, _3n6), d4),
+    g5: Fp2.add(Fp2.mul(h45c1, _3n6), d5)
+  };
+}
+function bls12RecoverG1Ratio({ g2: g22, g3, g4, g5 }) {
+  if (Fp2.is0(g22))
+    return { num: Fp2.mul(Fp2.mul(g4, g5), _2n7), den: g3 };
+  return {
+    num: Fp2.add(Fp2.sub(Fp2.mul(Fp2.sqr(g4), _3n6), Fp2.mul(g3, _2n7)), Fp2.mulByNonresidue(Fp2.sqr(g5))),
+    den: Fp2.mul(g22, _4n5)
+  };
+}
+function bls12RecoverG0(g12, { g2: g22, g3, g4, g5 }) {
+  const g3g4 = Fp2.mul(g3, g4);
+  const t2 = Fp2.add(Fp2.sub(Fp2.mul(Fp2.sub(Fp2.sqr(g12), g3g4), _2n7), g3g4), Fp2.mul(g22, g5));
+  return Fp2.add(Fp2.mulByNonresidue(t2), Fp2.ONE);
+}
+function bls12CyclotomicExpCompressed(num, squarings) {
+  const gs = [];
+  let g = bls12Compress(num);
+  for (const count of squarings) {
+    for (let i = 0; i < count; i++)
+      g = bls12CyclotomicSquareCompressed(g);
+    gs.push(g);
+  }
+  const isOne = gs.map(({ g2: g22, g3 }) => Fp2.is0(g22) && Fp2.is0(g3));
+  const ratios = gs.map(bls12RecoverG1Ratio);
+  const invDens = Fp2.invertBatch(ratios.map(({ den }) => den));
+  const elems = gs.map((compressed, i) => {
+    if (isOne[i])
+      return Fp12.ONE;
+    const g12 = Fp2.mul(ratios[i].num, invDens[i]);
+    return bls12FromCompressed(bls12RecoverG0(g12, compressed), g12, compressed);
+  });
+  return { result: Fp12.mul(Fp12.mul(elems[0], elems[1]), elems[2]), last: elems[2] };
+}
+function bls12CyclotomicExpX(num) {
+  const { result, last } = bls12CyclotomicExpCompressed(num, [16, 32, 9]);
+  let r2 = result;
+  let s = last;
+  for (let i = 0; i < 3; i++)
+    s = Fp12._cyclotomicSquare(s);
+  r2 = Fp12.mul(r2, s);
+  for (let i = 0; i < 2; i++)
+    s = Fp12._cyclotomicSquare(s);
+  r2 = Fp12.mul(r2, s);
+  s = Fp12._cyclotomicSquare(s);
+  return Fp12.mul(r2, s);
+}
+var { Fp, Fp2, Fp6, Fp12 } = tower12({
+  ORDER: bls12_381_CURVE_G1.p,
+  X_LEN: BLS_X_LEN,
+  // Finite extension field over irreducible polynominal.
+  // Fp(u) / (u² - β) where β = -1
+  // Public `Fp2.NONRESIDUE` below is the sextic-tower value `(1, 1) = u + 1`;
+  // the quadratic non-residue for the base Fp2 construction is still `-1`.
+  FP2_NONRESIDUE: [_1n9, _1n9],
+  Fp2mulByB: ({ c0, c1 }) => {
+    const t0 = Fp.mul(c0, _4n5);
+    const t1 = Fp.mul(c1, _4n5);
+    return { c0: Fp.sub(t0, t1), c1: Fp.add(t0, t1) };
+  },
+  Fp12finalExponentiate: (num) => {
+    const powMinusX = (num2) => Fp12.conjugate(bls12CyclotomicExpX(num2));
+    const t0 = Fp12.div(Fp12.frobeniusMap(num, 6), num);
+    const t1 = Fp12.mul(Fp12.frobeniusMap(t0, 2), t0);
+    const t2 = powMinusX(t1);
+    const t3 = Fp12.mul(Fp12.conjugate(Fp12._cyclotomicSquare(t1)), t2);
+    const t4 = powMinusX(t3);
+    const t5 = powMinusX(t4);
+    const t6 = Fp12.mul(powMinusX(t5), Fp12._cyclotomicSquare(t2));
+    const t7 = powMinusX(t6);
+    const t2_t5_pow_q2 = Fp12.frobeniusMap(Fp12.mul(t2, t5), 2);
+    const t4_t1_pow_q3 = Fp12.frobeniusMap(Fp12.mul(t4, t1), 3);
+    const t6_t1c_pow_q1 = Fp12.frobeniusMap(Fp12.mul(t6, Fp12.conjugate(t1)), 1);
+    const t7_t3c_t1 = Fp12.mul(Fp12.mul(t7, Fp12.conjugate(t3)), t1);
+    return Fp12.mul(Fp12.mul(Fp12.mul(t2_t5_pow_q2, t4_t1_pow_q3), t6_t1c_pow_q1), t7_t3c_t1);
+  }
+});
+var frob;
+var getFrob = () => frob || (frob = psiFrobenius(Fp, Fp2, Fp2.div(Fp2.ONE, Fp2.NONRESIDUE)));
+var G2psi = (c, P) => {
+  const fn = getFrob().G2psi;
+  G2psi = fn;
+  return fn(c, P);
+};
+var G2psi2 = (c, P) => {
+  const fn = getFrob().G2psi2;
+  G2psi2 = fn;
+  return fn(c, P);
+};
+var hasher_opts = Object.freeze({
+  DST: "BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",
+  encodeDST: "BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",
+  p: Fp.ORDER,
+  m: 2,
+  k: 128,
+  expand: "xmd",
+  hash: sha256
+});
+var bls12_381_CURVE_G2 = {
+  p: Fp2.ORDER,
+  n: bls12_381_CURVE_G1.n,
+  h: BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),
+  a: Fp2.ZERO,
+  b: Fp2.fromBigTuple([_4n5, _4n5]),
+  Gx: Fp2.fromBigTuple([
+    BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),
+    BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")
+  ]),
+  Gy: Fp2.fromBigTuple([
+    BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),
+    BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")
+  ])
+};
+var sortBit = (parts, p) => {
+  for (const part of parts) {
+    if (part !== _0n9)
+      return Boolean(part * _2n7 / p);
+  }
+  return false;
+};
+var fp2 = {
+  // Generic tower bytes use `c0 || c1`, but the BLS12-381 G2 point/signature wire encoding uses
+  // `c1 || c0`, so keep this local wrapper instead of changing generic field serialization.
+  encode({ c0, c1 }) {
+    const { BYTES: L } = Fp;
+    return concatBytes2(numberToBytesBE(c1, L), numberToBytesBE(c0, L));
+  },
+  decode(bytes) {
+    const { BYTES: L } = Fp;
+    return Fp2.create({
+      c0: decodeFp(bytes.subarray(L)),
+      c1: decodeFp(bytes.subarray(0, L))
+    });
+  }
+};
+var BaseFp = Fp;
+function decodeFp(bytes) {
+  return Fp.fromBytes(bytes);
+}
+var coder = (name, Fp3, b, encode, decode, yparts) => {
+  const F = Fp3;
+  const enc = encode;
+  const dec = decode;
+  const W = F.BYTES;
+  return (allowUncompressed) => ({
+    encode(point, compressed = true) {
+      if (!compressed && !allowUncompressed)
+        throw new Error("invalid signature: expected compressed encoding");
+      const infinity = point.is0();
+      const { x, y } = point.toAffine();
+      const bytes = compressed ? enc(x) : concatBytes2(enc(x), enc(y));
+      let sort;
+      if (compressed && !infinity)
+        sort = sortBit(yparts(y), BaseFp.ORDER);
+      return setMask(bytes, { compressed, infinity, sort });
+    },
+    decode(bytes) {
+      const raw = allowUncompressed ? abytes2(bytes, void 0, "point") : abytes2(bytes, W, "signature");
+      const { compressed, infinity, sort, value } = parseMask(raw);
+      if (!allowUncompressed && !compressed)
+        throw new Error("invalid signature: expected compressed encoding");
+      const len = compressed ? W : 2 * W;
+      if (value.length !== len)
+        throw new Error(`invalid ${name} point: expected ${len} bytes`);
+      if (infinity) {
+        for (const b2 of value) {
+          if (b2)
+            throw new Error(`invalid ${name} point: non-canonical zero`);
+        }
+        return { x: F.ZERO, y: F.ZERO };
+      }
+      const x = dec(compressed ? value : value.subarray(0, W));
+      let y;
+      if (compressed) {
+        y = F.sqrt(F.add(F.pow(x, _3n6), b));
+        if (!y)
+          throw new Error(`invalid ${name} point: compressed`);
+        if (sortBit(yparts(y), BaseFp.ORDER) !== sort)
+          y = F.neg(y);
+      } else {
+        y = dec(value.subarray(W));
+      }
+      if (!compressed && F.is0(x) && F.is0(y))
+        throw new Error(`invalid ${name} point: uncompressed`);
+      return { x, y };
+    }
+  });
+};
+function validateMask({ compressed, infinity, sort }) {
+  if (!compressed && !infinity && sort || // 0010_0000 = 0x20
+  !compressed && infinity && sort || // 0110_0000 = 0x60
+  compressed && infinity && sort)
+    throw new Error("invalid encoding flag");
+}
+function parseMask(bytes) {
+  bytes = copyBytes2(bytes);
+  const mask = bytes[0] & 224;
+  const compressed = !!(mask >> 7 & 1);
+  const infinity = !!(mask >> 6 & 1);
+  const sort = !!(mask >> 5 & 1);
+  validateMask({ compressed, infinity, sort });
+  bytes[0] &= 31;
+  return { compressed, infinity, sort, value: bytes };
+}
+function setMask(bytes, mask) {
+  if (bytes[0] & 224)
+    throw new Error("setMask: non-empty mask");
+  validateMask({ compressed: !!mask.compressed, infinity: !!mask.infinity, sort: !!mask.sort });
+  if (mask.compressed)
+    bytes[0] |= 128;
+  if (mask.infinity)
+    bytes[0] |= 64;
+  if (mask.sort)
+    bytes[0] |= 32;
+  return bytes;
+}
+var g1coder = coder("G1", Fp, Fp.create(bls12_381_CURVE_G1.b), (x) => numberToBytesBE(x, Fp.BYTES), decodeFp, (y) => [y]);
+var g1 = { point: g1coder(true), sig: g1coder(false) };
+var signatureG1ToBytes = (point) => {
+  point.assertValidity();
+  return g1.sig.encode(point);
+};
+function signatureG1FromBytes(bytes) {
+  const Point = bls12_381.G1.Point;
+  const point = Point.fromAffine(g1.sig.decode(bytes));
+  point.assertValidity();
+  return point;
+}
+var g2coder = coder("G2", Fp2, bls12_381_CURVE_G2.b, fp2.encode, fp2.decode, (y) => [
+  y.c1,
+  y.c0
+]);
+var g2 = { point: g2coder(true), sig: g2coder(false) };
+var signatureG2ToBytes = (point) => {
+  point.assertValidity();
+  return g2.sig.encode(point);
+};
+function signatureG2FromBytes(bytes) {
+  const Point = bls12_381.G2.Point;
+  const point = Point.fromAffine(g2.sig.decode(bytes));
+  point.assertValidity();
+  return point;
+}
+var signatureCoders = {
+  ShortSignature: {
+    fromBytes(bytes) {
+      return signatureG1FromBytes(abytes2(bytes));
+    },
+    fromHex(hex) {
+      return signatureG1FromBytes(hexToBytes2(hex));
+    },
+    toBytes(point) {
+      return signatureG1ToBytes(point);
+    },
+    // Historical alias: BLS signatures have a single compressed byte format here.
+    toRawBytes(point) {
+      return signatureG1ToBytes(point);
+    },
+    toHex(point) {
+      return bytesToHex2(signatureG1ToBytes(point));
+    }
+  },
+  LongSignature: {
+    fromBytes(bytes) {
+      return signatureG2FromBytes(abytes2(bytes));
+    },
+    fromHex(hex) {
+      return signatureG2FromBytes(hexToBytes2(hex));
+    },
+    toBytes(point) {
+      return signatureG2ToBytes(point);
+    },
+    // Historical alias: BLS signatures have a single compressed byte format here.
+    toRawBytes(point) {
+      return signatureG2ToBytes(point);
+    },
+    toHex(point) {
+      return bytesToHex2(signatureG2ToBytes(point));
+    }
+  }
+};
+var fields = {
+  Fp,
+  Fp2,
+  Fp6,
+  Fp12,
+  Fr: bls12_381_Fr
+};
+var G1_Point = weierstrass(bls12_381_CURVE_G1, {
+  // Public point APIs still accept infinity, even though the Zcash proof
+  // encoding rules cited above only define nonzero point encodings.
+  allowInfinityPoint: true,
+  Fn: bls12_381_Fr,
+  fromBytes: g1.point.decode,
+  toBytes: (_c, point, isComp) => g1.point.encode(point, isComp),
+  // Checks is the point resides in prime-order subgroup.
+  // point.isTorsionFree() should return true for valid points
+  // It returns false for shitty points.
+  // https://eprint.iacr.org/2021/1130.pdf
+  isTorsionFree: (c, point) => {
+    const beta = BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe");
+    const phi = new c(Fp.mul(point.X, beta), point.Y, point.Z);
+    const xP = point.multiplyUnsafe(BLS_X).negate();
+    const u2P = xP.multiplyUnsafe(BLS_X);
+    return u2P.equals(phi);
+  },
+  // Clear cofactor of G1
+  // https://eprint.iacr.org/2019/403
+  clearCofactor: (_c, point) => {
+    return point.multiplyUnsafe(BLS_X).add(point);
+  }
+});
+var G2_Point = weierstrass(bls12_381_CURVE_G2, {
+  Fp: Fp2,
+  // Public point APIs still accept infinity, even though the Zcash proof
+  // encoding rules cited above only define nonzero point encodings.
+  allowInfinityPoint: true,
+  Fn: bls12_381_Fr,
+  fromBytes: g2.point.decode,
+  toBytes: (_c, point, isComp) => g2.point.encode(point, isComp),
+  // https://eprint.iacr.org/2021/1130.pdf
+  // Older version: https://eprint.iacr.org/2019/814.pdf
+  isTorsionFree: (c, P) => {
+    return P.multiplyUnsafe(BLS_X).negate().equals(G2psi(c, P));
+  },
+  // clear_cofactor_bls12381_g2 from RFC 9380.
+  // https://eprint.iacr.org/2017/419.pdf
+  // prettier-ignore
+  clearCofactor: (c, P) => {
+    const x = BLS_X;
+    let t1 = P.multiplyUnsafe(x).negate();
+    let t2 = G2psi(c, P);
+    let t3 = P.double();
+    t3 = G2psi2(c, t3);
+    t3 = t3.subtract(t2);
+    t2 = t1.add(t2);
+    t2 = t2.multiplyUnsafe(x).negate();
+    t3 = t3.add(t2);
+    t3 = t3.subtract(t1);
+    const Q = t3.subtract(P);
+    return Q;
+  }
+});
+var bls12_hasher_opts = {
+  mapToG1,
+  mapToG2,
+  hasherOpts: hasher_opts,
+  // RFC 9380 Appendix J defines distinct G1/G2 RO and NU suite IDs, and
+  // draft-irtf-cfrg-bls-signature-06 §4.2.1 gives separate G1/G2 `_NUL_` DSTs.
+  // Keep G1 encode-to-curve on the G1 domain instead of inheriting G2's `encodeDST`.
+  hasherOptsG1: {
+    ...hasher_opts,
+    m: 1,
+    DST: "BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_",
+    encodeDST: "BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"
+  },
+  hasherOptsG2: { ...hasher_opts }
+};
+var bls12_params = {
+  ateLoopSize: BLS_X,
+  // The BLS parameter x for BLS12-381
+  xNegative: true,
+  twistType: "multiplicative",
+  randomBytes: randomBytes2
+};
+var bls12_381 = bls(fields, G1_Point, G2_Point, bls12_params, bls12_hasher_opts, signatureCoders);
+var isogenyMapG2 = isogenyMap(Fp2, [
+  // xNum
+  [
+    [
+      "0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6",
+      "0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"
+    ],
+    [
+      "0x0",
+      "0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"
+    ],
+    [
+      "0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e",
+      "0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"
+    ],
+    [
+      "0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1",
+      "0x0"
+    ]
+  ],
+  // xDen
+  [
+    [
+      "0x0",
+      "0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"
+    ],
+    [
+      "0xc",
+      "0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"
+    ],
+    ["0x1", "0x0"]
+    // LAST 1
+  ],
+  // yNum
+  [
+    [
+      "0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706",
+      "0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"
+    ],
+    [
+      "0x0",
+      "0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"
+    ],
+    [
+      "0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c",
+      "0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"
+    ],
+    [
+      "0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10",
+      "0x0"
+    ]
+  ],
+  // yDen
+  [
+    [
+      "0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb",
+      "0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"
+    ],
+    [
+      "0x0",
+      "0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"
+    ],
+    [
+      "0x12",
+      "0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"
+    ],
+    ["0x1", "0x0"]
+    // LAST 1
+  ]
+].map((i) => i.map((pair) => Fp2.fromBigTuple(pair.map(BigInt)))));
+var isogenyMapG1 = isogenyMap(Fp, [
+  // xNum
+  [
+    "0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7",
+    "0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb",
+    "0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0",
+    "0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861",
+    "0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9",
+    "0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983",
+    "0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84",
+    "0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e",
+    "0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317",
+    "0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e",
+    "0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b",
+    "0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"
+  ],
+  // xDen
+  [
+    "0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c",
+    "0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff",
+    "0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19",
+    "0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8",
+    "0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e",
+    "0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5",
+    "0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a",
+    "0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e",
+    "0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641",
+    "0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a",
+    "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
+    // LAST 1
+  ],
+  // yNum
+  [
+    "0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33",
+    "0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696",
+    "0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6",
+    "0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb",
+    "0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb",
+    "0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0",
+    "0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2",
+    "0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29",
+    "0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587",
+    "0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30",
+    "0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132",
+    "0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e",
+    "0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8",
+    "0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133",
+    "0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b",
+    "0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"
+  ],
+  // yDen
+  [
+    "0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1",
+    "0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d",
+    "0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2",
+    "0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416",
+    "0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d",
+    "0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac",
+    "0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c",
+    "0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9",
+    "0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a",
+    "0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55",
+    "0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8",
+    "0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092",
+    "0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc",
+    "0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7",
+    "0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f",
+    "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
+    // LAST 1
+  ]
+].map((i) => i.map((j) => BigInt(j))));
+var G1_SWU;
+var G2_SWU;
+var getG1_SWU = () => G1_SWU || (G1_SWU = mapToCurveSimpleSWU(Fp, {
+  A: Fp.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),
+  B: Fp.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),
+  Z: Fp.create(BigInt(11))
+}));
+var getG2_SWU = () => G2_SWU || (G2_SWU = mapToCurveSimpleSWU(Fp2, {
+  // SWU map for the RFC 9380 §8.8.2 pre-isogeny G2 curve E':
+  // y² = x³ + 240i * x + 1012 + 1012i
+  A: Fp2.create({ c0: Fp.create(_0n9), c1: Fp.create(BigInt(240)) }),
+  // A' = 240 * I
+  B: Fp2.create({ c0: Fp.create(BigInt(1012)), c1: Fp.create(BigInt(1012)) }),
+  // B' = 1012 * (1 + I)
+  Z: Fp2.create({ c0: Fp.create(BigInt(-2)), c1: Fp.create(BigInt(-1)) })
+  // Z: -(2 + I)
+}));
+function mapToG1(scalars) {
+  const { x, y } = getG1_SWU()(Fp.create(scalars[0]));
+  return isogenyMapG1(x, y);
+}
+function mapToG2(scalars) {
+  const { x, y } = getG2_SWU()(Fp2.fromBigTuple(scalars));
+  return isogenyMapG2(x, y);
+}
+
+// site/verify/core.js
+var DST_VOTE = "IGNEUM_VOTE_V1_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_";
+var KEY_HASH_DOMAIN = "IgneumVoteKeyHash";
+var BLOCK_HASH_DOMAIN = "BlockHash";
+var te = new TextEncoder();
+function hexToBytes3(h) {
+  if (typeof h !== "string" || h.length % 2 || /[^0-9a-f]/i.test(h)) throw new Error("bad hex");
+  const out = new Uint8Array(h.length / 2);
+  for (let i = 0; i < out.length; i++) out[i] = parseInt(h.slice(2 * i, 2 * i + 2), 16);
+  return out;
+}
+function bytesToHex3(b) {
+  let s = "";
+  for (const x of b) s += x.toString(16).padStart(2, "0");
+  return s;
+}
+var u16 = (v) => {
+  const b = new Uint8Array(2);
+  new DataView(b.buffer).setUint16(0, Number(v), true);
+  return b;
+};
+var u322 = (v) => {
+  const b = new Uint8Array(4);
+  new DataView(b.buffer).setUint32(0, Number(v), true);
+  return b;
+};
+var u64 = (v) => {
+  const b = new Uint8Array(8);
+  new DataView(b.buffer).setBigUint64(0, BigInt(v), true);
+  return b;
+};
+function concat(parts) {
+  const n = parts.reduce((a, p) => a + p.length, 0);
+  const m = new Uint8Array(n);
+  let o = 0;
+  for (const p of parts) {
+    m.set(p, o);
+    o += p.length;
+  }
+  return m;
+}
+function headerHash(h, blake2b2) {
+  const levels = h.parents_by_level || [];
+  const parts = [u16(h.version), u64(levels.length)];
+  for (const level of levels) {
+    parts.push(u64(level.length));
+    for (const p of level) parts.push(hexToBytes3(p));
+  }
+  parts.push(
+    hexToBytes3(h.hash_merkle_root),
+    hexToBytes3(h.accepted_id_merkle_root),
+    hexToBytes3(h.utxo_commitment),
+    u64(h.timestamp),
+    u322(h.bits),
+    u64(h.nonce),
+    u64(h.daa_score),
+    u64(h.blue_score)
+  );
+  const bw = String(h.blue_work).replace(/^0+/, "");
+  const bwBytes = bw.length ? hexToBytes3(bw.length % 2 ? "0" + bw : bw) : new Uint8Array(0);
+  parts.push(u64(bwBytes.length), bwBytes, hexToBytes3(h.pruning_point), hexToBytes3(h.vote_key_hash));
+  return bytesToHex3(blake2b2(concat(parts), { dkLen: 32, key: te.encode(BLOCK_HASH_DOMAIN) }));
+}
+function voteKeyHash(pubkey, blake2b2) {
+  return bytesToHex3(blake2b2(pubkey, { dkLen: 32, key: te.encode(KEY_HASH_DOMAIN) }));
+}
+function voteMessage(chainId, index, checkpointHex) {
+  const head = te.encode("igneum-vote-v1/" + chainId);
+  return concat([head, new Uint8Array([0]), u64(index), hexToBytes3(checkpointHex)]);
+}
+function signerPositions(bitmapHex, voterCount) {
+  const bm = hexToBytes3(bitmapHex);
+  const out = [];
+  for (let p = 0; p < voterCount; p++) if (bm[p >> 3] & 1 << (p & 7)) out.push(p);
+  return out;
+}
+var fail = (reason, extra = {}) => ({ verified: false, reason, ...extra });
+function verifyCheckpoint(data, deps2) {
+  const t0 = (typeof performance !== "undefined" ? performance : Date).now();
+  const done = (r2) => ({ ...r2, ms: Math.round(((typeof performance !== "undefined" ? performance : Date).now() - t0) * 10) / 10 });
+  const { blake2b: blake2b2, bls: bls2 } = deps2;
+  try {
+    if (!data || !data.ok) return done(fail(data && data.error ? data.error : "no checkpoint data"));
+    const cert = data.certificate || {};
+    const index = Number(data.index);
+    const voters = data.voters || [];
+    const headers = data.headers || [];
+    if (!headers.length) return done(fail("no headers"));
+    let checked = 0;
+    for (let i = 0; i < headers.length; i++) {
+      const h = headers[i];
+      const got = headerHash(h, blake2b2);
+      if (got !== h.hash) return done(fail(`header ${i} hash does not recompute (${got.slice(0, 12)} vs ${String(h.hash).slice(0, 12)})`, { headers_checked: checked }));
+      if (i > 0) {
+        const direct = h.parents_by_level && h.parents_by_level[0] || [];
+        if (!direct.includes(headers[i - 1].hash)) return done(fail(`header ${i} does not name header ${i - 1} as a parent`, { headers_checked: checked }));
+      }
+      checked++;
+    }
+    const top = headers[headers.length - 1];
+    if (top.hash !== data.hash) return done(fail("the last header is not the certified checkpoint block", { headers_checked: checked }));
+    if (data.previous && headers[0].hash !== data.previous.hash) return done(fail("the first header is not the previous locked checkpoint", { headers_checked: checked }));
+    if (BigInt(top.blue_score) < 30n * BigInt(index)) return done(fail(`checkpoint ${index} needs blue score at least ${30 * index}, header has ${top.blue_score}`, { headers_checked: checked }));
+    if (voters.length !== Number(cert.voter_count)) return done(fail(`certificate names ${cert.voter_count} voters, ${voters.length} given`, { headers_checked: checked }));
+    for (let i = 0; i < voters.length; i++) {
+      const v = voters[i];
+      const pk = hexToBytes3(v.pubkey_hex);
+      if (pk.length !== 48) return done(fail(`voter ${i} key is not 48 bytes`, { headers_checked: checked }));
+      const derived = voteKeyHash(pk, blake2b2);
+      if (v.vote_key_hash && derived !== v.vote_key_hash) return done(fail(`voter ${i} key does not hash to its vote_key_hash`, { headers_checked: checked }));
+      v.vote_key_hash = derived;
+      if (i > 0 && !(voters[i - 1].vote_key_hash < v.vote_key_hash)) return done(fail("voter list is not in canonical order", { headers_checked: checked }));
+      if (!(Number(v.weight) >= 0) || !(Number(v.participation) >= 0 && Number(v.participation) <= 1)) return done(fail(`voter ${i} has a bad weight or participation`, { headers_checked: checked }));
+    }
+    const positions = signerPositions(cert.bitmap_hex, voters.length);
+    if (!positions.length) return done(fail("certificate has no signers", { headers_checked: checked }));
+    const L = bls2.longSignatures;
+    let aggPk, hm, sigOk;
+    try {
+      aggPk = L.aggregatePublicKeys(positions.map((p) => hexToBytes3(voters[p].pubkey_hex)));
+      hm = L.hash(voteMessage(data.chain_id, index, data.hash), DST_VOTE);
+      sigOk = L.verify(hexToBytes3(cert.aggregate_signature_hex), hm, aggPk);
+    } catch (e) {
+      return done(fail(`signature check failed: ${String(e.message || e).slice(0, 80)}`, { headers_checked: checked, signers: positions.length }));
+    }
+    if (!sigOk) return done(fail("aggregate signature does not verify", { headers_checked: checked, signers: positions.length }));
+    let signed = 0n, total = 0n, active = 0;
+    for (let i = 0; i < voters.length; i++) {
+      const w = BigInt(Math.round(Number(voters[i].weight)));
+      total += w;
+      active += Number(w) * Number(voters[i].participation);
+    }
+    for (const p of positions) signed += BigInt(Math.round(Number(voters[p].weight)));
+    if (total === 0n) return done(fail("total weight is zero", { headers_checked: checked, signers: positions.length }));
+    const fracActive = active > 0 ? Number(signed) / active : 0;
+    const fracTotal = Number(signed) / Number(total);
+    const quorum = 3 * Number(signed) >= 2 * active;
+    const floor = 30n * signed >= 17n * total;
+    const result = {
+      index,
+      hash: data.hash,
+      source: data.source,
+      network: data.chain_id,
+      signers: positions.length,
+      voters: voters.length,
+      signed_weight: Number(signed),
+      active_weight: active,
+      total_weight: Number(total),
+      weight_fraction_active: Math.round(fracActive * 1e4) / 1e4,
+      weight_fraction_total: Math.round(fracTotal * 1e4) / 1e4,
+      headers_checked: checked,
+      weights_at_index: data.voters_at_index,
+      weights_exact: Number(data.voters_at_index) === index
+    };
+    if (!quorum) return done({ ...fail(`signed weight is ${(fracActive * 100).toFixed(1)}% of active, below 2/3`), ...result });
+    if (!floor) return done({ ...fail(`signed weight is ${(fracTotal * 100).toFixed(1)}% of total, below 56.7%`), ...result });
+    return done({ verified: true, ...result });
+  } catch (e) {
+    return done(fail(`error: ${String(e.message || e).slice(0, 100)}`));
+  }
+}
+
+// site/lc/core.js
+var SEGMENT_RECORD_LEN = 2 + 8 + 8 + 32 + 48 + 20 + 340 + 32 + 96;
+var ZERO32 = new Uint8Array(32);
+var te2 = new TextEncoder();
+var strip = (s) => String(s).replace(/^0x/i, "");
+function concat2(parts) {
+  const n = parts.reduce((a, p) => a + p.length, 0);
+  const m = new Uint8Array(n);
+  let o = 0;
+  for (const p of parts) {
+    m.set(p, o);
+    o += p.length;
+  }
+  return m;
+}
+var bigOf = (b) => {
+  let v = 0n;
+  for (const x of b) v = v << 8n | BigInt(x);
+  return v;
+};
+var keyed = (blake2b2, key) => (data) => blake2b2(data, { dkLen: 32, key: te2.encode(key) });
+function merkleRootFromPath(leaf, index, siblings, blake2b2) {
+  const H = keyed(blake2b2, "MerkleBranchHash");
+  let h = leaf, i = index;
+  for (const s of siblings) {
+    h = i % 2 === 0 ? H(concat2([h, s])) : H(concat2([s, h]));
+    i = i >> 1;
+  }
+  return h;
+}
+function rlpDecode(b) {
+  const [item, rest] = rlpItem(b, 0);
+  if (rest !== b.length) throw new Error("rlp: trailing bytes");
+  return item;
+}
+function rlpItem(b, o) {
+  if (o >= b.length) throw new Error("rlp: short");
+  const x = b[o];
+  if (x < 128) return [b.subarray(o, o + 1), o + 1];
+  if (x < 184) {
+    const n2 = x - 128;
+    return [b.subarray(o + 1, o + 1 + n2), o + 1 + n2];
+  }
+  if (x < 192) {
+    const ll = x - 183;
+    const n2 = Number(bigOf(b.subarray(o + 1, o + 1 + ll)));
+    return [b.subarray(o + 1 + ll, o + 1 + ll + n2), o + 1 + ll + n2];
+  }
+  let n, start;
+  if (x < 248) {
+    n = x - 192;
+    start = o + 1;
+  } else {
+    const ll = x - 247;
+    n = Number(bigOf(b.subarray(o + 1, o + 1 + ll)));
+    start = o + 1 + ll;
+  }
+  const end = start + n;
+  if (end > b.length) throw new Error("rlp: list overruns");
+  const items = [];
+  let p = start;
+  while (p < end) {
+    const [it, q] = rlpItem(b, p);
+    items.push(it);
+    p = q;
+  }
+  return [items, end];
+}
+function verifyHeaderPath(headers, blake2b2, fromHash, toHash) {
+  if (!headers.length) throw new Error("no headers");
+  for (let i = 0; i < headers.length; i++) {
+    const h = headers[i];
+    const got = headerHash(h, blake2b2);
+    if (got !== strip(h.hash)) throw new Error(`header ${i} (${strip(h.hash).slice(0, 12)}) does not recompute: ${got.slice(0, 12)}`);
+    if (i > 0) {
+      const direct = h.parents_by_level && h.parents_by_level[0] || [];
+      if (!direct.includes(strip(headers[i - 1].hash))) throw new Error(`header ${i} does not name header ${i - 1} as a direct parent`);
+    }
+  }
+  if (fromHash && strip(headers[0].hash) !== strip(fromHash)) throw new Error("the first header is not the block the proof starts from");
+  if (toHash && strip(headers[headers.length - 1].hash) !== strip(toHash)) throw new Error("the last header is not the certified checkpoint");
+  return headers.length;
+}
+function verifyReceipt(receipt2, deps2) {
+  const { blake2b: blake2b2, bls: bls2, keccak } = deps2;
+  const steps = [];
+  const t0 = now();
+  const step = (name, fn) => {
+    try {
+      const d = fn();
+      steps.push({ name, ok: true, detail: d });
+      return d;
+    } catch (e) {
+      steps.push({ name, ok: false, detail: String(e.message || e) });
+      throw e;
+    }
+  };
+  const done = (extra) => ({ ...extra, steps, ms: Math.round((now() - t0) * 10) / 10 });
+  try {
+    const cp = receipt2.checkpoint.certificate;
+    const cert = step("certificate: BLS aggregate over the checkpoint, 2/3 of active and 17/30 of total weight", () => {
+      const r2 = verifyCheckpoint(cp, { blake2b: blake2b2, bls: bls2 });
+      if (!r2.verified) throw new Error(r2.reason);
+      if (strip(cp.hash) !== strip(receipt2.checkpoint.hash) || receipt2.chain_id !== cp.chain_id) throw new Error("the receipt names another checkpoint or chain than its certificate");
+      return `checkpoint ${r2.index} on ${cp.chain_id}, ${r2.signers} of ${r2.voters} voters, ${(r2.weight_fraction_total * 100).toFixed(1)}% of total weight`;
+    });
+    const tx = step("the transaction hash is keccak256 of the raw signed transaction", () => {
+      const raw = hexToBytes3(strip(receipt2.raw_tx_hex));
+      const h = bytesToHex3(keccak(raw));
+      if (h !== strip(receipt2.tx_hash)) throw new Error(`the raw bytes hash to ${h.slice(0, 12)}, not ${strip(receipt2.tx_hash).slice(0, 12)}`);
+      return parseTx(raw);
+    });
+    const n = step("header chain from the including block up to the checkpoint (every hash recomputed, every parent link checked)", () => verifyHeaderPath(receipt2.headers, blake2b2, receipt2.including_block.header.hash, cp.hash));
+    step("the transaction is a leaf of the including block's hash_merkle_root", () => {
+      const ib = receipt2.including_block;
+      const sibs = ib.merkle_siblings.map((s) => hexToBytes3(strip(s)));
+      const root = merkleRootFromPath(hexToBytes3(strip(receipt2.tx_hash)), Number(ib.leaf_index), sibs, blake2b2);
+      if (bytesToHex3(root) !== strip(receipt2.headers[0].hash_merkle_root)) throw new Error("the merkle path does not reach the including block's hash_merkle_root");
+      return `leaf ${ib.leaf_index} of ${ib.leaf_count}`;
+    });
+    return done({ verified: true, tx, headers: n, checkpoint: Number(cp.index), certificate: cert, block: strip(receipt2.headers[0].hash), block_daa: receipt2.headers[0].daa_score, block_time: receipt2.headers[0].timestamp });
+  } catch (e) {
+    return done({ verified: false, reason: String(e.message || e) });
+  }
+}
+function parseTx(raw) {
+  const type = raw[0] <= 127 ? raw[0] : 0;
+  const body = rlpDecode(type ? raw.subarray(1) : raw);
+  const hex = (b) => "0x" + bytesToHex3(b);
+  if (type === 2) return { type, chain_id: bigOf(body[0]).toString(), nonce: bigOf(body[1]).toString(), to: body[5].length ? hex(body[5]) : null, value: bigOf(body[6]).toString(), data: hex(body[7]), gas: bigOf(body[4]).toString() };
+  if (type === 1) return { type, chain_id: bigOf(body[0]).toString(), nonce: bigOf(body[1]).toString(), to: body[4].length ? hex(body[4]) : null, value: bigOf(body[5]).toString(), data: hex(body[6]), gas: bigOf(body[3]).toString() };
+  return { type: 0, nonce: bigOf(body[0]).toString(), to: body[3].length ? hex(body[3]) : null, value: bigOf(body[4]).toString(), data: hex(body[5]), gas: bigOf(body[2]).toString() };
+}
+function formatIgn(wei, decimals = 18) {
+  const v = BigInt(wei);
+  const base = 10n ** BigInt(decimals);
+  const whole = v / base;
+  let frac = (v % base).toString().padStart(decimals, "0").replace(/0+$/, "");
+  if (frac.length > 6) frac = frac.slice(0, 6);
+  return whole.toString() + (frac ? "." + frac : "");
+}
+var now = () => (typeof performance !== "undefined" ? performance : Date).now();
+
+// tools/reference-apps/receipt/verify-receipt.src.mjs
+var args = process.argv.slice(2);
+var file = args.find((a) => !a.startsWith("--"));
+if (!file) {
+  console.error("usage: node verify-receipt.js receipt.json [--tamper]   (Igneum receipt, format igneum-receipt-v1; verifies offline)");
+  process.exit(2);
+}
+var receipt = JSON.parse((0, import_node_fs.readFileSync)(file, "utf8"));
+if (receipt.format !== "igneum-receipt-v1") {
+  console.error(`REFUSED: not an igneum-receipt-v1 file (format ${receipt.format})`);
+  process.exit(1);
+}
+var deps = { blake2b, bls: bls12_381, keccak: keccak_256 };
+var print = (r2) => {
+  for (const s of r2.steps) console.log(`  ${s.ok ? "ok     " : "REFUSED"} ${s.name}
+          ${s.detail}`);
+};
+if (args.includes("--tamper")) {
+  const bad = JSON.parse(JSON.stringify(receipt));
+  const h = bad.raw_tx_hex;
+  const i = 40;
+  bad.raw_tx_hex = h.slice(0, i) + (parseInt(h[i], 16) ^ 1).toString(16) + h.slice(i + 1);
+  const t2 = verifyReceipt(bad, deps);
+  console.log(`tampered copy (one nibble of the raw transaction): ${t2.verified ? "NOT REFUSED, this verifier is broken" : "REFUSED"}${t2.reason ? " :: " + t2.reason : ""}`);
+  if (t2.verified) process.exit(1);
+}
+var r = verifyReceipt(receipt, deps);
+console.log(`receipt 0x${receipt.tx_hash} on ${receipt.chain_id} (Devnet 3, no value)`);
+print(r);
+if (!r.verified) {
+  console.log(`REFUSED: ${r.reason}`);
+  process.exit(1);
+}
+var t = r.tx;
+console.log(`VERIFIED in ${r.ms} ms: ${formatIgn(t.value)} IGN to ${t.to || "contract creation"} (${t.value} wei), in block ${r.block.slice(0, 16)} at DAA ${r.block_daa} (${new Date(Number(r.block_time)).toISOString()}), final under checkpoint ${r.checkpoint}; ${r.headers} headers checked; ${r.certificate}.`);
+console.log("As reported by the node, not proven by this file: from " + (receipt.tx_as_reported && receipt.tx_as_reported.from) + (receipt.execution ? `, execution status ${receipt.execution.status === "0x1" ? "success" : "failed"}` : "") + ". The voter table with weights came from the node (spec 10.1).");
diff --git a/site/ledger.html b/site/ledger.html
index 27fabb745..c28074fb4 100644
--- a/site/ledger.html
+++ b/site/ledger.html
@@ -118,6 +118,9 @@ blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--line-2);c
           The journeySix phases, four gates, the log behind them.
           Engineering logEvery measurement, with the commands that made it.
           EvidenceEvery claim and how far it is tested.
+          Light walletA balance your browser proves, trusting no node.
+          Payment receiptA receipt any third party re-verifies offline.
+          State oracle on SepoliaDevnet 3 balances read from another chain.
         
Learn
LitepaperThe design, as published. diff --git a/site/light.html b/site/light.html new file mode 100644 index 000000000..0a61a212e --- /dev/null +++ b/site/light.html @@ -0,0 +1,364 @@ + + + + + +Igneum light wallet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
Reference app 1 · Devnet 3, no value
+

A balance your browser proves.

+
+

Paste a Devnet 3 address. This tab fetches the latest finality certificate, the header chain, the carrier block's coinbase, the segment record and an account proof from a read service, then checks every byte itself: BLS over the checkpoint, every header hash and parent link, the merkle path, the aggregator's signature, the Merkle Patricia proof under the proven state root. The service cannot lie about the balance. It can only refuse to answer.

+ +
+

Why this only works on a proven chain. The balance rests on a state root that an aggregator signed inside a block, after proving the segment's execution, and that every node checks against its own execution before paying the record. On a chain without proofs a light client has only a node's word for a balance.

+

Source: site/lc/core.js (the checks), site/lc/app.js (this page), tools/reference-apps/light-service/serve.mjs (the read service), fork branch light-apps-node (eth_getProof on the node). Test with the negative cases: /lc/test in the browser, tools/reference-apps/light-service/verify.test.mjs under Node.

+
+ +
+

Verify a balance

+
+ +
+
Devnet 3, no value. Nothing here is a wallet that sends. It reads and proves.
+
+
+
+ +

What is checked, in order

+
    +
  1. The certificate: the aggregate BLS signature of the signers over igneum-vote-v1/igneum-devnet-3 || index || checkpoint hash, the canonical voter order, the rule (two thirds of active weight, 17/30 of total), and the header chain from the previous lock.
  2. +
  3. The header path from the carrier block up to the certified checkpoint: every header hash recomputes (BLAKE2b-256 keyed BlockHash over the header fields), every next header names the previous as a direct parent.
  4. +
  5. The coinbase transaction is in the carrier block: its hash recomputes (BLAKE2b-256 keyed TransactionHash over the serialized transaction) and the merkle path reaches the header's hash_merkle_root.
  6. +
  7. The segment record in the coinbase extra data: the aggregator's BLS signature over the record under the network's tag, whether the key is a voter with weight or a prove-only key, and the statement names the chain and the block whose state it commits.
  8. +
  9. The account proof: a keccak-keyed Merkle Patricia proof under the record's post_root, every node hashed on the way down, the balance read from the leaf.
  10. +
+

What is trusted and said so on the result: the aggregator's statement being the true execution result (nodes check it natively before paying; the SP1 proof behind it is verified by nodes, not in this tab yet), and the voter table with weights, which comes from the node (spec 10.1). The read service names the node it reads.

+

Devnet 3, no value. The chain may reset. Pages like this one are demonstrations of the verification path, not a product.

+
+ + + + + + + + + diff --git a/site/litepaper.html b/site/litepaper.html index 8aa025766..bd5a2ab14 100644 --- a/site/litepaper.html +++ b/site/litepaper.html @@ -171,6 +171,9 @@ body.all .pager{display:none} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/live.html b/site/live.html index fe3ae83d8..2b4deb0e5 100644 --- a/site/live.html +++ b/site/live.html @@ -255,6 +255,9 @@ details.tablebar summary{display:flex;align-items:center} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/metamask.html b/site/metamask.html index b09c26b0a..b763174fa 100644 --- a/site/metamask.html +++ b/site/metamask.html @@ -116,6 +116,9 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/miner-bench.json b/site/miner-bench.json index fecdb3124..e53eef851 100644 --- a/site/miner-bench.json +++ b/site/miner-bench.json @@ -1175,19 +1175,18 @@ "card": "NVIDIA RTX A6000 (48 GB)", "group": "datacentre", "mh_s": 53.64, - "watts": 239.1, - "mh_per_w": 0.224, + "watts": 295, + "mh_per_w": 0.182, "driver_os": "NVIDIA driver 595.84, Ubuntu 24.04 (CUDA 12.8.1 image)", - "source": "model sweep 2026-10-08, row 16 (a rented card, result cb2-rtx-a6000-48-gb-9600-result.json; 09:46Z)", - "note": "rented single-card host, 0.15 h; power.draw mean 239.1 W (max 251.0, limit 300 W), SM 1,913 MHz mean, memory 7,601 MHz, 65 C, no throttle reason; self-test PASS (96 of 96 vector lanes); the class v5 kit holds the rate (53.82 MH/s, fingerprint matched), so on an uncapped sm_86 card v5 is level with v4 and the A4000's v5 reading narrows to its power cap; read ceiling 53.8 MH/s, the hash at 1.00 of it. Repeats the 7 October row (53.66 then, 53.64 now) at 43 W less on this host; a 3090-class rate at a 3090-class draw. Watts are class v3 (read 8 October 2026, 11:4x UK): the fleet's bench pack was the class v3 program (program_class v3, generator 3, load_class mx8-erad810f22d), so this row's watts and MH per watt are class v3 figures; the rate holds under class v4 (memory-bound: a 5070 Ti measured 78.7 MH/s at 141 W on class v3 and 78.8 at 224 W on class v4). The class v4 watts rerun on the same models lands with its date, the v3 watts kept beside as the shadow premium per card", + "source": "model sweep 2026-10-08, row 16 (a rented card, result cb2-rtx-a6000-48-gb-9600-result.json; 09:46Z); the class v4 watts rerun, 8 October 2026 (result cb4-rtx-a6000-48-gb-1814-result.json, the v4-devnet-epoch0 pack, sub-version 3, three runs of about 30 s, the class v3 pack paired on the same host)", + "note": "rented single-card host, 0.15 h; power.draw mean 239.1 W (max 251.0, limit 300 W), SM 1,913 MHz mean, memory 7,601 MHz, 65 C, no throttle reason; self-test PASS (96 of 96 vector lanes); the class v5 kit holds the rate (53.82 MH/s, fingerprint matched), so on an uncapped sm_86 card v5 is level with v4 and the A4000's v5 reading narrows to its power cap; read ceiling 53.8 MH/s, the hash at 1.00 of it. Repeats the 7 October row (53.66 then, 53.64 now) at 43 W less on this host; a 3090-class rate at a 3090-class draw. Class v4 watts (8 October 2026, the rerun, self-test PASS): 295.0 W at 53.67 MH/s, 0.182 MH per watt; the class v3 pack on the same host read 253.9 W at the same rate (the board 9 C warmer than the morning, 15 W over its morning class v3 reading), so the shadow premium on this card is +16.2 percent of watts for no rate: the A6000 lands on its stock 300 W cap under class v4 and holds the rate, the fourth card to do so with the H100, the A100 and the A4000, so a stock cap reached under class v4 is a note, not a penalty. The rerun is complete: 22 class v4 watts rows on 22 models, every pod destroyed", "hive": { "core_mhz": null, "mem_mhz": null, "pl_w": null, "label": "stock (rented card, no clock control on the host; no measured tune point)" }, - "watts_class": "v3", - "watts_display": "239.1 (class v3)" + "watts_display": "295 (class v4)" }, { "generator": "v2", diff --git a/site/miner.html b/site/miner.html index 0213375c5..2b5263077 100644 --- a/site/miner.html +++ b/site/miner.html @@ -111,6 +111,9 @@ pre b{color:var(--molten-text);font-weight:500} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/miners.html b/site/miners.html index 418468990..b6a583d55 100644 --- a/site/miners.html +++ b/site/miners.html @@ -115,6 +115,9 @@ table{min-width:560px} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. @@ -284,7 +290,7 @@ table.bench2 tr.detail .d{display:block;margin:0 0 4px}table.bench2 tr.detail b{
NVIDIA RTX 5090 (32 GB)class v4 133.8 MH/s, 305 W, 0.439 · 2026-10-06136.1 stock (127.7 tuned)0.563226.8 tuned (350 stock) WTuned
NVIDIA RTX 5070 Ti (16 GB)class v4 not measured · 2026-10-0869 to 78 by board (68.94 on this host)0.322214 (class v4) WStock
NVIDIA RTX 5070 Ti (16 GB)class v4 not measured · 2026-10-0778.4○ 0.539145.6 (class v3) WStock
NVIDIA RTX 5080 (16 GB)class v4 +83 W unlocked, +41 W at the best points · 2026-10-0871.4 stock (71.2 tuned)0.486146.6 tuned (253 stock) WTuned
NVIDIA RTX 3090 Ti (24 GB)class v4 not measured · 2026-10-0762○ 0.248249.5 (class v3) WStock
NVIDIA RTX 3080 Ti (12 GB)class v4 not measured · 2026-10-0759○ 0.221267.3 (class v3) WStock
NVIDIA RTX 3080 Ti (12 GB)class v4 not measured · 2026-10-0858.9○ 0.201293.5 (class v3, uncapped board) WStock
NVIDIA RTX 4090 (24 GB)class v4 not measured · 2026-10-0752.30.285183.1 WStock
NVIDIA RTX 5070 (12 GB)class v4 not measured · 2026-10-0752○ 0.506102.8 (class v3) WStock
NVIDIA RTX 5070 (12 GB)class v4 not measured · 2026-10-0852 to 59 by board (58.89 on this host)0.334176.1 (class v4) WStock
NVIDIA RTX 3090 (24 GB)class v4 not measured · 2026-10-0750not measurednot readStock
NVIDIA RTX 3080 (10 GB)class v4 not measured · 2026-10-0743.7not measurednot readStock
NVIDIA RTX 4080 Super (16 GB)class v4 not measured · 2026-10-0842.60.218195.7 (class v4) WStock
NVIDIA RTX 4070 Ti Super (16 GB)class v4 not measured · 2026-10-0837 to 41 by board (36.93 on this host)0.268137.8 (class v4) WStock
NVIDIA RTX 4080 (16 GB)class v4 not measured · 2026-10-0840.70.219185.6 (class v4) WStock
NVIDIA RTX 3070 Ti (8 GB)class v4 not measured · 2026-10-0739○ 0.219178.3 (class v3) WStock
NVIDIA RTX 3070 Ti (8 GB)class v4 not measured · 2026-10-08390.146267.6 (class v4) WStock
NVIDIA RTX 3070 (8 GB)class v4 not measured · 2026-10-0837.10.189196.4 (class v4) WStock
NVIDIA RTX 3070 (8 GB)class v4 not measured · 2026-10-0733.7not measurednot readStock
NVIDIA RTX 3060 Ti (8 GB)class v4 not measured · 2026-10-0733.1○ 0.256129.5 (class v3) WStock
NVIDIA RTX 3060 Ti (8 GB)class v4 not measured · 2026-10-0832 to 33 by board (33.06 on this host)0.256128.7 (class v4) WStock
NVIDIA RTX 5060 (8 GB)class v4 not measured · 2026-10-0731.3○ 0.41575.4 (class v3) WStock
NVIDIA RTX 4070 Ti (12 GB)class v4 not measured · 2026-10-0731.3○ 0.291107.3 (class v3) WStock
NVIDIA RTX 4070 Super (12 GB)class v4 not measured · 2026-10-0831.20.288108.4 (class v4) WStock
NVIDIA RTX 4070 Ti (12 GB)class v4 not measured · 2026-10-0831.20.201155.3 (class v4) WStock
NVIDIA RTX 4070 (12 GB)class v4 +30 W · 2026-10-06310.38979.5 WTuned
NVIDIA RTX 5060 Ti (16 GB)class v4 0.1 percent rate · 2026-10-0730.90.269114.8 WStock
Apple M5 Max (40 GPU cores, Metal)class v4 +16 W · 2026-10-0627○ 1.2921 W chip, not wallNo lever
NVIDIA RTX 3060 (12 GB)class v4 not measured · 2026-10-0726.9○ 0.241111.6 (class v3) WStock
NVIDIA RTX 2080 Ti (11 GB)class v4 not measured · 2026-10-0826 to 28 by board (28.05 tuned on this host)0.174161.1 (class v4, a tuned board) WStock
NVIDIA RTX 4060 Ti (8 GB)class v4 not measured · 2026-10-0720.1○ 0.25977.5 (class v3) WStock
NVIDIA RTX 4060 Ti (16 GB)class v4 not measured · 2026-10-0820.10.196102.3 (class v4) WStock
NVIDIA RTX 2070 Super (8 GB)class v4 not measured · 2026-10-0819.10.094204.2 (class v4) WStock
NVIDIA RTX 4060 (8 GB)class v4 not measured · 2026-10-0819.1not measurednot readStock
AMD Radeon RX 9070 XT (16 GB)class v4 +2 percent rate · 2026-10-0818.9 (18.8 to 19.2 on the G1 ladder)0.093202 stock WNo lever
NVIDIA GTX 1080 Ti (11 GB)class v4 not measured · 2026-10-0816.30.08202.7 (class v4) WStock
NVIDIA RTX 2060 (6 GB)class v4 not measured · 2026-10-0814 to 15 by board (14.90 on this 12 GB board)0.117127 (class v4) WStock
Intel Arc B580 (12 GB)class v4 0.1 percent rate · 2026-10-0711not measurednot readStock

38 cards. Details opens a card's Hive flight-sheet values, its full class v4 cost, miner, source and note.

Datacentre (13 cards, rented for the measurement; about three times the rented dollars per hash of a desktop card) -
NVIDIA B200 (180 GB)class v4 not measured · 2026-10-07416.4○ 0.487855.6 (class v3) WStock
NVIDIA H200 SXM (141 GB)class v4 not measured · 2026-10-07313○ 0.723432.9 (class v3) WStock
NVIDIA H100 SXM (80 GB)class v4 not measured · 2026-10-07248.7○ 0.645385.6 (class v3) WStock
NVIDIA H100 SXM (80 GB HBM3)class v4 not measured · 2026-10-08248.30.36695.1 (class v4) WStock
NVIDIA A100 PCIe (80 GB)class v4 not measured · 2026-10-07155○ 0.517299.6 (class v3) WStock
NVIDIA A100 SXM (80 GB)class v4 not measured · 2026-10-07138.4○ 0.52266.3 (class v3) WStock
NVIDIA A100 SXM4 (80 GB)class v4 not measured · 2026-10-08138.10.282489.3 (class v4) WStock
NVIDIA RTX PRO 6000 Blackwell (96 GB)class v4 not measured · 2026-10-07130.5○ 0.452288.7 (class v3) WStock
NVIDIA L40S (48 GB)class v4 not measured · 2026-10-0856.40.203277.6 (class v4) WStock
NVIDIA L40S (48 GB)class v4 not measured · 2026-10-0756.4○ 0.234240.7 (class v3) WStock
NVIDIA RTX A6000 (48 GB)class v4 not measured · 2026-10-0853.6○ 0.224239.1 (class v3) WStock
NVIDIA RTX A5000 (24 GB)class v4 not measured · 2026-10-0747.6not measurednot readStock
NVIDIA RTX A4000 (16 GB)class v4 not measured · 2026-10-0831.40.232135.2 (class v4) WStock
+
NVIDIA B200 (180 GB)class v4 not measured · 2026-10-07416.4○ 0.487855.6 (class v3) WStock
NVIDIA H200 SXM (141 GB)class v4 not measured · 2026-10-07313○ 0.723432.9 (class v3) WStock
NVIDIA H100 SXM (80 GB)class v4 not measured · 2026-10-07248.7○ 0.645385.6 (class v3) WStock
NVIDIA H100 SXM (80 GB HBM3)class v4 not measured · 2026-10-08248.30.36695.1 (class v4) WStock
NVIDIA A100 PCIe (80 GB)class v4 not measured · 2026-10-07155○ 0.517299.6 (class v3) WStock
NVIDIA A100 SXM (80 GB)class v4 not measured · 2026-10-07138.4○ 0.52266.3 (class v3) WStock
NVIDIA A100 SXM4 (80 GB)class v4 not measured · 2026-10-08138.10.282489.3 (class v4) WStock
NVIDIA RTX PRO 6000 Blackwell (96 GB)class v4 not measured · 2026-10-07130.5○ 0.452288.7 (class v3) WStock
NVIDIA L40S (48 GB)class v4 not measured · 2026-10-0856.40.203277.6 (class v4) WStock
NVIDIA L40S (48 GB)class v4 not measured · 2026-10-0756.4○ 0.234240.7 (class v3) WStock
NVIDIA RTX A6000 (48 GB)class v4 not measured · 2026-10-0853.60.182295 (class v4) WStock
NVIDIA RTX A5000 (24 GB)class v4 not measured · 2026-10-0747.6not measurednot readStock
NVIDIA RTX A4000 (16 GB)class v4 not measured · 2026-10-0831.40.232135.2 (class v4) WStock
Earlier classes (6 rows: the genesis program, the hourly program, class v3 before the shadow; not comparable with the table above)

The bench numbers of 3 and 4 October 2026. A higher MH/s here is a different hash, not a faster card.

diff --git a/site/oracle.html b/site/oracle.html new file mode 100644 index 000000000..051d685ff --- /dev/null +++ b/site/oracle.html @@ -0,0 +1,363 @@ + + + + + +Igneum state oracle on Sepolia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
Reference app 3 · Devnet 3, no value
+

Devnet 3 balances, read from Sepolia.

+
+

A contract on Ethereum Sepolia stores Igneum Devnet 3 finality certificates that anyone submits, checked by a shared certificate verifier, and state roots bound to those checkpoints through the header chain, the coinbase and the segment record. Other contracts then read a proven Devnet 3 balance or storage slot with an ordinary Merkle Patricia proof. No relayer is trusted: a wrong certificate or a wrong proof reverts.

+ +
+

Why this only works on a proven chain. Another chain can only use Igneum state if a contract can check it without running an Igneum node: a weighted certificate over a checkpoint and a state root proven under it are small enough to verify in a few hundred thousand gas. A chain whose state is only "what most nodes say" has nothing a contract can check.

+

Source: tools/reference-apps/oracle/contracts/ (IgneumStateOracle.sol and its libraries), tools/reference-apps/oracle/demo.mjs (the demo that reads a Devnet 3 balance from Sepolia), tools/reference-apps/oracle/test.mjs (the negative cases through eth_call). The shared certificate verifier is the DEX lane's contracts/bridge/src/IgneumCertificateVerifier.sol.

+
+ +
+

On Sepolia

+
+
Oracle
0xefe9879de29c401eeff195d5bf71c86b9caaa1b2 IgneumStateOracle, deployed 8 October 2026 (tx 0xb8650f5b…d644, block 11869608)
+
Verifier
0xa197ef31d5d5613125779179668e2482ac69a6f6 StubCertificateVerifier, the stand-in: it records any well-formed certificate and does not check the BLS signature; the shared IgneumCertificateVerifier replaces it through setVerifier the day it lands
+
Chain
Sepolia, chain id 11155111; Devnet 3 (igneum-devnet-3), no value
+
First proven root
Devnet 3 chain block 26631, post_root 0xf567a84f…a82fd, stored 8 October 2026 (tx 0xf360e54c…224b, 404,376 gas); provenBalance read 92.029323 IGN for 0x636de2dc…44ea on Sepolia, equal to the Devnet 3 node's eth_getProof
+
+

How to read a balance from another contract: IIgneumStateOracle(oracle).provenBalance(number, account, accountProof), where number is a Devnet 3 chain block whose state root the oracle holds and accountProof is the eth_getProof account proof at that block. A storage slot: provenStorage(number, account, slot, accountProof, storageProof). Both revert on any mismatch.

+
+ +

What the contract checks

+
    +
  1. The certificate, through the shared verifier: the aggregate BLS signature over the checkpoint under the installed voter table and the weight rule.
  2. +
  3. The header path from the carrier block up to the certified checkpoint: BLAKE2b-256 keyed BlockHash through the precompile, every parent link.
  4. +
  5. The coinbase transaction under the carrier's hash_merkle_root, and the segment record parsed out of its extra data: the record's post_root for its block is stored under the certificate's index.
  6. +
  7. Every read: a keccak-keyed Merkle Patricia proof against the stored root, verified on chain.
  8. +
+

Said plainly, on the contract too (trust()): the aggregator's BLS signature on the record is not checked on chain in this slice, and while the stand-in verifier is installed no certificate signature is checked on chain either; the voter table the shared verifier holds is installed by its deployer. Gas on Sepolia, measured 8 October 2026: a 62-header path 13.3 million (about 215,000 per header, 15 precompile blocks each), a 10-header path about 2.2 million, the state-root store 177,000, a balance read 153,000. The negative cases in test.mjs are a flipped proof node, a wrong block number, a header removed from the path, a merkle sibling altered, a record with its post_root altered, a header with its nonce altered: each reverts.

+

Devnet 3, no value. Sepolia, no value. A demonstration of the verification path, not a product.

+
+ + + + + + + + diff --git a/site/partials/nav.html b/site/partials/nav.html index 3791175fb..e440ec3eb 100644 --- a/site/partials/nav.html +++ b/site/partials/nav.html @@ -38,6 +38,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/provenance.html b/site/provenance.html index 892d42f44..cb9f630da 100644 --- a/site/provenance.html +++ b/site/provenance.html @@ -115,6 +115,9 @@ table{min-width:560px} The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/proving.html b/site/proving.html index 814aa3e66..2771e7e5a 100644 --- a/site/proving.html +++ b/site/proving.html @@ -141,6 +141,9 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/randomx.html b/site/randomx.html index c22b96b9e..496ab9b26 100644 --- a/site/randomx.html +++ b/site/randomx.html @@ -114,6 +114,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/receipt.html b/site/receipt.html new file mode 100644 index 000000000..98a3ec299 --- /dev/null +++ b/site/receipt.html @@ -0,0 +1,365 @@ + + + + + +Igneum payment receipt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
Reference app 2 · Devnet 3, no value
+

A receipt any third party re-verifies.

+
+

Paste a Devnet 3 transaction hash. This tab fetches the raw transaction, the including block's merkle path, every header up to the certified checkpoint and the certificate, then proves inclusion and finality itself. Download the receipt as JSON. Anyone checks it later with a one-file verifier, offline, with no node and no network.

+ +
+

Why this only works on a proven chain. A merchant's receipt is only worth something if the payment cannot be undone and the proof of that fits in a file: here the certificate is a weighted BLS signature by the miners over a checkpoint, and the block holding the payment hashes into that checkpoint's past. On a chain with probabilistic finality a receipt is a guess that ages well; here it is a fact that a file carries.

+

Source: site/lc/core.js (the checks), site/lc/app.js (this page), tools/reference-apps/receipt/verify-receipt.src.mjs (the one-file verifier, bundled to /lc/verify-receipt.js). Test with the negative cases: /lc/test in the browser, tools/reference-apps/light-service/verify.test.mjs under Node.

+
+ +
+

Get a receipt

+
+ +
+
Devnet 3, no value. A transaction is final once a certified checkpoint has it in its past, about 30 to 90 s after it executes.
+
+
+
+ +

Re-verify offline

+

The verifier is one file of plain JavaScript with the hashing and curve code inside it: verify-receipt.js. It runs under Node 18 or later (node verify-receipt.js receipt.json) and prints each check, then VERIFIED or REFUSED with the reason. It fetches nothing. Flip one byte of the file and it is refused: node verify-receipt.js receipt.json --tamper runs that case first so you see the refusal before the verdict.

+

What the receipt proves

+
    +
  1. The transaction hash is keccak256 of the raw signed transaction in the file, so the recipient, the amount and the data are the signed ones.
  2. +
  3. The transaction is a leaf of the including block's hash_merkle_root (BLAKE2b-256 keyed MerkleBranchHash up the path).
  4. +
  5. Every header from the including block to the certified checkpoint recomputes and links to the next by a direct parent.
  6. +
  7. The certificate over that checkpoint verifies: the aggregate BLS signature of the signers, the voter order, two thirds of active weight and 17/30 of total.
  8. +
+

Not proven by the file: the execution result (status, gas) is carried as the node reported it and labelled so; the voter table with weights comes from the node (spec 10.1). Both are named on the result.

+

Devnet 3, no value. The chain may reset. A demonstration of the verification path, not a product.

+
+ + + + + + + + + diff --git a/site/scenes.html b/site/scenes.html index 71b6b9004..ea3eb1cf4 100644 --- a/site/scenes.html +++ b/site/scenes.html @@ -92,6 +92,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/sitemap.xml b/site/sitemap.xml index bab3d324a..1cdfc92db 100644 --- a/site/sitemap.xml +++ b/site/sitemap.xml @@ -11,6 +11,9 @@ https://igneum.network/ledger2026-10-07weekly0.6 https://igneum.network/bench2026-10-07weekly0.6 https://igneum.network/evidence2026-10-07weekly0.6 + https://igneum.network/light2026-10-08weekly0.6 + https://igneum.network/receipt2026-10-08weekly0.6 + https://igneum.network/oracle2026-10-08weekly0.6 https://igneum.network/miners2026-10-07weekly0.6 https://igneum.network/journey2026-10-07weekly0.5 https://igneum.network/claims2026-10-07monthly0.5 diff --git a/site/swap.html b/site/swap.html index a882c13ce..cbfcb23f4 100644 --- a/site/swap.html +++ b/site/swap.html @@ -123,6 +123,9 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:13px;overflo The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/tx.html b/site/tx.html index ff394ae49..3baf1f261 100644 --- a/site/tx.html +++ b/site/tx.html @@ -142,6 +142,9 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/site/vercel.json b/site/vercel.json index 00270ab07..c8ceddbd4 100644 --- a/site/vercel.json +++ b/site/vercel.json @@ -2,6 +2,17 @@ "cleanUrls": true, "trailingSlash": false, "redirects": [ + { + "source": "/", + "has": [ + { + "type": "host", + "value": "explorer.igneum.network" + } + ], + "destination": "/explorer", + "permanent": false + }, { "source": "/connect", "destination": "/metamask", @@ -14,16 +25,6 @@ } ], "rewrites": [ - { - "source": "/", - "has": [ - { - "type": "host", - "value": "explorer.igneum.network" - } - ], - "destination": "/explorer" - }, { "source": "/tx/:hash", "destination": "/tx" diff --git a/site/wallet.html b/site/wallet.html index 5cecd8916..b026ef16c 100644 --- a/site/wallet.html +++ b/site/wallet.html @@ -124,6 +124,9 @@ The journeySix phases, four gates, the log behind them. Engineering logEvery measurement, with the commands that made it. EvidenceEvery claim and how far it is tested. + Light walletA balance your browser proves, trusting no node. + Payment receiptA receipt any third party re-verifies offline. + State oracle on SepoliaDevnet 3 balances read from another chain.
Learn
LitepaperThe design, as published. diff --git a/tools/ci/site-nav-check.mjs b/tools/ci/site-nav-check.mjs index e3fffb3ec..a2f850e1c 100644 --- a/tools/ci/site-nav-check.mjs +++ b/tools/ci/site-nav-check.mjs @@ -14,7 +14,7 @@ import { fileURLToPath } from 'node:url'; const here = dirname(fileURLToPath(import.meta.url)); const GROUPS = { mine: ['/miner', '/download', '/app', '/wallet', '/miners', '/dev-fee', '/metamask'], - network: ['/live', '/explorer', '/journey', '/bench', '/evidence'], + network: ['/live', '/explorer', '/journey', '/bench', '/evidence', '/light', '/receipt', '/oracle'], learn: ['/litepaper', '/income', '/economics', '/ledger', '/claims', '/randomx', '/provenance'], build: ['/build', '/faucet', '/swap', '/grants'], // the builder programme (8 October 2026): the developer entry page, the Devnet 3 faucet, the swap, the grants }; diff --git a/tools/reference-apps/fixtures/dn3-balance.json b/tools/reference-apps/fixtures/dn3-balance.json new file mode 100644 index 000000000..e28def498 --- /dev/null +++ b/tools/reference-apps/fixtures/dn3-balance.json @@ -0,0 +1 @@ +{"ok":true,"now":"2026-10-08T10:44:02.853Z","chain_id":"igneum-devnet-3","address":"0x636de2dcf1dd0c5f955438d569390f0c7cc944ea","checkpoint":{"hash":"bbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d934","index":2060,"chain_block":26839},"checkpoint_certificate":{"ok":true,"source":"dn3","network":"igneum-devnet-3","chain_id":"igneum-devnet-3","index":2060,"hash":"bbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d934","blue_score":61800,"daa_score":62113,"certificate":{"bytes_hex":"0c08000000000000bbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d9341d000000040000008de5e4198053c9181f8421220ee05e14f5726cea96846497bd0bf3b621dc37e2218d080f431f0a6bde4e817a2889c158fe7853031432265dc68c8eee5d7c91de276227de331823df5fab2f32d66a72571e3d376bc75b5903630c1e42c156ab42b7db4c2b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","voter_count":29,"bitmap_hex":"8de5e419","aggregate_signature_hex":"8053c9181f8421220ee05e14f5726cea96846497bd0bf3b621dc37e2218d080f431f0a6bde4e817a2889c158fe7853031432265dc68c8eee5d7c91de276227de331823df5fab2f32d66a72571e3d376bc75b5903630c1e42c156ab42b7db4c2b","aggregator":"0000000000000000000000000000000000000000000000000000000000000000","aggregator_proof_hex":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","carrier":"096eded4cf85ec57ada7998c2d6be37b4fad27e61865e67ccb5e2420e100c438"},"voters":[{"pubkey_hex":"9928c2b0b675e2c4e229872361dca13ccbe10c729999742afabaad4e7c1c37021e26db63bfd995fee85dcb2956e5d40e","weight":402,"participation":0.9},{"pubkey_hex":"86d4055487dad49b54a9a917ce9e3ccc40cbdcc02e871f06581ec30b5f00b8e723a7095473e05659bbc2a312acaacd55","weight":127,"participation":0.95},{"pubkey_hex":"918f8ffa2d4bb5c0976e61773bb9f5d2eec563faf265c8816e728e50a25ef974027ccd24ceac52daf7a39c9ce09d646b","weight":437,"participation":0.95},{"pubkey_hex":"a91a322e77979252dd93135f67c5dac4b3c410c986b82d652d76af4df50ac3147b7617f8c9b06d8def3a2e0bb18c9dfb","weight":160,"participation":1},{"pubkey_hex":"8fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f79","weight":198,"participation":0.95},{"pubkey_hex":"847b27c67fc39952d872c1fdb735c2c90fe390535f95b62d888190da51911967ef2dd7f7ff6f0ba26da0afd1aba9b0bd","weight":193,"participation":0.95},{"pubkey_hex":"ab0e69ce66b7bd1390afcdda40957712f20bcf703d14e1a33590f4040c8e4a52426428d3e14eb86f13f3f18cd29d90b8","weight":108,"participation":0.95},{"pubkey_hex":"b9aa12603d7eb40358ba4a749601c788f5cd160499734166bf517157762f7b87709fa0036123b04fdf16d0ff6cd843d0","weight":137,"participation":1},{"pubkey_hex":"a51fd976484399e2fbbe056d6edffac5746c835c42d7370f18d54a422ad1b6b9c77dec59cb5fdf29650227677befa29e","weight":293,"participation":1},{"pubkey_hex":"a7d1712d7c632f78233d0e88e437cf34d32b91685aa4a0a035649b8edcbf4255818e7d9366f26ef7668f02eb60c1eedf","weight":240,"participation":0.95},{"pubkey_hex":"af9c8c9e98d1faf0a141fbfb3cd20fd24a22d26e62d57b2dbee1ab2c734565f40c02c659d302e9ec3c34b7624626dd8b","weight":227,"participation":1},{"pubkey_hex":"a5e9f7ad42098dad804afc3b7b111d21fb7fd3ac907ed8858e24fb6acc07b22334607265be343f8ecb2e4ac86bd04040","weight":93,"participation":0},{"pubkey_hex":"91dc73280dde5971f9acbe49a39e0fd0268f9b79c488e4ee765bb11f90928bbd13ddcad19d7e316c6f2bad1393ed0329","weight":68,"participation":0.95},{"pubkey_hex":"964fb61b48ff085dd22fe3725fbce47af51ba5e8f466b4ef7ccf8beb5def296e669ad13f8b19c93709ab0f25ad7bbb98","weight":251,"participation":1},{"pubkey_hex":"a5c164cafce7f7d3c94f8209610f4fbdb799b4e4a8670acc151633ca66ec5dc0f8b206f605f66da396f4f86abb9a0367","weight":442,"participation":1},{"pubkey_hex":"a29b0b504f24de7e18c95da6541cc3404264f66fe3cc84cd5cd3f429d62fdc960702bb94142204baffc6ee849b2775b4","weight":360,"participation":0.8},{"pubkey_hex":"adf46d528e5d15b653cc8171bd1b5a3f5e7c2e90490964d345753dc50781ac62805c5e90e1dc928c76bf386fe18f1963","weight":114,"participation":0.8},{"pubkey_hex":"b9b9b078f2d6a03b0a3e6c395edd5fdaf73532e5b41e5d9fb9a4cbe29e7903b772a0d9ad133d7d22f60dac38cde0e62a","weight":143,"participation":0.95},{"pubkey_hex":"b273366b48f4de898b7a5454236f99c4ca160b5160fc758652b50e7d8aa17c15d012a7763c1b7a8a489011c40d73016e","weight":231,"participation":1},{"pubkey_hex":"9825a3571f08e4c7125eb27a2e39409f56c446015f2cd12f84428048eb38630ce50fee44ee0d084d77054d275654e1b7","weight":825,"participation":0.9},{"pubkey_hex":"8d059b79cbd4bc995da4d927ce07af9796c36fde60b6f61f4eb620f15302b3df1619d7ecbee92391a5a183d859cb0634","weight":51,"participation":0},{"pubkey_hex":"a81c2107b52192dc4844a859cf893e0e0546109105349a9959299285351d07de69c98ac210d81159991f00476a639f49","weight":309,"participation":1},{"pubkey_hex":"a656a841f22beb6c94b5ee03bcdcafd99d00fbb23fea7d5fc9048d5ebb731324188a88827e0fff3c3ad39a8445bf3789","weight":156,"participation":0.9},{"pubkey_hex":"a1a0b8b7eb79cd45bbfc1db1d44d94bcc3ceb683b2b4e2e2617b0d451eae58c14435b9627da281e0ea69591dbe8aad6f","weight":127,"participation":0.95},{"pubkey_hex":"ad7a53e9f2d5269aa1ef8e66adb7ae1e0d1042735786e0f1b0b88985131b8da4fdf769fd5a3ca6e8f0984a1da710ffdd","weight":318,"participation":0.95},{"pubkey_hex":"8665f209eb05ab653a144a3a5682dd1400a81ddac1bcc3fcee47d6b7db83754fe00531f2ffd710fa3a5353dd34fcc5f2","weight":140,"participation":0.9},{"pubkey_hex":"832a731927366ec7f43f33efaad01f859bf21d69b30c7a645772ecde382a50680fa03ceac4d325fea6c8506af7917cc8","weight":86,"participation":0.85},{"pubkey_hex":"aedc45a38203c1fed00b520084b17f8239c6894bfd593bb2c94613f6b0177b7d530773536805f2e723d46fd3535b6dd0","weight":506,"participation":1},{"pubkey_hex":"9132e86d8eedf6956cb7a1c57a3e0d830d0cdc2bd07fa7b4fe5ab8c8850ee8960a549b74b3c22c268077b8d94dbf410b","weight":447,"participation":1}],"voters_at_index":2061,"total_weight":7189,"active_weight":6687.05,"previous":{"index":2059,"hash":"b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7"},"headers":[{"hash":"b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","version":1538,"parents_by_level":[["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0","ae4364811ddb754c729e0e85caeac46c9eb30d777f752f091429940c0953fe9b","4fc70816476eee3c92614252cf698af7f9e4ea9855d2fd108931d82acbb6bb8e"],["69dc346a830fb70b6ec238ce2e34d3395e98b934f35fb53d0e217bde04e470ff","4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0"],["4de0ad9b3d2fffd812377d9b9c0bee57b291d36306952f36bb136bbc76ba0db0"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"4388e602ea9791c48a33e89071b1ef9a417b001b8f03a76348cd9f7f98689b33","accepted_id_merkle_root":"4b5bca18a76b5bc8cdf7d10a747a36fff8b7ed6419a00521e3fda8ee4b15240c","utxo_commitment":"37f83121c01cc35cac830548c111cabd3427faa43fa113fa9e752cbd64658750","timestamp":"1791453994882","bits":486806675,"nonce":"11462428008276258949","daa_score":"62085","blue_work":"000000000000000000000000000000000000207787cbf171","blue_score":"61772","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"},{"hash":"73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd","version":1538,"parents_by_level":[["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","5508b0be152e288952ca12aec7e3160c65ca83d30d91ad80430b03c785e7a028","bd1274f8a75811af800867a35a3b85fe57781809f403aa8fa115f138855be804"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","b98da63c2f463c890a9a036ec9ac8d00d3534a4d955516a8a37169d2bc12c80d"],["b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7","b98da63c2f463c890a9a036ec9ac8d00d3534a4d955516a8a37169d2bc12c80d"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"647bf219f9dc9389b434f54a38bd42dfbed98098a3689e1d31166852f50029ce","accepted_id_merkle_root":"7605b58fe4f4d7f04355a965471f3436f89939d7c2b9a0706dd96c4d39103ea2","utxo_commitment":"176658092519fe902bba858fcac7e7418b66657ba96c52825444c1ba15d46823","timestamp":"1791453996969","bits":486805249,"nonce":"17225349151044383654","daa_score":"62089","blue_work":"0000000000000000000000000000000000002078835b0905","blue_score":"61776","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4f342bdd527c7f7c291df6816da57c3b19b0920a4604b9eb90a4915ffed88418"},{"hash":"b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca","version":1538,"parents_by_level":[["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"21bc6a512dbbc293b2eec5103b2195a914c734d4bb24f9eefff698956992c0b9","accepted_id_merkle_root":"9ab9a8cbd244bfa211a04829f0a35986b7ad9433de81748671d54a2b4d95990b","utxo_commitment":"9a9a88951d31992064530f61ddf9ec3009b9cb68e6b16714c2f2f728030b5e66","timestamp":"1791453998460","bits":486804680,"nonce":"13089525653391524476","daa_score":"62090","blue_work":"0000000000000000000000000000000000002078c26e707c","blue_score":"61777","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","version":1538,"parents_by_level":[["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["b446647b661663273579a8486b93e04559868b643eaed1024c0ae924f225c2ca"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"88f6476fbe7e1a0596336898a48b8b223e00d7c0eb82b9b263905a497e3a3349","accepted_id_merkle_root":"139df40e80410fc1e713f500a19fc94a3e21906a5e5a3e9d82b9e9fbf9226dfa","utxo_commitment":"9f2f44b142b24e34a6c9f047073c3b4edb501f842c063e1d092ba4b78e09a0af","timestamp":"1791454000899","bits":486803902,"nonce":"17929604323076270103","daa_score":"62091","blue_work":"000000000000000000000000000000000000207901a475de","blue_score":"61778","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","version":1538,"parents_by_level":[["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3","59c0a0818354237c33fa05d086494d27b81ed5038bd43eac6c5c5eda83d895f4"],["6194dfee45174b0ebcf8762abd1f87ea3426edf5d98fe59ffcdf2b3d0a662de3"],["73629bb0d62477f3591321c4dbe352ccca389af3b12ccdde03ebada5eb9d11dd"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"35eab5638bd6fbf8dcc572bbca34d5c87af81b523c541abd18c5fdb7b23440af","accepted_id_merkle_root":"2c155e4ad3457bf82de384b269dc13dcaa468ef10a30724241a9320c828282aa","utxo_commitment":"c3413acd6279c13dde9cfaccad2c0900bf60223d22200181993857a747cf6fd0","timestamp":"1791454003478","bits":486804506,"nonce":"1179891902067592279","daa_score":"62093","blue_work":"0000000000000000000000000000000000002079806fa5fe","blue_score":"61780","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"befb7dfaf9638375bb11f30f5f9446c465eac043adcc75d8428d2eb48d3636e2"},{"hash":"fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","version":1538,"parents_by_level":[["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6dcfde143bc10d9cc85fd8260b0b7d4a50cb0d99982c289cbc5f5cc85f1fccc5","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"32a580494acf3aa3505228933424a7af175bf30aa9396814a142b3ad58335320","accepted_id_merkle_root":"647c645ba406045dfed1f7fe49925307a84e7f51f10f52a7e4f9a3edcd8ef2c0","utxo_commitment":"7c6d21536d944d4aa173d460867d458bb77b887d76b598e942976575321890ed","timestamp":"1791454006790","bits":486805887,"nonce":"4381464441245316532","daa_score":"62096","blue_work":"000000000000000000000000000000000000207a3e318ed7","blue_score":"61783","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9148d90deb8d80e3d3e609b74b89a80e392d54aa0c7b2d9de0d72269058e9e60"},{"hash":"23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","version":1538,"parents_by_level":[["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["fec9308f640609ca1ce61a7251f9b9ea0d77e13de5979e82bb739d2d832525be","7b933d245a2a2ed0cd23e69ece6d7e1f46c2eaf12d373dbdfee38970fb074697","9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c"],["9ce36c90fbc251b2671b27ccdabcbe53cf7217ed73744983c10b69b0cafc8d1c","6d96a3462c48bcce97853b5fe0f11f11972a02558e6b4547f0a40cb2260a8507","474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"927f5952500a4aa0cedac063ca4eb35852011b78c2dd0b40a79414f3ada6b7b9","accepted_id_merkle_root":"e0d9267f910b711aff5b4fc48fab985d52e1666f67435ffbac8e969fca382e2c","utxo_commitment":"a9469c00ad6468a0e643c7b131fc9f7cd8452d67ad6b279dd3c1d6aed4f0d774","timestamp":"1791454009000","bits":486805926,"nonce":"539465553297445373","daa_score":"62099","blue_work":"000000000000000000000000000000000000207afb7f6503","blue_score":"61786","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","version":1538,"parents_by_level":[["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["23df0c742712d5077b7f525f376fd69399a6a20aa0173de65822b4913cb9b2b3","6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5","eb298c78a74abb26659c6cf26cdae2ac30840051fbc6ef04a7fdd424db41c9c3"],["6957091acf4224b34c93163b4d35604f159b0188b468365164b5abec916b9fe5"],["474c8ac13ded7944c6b5b2398ce4c07b028d3431d1cb2e750bec7c4cc9f52b2d"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["33661107e7e81356991706cf5c34cd7554f865afd52cda46f25fcfe4c5999450"],["f29e694a22cb3521e083e2b365cd555363e7c98a1803b6746597881b0d97bab8"],["a07b8e77217b04d28a20b6952298c1d0c20a4e3b45e8a40190cbfb11e862a284"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["d48cc709621e7f6719446330107bfa1e62486cd5d791a74f2f438f07160c1bbc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e63a7df8e23d2adce67ddced5c4105d6d56f677ba4fbd3018dbeb2e4921ee070","accepted_id_merkle_root":"f61f09df5bb85462d61bb357321879948f7e7d94b56a2a193e1b09c956ef198e","utxo_commitment":"7103c659b0df1677bec9c6948a329570eaffe08d96cfdcb42c29cf0f242625f5","timestamp":"1791454010096","bits":486805678,"nonce":"17103917128381247544","daa_score":"62102","blue_work":"000000000000000000000000000000000000207bb874ffed","blue_score":"61789","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd","version":1538,"parents_by_level":[["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["e88019a9e96582b45e171ccf492d09b3bacd9014ff72cdfa868faf712fcc187d","53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5","e3e3f7c2fa1d889c3a0ddf71b1da1e78054b5fbfca594980456c6897d3bd8173"],["53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"04e5c4480638e9b9fbaef69e80692b6e3d9e38629b9106c720d5aef10c6cd210","accepted_id_merkle_root":"74a92135b8dbacb80fe287f2070878558d231b91dc515124d7454f9b3cb32b27","utxo_commitment":"24b5ca6251800f388e5ecd6092fa46e7371922c014dff8cf9b5bd388cf850212","timestamp":"1791454013178","bits":486803658,"nonce":"8026747646581540238","daa_score":"62106","blue_work":"000000000000000000000000000000000000207cb42cdfb6","blue_score":"61793","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"930c1087cb99a88517cbc8d147c7d3e9b175de57bd6a217ccb8c5fffa817b412"},{"hash":"8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","version":1538,"parents_by_level":[["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["b1790b3e619bf0cde720fdc8611851e9813026bc3619716029dcc41734deedcd"],["53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"2b8fc18b82a3a7cc6039e91146a8e11fb94594e1d3a833126d03078b294e47a6","accepted_id_merkle_root":"56a56d3358033c4eef9243d7fc179e4ceb257438171d972ed7d5c0b3d9e5b4d3","utxo_commitment":"10139d6437b86421e87444f130cf92112b20b535d522df74c7fdf67640d8b31d","timestamp":"1791454016450","bits":486803082,"nonce":"7398379169375797574","daa_score":"62107","blue_work":"000000000000000000000000000000000000207cf3a17212","blue_score":"61794","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"},{"hash":"71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","version":1538,"parents_by_level":[["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["8bc2cdec664254a1478fc048da2318f00e2fe7b0b8eee3f1f533308729a37658","30e9626c2463738f0c726a0e834734b69eb049810dddb5137a7f953a214dd223"],["53730c4cf654a8db696ca9ced3b04fd326bfc557bf64eb76b02860bf701dbeb7","b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"5bdef66de171be90505e15f303a0693b580212f8cc7b07c1956c5b3fb8bb32f3","accepted_id_merkle_root":"cc08e5688f5feffa0788c0c6648de5fb409944b93cac8c83374cbc08fa67b6b8","utxo_commitment":"e5016025059899c8fbe112c587bf34db8ae17a774b1e2c10564ff3f1b00c2c9c","timestamp":"1791454018231","bits":486804051,"nonce":"2260642446988476321","daa_score":"62109","blue_work":"000000000000000000000000000000000000207d72d185f8","blue_score":"61796","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"454508c142c31f7ad8e8af3cac03f8fbbff376a60b33b57376040674fd3ddb3f"},{"hash":"c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402","version":1538,"parents_by_level":[["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","9ef0b3319eb23f8a26591d859e2c86d1159548054d7c92388693deac304c33aa","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["71e65cbcbf395be974398e934babde84a273cf1c127453b671b0de3943468f39","03cfb4983fb9ae77a8a547e3178552978859a19e8dac3f03bcdb78d743cf2403"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"a2a875db75ad3e8043e1a5f281598e75ca13e89a71b687a6907d0ef392f21d2b","accepted_id_merkle_root":"701d254bbd90bb24c54d33a561d887ca229c294b3503dc9f05d86eb986a2622c","utxo_commitment":"00cfbd2b89083f59b0b1c27717eda02ef50c90d29e10bddf320c9f66f8801fbc","timestamp":"1791454020914","bits":486804903,"nonce":"11332308151517594091","daa_score":"62112","blue_work":"000000000000000000000000000000000000207e315e0ff8","blue_score":"61799","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"fc69d3136c34b743f49e9b9e93f331f4765357e87fba541da1975d18a4983c1d"},{"hash":"bbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d934","version":1538,"parents_by_level":[["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"96601ac79eb395da082b8fc83df3b93c97b6e108e6efc7b02b841976f3ab378d","accepted_id_merkle_root":"3e828fea845655d8613f629d6665398d8043e46ea10c0b3869ad49e362bdbcee","utxo_commitment":"f5872215dec17eabffc366a433e93d2ad1dec7c73400b8a6e523c970ca76f95d","timestamp":"1791454024040","bits":486804634,"nonce":"234693217973064891","daa_score":"62113","blue_work":"000000000000000000000000000000000000207e70867fb4","blue_score":"61800","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"}],"headers_complete":true,"rule":{"quorum_active":"2/3","floor_total":0.567,"floor_total_exact":"17/30","vote_message":"igneum-vote-v1/ 0x00 index_le64 checkpoint_hash","dst":"IGNEUM_VOTE_V1_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_","key_hash":"BLAKE2b-256 keyed IgneumVoteKeyHash over the 48-byte G1 key"},"stored_at":"2026-10-08 10:07:53.938845+00"},"segment":{"first":26624,"last":26631,"carrier":"bbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d934","carrier_chain_block":26839,"aggregator_key_hash":"0x150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f","paid_wei":"0x177ba848e290b800","statement":"0x38943266bc14f2f37c54fd4c5d114cd6a6a3ae433e39f79a7340ae35b128e00b"},"headers":[{"hash":"bbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d934","version":1538,"parents_by_level":[["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["c85337af308bc2903c0894813ac70758264e31124c3899252706e28d63ab4402"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["b0223bac4bdb12eef4e41429bb12142d1a5f566b55d9dee84c3a19c0b33eddb5"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"96601ac79eb395da082b8fc83df3b93c97b6e108e6efc7b02b841976f3ab378d","accepted_id_merkle_root":"3e828fea845655d8613f629d6665398d8043e46ea10c0b3869ad49e362bdbcee","utxo_commitment":"f5872215dec17eabffc366a433e93d2ad1dec7c73400b8a6e523c970ca76f95d","timestamp":"1791454024040","bits":486804634,"nonce":"234693217973064891","daa_score":"62113","blue_work":"000000000000000000000000000000000000207e70867fb4","blue_score":"61800","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"}],"carrier":{"coinbase":{"gas":0,"inputs":[],"lockTime":0,"mass":0,"outputs":[{"covenant":null,"scriptPublicKey":"0000203609bac1518f1b9aae7cf622a4e6e5b26c87cf41e0db83c7e57795d933c17e25ac","value":308177216,"verboseData":{"scriptPublicKeyAddress":"igneumdev:qqmqnwkp2x83hx4w0nmz9f8xukexep70g8sdhq78u4metkfnc9lz2m750zuum","scriptPublicKeyType":"PubKey"}},{"covenant":null,"scriptPublicKey":"00006a1669676e65756d2d70726f76696e672d706f6f6c2d7630","value":77044304,"verboseData":null}],"payload":"68f1000000000000dd07f6160000000000002220cb7c6e88b13e36fc88232f4c027a63105fbe6b8664e4cd681fd1cc8ea03e7e6fac322e312e302f49474e4b38666165353133613366333065303138326163626362303332343237623164343231316632326233653134356364626166313630346463356464343931393632326436396138363530656434386339356232623133383439306433623266373939396665633165353031326133623264313835393562393963363061636632616336303936353861313561333564336539343461316661636461373035646565663134656237663638363334373061336630646163623361336565333335373330323631633437396436353266653334356130623533666462643234336531396233636338383935353431623532383962303264356236633036666531646536343636363836636564346561333931356531313132303061373466313638393549474e4166326430346135623663646333653364386631383834623366646563333635646331633663386335020000680000000000000768000000000000d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d08fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18000000000000116f0000000000006807d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d099b01ca14f6f0c2f0147812093473d5b4a7336eb07735822e146502ef10ec98300000004ca42dee338f58f6428efaf947b79450211734ec1990f3d04ec9e88cb1827c1443d06555f0d721782e31aa2259159745a167c783eeeb305eee5cc1b12f83ea809f567a84fa10dcabab5f68c712f9553f2f2032cb675bdaba1d13c7901a67a82fddaa199469859c2bde1e1d3c8113ee999db1bc0f14a552d73412f9b629bef24e200000000001c8a790000000000017b4200000057000000ded0e8b46af33889467f6b29c1d7a535a7c8cd810aa1a83753d9c836e19d65c3332b1a81cb413236cf063077b46ed3111628f6c41036bcf6e23ee4cbbf5679ef7a474678f35f7545db28055d5e5bbc308231d84a5a072202087a2a8d5b09123896000000000000000847a3e44ff82dd9f0ef2860234d5cd180e5dc890ce58e1b636aa88834de142c8e86e63eaaf5a0a89e93fffc9e9960cb9fe9935aed4dbcad92d5335de342c493ccfb7298f3de507ecc3c64f03969285f3d0f3afbc5c65212014f4e602c5d14fe06519371528016871b186de5d787aa7d9220ab24352612cf0cfa9754855de96f3f4a02000049474e530100d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d00768000000000000000000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18f53064f416d1bf1ddcbc191aaa5d9e259f1f9e0ecea50ac37c100470022d7618d186a0303b6b318ba0bc77cb16e0ab6fed108173275513183e50e1ccf62ee3d8b93f5ce19d4e9a140f36d15bf7979726d362e7a45ff67efa85b3d3f8eb6a93e370707af0933f3b295ac47cbad0f52e1814b82f86b287cd1e056cce2d45c00b7fbf348828078af6237a8c6be011d19c7302972ae5a4fa3a61a4deaf45611045380100d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d00768000000000000010000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18e8af501860b2b4e8d5ad35e6b4793b02bc1d5cf64741df83a213b441941ca8531e06431bae2e6d78076844198bed586672de59475afc379f9d31624f067045ac95411cd550e899dbdfbb36d17d75ff5bdfd2681138d8755711150692acea38bde68ce714104d87a185acde204806d5ae01f92ef84edcb699c541888b3d14a03d8d24283c095731f29b5f504e6a8b6bb27b6b90d89f815bf04657a1157104ea680100d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d00768000000000000020000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d1833761de44163d14c31dee8a8de0a580434b3cb40dc9687d0255d5cf0b4e7f650e9066945d45571be2d74924cb6af6738d22152dde50059b972456b8973b2c6f1b64c2b3e950fd606813d9d4e034a890abd6c5e1700bba5ea7e1f575e566724deb9c55b390e9c8701187e4d94a3baeea314ca030ed02a43e3f9de606215a8742febc752ec3defed80fd989feac173366d753f40f037c029a25eabe7653c53d19c0100d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d00768000000000000030000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18a471a6f90970c2975310d691ae7b70d94c2f2a109c6af9177a10aed7e3e0b2cd9cbd1836f50be037b9ccdfa5d960db7bcdd07271a3df8d8624365d6d9595ef7a8444bf81ebb6e031717d74a23ec284ec86fb17dca8873dae59e7835357c52bbdd8a148f417f6e95d4f1d4d264813ee64047a2833105662ee66360d7a6463e26cc6a4a823822343d10dbd6708a2f75fe4ee1b7d0cba7d8e71bc0ef2e4cae73554010099b01ca14f6f0c2f0147812093473d5b4a7336eb07735822e146502ef10ec9830668000000000000000000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18701023abfbaf2d30750e7a7ccee9fc4933ea52f7f4f468c0f93978a8eb0156890250dbf3281f2727859bee5f4286786a2a747dbe041540ee5727d451e6cbccbd87f23a47729dac1da7a475909ea3167fbd1ca31ec290d96fc55d94850e494246072ed020cfe9bf431e749a13be922b1d0b30b6e90671b871bec64ccc7108506df6e1d6d8868ab99bdde06c367ac22a6df81bac2f85e26265fbfa8fa79cf0dfe7010099b01ca14f6f0c2f0147812093473d5b4a7336eb07735822e146502ef10ec9830668000000000000010000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18d0a0751658f37c2cada22f6e2c7ddbbbcd9da701a8518d1475626e8ef7c956132e1d93d8c575238f4762bb4fb61688e05a80b048c5304da266ab60e19e230633b36f1cdf6aac2fbbac795fd33c0f3f38415b82576d06c514351c6ce1fe8273491cffc2fe86999723f70dfbc1b7f5bc3f00410f04941b7f17e462733e5d97082db95ab15b7d142396c996356e02ba6ad2a4ba4dc0fdea4df175ac7421fb32734501007c5c477c7d872127fc39f4db56e047b106092f0005724ee37fdb16cfad62b47d0568000000000000000000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18eb4ef8e1f2c53b5d0d2c54a7aad79f9281b06e0e8ff9de328ca89604c5e9e1a56d475fdd4def4eb84a2bfcc347a1322db4277e9217a12bcd8b10d43f846339de89da17fd52168b4a99cc201b67fbdd9b24cd52121f7f4e1cd57e831346530939ddfd2d89fc7924e2570d7997f4bd3a3a12454ce46c1b8c28751faa95c0852ebbe38e75d97f99fb8677b55846e1f0ca62f838088c715c6344e02d6420d40235d101000fdc2654ced31abaf9a445cb802754e44066f8a8f469b957296739f6af74ad2c0468000000000000000000008fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d187f1143479d88298a3638ae9d856725de9fc9342fcc1ed373a9d1cbb173ff1e224563e589de499008a0b72f0fd48f2cd95d9e39aa8a9cdeb9f5a2456f5af35e6596fcbbc5bd7bd87e808b4772602076123420d72915e6dc06a7c4c9676d355d9df5c974e7361852ebe90a49360484c12517803b6dbf83c0cba6f270e7a7de899dd96db79c331e3c3d40880d853d2795ba16229e06ce089bf13fb0abd1423dd1089008000049474e50020a08000000000000a529425d2c6a9d4dd8e4efdea882926084d01233746e3cc7091a733e899961871d000000040000009f05ee1bb07ceae0e0a1964f5e697c583b500cb7462820eea2831fdbe5890644eedbf3d38b25a80c78382eb0398c543d00d6f2c60a6ebd5ead89a7e1ea90b856e8f6d00d1172cd874ac42e841a7c9e9b78f0621f7c1a4756d0fb602cb539b347c1309e260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b08000000000000b28ba63872066a00156b23413e8f8650013748e9d8af36851b78d4e4161100a7a91a322e77979252dd93135f67c5dac4b3c410c986b82d652d76af4df50ac3147b7617f8c9b06d8def3a2e0bb18c9dfb966a91d767d302fd6d68e7d5493b09ce1f2a8ee144a501e15e8239c649b534f028b66b815f6b48e97bafa50729e8ff320d4adfbaa26b649074879f5073f2d6520ef192b1a6c453011f1a887bb011e9b7aed4110be08188e78ceac3c78aa8540f83e1276604061a2a9f5f23f937f16b0242644b372745cf490fe57b5c4664b1ff436813a05a7d95330ff5adaea1c531fd04cc9eeeb5e6be76c5cf5e30e02125f475b7c6b18783d7ece996631c5929090ba19d55bc79a7145d8a159c15652893172e02000049474e46","storageMass":0,"subnetworkId":"0100000000000000000000000000000000000000","verboseData":{"blockHash":"bbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d934","blockTime":1791454024040,"computeMass":0,"hash":"96601ac79eb395da082b8fc83df3b93c97b6e108e6efc7b02b841976f3ab378d","transactionId":"35f092c2c76e2e74e07fdc18038e32e1c5fc5cb83f4d63fc896a3819e719659a"},"version":1},"evm_tx_hashes":[],"leaf_index":0,"merkle_siblings":[],"amount_wire_len":8},"segment_record_hex":"020000680000000000000768000000000000d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d08fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f798db0505bbb03dffb58875897eeedc4e790a68d18000000000000116f0000000000006807d9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d099b01ca14f6f0c2f0147812093473d5b4a7336eb07735822e146502ef10ec98300000004ca42dee338f58f6428efaf947b79450211734ec1990f3d04ec9e88cb1827c1443d06555f0d721782e31aa2259159745a167c783eeeb305eee5cc1b12f83ea809f567a84fa10dcabab5f68c712f9553f2f2032cb675bdaba1d13c7901a67a82fddaa199469859c2bde1e1d3c8113ee999db1bc0f14a552d73412f9b629bef24e200000000001c8a790000000000017b4200000057000000ded0e8b46af33889467f6b29c1d7a535a7c8cd810aa1a83753d9c836e19d65c3332b1a81cb413236cf063077b46ed3111628f6c41036bcf6e23ee4cbbf5679ef7a474678f35f7545db28055d5e5bbc308231d84a5a072202087a2a8d5b09123896000000000000000847a3e44ff82dd9f0ef2860234d5cd180e5dc890ce58e1b636aa88834de142c8e86e63eaaf5a0a89e93fffc9e9960cb9fe9935aed4dbcad92d5335de342c493ccfb7298f3de507ecc3c64f03969285f3d0f3afbc5c65212014f4e602c5d14fe06519371528016871b186de5d787aa7d9220ab24352612cf0cfa9754855de96f3f","account":{"accountProof":["0xf90211a091bd28113d49f3024f7aef69db4c60ad03c19a9231ee151c3d31a8f49d0964f3a02c49dcd825aa010a76f65aeb2fc3cc7c956ca2e5b24554e8b86038c1df9e8734a066281a2855039965d722a50896846a27a6c0cd3813812c7696f1bdaf7ecb367aa006f7866f63dbeed386f63ccf15fbdba801b117554a87347ec4779db8b2d54ea3a016be6ec5e2236dcd8af68fcbcd66061f1a12a344f4954be9284393181a3ab686a0a8e58e6c37b2178194ab83d50189900bae6d062ab72060b1221425bb026c5079a0bee8fce3b7d084e031e7d728d36cf2ef9e7109b333e3844500b1c06681a1e951a04826a4ade756525c5fb85b28057f16fe66cb6a965851f5144e2c9049cd176421a01290314370587f1d2301c3dbae85d059dc0a7e303aae2fa4e6b422301eba670da08aebe8ce37d4ab7f3e39fc1f9f8e942af54cd30d4ee7f4e542056747965e5499a00d0225fa5b596ea3c7b8b1063e4035f91794bd1f668bce43f53a139db158b089a043115c276e8391ae1b89f32fd6bf315b391292a605476486a61489ef1b511363a0b7902acb047d85fde7c1ab599110e3c8a5deba9979ff0660db8d67dd4a1b5647a0ef8869c9bbf880e2867f9e980d0d9a61d38fd6692db8e92543064c3b4c5e615ca0c1dc06de19ec86ec9fb038cd8edf50ff74e0d9ffcbdbb3a274fc29866a41eddaa09cab6531aa0c821d37a83328d7f209362484c9754de6d59a64ca76f5fd60b1a780","0xf8b1a0cc5d560c46349a30f59d9d66044b8e2956dba3a2660815c63781295d886a733480a08731c3086df92b1cf9bd9858c18847f70f61b21ed113b190b909768e5dbaeed48080a08aeb043aad4672416fee4d05929c4025d1ac17264fefb1452924d57f190f4c1580a0354f7407d07089cecd1cc17d90f3c849004080672a64d60a1e50a5cc580499788080a019dd5fd31b4bea4dda4074b028a73ac0824874de838393f9bc900264250e0cb0808080808080","0xf872a02010465c006aa1fff74fedecd19899668673815284efadcc65bb9e81efeb92dab84ff84d808904fd29d670ca6e0400a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"],"address":"0x636de2dcf1dd0c5f955438d569390f0c7cc944ea","balance":"0x4fd29d670ca6e0400","blockHash":"0xd9df7379e08a2276fe2512f2b1cae301e41071eabc510f2989a1b5ab5cf1a0d0","blockNumber":"0x6807","codeHash":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","nonce":"0x0","stateRoot":"0xf567a84fa10dcabab5f68c712f9553f2f2032cb675bdaba1d13c7901a67a82fd","storageHash":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","storageProof":[],"evm_chain_id":4463}} \ No newline at end of file diff --git a/tools/reference-apps/fixtures/dn3-checkpoint.json b/tools/reference-apps/fixtures/dn3-checkpoint.json new file mode 100644 index 000000000..d823fd298 --- /dev/null +++ b/tools/reference-apps/fixtures/dn3-checkpoint.json @@ -0,0 +1 @@ +{"ok":true,"now":"2026-10-08T10:14:34.652Z","source":"dn3","network":"igneum-devnet-3","chain_id":"igneum-devnet-3","index":2073,"hash":"584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6","blue_score":62191,"daa_score":62504,"certificate":{"bytes_hex":"1908000000000000584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a61d000000040000009ce1ca1b8944347aeeedf9539c2f6f85ea1b62593781a1b800fabfdcab67c7f371fa9e484c50007adce2b0bc097cdbb9b7e57d550af693c85be168b937c6d7c64a5b6cf8d228c1b578539b551194560829f40a3b5bee1a3835d6abd8b55d97625b28ca730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","voter_count":29,"bitmap_hex":"9ce1ca1b","aggregate_signature_hex":"8944347aeeedf9539c2f6f85ea1b62593781a1b800fabfdcab67c7f371fa9e484c50007adce2b0bc097cdbb9b7e57d550af693c85be168b937c6d7c64a5b6cf8d228c1b578539b551194560829f40a3b5bee1a3835d6abd8b55d97625b28ca73","aggregator":"0000000000000000000000000000000000000000000000000000000000000000","aggregator_proof_hex":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","carrier":"87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e"},"voters":[{"pubkey_hex":"9928c2b0b675e2c4e229872361dca13ccbe10c729999742afabaad4e7c1c37021e26db63bfd995fee85dcb2956e5d40e","weight":400,"participation":1},{"pubkey_hex":"86d4055487dad49b54a9a917ce9e3ccc40cbdcc02e871f06581ec30b5f00b8e723a7095473e05659bbc2a312acaacd55","weight":137,"participation":0.85},{"pubkey_hex":"918f8ffa2d4bb5c0976e61773bb9f5d2eec563faf265c8816e728e50a25ef974027ccd24ceac52daf7a39c9ce09d646b","weight":425,"participation":0.95},{"pubkey_hex":"a91a322e77979252dd93135f67c5dac4b3c410c986b82d652d76af4df50ac3147b7617f8c9b06d8def3a2e0bb18c9dfb","weight":169,"participation":0.95},{"pubkey_hex":"8fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f79","weight":213,"participation":1},{"pubkey_hex":"847b27c67fc39952d872c1fdb735c2c90fe390535f95b62d888190da51911967ef2dd7f7ff6f0ba26da0afd1aba9b0bd","weight":188,"participation":0.95},{"pubkey_hex":"ab0e69ce66b7bd1390afcdda40957712f20bcf703d14e1a33590f4040c8e4a52426428d3e14eb86f13f3f18cd29d90b8","weight":124,"participation":1},{"pubkey_hex":"b9aa12603d7eb40358ba4a749601c788f5cd160499734166bf517157762f7b87709fa0036123b04fdf16d0ff6cd843d0","weight":155,"participation":0.95},{"pubkey_hex":"a51fd976484399e2fbbe056d6edffac5746c835c42d7370f18d54a422ad1b6b9c77dec59cb5fdf29650227677befa29e","weight":289,"participation":0.95},{"pubkey_hex":"a7d1712d7c632f78233d0e88e437cf34d32b91685aa4a0a035649b8edcbf4255818e7d9366f26ef7668f02eb60c1eedf","weight":236,"participation":0.95},{"pubkey_hex":"af9c8c9e98d1faf0a141fbfb3cd20fd24a22d26e62d57b2dbee1ab2c734565f40c02c659d302e9ec3c34b7624626dd8b","weight":223,"participation":0.95},{"pubkey_hex":"a5e9f7ad42098dad804afc3b7b111d21fb7fd3ac907ed8858e24fb6acc07b22334607265be343f8ecb2e4ac86bd04040","weight":93,"participation":0},{"pubkey_hex":"91dc73280dde5971f9acbe49a39e0fd0268f9b79c488e4ee765bb11f90928bbd13ddcad19d7e316c6f2bad1393ed0329","weight":73,"participation":0.75},{"pubkey_hex":"964fb61b48ff085dd22fe3725fbce47af51ba5e8f466b4ef7ccf8beb5def296e669ad13f8b19c93709ab0f25ad7bbb98","weight":238,"participation":0.85},{"pubkey_hex":"a5c164cafce7f7d3c94f8209610f4fbdb799b4e4a8670acc151633ca66ec5dc0f8b206f605f66da396f4f86abb9a0367","weight":419,"participation":0.8},{"pubkey_hex":"a29b0b504f24de7e18c95da6541cc3404264f66fe3cc84cd5cd3f429d62fdc960702bb94142204baffc6ee849b2775b4","weight":357,"participation":0.95},{"pubkey_hex":"adf46d528e5d15b653cc8171bd1b5a3f5e7c2e90490964d345753dc50781ac62805c5e90e1dc928c76bf386fe18f1963","weight":118,"participation":0.95},{"pubkey_hex":"b9b9b078f2d6a03b0a3e6c395edd5fdaf73532e5b41e5d9fb9a4cbe29e7903b772a0d9ad133d7d22f60dac38cde0e62a","weight":175,"participation":0.95},{"pubkey_hex":"b273366b48f4de898b7a5454236f99c4ca160b5160fc758652b50e7d8aa17c15d012a7763c1b7a8a489011c40d73016e","weight":226,"participation":0.9},{"pubkey_hex":"9825a3571f08e4c7125eb27a2e39409f56c446015f2cd12f84428048eb38630ce50fee44ee0d084d77054d275654e1b7","weight":800,"participation":0.95},{"pubkey_hex":"8d059b79cbd4bc995da4d927ce07af9796c36fde60b6f61f4eb620f15302b3df1619d7ecbee92391a5a183d859cb0634","weight":51,"participation":0},{"pubkey_hex":"a81c2107b52192dc4844a859cf893e0e0546109105349a9959299285351d07de69c98ac210d81159991f00476a639f49","weight":304,"participation":0.95},{"pubkey_hex":"a656a841f22beb6c94b5ee03bcdcafd99d00fbb23fea7d5fc9048d5ebb731324188a88827e0fff3c3ad39a8445bf3789","weight":179,"participation":0.95},{"pubkey_hex":"a1a0b8b7eb79cd45bbfc1db1d44d94bcc3ceb683b2b4e2e2617b0d451eae58c14435b9627da281e0ea69591dbe8aad6f","weight":137,"participation":0.95},{"pubkey_hex":"ad7a53e9f2d5269aa1ef8e66adb7ae1e0d1042735786e0f1b0b88985131b8da4fdf769fd5a3ca6e8f0984a1da710ffdd","weight":310,"participation":0.95},{"pubkey_hex":"8665f209eb05ab653a144a3a5682dd1400a81ddac1bcc3fcee47d6b7db83754fe00531f2ffd710fa3a5353dd34fcc5f2","weight":151,"participation":0.95},{"pubkey_hex":"832a731927366ec7f43f33efaad01f859bf21d69b30c7a645772ecde382a50680fa03ceac4d325fea6c8506af7917cc8","weight":93,"participation":0.85},{"pubkey_hex":"aedc45a38203c1fed00b520084b17f8239c6894bfd593bb2c94613f6b0177b7d530773536805f2e723d46fd3535b6dd0","weight":480,"participation":0.9},{"pubkey_hex":"9132e86d8eedf6956cb7a1c57a3e0d830d0cdc2bd07fa7b4fe5ab8c8850ee8960a549b74b3c22c268077b8d94dbf410b","weight":426,"participation":0.95}],"voters_at_index":2073,"total_weight":7189,"active_weight":6570.05,"previous":{"index":2072,"hash":"b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"},"headers":[{"hash":"b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5","version":1538,"parents_by_level":[["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","53f499f448192bbd99955c89d7e53cd021c1fe98b9380135bf5f75596b020194","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e","3083e5fdb3f9e232b4d6df43c59f74b65ae5995efad4d234dca6f9ffbb24ab43"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"1bce746be8a3ea6fde607b2447bbb2ea5e8e49b0192e11a31adb35e9f8d0c48d","accepted_id_merkle_root":"a5d56f78e1f39af592a80619852b8521eb5ac0b23d725076e95807d4a0d0b3c6","utxo_commitment":"aab8d213f4ed049b964d9c78e7c247a7bbd70e52ffe14cce54b952e61b21a7ff","timestamp":"1791454383229","bits":486807493,"nonce":"9806440952826955915","daa_score":"62474","blue_work":"00000000000000000000000000000000000020d763d16cb6","blue_score":"62161","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","version":1538,"parents_by_level":[["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["b6fc8cd267467f81fab6d1b428803b3712a490455bcb0732a7f4da9528d223c5"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257","2906300e71fde8a8cfd0a7623c9d7f9d8da1e6038cf19154b1a73d6e019e140e"],["941818655c2ff5b0eaf50d470499eca5e007391dd1c34fb74cfea27dfa78da17","742af9c94262e2d936a203a044986585e3f84d6cdbf3137a785bfd1e2af96257"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e792ee9918a7ed8f88b6e2131f042b3cb4831ef8fe8925045619e132a5657cc4","accepted_id_merkle_root":"12ebb2c767d6b7c1cdd6a539c34be0fe092aa22d8e2e7042460150141b368e21","utxo_commitment":"248a3f0c05de72cfedc5cb6a041535d0fa2ee7d1670413004862fbf8de44fc05","timestamp":"1791454385279","bits":486807872,"nonce":"11331325892495892558","daa_score":"62475","blue_work":"00000000000000000000000000000000000020d7a25dbd67","blue_score":"62162","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","version":1538,"parents_by_level":[["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["e61f5f990d97946f445f7fd09181050bddced64f88bb18cdb3de950057e25db1","06e6e73db5114ecf419fba9a69f040d559a08e71f35f534b06ed5e50491469f2","50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["50330a7235b15ad32b14794a1fe81a2f5098e8911c7775dc3b83213d42b9ec08"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"b3bf62fffde8116ccf60d8e1a1428c17bdfe489afc8567b9423235e6d6b0d40b","accepted_id_merkle_root":"baadea9ceaed2705c017d70df76e4c20174b13ac273f4ef20c08b244db1ce621","utxo_commitment":"bb294e2e4854e89a7de2ea66d70a668a0d7b9396fc35d27cf04cbe5f9a50c4a2","timestamp":"1791454387062","bits":486808765,"nonce":"13689219691975950748","daa_score":"62478","blue_work":"00000000000000000000000000000000000020d85dec17a9","blue_score":"62165","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"},{"hash":"9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","version":1538,"parents_by_level":[["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["be8a4884562d4ebc9dbde5d3aa38703b9a9947130fb604461553e18e869f76e6","b077a8d25bee13f401d545e2849f2d7fe52256e88f676f2f2be77a980b92caa4","4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e1fc9812c5e3b09dfc9b41e565d3b9900b163e73b22204bc21fb9c07da723f4e","accepted_id_merkle_root":"b30c70446b74d14481d5bfc4e169926eaa9ffbe9b37cc9e2dc9dad49ef960271","utxo_commitment":"6a38938a9bf56e8aa25e50a7132e53e0be1266ddad380f7a72e5d914c6071006","timestamp":"1791454389556","bits":486808225,"nonce":"13135163825551323749","daa_score":"62481","blue_work":"00000000000000000000000000000000000020d9191846c8","blue_score":"62168","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4f342bdd527c7f7c291df6816da57c3b19b0920a4604b9eb90a4915ffed88418"},{"hash":"f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","version":1538,"parents_by_level":[["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["9fd69d881d98acfac0ccb7ec4fbfb61871806e14b0338f3fffd01f3d352acd13","85da7dd7ab6602db3d170b184bedec9a3504ba005810da3501914810678bdd68"],["4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"4e29d352e8560178ba0edaf20aae27d8a2fb1f381e349095863eca9f2089a56d","accepted_id_merkle_root":"c5fdd585cbdf9555f3c1c4042afdc9d0ef723c767d9acd1e3a91f7fbb481632c","utxo_commitment":"5c81ec6f29b90682170c1bd8ae913a7b844b91383fe38e1d44ed28a148eced76","timestamp":"1791454392689","bits":486806063,"nonce":"2224279295343779262","daa_score":"62483","blue_work":"00000000000000000000000000000000000020d995cd2c17","blue_score":"62170","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"befb7dfaf9638375bb11f30f5f9446c465eac043adcc75d8428d2eb48d3636e2"},{"hash":"4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65","version":1538,"parents_by_level":[["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","0403aa3ed223f12af3e567033c8bb43838cc2e6913e154477da7895e3d030b3e","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["f2a63ec10be5e5ebc35d23ebdf726ece541df4a30ecbf80996c80826a3ab4507","ae0b20e13ca107583fd8140b4dfbd50be37277084aaf3e179f5f13d2b0f5c76d","6379c9d6d4ae2188b19ad1e911a826e0e39b327984da3ba904d606d9be69617b"],["4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"fbd11f9303b37c0fbf331ccbb6945a1a434a67c30544dfd1d7d455977df4df43","accepted_id_merkle_root":"426854b5c0647e82f997596d1c6a6e785550742c434eb1bd37725378fc28b408","utxo_commitment":"2f24dd1feaf77f2bbfa428d0461638967c6a95916c9ee15a38500a95c61dd95c","timestamp":"1791454393964","bits":486804706,"nonce":"14299830519522743607","daa_score":"62487","blue_work":"00000000000000000000000000000000000020da91451507","blue_score":"62174","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"befb7dfaf9638375bb11f30f5f9446c465eac043adcc75d8428d2eb48d3636e2"},{"hash":"5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d","version":1538,"parents_by_level":[["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c640801443adfd937bbc6c8392fafebb50ce3fd490380744260db439e4eda65"],["4c90056a4c04ce565578febefce74e24513be43fd76e103f70691d702943fa68"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"032ac4597fe232c33f787e25ee152d0153891396c3bccd67f0943c64e7a461e3","accepted_id_merkle_root":"2b9a5ab807f3df416dff9f818c4674906be66916a1d73da48c08b3231c9ec649","utxo_commitment":"420d38362c77d692b10233789ac0d148d2672624e5fc5bdf6723d3038db47241","timestamp":"1791454397135","bits":486803507,"nonce":"6165388105602898249","daa_score":"62488","blue_work":"00000000000000000000000000000000000020dad07984a5","blue_score":"62175","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","version":1538,"parents_by_level":[["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9db8b343d7464b4d5eee138eff7990e6daee3ecd1a8d79446a67904944aa2c28","accepted_id_merkle_root":"ab89bba9c5ed4098dc3303963922fa9f169c236b10f18533945a0196c0373ae4","utxo_commitment":"83afd38960fa07d782d3aa73f022949a6be3d65ebcc26e2134076ee86982b32f","timestamp":"1791454401838","bits":486804411,"nonce":"8431543040021771680","daa_score":"62489","blue_work":"00000000000000000000000000000000000020db0ff75f6a","blue_score":"62176","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"188ad3d3f6c9e6f40664d80ce742f1bd61c28f18ea68b5f51d5c254dc8e54d72"},{"hash":"bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","version":1538,"parents_by_level":[["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["a555aa00c7751308b3f8b6266f80223826b58a626f730f227d525f2de2069edc","788ef345a0f913e682b789d8607c41272fd2794f101a1252b053abd1769c1fa0","553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["553f7ca88c05e7c3c9152a35ca8fbe640968a8876a559fe82b83d56feaaeb714"],["5ce6fd47068bc414392fbb4c8e526381496c0f4551e66fe4a531cb4e5e039f4d"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1","4b1aaa41a67163a31313fc7df958156a89ce50044784a21d4d0150486e9ecdcc"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["765dca20e85777222f30f24be0aa87ff57d622958c183886db0c994eda889dd1"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"0ab6b2cf59f39e3a0c559f54f8803bbcf1f78433a377e17d8c262f5105009e9f","accepted_id_merkle_root":"14c00d804891780475580d3e40c5e4b6b3fe47a9b2046b4fbfdde120718b08c8","utxo_commitment":"314e24c100eda1c1d7e1255e8a097e11b5d0ccc361f41cb3b2c875b59ffb8bff","timestamp":"1791454405068","bits":486806593,"nonce":"843366023127751684","daa_score":"62492","blue_work":"00000000000000000000000000000000000020dbcdcaaff4","blue_score":"62179","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d5e75a4f2ba0f288eaaffd4639883922a5059e0fc7ea59cbe6dc230bc8941f56"},{"hash":"b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","version":1538,"parents_by_level":[["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["bc8304e8f635813301e8fdbea30ce68def57cb0282f1182ecf7e2b69010bc9be","8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88","bc72668ea80b8022546bc2d7febf98f9a10bc6db2fa6194453b0f828557be27d"],["8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6","14a7a7dc07cfccf0dbc83a3260791822b79c02a8e1c8f029f9e4781cb2132f88"],["8ce252758a4c20f44237cd8fcbf4a313f3751bfb43f15c27dd0a6d70ae9a584f","1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"c88b627268df0e213a7de7d76ef2bf8ce3de0399bf3cc6f1be3d83c26a97fe83","accepted_id_merkle_root":"1b707e9e95b4f594e68802cb95ed6250394dc14d74d7f6b2e8e945b6c29988f4","utxo_commitment":"da63c70e5aaee545802bfdba8e607eb81736f09149b718d47ddafd45b7f1b7fc","timestamp":"1791454408365","bits":486806561,"nonce":"351908407397842287","daa_score":"62497","blue_work":"00000000000000000000000000000000000020dd085b8dcb","blue_score":"62184","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"fc69d3136c34b743f49e9b9e93f331f4765357e87fba541da1975d18a4983c1d"},{"hash":"ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","version":1538,"parents_by_level":[["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a","a25ab6db8c1985e0db1393941fb1f07f0ce86c903fdee4342b434ab7c5af83f9","a242f80cb8f4bd161245fe2b6e377228a8aab3a1c3b4cc9f8f35835ca8d1dee9"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"da3d291d97e7496f7a5f25333648844cc73a06873cebc3dfc5b906f0b168c7dc","accepted_id_merkle_root":"f137ad5edc2f14e13f55612b330dd034bbdea1a7265604d759fdf345d6cd3960","utxo_commitment":"e45fc8b94e24149fe6f2caf797e4e8b9ea4db72b57992c7b4822d209d9dbc7ad","timestamp":"1791454410117","bits":486806455,"nonce":"144994767324999535","daa_score":"62500","blue_work":"00000000000000000000000000000000000020ddc4c0ad55","blue_score":"62187","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"},{"hash":"889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","version":1538,"parents_by_level":[["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["ec65cb0de8aa90f601fc63a30b8748b79eb2683ae806ebf84ff7af637ac5c1a7","d5660782ef2339e658ab94784ee0d90da5296671bede32fb9adb8d7a585d9687"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a"],["b303ba0e92291e042317bcc73da70628f0ec185082622fcccb21de55c8f0553a"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"aef071fda0c827d993dd5a6ad5e60b96f7eec6b84fea9b5dbe8d96951b4abee5","accepted_id_merkle_root":"9d0253d70781dcc9e312a43b956e99bac56853df2df993ac0eb1c2ff51c13c97","utxo_commitment":"7862c260da86f0acbf981b159277520c2c212aeddbce1f513191fcaef7096ced","timestamp":"1791454413146","bits":486806058,"nonce":"2290275900255699570","daa_score":"62502","blue_work":"00000000000000000000000000000000000020de424f581c","blue_score":"62189","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6","version":1538,"parents_by_level":[["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["889d7da8e5356973d335324a448c976f80857e34c307ba8709142645bf9c20dd","4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["4d50f94741a7fadef78b3cf7c0087a94288f549227d1d42f6bb56e3212a3d3f5"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"8cd65577999f03ad8fea02f90d3af3b60d5dcb13be60a447f7ffe9cc4fc84f3d","accepted_id_merkle_root":"db89bb72387e22d0f98881dd95f972bf969a7e4a0aa6d8810f1ddf9d3e44411d","utxo_commitment":"4887bb257404d69928e02bc4d2401aa7bcc18e469037ba6fc086ce4cbf1f24d0","timestamp":"1791454414223","bits":486805296,"nonce":"8348923008996234332","daa_score":"62504","blue_work":"00000000000000000000000000000000000020debff6a6f6","blue_score":"62191","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"}],"headers_complete":true,"rule":{"quorum_active":"2/3","floor_total":0.567,"floor_total_exact":"17/30","vote_message":"igneum-vote-v1/ 0x00 index_le64 checkpoint_hash","dst":"IGNEUM_VOTE_V1_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_","key_hash":"BLAKE2b-256 keyed IgneumVoteKeyHash over the 48-byte G1 key"},"stored_at":"2026-10-08 10:14:30.409303+00"} \ No newline at end of file diff --git a/tools/reference-apps/fixtures/dn3-receipt.json b/tools/reference-apps/fixtures/dn3-receipt.json new file mode 100644 index 000000000..c3b0822c5 --- /dev/null +++ b/tools/reference-apps/fixtures/dn3-receipt.json @@ -0,0 +1 @@ +{"format":"igneum-receipt-v1","issued":"2026-10-08T10:26:49.686Z","chain_id":"igneum-devnet-3","tx_hash":"ff36cb16f23adffe82968d621346d5215775ffecd0deda1d8bf3db2c2cbf7501","raw_tx_hex":"02f87682116f824cbe843b9aca008565697ae28e82e902947be2f2601e6b269061d1375b2edd7ef58a6fa861870297d486920a0080c080a0f899a77d8d24e58c69b30500f4bbc83ed33ac530898f790893582b12ee14c89ca036398e03d40f19f5c11080a77dbc0dc455b1b348ce3eacc12fa241aefce9d22f","checkpoint":{"hash":"f52c685c3c4b4bdfe1b7393f50aacc677b8fc518565034c3054aa4675e7761b8","index":2079,"chain_block":27039,"certificate":{"ok":true,"now":"2026-10-08T10:17:42.131Z","source":"dn3","network":"igneum-devnet-3","chain_id":"igneum-devnet-3","index":2079,"hash":"f52c685c3c4b4bdfe1b7393f50aacc677b8fc518565034c3054aa4675e7761b8","blue_score":62371,"daa_score":62684,"certificate":{"bytes_hex":"1f08000000000000f52c685c3c4b4bdfe1b7393f50aacc677b8fc518565034c3054aa4675e7761b81d000000040000005fb68e1995436f87ef6e84d5b6056598312ff65f3b8123615101cc68981327e1cd85632461a73ff80d2f9d82c7c36943c6b0935c010b878fa83f9ca3d2075bd4440a9e16418d935071841538d76cc1ef129ca57312c25ccd428855d7e9b51a71de6b04ee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","voter_count":29,"bitmap_hex":"5fb68e19","aggregate_signature_hex":"95436f87ef6e84d5b6056598312ff65f3b8123615101cc68981327e1cd85632461a73ff80d2f9d82c7c36943c6b0935c010b878fa83f9ca3d2075bd4440a9e16418d935071841538d76cc1ef129ca57312c25ccd428855d7e9b51a71de6b04ee","aggregator":"0000000000000000000000000000000000000000000000000000000000000000","aggregator_proof_hex":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","carrier":"85e995be3ab2edd573b6b27d8d7c65fb2942bcd1d436dac41a04bbf9297ffbca"},"voters":[{"pubkey_hex":"9928c2b0b675e2c4e229872361dca13ccbe10c729999742afabaad4e7c1c37021e26db63bfd995fee85dcb2956e5d40e","weight":398,"participation":0.85},{"pubkey_hex":"86d4055487dad49b54a9a917ce9e3ccc40cbdcc02e871f06581ec30b5f00b8e723a7095473e05659bbc2a312acaacd55","weight":138,"participation":0.9},{"pubkey_hex":"918f8ffa2d4bb5c0976e61773bb9f5d2eec563faf265c8816e728e50a25ef974027ccd24ceac52daf7a39c9ce09d646b","weight":418,"participation":0.95},{"pubkey_hex":"a91a322e77979252dd93135f67c5dac4b3c410c986b82d652d76af4df50ac3147b7617f8c9b06d8def3a2e0bb18c9dfb","weight":175,"participation":0.95},{"pubkey_hex":"8fae513a3f30e0182acbcb032427b1d4211f22b3e145cdbaf1604dc5dd4919622d69a8650ed48c95b2b138490d3b2f79","weight":225,"participation":0.9},{"pubkey_hex":"847b27c67fc39952d872c1fdb735c2c90fe390535f95b62d888190da51911967ef2dd7f7ff6f0ba26da0afd1aba9b0bd","weight":187,"participation":0.9},{"pubkey_hex":"ab0e69ce66b7bd1390afcdda40957712f20bcf703d14e1a33590f4040c8e4a52426428d3e14eb86f13f3f18cd29d90b8","weight":135,"participation":0.95},{"pubkey_hex":"b9aa12603d7eb40358ba4a749601c788f5cd160499734166bf517157762f7b87709fa0036123b04fdf16d0ff6cd843d0","weight":161,"participation":0.95},{"pubkey_hex":"a51fd976484399e2fbbe056d6edffac5746c835c42d7370f18d54a422ad1b6b9c77dec59cb5fdf29650227677befa29e","weight":281,"participation":0.95},{"pubkey_hex":"a7d1712d7c632f78233d0e88e437cf34d32b91685aa4a0a035649b8edcbf4255818e7d9366f26ef7668f02eb60c1eedf","weight":234,"participation":0.9},{"pubkey_hex":"af9c8c9e98d1faf0a141fbfb3cd20fd24a22d26e62d57b2dbee1ab2c734565f40c02c659d302e9ec3c34b7624626dd8b","weight":230,"participation":1},{"pubkey_hex":"a5e9f7ad42098dad804afc3b7b111d21fb7fd3ac907ed8858e24fb6acc07b22334607265be343f8ecb2e4ac86bd04040","weight":93,"participation":0},{"pubkey_hex":"91dc73280dde5971f9acbe49a39e0fd0268f9b79c488e4ee765bb11f90928bbd13ddcad19d7e316c6f2bad1393ed0329","weight":78,"participation":0.95},{"pubkey_hex":"964fb61b48ff085dd22fe3725fbce47af51ba5e8f466b4ef7ccf8beb5def296e669ad13f8b19c93709ab0f25ad7bbb98","weight":224,"participation":0.9},{"pubkey_hex":"a5c164cafce7f7d3c94f8209610f4fbdb799b4e4a8670acc151633ca66ec5dc0f8b206f605f66da396f4f86abb9a0367","weight":411,"participation":0.95},{"pubkey_hex":"a29b0b504f24de7e18c95da6541cc3404264f66fe3cc84cd5cd3f429d62fdc960702bb94142204baffc6ee849b2775b4","weight":355,"participation":0.95},{"pubkey_hex":"adf46d528e5d15b653cc8171bd1b5a3f5e7c2e90490964d345753dc50781ac62805c5e90e1dc928c76bf386fe18f1963","weight":121,"participation":0.95},{"pubkey_hex":"b9b9b078f2d6a03b0a3e6c395edd5fdaf73532e5b41e5d9fb9a4cbe29e7903b772a0d9ad133d7d22f60dac38cde0e62a","weight":187,"participation":0.95},{"pubkey_hex":"b273366b48f4de898b7a5454236f99c4ca160b5160fc758652b50e7d8aa17c15d012a7763c1b7a8a489011c40d73016e","weight":219,"participation":1},{"pubkey_hex":"9825a3571f08e4c7125eb27a2e39409f56c446015f2cd12f84428048eb38630ce50fee44ee0d084d77054d275654e1b7","weight":783,"participation":1},{"pubkey_hex":"8d059b79cbd4bc995da4d927ce07af9796c36fde60b6f61f4eb620f15302b3df1619d7ecbee92391a5a183d859cb0634","weight":51,"participation":0.05},{"pubkey_hex":"a81c2107b52192dc4844a859cf893e0e0546109105349a9959299285351d07de69c98ac210d81159991f00476a639f49","weight":302,"participation":0.9},{"pubkey_hex":"a656a841f22beb6c94b5ee03bcdcafd99d00fbb23fea7d5fc9048d5ebb731324188a88827e0fff3c3ad39a8445bf3789","weight":190,"participation":0.95},{"pubkey_hex":"a1a0b8b7eb79cd45bbfc1db1d44d94bcc3ceb683b2b4e2e2617b0d451eae58c14435b9627da281e0ea69591dbe8aad6f","weight":143,"participation":0.85},{"pubkey_hex":"ad7a53e9f2d5269aa1ef8e66adb7ae1e0d1042735786e0f1b0b88985131b8da4fdf769fd5a3ca6e8f0984a1da710ffdd","weight":312,"participation":0.9},{"pubkey_hex":"8665f209eb05ab653a144a3a5682dd1400a81ddac1bcc3fcee47d6b7db83754fe00531f2ffd710fa3a5353dd34fcc5f2","weight":156,"participation":0.95},{"pubkey_hex":"832a731927366ec7f43f33efaad01f859bf21d69b30c7a645772ecde382a50680fa03ceac4d325fea6c8506af7917cc8","weight":96,"participation":0.95},{"pubkey_hex":"aedc45a38203c1fed00b520084b17f8239c6894bfd593bb2c94613f6b0177b7d530773536805f2e723d46fd3535b6dd0","weight":462,"participation":1},{"pubkey_hex":"9132e86d8eedf6956cb7a1c57a3e0d830d0cdc2bd07fa7b4fe5ab8c8850ee8960a549b74b3c22c268077b8d94dbf410b","weight":425,"participation":1}],"voters_at_index":2080,"total_weight":7190,"active_weight":6667,"previous":{"index":2078,"hash":"7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"},"headers":[{"hash":"7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1","version":1538,"parents_by_level":[["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9"],["3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"4c7c48e50b7101d9e1d2c44cbe125158cb3d1d6df04f690600ac82669df5fed3","accepted_id_merkle_root":"c36a37d1ad3c77875c2bf3ed5c41c54ec9a986ee935a241c375e12151001cec7","utxo_commitment":"4f55e3b8e863255bbd372226a406b513f2b91395468200db20bb5c9bebbe45c3","timestamp":"1791454557522","bits":486805145,"nonce":"17471658679304617848","daa_score":"62653","blue_work":"00000000000000000000000000000000000021032056d687","blue_score":"62340","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","version":1538,"parents_by_level":[["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9"],["3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"0922bfaef03b1247faae945599fb42e5143342ba3d82596a51244d22e3138915","accepted_id_merkle_root":"453780326623069101b996e16126a3aca8f7f0464971e9fa29b8499a2bcfdc77","utxo_commitment":"7336650245d85a3c0181bd2f1f7ca7ea58a53e430f47a749b1a63a39551bfc5f","timestamp":"1791454559074","bits":486804850,"nonce":"12591743088431082128","daa_score":"62654","blue_work":"00000000000000000000000000000000000021035f708ee9","blue_score":"62341","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d","version":1538,"parents_by_level":[["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"bd6070b081f41a32c55a66d8631c79c5d2510ed823b4b33922a8590de5f2726f","accepted_id_merkle_root":"236ad281e4212f9fd9063fe143cc739e320a9b7f5d81cc80d70469c520785740","utxo_commitment":"93b47e9fb4b306c179fcebd9b1f5041abb498334e2d01d771d70040ce39d1724","timestamp":"1791454561723","bits":486805081,"nonce":"2373766413771558325","daa_score":"62656","blue_work":"0000000000000000000000000000000000002103dd802b95","blue_score":"62343","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","version":1538,"parents_by_level":[["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e55afd9aa55af073931f2f26217141d6c417932f9ef91b222515b13b3a1d5f77","accepted_id_merkle_root":"341b2a385097302311faeb4cf7c3c8319a273d2dbad2b4df32bf9248a14b8131","utxo_commitment":"d553718e9045d4183c0fa741381db2eb3822e1476bcd428d63d60f7f3e64cd13","timestamp":"1791454563413","bits":486805746,"nonce":"2804473959083381571","daa_score":"62657","blue_work":"00000000000000000000000000000000000021041c9dc7a0","blue_score":"62344","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","version":1538,"parents_by_level":[["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"82f1d1abf19b5d75718cad7eabffc9d3afd6e9563def49a14dafa33ee822cdfb","accepted_id_merkle_root":"4dad8b758a1ddc96bf0be0564cf33c4ba68a61fda3802c78333d49b00edd9446","utxo_commitment":"3514f6eb11131da7713e576ab3abeaed509718e13accab8c0c15ebbad07d8e2e","timestamp":"1791454569267","bits":486806361,"nonce":"7891645297064515763","daa_score":"62660","blue_work":"0000000000000000000000000000000000002104d9a5f76b","blue_score":"62347","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d4c62c2844b10e981e1de4fd5ae94e3379069048b9d5fd10b89c65d019ef3dc8"},{"hash":"79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","version":1538,"parents_by_level":[["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9d41d3827046111a5605c68a17da1b1debe7c3c48832896739a5124eea3d4826","accepted_id_merkle_root":"1965a6564c2d4881b9d8a3b9cf791ffc430792ab82634d615a5889cf7f9ab7eb","utxo_commitment":"1591ae4b78956c63a6a399b2619ad333437b49a946a33e143f8b5884edd29739","timestamp":"1791454572144","bits":486807730,"nonce":"3829273376615020883","daa_score":"62663","blue_work":"00000000000000000000000000000000000021059628a45f","blue_score":"62350","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"6e80f3eff6b62c476666f8f81487b773d5847d9dcf2af0baa67d270b85bfb19a"},{"hash":"f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","version":1538,"parents_by_level":[["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9edd44d7e6e1a03b6936fc19824bb6f89a697593e3011dcb01de31e7b4df2191","accepted_id_merkle_root":"504c3fb496e0a41c27e64b9970afeaa586fe95ffebbf7ccbe7dae9783ebe5da4","utxo_commitment":"7adba5ea382f5e503519bf3159d3a4ff2e63e5974f349d2325e9da9acf886774","timestamp":"1791454575744","bits":486807706,"nonce":"531029752191280023","daa_score":"62665","blue_work":"000000000000000000000000000000000000210613250059","blue_score":"62352","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","version":1538,"parents_by_level":[["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"ee2e477abc3cddecaa419bc7baf89cb93c031c4b0837a8d475fb3b980a90a274","accepted_id_merkle_root":"c9a07a82df0fc8ca01898839375f5f814ccf94bda81a519c3a6c3057845566cc","utxo_commitment":"36e8c5504f602e65d258f19dad65d3f0da5efa320955e715c35757653052e3b0","timestamp":"1791454578596","bits":486807814,"nonce":"5268551126911609932","daa_score":"62668","blue_work":"0000000000000000000000000000000000002106cea266a2","blue_score":"62355","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"},{"hash":"edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","version":1538,"parents_by_level":[["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"2c57b6d03ee093857f570b2f7a6247bab5a464876030bdf5b4a8d3f2d3e0445a","accepted_id_merkle_root":"e7ac5482030087b02378ce6f5ce2bf4c9a1b8aff3403eba4f06e25bb9caef6e5","utxo_commitment":"43b0f8f4a07d01b653d34abc022054c3f88830be12d7a51deb99fdb69c98089a","timestamp":"1791454580685","bits":486807798,"nonce":"4449508512901646278","daa_score":"62671","blue_work":"000000000000000000000000000000000000210789ffe109","blue_score":"62358","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"befb7dfaf9638375bb11f30f5f9446c465eac043adcc75d8428d2eb48d3636e2"},{"hash":"c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","version":1538,"parents_by_level":[["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"ea09d58d37832236ca3048ef979ebcf06068f2f8a06fc3900e63e69cbc29868d","accepted_id_merkle_root":"98690076edd6fcfcf1599e97e722f36148f01b8a13270c5e5a87ecda46684ce0","utxo_commitment":"366183fba638cca275b151af112a48e6a4bb48c93c190ff87b534ce424056348","timestamp":"1791454583542","bits":486806470,"nonce":"13123750701574824748","daa_score":"62673","blue_work":"000000000000000000000000000000000000210806f422cf","blue_score":"62360","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"463ed7cd0f93054b4ee64273d4a68916c630f8527ae5e227609289c7f336c316"},{"hash":"b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","version":1538,"parents_by_level":[["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"40087a0e05f593a600bafdb63bb504bab46b881d06aad1dc0eed2851bee71c91","accepted_id_merkle_root":"d6e25498e34d0dbb597737d46bde0025a8a6430a436ad639241167f6aea852c4","utxo_commitment":"c5f0829f1597614e0fc1c420820f8bf678d9ef3e7a7a6716625b8f0d49de25ae","timestamp":"1791454586887","bits":486806161,"nonce":"15057212031821086333","daa_score":"62676","blue_work":"0000000000000000000000000000000000002108c3018058","blue_score":"62363","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","version":1538,"parents_by_level":[["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"aac24f918e4c897899593e0f5d3c030ce8a08c6e341dc0f27e848979a4100c79","accepted_id_merkle_root":"c44b1e7508e16df2b97bc0dff2b6a018be4491efed3555b146128906610681bc","utxo_commitment":"d5151153aa2d6bfaf8b74dc23f4150ba2c724347d43083fe16fe6ee5d07a5278","timestamp":"1791454588937","bits":486806974,"nonce":"3040225968079214040","daa_score":"62678","blue_work":"000000000000000000000000000000000000210940a758f5","blue_score":"62365","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d5e75a4f2ba0f288eaaffd4639883922a5059e0fc7ea59cbe6dc230bc8941f56"},{"hash":"44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","version":1538,"parents_by_level":[["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"69d1cbe8a3ad98074117a432410a94a595d8336e6f9a0ab65d50297833882359","accepted_id_merkle_root":"f786ee49183dbe90c22c3794a7c879a1dc2697c58dc5f1db2406c223b1bf3cee","utxo_commitment":"b6a258ecc5de3d93c416a2c4abd33fc8c3f2209fb23ed12e1dcdc0987189b392","timestamp":"1791454592208","bits":486806547,"nonce":"13559917227620654393","daa_score":"62681","blue_work":"0000000000000000000000000000000000002109fcda4a65","blue_score":"62368","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"f52c685c3c4b4bdfe1b7393f50aacc677b8fc518565034c3054aa4675e7761b8","version":1538,"parents_by_level":[["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e33954e381d87b8eaffe9b9cd6956f9f6e1e41f53808af2e288275da1706aec0","accepted_id_merkle_root":"172b8b39dab65ec7ec9c04842e1ec8f2d1e40ee014dd8912fe1ad8204958127c","utxo_commitment":"420c0eab255137ddb34d53320adea8c26e46ec1b63fe857affcde761ca2d13f8","timestamp":"1791454593552","bits":486805980,"nonce":"9356002538226592155","daa_score":"62684","blue_work":"000000000000000000000000000000000000210ab904fd6e","blue_score":"62371","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"}],"headers_complete":true,"rule":{"quorum_active":"2/3","floor_total":0.567,"floor_total_exact":"17/30","vote_message":"igneum-vote-v1/ 0x00 index_le64 checkpoint_hash","dst":"IGNEUM_VOTE_V1_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_","key_hash":"BLAKE2b-256 keyed IgneumVoteKeyHash over the 48-byte G1 key"},"stored_at":"2026-10-08 10:17:36.010194+00"}},"including_block":{"header":{"hash":"2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20","version":1538,"parents_by_level":[["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"792600fc64865acaa73cf48fc0fc06c996aa3c3e837cf4ddec94dbb74d94db44","accepted_id_merkle_root":"fa3393eff91c3208a29aaa68e3ab0af8f309f0d19eeda53d01892b98e0196228","utxo_commitment":"28abb82759fb44459cfa46a7f0bba669a7e371c31dce4986e3782fb9785c2b3d","timestamp":"1791454424560","bits":486805716,"nonce":"11639642898686864438","daa_score":"62508","blue_work":"00000000000000000000000000000000000020dfbc77ac31","blue_score":"62195","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d1bd5724466458df663502839544aeed283b6e08bd0dcaec9edc5e2ef8d5b944"},"leaf_index":1,"leaf_count":17,"merkle_siblings":["d8ffe331eb3fc8b683bb74fba98115a580ab04a7cfaffb2566e95885eaad6acc","d426e827c9892168a026369e397b1da195dcbdb373b247625ed4023bab84bfd1","13117f61367e6611ab8da145a625a049593cf8376ec2e9c088237f14e12c14d7","161ee71a0f88a4792f50f22c559ec5ffef4b6f599213b05a743f01e756b8425a","242f45564c28fece5e5390dd4579138918852d29f2bc84d88b9947f3ead3bbad"]},"headers":[{"hash":"2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20","version":1538,"parents_by_level":[["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["8f53d4bd0dc329a61f9c36aa85992bcc6597aa420558aca49afab5c0fa90dfd4"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"792600fc64865acaa73cf48fc0fc06c996aa3c3e837cf4ddec94dbb74d94db44","accepted_id_merkle_root":"fa3393eff91c3208a29aaa68e3ab0af8f309f0d19eeda53d01892b98e0196228","utxo_commitment":"28abb82759fb44459cfa46a7f0bba669a7e371c31dce4986e3782fb9785c2b3d","timestamp":"1791454424560","bits":486805716,"nonce":"11639642898686864438","daa_score":"62508","blue_work":"00000000000000000000000000000000000020dfbc77ac31","blue_score":"62195","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d1bd5724466458df663502839544aeed283b6e08bd0dcaec9edc5e2ef8d5b944"},{"hash":"203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","version":1538,"parents_by_level":[["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4","51591e084ce9a99bedf0328467c3365955fff80df1f80c3bf6ba02ee8dcbd1f6","2826edb3d386a758a9a8118cb8891c86c2ad378ab0d51ade88e83853374b6c20"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"59a22f4e6f0f1cda2b1f639579d3e7d47999b4c6c5ac447295f193e2f99e9e0a","accepted_id_merkle_root":"3f1f1d931932bc003eaf52ba583fce565c7cf1a3e9647ed9b63341eb0f917e8b","utxo_commitment":"ab7be25ccc49cbc97a0e5b3282ad8c2e9cabe094f35fe8d4d908dd64f60df5f7","timestamp":"1791454430048","bits":486806789,"nonce":"36825711022905337","daa_score":"62514","blue_work":"00000000000000000000000000000000000020e1358bc051","blue_score":"62201","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"},{"hash":"19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2","version":1538,"parents_by_level":[["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","2f25bb4a107db2d271961ab2cd95a22e45c48fd7167aa1b0008361cfb5e6d0b6"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"91262adbb23287da989bd5409a80fb5494f7874d87372b38382ef57c363f0a57","accepted_id_merkle_root":"986a4dabcf3b66fc2f2640efa39a4e96fe57e94d592745a79e61fe6bd3d58315","utxo_commitment":"560b1bd49fa66964cd28e53acb3bfae657ba8072a937bd3273999c6e3367b155","timestamp":"1791454432242","bits":486806223,"nonce":"9713462890917001178","daa_score":"62517","blue_work":"00000000000000000000000000000000000020e1f20ae365","blue_score":"62204","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","version":1538,"parents_by_level":[["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["19b8a36b389f74f0823370d1b9dc24f9441079a5699df6878830adfb641355b2"],["203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476"],["c84b5806b039f94e7a91e8938f063fa21e378696309dadc77f38fb7b845b8cf4"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"42c7e11d0e10181be2b58d9a6ff86328fd986139b3bf25cdec0208923be8f7eb","accepted_id_merkle_root":"4e2e94ddd7dcf17522af4b44744d3a2ca66f9378fedda47884efe5dadcedfdaa","utxo_commitment":"6c8657d4f804e5ae3c933e82d4881c0dc9b79864ac5f53bbe68157dc874b713d","timestamp":"1791454437356","bits":486805862,"nonce":"1115407898743155987","daa_score":"62518","blue_work":"00000000000000000000000000000000000020e230e360ec","blue_score":"62205","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0609a6f2913130b1ae333c0676d72c213933f4df7d8c37f09e59ba0080040b81"},{"hash":"36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","version":1538,"parents_by_level":[["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a","9eb40dd4de8266f246927027211a5b1af11c146b96a04e2f64b844b440a6e46e"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a"],["ec974da1841780abf28de5c3864ef11211353d62866e0ef543e3f16361acea2a"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["584bae448f96d16ddaece4d2c80b87146af781a60e195feb886c2c67e172a6a6"],["1762a70c2cef90d0871d3ee7001a40764dcf8e9979bf1747135c22bfefe8c2e6"],["a9caf6e5d91959f76af1768a14a948a475a53c6361db928c9c78b9fb7fec077e"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"f5552fe5b708a4f2fe40e42c53fcf78ec60b92bcd06dd0d632cc7b4ea39c3514","accepted_id_merkle_root":"34a91fa4368187b6354b170a65c41c705b031e34da4fd320eae2bb51f580cd08","utxo_commitment":"94f66fe607e42134f949c5c7807899be8089f37686faa1985ed5493d6c2a0f88","timestamp":"1791454439969","bits":486807618,"nonce":"986803435299208833","daa_score":"62520","blue_work":"00000000000000000000000000000000000020e2aeaa250a","blue_score":"62207","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2","version":1538,"parents_by_level":[["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","2ae67508266c908a32265f998474964e9f57df7632a2edd6508cc9d11b1edb95","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"815ab26a64770ca6c66bce34bfb615c18cb63a78398379d79fbbf3a52c5d7459","accepted_id_merkle_root":"edaf592167d25cc327f42625def8d6dbe3dc38d796f665e92b371e5d5a3f87ad","utxo_commitment":"6c62126c9afd3c57248d100d8122692b174a42c9a02ae112ed89fa4481c7f058","timestamp":"1791454443245","bits":486808536,"nonce":"11718755315809239464","daa_score":"62523","blue_work":"00000000000000000000000000000000000020e36a725b04","blue_score":"62210","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d","version":1538,"parents_by_level":[["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"3b137d3d092793a830c7404c2a8125c2f950d32ade5d15ac86460a92a0589e6d","accepted_id_merkle_root":"59a34205d3217c7fe69c709b14bcf9e85f22b7c1400ba132f383a7726cac543b","utxo_commitment":"509ca08d0e22b5a2e063679fff2dd1d41e9d0e7c4aaf74ff72ac8a1c1ad904d5","timestamp":"1791454445227","bits":486808673,"nonce":"10111333366845249883","daa_score":"62524","blue_work":"00000000000000000000000000000000000020e3a8c0a605","blue_score":"62211","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"fc69d3136c34b743f49e9b9e93f331f4765357e87fba541da1975d18a4983c1d"},{"hash":"ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","version":1538,"parents_by_level":[["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["4c5c3ed78cb63f93505e48524e6434b3c7fd5ae36ceff8a91c70ee745d30ee5d"],["5217ecaa8b3d0870f377a472ccbe01ec7393dbb09ad0591e3f1d1dac1390d8b2"],["36039a4917c7dcd1c602fce215a059c93709bcf4a01f8f477aa73e0cc43c0a4e","4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"c7da4e53d984e264dd4b92b567354e2207c1a212a63c26b333bedcda230f9371","accepted_id_merkle_root":"9cf8035626d7476c0b55062e901e3d364c176c1c5c9ba95ee6bea245383b8c7c","utxo_commitment":"685e616578196c04d87c7a9fcd78cb96836d112d11b91c46473257a914a5036b","timestamp":"1791454448620","bits":486809098,"nonce":"13477498218258179772","daa_score":"62525","blue_work":"00000000000000000000000000000000000020e3e706d499","blue_score":"62212","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"74e6234ea18c8208d4121fc754756a23a075e0d3900a7cc584b32d34b3f47afb"},{"hash":"e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","version":1538,"parents_by_level":[["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","24c9455e202a6c814bb96cabe7f7a71aa6a9d6ef1abb45904e77b445185b6e96","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["ce124fac1cb8133d8d1bcc45087eed6c191145e6b843bb52e8847d133ac6a0ed","3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["3de4965b854dc6b6a48d7ba8822876c6a7b49e889f5191bbe21ec1bc5ce48000"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"97c2f89a6efbb56421c985c1cf129226677245dd9d6c0ddb496c3a1a2b8dbcc5","accepted_id_merkle_root":"86f74d4fbd2a835e88ed5d38bb38a128f774d73d6af65e7c27f648a91d00795a","utxo_commitment":"0ac4081d514b3e79f3a2d86db1249bb3b357619b23836610ba5d94129f714067","timestamp":"1791454453286","bits":486808575,"nonce":"9450797637583498737","daa_score":"62528","blue_work":"00000000000000000000000000000000000020e4a1a72835","blue_score":"62215","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4625014e38d651cf7ed7ff72b214bfc6cdb4504aa9a1bd43e6f64bfa1207c066"},{"hash":"82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","version":1538,"parents_by_level":[["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","e634d264e89646b79bc8484c847dc63d7eade07998dc8ed79586084647da6541","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd","293d028e6e98551341e81e4259a7a5471fdf3f529a3616f73815b5b6ef4e1ffb"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28","b949a6b73a3de31bb78dd8ecfcf50b059cbea1783a7a535b3b9fc57ca8bae3d3","980e6a214facfc9fe67a0e4d5b981984843ac9f8bd70478f7c4cf789cef3accd"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28"],["e9c895cef53f0f439c90f53c9ee3fd847a5fa7bfecba180e549b9f728f0acd28"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"11d6028449278c8e97eace6f41356090dc74348c1a4c97fa26bb4df72586ea25","accepted_id_merkle_root":"62a94e1525b9a6c030ab5f786b2be4dd7c4ef285e5028710c251cef9508e08fa","utxo_commitment":"ea8893327db2016a553c267d94474627340ca8445d0b44fdb7ec26308ca1eaff","timestamp":"1791454456269","bits":486810010,"nonce":"13136692915504992741","daa_score":"62533","blue_work":"00000000000000000000000000000000000020e5d92312aa","blue_score":"62220","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"74e6234ea18c8208d4121fc754756a23a075e0d3900a7cc584b32d34b3f47afb"},{"hash":"c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","version":1538,"parents_by_level":[["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7","aa063d85cd6a3c5c4b87d687b6909730ca58cf197305396e955fcc4aa023ce2c","8beef3ffbfb5062b4f2ea60ab47bc23681e2a6c0ffb997785a2cba692347546e"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a","b29670d77412ee72eb3a99188de25904f4066d22213c1df4f7372170debe78d7"],["82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a"],["19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"32db75c1d441f2dc865203a7228a0643cf0d923b94ccfa4e89748c4d4f3cc5ac","accepted_id_merkle_root":"80a4906dd064761c3ff16f4b6ecf52837a1bcff21f8aa8a530ef04887585d4f2","utxo_commitment":"e0686a13054badbe18b98eaef91c0fada81612b13f1a83e384822e03671a7f7f","timestamp":"1791454457887","bits":486809687,"nonce":"1486832508689907008","daa_score":"62538","blue_work":"00000000000000000000000000000000000020e70f976392","blue_score":"62225","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","version":1538,"parents_by_level":[["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","79d1e3327dab3a343c54d64aea4e4094194928fe97d6270fdb318a690d41ada0","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b","82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a"],["19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9bd7cc70732b4d2c21e79b9589fb4e43884cef5ab2546a8b2fe0ae9c6fde17b5","accepted_id_merkle_root":"451571633f981c50fd62fc4598c78c4c6edfea0e5d407586d9d1b85f96706492","utxo_commitment":"133fe06307b3b3be18cb0364c179fe8637e995821d576e0f74e9690e7f6d72ef","timestamp":"1791454459548","bits":486808221,"nonce":"16332720535934270789","daa_score":"62541","blue_work":"00000000000000000000000000000000000020e7c990b47e","blue_score":"62228","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9148d90deb8d80e3d3e609b74b89a80e392d54aa0c7b2d9de0d72269058e9e60"},{"hash":"a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","version":1538,"parents_by_level":[["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["f62d47147e1760d322617c3ad59655e0cf6197a4f54e31f42091f9fbc162a569","f58f7fb9bdbdae28a8a8fec7cc8b71f89929be3d1c2d412733dca37f1301b694","f7b3b9e3a098de060710a74dc3bee452c089d76ff04a9ad657529c739519b755"],["c64ca2f81183a352f876aac7baa63898285c829aa9c91c9b41c2a9ffae87dd49","0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b"],["0b27ac8cced97709af2f20be48cadefe08b1060e0f800bdb4ce8a1d08a6b0b8b","82e58a04f6ced01895f28e163592b4781341c3edfe1bd97a606ceae57cd8650d","19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a"],["19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e6599e7406c1fdb65365d447d7c3eb508b1299b26565088e2cdb698f7879e68c","accepted_id_merkle_root":"ba0c4702078a6f3a018b138c79bc567ddc49e7f68fb0d0e3116dabca63a7ccba","utxo_commitment":"cdcea4e97407b0261b6d702153ce0c1347a096739ccf586406899ef14b25d1ab","timestamp":"1791454461491","bits":486807618,"nonce":"1835532103056981762","daa_score":"62544","blue_work":"00000000000000000000000000000000000020e8845d0e7a","blue_score":"62231","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"74e6234ea18c8208d4121fc754756a23a075e0d3900a7cc584b32d34b3f47afb"},{"hash":"d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","version":1538,"parents_by_level":[["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b","924fe1b77ab71f1a68f35a3c9997ccfcec3506b0c6253a92ae5e67ae17b21995","4a4935658a975326dd23b07a9a1fadbf3047a6c3dd7ce573c31cceec9d55a26c","2d342a15a849943fb02e24bcb48baa20739ebfc9f0091f8f9e0f6779cecd11f4"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b"],["a9af0d0b89612235dc80c7bfa0a46f2ebca851f49b495a46fb95b5f2b82d436b"],["19763ab2cc3e4a54eea72520af2a1b9d392076487f7ea62cd910163daebfc46a"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"1d3bfef70ce1b5e720b2ed7da1d6e22c604e22592e364dc62f9d0d45b7a553f7","accepted_id_merkle_root":"92675253d7cf2b9bca6c7fd89d0ee9405f296eece4d1265d6718afc2ae47a01f","utxo_commitment":"39fdf7383a2c19b0974d5b602180cc5dd6c7db21037f0df5ca7d8e42d26078b6","timestamp":"1791454464936","bits":486808693,"nonce":"341441593567789444","daa_score":"62548","blue_work":"00000000000000000000000000000000000020e97e707baa","blue_score":"62235","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"188ad3d3f6c9e6f40664d80ce742f1bd61c28f18ea68b5f51d5c254dc8e54d72"},{"hash":"87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","version":1538,"parents_by_level":[["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da","4a154795db9b43a6badf5eff2417f8a47f35f3e17972f7647b75d630c0a75074"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"264f7204623264fdb61d4392b3a4af4d150f587746577f015f6e509fd0d1b61c","accepted_id_merkle_root":"0c17194ba01edf871c3de7646b5d33dfb28a1a2379ef9779bef60524885ad20c","utxo_commitment":"30ed16db0869a67e5b63e3440598faf6f04d273ee09b1948bdfbd8241efe497f","timestamp":"1791454467520","bits":486809526,"nonce":"4677513461770163546","daa_score":"62551","blue_work":"00000000000000000000000000000000000020ea393a787e","blue_score":"62238","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"faa34a1a4cb929cb5bc221d2d27c893404b011227048e520bd1c0ee5c9e77f3a"},{"hash":"3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","version":1538,"parents_by_level":[["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e","8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","9119e5752759f2d560e940faac6cd5be96ec8ba1bc14c44bffa6231662ec12d2"],["8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"66e27196b5317ab1957086d731b1f4fc84b99f03efcd9341adcdae36a54bd65e","accepted_id_merkle_root":"a8c7228f38787753ab6782ede30931afd9d70ffa972cbc80305ab02bd919fa77","utxo_commitment":"d5996080ed4992760641596109ca0561670a4732f105988dea360572087ea7d4","timestamp":"1791454470416","bits":486810176,"nonce":"13445886047791011376","daa_score":"62554","blue_work":"00000000000000000000000000000000000020eaf3d85541","blue_score":"62241","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9148d90deb8d80e3d3e609b74b89a80e392d54aa0c7b2d9de0d72269058e9e60"},{"hash":"93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","version":1538,"parents_by_level":[["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["3113e29d24ebcd06013170d614938aef7a8a12c21898ba31cc6f08945f297a7a","5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea"],["5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534","5e27e922256c1c27ef75672bbd2c105dd59cca898d8cb7387c44e8c8cd266bea","87b0f4bf190804480f78416e6cbf8b685b908524a148d06d25feecc62045b88e"],["5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534"],["5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534"],["8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"22856dd1d2858cb99a70da873ed3400c625cfb38ff35bb943d24255719a084a3","accepted_id_merkle_root":"801026d3ff198d38ca7058be10bdf6aea39f499200f7618af713a0dac11f8d25","utxo_commitment":"7dc3a2338297cb9c91e47608b4d5e0b12614b5fd02d315076119bdbd10264e3f","timestamp":"1791454472844","bits":486810142,"nonce":"16923678430667946184","daa_score":"62557","blue_work":"00000000000000000000000000000000000020ebadd7406b","blue_score":"62244","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4625014e38d651cf7ed7ff72b214bfc6cdb4504aa9a1bd43e6f64bfa1207c066"},{"hash":"c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","version":1538,"parents_by_level":[["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["93bef21e460f69fd4008013f7295ced726a3e196d8bdd9df056bfb118873bbfd","4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c","48a50cacea167754688cfbed4c5e9cadf5c1e29a44950c1846bc7d64093f4fc1"],["4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c"],["5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534"],["8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"1736902718f5e772951e8d38539a5427cf6489b56262c63d06b4dfb043a4130a","accepted_id_merkle_root":"277e90a14210e2b37f8f0b06d0650a8b8773b81d6b13216156632ed81fc200cb","utxo_commitment":"f18f369e9ce3fb29d9e0c222f845d17677a92c109a2474e6d75cd3e80e29c66f","timestamp":"1791454475300","bits":486810038,"nonce":"13500968681227118599","daa_score":"62560","blue_work":"00000000000000000000000000000000000020ec67b7b72f","blue_score":"62247","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4f342bdd527c7f7c291df6816da57c3b19b0920a4604b9eb90a4915ffed88418"},{"hash":"1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","version":1538,"parents_by_level":[["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["c51c97280a290e5dd7dc681d563e78e737c0041b6dc3f5004e659c922c0b1c8a","412868d491e318309d19470b0efbe171958a4b05bea6b8f4a2d12484fede9685"],["4cef16d225f0c3863fd7da80b8af0cb8a6b0f98e5f08208e8edf23f1d2d41a0c"],["5c08f927fab728399eca7b6d5dfaf3ab0760d7f380329d54cddae22ed2b26534"],["8f16d6f41d337a7589af83ba4c48c84acbb84687a034370f1e991ee22d419eff","d995cea5bf4b7f719b573c621d7bf533a8ebad77566f3335c26867a5820908da"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"c5a1874aba764076209a32e87b8c5146304973fe206147db97352d72f64a5c93","accepted_id_merkle_root":"9d0d9a0fb7bc0a7130f285e4108c86778f33aca7389c3440f3789604115ac1a8","utxo_commitment":"5ed0d66be897ec35f4a588f1fc640d840b48809bed78496c6fce4e03fc71dab5","timestamp":"1791454479371","bits":486809802,"nonce":"2316315737209936918","daa_score":"62562","blue_work":"00000000000000000000000000000000000020ece3a358d7","blue_score":"62249","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0609a6f2913130b1ae333c0676d72c213933f4df7d8c37f09e59ba0080040b81"},{"hash":"d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","version":1538,"parents_by_level":[["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["1c7fabc8cf24f1ff5bc2a4e0dbccc7054f53f5412a512f8a892a60aed2cefc8a","358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["358dd00c28289418946e9252a6520ead5934b769064b5b4427d091bebe394beb"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"8ec85f6ea4a9f4ffb19eab5543299e280aa38c53449a39ac393f4ac901ef8e26","accepted_id_merkle_root":"6a3aaf64068e45221074e827e1d283faa763f7b39355098fd71d169bee76b872","utxo_commitment":"7252509270213011b4a73d3b0c32b9f0f70ab4bca6aaf4eb9e5524c4c59d8523","timestamp":"1791454481496","bits":486812283,"nonce":"15968569534720258532","daa_score":"62564","blue_work":"00000000000000000000000000000000000020ed5faaa6f5","blue_score":"62251","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","version":1538,"parents_by_level":[["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","950843c8099371da8cc2ea65c395ddbc2a8c0b63f8e6c63fbc8f302063fe3457","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012","3c84e677531d976be494c7d65708173cda7178cdec20be88f50392ed5a60feb8"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"a31d9b7c0d894803339d5ddc33cb20e588d38b67af92c893c023f6b6bcd5d06a","accepted_id_merkle_root":"8e55d1099852c22489697056f23a67858d1ddb36f83263d676f6635a7f58d972","utxo_commitment":"f3460513428c36357d5198e2497050e72870c5ba41f8bdcc7f2b11b6820f2d51","timestamp":"1791454485208","bits":486812200,"nonce":"7902332142051417445","daa_score":"62569","blue_work":"00000000000000000000000000000000000020ee92eb9523","blue_score":"62256","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","version":1538,"parents_by_level":[["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["615cb7fbcbc4a542d950e5b9ea2dd9d801bb1cd527d9862795de87c64e07fb8c","4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2"],["4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2","d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9a9041b50fec169b927a8b3e58f5237e64b9ee2ce36dce7e09ca3d82f9036da0","accepted_id_merkle_root":"d318e24e65d88fe2f0d570430a89df6747b48d6e978eece75d78eddbe2e43c9a","utxo_commitment":"3ab261a53978f948a5546fe067acc394c7e1ee0ccc04f0185124ff9eaa376457","timestamp":"1791454488029","bits":486812191,"nonce":"5341664243526766962","daa_score":"62571","blue_work":"00000000000000000000000000000000000020ef0e2971f9","blue_score":"62258","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d4c62c2844b10e981e1de4fd5ae94e3379069048b9d5fd10b89c65d019ef3dc8"},{"hash":"2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af","version":1538,"parents_by_level":[["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["744b1892d6ef589aadc4dbeee908bd8b041e77ad4260a9c00e254b114fd91ba0","340e23db438e6d7ca5f4f920e5a3a17d600a97b68a1033bfd006594032605e99"],["4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2","d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"1159776aa8c0b87bfa6dd747bd35cd601c6f7625ee18040f75a76e98779e758f","accepted_id_merkle_root":"10e74fadfdf552f17a796d8dd39f97c6245c6482c5862bd2bd81a5c78b6e7efc","utxo_commitment":"08f91d1652f7697b3842bcb683a20d358d57194bfc0e20b41d7b7952da200875","timestamp":"1791454489385","bits":486811812,"nonce":"16046217239156799210","daa_score":"62573","blue_work":"00000000000000000000000000000000000020ef891a4dda","blue_score":"62260","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","version":1538,"parents_by_level":[["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["2783a6e53d1a65c5e3192c839d4f218ad4735afac830d3582384ac2ae09368af"],["4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2","d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"b6d1adad86616a3aff71d460928428f261f6b6735f23f5d9a76ad2395d63a532","accepted_id_merkle_root":"f9c6ed9e4ffe6d6b481a290a8952d6686ddcfcf55482cee87f66e2404a96b6fa","utxo_commitment":"8a17ee1ac60aff06ca530b8c74259ae1db0e6011dc803924a152b4a1f1840021","timestamp":"1791454491856","bits":486810809,"nonce":"18102807756984067965","daa_score":"62574","blue_work":"00000000000000000000000000000000000020efc6a8e04c","blue_score":"62261","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d4c62c2844b10e981e1de4fd5ae94e3379069048b9d5fd10b89c65d019ef3dc8"},{"hash":"7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","version":1538,"parents_by_level":[["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["35c69a18dddbf4f50652391e61866da26449ebb4a610e2d019e0e831c5ec1fc2","0db50df96e7b7c34b3a1b69939ed0cffeecdaa8713eecb87185906bea5048e57","0c31cc0de5e34f237753e8adba54791821cbd2e31a96cc3a56d4365c618e0132"],["4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2","d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"22f388d2f8a06cf16f7f4f826a1e5c85e7e3f7e850521c55aa4586ef7dd66cc3","accepted_id_merkle_root":"9aa9e8d7c6ac52af363433703ee1fed3cd373db84cf0dd47e97591ed6ddd9ff4","utxo_commitment":"050fda37ec70ba4bbb352342bbeeda5bcabd1841e362fce62e36a1f98d9e7ebc","timestamp":"1791454493899","bits":486811231,"nonce":"7176598573025554148","daa_score":"62577","blue_work":"00000000000000000000000000000000000020f07f8ecca6","blue_score":"62264","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","version":1538,"parents_by_level":[["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["7da6f8deb331e4ea3938a6d85ee9a24787f494c59fabfcc9daa5e5fabb3160b2","a5d34256f27126a04cd797b215b1372990ef5d6d11d99b6580c7f178df8bda40","5eab8550130d0cac7f8d6bcd92c2f165e93a0b6d0d5355d260d3e17b98cbebae"],["4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2","d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"849b48690dd72d4d116ca6b8898e468b7750219c7f450146683ed72e709d033e","accepted_id_merkle_root":"0abd6f7c711ae87f7bb17717f6249ed979304e87848957314572bc5053e102a1","utxo_commitment":"12cf6200f605001c67ee1e1d6be516e09e71be7ae7ae0c352f793a2181281eb6","timestamp":"1791454495886","bits":486810632,"nonce":"320229527490051149","daa_score":"62580","blue_work":"00000000000000000000000000000000000020f138d09838","blue_score":"62267","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","version":1538,"parents_by_level":[["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["35be1c80c11e49229edc006f858b31502e3f371e002a0df55fb9476ff7f062ee","2b06ff3a31ce2f64c56acdbd4e962c6ebbdd9ce120c1423d3eb2ecba33f39365","adb961fe934b845ed0c36f10e88c3f675349ceb06bcd7359c880630b0d7df7ef","0f83305ebc212c0416d5d32a7614051c11e810dee69a23d8c86885e8c22ad486"],["4efcfacc3e3b257b5ba8d3e845fa4cf2374ea65d0cb5e67bcd295aa158d78be2","d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0","6d0a5d2a18f472f0308069cff6de9fb708f3779979c53d1982afef8bd88fe012"],["d36a29c09f4f7b92d099afed687039ec1fd737b89a0f7b5dc15a32862304444e","9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"d22c56e393af9b939c7d9c73683f51cb0eb3c63dd3fd6b2955d5f8fdf2e9116c","accepted_id_merkle_root":"79ec5bc787559a8466deea2020dfcd47943b6cd7295c69b451ffa2edca974e41","utxo_commitment":"19c073368a60740e65b71bd9f8f503b6df4ccbec921291fc0827b229ac79a08d","timestamp":"1791454498311","bits":486809107,"nonce":"6256217425435461359","daa_score":"62584","blue_work":"00000000000000000000000000000000000020f22ff8647a","blue_score":"62271","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"454508c142c31f7ad8e8af3cac03f8fbbff376a60b33b57376040674fd3ddb3f"},{"hash":"be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","version":1538,"parents_by_level":[["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["f141f0c4c9cab9fd825067cd7b22f85a1004bc82b7c430eaba3c34385a90ee23","4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","76ccc93161194432edfa9dfa92b2856d450c549ae33b0d4919a9e7ed26e84585","ada0150d0b3b8842db89b2483f3f1923fb270623b8b873a47f33726bde3dc597","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd","a600df22571fc451e81a903b40807dbe152174259848c8dc939444d8dea116bc"],["4621c38601e6daaad107355f62bd06aa83ba60805b6b98d2e4d080237f3719fd"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"3e7156a847d3ce35dfa5b5ee7b425a1fe521350ed83500f8c49ae6a3e2b89c59","accepted_id_merkle_root":"43b155b74b73850d6c5db5eb64648ac6b5f752d27fb30823b919846726baa60e","utxo_commitment":"522117fcabd2a2291a11b6716c07c26799f3d3370c155b6bb64aecf904617901","timestamp":"1791454501652","bits":486808257,"nonce":"4315127107989085165","daa_score":"62589","blue_work":"00000000000000000000000000000000000020f3660d3cc6","blue_score":"62276","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4625014e38d651cf7ed7ff72b214bfc6cdb4504aa9a1bd43e6f64bfa1207c066"},{"hash":"279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","version":1538,"parents_by_level":[["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","783d944ee36affa28d6c5a457e384bb36f37e41b5a627d3278826c5cc94acffc","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["be6d8584b50238a5818896e81f47b58de13dce47509fa3f4fdd47e62bec76229","dcb5d7ee328e7a02ac2114a004818a17561df262577930354f5a179281abf4f9","3ac7636711c4c53eb1560649f11b18be4e3a5f6652d5fdbea6b63f9ca550582b"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"70078ea65e462f870433200f3b7f4e5fcd1ddbdf3eb6388652cd3cee10b8c1de","accepted_id_merkle_root":"c2b77acc1a5ed4a91fecee41fb3ec42572adf0ca902ad10ea2007b3443d84cef","utxo_commitment":"5b8f2e803e7c7da21422137f80cf16c0042185980eca8572c2bd57582fcb6f99","timestamp":"1791454504540","bits":486806513,"nonce":"1087860627056238325","daa_score":"62593","blue_work":"00000000000000000000000000000000000020f45f0bf292","blue_score":"62280","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9148d90deb8d80e3d3e609b74b89a80e392d54aa0c7b2d9de0d72269058e9e60"},{"hash":"2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","version":1538,"parents_by_level":[["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d","621106d38e6ea282fa832f67c9215f22ae67c27830507c6eefd32a50ce90ad4b","0a04d39e24c9815000a9fc3375b2ad5bc6853206e582b9344a21cfc19d411142","c045aec633c495100b6d5c84a9b77384c11ad9186652afe65f0490a5d1d1e70e"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d"],["279a7e1ff47c24d6e6f2aa22633e7b0dc451e174b88b46a2ac960b040464d80d"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"bf4b34707a5a903481724a24e051e34c87c5d6a76e214b2a264e883313fa37ab","accepted_id_merkle_root":"954870d922681329342c23842b366e510b187a7c10bf728091282f1bcb023465","utxo_commitment":"382a21b00a711a5464418e2bd54fdfedab69a8eb83acb2e98ca15bb6f2b72ed0","timestamp":"1791454507165","bits":486806058,"nonce":"5738483706582785813","daa_score":"62597","blue_work":"00000000000000000000000000000000000020f55938aaf1","blue_score":"62284","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","version":1538,"parents_by_level":[["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258","60ca2af65241d93d97f92112dbde12e3a3d814b676de44debce5e54911fd949c"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"47968f138cf6b7c9a856c9d86b36c40cb170f8a77d3f5613e832a01353333439","accepted_id_merkle_root":"146fa9141c2f3404f8518f9d3f2c8dd437e21d602a50c0fb49c1c92f431280ea","utxo_commitment":"bcf72f494919ffe9e473045c8cf3933fcd42db69a755251b41cddc609524857a","timestamp":"1791454508783","bits":486806240,"nonce":"14900567432001807389","daa_score":"62599","blue_work":"00000000000000000000000000000000000020f5d6daa081","blue_score":"62286","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","version":1538,"parents_by_level":[["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f","2bdcc5105c7e67b0635cf2f1a071ec0bbf4ec88bc285d583e099f8e09152d8c2"],["535b5312f3b1d19d731c811d25b1cc52d31d2c38a7537aa2468809643679d88f"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258"],["2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["9002abfe1f2748cfb2f0d0e98897f54e1d81d6987f6638d5cb0ded2652c34bd0"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"24d7239336d2060142565b899827355f1e1fea4b84230a9a58f956ee38e64908","accepted_id_merkle_root":"e7adee5a9867066c1bd830d3752d3c5031879cd9f4e1dbaa4b58266d2307f575","utxo_commitment":"03faf647129d36a092416410ff8308984337b76c310bd8e9e3b8e8fc61a9ed00","timestamp":"1791454511305","bits":486806080,"nonce":"15047898627174916337","daa_score":"62601","blue_work":"00000000000000000000000000000000000020f654948881","blue_score":"62288","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"fc69d3136c34b743f49e9b9e93f331f4765357e87fba541da1975d18a4983c1d"},{"hash":"e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","version":1538,"parents_by_level":[["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["cba0d4e035ce874c27b889c5f503858b8a39c3f3deecdc9808bdf92fed7d49a1","2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","735b0bc4521ebc288d06a0c3257af11dcdef9b8fbfc4cc6fb105e3ce3dab7f0c","c4cb6b8616794988447e61fe5050e292f73c1df91a6b8106caf7eb9c52938502","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["2a3f775ebaacd5f8f13d578992f8ed3ae7898a83c03168fdd064e9faa7604d45","5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735","2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735","2ca8e96cc816051f9f20304c06d00920bc250991d1c55df2afa73313a387f258"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"2ed82c7ff58fed5f084a68c04d22ee16a50e02cffc4c751d3f21e0a3d87b1e34","accepted_id_merkle_root":"b85fafde9bc49255bca0b694512735b67ed14a33b8a478fd62d3310c4e4f694c","utxo_commitment":"58b328c74b7e9e29b0f364489edd85a16a40be7b3b3c5377ca8c8b67382fb24c","timestamp":"1791454513816","bits":486807045,"nonce":"2159264313797306231","daa_score":"62606","blue_work":"00000000000000000000000000000000000020f78ee796c9","blue_score":"62293","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","version":1538,"parents_by_level":[["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","b52f9cecf81bf5615bd3e06a14b9b92fbd3777b829dbc84e27711ff45dbd6d83","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa"],["a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"f3ddfaf4207929cdc39a8fa834a955b3ad7a04c8bbb972fdd74efe41e1523f27","accepted_id_merkle_root":"e7628eb9b8a638048a1a06a5872dc0fd07b27f033d0b896830c99ef30d66ba2d","utxo_commitment":"2513d3e94dbe4dc8df83fec9f9e9702e37f8f56c60cb4300add19aaf8c2ff410","timestamp":"1791454517265","bits":486806625,"nonce":"10351462033431695981","daa_score":"62610","blue_work":"00000000000000000000000000000000000020f8897697f7","blue_score":"62297","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611","version":1538,"parents_by_level":[["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["422d98c7e27b02bd08c49693fea2dec85ebccb5dc17e80d8cd6de495d7d07e59","036aec5fe0c303b657034471f16d3a92c1ec0541e77b176b686f88c607e66555"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa","55eeded3329e4cbf31ccca0d6cc7a3fa7caae7008044ff29d1eb7b8a27320029"],["e5082c029d4a777c1cabee8c3061865d148c3962801e2c34d0cd9d6b68e654a6","a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa"],["a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9d680e75d921e67f08038e28b1b95a8bf7bd3475fd5b45480e9c9def0717426b","accepted_id_merkle_root":"c8d608b6b9be5a2b064d974be7f4eb13f54bff93f3b61a72c9071aefaa653e42","utxo_commitment":"8ad38449e0d3a6659c6eb742521b6bd7ea53335d203eecde8c1b355e3578c48b","timestamp":"1791454519838","bits":486806532,"nonce":"12147741876315136476","daa_score":"62612","blue_work":"00000000000000000000000000000000000020f906f73187","blue_score":"62299","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"fc69d3136c34b743f49e9b9e93f331f4765357e87fba541da1975d18a4983c1d"},{"hash":"f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","version":1538,"parents_by_level":[["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["a4b038a194a3de70397c46fccc307b359640e19ec429bf3cd1dd5535ac2a47fa"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["5893189ebb53667116d7b0054cc090d4cf7d523728a1de889f650a029f285735"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"eada91c91bbd093a079d0e73954c83a4cea74951a349b4691e5624b19bfa9519","accepted_id_merkle_root":"3c75b398201df2276cae4333107dd73bed8d259638d83507db411a62143c63cb","utxo_commitment":"88e001a54bb3903827b132104d38dbbe119d07d2c3391437228faf8d8ad3bbdd","timestamp":"1791454522294","bits":486806777,"nonce":"9305349630972307985","daa_score":"62613","blue_work":"00000000000000000000000000000000000020f945bd154e","blue_score":"62300","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","version":1538,"parents_by_level":[["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["f37c9dd6a8aee1425eb65ebaf3b5d2592a4b11aa17a2fd033d4fc87c576c7617","ee839a7c2f51a3a08312666f2149d93b4e52d19276fc73b11530563bf668673d","6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa","9ed9794dbf5bac81ae3f35fc7baa18502dc43cfc68de35f28525928157b06611"],["6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["6996d35814f4e5b8fe653dbe4ec559882ac5fe6c453fa464350a4deb464616fa"],["4c944c0941886beb40130ef808f8b32c8a4c111547a068915cd2006de2819713"],["5ad862058e3f1d00dbdc7f5f8867851b64c5077f0ef28b1b02be5733c373964c"],["4553516a86809e4db309f66a24e7185279db6d97c65f174128204c3b3d573ebb"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"a3019aa0cd0ed0e20002b1b2a10c29ec8934dd96fd1128b19235661779faf4df","accepted_id_merkle_root":"e17ebacfdfa556cdc6e1b82ba183d897a5e403342f390dfb0c7864f53cba4966","utxo_commitment":"2cc6172d8a4f015e50e289ce3d24617a3f9405219a08af58bef44d6687955c0e","timestamp":"1791454525054","bits":486807996,"nonce":"3128511099610733544","daa_score":"62616","blue_work":"00000000000000000000000000000000000020fa01f15147","blue_score":"62303","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"befb7dfaf9638375bb11f30f5f9446c465eac043adcc75d8428d2eb48d3636e2"},{"hash":"786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","version":1538,"parents_by_level":[["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","3c38778bd639be6a523eca9474a973c0c33eae6ce2ac97c5411c57008277e3ce","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998","29a8793fbdee03e86b787a698d3b9abc43d0fa681bd4a143d32d22dfe971c71f"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"67ca982ae7c69018838e2d2d68627a22383322d56c1bba531a818ecc40d4d313","accepted_id_merkle_root":"2f50786f26476ea5e526d5455f9efcc38c2a0465594a3c56706ab242131b5490","utxo_commitment":"54c876115a3b2c97471f2d46f7b5d72dec947ae12862d54e9abc1d73b79eabbf","timestamp":"1791454526972","bits":486807310,"nonce":"18274139564410558614","daa_score":"62620","blue_work":"00000000000000000000000000000000000020fafc59c903","blue_score":"62307","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"befb7dfaf9638375bb11f30f5f9446c465eac043adcc75d8428d2eb48d3636e2"},{"hash":"bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","version":1538,"parents_by_level":[["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","8656eb2e73e8d825c056331c50c1305e1406fdeb43e9a973add64c9e7e22630c","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232","1312a5892e284506c672fe954a9e791a9e41c723ea5cf4dd125ef3151c1a00ee"],["786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1","f8e8217106f7078e2f4053798728e01aa959c680142f967a7625757498e2e998"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"f25fdb8f208e8fd30bf6932685dc83c4739ae86cf2ba8cc5ec55e9df1975c03f","accepted_id_merkle_root":"0758eb271236e2e35e2b0c83044dc6638cd1e5f64dcc0af8d368897f9fefc7e2","utxo_commitment":"fb1c8406f980e2dc49babdc108d14731727c0f9232b80a083b350c8febe30d39","timestamp":"1791454529168","bits":486806393,"nonce":"12177382639617614335","daa_score":"62623","blue_work":"00000000000000000000000000000000000020fbb7f9a3bf","blue_score":"62310","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"faa34a1a4cb929cb5bc221d2d27c893404b011227048e520bd1c0ee5c9e77f3a"},{"hash":"5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","version":1538,"parents_by_level":[["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","71e48a02dd01a1ac5ec633345105b8002599e92dd66524b4a5f1abe759e2a23e","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["bf75136b589a52ed7995ddedff05c7c4bcbf4a2d4c5539521803a510183819cb","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63","8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781","786a9de2fc5a2e8e1324201baafd9d6a1bb380980cd974e1d9400059175e6232"],["8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["8be36a0e64a464c0395c252763007a21b081aa5ab7396c7aaa5316386a067781"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"05adc25d6bf661367de9bc80e58e975ca19ad481bd873565dc5447b6994947a5","accepted_id_merkle_root":"66edcbe16e7548010943a7926789e9d48237c36d38f30eefe408b8393ce06020","utxo_commitment":"fb9428ce5bc66a28ef47be88c182fdfbbc49c1e028f2efd3a5f38a53464609bc","timestamp":"1791454532258","bits":486805510,"nonce":"17781801415954933086","daa_score":"62627","blue_work":"00000000000000000000000000000000000020fcb2bb5285","blue_score":"62314","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5","version":1538,"parents_by_level":[["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["5631f513c36590bbc08b7e00addd235f3221abebb30c86878985b3fdd93fbfae","663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","435d7c1f6e10e5f944e799708f4cf6d8aaf5047fe73f8a4d8cfcf568603fa8f3"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84","58afd1c3e6a4b47fa26b37925741b2345c43159abc64974b8eb49a444cc61e63"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"6ad2d912054e24fa3f43049684d0251116dffda147f00e72636725e66b67fc0c","accepted_id_merkle_root":"94925bc3c7f7a792399387d67371a31b942658659f0ea801587c6d031d4bc1f2","utxo_commitment":"3baa01f40060fa419b5ce23d594097e7e85058cfbf88ae7d984668ec2f7199cb","timestamp":"1791454534801","bits":486804704,"nonce":"2478920269875575874","daa_score":"62630","blue_work":"00000000000000000000000000000000000020fd6f7d89e8","blue_score":"62317","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9148d90deb8d80e3d3e609b74b89a80e392d54aa0c7b2d9de0d72269058e9e60"},{"hash":"f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","version":1538,"parents_by_level":[["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"fec6ef6f9f622997adf6f7935eb2d321a3ffcc1ba55002afec99f09f7238cd26","accepted_id_merkle_root":"fafc0d551bf91532adde64e011fdb25423597388598df10e32d8943757c5cd51","utxo_commitment":"1f9186ed1aa7cad854cabf1688aac9d42cc1dcfceba68913ad1433bc755a4a0f","timestamp":"1791454538183","bits":486804288,"nonce":"4356188352554420571","daa_score":"62631","blue_work":"00000000000000000000000000000000000020fdaeb218bc","blue_score":"62318","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4f342bdd527c7f7c291df6816da57c3b19b0920a4604b9eb90a4915ffed88418"},{"hash":"2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","version":1538,"parents_by_level":[["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["f871ae7ea85cbad9f45dba4271db3a6124b188ce9c3274d026a388f5221a9f71","716d2f553db30ee3665e0bac5a485c11fb5924709d78710ca3d7c007bef9f586","d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc"],["d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc","13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc","13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc","13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"72d029868b5ecfd55a7f7f8662169a2b29c11aeef1b7c67fe0e79882743bf9ad","accepted_id_merkle_root":"1da68503e130a5f1de125c3acdfd21ac5ca7bea025f548d22c2627b0bfcddf44","utxo_commitment":"bf603748a987277b16cd55332b7c0b7d339f6a66b47f0ec1448728d0725db655","timestamp":"1791454540674","bits":486803757,"nonce":"5893508708598115327","daa_score":"62635","blue_work":"00000000000000000000000000000000000020feabb71fe2","blue_score":"62322","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4625014e38d651cf7ed7ff72b214bfc6cdb4504aa9a1bd43e6f64bfa1207c066"},{"hash":"f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","version":1538,"parents_by_level":[["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695","7ad444490a2320850d43246841276df23a431354ea34cdd543cf9bbb140b1276"],["2af6c7e83e01960639fbf5b611df87d1bf755f4f4474f7a9788ae5f13c8eb695"],["d28cd3218488f54edfae6dc0be48ad37cc498cdb765d8662208afef7862e83b4","9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc","13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["9f60a662a25f48e3c6362a68a004d41e9a1cb0f0eaec0d5cc57932282ca2bcfc","13eaf66c574466c161ac103e5b83a039b4910754c2ee784fed6361c9f66142d5"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["663c2815443f91edf3e103b8ff851683d7ceaf2d2333575711552aa4f5857c84"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"6ebacf638b5985280b69a5a898ef3a3a8cee984efb3f863dfd0999f79234bf13","accepted_id_merkle_root":"1a03ff2524de0437b19d1cd081099f8d857ddcf93438d0df353b338c54a36dc6","utxo_commitment":"186271bede205540fe6fff7e35b514b9a2c1314ae653c2354e996d2f62ecaae9","timestamp":"1791454542828","bits":486803098,"nonce":"14702377579174332167","daa_score":"62637","blue_work":"00000000000000000000000000000000000020ff2a73926a","blue_score":"62324","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"463ed7cd0f93054b4ee64273d4a68916c630f8527ae5e227609289c7f336c316"},{"hash":"c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","version":1538,"parents_by_level":[["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["f813fe98889a56844772cb16d1ed64088b0c9c174c0dc26093da128674e94460","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a","e5b8286ceee31e0361f6c8cb0a4425b664a678a9a08fa78e8cc770c6149e1e71"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"96fc5d48e1ea2eb09d0707af4cbe9b92a9c16f42b180ab7e6dd5a63bf059eb99","accepted_id_merkle_root":"1ee8838f17def9086247b3e63b263ab6a887db0553443cc28550b06c5d3b2376","utxo_commitment":"cb0aec320fc605561ef3e3454bac9d49aeff938c11c9f71c08f106f8058bb48b","timestamp":"1791454545024","bits":486803838,"nonce":"15420938290831305420","daa_score":"62640","blue_work":"00000000000000000000000000000000000020ffe9102a9b","blue_score":"62327","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"4f342bdd527c7f7c291df6816da57c3b19b0920a4604b9eb90a4915ffed88418"},{"hash":"ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114","version":1538,"parents_by_level":[["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["c06f3e34af1f62cf3e16cc544988d04a707f0189c01b9724f07e92648f8d7545","28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","9e8485828794687fd52f9008e4396b5a73b980bf1567829dc8aaeb95c1938cbc"],["28dd6b7d2d7830639d46899c9e760f462e1017a5f1296f0bb33049a390e8acde","04bf3703f51ba84e5cb21215ad4452ea8640f352d291c720ea2cda0a79636b94","b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49"],["b360f87b44d637d2495059abbe49165a7441d7ebed57434af6f0d1556c7caf49","24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"5e39677c138b8624df65863cb0112292c50aa7a3a341fe62c0d9c3cbe6fa9dd4","accepted_id_merkle_root":"f61ae3d1ecdc9ed674dfee290af360aba83af5a6ced77e19d6f9f4f50fd45f52","utxo_commitment":"d66bfef122900c452688e6809fbb2d30d174cedc7e633629e536c9adbc7da270","timestamp":"1791454549117","bits":486804474,"nonce":"973304799770798192","daa_score":"62645","blue_work":"0000000000000000000000000000000000002101262314b2","blue_score":"62332","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"8d7a2d7ab1209f901691e12b4e3114f426205a41d91cdfca9937969c25eae7c2"},{"hash":"edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","version":1538,"parents_by_level":[["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"df0dcc20c48279e489fa2f9742e2ca010d4b1a11ce01777a90784073df6ea1f1","accepted_id_merkle_root":"c31b43c318a395b41d4ce7a5860c46990fdb63bf2151b987e4d594c521133f56","utxo_commitment":"db95165e5ac349165e7db15beb0bdb9d11c514756fc3a9c46d5c94ddf30a5945","timestamp":"1791454552541","bits":486804093,"nonce":"11865156040670801520","daa_score":"62646","blue_work":"00000000000000000000000000000000000021016565abd0","blue_score":"62333","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0609a6f2913130b1ae333c0676d72c213933f4df7d8c37f09e59ba0080040b81"},{"hash":"c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","version":1538,"parents_by_level":[["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["edb4165c0f51a9cb16baebefc750102d44869106f00993066c10181b2fda2496","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9","3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","c051426ba1eb52b3275ba0fab1066cdb2a3c059dfebcd40e91041e71c4c8d56f"],["3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"f22f337cede98cae249506dfd9bc4a6eb1c20a38593fa6c908d58c2b8a95fd37","accepted_id_merkle_root":"a781463c23779dec2f506d9271c160ce744638c9030274f6f3c4501254bb8f62","utxo_commitment":"ccc4b2b225b1ae80f69927d8abd9983637b8f78e43108c52e6d4da144fbd9b28","timestamp":"1791454555199","bits":486805114,"nonce":"13775124419486669613","daa_score":"62650","blue_work":"0000000000000000000000000000000000002102629da70e","blue_score":"62337","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"8607abddbdb3d2b40f401f347ee763121bdcf46d3373364379f45ce545a43ec8"},{"hash":"7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1","version":1538,"parents_by_level":[["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["c1d46acf98d25b41cdce0a416f5e37208235132c0718aa65932db5a58ad743d9","40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","af6a6c306c51ba60b9e3aaa6a03667f4162c708059c2e0eebfda0027d348655b"],["40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9"],["3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"4c7c48e50b7101d9e1d2c44cbe125158cb3d1d6df04f690600ac82669df5fed3","accepted_id_merkle_root":"c36a37d1ad3c77875c2bf3ed5c41c54ec9a986ee935a241c375e12151001cec7","utxo_commitment":"4f55e3b8e863255bbd372226a406b513f2b91395468200db20bb5c9bebbe45c3","timestamp":"1791454557522","bits":486805145,"nonce":"17471658679304617848","daa_score":"62653","blue_work":"00000000000000000000000000000000000021032056d687","blue_score":"62340","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"9e4ba6b015e668602b32a846aec20c057fb97adecdbe69759602682d8ce595a9"},{"hash":"089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","version":1538,"parents_by_level":[["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["7779cfd43928d21e7d605c1c1b9b6e780a90ea6f2b8aada12fcbd3670bdd7db1"],["40180eddb55ea746370b96f148485ee97810464ae56af4005773701111997c42","d4bd69e65a856f4820a764bf434ef7441eb13b94b2ea118ea77c4a7a26f65ac9"],["3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"0922bfaef03b1247faae945599fb42e5143342ba3d82596a51244d22e3138915","accepted_id_merkle_root":"453780326623069101b996e16126a3aca8f7f0464971e9fa29b8499a2bcfdc77","utxo_commitment":"7336650245d85a3c0181bd2f1f7ca7ea58a53e430f47a749b1a63a39551bfc5f","timestamp":"1791454559074","bits":486804850,"nonce":"12591743088431082128","daa_score":"62654","blue_work":"00000000000000000000000000000000000021035f708ee9","blue_score":"62341","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d","version":1538,"parents_by_level":[["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["089e1ca267b5ad3153ae3149d5d0589220d6f587d56c5b12727d6a012f555383","6403fb956072836b77744234a0e247471a10eba850022522bc2544923216b544"],["3c210bb37d3f80b6209f16474fe99e17117ed771f229e3ac27795c683c32f5ef","ecbf70ed25f29a30a8994ca5a741d0c29204b7342ae4ba14423355699f308114"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"bd6070b081f41a32c55a66d8631c79c5d2510ed823b4b33922a8590de5f2726f","accepted_id_merkle_root":"236ad281e4212f9fd9063fe143cc739e320a9b7f5d81cc80d70469c520785740","utxo_commitment":"93b47e9fb4b306c179fcebd9b1f5041abb498334e2d01d771d70040ce39d1724","timestamp":"1791454561723","bits":486805081,"nonce":"2373766413771558325","daa_score":"62656","blue_work":"0000000000000000000000000000000000002103dd802b95","blue_score":"62343","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","version":1538,"parents_by_level":[["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e55afd9aa55af073931f2f26217141d6c417932f9ef91b222515b13b3a1d5f77","accepted_id_merkle_root":"341b2a385097302311faeb4cf7c3c8319a273d2dbad2b4df32bf9248a14b8131","utxo_commitment":"d553718e9045d4183c0fa741381db2eb3822e1476bcd428d63d60f7f3e64cd13","timestamp":"1791454563413","bits":486805746,"nonce":"2804473959083381571","daa_score":"62657","blue_work":"00000000000000000000000000000000000021041c9dc7a0","blue_score":"62344","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","version":1538,"parents_by_level":[["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["dbb1d8101930ec6080841de05ae3a000e162f4306ea5dc1064484fa8e8041c92","a3001c6ec6dffc13189507d99e2bef6259bf587c7bfcd8dd2e553d942e14656d","d6b08aae8004b84bf5ccef90f114cdeabde23e76b64843fabd90556ea8bbae5c"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"82f1d1abf19b5d75718cad7eabffc9d3afd6e9563def49a14dafa33ee822cdfb","accepted_id_merkle_root":"4dad8b758a1ddc96bf0be0564cf33c4ba68a61fda3802c78333d49b00edd9446","utxo_commitment":"3514f6eb11131da7713e576ab3abeaed509718e13accab8c0c15ebbad07d8e2e","timestamp":"1791454569267","bits":486806361,"nonce":"7891645297064515763","daa_score":"62660","blue_work":"0000000000000000000000000000000000002104d9a5f76b","blue_score":"62347","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d4c62c2844b10e981e1de4fd5ae94e3379069048b9d5fd10b89c65d019ef3dc8"},{"hash":"79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","version":1538,"parents_by_level":[["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["5dff483ad2e531e609559eacef9ca3441f8c71f9d318f6d81672f5d375127721","1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a","75e16c5db5c0ad14a9ed68bd0e0e89713a69c32f7d54f200e38c5f5d1a4c4116"],["1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9d41d3827046111a5605c68a17da1b1debe7c3c48832896739a5124eea3d4826","accepted_id_merkle_root":"1965a6564c2d4881b9d8a3b9cf791ffc430792ab82634d615a5889cf7f9ab7eb","utxo_commitment":"1591ae4b78956c63a6a399b2619ad333437b49a946a33e143f8b5884edd29739","timestamp":"1791454572144","bits":486807730,"nonce":"3829273376615020883","daa_score":"62663","blue_work":"00000000000000000000000000000000000021059628a45f","blue_score":"62350","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"6e80f3eff6b62c476666f8f81487b773d5847d9dcf2af0baa67d270b85bfb19a"},{"hash":"f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","version":1538,"parents_by_level":[["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["79262c5c41cb94dc3fe41688b83cdfcb7fd188093033daa7e754784077d5812d","1614191bf8173dfca5cca95011e7eac8b556ef74f46669e27a8c1ac97b896687"],["1216c10f8baf7f975db085ca79bba4157816feef47c193bab305158bbdc6464a"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"9edd44d7e6e1a03b6936fc19824bb6f89a697593e3011dcb01de31e7b4df2191","accepted_id_merkle_root":"504c3fb496e0a41c27e64b9970afeaa586fe95ffebbf7ccbe7dae9783ebe5da4","utxo_commitment":"7adba5ea382f5e503519bf3159d3a4ff2e63e5974f349d2325e9da9acf886774","timestamp":"1791454575744","bits":486807706,"nonce":"531029752191280023","daa_score":"62665","blue_work":"000000000000000000000000000000000000210613250059","blue_score":"62352","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"c0df92ce37d8bcce334afdddc65b278949deb0a2383fbc10fe025111eef92ef8"},{"hash":"d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","version":1538,"parents_by_level":[["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["f259f9bbb4d50940443da274050bf8344ca895fa46e527e2254a3f16ccc5479e","87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f","afd3ac5851362c8e6ec84ab6b22d90d82aabd3d900e0f088a7e7c1bfa889373b"],["87a459d4a31e09756cbd59032124485e9b32fdd6031c50d64f9e91bf22d3215f"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"ee2e477abc3cddecaa419bc7baf89cb93c031c4b0837a8d475fb3b980a90a274","accepted_id_merkle_root":"c9a07a82df0fc8ca01898839375f5f814ccf94bda81a519c3a6c3057845566cc","utxo_commitment":"36e8c5504f602e65d258f19dad65d3f0da5efa320955e715c35757653052e3b0","timestamp":"1791454578596","bits":486807814,"nonce":"5268551126911609932","daa_score":"62668","blue_work":"0000000000000000000000000000000000002106cea266a2","blue_score":"62355","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"150cfb7c943d0224a38c79f17b509845bbb077d8fe3bb936c577de169d8aee1f"},{"hash":"edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","version":1538,"parents_by_level":[["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","13c9f794e6ae50934b749ee034c33cc41822e25931efa3fbdd80201d0ec22eb8","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"2c57b6d03ee093857f570b2f7a6247bab5a464876030bdf5b4a8d3f2d3e0445a","accepted_id_merkle_root":"e7ac5482030087b02378ce6f5ce2bf4c9a1b8aff3403eba4f06e25bb9caef6e5","utxo_commitment":"43b0f8f4a07d01b653d34abc022054c3f88830be12d7a51deb99fdb69c98089a","timestamp":"1791454580685","bits":486807798,"nonce":"4449508512901646278","daa_score":"62671","blue_work":"000000000000000000000000000000000000210789ffe109","blue_score":"62358","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"befb7dfaf9638375bb11f30f5f9446c465eac043adcc75d8428d2eb48d3636e2"},{"hash":"c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","version":1538,"parents_by_level":[["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["edc982ce5f3046e55d1a7281e7554a6651f72b3c4bc9dad63bf0ac7cf754ff25","11b07a8bb196368ff4a3bc14b4b70a6452f40682a97c6e9a9f3073aeb7187740"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"ea09d58d37832236ca3048ef979ebcf06068f2f8a06fc3900e63e69cbc29868d","accepted_id_merkle_root":"98690076edd6fcfcf1599e97e722f36148f01b8a13270c5e5a87ecda46684ce0","utxo_commitment":"366183fba638cca275b151af112a48e6a4bb48c93c190ff87b534ce424056348","timestamp":"1791454583542","bits":486806470,"nonce":"13123750701574824748","daa_score":"62673","blue_work":"000000000000000000000000000000000000210806f422cf","blue_score":"62360","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"463ed7cd0f93054b4ee64273d4a68916c630f8527ae5e227609289c7f336c316"},{"hash":"b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","version":1538,"parents_by_level":[["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["c3e36928a52fcdd742a3c1e5abf09d99c7721b1ad4a732b59d06f746190aae78","aee2fda016fe7fb5826f575c59d0a0bdf0d6d9d2f9f475fb4921cc13a7c0dc18","bac8361d91c1b24baf18f4632519f5f1c6d3cfe3a750e99e8c9dc763c249e24e"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"40087a0e05f593a600bafdb63bb504bab46b881d06aad1dc0eed2851bee71c91","accepted_id_merkle_root":"d6e25498e34d0dbb597737d46bde0025a8a6430a436ad639241167f6aea852c4","utxo_commitment":"c5f0829f1597614e0fc1c420820f8bf678d9ef3e7a7a6716625b8f0d49de25ae","timestamp":"1791454586887","bits":486806161,"nonce":"15057212031821086333","daa_score":"62676","blue_work":"0000000000000000000000000000000000002108c3018058","blue_score":"62363","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"0c550c9c91fb321b07b3b80ffebe6a1076b120839e4be75eb8ba16cbc07c6523"},{"hash":"cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","version":1538,"parents_by_level":[["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["b93a021a6cdc23615829b1247efb06cda35262d3e050b3c83dd5b734a119f173","c3475b67b55ba5a82b8559f42ee2a789962d03bb8a176c8f9699d5db94905e86"],["d547517998ad054df26aa720eebb82845beb3d49f271c73425382d455f42cd72","ab05f2001dd06e407a9484113763003f01f392f02b88d29dd1de4a3595cb6312"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"aac24f918e4c897899593e0f5d3c030ce8a08c6e341dc0f27e848979a4100c79","accepted_id_merkle_root":"c44b1e7508e16df2b97bc0dff2b6a018be4491efed3555b146128906610681bc","utxo_commitment":"d5151153aa2d6bfaf8b74dc23f4150ba2c724347d43083fe16fe6ee5d07a5278","timestamp":"1791454588937","bits":486806974,"nonce":"3040225968079214040","daa_score":"62678","blue_work":"000000000000000000000000000000000000210940a758f5","blue_score":"62365","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"d5e75a4f2ba0f288eaaffd4639883922a5059e0fc7ea59cbe6dc230bc8941f56"},{"hash":"44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","version":1538,"parents_by_level":[["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["cd18504c9916e9978dc6f29c46d9676b6410ac15898c897243009d9ffb80d2af","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91","cc89003856eb05a9b34df76230397f2c9c085f36fac50cd9d7e63dc0fe94eb8b"],["209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"69d1cbe8a3ad98074117a432410a94a595d8336e6f9a0ab65d50297833882359","accepted_id_merkle_root":"f786ee49183dbe90c22c3794a7c879a1dc2697c58dc5f1db2406c223b1bf3cee","utxo_commitment":"b6a258ecc5de3d93c416a2c4abd33fc8c3f2209fb23ed12e1dcdc0987189b392","timestamp":"1791454592208","bits":486806547,"nonce":"13559917227620654393","daa_score":"62681","blue_work":"0000000000000000000000000000000000002109fcda4a65","blue_score":"62368","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"},{"hash":"f52c685c3c4b4bdfe1b7393f50aacc677b8fc518565034c3054aa4675e7761b8","version":1538,"parents_by_level":[["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["44f9563c5490863c9181752fa6f529b011ad9c6382d17c28640b7dd13d024b6d","4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","9d3af56258a7d7f0eb4e39273fa3e6316615b770bc213d2b8876e1368fd2ef49"],["4ac670c45c64b97fa7390c038349570f0b948f7807ddffc3995dc287ea6150f6","209be54d5edd77a91aaac2e20addf5565942bb11576abaed553ff1fa56983e91"],["44510bddf2bd3006523354c1776edffa116399e1c890c30af9dc9db5bf5f057d"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["24ec396b144353b2d3401504d0d7ee7398943150e5b4abda52a9b24c0acab74a"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["c3029d7f9f12fc3313ea35a67b62463f955315e1c45c7ebbba8c6cd087172fc1"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["bdd9c4ad8c04088a010acba4a3cd5cca71dc9c70f3b74d2a2efa2208065e39fc"],["c4f9f8ce138ea4413d7194cdfad0d7a5f03172a9fcdd1b5e8ec4e0d1f1e58882"],["40c6e0862710538a1dc49c74189b2ced4f6795932d726debc43274edb8ec2f56"]],"hash_merkle_root":"e33954e381d87b8eaffe9b9cd6956f9f6e1e41f53808af2e288275da1706aec0","accepted_id_merkle_root":"172b8b39dab65ec7ec9c04842e1ec8f2d1e40ee014dd8912fe1ad8204958127c","utxo_commitment":"420c0eab255137ddb34d53320adea8c26e46ec1b63fe857affcde761ca2d13f8","timestamp":"1791454593552","bits":486805980,"nonce":"9356002538226592155","daa_score":"62684","blue_work":"000000000000000000000000000000000000210ab904fd6e","blue_score":"62371","pruning_point":"4020cb4382e3fe4b281c817c02582e147d8f851f566ae9172b28912b8e68b925","vote_key_hash":"1dc3901ba4b2cfa3a6e677ff3fdbec1498487b754f6e8c4edc30b5f2352b52b7"}],"execution":{"chain_block":26979,"chain_block_hash":"203f4d0f369c8bb954e6b4daae78b471898c0d80bbda887b6b079d4a96e91476","status":"0x1","gas_used":"0x5208","from":"0x21ee8aed0f39d0600aea7b5ec1b73d4f5b00372d","to":"0x7be2f2601e6b269061d1375b2edd7ef58a6fa861","contract_address":null,"logs":0,"effective_gas_price":"0x178411b200","as_reported_by":"the node (not proven here)"},"tx_as_reported":{"from":"0x21ee8aed0f39d0600aea7b5ec1b73d4f5b00372d","to":"0x7be2f2601e6b269061d1375b2edd7ef58a6fa861","value":"0x297d486920a00","nonce":"0x4cbe","type":"0x2","chain_id":"0x116f"}} \ No newline at end of file diff --git a/tools/reference-apps/light-service/.gitignore b/tools/reference-apps/light-service/.gitignore new file mode 100644 index 000000000..c2658d7d1 --- /dev/null +++ b/tools/reference-apps/light-service/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/tools/reference-apps/light-service/package-lock.json b/tools/reference-apps/light-service/package-lock.json new file mode 100644 index 000000000..9d748be70 --- /dev/null +++ b/tools/reference-apps/light-service/package-lock.json @@ -0,0 +1,43 @@ +{ + "name": "igneum-light-service", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "igneum-light-service", + "version": "0.1.0", + "dependencies": { + "@noble/curves": "2.4.0", + "@noble/hashes": "2.4.0" + } + }, + "node_modules/@noble/curves": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.4.0.tgz", + "integrity": "sha512-P4/62zrgfH33CneE3Dn4WhJVA22YUU0eR51wKIan4NVRvwsA0YnPTwWGpNbpuacSujmSFLvyzpyuR30+fbq2Ew==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "2.4.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.4.0.tgz", + "integrity": "sha512-X5XaVWZIBCT7HHZGm5I7ZQXDwLG+bGXuSrMQAW+7Zvl87h1kmc1ZB1VSRJcpUfoUrGQp4Fkoxm5kZ+Ms+aW+eA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + } + } +} diff --git a/tools/reference-apps/light-service/package.json b/tools/reference-apps/light-service/package.json new file mode 100644 index 000000000..3aaf9938c --- /dev/null +++ b/tools/reference-apps/light-service/package.json @@ -0,0 +1,8 @@ +{ + "name": "igneum-light-service", + "version": "0.1.0", + "private": true, + "type": "module", + "description": "Igneum reference apps: the read service behind rpc.devnet.igneum.network/light (runs on build-1)", + "dependencies": { "@noble/curves": "2.4.0", "@noble/hashes": "2.4.0" } +} diff --git a/tools/reference-apps/light-service/serve.mjs b/tools/reference-apps/light-service/serve.mjs new file mode 100644 index 000000000..8549a810a --- /dev/null +++ b/tools/reference-apps/light-service/serve.mjs @@ -0,0 +1,276 @@ +// Igneum reference apps, the read service (8 October 2026). Runs on build-1 at 127.0.0.1:26890 behind +// https://rpc.devnet.igneum.network/light/ (the build-server lane's Caddy route, prefix stripped). GET only, CORS open, +// answers JSON that a browser verifies by itself with site/lc/core.js: nothing here is a verdict, everything is data +// the page recomputes. Reads a Devnet 3 node that executes (the exec JSON-RPC for records, receipts and eth_getProof; +// the wRPC JSON websocket for block bodies and headers). +// +// /checkpoint the latest certified checkpoint (proxied from the site's /api/checkpoint?source=dn3) +// /balance?address=0x..&checkpoint=&index= +// the newest paid segment record under that checkpoint, the carrier block's coinbase and +// merkle path, the header path carrier..checkpoint, and eth_getProof at the record's block +// /receipt?tx=0x..&checkpoint=&index= +// the raw transaction, its including block's merkle path, the header path to the checkpoint +// /health +// +// Env: LIGHT_PORT (26890), EXEC_RPC (http://127.0.0.1:26881), WRPC (ws://127.0.0.1:28880), DATABASE_URL (the Devnet 3 +// observer's Neon string: /checkpoint reads the dn3_ rows directly), else CHECKPOINT_URL (the site's API). Zero npm dependencies beyond @noble/hashes +// (blake2b, keccak) installed beside this file on the box. +import { createServer } from 'node:http'; +import { blake2b } from '@noble/hashes/blake2.js'; +import { keccak_256 } from '@noble/hashes/sha3.js'; +import { coinbaseTxHash, merkleRoot, merklePath, hexToBytes, bytesToHex, segmentRecordsOf } from '../../../site/lc/core.js'; +import { readCheckpoint, earliestCheckpointAbove, neon } from '../../../site/api/checkpoint.mjs'; + +const PORT = Number(process.env.LIGHT_PORT || 26890); +const EXEC = process.env.EXEC_RPC || 'http://127.0.0.1:26881'; +const WRPC = process.env.WRPC || 'ws://127.0.0.1:28880'; +const CHECKPOINT_URL = process.env.CHECKPOINT_URL || 'https://igneum.network/api/checkpoint?source=dn3'; +const SEGMENT_BLOCKS = 8; +const strip = s => String(s).replace(/^0x/i, '').toLowerCase(); +const log = (...a) => console.log(new Date().toISOString(), ...a); + +// ---- the exec JSON-RPC ------------------------------------------------------------------------------------------- +async function exec(method, params) { + const r = await fetch(EXEC, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method, params }), signal: AbortSignal.timeout(20000) }); + const j = await r.json(); + if (j.error) throw new Error(`${method}: ${j.error.message || JSON.stringify(j.error)}`); + return j.result; +} + +// ---- the wRPC JSON websocket, one connection, reopened on loss; u64 nonces kept as strings --------------------------- +let ws = null, wsOpen = null, nextId = 1; const pending = new Map(); +function wrpcConnect() { + if (wsOpen) return wsOpen; + wsOpen = new Promise((resolve, reject) => { + const s = new WebSocket(WRPC); + s.addEventListener('open', () => { ws = s; resolve(s); }); + s.addEventListener('error', e => { wsOpen = null; reject(new Error('wrpc: ' + (e.message || 'socket error'))); }); + s.addEventListener('close', () => { ws = null; wsOpen = null; for (const [, p] of pending) p.reject(new Error('wrpc: closed')); pending.clear(); }); + s.addEventListener('message', e => { + let m; try { m = JSON.parse(String(e.data).replace(/"nonce":(\d+)/g, '"nonce":"$1"')); } catch { return; } + const p = pending.get(m.id); if (!p) return; pending.delete(m.id); + if (m.error) p.reject(new Error('wrpc ' + p.method + ': ' + (m.error.message || JSON.stringify(m.error)))); else p.resolve(m.params); + }); + }); + return wsOpen; +} +async function wrpc(method, params) { + const s = await wrpcConnect(); + const id = nextId++; + return new Promise((resolve, reject) => { + pending.set(id, { resolve, reject, method }); + s.send(JSON.stringify({ id, method, params })); + setTimeout(() => { if (pending.has(id)) { pending.delete(id); reject(new Error('wrpc ' + method + ': timeout')); } }, 20000); + }); +} + +// ---- headers: the verifier's shape (site/verify/core.js headerHash), cached by hash --------------------------------- +const headerCache = new Map(); +function shapeHeader(h) { + return { + hash: h.hash, version: h.version, parents_by_level: h.parentsByLevel, hash_merkle_root: h.hashMerkleRoot, accepted_id_merkle_root: h.acceptedIdMerkleRoot, + utxo_commitment: h.utxoCommitment, timestamp: String(h.timestamp), bits: h.bits, nonce: String(h.nonce), daa_score: String(h.daaScore), + blue_work: h.blueWork, blue_score: String(h.blueScore), pruning_point: h.pruningPoint, vote_key_hash: h.voteKeyHash, + }; +} +async function header(hash) { + const k = strip(hash); + if (headerCache.has(k)) return headerCache.get(k); + const b = (await wrpc('getBlock', { hash: k, includeTransactions: false })).block; + const h = shapeHeader(b.header); + if (headerCache.size > 20000) headerCache.clear(); + headerCache.set(k, h); + return h; +} +async function body(hash) { + return (await wrpc('getBlock', { hash: strip(hash), includeTransactions: true })).block; +} + +// The header path from `from` (a block in the past of chain block `chainNumber`) up to the checkpoint (chain block +// `cpNumber`): [from, ..., chain block chainNumber, ..., checkpoint]; every next header names the previous as a direct parent. +async function headerPath(fromHash, chainNumber, cpNumber, cpHash) { + const chainHashes = []; + for (let n = chainNumber; n <= cpNumber; n++) { + const b = await exec('eth_getBlockByNumber', ['0x' + n.toString(16), false]); + if (!b) throw new Error(`chain block ${n} is not executed on this node`); + chainHashes.push(strip(b.hash)); + } + if (chainHashes[chainHashes.length - 1] !== strip(cpHash)) throw new Error(`chain block ${cpNumber} on this node is ${chainHashes[chainHashes.length - 1].slice(0, 12)}, not the certified checkpoint ${strip(cpHash).slice(0, 12)}`); + // down from the chain block to `from` through direct parents (a merged block sits a few parents below) + const start = chainHashes[0]; + let down = []; + if (strip(fromHash) !== start) { + const target = strip(fromHash); + const prev = new Map([[start, null]]); + let frontier = [start]; let found = false; + for (let depth = 0; depth < 80 && frontier.length && !found; depth++) { + const next = []; + for (const h of frontier) { + const hd = await header(h); + for (const p of (hd.parents_by_level[0] || [])) { + const ps = strip(p); + if (prev.has(ps)) continue; + prev.set(ps, h); + if (ps === target) { found = true; break; } + next.push(ps); + } + if (found) break; + } + frontier = next; + } + if (!found) throw new Error(`block ${target.slice(0, 12)} is not within 80 parents below chain block ${chainNumber}`); + for (let h = target; h !== null; h = prev.get(h)) down.push(h); + down = down.slice(0, -1); // ends with the chain block, which chainHashes carries + } + const order = [...down, ...chainHashes]; + const out = []; + for (const h of order) out.push(await header(h)); + for (let i = 1; i < out.length; i++) if (!(out[i].parents_by_level[0] || []).map(strip).includes(strip(out[i - 1].hash))) throw new Error(`header ${i} of the path does not name header ${i - 1} as a direct parent`); + return out; +} + +// ---- the checkpoint ----------------------------------------------------------------------------------------------- +async function checkpoint() { + if (process.env.DATABASE_URL) { + // the Devnet 3 observer's rows, read the way the site's /api/checkpoint reads them (DATABASE_URL from the box's observer env) + const cp = await readCheckpoint(neon(), 'dn3'); + if (!cp) throw httpError(404, 'no certified Devnet 3 checkpoint stored yet'); + return { ok: true, now: new Date().toISOString(), ...cp }; + } + const r = await fetch(CHECKPOINT_URL, { signal: AbortSignal.timeout(15000), cache: 'no-store' }); + const j = await r.json(); + if (!j.ok) throw new Error('checkpoint: ' + (j.error || r.status)); + return j; +} +async function chainNumberOf(hash) { + const b = await exec('eth_getBlockByHash', ['0x' + strip(hash), false]); + if (!b) throw new Error(`the checkpoint ${strip(hash).slice(0, 12)} is not an executed chain block on this node yet`); + return Number(b.number); +} + +// ---- /balance ------------------------------------------------------------------------------------------------------- +async function balance(q) { + const address = q.get('address') || ''; + if (!/^0x[0-9a-fA-F]{40}$/.test(address)) throw httpError(400, 'address: 0x and 40 hex digits'); + const cpHash = q.get('checkpoint'), cpIndex = Number(q.get('index')); + if (!cpHash || !(cpIndex >= 0)) throw httpError(400, 'checkpoint and index are required (from /api/checkpoint?source=dn3)'); + const cpNumber = await chainNumberOf(cpHash); + // the newest paid segment record carried at or below the checkpoint + let chosen = null; + for (let first = Math.floor(cpNumber / SEGMENT_BLOCKS) * SEGMENT_BLOCKS, k = 0; first >= 0 && k < 400; first -= SEGMENT_BLOCKS, k++) { + const s = await exec('igneum_getSegmentRecords', ['0x' + first.toString(16)]); + if (!s || !s.paid) continue; + const carrierNumber = Number(s.paid.carrierNumber); + if (carrierNumber > cpNumber) continue; + const c = (s.carried || []).find(x => x.valid && Number(x.carrierNumber) === carrierNumber && strip(x.keyHash) === strip(s.paid.keyHash)); + if (!c) continue; + chosen = { first, last: Number(c.last), carrier: strip(c.carrier), carrierNumber, keyHash: c.keyHash, statement: c.statement, paidWei: s.paid.wei }; + break; + } + if (!chosen) throw httpError(503, `no paid segment record carried at or below chain block ${cpNumber} within 400 segments`); + const carrier = await body(chosen.carrier); + const coinbase = carrier.transactions[0]; + const evmHashes = (carrier.evmTransactions || []).map(raw => keccak_256(hexToBytes(strip(raw)))); + const leaves = [coinbaseTxHash(coinbase, blake2b), ...evmHashes]; + const root = bytesToHex(merkleRoot(leaves, blake2b)); + if (root !== strip(carrier.header.hashMerkleRoot)) throw httpError(500, `the carrier's body root recomputes to ${root.slice(0, 12)}, the header says ${strip(carrier.header.hashMerkleRoot).slice(0, 12)}: the serialisation here is wrong, not the chain`); + const records = segmentRecordsOf(hexToBytes(strip(coinbase.payload))); + const rec = records.find(r => Number(r.first) === chosen.first && Number(r.last) === chosen.last); + if (!rec) throw httpError(500, `the carrier's coinbase holds ${records.length} segment record(s), none for segment ${chosen.first}`); + // the smallest proof: the earliest certified checkpoint at or above the carrier (the certificate used travels in the answer) + let certificate = null; + if (process.env.DATABASE_URL) certificate = await earliestCheckpointAbove(neon(), chosen.carrierNumber, chainNumberOf).catch(() => null); + let cpN = cpNumber, cpH = cpHash, cpI = cpIndex; + if (certificate) { cpH = certificate.hash; cpI = Number(certificate.index); cpN = await chainNumberOf(cpH); } + const headers = await headerPath(chosen.carrier, chosen.carrierNumber, cpN, cpH); + const account = await exec('eth_getProof', [address, [], '0x' + chosen.last.toString(16)]); + const chainId = await exec('eth_chainId', []); + return { + ok: true, now: new Date().toISOString(), chain_id: 'igneum-devnet-3', address, + checkpoint: { hash: strip(cpH), index: cpI, chain_block: cpN }, + checkpoint_certificate: certificate ? { ok: true, ...certificate } : undefined, + segment: { first: chosen.first, last: chosen.last, carrier: chosen.carrier, carrier_chain_block: chosen.carrierNumber, aggregator_key_hash: chosen.keyHash, paid_wei: chosen.paidWei, statement: chosen.statement }, + headers, + carrier: { coinbase, evm_tx_hashes: evmHashes.map(bytesToHex), leaf_index: 0, merkle_siblings: siblings(leaves, 0), amount_wire_len: 8 }, + segment_record_hex: bytesToHex(rec.bytes), + account: { ...account, evm_chain_id: Number(chainId) }, + }; +} +function siblings(leaves, index) { + // recompute the actual sibling hashes level by level (merklePath only gives the shape) + const H = d => blake2b(d, { dkLen: 32, key: new TextEncoder().encode('MerkleBranchHash') }); + const Z = new Uint8Array(32); const out = []; let level = leaves.slice(); let i = index; + while (level.length > 1) { + out.push(bytesToHex(i % 2 === 0 ? (level[i + 1] || Z) : level[i - 1])); + const next = []; for (let k = 0; k < level.length; k += 2) { const l = level[k], r = level[k + 1] || Z; const m = new Uint8Array(64); m.set(l); m.set(r, 32); next.push(H(m)); } + level = next; i = i >> 1; + } + return out; +} +void merklePath; + +// ---- /receipt ------------------------------------------------------------------------------------------------------- +async function receipt(q) { + const tx = q.get('tx') || ''; + if (!/^0x[0-9a-fA-F]{64}$/.test(tx)) throw httpError(400, 'tx: 0x and 64 hex digits'); + let cpHash = q.get('checkpoint'), cpIndex = Number(q.get('index')); + if (!cpHash || !(cpIndex >= 0)) throw httpError(400, 'checkpoint and index are required (from /checkpoint)'); + const t = await exec('eth_getTransactionByHash', [tx]); + if (!t) throw httpError(404, 'the node has not executed a transaction with that hash (unknown, or not yet in a block)'); + const rcpt = await exec('eth_getTransactionReceipt', [tx]); + const chainNumber = Number(t.blockNumber); + // the smallest proof: the earliest certified checkpoint at or above the block (from the Devnet 3 observer's rows), else + // the checkpoint the caller named; the certificate used is returned so the page verifies against that one + let certificate = null; + if (process.env.DATABASE_URL) certificate = await earliestCheckpointAbove(neon(), chainNumber, chainNumberOf).catch(() => null); + if (certificate) { cpHash = certificate.hash; cpIndex = Number(certificate.index); } + const cpNumber = await chainNumberOf(cpHash); + if (chainNumber > cpNumber) throw httpError(409, `not final yet: executed at chain block ${chainNumber}, the latest certified checkpoint is chain block ${cpNumber}; try again in about ${chainNumber - cpNumber + 30} s`); + const including = strip(t.igneum.includingBlock); + const b = await body(including); + const raws = b.evmTransactions || []; + const idx = raws.findIndex(raw => bytesToHex(keccak_256(hexToBytes(strip(raw)))) === strip(tx)); + if (idx < 0) throw httpError(500, 'the including block\'s body does not carry the transaction'); + const leaves = [coinbaseTxHash(b.transactions[0], blake2b), ...raws.map(raw => keccak_256(hexToBytes(strip(raw))))]; + const root = bytesToHex(merkleRoot(leaves, blake2b)); + if (root !== strip(b.header.hashMerkleRoot)) throw httpError(500, `the including block's body root recomputes to ${root.slice(0, 12)}, the header says ${strip(b.header.hashMerkleRoot).slice(0, 12)}`); + const headers = await headerPath(including, chainNumber, cpNumber, cpHash); + return { + ok: true, now: new Date().toISOString(), chain_id: 'igneum-devnet-3', tx_hash: strip(tx), raw_tx_hex: strip(raws[idx]), + checkpoint: { hash: strip(cpHash), index: cpIndex, chain_block: cpNumber, certificate: certificate ? { ok: true, ...certificate } : undefined }, + including_block: { header: headers[0], leaf_index: idx + 1, leaf_count: leaves.length, merkle_siblings: siblings(leaves, idx + 1) }, + headers, + execution: rcpt ? { chain_block: chainNumber, chain_block_hash: strip(rcpt.blockHash), status: rcpt.status, gas_used: rcpt.gasUsed, from: rcpt.from, to: rcpt.to, contract_address: rcpt.contractAddress, logs: (rcpt.logs || []).length, effective_gas_price: rcpt.effectiveGasPrice, as_reported_by: 'the node (not proven here)' } : null, + tx_as_reported: { from: t.from, to: t.to, value: t.value, nonce: t.nonce, type: t.type, chain_id: t.chainId }, + }; +} + +// ---- the server ----------------------------------------------------------------------------------------------------- +function httpError(status, message) { const e = new Error(message); e.status = status; return e; } +const server = createServer(async (req, res) => { + const u = new URL(req.url || '/', 'http://x'); + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS'); + res.setHeader('Access-Control-Allow-Headers', 'content-type'); + res.setHeader('Cache-Control', 'no-store'); + if (req.method === 'OPTIONS') { res.writeHead(204); return res.end(); } + if (req.method !== 'GET') { res.writeHead(405, { 'content-type': 'application/json' }); return res.end('{"ok":false,"error":"GET only"}'); } + const t0 = Date.now(); + try { + let out; + if (u.pathname === '/health') out = { ok: true, exec: EXEC, wrpc: WRPC, status: await exec('igneum_getExecStatus', []).catch(e => String(e.message)) }; + else if (u.pathname === '/checkpoint') out = await checkpoint(); + else if (u.pathname === '/balance') out = await balance(u.searchParams); + else if (u.pathname === '/receipt') out = await receipt(u.searchParams); + else throw httpError(404, 'no such endpoint: /checkpoint, /balance, /receipt, /health'); + res.writeHead(200, { 'content-type': 'application/json' }); + res.end(JSON.stringify(out)); + log(req.method, u.pathname, 200, Date.now() - t0, 'ms'); + } catch (e) { + const status = e.status || 500; + res.writeHead(status, { 'content-type': 'application/json' }); + res.end(JSON.stringify({ ok: false, error: String(e.message || e) })); + log(req.method, u.pathname + u.search, status, Date.now() - t0, 'ms', String(e.message || e).slice(0, 200)); + } +}); +server.listen(PORT, '127.0.0.1', () => log(`light service on 127.0.0.1:${PORT}, exec ${EXEC}, wrpc ${WRPC}`)); diff --git a/tools/reference-apps/light-service/verify.test.mjs b/tools/reference-apps/light-service/verify.test.mjs new file mode 100644 index 000000000..b33997db7 --- /dev/null +++ b/tools/reference-apps/light-service/verify.test.mjs @@ -0,0 +1,64 @@ +// The reference apps' checks against real Devnet 3 data: the genuine case verifies, every tampered case is refused. +// Known-failed first. Runs under Node 22 with the two noble libraries installed beside this file (npm install here): +// node verify.test.mjs [receipt.json] [balance.json] [checkpoint.json] default: ../fixtures/dn3-*.json +// Exits 1 on the first case that does not behave. The same core.js runs in the browser pages and in the one-file +// offline receipt verifier, so this is the test that proves their negative cases. +import { readFileSync } from 'node:fs'; +import { blake2b } from '@noble/hashes/blake2.js'; +import { keccak_256 } from '@noble/hashes/sha3.js'; +import { bls12_381 } from '@noble/curves/bls12-381.js'; +import { verifyReceipt, verifyBalance } from '../../../site/lc/core.js'; + +const deps = { blake2b, bls: bls12_381, keccak: keccak_256 }; +const here = new URL('.', import.meta.url).pathname; +const load = p => JSON.parse(readFileSync(p, 'utf8')); +const clone = x => JSON.parse(JSON.stringify(x)); +const flipHex = (s, at) => { const h = s.replace(/^0x/, ''); const i = Math.min(at, h.length - 1); const d = (parseInt(h[i], 16) ^ 1).toString(16); return (s.startsWith('0x') ? '0x' : '') + h.slice(0, i) + d + h.slice(i + 1); }; +let failed = 0; +function expect(name, result, want) { + const ok = result.verified === want; + const line = `${ok ? 'ok ' : 'FAIL'} ${want ? 'verifies' : 'refused '} ${name}${result.verified ? '' : ' :: ' + result.reason}`; + console.log(line); if (!ok) failed++; +} + +const receiptPath = process.argv[2] || here + '../fixtures/dn3-receipt.json'; +const receipt = load(receiptPath); +console.log(`receipt ${receipt.tx_hash.slice(0, 12)} on ${receipt.chain_id}, checkpoint ${receipt.checkpoint.index}, ${receipt.headers.length} headers`); +// the known-failed cases first +{ const d = clone(receipt); d.raw_tx_hex = flipHex(d.raw_tx_hex, 40); expect('raw transaction altered by one nibble', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); d.tx_hash = flipHex(d.tx_hash, 10); expect('transaction hash altered', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); d.including_block.leaf_index = d.including_block.leaf_index === 1 ? 2 : 1; expect('merkle leaf index moved', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); d.including_block.merkle_siblings[0] = flipHex(d.including_block.merkle_siblings[0], 3); expect('a merkle sibling altered', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); if (d.headers.length > 2) { d.headers.splice(Math.floor(d.headers.length / 2), 1); expect('a header removed from the path', verifyReceipt(d, deps), false); } } +{ const d = clone(receipt); const h = d.headers[Math.floor(d.headers.length / 2)]; h.nonce = String(BigInt(h.nonce) ^ 1n); expect('a header nonce altered', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); d.headers[0].hash_merkle_root = flipHex(d.headers[0].hash_merkle_root, 5); expect('the including block\'s body root altered', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); const c = d.checkpoint.certificate; c.certificate.aggregate_signature_hex = flipHex(c.certificate.aggregate_signature_hex, 20); expect('certificate signature altered', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); d.checkpoint.hash = flipHex(d.checkpoint.hash, 60); expect('receipt points at another checkpoint than its certificate', verifyReceipt(d, deps), false); } +{ const d = clone(receipt); const c = d.checkpoint.certificate; const bm = parseInt(c.certificate.bitmap_hex.slice(0, 2), 16); let p = 0; while (!(bm & (1 << p))) p++; c.certificate.bitmap_hex = (bm & ~(1 << p)).toString(16).padStart(2, '0') + c.certificate.bitmap_hex.slice(2); expect(`a signer dropped from the certificate bitmap (position ${p})`, verifyReceipt(d, deps), false); } +// then the genuine one +const r = verifyReceipt(receipt, deps); +expect(`genuine receipt (${r.ms} ms)`, r, true); +if (r.verified) console.log(` ${r.tx.type === 2 ? 'EIP-1559' : 'type ' + r.tx.type} tx to ${r.tx.to}, value ${r.tx.value} wei, in block ${r.block.slice(0, 12)} at DAA ${r.block_daa}, ${r.headers} headers to checkpoint ${r.checkpoint}`); + +const balancePath = process.argv[3] || here + '../fixtures/dn3-balance.json'; +let balance = null; try { balance = load(balancePath); } catch { console.log('no balance fixture yet (' + balancePath + '), skipping the balance cases'); } +if (balance) { + const cp = balance.checkpoint_certificate || load(process.argv[4] || here + '../fixtures/dn3-checkpoint.json'); // the certificate the service answered with + console.log(`balance of ${balance.address} at chain block ${balance.segment.last}, checkpoint ${balance.checkpoint.index}, ${balance.headers.length} headers`); + { const d = clone(balance); d.account.accountProof[d.account.accountProof.length - 1] = flipHex(d.account.accountProof[d.account.accountProof.length - 1], 30); expect('account proof: a node altered', verifyBalance(cp, d, deps), false); } + { const d = clone(balance); d.account.balance = '0x' + (BigInt(d.account.balance) + 1n).toString(16); expect('reported balance raised by one wei', verifyBalance(cp, d, deps), false); } + { const d = clone(balance); d.account.stateRoot = flipHex(d.account.stateRoot, 8); expect('state root altered', verifyBalance(cp, d, deps), false); } + { const d = clone(balance); d.segment_record_hex = flipHex(d.segment_record_hex, 2 * (2 + 8 + 8 + 32 + 48 + 20 + 148) + 3); expect('post_root altered inside the segment record', verifyBalance(cp, d, deps), false); } + { const d = clone(balance); d.segment_record_hex = flipHex(d.segment_record_hex, d.segment_record_hex.length - 10); expect('aggregator signature altered', verifyBalance(cp, d, deps), false); } + { const d = clone(balance); d.carrier.coinbase.payload = flipHex(d.carrier.coinbase.payload, 30); expect('coinbase payload altered', verifyBalance(cp, d, deps), false); } + { const d = clone(balance); if (d.carrier.merkle_siblings.length) { d.carrier.merkle_siblings[0] = flipHex(d.carrier.merkle_siblings[0], 1); expect('a merkle sibling altered', verifyBalance(cp, d, deps), false); } else { d.carrier.merkle_siblings.push('00'.repeat(32)); expect('a merkle sibling added to a one-leaf body', verifyBalance(cp, d, deps), false); } } + { const d = clone(balance); if (d.headers.length > 2) { d.headers.splice(1, 1); expect('a header removed from the path', verifyBalance(cp, d, deps), false); } } + { const d = clone(balance); d.checkpoint.hash = flipHex(d.checkpoint.hash, 1); expect('proof names another checkpoint than the certificate', verifyBalance(cp, d, deps), false); } + { const c = clone(cp); c.certificate.aggregate_signature_hex = flipHex(c.certificate.aggregate_signature_hex, 20); expect('certificate signature altered', verifyBalance(c, balance, deps), false); } + { const d = clone(balance); d.address = '0x' + '11'.repeat(20); expect('another address with this proof', verifyBalance(cp, d, deps), false); } + const b = verifyBalance(cp, balance, deps); + expect(`genuine balance (${b.ms} ms)`, b, true); + if (b.verified) { console.log(` ${b.balance_wei} wei at chain block ${b.block}, ${b.headers} headers, ${b.aggregator}`); for (const s of b.steps) console.log(' ' + (s.ok ? 'ok ' : 'no ') + s.name + ': ' + s.detail); } +} +console.log(failed ? `FAILED ${failed}` : 'RESULT every case behaved'); +process.exit(failed ? 1 : 0); diff --git a/tools/reference-apps/oracle/.gitignore b/tools/reference-apps/oracle/.gitignore new file mode 100644 index 000000000..c2658d7d1 --- /dev/null +++ b/tools/reference-apps/oracle/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/tools/reference-apps/oracle/README.md b/tools/reference-apps/oracle/README.md new file mode 100644 index 000000000..8acd8eb60 --- /dev/null +++ b/tools/reference-apps/oracle/README.md @@ -0,0 +1,52 @@ +# Igneum Devnet 3 state oracle on Sepolia + +A contract on Ethereum Sepolia that stores proven Devnet 3 state roots and lets other contracts read a proven +Devnet 3 balance or storage slot. Certificates are read from the shared verifier (`IIgneumCertificateVerifier`); +a `StubCertificateVerifier` stands in until the real one lands (`setVerifier`, deployer only, swaps it). + +Addresses, transaction hashes, blocks and gas are in `deployment.json` (every write is appended under `writes`). + +## What the oracle checks on chain + +1. Every header in the path is hashed with keyed BLAKE2b-256 ("BlockHash") through the EIP-152 precompile and + parsed out of the same bytes. Each next header must list the previous hash among its level-0 parents. The last + hash must be the checkpoint the verifier holds for the given certificate index. +2. The carrier's coinbase transaction is hashed ("TransactionHash") and the merkle path ("MerkleBranchHash", a + missing right child is 32 zero bytes) must reach the carrier's hash_merkle_root, parsed from the header bytes. +3. The coinbase payload is walked from the transaction bytes (so it is bound to the hash); the nested sections + `IGNS || IGNP || IGNF` are taken from the end; the chosen 586-byte segment record gives the statement's + number, block hash and post_root (number must equal the record's `last`, block hash must equal the record's + block, chain id must be Devnet 3's 0x116f). The root is stored under the number with the certificate index. +4. `provenBalance`, `provenAccount` and `provenStorage` verify eth_getProof account and storage proofs against + the stored post_root with the contract's own RLP and keccak-keyed Merkle Patricia trie walk, and revert with a + reason on any mismatch. + +Not checked on chain in this slice (also stated by `trust()`): the aggregator's BLS signature over the segment +record and the ZK proof behind it. Also not checked: the segment record's version field (the layout is fixed +either way). + +## Files + +- `contracts/Blake2b.sol`: keyed BLAKE2b-256 over the precompile at 0x09. +- `contracts/Mpt.sol`: RLP reading, MPT proofs, account and storage decoding. +- `contracts/IIgneumCertificateVerifier.sol`, `contracts/StubCertificateVerifier.sol`, `contracts/IgneumStateOracle.sol`. +- `compile.mjs`: solc-js (via IR, optimizer 200, cancun) to `artifacts/*.json`. +- `deploy.mjs`: EIP-1559 deploy of the stub and the oracle, writes `deployment.json` (`--force`, `--oracle-only`). +- `demo.mjs`: submits the certificate and the state root for `fixtures/dn3-balance.json` (or the synthetic vector + when the fixture is absent) and prints the Sepolia-read balance beside the fixture's. +- `test.mjs`: the vectors and negatives through eth_call. Part A is the receipt fixture (real headers, a real merkle + path); part B is a seeded synthetic vector (segment record, coinbase, three-header path, account and storage + proofs); part C is the balance fixture when it exists. +- `lib.mjs`: the byte layouts, a JS mirror of the BLAKE2b driver (checked against @noble/hashes), the trie builder. + +## Run + +``` +node compile.mjs +node deploy.mjs +node test.mjs +node demo.mjs +``` + +The deployer key is read from `~/.config/igneum/sepolia-deployer`. Sepolia's gas schedule is repriced (a plain +transfer estimates 12,000 gas), so the numbers in `deployment.json` are what this network charges. diff --git a/tools/reference-apps/oracle/artifacts/IgneumStateOracle.json b/tools/reference-apps/oracle/artifacts/IgneumStateOracle.json new file mode 100644 index 000000000..c0fccdc76 --- /dev/null +++ b/tools/reference-apps/oracle/artifacts/IgneumStateOracle.json @@ -0,0 +1,620 @@ +{ + "name": "IgneumStateOracle", + "solc": "0.8.28+commit.7893614a.Emscripten.clang", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "verifier_", + "type": "address" + }, + { + "internalType": "uint64", + "name": "evmChainId_", + "type": "uint64" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "number", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "postRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "certIndex", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "carrier", + "type": "bytes32" + } + ], + "name": "StateRoot", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "verifier", + "type": "address" + } + ], + "name": "VerifierSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "headers", + "type": "bytes[]" + }, + { + "internalType": "bytes32", + "name": "checkpoint", + "type": "bytes32" + } + ], + "name": "checkHeaderPath", + "outputs": [ + { + "internalType": "bytes32", + "name": "carrier", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "merkle", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "evmChainId", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "header", + "type": "bytes" + } + ], + "name": "headerHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "leaf", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "siblings", + "type": "bytes32[]" + } + ], + "name": "merkleRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "h", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "h", + "type": "bytes" + } + ], + "name": "parseHeader", + "outputs": [ + { + "internalType": "uint256", + "name": "parentsOff", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "parentCount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "merkle", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "t", + "type": "bytes" + } + ], + "name": "payloadOf", + "outputs": [ + { + "internalType": "uint256", + "name": "off", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "len", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "number", + "type": "uint64" + }, + { + "internalType": "address", + "name": "a", + "type": "address" + }, + { + "internalType": "bytes[]", + "name": "accountProof", + "type": "bytes[]" + } + ], + "name": "provenAccount", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "storageRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "codeHash", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "number", + "type": "uint64" + }, + { + "internalType": "address", + "name": "a", + "type": "address" + }, + { + "internalType": "bytes[]", + "name": "accountProof", + "type": "bytes[]" + } + ], + "name": "provenBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "number", + "type": "uint64" + }, + { + "internalType": "address", + "name": "a", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + }, + { + "internalType": "bytes[]", + "name": "accountProof", + "type": "bytes[]" + }, + { + "internalType": "bytes[]", + "name": "storageProof", + "type": "bytes[]" + } + ], + "name": "provenStorage", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "t", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "recordIndex", + "type": "uint256" + } + ], + "name": "readRecord", + "outputs": [ + { + "internalType": "uint64", + "name": "number", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "postRoot", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "chainId", + "type": "uint64" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "t", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "payloadOff", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "payloadLen", + "type": "uint256" + } + ], + "name": "segmentSection", + "outputs": [ + { + "internalType": "uint256", + "name": "off", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "len", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "v", + "type": "address" + } + ], + "name": "setVerifier", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "number", + "type": "uint64" + } + ], + "name": "stateRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "postRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "carrier", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "certIndex", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "certIndex", + "type": "uint64" + }, + { + "internalType": "bytes[]", + "name": "headers", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "coinbaseTx", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "leafIndex", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "siblings", + "type": "bytes32[]" + }, + { + "internalType": "uint256", + "name": "recordIndex", + "type": "uint256" + } + ], + "name": "submitStateRoot", + "outputs": [ + { + "internalType": "uint64", + "name": "number", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "postRoot", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "tx_", + "type": "bytes" + } + ], + "name": "transactionHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trust", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "verifier", + "outputs": [ + { + "internalType": "contract IIgneumCertificateVerifier", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "certIndex", + "type": "uint64" + }, + { + "internalType": "bytes[]", + "name": "headers", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "coinbaseTx", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "leafIndex", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "siblings", + "type": "bytes32[]" + }, + { + "internalType": "uint256", + "name": "recordIndex", + "type": "uint256" + } + ], + "name": "verifyStateRoot", + "outputs": [ + { + "internalType": "uint64", + "name": "number", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "postRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "carrier", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60a0346100a957601f61312538819003918201601f19168301916001600160401b038311848410176100ad5780849260409485528339810103126100a95780516001600160a01b03811691908290036100a95760200151906001600160401b03821682036100a9575f80546001600160a01b0319908116929092179055600180549091163317905560805260405161306390816100c2823960805181818161053d01526118170152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80632b7ac3f3146101445780632bf5baf51461013f5780634aefb0a11461013a5780634cf83845146101355780635437988d146101305780635bed35da1461012b57806362636ea11461012657806364d42b17146101215780636f9fdd661461011c57806372464ca0146101175780637b8affcd146101125780638a01db611461010d5780638da5cb5b14610108578063b378a99714610103578063c60c7964146100fe578063ecb2c31d146100f9578063f2916104146100f4578063f837d413146100ef5763fa228c7f146100ea575f80fd5b610b5b565b610b1c565b610ae4565b610aa1565b610a79565b6108cc565b6107ff565b6107cc565b61075b565b610730565b61058b565b61051e565b6104fe565b610470565b6102f7565b610270565b610210565b610199565b3461016b575f36600319011261016b575f546040516001600160a01b039091168152602090f35b5f80fd5b600435906001600160401b038216820361016b57565b35906001600160401b038216820361016b57565b3461016b57602036600319011261016b5760806001600160401b036101c46101bf61016f565b610b9f565b9160409493945194855260208501526040840152166060820152f35b9181601f8401121561016b578235916001600160401b03831161016b576020808501948460051b01011161016b57565b3461016b57604036600319011261016b576004356001600160401b03811161016b5761024e61024560409236906004016101e0565b60243591610da6565b82519182526020820152f35b600435906001600160a01b038216820361016b57565b3461016b5760a036600319011261016b5761028961016f565b602435906001600160a01b038216820361016b57604435916064356001600160401b03811161016b576102c09036906004016101e0565b60843593916001600160401b03851161016b576020956102e76102ef9636906004016101e0565b959094610e78565b604051908152f35b3461016b57602036600319011261016b5761031061025a565b6001546001600160a01b0316330361036e575f80546001600160a01b0319166001600160a01b039290921691821790556040519081527f480b37e3d134e44cb444c9703493c7db564c707cb8a18cecea165f340431da1f90602090a1005b60405162461bcd60e51b81526020600482015260126024820152716f7261636c653a206f776e6572206f6e6c7960701b6044820152606490fd5b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b038211176103dd57604052565b6103a8565b604051906103f16080836103bc565b565b906103f160405192836103bc565b6001600160401b0381116103dd57601f01601f191660200190565b92919261042882610401565b9161043660405193846103bc565b82948184528183011161016b578281602093845f960137010152565b9080601f8301121561016b5781602061046d9335910161041c565b90565b3461016b57604036600319011261016b576004356001600160401b03811161016b576001600160401b036104b66104ad6080933690600401610452565b60243590611189565b91846040959495519516855260208501526040840152166060820152f35b602060031982011261016b57600435906001600160401b03821161016b5761046d91600401610452565b3461016b5760206102ef610511366104d4565b6105196112e3565b611dc8565b3461016b575f36600319011261016b5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b3461016b575f36600319011261016b5761072c6101606105ae60405191826103bc565b61012b81527f436865636b6564206f6e20636861696e3a20686561646572206861736865732060208201527f616e6420706172656e74206c696e6b7320746f2061206365727469666965642060408201527f636865636b706f696e742c2074686520636f696e62617365206d65726b6c652060608201527f706174682c20746865207365676d656e74207265636f7264206c61796f75742c60808201527f20616e6420746865206163636f756e7420616e642073746f726167652070726f60a08201527f6f667320756e64657220706f73745f726f6f742e204e6f7420636865636b656460c08201527f206f6e20636861696e20696e207468697320736c6963653a207468652061676760e08201527f72656761746f72277320424c53207369676e6174757265206f766572207468656101008201527f207365676d656e74207265636f726420616e6420746865205a4b2070726f6f666101208201526a103132b434b7321034ba1760a91b61014082015260405191829182610561565b0390f35b3461016b576060610748610743366104d4565b611310565b9060405192835260208301526040820152f35b3461016b5760206102ef61076e366104d4565b6105196113da565b606060031982011261016b576004356001600160401b038116810361016b57916024356001600160a01b038116810361016b5791604435906001600160401b03821161016b576107c8916004016101e0565b9091565b3461016b5760206107f26107ea6107e236610776565b939092610b9f565b505050612067565b5050915050604051908152f35b3461016b575f36600319011261016b576001546040516001600160a01b039091168152602090f35b60c060031982011261016b5761083d6004610185565b916024356001600160401b03811161016b578261085c916004016101e0565b92909291604435916001600160401b03831161016b578060238401121561016b578260040135926001600160401b03841161016b57816024858301011161016b57602401929160643591608435906001600160401b03821161016b576108c4916004016101e0565b909160a43590565b3461016b576108ef6108dd36610827565b9688999896919695929594939461174b565b9091936001600160401b03841692835f52600260205260405f2054868115918215610a6f575b505015610a14576109f57fb650e8bdb81a79cecbd85292ffa6c38212615677fdc7f99f3332f642d3b1ce2d936109c761094c6103e2565b8981528460208201528260408201526109718660608301906001600160401b03169052565b61098c896001600160401b03165f52600260205260405f2090565b606060036001600160401b039284518155602085015160018201556040850151600282015501920151166001600160401b0319825416179055565b6040519384938985909493926001600160401b03906060936080840197845260208401521660408201520152565b0390a2604080516001600160401b039290921682526020820192909252f35b60405162461bcd60e51b815260206004820152602d60248201527f6f7261636c653a20616e6f7468657220726f6f742069732073746f726564206660448201526c6f72207468617420626c6f636b60981b6064820152608490fd5b149050865f610915565b3461016b57610a8f610a8a366104d4565b61149c565b60408051928352602083019190915290f35b3461016b576080610ac3610ab436610827565b9796909695919594929461174b565b916001600160401b0360405194168452602084015260408301526060820152f35b3461016b5760a0610afa6107ea6107e236610776565b9260409291925194151585526020850152604084015260608301526080820152f35b3461016b57606036600319011261016b576004356001600160401b03811161016b57610b4f610a8f913690600401610452565b60243560443591611945565b3461016b57606036600319011261016b576004356044356024356001600160401b03821161016b57602092610b976102ef9336906004016101e0565b929091611ab3565b6001600160401b03165f52600260205260405f2080548015610bdb576001820154926001600160401b0360036002850154940154169193929190565b60405162461bcd60e51b815260206004820152602560248201527f6f7261636c653a206e6f2070726f76656e20726f6f7420666f72207468617420604482015264626c6f636b60d81b6064820152608490fd5b634e487b7160e01b5f52603260045260245ffd5b9015610c7c57803590601e198136030182121561016b5701908135916001600160401b03831161016b57602001823603811361016b579190565b610c2e565b9190811015610c7c5760051b81013590601e198136030182121561016b5701908135916001600160401b03831161016b57602001823603811361016b579190565b15610cc957565b60405162461bcd60e51b815260206004820152603c60248201527f686561646572733a20612068656164657220646f6573206e6f74206e616d652060448201527f7468652070726576696f7573206f6e65206173206120706172656e74000000006064820152608490fd5b15610d3b57565b60405162461bcd60e51b815260206004820152603860248201527f686561646572733a20746865206c61737420686561646572206973206e6f742060448201527f7468652063657274696669656420636865636b706f696e7400000000000000006064820152608490fd5b919290925f935f938115610e43575f915f5b818110610dcd57505050906103f19114610d34565b610de2610ddb828486610c81565b369161041c565b96610dec88611310565b92919690841597885f14610e235750505050610e0b90976105196113da565b93610e19575b600101610db8565b9296508692610e11565b610e0b945091610e3991610e3e938d959d611b64565b610cc2565b61076e565b60405162461bcd60e51b815260206004820152600d60248201526c686561646572733a206e6f6e6560981b6044820152606490fd5b906107ea610e8b94929796959397610b9f565b50959291505015610e9f5761046d93611c10565b50509050610eab575f90565b60405162461bcd60e51b815260206004820152602860248201527f6d70743a2073746f726167652070726f6f6620666f7220616e20616273656e74604482015267081858d8dbdd5b9d60c21b6064820152608490fd5b634e487b7160e01b5f52601160045260245ffd5b9060018201809211610f2357565b610f01565b90600a8201809211610f2357565b9060128201809211610f2357565b9060768201809211610f2357565b9060088201809211610f2357565b9060108201809211610f2357565b9060948201809211610f2357565b6008019081600811610f2357565b9060248201809211610f2357565b9060028201809211610f2357565b9060228201809211610f2357565b6013019081601311610f2357565b9060138201809211610f2357565b6080019081608011610f2357565b91908201809211610f2357565b9061024a82029180830461024a1490151715610f2357565b600581901b91906001600160fb1b03811603610f2357565b908160011b9180830460021490151715610f2357565b1561103857565b606460405162461bcd60e51b815260206004820152602060248201527f7265636f72643a20696e646578206265796f6e64207468652073656374696f6e6044820152fd5b1561108357565b60405162461bcd60e51b815260206004820152603560248201527f7265636f72643a2073746174656d656e74206973206e6f7420666f7220746865604482015274207365676d656e742773206c61737420626c6f636b60581b6064820152608490fd5b156110ed57565b60405162461bcd60e51b815260206004820152602960248201527f7265636f72643a20626c6f636b2068617368206973206e6f74207468652073746044820152686174656d656e74277360b81b6064820152608490fd5b1561114b57565b60405162461bcd60e51b81526020600482015260166024820152751c9958dbdc990e881e995c9bc81c1bdcdd17dc9bdbdd60521b6044820152606490fd5b919061119e6111978461149c565b9085611945565b61024a810661129157826111be6111ca926111c36111be6111d097610f15565b610feb565b1115611031565b90610fde565b6111e26111dc82610f28565b84611d16565b906111fe6111f86111f283610f36565b86611d41565b91610f44565b926112866112246112186112128789611d41565b60c01c90565b6001600160401b031690565b9261127f6001600160401b0361126d61124b6112186112126112458c610f52565b8d611d41565b9961126761126161125b8c610f60565b83611d41565b9a610f6e565b90611d41565b96166001600160401b0389161461107c565b85146110e6565b6103f1831515611144565b60405162461bcd60e51b81526020600482015260166024820152750e4cac6dee4c87440e6cac6e8d2dedc40d8cadccee8d60531b6044820152606490fd5b604051906112de6020836103bc565b5f8252565b604051906112f26040836103bc565b600f82526e0a8e4c2dce6c2c6e8d2dedc90c2e6d608b1b6020830152565b906001600160401b0361132283611cd0565b1690600182106113955761133861121884611cee565b9160129361134f61134885611003565b6012610fde565b906001925b808410611366575061046d9250611d41565b909161138b816111ca61138661138161121860019689611d16565b611003565b610f7c565b9301929190611354565b60405162461bcd60e51b815260206004820152601860248201527f6865616465723a206e6f20706172656e74206c6576656c7300000000000000006044820152606490fd5b604051906113e96040836103bc565b6009825268084d8dec6d690c2e6d60bb1b6020830152565b1561140857565b60405162461bcd60e51b815260206004820152600f60248201526e18dbda5b98985cd94e881cda1bdc9d608a1b6044820152606490fd5b908151811015610c7c570160200190565b1561145757565b60405162461bcd60e51b815260206004820152601a60248201527f636f696e626173653a207061796c6f6164206f76657272756e730000000000006044820152606490fd5b9061ffff6114a983611d02565b166114b661121884611cd0565b90600a9060015f91109283159384925b878382106115b8576114eb94506114e593506112189250859150611d16565b91610f52565b905f5b81811061152f5750506115019150610f8a565b906103f161151b6115156112188587611d16565b93610f52565b936115268486610fde565b90511015611450565b61154d61153d859394610f28565b6111ca611386611218838b611d16565b9361155f575b600101929190926114ee565b926115a260019161157288518210611401565b60ff611598611592611584848c61143f565b516001600160f81b03191690565b60f81c90565b166115aa57610f15565b939050611553565b6115b390610fa6565b610f15565b916115dd6115e792936111ca6113866112186115d686999a9b610f8a565b8094611d16565b9061160d57610f52565b936115f9575b600101908492916114c6565b92611605600191610f98565b9390506115ed565b61161690610f15565b610f52565b9081602091031261016b575190565b6040513d5f823e3d90fd5b1561163c57565b60405162461bcd60e51b8152602060048201526024808201527f6f7261636c653a206e6f206365727469666963617465206174207468617420696044820152630dcc8caf60e31b6064820152608490fd5b1561169457565b60405162461bcd60e51b815260206004820152603a60248201527f6d65726b6c653a207061746820646f6573206e6f74207265616368207468652060448201527f63617272696572277320686173685f6d65726b6c655f726f6f740000000000006064820152608490fd5b1561170657565b60405162461bcd60e51b815260206004820152601a60248201527f7265636f72643a2073746174656d656e7420636861696e2069640000000000006044820152606490fd5b9660206117a4979493929996959a9861177961176d5f5460018060a01b031690565b6001600160a01b031690565b60405180809b819463b1b0945360e01b8352600483019190916001600160401b036020820193169052565b03915afa93841561188c576117e76117dd6117ff966117f9956103f19d6118049c5f9361185b575b506117d8831515611635565b610da6565b95909c369161041c565b956117f4876105196112e3565b611ab3565b1461168d565b611189565b9592939194909493956001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168015918215611848575b50506116ff565b6001600160401b03161490505f80611841565b61187e91935060203d602011611885575b61187681836103bc565b81019061161b565b915f6117cc565b503d61186c565b61162a565b1561189857565b60405162461bcd60e51b815260206004820152601960248201527f636f696e626173653a20736372697074206f76657272756e73000000000000006044820152606490fd5b156118e457565b60405162461bcd60e51b815260206004820152601960248201527f636f696e626173653a206e6f2049474e532073656374696f6e000000000000006044820152606490fd5b600719810191908211610f2357565b91908203918211610f2357565b909291601381106119d95761046d916119b66119af6119a86119be946119a26119806119796119738c610f36565b8861143f565b5160f81c90565b6119948361198d83610fb4565b1115611891565b61199d8b610fc2565b610fde565b98610fde565b87846121ae565b8683612262565b9485916122bd565b6119ca848214156118dd565b6119d48194611929565b611938565b60405162461bcd60e51b815260206004820152601b60248201527f636f696e626173653a207061796c6f616420746f6f2073686f727400000000006044820152606490fd5b9190811015610c7c5760051b0190565b60405190611a3d6040836103bc565b601082526f09acae4d6d8ca84e4c2dcc6d090c2e6d60831b6020830152565b15611a6357565b60405162461bcd60e51b815260206004820152602260248201527f6d65726b6c653a206c65616620696e646578206265796f6e64207468652070616044820152610e8d60f31b6064820152608490fd5b939290915f915b808310611ace575050506103f19015611a5c565b90919294611b29600191828816155f14611b3257611b2290611b1a611af4888789611a1e565b60408051602081019490945290359083015281606081015b03601f1981018352826103bc565b610519611a2e565b9660011c90565b93019190611aba565b611b5f90611b1a611b44888789611a1e565b60408051913560208301528101929092528160608101611b0c565b611b22565b909291925f5b848110611b7a5750505050505f90565b6001600160fb1b0381168103610f23578060051b8201808311610f2357611ba2859185611d41565b14611baf57600101611b6a565b5050505050600190565b15611bc057565b60405162461bcd60e51b815260206004820152602260248201527f6d70743a2073746f726167652076616c7565206973206e6f74206120737472696044820152616e6760f01b6064820152608490fd5b611c389392916040516020810191825260208152611c2f6040826103bc565b519020906125ee565b9015611c8f57611c4781612b4f565b90815115151580611c70575b91611c6061046d93611bb9565b6060604082015191015191612d4f565b5060408201519160608101518301809311610f23578151909214611c53565b505f90565b15611c9b57565b60405162461bcd60e51b815260206004820152600d60248201526c1a195859195c8e881cda1bdc9d609a1b6044820152606490fd5b602261046d91611ce48151600a1115611c94565b015160c01c612ddd565b602a61046d91611ce4815160121115611c94565b602061046d91611ce4815160081115611c94565b906008810190818111610f235782611d3660209361046d95511015611c94565b01015160c01c612ddd565b906020810191828211610f2357611d5d60209382511015611c94565b01015190565b15611d6a57565b60405162461bcd60e51b81526020600482015260136024820152720c4d8c2d6ca64c47440d6caf240d8cadccee8d606b1b6044820152606490fd5b6040516101009190611db783826103bc565b60d5815291601f1901366020840137565b611ddd81518015159081611fc4575b50611d63565b611de5611da5565b91611df16101006103f3565b676a09e667f3bcc908815267bb67ae8584caa73b6020820152673c6ef372fe94f82b604082015267a54ff53a5f1d36f1606082015267510e527fade682d16080820152679b05688c2b3e6c1f60a0820152671f83d9abfb41bd6b60c0820152675be0cd19137e217960e0820152611ea66301010020611e8a611e7a86516001600160401b031690565b60081b67ffffffffffffff001690565b83516001600160401b0316181882906001600160401b03169052565b600c60238501535f5b60088110611f7d575050805191611eda8460c45f918260648201528260848201528260a48201520152565b80516020606486019201825e611ef1831585612e4d565b5f5b838110611f0557505050506024015190565b80611f13611f349286611938565b9060808211611f74575b60808210611f51575b81602082870101855e610fde565b90611f4b611f4183610fd0565b8584149087612ec3565b90611ef3565b611f6f8760c45f918260648201528260848201528260a48201520152565b611f26565b60809150611f1d565b8060051b8201515f905f905b60088210611fa957505060c01b600382901b860160240152600101611eaf565b909160019060ff838560031b1c169060081b17920190611f89565b6040915011155f611dd7565b15611fd757565b60405162461bcd60e51b815260206004820152601a60248201527f6d70743a206163636f756e74206973206e6f742061206c6973740000000000006044820152606490fd5b1561202357565b606460405162461bcd60e51b815260206004820152602060248201527f6d70743a206163636f756e7420686173206e6f7420666f7572206669656c64736044820152fd5b60405160609290921b6bffffffffffffffffffffffff191660208301908152612099949392611c2f8160348101611b0c565b9190156121a1576120a982612b4f565b9081516120b590151590565b6120be90611fd0565b604082019182516120cf9085612c55565b9160408301948551936060019384516120e791610fde565b6120f19082612c55565b94604086019586519060600190815161210991610fde565b6121139084612c55565b90604082019687519260600192835161212b91610fde565b6121359086612c55565b93604085019788519560600195865161214d91610fde565b9151906060015161215d91610fde565b146121679061201c565b6001995190516121779186612d4f565b975190516121859185612d4f565b955190516121939184612ed9565b935190519061046d92612ed9565b5f91508190819081908190565b6008820190818311610f23578391821061225c57016324a3a72360e11b63ffffffff60e01b601c83015116036122575782600719810111610f23576018015161222e9060e081901c906122249060c81c63ff000000165b62ff0000600884901b161761ff00600884901c16179160181c60ff1690565b1763ffffffff1690565b9061224261223b83610f52565b9184611938565b10612253576119d461046d92611929565b5090565b505090565b50505090565b6008820190818311610f23578391821061225c570163049474e560e41b63ffffffff60e01b601c83015116036122575782600719810111610f23576018015161222e9060e081901c906122249060c81c63ff00000016612205565b6008820190818311610f23578391821061225c57016349474e5360e01b63ffffffff60e01b601c83015116036122575782600719810111610f23576018015161222e9060e081901c906122249060c81c63ff00000016612205565b1561231f57565b60405162461bcd60e51b815260206004820152602260248201527f6d70743a206e6f206e6f64657320666f722061206e6f6e2d656d70747920726f6044820152611bdd60f21b6064820152608490fd5b1561237657565b60405162461bcd60e51b815260206004820152602360248201527f6d70743a20746865206669727374206e6f6465206973206e6f742074686520726044820152621bdbdd60ea1b6064820152608490fd5b156123ce57565b60405162461bcd60e51b815260206004820152601760248201527f6d70743a206e6f6465206973206e6f742061206c6973740000000000000000006044820152606490fd5b6040519061022061242481846103bc565b368337565b1561243057565b60405162461bcd60e51b81526020600482015260136024820152726d70743a20746f6f206d616e79206974656d7360681b6044820152606490fd5b5f198114610f235760010190565b906011811015610c7c5760051b0190565b60405190608082018281106001600160401b038211176103dd576040525f6060838281528260208201528260408201520152565b156124c557565b60405162461bcd60e51b815260206004820152600d60248201526c0dae0e87440c4c2c840e0c2e8d609b1b6044820152606490fd5b1561250157565b60405162461bcd60e51b81526020600482015260126024820152716d70743a20626164207265666572656e636560701b6044820152606490fd5b1561254257565b60405162461bcd60e51b815260206004820152602160248201527f6d70743a2061207265666572656e636564206e6f6465206973206d697373696e6044820152606760f81b6064820152608490fd5b1561259857565b60405162461bcd60e51b815260206004820152602860248201527f6d70743a206e6f646520646f6573206e6f74206861736820746f20697473207260448201526765666572656e636560c01b6064820152608490fd5b939291938215612a545761261a61260c610ddb858897969597610c42565b91825160208401201461236f565b5f918290600190825b605084106126655760405162461bcd60e51b815260206004820152601260248201527106d70743a207061746820746f6f20646565760741b6044820152606490fd5b61266f9085612c55565b9461268261267d8751151590565b6123c7565b61268a612413565b965f986040880197606089519101905b6126a78a51835190610fde565b81101561270257906126f68c836126e58e9f9d9e9d6126a7968e6126d060116126d59410612429565b612c55565b926126df8161246b565b9e612479565b526060604082015191015190610fde565b9a999b9a90915061269a565b505096509796909694919461271561248a565b50601181036128365750604087146127e95761275161274a6127579261274461273e8b8b612f22565b60ff1690565b90612479565b5183612c55565b96610f15565b955b80516127d957606081018051156127c5576020929161277c8460409351146124fa565b01510101519261278d81831061253b565b6127b56127a7610ddb61279f8561246b565b94848c610c81565b948551602087012014612591565b60015f935b019296959496612623565b505050505050505090505f9061046d6112cf565b60206001919592950151936127ba565b93509596505050612808925061280191506102000190565b5182612c55565b9060608201805115612829576040612824930151905191612f49565b600191565b5050505f9061046d6112cf565b909690600203612a0f5761284b875183612c55565b9061285d6128598351151590565b1590565b80612a02575b61286c906124be565b604082019061289b606061289361288a61159261158487518a61143f565b60041c600f1690565b94015161101b565b60018416158015916128b7916129f95760ff60015b1690611938565b925f5b84811061291c575050506128dd6128d66002936128e493610fde565b9960200190565b5184612c55565b911615612759579697509492505050604091500361291057816060604061282494015191015191612f49565b50505f9061046d6112cf565b5f9c979b96999a92939495989c50835f146129e15789600161296161159261158461294b60ff855b1687610fde565b9461295b88516111ca8860011c90565b9061143f565b91166129d95760041c600f165b604061297a8388610fde565b10908115916129b5575b5061299d576001019b97949392919998959a969b6128ba565b50505050505050955050505050505f9061046d6112cf565b905060ff6129cf61273e6129c9858a610fde565b87612f22565b911614155f612984565b600f1661296e565b89600161296161159261158461294b60ff6002612944565b60ff60026128b0565b5060608201511515612863565b60405162461bcd60e51b815260206004820181905260248201527f6d70743a206e6f6465207769746820616e206f6464206974656d20636f756e746044820152606490fd5b9050612a859293507f56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421915014612318565b5f9061046d6112cf565b15612a9657565b60405162461bcd60e51b815260206004820152600a6024820152691c9b1c0e881cda1bdc9d60b21b6044820152606490fd5b60ff60f6199116019060ff8211610f2357565b60ff60bf199116019060ff8211610f2357565b60ff60b6199116019060ff8211610f2357565b60ff607f199116019060ff8211610f2357565b15612b1b57565b60405162461bcd60e51b815260206004820152600c60248201526b3936381d1037bb32b9393ab760a11b6044820152606490fd5b906103f1612b5b61248a565b92612b6881511515612a8f565b612b786115926115845f8461143f565b5f602086015260ff81166080811015612bb75750505f6040850152600160608501525b612bae6040850151606086015190610fde565b90511015612b14565b60b8811015612be5575061273e612bcd91612b01565b6060850152612bdb5f610f15565b6040850152612b9b565b60c0811015612c1f5750612bfe61273e612bdb92612aee565b612c1181612c0b5f610f15565b85612f84565b606087015261199d5f610f15565b60f81115612c3d5761273e612bcd91612c388760019052565b612adb565b612c4c61273e612bdb92612ac8565b60018652612bfe565b6103f190929192612c6461248a565b93612c7182518210612a8f565b612c81611592611584838561143f565b9080602087015260ff8216608081105f14612cb2575060408601819052600160608701819052612bae925090610fde565b60b8811015612cd55750612ccb61273e612bdb93612b01565b6060870152610f15565b60c0811015612d0f575061199d612cf161273e612bdb94612aee565b91612d0583612cff83610f15565b87612f84565b6060890152610f15565b60f81115612d2b57612ccb61273e612bdb93612c388960019052565b61199d612d3d61273e612bdb94612ac8565b6001885291612d0583612cff83610f15565b9092915f9360208211612da05791905f925b818410612d6e5750505050565b9091929460081b85820190818311610f2357612d9561273e6115926115846001958961143f565b179501929190612d61565b60405162461bcd60e51b8152602060048201526015602482015274726c703a20696e746567657220746f6f207769646560581b6044820152606490fd5b612e4967ff00000000000000603883901b8116600884811b64ff000000001690601886901b65ff00000000001690602887901b66ff000000000000169063ff0000009088901c16931717171762ff0000601885901c161761ff00602885901c1617921660381c60ff1690565b1790565b604091612e5a6080612ddd565b60c01b60e4830152612eb7575b60d5602060248301920160095afa15612e7c57565b60405162461bcd60e51b8152602060048201526013602482015272626c616b6532623a20707265636f6d70696c6560681b6044820152606490fd5b600160f4820153612e67565b9091612e5a6001600160401b0360409416612ddd565b91602003612ee957016020015190565b60405162461bcd60e51b8152602060048201526011602482015270726c703a206e6f7420333220627974657360781b6044820152606490fd5b8160011c906020821015610c7c57901a90600116612f435760041c60ff1690565b600f1690565b9291906020612f5783610401565b91612f6560405193846103bc565b838352612f7184610401565b8284019390601f1901368537950101905e565b9291905f93602083111580613019575b15612fe25791905f925b828410612fab5750505050565b90919294612fbb60019160081b90565b612fd761273e611592611584612fd18b89610fde565b8761143f565b179501929190612f9e565b60405162461bcd60e51b815260206004820152600f60248201526e0e4d8e07440c4c2c840d8cadccee8d608b1b6044820152606490fd5b50828201808311610f235781511015612f9456fea2646970667358221220ce879094835d769d272d5d167c77090fc9d7fde70913d367e3ed7080aa3b6bfd64736f6c634300081c0033", + "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c80632b7ac3f3146101445780632bf5baf51461013f5780634aefb0a11461013a5780634cf83845146101355780635437988d146101305780635bed35da1461012b57806362636ea11461012657806364d42b17146101215780636f9fdd661461011c57806372464ca0146101175780637b8affcd146101125780638a01db611461010d5780638da5cb5b14610108578063b378a99714610103578063c60c7964146100fe578063ecb2c31d146100f9578063f2916104146100f4578063f837d413146100ef5763fa228c7f146100ea575f80fd5b610b5b565b610b1c565b610ae4565b610aa1565b610a79565b6108cc565b6107ff565b6107cc565b61075b565b610730565b61058b565b61051e565b6104fe565b610470565b6102f7565b610270565b610210565b610199565b3461016b575f36600319011261016b575f546040516001600160a01b039091168152602090f35b5f80fd5b600435906001600160401b038216820361016b57565b35906001600160401b038216820361016b57565b3461016b57602036600319011261016b5760806001600160401b036101c46101bf61016f565b610b9f565b9160409493945194855260208501526040840152166060820152f35b9181601f8401121561016b578235916001600160401b03831161016b576020808501948460051b01011161016b57565b3461016b57604036600319011261016b576004356001600160401b03811161016b5761024e61024560409236906004016101e0565b60243591610da6565b82519182526020820152f35b600435906001600160a01b038216820361016b57565b3461016b5760a036600319011261016b5761028961016f565b602435906001600160a01b038216820361016b57604435916064356001600160401b03811161016b576102c09036906004016101e0565b60843593916001600160401b03851161016b576020956102e76102ef9636906004016101e0565b959094610e78565b604051908152f35b3461016b57602036600319011261016b5761031061025a565b6001546001600160a01b0316330361036e575f80546001600160a01b0319166001600160a01b039290921691821790556040519081527f480b37e3d134e44cb444c9703493c7db564c707cb8a18cecea165f340431da1f90602090a1005b60405162461bcd60e51b81526020600482015260126024820152716f7261636c653a206f776e6572206f6e6c7960701b6044820152606490fd5b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b038211176103dd57604052565b6103a8565b604051906103f16080836103bc565b565b906103f160405192836103bc565b6001600160401b0381116103dd57601f01601f191660200190565b92919261042882610401565b9161043660405193846103bc565b82948184528183011161016b578281602093845f960137010152565b9080601f8301121561016b5781602061046d9335910161041c565b90565b3461016b57604036600319011261016b576004356001600160401b03811161016b576001600160401b036104b66104ad6080933690600401610452565b60243590611189565b91846040959495519516855260208501526040840152166060820152f35b602060031982011261016b57600435906001600160401b03821161016b5761046d91600401610452565b3461016b5760206102ef610511366104d4565b6105196112e3565b611dc8565b3461016b575f36600319011261016b5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b3461016b575f36600319011261016b5761072c6101606105ae60405191826103bc565b61012b81527f436865636b6564206f6e20636861696e3a20686561646572206861736865732060208201527f616e6420706172656e74206c696e6b7320746f2061206365727469666965642060408201527f636865636b706f696e742c2074686520636f696e62617365206d65726b6c652060608201527f706174682c20746865207365676d656e74207265636f7264206c61796f75742c60808201527f20616e6420746865206163636f756e7420616e642073746f726167652070726f60a08201527f6f667320756e64657220706f73745f726f6f742e204e6f7420636865636b656460c08201527f206f6e20636861696e20696e207468697320736c6963653a207468652061676760e08201527f72656761746f72277320424c53207369676e6174757265206f766572207468656101008201527f207365676d656e74207265636f726420616e6420746865205a4b2070726f6f666101208201526a103132b434b7321034ba1760a91b61014082015260405191829182610561565b0390f35b3461016b576060610748610743366104d4565b611310565b9060405192835260208301526040820152f35b3461016b5760206102ef61076e366104d4565b6105196113da565b606060031982011261016b576004356001600160401b038116810361016b57916024356001600160a01b038116810361016b5791604435906001600160401b03821161016b576107c8916004016101e0565b9091565b3461016b5760206107f26107ea6107e236610776565b939092610b9f565b505050612067565b5050915050604051908152f35b3461016b575f36600319011261016b576001546040516001600160a01b039091168152602090f35b60c060031982011261016b5761083d6004610185565b916024356001600160401b03811161016b578261085c916004016101e0565b92909291604435916001600160401b03831161016b578060238401121561016b578260040135926001600160401b03841161016b57816024858301011161016b57602401929160643591608435906001600160401b03821161016b576108c4916004016101e0565b909160a43590565b3461016b576108ef6108dd36610827565b9688999896919695929594939461174b565b9091936001600160401b03841692835f52600260205260405f2054868115918215610a6f575b505015610a14576109f57fb650e8bdb81a79cecbd85292ffa6c38212615677fdc7f99f3332f642d3b1ce2d936109c761094c6103e2565b8981528460208201528260408201526109718660608301906001600160401b03169052565b61098c896001600160401b03165f52600260205260405f2090565b606060036001600160401b039284518155602085015160018201556040850151600282015501920151166001600160401b0319825416179055565b6040519384938985909493926001600160401b03906060936080840197845260208401521660408201520152565b0390a2604080516001600160401b039290921682526020820192909252f35b60405162461bcd60e51b815260206004820152602d60248201527f6f7261636c653a20616e6f7468657220726f6f742069732073746f726564206660448201526c6f72207468617420626c6f636b60981b6064820152608490fd5b149050865f610915565b3461016b57610a8f610a8a366104d4565b61149c565b60408051928352602083019190915290f35b3461016b576080610ac3610ab436610827565b9796909695919594929461174b565b916001600160401b0360405194168452602084015260408301526060820152f35b3461016b5760a0610afa6107ea6107e236610776565b9260409291925194151585526020850152604084015260608301526080820152f35b3461016b57606036600319011261016b576004356001600160401b03811161016b57610b4f610a8f913690600401610452565b60243560443591611945565b3461016b57606036600319011261016b576004356044356024356001600160401b03821161016b57602092610b976102ef9336906004016101e0565b929091611ab3565b6001600160401b03165f52600260205260405f2080548015610bdb576001820154926001600160401b0360036002850154940154169193929190565b60405162461bcd60e51b815260206004820152602560248201527f6f7261636c653a206e6f2070726f76656e20726f6f7420666f72207468617420604482015264626c6f636b60d81b6064820152608490fd5b634e487b7160e01b5f52603260045260245ffd5b9015610c7c57803590601e198136030182121561016b5701908135916001600160401b03831161016b57602001823603811361016b579190565b610c2e565b9190811015610c7c5760051b81013590601e198136030182121561016b5701908135916001600160401b03831161016b57602001823603811361016b579190565b15610cc957565b60405162461bcd60e51b815260206004820152603c60248201527f686561646572733a20612068656164657220646f6573206e6f74206e616d652060448201527f7468652070726576696f7573206f6e65206173206120706172656e74000000006064820152608490fd5b15610d3b57565b60405162461bcd60e51b815260206004820152603860248201527f686561646572733a20746865206c61737420686561646572206973206e6f742060448201527f7468652063657274696669656420636865636b706f696e7400000000000000006064820152608490fd5b919290925f935f938115610e43575f915f5b818110610dcd57505050906103f19114610d34565b610de2610ddb828486610c81565b369161041c565b96610dec88611310565b92919690841597885f14610e235750505050610e0b90976105196113da565b93610e19575b600101610db8565b9296508692610e11565b610e0b945091610e3991610e3e938d959d611b64565b610cc2565b61076e565b60405162461bcd60e51b815260206004820152600d60248201526c686561646572733a206e6f6e6560981b6044820152606490fd5b906107ea610e8b94929796959397610b9f565b50959291505015610e9f5761046d93611c10565b50509050610eab575f90565b60405162461bcd60e51b815260206004820152602860248201527f6d70743a2073746f726167652070726f6f6620666f7220616e20616273656e74604482015267081858d8dbdd5b9d60c21b6064820152608490fd5b634e487b7160e01b5f52601160045260245ffd5b9060018201809211610f2357565b610f01565b90600a8201809211610f2357565b9060128201809211610f2357565b9060768201809211610f2357565b9060088201809211610f2357565b9060108201809211610f2357565b9060948201809211610f2357565b6008019081600811610f2357565b9060248201809211610f2357565b9060028201809211610f2357565b9060228201809211610f2357565b6013019081601311610f2357565b9060138201809211610f2357565b6080019081608011610f2357565b91908201809211610f2357565b9061024a82029180830461024a1490151715610f2357565b600581901b91906001600160fb1b03811603610f2357565b908160011b9180830460021490151715610f2357565b1561103857565b606460405162461bcd60e51b815260206004820152602060248201527f7265636f72643a20696e646578206265796f6e64207468652073656374696f6e6044820152fd5b1561108357565b60405162461bcd60e51b815260206004820152603560248201527f7265636f72643a2073746174656d656e74206973206e6f7420666f7220746865604482015274207365676d656e742773206c61737420626c6f636b60581b6064820152608490fd5b156110ed57565b60405162461bcd60e51b815260206004820152602960248201527f7265636f72643a20626c6f636b2068617368206973206e6f74207468652073746044820152686174656d656e74277360b81b6064820152608490fd5b1561114b57565b60405162461bcd60e51b81526020600482015260166024820152751c9958dbdc990e881e995c9bc81c1bdcdd17dc9bdbdd60521b6044820152606490fd5b919061119e6111978461149c565b9085611945565b61024a810661129157826111be6111ca926111c36111be6111d097610f15565b610feb565b1115611031565b90610fde565b6111e26111dc82610f28565b84611d16565b906111fe6111f86111f283610f36565b86611d41565b91610f44565b926112866112246112186112128789611d41565b60c01c90565b6001600160401b031690565b9261127f6001600160401b0361126d61124b6112186112126112458c610f52565b8d611d41565b9961126761126161125b8c610f60565b83611d41565b9a610f6e565b90611d41565b96166001600160401b0389161461107c565b85146110e6565b6103f1831515611144565b60405162461bcd60e51b81526020600482015260166024820152750e4cac6dee4c87440e6cac6e8d2dedc40d8cadccee8d60531b6044820152606490fd5b604051906112de6020836103bc565b5f8252565b604051906112f26040836103bc565b600f82526e0a8e4c2dce6c2c6e8d2dedc90c2e6d608b1b6020830152565b906001600160401b0361132283611cd0565b1690600182106113955761133861121884611cee565b9160129361134f61134885611003565b6012610fde565b906001925b808410611366575061046d9250611d41565b909161138b816111ca61138661138161121860019689611d16565b611003565b610f7c565b9301929190611354565b60405162461bcd60e51b815260206004820152601860248201527f6865616465723a206e6f20706172656e74206c6576656c7300000000000000006044820152606490fd5b604051906113e96040836103bc565b6009825268084d8dec6d690c2e6d60bb1b6020830152565b1561140857565b60405162461bcd60e51b815260206004820152600f60248201526e18dbda5b98985cd94e881cda1bdc9d608a1b6044820152606490fd5b908151811015610c7c570160200190565b1561145757565b60405162461bcd60e51b815260206004820152601a60248201527f636f696e626173653a207061796c6f6164206f76657272756e730000000000006044820152606490fd5b9061ffff6114a983611d02565b166114b661121884611cd0565b90600a9060015f91109283159384925b878382106115b8576114eb94506114e593506112189250859150611d16565b91610f52565b905f5b81811061152f5750506115019150610f8a565b906103f161151b6115156112188587611d16565b93610f52565b936115268486610fde565b90511015611450565b61154d61153d859394610f28565b6111ca611386611218838b611d16565b9361155f575b600101929190926114ee565b926115a260019161157288518210611401565b60ff611598611592611584848c61143f565b516001600160f81b03191690565b60f81c90565b166115aa57610f15565b939050611553565b6115b390610fa6565b610f15565b916115dd6115e792936111ca6113866112186115d686999a9b610f8a565b8094611d16565b9061160d57610f52565b936115f9575b600101908492916114c6565b92611605600191610f98565b9390506115ed565b61161690610f15565b610f52565b9081602091031261016b575190565b6040513d5f823e3d90fd5b1561163c57565b60405162461bcd60e51b8152602060048201526024808201527f6f7261636c653a206e6f206365727469666963617465206174207468617420696044820152630dcc8caf60e31b6064820152608490fd5b1561169457565b60405162461bcd60e51b815260206004820152603a60248201527f6d65726b6c653a207061746820646f6573206e6f74207265616368207468652060448201527f63617272696572277320686173685f6d65726b6c655f726f6f740000000000006064820152608490fd5b1561170657565b60405162461bcd60e51b815260206004820152601a60248201527f7265636f72643a2073746174656d656e7420636861696e2069640000000000006044820152606490fd5b9660206117a4979493929996959a9861177961176d5f5460018060a01b031690565b6001600160a01b031690565b60405180809b819463b1b0945360e01b8352600483019190916001600160401b036020820193169052565b03915afa93841561188c576117e76117dd6117ff966117f9956103f19d6118049c5f9361185b575b506117d8831515611635565b610da6565b95909c369161041c565b956117f4876105196112e3565b611ab3565b1461168d565b611189565b9592939194909493956001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168015918215611848575b50506116ff565b6001600160401b03161490505f80611841565b61187e91935060203d602011611885575b61187681836103bc565b81019061161b565b915f6117cc565b503d61186c565b61162a565b1561189857565b60405162461bcd60e51b815260206004820152601960248201527f636f696e626173653a20736372697074206f76657272756e73000000000000006044820152606490fd5b156118e457565b60405162461bcd60e51b815260206004820152601960248201527f636f696e626173653a206e6f2049474e532073656374696f6e000000000000006044820152606490fd5b600719810191908211610f2357565b91908203918211610f2357565b909291601381106119d95761046d916119b66119af6119a86119be946119a26119806119796119738c610f36565b8861143f565b5160f81c90565b6119948361198d83610fb4565b1115611891565b61199d8b610fc2565b610fde565b98610fde565b87846121ae565b8683612262565b9485916122bd565b6119ca848214156118dd565b6119d48194611929565b611938565b60405162461bcd60e51b815260206004820152601b60248201527f636f696e626173653a207061796c6f616420746f6f2073686f727400000000006044820152606490fd5b9190811015610c7c5760051b0190565b60405190611a3d6040836103bc565b601082526f09acae4d6d8ca84e4c2dcc6d090c2e6d60831b6020830152565b15611a6357565b60405162461bcd60e51b815260206004820152602260248201527f6d65726b6c653a206c65616620696e646578206265796f6e64207468652070616044820152610e8d60f31b6064820152608490fd5b939290915f915b808310611ace575050506103f19015611a5c565b90919294611b29600191828816155f14611b3257611b2290611b1a611af4888789611a1e565b60408051602081019490945290359083015281606081015b03601f1981018352826103bc565b610519611a2e565b9660011c90565b93019190611aba565b611b5f90611b1a611b44888789611a1e565b60408051913560208301528101929092528160608101611b0c565b611b22565b909291925f5b848110611b7a5750505050505f90565b6001600160fb1b0381168103610f23578060051b8201808311610f2357611ba2859185611d41565b14611baf57600101611b6a565b5050505050600190565b15611bc057565b60405162461bcd60e51b815260206004820152602260248201527f6d70743a2073746f726167652076616c7565206973206e6f74206120737472696044820152616e6760f01b6064820152608490fd5b611c389392916040516020810191825260208152611c2f6040826103bc565b519020906125ee565b9015611c8f57611c4781612b4f565b90815115151580611c70575b91611c6061046d93611bb9565b6060604082015191015191612d4f565b5060408201519160608101518301809311610f23578151909214611c53565b505f90565b15611c9b57565b60405162461bcd60e51b815260206004820152600d60248201526c1a195859195c8e881cda1bdc9d609a1b6044820152606490fd5b602261046d91611ce48151600a1115611c94565b015160c01c612ddd565b602a61046d91611ce4815160121115611c94565b602061046d91611ce4815160081115611c94565b906008810190818111610f235782611d3660209361046d95511015611c94565b01015160c01c612ddd565b906020810191828211610f2357611d5d60209382511015611c94565b01015190565b15611d6a57565b60405162461bcd60e51b81526020600482015260136024820152720c4d8c2d6ca64c47440d6caf240d8cadccee8d606b1b6044820152606490fd5b6040516101009190611db783826103bc565b60d5815291601f1901366020840137565b611ddd81518015159081611fc4575b50611d63565b611de5611da5565b91611df16101006103f3565b676a09e667f3bcc908815267bb67ae8584caa73b6020820152673c6ef372fe94f82b604082015267a54ff53a5f1d36f1606082015267510e527fade682d16080820152679b05688c2b3e6c1f60a0820152671f83d9abfb41bd6b60c0820152675be0cd19137e217960e0820152611ea66301010020611e8a611e7a86516001600160401b031690565b60081b67ffffffffffffff001690565b83516001600160401b0316181882906001600160401b03169052565b600c60238501535f5b60088110611f7d575050805191611eda8460c45f918260648201528260848201528260a48201520152565b80516020606486019201825e611ef1831585612e4d565b5f5b838110611f0557505050506024015190565b80611f13611f349286611938565b9060808211611f74575b60808210611f51575b81602082870101855e610fde565b90611f4b611f4183610fd0565b8584149087612ec3565b90611ef3565b611f6f8760c45f918260648201528260848201528260a48201520152565b611f26565b60809150611f1d565b8060051b8201515f905f905b60088210611fa957505060c01b600382901b860160240152600101611eaf565b909160019060ff838560031b1c169060081b17920190611f89565b6040915011155f611dd7565b15611fd757565b60405162461bcd60e51b815260206004820152601a60248201527f6d70743a206163636f756e74206973206e6f742061206c6973740000000000006044820152606490fd5b1561202357565b606460405162461bcd60e51b815260206004820152602060248201527f6d70743a206163636f756e7420686173206e6f7420666f7572206669656c64736044820152fd5b60405160609290921b6bffffffffffffffffffffffff191660208301908152612099949392611c2f8160348101611b0c565b9190156121a1576120a982612b4f565b9081516120b590151590565b6120be90611fd0565b604082019182516120cf9085612c55565b9160408301948551936060019384516120e791610fde565b6120f19082612c55565b94604086019586519060600190815161210991610fde565b6121139084612c55565b90604082019687519260600192835161212b91610fde565b6121359086612c55565b93604085019788519560600195865161214d91610fde565b9151906060015161215d91610fde565b146121679061201c565b6001995190516121779186612d4f565b975190516121859185612d4f565b955190516121939184612ed9565b935190519061046d92612ed9565b5f91508190819081908190565b6008820190818311610f23578391821061225c57016324a3a72360e11b63ffffffff60e01b601c83015116036122575782600719810111610f23576018015161222e9060e081901c906122249060c81c63ff000000165b62ff0000600884901b161761ff00600884901c16179160181c60ff1690565b1763ffffffff1690565b9061224261223b83610f52565b9184611938565b10612253576119d461046d92611929565b5090565b505090565b50505090565b6008820190818311610f23578391821061225c570163049474e560e41b63ffffffff60e01b601c83015116036122575782600719810111610f23576018015161222e9060e081901c906122249060c81c63ff00000016612205565b6008820190818311610f23578391821061225c57016349474e5360e01b63ffffffff60e01b601c83015116036122575782600719810111610f23576018015161222e9060e081901c906122249060c81c63ff00000016612205565b1561231f57565b60405162461bcd60e51b815260206004820152602260248201527f6d70743a206e6f206e6f64657320666f722061206e6f6e2d656d70747920726f6044820152611bdd60f21b6064820152608490fd5b1561237657565b60405162461bcd60e51b815260206004820152602360248201527f6d70743a20746865206669727374206e6f6465206973206e6f742074686520726044820152621bdbdd60ea1b6064820152608490fd5b156123ce57565b60405162461bcd60e51b815260206004820152601760248201527f6d70743a206e6f6465206973206e6f742061206c6973740000000000000000006044820152606490fd5b6040519061022061242481846103bc565b368337565b1561243057565b60405162461bcd60e51b81526020600482015260136024820152726d70743a20746f6f206d616e79206974656d7360681b6044820152606490fd5b5f198114610f235760010190565b906011811015610c7c5760051b0190565b60405190608082018281106001600160401b038211176103dd576040525f6060838281528260208201528260408201520152565b156124c557565b60405162461bcd60e51b815260206004820152600d60248201526c0dae0e87440c4c2c840e0c2e8d609b1b6044820152606490fd5b1561250157565b60405162461bcd60e51b81526020600482015260126024820152716d70743a20626164207265666572656e636560701b6044820152606490fd5b1561254257565b60405162461bcd60e51b815260206004820152602160248201527f6d70743a2061207265666572656e636564206e6f6465206973206d697373696e6044820152606760f81b6064820152608490fd5b1561259857565b60405162461bcd60e51b815260206004820152602860248201527f6d70743a206e6f646520646f6573206e6f74206861736820746f20697473207260448201526765666572656e636560c01b6064820152608490fd5b939291938215612a545761261a61260c610ddb858897969597610c42565b91825160208401201461236f565b5f918290600190825b605084106126655760405162461bcd60e51b815260206004820152601260248201527106d70743a207061746820746f6f20646565760741b6044820152606490fd5b61266f9085612c55565b9461268261267d8751151590565b6123c7565b61268a612413565b965f986040880197606089519101905b6126a78a51835190610fde565b81101561270257906126f68c836126e58e9f9d9e9d6126a7968e6126d060116126d59410612429565b612c55565b926126df8161246b565b9e612479565b526060604082015191015190610fde565b9a999b9a90915061269a565b505096509796909694919461271561248a565b50601181036128365750604087146127e95761275161274a6127579261274461273e8b8b612f22565b60ff1690565b90612479565b5183612c55565b96610f15565b955b80516127d957606081018051156127c5576020929161277c8460409351146124fa565b01510101519261278d81831061253b565b6127b56127a7610ddb61279f8561246b565b94848c610c81565b948551602087012014612591565b60015f935b019296959496612623565b505050505050505090505f9061046d6112cf565b60206001919592950151936127ba565b93509596505050612808925061280191506102000190565b5182612c55565b9060608201805115612829576040612824930151905191612f49565b600191565b5050505f9061046d6112cf565b909690600203612a0f5761284b875183612c55565b9061285d6128598351151590565b1590565b80612a02575b61286c906124be565b604082019061289b606061289361288a61159261158487518a61143f565b60041c600f1690565b94015161101b565b60018416158015916128b7916129f95760ff60015b1690611938565b925f5b84811061291c575050506128dd6128d66002936128e493610fde565b9960200190565b5184612c55565b911615612759579697509492505050604091500361291057816060604061282494015191015191612f49565b50505f9061046d6112cf565b5f9c979b96999a92939495989c50835f146129e15789600161296161159261158461294b60ff855b1687610fde565b9461295b88516111ca8860011c90565b9061143f565b91166129d95760041c600f165b604061297a8388610fde565b10908115916129b5575b5061299d576001019b97949392919998959a969b6128ba565b50505050505050955050505050505f9061046d6112cf565b905060ff6129cf61273e6129c9858a610fde565b87612f22565b911614155f612984565b600f1661296e565b89600161296161159261158461294b60ff6002612944565b60ff60026128b0565b5060608201511515612863565b60405162461bcd60e51b815260206004820181905260248201527f6d70743a206e6f6465207769746820616e206f6464206974656d20636f756e746044820152606490fd5b9050612a859293507f56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421915014612318565b5f9061046d6112cf565b15612a9657565b60405162461bcd60e51b815260206004820152600a6024820152691c9b1c0e881cda1bdc9d60b21b6044820152606490fd5b60ff60f6199116019060ff8211610f2357565b60ff60bf199116019060ff8211610f2357565b60ff60b6199116019060ff8211610f2357565b60ff607f199116019060ff8211610f2357565b15612b1b57565b60405162461bcd60e51b815260206004820152600c60248201526b3936381d1037bb32b9393ab760a11b6044820152606490fd5b906103f1612b5b61248a565b92612b6881511515612a8f565b612b786115926115845f8461143f565b5f602086015260ff81166080811015612bb75750505f6040850152600160608501525b612bae6040850151606086015190610fde565b90511015612b14565b60b8811015612be5575061273e612bcd91612b01565b6060850152612bdb5f610f15565b6040850152612b9b565b60c0811015612c1f5750612bfe61273e612bdb92612aee565b612c1181612c0b5f610f15565b85612f84565b606087015261199d5f610f15565b60f81115612c3d5761273e612bcd91612c388760019052565b612adb565b612c4c61273e612bdb92612ac8565b60018652612bfe565b6103f190929192612c6461248a565b93612c7182518210612a8f565b612c81611592611584838561143f565b9080602087015260ff8216608081105f14612cb2575060408601819052600160608701819052612bae925090610fde565b60b8811015612cd55750612ccb61273e612bdb93612b01565b6060870152610f15565b60c0811015612d0f575061199d612cf161273e612bdb94612aee565b91612d0583612cff83610f15565b87612f84565b6060890152610f15565b60f81115612d2b57612ccb61273e612bdb93612c388960019052565b61199d612d3d61273e612bdb94612ac8565b6001885291612d0583612cff83610f15565b9092915f9360208211612da05791905f925b818410612d6e5750505050565b9091929460081b85820190818311610f2357612d9561273e6115926115846001958961143f565b179501929190612d61565b60405162461bcd60e51b8152602060048201526015602482015274726c703a20696e746567657220746f6f207769646560581b6044820152606490fd5b612e4967ff00000000000000603883901b8116600884811b64ff000000001690601886901b65ff00000000001690602887901b66ff000000000000169063ff0000009088901c16931717171762ff0000601885901c161761ff00602885901c1617921660381c60ff1690565b1790565b604091612e5a6080612ddd565b60c01b60e4830152612eb7575b60d5602060248301920160095afa15612e7c57565b60405162461bcd60e51b8152602060048201526013602482015272626c616b6532623a20707265636f6d70696c6560681b6044820152606490fd5b600160f4820153612e67565b9091612e5a6001600160401b0360409416612ddd565b91602003612ee957016020015190565b60405162461bcd60e51b8152602060048201526011602482015270726c703a206e6f7420333220627974657360781b6044820152606490fd5b8160011c906020821015610c7c57901a90600116612f435760041c60ff1690565b600f1690565b9291906020612f5783610401565b91612f6560405193846103bc565b838352612f7184610401565b8284019390601f1901368537950101905e565b9291905f93602083111580613019575b15612fe25791905f925b828410612fab5750505050565b90919294612fbb60019160081b90565b612fd761273e611592611584612fd18b89610fde565b8761143f565b179501929190612f9e565b60405162461bcd60e51b815260206004820152600f60248201526e0e4d8e07440c4c2c840d8cadccee8d608b1b6044820152606490fd5b50828201808311610f235781511015612f9456fea2646970667358221220ce879094835d769d272d5d167c77090fc9d7fde70913d367e3ed7080aa3b6bfd64736f6c634300081c0033" +} diff --git a/tools/reference-apps/oracle/artifacts/StubCertificateVerifier.json b/tools/reference-apps/oracle/artifacts/StubCertificateVerifier.json new file mode 100644 index 000000000..b009a1eeb --- /dev/null +++ b/tools/reference-apps/oracle/artifacts/StubCertificateVerifier.json @@ -0,0 +1,212 @@ +{ + "name": "StubCertificateVerifier", + "solc": "0.8.28+commit.7893614a.Emscripten.clang", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint64", + "name": "index", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "checkpoint", + "type": "bytes32" + } + ], + "name": "Recorded", + "type": "event" + }, + { + "inputs": [], + "name": "chainId", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "index", + "type": "uint64" + } + ], + "name": "finalCheckpoint", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "checkpoint", + "type": "bytes32" + } + ], + "name": "isFinal", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "index", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "checkpoint", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "submitCertificate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "tableId", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "stateRoot", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes[]", + "name": "proof", + "type": "bytes[]" + } + ], + "name": "verifyAccount", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "storageRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "codeHash", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "index", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "checkpoint", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "verifyCertificate", + "outputs": [ + { + "internalType": "bool", + "name": "ok", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "signedWeight", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalWeight", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x608080604052346015576114c8908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635e9c528a14610084578063662464951461007f5780639a8a05921461007a578063a59da8f714610075578063b1b0945314610070578063c2c1e2cb1461006b5763da3686de14610066575f80fd5b61043c565b610402565b6103c8565b610289565b610221565b6101c5565b3461012c57606036600319011261012c576024356004356001600160a01b038216820361012c57604435906001600160401b03821161012c573660238301121561012c578160040135906001600160401b03821161012c573660248360051b8501011161012c576101289360246100fc9401916105fe565b6040805195151586526020860194909452928401919091526060830152608082015290819060a0820190565b0390f35b5f80fd5b9181601f8401121561012c578235916001600160401b03831161012c576020838186019501011161012c57565b608060031982011261012c576004356001600160401b038116810361012c5791602435916044356001600160401b03811161012c578161019f91600401610130565b92909291606435906001600160401b03821161012c576101c191600401610130565b9091565b3461012c5760606001600160401b036101dd3661015d565b50505050911615159081610217575b50801561020f5760ff60015b604051921515835216602082015260016040820152f35b60ff5f6101f8565b905015155f6101ec565b3461012c575f36600319011261012c576040805190610240818361047f565b600f825260208201916e69676e65756d2d6465766e65742d3360881b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b3461012c576102973661015d565b505050506001600160401b03821691821515806103bf575b1561036657817f99f47e4a7ab820120d8b7a21d713cce18c78fa6a1d27124cc2e0c2a5069a26a4926103248361030e6102fb610357966001600160401b03165f525f60205260405f2090565b5484811591821561035c575b50506104d4565b6001600160401b03165f525f60205260405f2090565b5561034761033a825f52600160205260405f2090565b805460ff19166001179055565b6040519081529081906020820190565b0390a2005b149050845f610307565b60405162461bcd60e51b815260206004820152602b60248201527f737475623a20696e64657820616e6420636865636b706f696e74206d7573742060448201526a6265206e6f6e2d7a65726f60a81b6064820152608490fd5b508115156102af565b3461012c57602036600319011261012c576004356001600160401b03811680910361012c575f525f602052602060405f2054604051908152f35b3461012c575f36600319011261012c5760206040517f859962dfd79b64b7948cb28d6252ff8d57d5d13693b86df35a60a583de6220cc8152f35b3461012c57602036600319011261012c576004355f526001602052602060ff60405f2054166040519015158152f35b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b038211176104a057604052565b61046b565b6001600160401b0381116104a057601f01601f191660200190565b604051906104cf60208361047f565b5f8252565b156104db57565b60405162461bcd60e51b815260206004820152602a60248201527f737475623a20696e64657820616c72656164792068617320616e6f746865722060448201526918da1958dadc1bda5b9d60b21b6064820152608490fd5b1561053a57565b60405162461bcd60e51b815260206004820152601a60248201527f6d70743a206163636f756e74206973206e6f742061206c6973740000000000006044820152606490fd5b634e487b7160e01b5f52601160045260245ffd5b90600182018092116105a157565b61057f565b919082018092116105a157565b156105ba57565b606460405162461bcd60e51b815260206004820152602060248201527f6d70743a206163636f756e7420686173206e6f7420666f7572206669656c64736044820152fd5b60405160609290921b6bffffffffffffffffffffffff1916602083019081526014835261063b94939261063260348261047f565b51902090610b27565b9190156107465761064b826110a9565b90815161065790151590565b61066090610533565b6040820191825161067190856111b6565b916040830194855193606001938451610689916105a6565b61069390826111b6565b9460408601958651906060019081516106ab916105a6565b6106b590846111b6565b9060408201968751926060019283516106cd916105a6565b6106d790866111b6565b9360408501978851956060019586516106ef916105a6565b915190606001516106ff916105a6565b14610709906105b3565b60019951905161071991866112b0565b9751905161072791856112b0565b95519051610735918461133e565b93519051906107439261133e565b90565b5f91508190819081908190565b1561075a57565b60405162461bcd60e51b815260206004820152602260248201527f6d70743a206e6f206e6f64657320666f722061206e6f6e2d656d70747920726f6044820152611bdd60f21b6064820152608490fd5b634e487b7160e01b5f52603260045260245ffd5b90156107f857803590601e198136030182121561012c5701908135916001600160401b03831161012c57602001823603811361012c579190565b6107aa565b91908110156107f85760051b81013590601e198136030182121561012c5701908135916001600160401b03831161012c57602001823603811361012c579190565b92919261084a826104a5565b91610858604051938461047f565b82948184528183011161012c578281602093845f960137010152565b1561087b57565b60405162461bcd60e51b815260206004820152602360248201527f6d70743a20746865206669727374206e6f6465206973206e6f742074686520726044820152621bdbdd60ea1b6064820152608490fd5b156108d357565b60405162461bcd60e51b815260206004820152601760248201527f6d70743a206e6f6465206973206e6f742061206c6973740000000000000000006044820152606490fd5b60405190610220610929818461047f565b368337565b1561093557565b60405162461bcd60e51b81526020600482015260136024820152726d70743a20746f6f206d616e79206974656d7360681b6044820152606490fd5b5f1981146105a15760010190565b9060118110156107f85760051b0190565b60405190608082018281106001600160401b038211176104a0576040525f6060838281528260208201528260408201520152565b156109ca57565b60405162461bcd60e51b815260206004820152600d60248201526c0dae0e87440c4c2c840e0c2e8d609b1b6044820152606490fd5b9081518110156107f8570160200190565b908160011b91808304600214901517156105a157565b919082039182116105a157565b15610a3a57565b60405162461bcd60e51b81526020600482015260126024820152716d70743a20626164207265666572656e636560701b6044820152606490fd5b15610a7b57565b60405162461bcd60e51b815260206004820152602160248201527f6d70743a2061207265666572656e636564206e6f6465206973206d697373696e6044820152606760f81b6064820152608490fd5b15610ad157565b60405162461bcd60e51b815260206004820152602860248201527f6d70743a206e6f646520646f6573206e6f74206861736820746f20697473207260448201526765666572656e636560c01b6064820152608490fd5b939291938215610fae57610b5a610b4c610b458588979695976107be565b369161083e565b918251602084012014610874565b5f918290600190825b60508410610ba55760405162461bcd60e51b815260206004820152601260248201527106d70743a207061746820746f6f20646565760741b6044820152606490fd5b610baf90856111b6565b94610bc2610bbd8751151590565b6108cc565b610bca610918565b965f986040880197606089519101905b610be78a518351906105a6565b811015610c425790610c368c83610c258e9f9d9e9d610be7968e610c106011610c15941061092e565b6111b6565b92610c1f81610970565b9e61097e565b5260606040820151910151906105a6565b9a999b9a909150610bda565b5050965097969096949194610c5561098f565b5060118103610d76575060408714610d2957610c91610c8a610c9792610c84610c7e8b8b611387565b60ff1690565b9061097e565b51836111b6565b96610593565b955b8051610d195760608101805115610d055760209291610cbc846040935114610a33565b015101015192610ccd818310610a74565b610cf5610ce7610b45610cdf85610970565b94848c6107fd565b948551602087012014610aca565b60015f935b019296959496610b63565b505050505050505090505f906107436104c0565b6020600191959295015193610cfa565b93509596505050610d489250610d4191506102000190565b51826111b6565b9060608201805115610d69576040610d649301519051916113ae565b600191565b5050505f906107436104c0565b909690600203610f6957610d8b8751836111b6565b90610d9d610d998351151590565b1590565b80610f5c575b610dac906109c3565b6040820190610def6060610de7610dde610dd8610dca87518a6109ff565b516001600160f81b03191690565b60f81c90565b60041c600f1690565b940151610a10565b6001841615801591610e0b91610f535760ff60015b1690610a26565b925f5b848110610e7057505050610e31610e2a600293610e38936105a6565b9960200190565b51846111b6565b911615610c995796975094925050506040915003610e64578160606040610d64940151910151916113ae565b50505f906107436104c0565b5f9c979b96999a92939495989c50835f14610f3b57896001610ebb610dd8610dca610e9f60ff855b16876105a6565b94610eb58851610eaf8860011c90565b906105a6565b906109ff565b9116610f335760041c600f165b6040610ed483886105a6565b1090811591610f0f575b50610ef7576001019b97949392919998959a969b610e0e565b50505050505050955050505050505f906107436104c0565b905060ff610f29610c7e610f23858a6105a6565b87611387565b911614155f610ede565b600f16610ec8565b896001610ebb610dd8610dca610e9f60ff6002610e98565b60ff6002610e04565b5060608201511515610da3565b60405162461bcd60e51b815260206004820181905260248201527f6d70743a206e6f6465207769746820616e206f6464206974656d20636f756e746044820152606490fd5b9050610fdf9293507f56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421915014610753565b5f906107436104c0565b15610ff057565b60405162461bcd60e51b815260206004820152600a6024820152691c9b1c0e881cda1bdc9d60b21b6044820152606490fd5b60ff60f6199116019060ff82116105a157565b60ff60bf199116019060ff82116105a157565b60ff60b6199116019060ff82116105a157565b60ff607f199116019060ff82116105a157565b1561107557565b60405162461bcd60e51b815260206004820152600c60248201526b3936381d1037bb32b9393ab760a11b6044820152606490fd5b906111116110b561098f565b926110c281511515610fe9565b6110d2610dd8610dca5f846109ff565b5f602086015260ff811660808110156111135750505f6040850152600160608501525b61110860408501516060860151906105a6565b9051101561106e565b565b60b88110156111415750610c7e6111299161105b565b60608501526111375f610593565b60408501526110f5565b60c0811015611180575061115a610c7e61113792611048565b61116d816111675f610593565b856113e9565b606087015261117b5f610593565b6105a6565b60f8111561119e57610c7e611129916111998760019052565b611035565b6111ad610c7e61113792611022565b6001865261115a565b611111909291926111c561098f565b936111d282518210610fe9565b6111e2610dd8610dca83856109ff565b9080602087015260ff8216608081105f146112135750604086018190526001606087018190526111089250906105a6565b60b8811015611236575061122c610c7e6111379361105b565b6060870152610593565b60c0811015611270575061117b611252610c7e61113794611048565b916112668361126083610593565b876113e9565b6060890152610593565b60f8111561128c5761122c610c7e611137936111998960019052565b61117b61129e610c7e61113794611022565b60018852916112668361126083610593565b9092915f93602082116113015791905f925b8184106112cf5750505050565b9091929460081b858201908183116105a1576112f6610c7e610dd8610dca600195896109ff565b1795019291906112c2565b60405162461bcd60e51b8152602060048201526015602482015274726c703a20696e746567657220746f6f207769646560581b6044820152606490fd5b9160200361134e57016020015190565b60405162461bcd60e51b8152602060048201526011602482015270726c703a206e6f7420333220627974657360781b6044820152606490fd5b8160011c9060208210156107f857901a906001166113a85760041c60ff1690565b600f1690565b92919060206113bc836104a5565b916113ca604051938461047f565b8383526113d6846104a5565b8284019390601f1901368537950101905e565b9291905f9360208311158061147e575b156114475791905f925b8284106114105750505050565b9091929461142060019160081b90565b61143c610c7e610dd8610dca6114368b896105a6565b876109ff565b179501929190611403565b60405162461bcd60e51b815260206004820152600f60248201526e0e4d8e07440c4c2c840d8cadccee8d608b1b6044820152606490fd5b508282018083116105a157815110156113f956fea2646970667358221220c53733b7178146a825c866a59c165b563029898b6eab335ced53f7e5dc39298364736f6c634300081c0033", + "deployedBytecode": "0x60806040526004361015610011575f80fd5b5f3560e01c80635e9c528a14610084578063662464951461007f5780639a8a05921461007a578063a59da8f714610075578063b1b0945314610070578063c2c1e2cb1461006b5763da3686de14610066575f80fd5b61043c565b610402565b6103c8565b610289565b610221565b6101c5565b3461012c57606036600319011261012c576024356004356001600160a01b038216820361012c57604435906001600160401b03821161012c573660238301121561012c578160040135906001600160401b03821161012c573660248360051b8501011161012c576101289360246100fc9401916105fe565b6040805195151586526020860194909452928401919091526060830152608082015290819060a0820190565b0390f35b5f80fd5b9181601f8401121561012c578235916001600160401b03831161012c576020838186019501011161012c57565b608060031982011261012c576004356001600160401b038116810361012c5791602435916044356001600160401b03811161012c578161019f91600401610130565b92909291606435906001600160401b03821161012c576101c191600401610130565b9091565b3461012c5760606001600160401b036101dd3661015d565b50505050911615159081610217575b50801561020f5760ff60015b604051921515835216602082015260016040820152f35b60ff5f6101f8565b905015155f6101ec565b3461012c575f36600319011261012c576040805190610240818361047f565b600f825260208201916e69676e65756d2d6465766e65742d3360881b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b3461012c576102973661015d565b505050506001600160401b03821691821515806103bf575b1561036657817f99f47e4a7ab820120d8b7a21d713cce18c78fa6a1d27124cc2e0c2a5069a26a4926103248361030e6102fb610357966001600160401b03165f525f60205260405f2090565b5484811591821561035c575b50506104d4565b6001600160401b03165f525f60205260405f2090565b5561034761033a825f52600160205260405f2090565b805460ff19166001179055565b6040519081529081906020820190565b0390a2005b149050845f610307565b60405162461bcd60e51b815260206004820152602b60248201527f737475623a20696e64657820616e6420636865636b706f696e74206d7573742060448201526a6265206e6f6e2d7a65726f60a81b6064820152608490fd5b508115156102af565b3461012c57602036600319011261012c576004356001600160401b03811680910361012c575f525f602052602060405f2054604051908152f35b3461012c575f36600319011261012c5760206040517f859962dfd79b64b7948cb28d6252ff8d57d5d13693b86df35a60a583de6220cc8152f35b3461012c57602036600319011261012c576004355f526001602052602060ff60405f2054166040519015158152f35b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b038211176104a057604052565b61046b565b6001600160401b0381116104a057601f01601f191660200190565b604051906104cf60208361047f565b5f8252565b156104db57565b60405162461bcd60e51b815260206004820152602a60248201527f737475623a20696e64657820616c72656164792068617320616e6f746865722060448201526918da1958dadc1bda5b9d60b21b6064820152608490fd5b1561053a57565b60405162461bcd60e51b815260206004820152601a60248201527f6d70743a206163636f756e74206973206e6f742061206c6973740000000000006044820152606490fd5b634e487b7160e01b5f52601160045260245ffd5b90600182018092116105a157565b61057f565b919082018092116105a157565b156105ba57565b606460405162461bcd60e51b815260206004820152602060248201527f6d70743a206163636f756e7420686173206e6f7420666f7572206669656c64736044820152fd5b60405160609290921b6bffffffffffffffffffffffff1916602083019081526014835261063b94939261063260348261047f565b51902090610b27565b9190156107465761064b826110a9565b90815161065790151590565b61066090610533565b6040820191825161067190856111b6565b916040830194855193606001938451610689916105a6565b61069390826111b6565b9460408601958651906060019081516106ab916105a6565b6106b590846111b6565b9060408201968751926060019283516106cd916105a6565b6106d790866111b6565b9360408501978851956060019586516106ef916105a6565b915190606001516106ff916105a6565b14610709906105b3565b60019951905161071991866112b0565b9751905161072791856112b0565b95519051610735918461133e565b93519051906107439261133e565b90565b5f91508190819081908190565b1561075a57565b60405162461bcd60e51b815260206004820152602260248201527f6d70743a206e6f206e6f64657320666f722061206e6f6e2d656d70747920726f6044820152611bdd60f21b6064820152608490fd5b634e487b7160e01b5f52603260045260245ffd5b90156107f857803590601e198136030182121561012c5701908135916001600160401b03831161012c57602001823603811361012c579190565b6107aa565b91908110156107f85760051b81013590601e198136030182121561012c5701908135916001600160401b03831161012c57602001823603811361012c579190565b92919261084a826104a5565b91610858604051938461047f565b82948184528183011161012c578281602093845f960137010152565b1561087b57565b60405162461bcd60e51b815260206004820152602360248201527f6d70743a20746865206669727374206e6f6465206973206e6f742074686520726044820152621bdbdd60ea1b6064820152608490fd5b156108d357565b60405162461bcd60e51b815260206004820152601760248201527f6d70743a206e6f6465206973206e6f742061206c6973740000000000000000006044820152606490fd5b60405190610220610929818461047f565b368337565b1561093557565b60405162461bcd60e51b81526020600482015260136024820152726d70743a20746f6f206d616e79206974656d7360681b6044820152606490fd5b5f1981146105a15760010190565b9060118110156107f85760051b0190565b60405190608082018281106001600160401b038211176104a0576040525f6060838281528260208201528260408201520152565b156109ca57565b60405162461bcd60e51b815260206004820152600d60248201526c0dae0e87440c4c2c840e0c2e8d609b1b6044820152606490fd5b9081518110156107f8570160200190565b908160011b91808304600214901517156105a157565b919082039182116105a157565b15610a3a57565b60405162461bcd60e51b81526020600482015260126024820152716d70743a20626164207265666572656e636560701b6044820152606490fd5b15610a7b57565b60405162461bcd60e51b815260206004820152602160248201527f6d70743a2061207265666572656e636564206e6f6465206973206d697373696e6044820152606760f81b6064820152608490fd5b15610ad157565b60405162461bcd60e51b815260206004820152602860248201527f6d70743a206e6f646520646f6573206e6f74206861736820746f20697473207260448201526765666572656e636560c01b6064820152608490fd5b939291938215610fae57610b5a610b4c610b458588979695976107be565b369161083e565b918251602084012014610874565b5f918290600190825b60508410610ba55760405162461bcd60e51b815260206004820152601260248201527106d70743a207061746820746f6f20646565760741b6044820152606490fd5b610baf90856111b6565b94610bc2610bbd8751151590565b6108cc565b610bca610918565b965f986040880197606089519101905b610be78a518351906105a6565b811015610c425790610c368c83610c258e9f9d9e9d610be7968e610c106011610c15941061092e565b6111b6565b92610c1f81610970565b9e61097e565b5260606040820151910151906105a6565b9a999b9a909150610bda565b5050965097969096949194610c5561098f565b5060118103610d76575060408714610d2957610c91610c8a610c9792610c84610c7e8b8b611387565b60ff1690565b9061097e565b51836111b6565b96610593565b955b8051610d195760608101805115610d055760209291610cbc846040935114610a33565b015101015192610ccd818310610a74565b610cf5610ce7610b45610cdf85610970565b94848c6107fd565b948551602087012014610aca565b60015f935b019296959496610b63565b505050505050505090505f906107436104c0565b6020600191959295015193610cfa565b93509596505050610d489250610d4191506102000190565b51826111b6565b9060608201805115610d69576040610d649301519051916113ae565b600191565b5050505f906107436104c0565b909690600203610f6957610d8b8751836111b6565b90610d9d610d998351151590565b1590565b80610f5c575b610dac906109c3565b6040820190610def6060610de7610dde610dd8610dca87518a6109ff565b516001600160f81b03191690565b60f81c90565b60041c600f1690565b940151610a10565b6001841615801591610e0b91610f535760ff60015b1690610a26565b925f5b848110610e7057505050610e31610e2a600293610e38936105a6565b9960200190565b51846111b6565b911615610c995796975094925050506040915003610e64578160606040610d64940151910151916113ae565b50505f906107436104c0565b5f9c979b96999a92939495989c50835f14610f3b57896001610ebb610dd8610dca610e9f60ff855b16876105a6565b94610eb58851610eaf8860011c90565b906105a6565b906109ff565b9116610f335760041c600f165b6040610ed483886105a6565b1090811591610f0f575b50610ef7576001019b97949392919998959a969b610e0e565b50505050505050955050505050505f906107436104c0565b905060ff610f29610c7e610f23858a6105a6565b87611387565b911614155f610ede565b600f16610ec8565b896001610ebb610dd8610dca610e9f60ff6002610e98565b60ff6002610e04565b5060608201511515610da3565b60405162461bcd60e51b815260206004820181905260248201527f6d70743a206e6f6465207769746820616e206f6464206974656d20636f756e746044820152606490fd5b9050610fdf9293507f56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421915014610753565b5f906107436104c0565b15610ff057565b60405162461bcd60e51b815260206004820152600a6024820152691c9b1c0e881cda1bdc9d60b21b6044820152606490fd5b60ff60f6199116019060ff82116105a157565b60ff60bf199116019060ff82116105a157565b60ff60b6199116019060ff82116105a157565b60ff607f199116019060ff82116105a157565b1561107557565b60405162461bcd60e51b815260206004820152600c60248201526b3936381d1037bb32b9393ab760a11b6044820152606490fd5b906111116110b561098f565b926110c281511515610fe9565b6110d2610dd8610dca5f846109ff565b5f602086015260ff811660808110156111135750505f6040850152600160608501525b61110860408501516060860151906105a6565b9051101561106e565b565b60b88110156111415750610c7e6111299161105b565b60608501526111375f610593565b60408501526110f5565b60c0811015611180575061115a610c7e61113792611048565b61116d816111675f610593565b856113e9565b606087015261117b5f610593565b6105a6565b60f8111561119e57610c7e611129916111998760019052565b611035565b6111ad610c7e61113792611022565b6001865261115a565b611111909291926111c561098f565b936111d282518210610fe9565b6111e2610dd8610dca83856109ff565b9080602087015260ff8216608081105f146112135750604086018190526001606087018190526111089250906105a6565b60b8811015611236575061122c610c7e6111379361105b565b6060870152610593565b60c0811015611270575061117b611252610c7e61113794611048565b916112668361126083610593565b876113e9565b6060890152610593565b60f8111561128c5761122c610c7e611137936111998960019052565b61117b61129e610c7e61113794611022565b60018852916112668361126083610593565b9092915f93602082116113015791905f925b8184106112cf5750505050565b9091929460081b858201908183116105a1576112f6610c7e610dd8610dca600195896109ff565b1795019291906112c2565b60405162461bcd60e51b8152602060048201526015602482015274726c703a20696e746567657220746f6f207769646560581b6044820152606490fd5b9160200361134e57016020015190565b60405162461bcd60e51b8152602060048201526011602482015270726c703a206e6f7420333220627974657360781b6044820152606490fd5b8160011c9060208210156107f857901a906001166113a85760041c60ff1690565b600f1690565b92919060206113bc836104a5565b916113ca604051938461047f565b8383526113d6846104a5565b8284019390601f1901368537950101905e565b9291905f9360208311158061147e575b156114475791905f925b8284106114105750505050565b9091929461142060019160081b90565b61143c610c7e610dd8610dca6114368b896105a6565b876109ff565b179501929190611403565b60405162461bcd60e51b815260206004820152600f60248201526e0e4d8e07440c4c2c840d8cadccee8d608b1b6044820152606490fd5b508282018083116105a157815110156113f956fea2646970667358221220c53733b7178146a825c866a59c165b563029898b6eab335ced53f7e5dc39298364736f6c634300081c0033" +} diff --git a/tools/reference-apps/oracle/compile.mjs b/tools/reference-apps/oracle/compile.mjs new file mode 100644 index 000000000..1ca0520e0 --- /dev/null +++ b/tools/reference-apps/oracle/compile.mjs @@ -0,0 +1,35 @@ +// Compiles the oracle contracts with solc-js and writes artifacts/.json ({abi, bytecode, deployedBytecode}). +import solc from 'solc'; +import { readFileSync, writeFileSync, readdirSync, mkdirSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import path from 'node:path'; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const dir = path.join(here, 'contracts'); +const sources = {}; +for (const f of readdirSync(dir)) if (f.endsWith('.sol')) sources[f] = { content: readFileSync(path.join(dir, f), 'utf8') }; +const input = { + language: 'Solidity', + sources, + settings: { + optimizer: { enabled: true, runs: 200 }, + evmVersion: 'cancun', + viaIR: true, + outputSelection: { '*': { '*': ['abi', 'evm.bytecode.object', 'evm.deployedBytecode.object'] } }, + }, +}; +const out = JSON.parse(solc.compile(JSON.stringify(input))); +let failed = false; +for (const e of out.errors ?? []) { console.error(e.formattedMessage); if (e.severity === 'error') failed = true; } +if (failed) process.exit(1); +mkdirSync(path.join(here, 'artifacts'), { recursive: true }); +const want = ['IgneumStateOracle', 'StubCertificateVerifier']; +for (const file of Object.keys(out.contracts)) { + for (const [name, c] of Object.entries(out.contracts[file])) { + if (!want.includes(name)) continue; + const art = { name, solc: solc.version(), abi: c.abi, bytecode: '0x' + c.evm.bytecode.object, deployedBytecode: '0x' + c.evm.deployedBytecode.object }; + writeFileSync(path.join(here, 'artifacts', name + '.json'), JSON.stringify(art, null, 1) + '\n'); + console.log(name, 'creation bytes', c.evm.bytecode.object.length / 2, 'runtime bytes', c.evm.deployedBytecode.object.length / 2); + } +} +console.log('solc', solc.version()); diff --git a/tools/reference-apps/oracle/contracts/Blake2b.sol b/tools/reference-apps/oracle/contracts/Blake2b.sol new file mode 100644 index 000000000..6c0c01dd4 --- /dev/null +++ b/tools/reference-apps/oracle/contracts/Blake2b.sol @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.28; + +// Keyed BLAKE2b-256 through the EIP-152 compression precompile at address 0x09. +// The precompile input is 213 bytes: rounds (u32 big-endian), h (8 u64 little-endian), +// m (128 bytes), t (2 u64 little-endian), f (one byte). It returns the new h (64 bytes). +// Parameter block: h0 ^= 0x01010000 ^ (keylen << 8) ^ outlen, with outlen 32. +// The key padded to 128 bytes is the first block with t = 128 and f = 0. +// The message follows in 128-byte blocks; the last block carries f = 1 and t = 128 + total bytes. +library Blake2b { + uint64 private constant IV0 = 0x6a09e667f3bcc908; + uint64 private constant IV1 = 0xbb67ae8584caa73b; + uint64 private constant IV2 = 0x3c6ef372fe94f82b; + uint64 private constant IV3 = 0xa54ff53a5f1d36f1; + uint64 private constant IV4 = 0x510e527fade682d1; + uint64 private constant IV5 = 0x9b05688c2b3e6c1f; + uint64 private constant IV6 = 0x1f83d9abfb41bd6b; + uint64 private constant IV7 = 0x5be0cd19137e2179; + + function swap64(uint64 v) internal pure returns (uint64 r) { + r = ((v & 0x00000000000000FF) << 56) | ((v & 0x000000000000FF00) << 40) + | ((v & 0x0000000000FF0000) << 24) | ((v & 0x00000000FF000000) << 8) + | ((v & 0x000000FF00000000) >> 8) | ((v & 0x0000FF0000000000) >> 24) + | ((v & 0x00FF000000000000) >> 40) | ((v & 0xFF00000000000000) >> 56); + } + + // The 32-byte keyed digest of `data`. The key is at most 64 bytes and never empty here. + function hash256(bytes memory key, bytes memory data) internal view returns (bytes32 out) { + require(key.length > 0 && key.length <= 64, "blake2b: key length"); + bytes memory buf = new bytes(213); + uint64[8] memory h = [IV0, IV1, IV2, IV3, IV4, IV5, IV6, IV7]; + h[0] ^= uint64(0x01010000) ^ (uint64(key.length) << 8) ^ uint64(32); + assembly { + let p := add(buf, 32) + mstore8(add(p, 3), 12) // rounds, big-endian u32 = 12 + for { let i := 0 } lt(i, 8) { i := add(i, 1) } { + let w := mload(add(h, mul(i, 32))) + // byte-swap the u64 into little-endian + let s := 0 + for { let k := 0 } lt(k, 8) { k := add(k, 1) } { + s := or(shl(8, s), and(shr(mul(k, 8), w), 0xff)) + } + mstore(add(p, add(4, mul(i, 8))), shl(192, s)) + } + } + uint256 n = data.length; + // The key block + _zeroBlock(buf); + assembly { mcopy(add(buf, 100), add(key, 32), mload(key)) } + _compress(buf, 128, n == 0); + // The message blocks + uint256 done = 0; + while (done < n) { + uint256 take = n - done; + if (take > 128) take = 128; + if (take < 128) _zeroBlock(buf); + assembly { mcopy(add(buf, 100), add(add(data, 32), done), take) } + done += take; + _compress(buf, 128 + done, done == n); + } + assembly { out := mload(add(buf, 36)) } + } + + function _zeroBlock(bytes memory buf) private pure { + assembly { + let m := add(buf, 100) + mstore(m, 0) + mstore(add(m, 32), 0) + mstore(add(m, 64), 0) + mstore(add(m, 96), 0) + } + } + + function _compress(bytes memory buf, uint256 t, bool last) private view { + uint64 tle = swap64(uint64(t)); + bool ok; + assembly { + let p := add(buf, 32) + mstore(add(p, 196), shl(192, tle)) // t0 little-endian, then zeros for t1 and f + if last { mstore8(add(p, 212), 1) } + ok := staticcall(gas(), 0x09, p, 213, add(p, 4), 64) + } + require(ok, "blake2b: precompile"); + } +} diff --git a/tools/reference-apps/oracle/contracts/IIgneumCertificateVerifier.sol b/tools/reference-apps/oracle/contracts/IIgneumCertificateVerifier.sol new file mode 100644 index 000000000..c440a8587 --- /dev/null +++ b/tools/reference-apps/oracle/contracts/IIgneumCertificateVerifier.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.28; + +// The shared Devnet 3 certificate verifier on Sepolia. The oracle reads certified checkpoints from it. +interface IIgneumCertificateVerifier { + function chainId() external view returns (string memory); + function tableId() external view returns (bytes32); + function verifyCertificate(uint64 index, bytes32 checkpoint, bytes calldata bitmap, bytes calldata signature) + external + view + returns (bool ok, uint256 signedWeight, uint256 totalWeight); + function submitCertificate(uint64 index, bytes32 checkpoint, bytes calldata bitmap, bytes calldata signature) external; + function finalCheckpoint(uint64 index) external view returns (bytes32); + function isFinal(bytes32 checkpoint) external view returns (bool); + function verifyAccount(bytes32 stateRoot, address account, bytes[] calldata proof) + external + pure + returns (bool exists, uint256 nonce, uint256 balance, bytes32 storageRoot, bytes32 codeHash); +} diff --git a/tools/reference-apps/oracle/contracts/IgneumStateOracle.sol b/tools/reference-apps/oracle/contracts/IgneumStateOracle.sol new file mode 100644 index 000000000..ee3418a94 --- /dev/null +++ b/tools/reference-apps/oracle/contracts/IgneumStateOracle.sol @@ -0,0 +1,292 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.28; + +import {IIgneumCertificateVerifier} from "./IIgneumCertificateVerifier.sol"; +import {Blake2b} from "./Blake2b.sol"; +import {Mpt} from "./Mpt.sol"; + +// Stores proven Igneum Devnet 3 state roots on Sepolia and answers balance and storage reads under them. +// +// A state root enters through submitStateRoot with: +// headers the serialized headers from the carrier block up to a certified checkpoint, carrier first +// coinbaseTx the carrier's serialized coinbase transaction +// leafIndex, siblings the merkle path from the coinbase hash to the carrier's hash_merkle_root +// recordIndex which segment record inside the coinbase payload's IGNS section to take +// Every header is hashed with keyed BLAKE2b-256 ("BlockHash") on chain and parsed out of the same bytes. +// Each next header must list the previous hash among its level-0 parents. The last hash must be the +// checkpoint the verifier holds for the given certificate index. The coinbase hash ("TransactionHash") +// must reach the carrier's hash_merkle_root through the path ("MerkleBranchHash"). The record's +// statement then gives (number, block hash, post state root), which is stored under the number. +contract IgneumStateOracle { + struct Root { + bytes32 postRoot; + bytes32 blockHash; + bytes32 carrier; + uint64 certIndex; + } + + IIgneumCertificateVerifier public verifier; + address public owner; + uint64 public immutable evmChainId; // the statement's chain id, 0 to skip the check + mapping(uint64 => Root) private _roots; + + event StateRoot(uint64 indexed number, bytes32 postRoot, bytes32 blockHash, uint64 certIndex, bytes32 carrier); + event VerifierSet(address verifier); + + uint256 private constant RECORD_LEN = 586; + + constructor(address verifier_, uint64 evmChainId_) { + verifier = IIgneumCertificateVerifier(verifier_); + owner = msg.sender; + evmChainId = evmChainId_; + } + + function setVerifier(address v) external { + require(msg.sender == owner, "oracle: owner only"); + verifier = IIgneumCertificateVerifier(v); + emit VerifierSet(v); + } + + function trust() external pure returns (string memory) { + return "Checked on chain: header hashes and parent links to a certified checkpoint, the coinbase merkle path, the segment record layout, and the account and storage proofs under post_root. Not checked on chain in this slice: the aggregator's BLS signature over the segment record and the ZK proof behind it."; + } + + // ---- hashes ------------------------------------------------------------------------------------- + + function headerHash(bytes memory header) public view returns (bytes32) { + return Blake2b.hash256("BlockHash", header); + } + + function transactionHash(bytes memory tx_) public view returns (bytes32) { + return Blake2b.hash256("TransactionHash", tx_); + } + + function merkleRoot(bytes32 leaf, uint256 index, bytes32[] calldata siblings) public view returns (bytes32 h) { + h = leaf; + for (uint256 i = 0; i < siblings.length; i++) { + h = (index & 1) == 0 + ? Blake2b.hash256("MerkleBranchHash", abi.encodePacked(h, siblings[i])) + : Blake2b.hash256("MerkleBranchHash", abi.encodePacked(siblings[i], h)); + index >>= 1; + } + require(index == 0, "merkle: leaf index beyond the path"); + } + + // ---- headers ------------------------------------------------------------------------------------ + + function le64(bytes memory b, uint256 off) private pure returns (uint64) { + require(off + 8 <= b.length, "header: short"); + uint256 w; + assembly { w := mload(add(add(b, 32), off)) } + return Blake2b.swap64(uint64(w >> 192)); + } + + function word(bytes memory b, uint256 off) private pure returns (bytes32 w) { + require(off + 32 <= b.length, "header: short"); + assembly { w := mload(add(add(b, 32), off)) } + } + + // Parses the level-0 parents and hash_merkle_root out of a serialized header. + function parseHeader(bytes memory h) public pure returns (uint256 parentsOff, uint256 parentCount, bytes32 merkle) { + uint64 levels = le64(h, 2); + require(levels >= 1, "header: no parent levels"); + uint256 off = 10; + parentCount = le64(h, off); + parentsOff = off + 8; + off = parentsOff + 32 * parentCount; + for (uint256 l = 1; l < levels; l++) { + uint256 cnt = le64(h, off); + off += 8 + 32 * cnt; + } + merkle = word(h, off); + } + + function listsParent(bytes memory h, uint256 parentsOff, uint256 parentCount, bytes32 x) private pure returns (bool) { + for (uint256 i = 0; i < parentCount; i++) { + if (word(h, parentsOff + 32 * i) == x) return true; + } + return false; + } + + // Hashes every header, checks each parent link, and that the last hash is `checkpoint`. + // Returns the carrier's hash and hash_merkle_root. + function checkHeaderPath(bytes[] calldata headers, bytes32 checkpoint) public view returns (bytes32 carrier, bytes32 merkle) { + require(headers.length > 0, "headers: none"); + bytes32 prev; + for (uint256 i = 0; i < headers.length; i++) { + bytes memory h = headers[i]; + (uint256 pOff, uint256 pCount, bytes32 m) = parseHeader(h); + if (i == 0) { + merkle = m; + } else { + require(listsParent(h, pOff, pCount, prev), "headers: a header does not name the previous one as a parent"); + } + prev = headerHash(h); + if (i == 0) carrier = prev; + } + require(prev == checkpoint, "headers: the last header is not the certified checkpoint"); + } + + // ---- the coinbase transaction and its segment record --------------------------------------------- + + // Walks the serialized transaction to the payload. Amounts are 8 bytes on the wire. + function payloadOf(bytes memory t) public pure returns (uint256 off, uint256 len) { + uint16 version = uint16(le64(t, 0) & 0xffff); + uint256 p = 2; + uint256 nIn = le64(t, p); + p += 8; + for (uint256 i = 0; i < nIn; i++) { + p += 36; + uint256 sigLen = le64(t, p); + p += 8 + sigLen; + if (version < 1) p += 1; + p += 8; + if (version >= 1) p += 2; + } + uint256 nOut = le64(t, p); + p += 8; + for (uint256 i = 0; i < nOut; i++) { + p += 8 + 2; + uint256 spkLen = le64(t, p); + p += 8 + spkLen; + if (version >= 1) { + require(p < t.length, "coinbase: short"); + if (uint8(t[p]) != 0) p += 34; + p += 1; + } + } + p += 8 + 20 + 8; + len = le64(t, p); + off = p + 8; + require(off + len <= t.length, "coinbase: payload overruns"); + } + + // The nested sections at the end of the extra data: items || len_le32 || TAG. Returns the IGNS items. + function segmentSection(bytes memory t, uint256 payloadOff, uint256 payloadLen) public pure returns (uint256 off, uint256 len) { + require(payloadLen >= 19, "coinbase: payload too short"); + uint256 scriptLen = uint8(t[payloadOff + 18]); + require(19 + scriptLen <= payloadLen, "coinbase: script overruns"); + uint256 start = payloadOff + 19 + scriptLen; + uint256 end = payloadOff + payloadLen; + end = takeSection(t, start, end, "IGNF"); + end = takeSection(t, start, end, "IGNP"); + uint256 before = takeSection(t, start, end, "IGNS"); + require(before != end, "coinbase: no IGNS section"); + off = before; + len = end - 8 - before; + } + + // If the bytes in [start, end) end with `tag`, returns the start of that section; else returns `end`. + function takeSection(bytes memory t, uint256 start, uint256 end, bytes4 tag) private pure returns (uint256) { + if (end < start + 8) return end; + bytes4 have; + assembly { have := mload(add(add(t, 32), sub(end, 4))) } + if (have != tag) return end; + uint256 len = le32(t, end - 8); + if (len + 8 > end - start) return end; + return end - 8 - len; + } + + function le32(bytes memory b, uint256 off) private pure returns (uint32) { + uint256 w; + assembly { w := mload(add(add(b, 32), off)) } + uint32 be = uint32(w >> 224); + return ((be & 0xff) << 24) | ((be & 0xff00) << 8) | ((be & 0xff0000) >> 8) | (be >> 24); + } + + // Reads record `recordIndex` of the IGNS section: (last block number, block hash, post state root, chain id). + function readRecord(bytes memory t, uint256 recordIndex) + public + pure + returns (uint64 number, bytes32 blockHash, bytes32 postRoot, uint64 chainId) + { + (uint256 pOff, uint256 pLen) = payloadOf(t); + (uint256 sOff, uint256 sLen) = segmentSection(t, pOff, pLen); + require(sLen % RECORD_LEN == 0, "record: section length"); + require((recordIndex + 1) * RECORD_LEN <= sLen, "record: index beyond the section"); + uint256 r = sOff + recordIndex * RECORD_LEN; + uint64 last = le64(t, r + 10); + bytes32 block_ = word(t, r + 18); + uint256 pv = r + 118; + chainId = uint64(uint256(word(t, pv)) >> 192); + number = uint64(uint256(word(t, pv + 8)) >> 192); + blockHash = word(t, pv + 16); + postRoot = word(t, pv + 148); + require(number == last, "record: statement is not for the segment's last block"); + require(blockHash == block_, "record: block hash is not the statement's"); + require(postRoot != bytes32(0), "record: zero post_root"); + } + + // ---- the whole check ---------------------------------------------------------------------------- + + function verifyStateRoot( + uint64 certIndex, + bytes[] calldata headers, + bytes calldata coinbaseTx, + uint256 leafIndex, + bytes32[] calldata siblings, + uint256 recordIndex + ) public view returns (uint64 number, bytes32 postRoot, bytes32 blockHash, bytes32 carrier) { + bytes32 checkpoint = verifier.finalCheckpoint(certIndex); + require(checkpoint != bytes32(0), "oracle: no certificate at that index"); + bytes32 merkle; + (carrier, merkle) = checkHeaderPath(headers, checkpoint); + bytes memory t = coinbaseTx; + bytes32 leaf = transactionHash(t); + require(merkleRoot(leaf, leafIndex, siblings) == merkle, "merkle: path does not reach the carrier's hash_merkle_root"); + uint64 chainId; + (number, blockHash, postRoot, chainId) = readRecord(t, recordIndex); + require(evmChainId == 0 || chainId == evmChainId, "record: statement chain id"); + } + + function submitStateRoot( + uint64 certIndex, + bytes[] calldata headers, + bytes calldata coinbaseTx, + uint256 leafIndex, + bytes32[] calldata siblings, + uint256 recordIndex + ) external returns (uint64 number, bytes32 postRoot) { + bytes32 blockHash; + bytes32 carrier; + (number, postRoot, blockHash, carrier) = verifyStateRoot(certIndex, headers, coinbaseTx, leafIndex, siblings, recordIndex); + Root storage r = _roots[number]; + require(r.postRoot == bytes32(0) || r.postRoot == postRoot, "oracle: another root is stored for that block"); + _roots[number] = Root(postRoot, blockHash, carrier, certIndex); + emit StateRoot(number, postRoot, blockHash, certIndex, carrier); + } + + // ---- reads -------------------------------------------------------------------------------------- + + function stateRoot(uint64 number) public view returns (bytes32 postRoot, bytes32 blockHash, bytes32 carrier, uint64 certIndex) { + Root storage r = _roots[number]; + require(r.postRoot != bytes32(0), "oracle: no proven root for that block"); + return (r.postRoot, r.blockHash, r.carrier, r.certIndex); + } + + function provenAccount(uint64 number, address a, bytes[] calldata accountProof) + public + view + returns (bool exists, uint256 nonce, uint256 balance, bytes32 storageRoot, bytes32 codeHash) + { + (bytes32 root,,,) = stateRoot(number); + return Mpt.account(root, a, accountProof); + } + + function provenBalance(uint64 number, address a, bytes[] calldata accountProof) external view returns (uint256 balance) { + (,, balance,,) = provenAccount(number, a, accountProof); + } + + function provenStorage(uint64 number, address a, bytes32 slot, bytes[] calldata accountProof, bytes[] calldata storageProof) + external + view + returns (bytes32) + { + (bool exists,,, bytes32 storageRoot,) = provenAccount(number, a, accountProof); + if (!exists) { + require(storageProof.length == 0, "mpt: storage proof for an absent account"); + return bytes32(0); + } + return Mpt.storageSlot(storageRoot, slot, storageProof); + } +} diff --git a/tools/reference-apps/oracle/contracts/Mpt.sol b/tools/reference-apps/oracle/contracts/Mpt.sol new file mode 100644 index 000000000..5bd9ce50e --- /dev/null +++ b/tools/reference-apps/oracle/contracts/Mpt.sol @@ -0,0 +1,170 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.28; + +// RLP reading and Merkle Patricia trie proofs in Ethereum's layout (keccak-keyed secure trie). +// A proof is the node list eth_getProof returns, root first, in path order. Every node is +// hashed and compared with the reference that led to it. Nodes shorter than 32 bytes may be +// embedded in their parent; those are walked in place. +library Mpt { + bytes32 internal constant EMPTY_ROOT = 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421; + + struct Item { + bool isList; + uint256 start; // position of the item's prefix + uint256 off; // position of the item's payload + uint256 len; // payload length + } + + function item(bytes memory b, uint256 p) internal pure returns (Item memory it) { + require(p < b.length, "rlp: short"); + uint8 x = uint8(b[p]); + it.start = p; + if (x < 0x80) { + it.off = p; + it.len = 1; + } else if (x < 0xb8) { + it.len = x - 0x80; + it.off = p + 1; + } else if (x < 0xc0) { + uint256 ll = x - 0xb7; + it.len = uintAt(b, p + 1, ll); + it.off = p + 1 + ll; + } else if (x < 0xf8) { + it.isList = true; + it.len = x - 0xc0; + it.off = p + 1; + } else { + uint256 ll = x - 0xf7; + it.isList = true; + it.len = uintAt(b, p + 1, ll); + it.off = p + 1 + ll; + } + require(it.off + it.len <= b.length, "rlp: overrun"); + } + + function uintAt(bytes memory b, uint256 p, uint256 n) internal pure returns (uint256 v) { + require(n <= 32 && p + n <= b.length, "rlp: bad length"); + for (uint256 i = 0; i < n; i++) v = (v << 8) | uint8(b[p + i]); + } + + function slice(bytes memory b, uint256 off, uint256 len) internal pure returns (bytes memory out) { + out = new bytes(len); + assembly { mcopy(add(out, 32), add(add(b, 32), off), len) } + } + + function nibble(bytes32 key, uint256 i) private pure returns (uint8) { + uint8 x = uint8(key[i >> 1]); + return (i & 1) == 0 ? x >> 4 : x & 15; + } + + // Walks the proof for a 32-byte (already hashed) key. Returns (found, value bytes). + // Reverts on any node that does not hash to its reference or is malformed. + function get(bytes32 root, bytes32 key, bytes[] calldata proof) internal pure returns (bool found, bytes memory value) { + if (proof.length == 0) { + require(root == EMPTY_ROOT, "mpt: no nodes for a non-empty root"); + return (false, ""); + } + bytes memory node = proof[0]; + require(keccak256(node) == root, "mpt: the first node is not the root"); + uint256 pi = 1; + uint256 pos = 0; // nibbles of the key consumed + uint256 np = 0; // position of the current node inside `node` + for (uint256 guard = 0; guard < 80; guard++) { + Item memory list = item(node, np); + require(list.isList, "mpt: node is not a list"); + uint256[17] memory starts; + uint256 count = 0; + uint256 p = list.off; + while (p < list.off + list.len) { + require(count < 17, "mpt: too many items"); + Item memory it = item(node, p); + starts[count++] = p; + p = it.off + it.len; + } + Item memory child; + if (count == 17) { + if (pos == 64) { + Item memory v = item(node, starts[16]); + if (v.len == 0) return (false, ""); + return (true, slice(node, v.off, v.len)); + } + child = item(node, starts[nibble(key, pos)]); + pos += 1; + } else if (count == 2) { + Item memory hp = item(node, starts[0]); + require(!hp.isList && hp.len > 0, "mpt: bad path"); + uint8 flag = uint8(node[hp.off]) >> 4; + bool leaf = (flag & 2) != 0; + uint256 n = hp.len * 2 - ((flag & 1) != 0 ? 1 : 2); + for (uint256 i = 0; i < n; i++) { + uint256 k = i + ((flag & 1) != 0 ? 1 : 2); + uint8 x = uint8(node[hp.off + (k >> 1)]); + uint8 nib = (k & 1) == 0 ? x >> 4 : x & 15; + if (pos + i >= 64 || nib != nibble(key, pos + i)) return (false, ""); // the key diverges + } + pos += n; + child = item(node, starts[1]); + if (leaf) { + if (pos != 64) return (false, ""); + return (true, slice(node, child.off, child.len)); + } + } else { + revert("mpt: node with an odd item count"); + } + if (child.isList) { + np = child.start; // an embedded node + continue; + } + if (child.len == 0) return (false, ""); + require(child.len == 32, "mpt: bad reference"); + bytes32 want; + assembly { want := mload(add(add(node, 32), mload(add(child, 64)))) } + require(pi < proof.length, "mpt: a referenced node is missing"); + node = proof[pi++]; + require(keccak256(node) == want, "mpt: node does not hash to its reference"); + np = 0; + } + revert("mpt: path too deep"); + } + + function toUint(bytes memory b, uint256 off, uint256 len) internal pure returns (uint256 v) { + require(len <= 32, "rlp: integer too wide"); + for (uint256 i = 0; i < len; i++) v = (v << 8) | uint8(b[off + i]); + } + + function toBytes32(bytes memory b, uint256 off, uint256 len) internal pure returns (bytes32 v) { + require(len == 32, "rlp: not 32 bytes"); + assembly { v := mload(add(add(b, 32), off)) } + } + + // An eth_getProof account proof under `stateRoot`. + function account(bytes32 stateRoot, address a, bytes[] calldata proof) + internal + pure + returns (bool exists, uint256 nonce, uint256 balance, bytes32 storageRoot, bytes32 codeHash) + { + (bool found, bytes memory v) = get(stateRoot, keccak256(abi.encodePacked(a)), proof); + if (!found) return (false, 0, 0, bytes32(0), bytes32(0)); + Item memory list = item(v, 0); + require(list.isList, "mpt: account is not a list"); + Item memory f0 = item(v, list.off); + Item memory f1 = item(v, f0.off + f0.len); + Item memory f2 = item(v, f1.off + f1.len); + Item memory f3 = item(v, f2.off + f2.len); + require(f3.off + f3.len == list.off + list.len, "mpt: account has not four fields"); + exists = true; + nonce = toUint(v, f0.off, f0.len); + balance = toUint(v, f1.off, f1.len); + storageRoot = toBytes32(v, f2.off, f2.len); + codeHash = toBytes32(v, f3.off, f3.len); + } + + // An eth_getProof storage proof under `storageRoot`; a proven absence reads as zero. + function storageSlot(bytes32 storageRoot, bytes32 slot, bytes[] calldata proof) internal pure returns (bytes32) { + (bool found, bytes memory v) = get(storageRoot, keccak256(abi.encodePacked(slot)), proof); + if (!found) return bytes32(0); + Item memory it = item(v, 0); + require(!it.isList && it.off + it.len == v.length, "mpt: storage value is not a string"); + return bytes32(toUint(v, it.off, it.len)); + } +} diff --git a/tools/reference-apps/oracle/contracts/StubCertificateVerifier.sol b/tools/reference-apps/oracle/contracts/StubCertificateVerifier.sol new file mode 100644 index 000000000..7a1a8a2b1 --- /dev/null +++ b/tools/reference-apps/oracle/contracts/StubCertificateVerifier.sol @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.28; + +import {IIgneumCertificateVerifier} from "./IIgneumCertificateVerifier.sol"; +import {Mpt} from "./Mpt.sol"; + +// A stand-in for the shared verifier until its Sepolia address lands. It records any certificate +// whose index and checkpoint are non-zero without checking the BLS signature. verifyAccount is real. +contract StubCertificateVerifier is IIgneumCertificateVerifier { + mapping(uint64 => bytes32) private _final; + mapping(bytes32 => bool) private _isFinal; + + event Recorded(uint64 indexed index, bytes32 checkpoint); + + function chainId() external pure returns (string memory) { + return "igneum-devnet-3"; + } + + function tableId() external pure returns (bytes32) { + return keccak256("stub: no voter table installed"); + } + + function verifyCertificate(uint64 index, bytes32 checkpoint, bytes calldata, bytes calldata) + external + pure + returns (bool ok, uint256 signedWeight, uint256 totalWeight) + { + ok = index != 0 && checkpoint != bytes32(0); + return (ok, ok ? 1 : 0, 1); + } + + function submitCertificate(uint64 index, bytes32 checkpoint, bytes calldata, bytes calldata) external { + require(index != 0 && checkpoint != bytes32(0), "stub: index and checkpoint must be non-zero"); + bytes32 have = _final[index]; + require(have == bytes32(0) || have == checkpoint, "stub: index already has another checkpoint"); + _final[index] = checkpoint; + _isFinal[checkpoint] = true; + emit Recorded(index, checkpoint); + } + + function finalCheckpoint(uint64 index) external view returns (bytes32) { + return _final[index]; + } + + function isFinal(bytes32 checkpoint) external view returns (bool) { + return _isFinal[checkpoint]; + } + + function verifyAccount(bytes32 stateRoot, address account, bytes[] calldata proof) + external + pure + returns (bool exists, uint256 nonce, uint256 balance, bytes32 storageRoot, bytes32 codeHash) + { + return Mpt.account(stateRoot, account, proof); + } +} diff --git a/tools/reference-apps/oracle/demo.mjs b/tools/reference-apps/oracle/demo.mjs new file mode 100644 index 000000000..58fdac9ba --- /dev/null +++ b/tools/reference-apps/oracle/demo.mjs @@ -0,0 +1,40 @@ +// Reads a Devnet 3 balance from Sepolia. With fixtures/dn3-balance.json: submits its certificate through the verifier +// (stub or real), submits the state root with the full proof, then calls provenBalance and prints the Sepolia-read +// balance beside the fixture's. Without it: the same flow on the synthetic vector, and says so. +import { readFileSync, existsSync } from 'node:fs'; +import * as L from './lib.mjs'; + +const d = L.deployment(); +const pub = L.publicClient(); +const wallet = L.walletClient(L.deployerAccount()); +const abi = L.artifact('IgneumStateOracle').abi; +const read = (functionName, args) => pub.readContract({ address: d.oracle.address, abi, functionName, args }); +const fx = L.fixtures + '/dn3-balance.json'; +const real = existsSync(fx); +const V = real ? L.vectorFromBalanceFixture(JSON.parse(readFileSync(fx, 'utf8'))) : L.buildSynthetic(); +console.log(L.ukTime(), 'UK oracle', d.oracle.address, 'on Sepolia, verifier', await read('verifier'), real ? '' : '(no dn3-balance.json yet: synthetic vector)'); +console.log('vector:', V.kind, 'checkpoint', V.certIndex, V.checkpoint.slice(0, 12), 'headers', V.headers.length, 'chain block', V.number, 'address', L.hex0x(V.address)); + +const c = await L.ensureCertificate(pub, wallet, d, V.certIndex, L.hex0x(L.hexToBytes(V.checkpoint)), V.bitmap, V.signature); +console.log(L.ukTime(), 'UK certificate', V.certIndex, c.already ? 'already recorded on the verifier' : 'recorded: tx ' + c.tx + ' block ' + c.block + ' gas ' + c.gasUsed); +const r = await L.ensureStateRoot(pub, wallet, d, V); +console.log(L.ukTime(), 'UK state root for block', V.number, r.already ? 'already stored' : 'stored: tx ' + r.tx + ' block ' + r.block + ' gas ' + r.gasUsed + ' (' + r.headers + ' headers, ' + r.calldataBytes + ' bytes of calldata)'); +const [root, blockHash, carrier, certIndex] = await read('stateRoot', [V.number]); +console.log('stored post_root', root, 'block hash', blockHash.slice(0, 14), 'carrier', carrier.slice(0, 14), 'certificate', certIndex); + +const balance = await read('provenBalance', [V.number, L.hex0x(V.address), V.accountProof.map(L.hex0x)]); +const expected = real ? V.balance : V.account.balance; +const ign = w => (Number(w / 10n ** 12n) / 1e6).toFixed(6); +console.log(''); +console.log('Sepolia-read balance :', balance.toString(), 'wei =', ign(balance), 'IGN'); +console.log('fixture balance :', expected.toString(), 'wei =', ign(expected), 'IGN'); +console.log(balance === expected ? 'MATCH' : 'MISMATCH'); +if (real && V.storageProofs.length) { + for (const sp of V.storageProofs) { + const v = await read('provenStorage', [V.number, L.hex0x(V.address), L.hex0x(sp.slot), V.accountProof.map(L.hex0x), sp.proof.map(L.hex0x)]); + console.log('slot', L.hex0x(sp.slot).slice(0, 14), 'Sepolia-read', v, 'fixture', sp.value.toString(), BigInt(v) === sp.value ? 'MATCH' : 'MISMATCH'); + } +} +console.log(''); +console.log('trust():', await read('trust')); +process.exit(balance === expected ? 0 : 1); diff --git a/tools/reference-apps/oracle/deploy.mjs b/tools/reference-apps/oracle/deploy.mjs new file mode 100644 index 000000000..47e83e9ca --- /dev/null +++ b/tools/reference-apps/oracle/deploy.mjs @@ -0,0 +1,40 @@ +// Deploys StubCertificateVerifier and IgneumStateOracle(stub, Devnet 3 EVM chain id) to Sepolia with EIP-1559 +// transactions, waits for each receipt and writes deployment.json. Refuses to redeploy over an existing +// deployment.json unless --force is given; --oracle-only keeps the stub from deployment.json and redeploys the oracle. +import { writeFileSync, existsSync } from 'node:fs'; +import path from 'node:path'; +import { here, artifact, publicClient, walletClient, deployerAccount, EVM_CHAIN_ID, ukTime, deployment } from './lib.mjs'; + +const out = path.join(here, 'deployment.json'); +if (existsSync(out) && !process.argv.includes('--force')) { + const d = deployment(); + console.log('deployment.json exists (stub', d.stub.address, 'oracle', d.oracle.address + '); pass --force to redeploy'); + process.exit(0); +} +const account = deployerAccount(); +const pub = publicClient(); +const wallet = walletClient(account); +const bal = await pub.getBalance({ address: account.address }); +console.log(ukTime(), 'UK deployer', account.address, 'balance', Number(bal) / 1e18, 'ETH'); + +async function deploy(name, args) { + const art = artifact(name); + const hash = await wallet.deployContract({ abi: art.abi, bytecode: art.bytecode, args }); + console.log(ukTime(), 'UK', name, 'sent', hash); + const r = await pub.waitForTransactionReceipt({ hash, timeout: 180_000 }); + if (r.status !== 'success') throw new Error(name + ' deployment reverted in ' + hash); + console.log(ukTime(), 'UK', name, 'at', r.contractAddress, 'block', r.blockNumber, 'gas', r.gasUsed); + return { address: r.contractAddress, tx: hash, block: Number(r.blockNumber), gasUsed: Number(r.gasUsed) }; +} +const oracleOnly = process.argv.includes('--oracle-only'); +const previous = existsSync(out) ? deployment() : null; +const stub = oracleOnly && previous ? previous.stub : await deploy('StubCertificateVerifier', []); +const oracle = await deploy('IgneumStateOracle', [stub.address, EVM_CHAIN_ID]); +const after = await pub.getBalance({ address: account.address }); +const d = { + network: 'sepolia', chainId: 11155111, rpc: 'https://ethereum-sepolia-rpc.publicnode.com', deployer: account.address, + evmChainId: EVM_CHAIN_ID, verifier: 'stub', stub, oracle, deployedAt: new Date().toISOString(), spentWei: (bal - after).toString(), + previous: previous ? [...(previous.previous || []), { stub: previous.stub, oracle: previous.oracle, deployedAt: previous.deployedAt, writes: previous.writes || [] }] : [], +}; +writeFileSync(out, JSON.stringify(d, null, 1) + '\n'); +console.log(ukTime(), 'UK wrote', out, 'spent', Number(bal - after) / 1e18, 'ETH'); diff --git a/tools/reference-apps/oracle/deployment.json b/tools/reference-apps/oracle/deployment.json new file mode 100644 index 000000000..2fb35621c --- /dev/null +++ b/tools/reference-apps/oracle/deployment.json @@ -0,0 +1,122 @@ +{ + "network": "sepolia", + "chainId": 11155111, + "rpc": "https://ethereum-sepolia-rpc.publicnode.com", + "deployer": "0xe1D08384ef4c4c1511c8f05F94C914C4DeDc2787", + "evmChainId": 4463, + "verifier": "stub", + "stub": { + "address": "0xa197ef31d5d5613125779179668e2482ac69a6f6", + "tx": "0xa01091b62dfb4a89b25afb57a3d384677a9ad62370748504d2b3f288c0d3ad38", + "block": 11869583, + "gasUsed": 8434842 + }, + "oracle": { + "address": "0xefe9879de29c401eeff195d5bf71c86b9caaa1b2", + "tx": "0xb8650f5b2a6965b94fde56a668e9c593b227f5b7e8d78949e32edd7f79d2d644", + "block": 11869608, + "gasUsed": 19585581 + }, + "deployedAt": "2026-10-08T10:37:13.434Z", + "spentWei": "19585913954877", + "previous": [ + { + "stub": { + "address": "0xa197ef31d5d5613125779179668e2482ac69a6f6", + "tx": "0xa01091b62dfb4a89b25afb57a3d384677a9ad62370748504d2b3f288c0d3ad38", + "block": 11869583, + "gasUsed": 8434842 + }, + "oracle": { + "address": "0xa0754e555933b21703cdc6f9ff62e22ddb0a641e", + "tx": "0x411b44f37c17834fab674a1fb5f6a0d9680cc0d3c485797068961158139edbb7", + "block": 11869584, + "gasUsed": 19585581 + }, + "deployedAt": "2026-10-08T10:32:27.409Z", + "writes": [ + { + "at": "2026-10-08T10:35:00Z", + "what": "submitCertificate", + "vector": "synthetic", + "index": "9001", + "tx": "0x4ee21dc6fc3b5e72e29ae04bb6cace759193ce117246e4417704b8e627d8b0de", + "block": 11869597, + "gasUsed": 239120 + }, + { + "at": "2026-10-08T10:35:00Z", + "what": "submitStateRoot", + "vector": "synthetic", + "number": "27039", + "certIndex": "9001", + "tx": "0x2d7f282580fdbb245af47abe429d48573d72c06403bf75fdc5407ffdd97d8df0", + "block": 11869598, + "gasUsed": 580161, + "headers": 3 + } + ] + } + ], + "writes": [ + { + "at": "2026-10-08T10:37:50.681Z", + "what": "submitCertificate", + "index": "9002", + "checkpoint": "0x6bef4a7e59cae5ef017598418fa0d3be7f1528d8169191014596d9cc232fd036", + "verifier": "0xa197ef31D5D5613125779179668E2482AC69a6F6", + "tx": "0x6c2e8ff6506853aac877712b3a5e51ac57ab3426f71a03422ffd9cfae5c3ef4c", + "block": 11869611, + "gasUsed": 239120 + }, + { + "at": "2026-10-08T10:38:04.312Z", + "what": "submitStateRoot", + "vector": "synthetic", + "number": "9000027039", + "postRoot": "0xb03ecb60bbd03a652155ee5e4c76bc5ad2e8623fe24ef3810ea4f4628e94dff6", + "certIndex": "9002", + "tx": "0x8907936e01b8e1ce323a68263d574128793b4db55d74738484a4881ff6788219", + "block": 11869612, + "gasUsed": 580281, + "calldataBytes": 1863, + "headers": 3 + }, + { + "at": "2026-10-08T10:44:27.702Z", + "what": "submitCertificate", + "index": "2060", + "checkpoint": "0xbbf3757d7f7bd6b718affcb9f2e15f59da55f7129d6885d7e26d40dd9ea1d934", + "verifier": "0xa197ef31D5D5613125779179668E2482AC69a6F6", + "tx": "0xa23da37f02ad28e6d9b371a3d2f07490be06283b718933bf47f900429bd55c9b", + "block": 11869644, + "gasUsed": 240856 + }, + { + "at": "2026-10-08T10:44:36.578Z", + "what": "submitStateRoot", + "vector": "devnet-3", + "number": "26631", + "postRoot": "0xf567a84fa10dcabab5f68c712f9553f2f2032cb675bdaba1d13c7901a67a82fd", + "certIndex": "2060", + "tx": "0xb3875bbd311a91457c3f4b139d6eff38cfb5970e3260d9096f5d8070d1d62e85", + "block": 11869645, + "gasUsed": 642331, + "calldataBytes": 5701, + "headers": 1 + }, + { + "at": "2026-10-08T10:44:39.214Z", + "what": "submitStateRoot", + "vector": "devnet-3", + "number": "26631", + "postRoot": "0xf567a84fa10dcabab5f68c712f9553f2f2032cb675bdaba1d13c7901a67a82fd", + "certIndex": "2060", + "tx": "0xf360e54c8f8c40a73c25c8fdfd214ff559ec0ee281beda452e7b56e2a2cf224b", + "block": 11869645, + "gasUsed": 404376, + "calldataBytes": 5701, + "headers": 1 + } + ] +} diff --git a/tools/reference-apps/oracle/lib.mjs b/tools/reference-apps/oracle/lib.mjs new file mode 100644 index 000000000..096981ff0 --- /dev/null +++ b/tools/reference-apps/oracle/lib.mjs @@ -0,0 +1,352 @@ +// Shared helpers for the oracle scripts: byte layouts (header, coinbase transaction, segment record, coinbase +// payload), a JS mirror of the BLAKE2b driver the contract runs through the EIP-152 precompile, a small +// Merkle Patricia trie builder for synthetic vectors, and the RPC plumbing (viem, Sepolia, the deployer key). +import { readFileSync, writeFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { blake2b } from '@noble/hashes/blake2.js'; +import { keccak_256 } from '@noble/hashes/sha3.js'; +import { createPublicClient, createWalletClient, http, defineChain } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { headerHash, coinbaseTxHash, merkleRootFromPath, rlpEncode, trimBig, hexToBytes, bytesToHex, segmentRecordsOf } from '../../../site/lc/core.js'; + +export { blake2b, keccak_256, headerHash, coinbaseTxHash, merkleRootFromPath, rlpEncode, trimBig, hexToBytes, bytesToHex }; +export const here = path.dirname(fileURLToPath(import.meta.url)); +export const fixtures = path.resolve(here, '../fixtures'); +export const RPC = 'https://ethereum-sepolia-rpc.publicnode.com'; +export const EVM_CHAIN_ID = 0x116f; // Devnet 3's EVM chain id, from the receipt fixture +export const strip = s => String(s).replace(/^0x/i, ''); +export const hex0x = b => '0x' + bytesToHex(b); +const te = new TextEncoder(); + +export function concat(parts) { const n = parts.reduce((a, p) => a + p.length, 0); const m = new Uint8Array(n); let o = 0; for (const p of parts) { m.set(p, o); o += p.length; } return m; } +export const u16le = v => { const b = new Uint8Array(2); new DataView(b.buffer).setUint16(0, Number(v), true); return b; }; +export const u32le = v => { const b = new Uint8Array(4); new DataView(b.buffer).setUint32(0, Number(v), true); return b; }; +export const u64le = v => { const b = new Uint8Array(8); new DataView(b.buffer).setBigUint64(0, BigInt(v), true); return b; }; +export const u32be = v => { const b = new Uint8Array(4); new DataView(b.buffer).setUint32(0, Number(v), false); return b; }; +export const u64be = v => { const b = new Uint8Array(8); new DataView(b.buffer).setBigUint64(0, BigInt(v), false); return b; }; +export function randomBytes(n) { const b = new Uint8Array(n); for (let i = 0; i < n; i++) b[i] = Math.floor(Math.random() * 256); return b; } +// A seeded byte source (xorshift32) so a synthetic vector is the same on every run. +export function seeded(seed) { let x = seed >>> 0 || 1; return n => { const b = new Uint8Array(n); for (let i = 0; i < n; i++) { x ^= x << 13; x >>>= 0; x ^= x >>> 17; x ^= x << 5; x >>>= 0; b[i] = x & 0xff; } return b; }; } + +// ---- the header, byte for byte as site/verify/core.js headerHash hashes it ----------------------------------- +export function serializeHeader(h) { + const levels = h.parents_by_level || []; + const parts = [u16le(h.version), u64le(levels.length)]; + for (const level of levels) { parts.push(u64le(level.length)); for (const p of level) parts.push(hexToBytes(strip(p))); } + parts.push(hexToBytes(strip(h.hash_merkle_root)), hexToBytes(strip(h.accepted_id_merkle_root)), hexToBytes(strip(h.utxo_commitment)), + u64le(h.timestamp), u32le(h.bits), u64le(h.nonce), u64le(h.daa_score), u64le(h.blue_score)); + const bw = String(h.blue_work).replace(/^0+/, ''); + const bwBytes = bw.length ? hexToBytes(bw.length % 2 ? '0' + bw : bw) : new Uint8Array(0); + parts.push(u64le(bwBytes.length), bwBytes, hexToBytes(strip(h.pruning_point)), hexToBytes(strip(h.vote_key_hash))); + return concat(parts); +} + +// ---- the coinbase transaction, byte for byte as site/light/core.js coinbaseTxHash hashes it --------------------- +export function serializeCoinbase(tx, amountWireLen = 8) { + const version = Number(tx.version || 0); + const parts = [u16le(version), u64le((tx.inputs || []).length)]; + for (const inp of tx.inputs || []) { + parts.push(hexToBytes(strip(inp.previousOutpoint.transactionId)), u32le(inp.previousOutpoint.index)); + const sig = hexToBytes(strip(inp.signatureScript || '')); + parts.push(u64le(sig.length), sig); + if (version < 1) parts.push(new Uint8Array([Number(inp.sigOpCount || 0)])); + parts.push(u64le(inp.sequence)); + if (version >= 1) parts.push(u16le(inp.computeBudget || 0)); + } + parts.push(u64le((tx.outputs || []).length)); + for (const out of tx.outputs || []) { + const v = new Uint8Array(amountWireLen); let x = BigInt(out.value); + for (let i = 0; i < amountWireLen; i++) { v[i] = Number(x & 0xffn); x >>= 8n; } + const spk = hexToBytes(strip(out.scriptPublicKey)); + parts.push(v, spk.subarray(0, 2), u64le(spk.length - 2), spk.subarray(2)); + if (version >= 1) parts.push(new Uint8Array([out.covenant ? 1 : 0])); + } + const payload = hexToBytes(strip(tx.payload || '')); + parts.push(u64le(tx.lockTime || 0), hexToBytes(strip(tx.subnetworkId)), u64le(tx.gas || 0), u64le(payload.length), payload); + const mass = BigInt(tx.mass || 0); + if (version < 1) { if (mass > 0n) parts.push(u64le(mass)); } else parts.push(u64le(mass)); + return concat(parts); +} + +// ---- the segment record (586 bytes) and the coinbase payload sections ---------------------------------------- +export function encodeBlockStatement(s) { + return concat([u64be(s.chain_id), u64be(s.number), s.block_hash, s.parent_hash, u32be(s.shard_count), s.tx_commitment, s.pre_root, s.post_root, s.receipts, + u64be(s.gas_used), u64be(s.pgas_used), u32be(s.executed), u32be(s.skipped), s.provers, s.shard_vk, s.agg_vk, u64be(s.chain_len)]); +} +export function encodeSegmentRecord(r) { + const pv = encodeBlockStatement(r.statement); + if (pv.length !== 340) throw new Error('statement is ' + pv.length + ' bytes'); + const b = concat([u16le(r.version), u64le(r.first), u64le(r.last), r.block, r.pubkey, r.payout, pv, r.proof_hash, r.signature]); + if (b.length !== 586) throw new Error('record is ' + b.length + ' bytes'); + return b; +} +const section = (items, tag) => concat([items, u32le(items.length), te.encode(tag)]); +// blue_score || subsidy || script version || script len || script || IGNS || IGNP || IGNF +export function buildCoinbasePayload({ blueScore = 1n, subsidy = 0n, script = new Uint8Array(0), minerBytes = new Uint8Array(0), records = [], ignp = new Uint8Array(0), ignf = new Uint8Array(0) }) { + return concat([u64le(blueScore), u64le(subsidy), u16le(0), new Uint8Array([script.length]), script, minerBytes, + section(concat(records), 'IGNS'), section(ignp, 'IGNP'), section(ignf, 'IGNF')]); +} + +// ---- keyed BLAKE2b-256 the way the contract drives the EIP-152 compression function ------------------------- +const MASK = (1n << 64n) - 1n; +const IV = [0x6a09e667f3bcc908n, 0xbb67ae8584caa73bn, 0x3c6ef372fe94f82bn, 0xa54ff53a5f1d36f1n, 0x510e527fade682d1n, 0x9b05688c2b3e6c1fn, 0x1f83d9abfb41bd6bn, 0x5be0cd19137e2179n]; +const SIGMA = [ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], + [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], + [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9], + [12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11], [13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10], + [6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5], [10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0], +]; +const rotr = (x, n) => ((x >> n) | (x << (64n - n))) & MASK; +// The compression function F(h, m, t, f) with 12 rounds, exactly what the precompile computes. +export function blake2bF(h, m, t0, t1, f) { + const v = new Array(16); + for (let i = 0; i < 8; i++) { v[i] = h[i]; v[i + 8] = IV[i]; } + v[12] ^= t0; v[13] ^= t1; if (f) v[14] ^= MASK; + const G = (a, b, c, d, x, y) => { + v[a] = (v[a] + v[b] + x) & MASK; v[d] = rotr(v[d] ^ v[a], 32n); v[c] = (v[c] + v[d]) & MASK; v[b] = rotr(v[b] ^ v[c], 24n); + v[a] = (v[a] + v[b] + y) & MASK; v[d] = rotr(v[d] ^ v[a], 16n); v[c] = (v[c] + v[d]) & MASK; v[b] = rotr(v[b] ^ v[c], 63n); + }; + for (let r = 0; r < 12; r++) { + const s = SIGMA[r % 10]; + G(0, 4, 8, 12, m[s[0]], m[s[1]]); G(1, 5, 9, 13, m[s[2]], m[s[3]]); G(2, 6, 10, 14, m[s[4]], m[s[5]]); G(3, 7, 11, 15, m[s[6]], m[s[7]]); + G(0, 5, 10, 15, m[s[8]], m[s[9]]); G(1, 6, 11, 12, m[s[10]], m[s[11]]); G(2, 7, 8, 13, m[s[12]], m[s[13]]); G(3, 4, 9, 14, m[s[14]], m[s[15]]); + } + for (let i = 0; i < 8; i++) h[i] ^= v[i] ^ v[i + 8]; +} +const wordsLE = block => { const dv = new DataView(block.buffer, block.byteOffset, 128); const m = []; for (let i = 0; i < 16; i++) m.push(dv.getBigUint64(i * 8, true)); return m; }; +// Same driver as Blake2b.sol: parameter block, the key as the first block (t = 128), then the message blocks. +export function keyedBlake2b256(key, data) { + const h = IV.slice(); + h[0] ^= 0x01010000n ^ (BigInt(key.length) << 8n) ^ 32n; + const kb = new Uint8Array(128); kb.set(key); + blake2bF(h, wordsLE(kb), 128n, 0n, data.length === 0); + let done = 0; + while (done < data.length) { + const take = Math.min(128, data.length - done); + const mb = new Uint8Array(128); mb.set(data.subarray(done, done + take)); + done += take; + blake2bF(h, wordsLE(mb), 128n + BigInt(done), 0n, done === data.length); + } + const out = new Uint8Array(32); const dv = new DataView(out.buffer); + for (let i = 0; i < 4; i++) dv.setBigUint64(i * 8, h[i], true); + return out; +} +export const nobleKeyed = (key, data) => blake2b(data, { dkLen: 32, key }); + +// ---- a Merkle Patricia trie builder (secure trie, 32-byte keys) for synthetic vectors -------------------------- +const nibblesOf = b => { const out = []; for (const x of b) out.push(x >> 4, x & 15); return out; }; +function hp(nibs, leaf) { + const odd = nibs.length & 1; const flag = (leaf ? 2 : 0) | odd; + const out = []; let i = 0; + if (odd) { out.push((flag << 4) | nibs[0]); i = 1; } else out.push(flag << 4); + for (; i < nibs.length; i += 2) out.push((nibs[i] << 4) | nibs[i + 1]); + return new Uint8Array(out); +} +const common = (a, b) => { let i = 0; while (i < a.length && i < b.length && a[i] === b[i]) i++; return i; }; +export class Trie { + constructor() { this.root = null; } + put(keyBytes, valueBytes) { this.root = this._put(this.root, nibblesOf(keyBytes), valueBytes); } + _put(n, path, value) { + if (!n) return { kind: 'leaf', path, value }; + if (n.kind === 'leaf') { + const cp = common(n.path, path); + if (cp === n.path.length && cp === path.length) return { kind: 'leaf', path, value }; + const br = { kind: 'branch', children: new Array(16).fill(null), value: null }; + const place = (p, v) => { if (p.length === cp) br.value = v; else br.children[p[cp]] = { kind: 'leaf', path: p.slice(cp + 1), value: v }; }; + place(n.path, n.value); place(path, value); + return cp ? { kind: 'ext', path: path.slice(0, cp), child: br } : br; + } + if (n.kind === 'ext') { + const cp = common(n.path, path); + if (cp === n.path.length) return { kind: 'ext', path: n.path, child: this._put(n.child, path.slice(cp), value) }; + const br = { kind: 'branch', children: new Array(16).fill(null), value: null }; + const rem = n.path.slice(cp); + br.children[rem[0]] = rem.length === 1 ? n.child : { kind: 'ext', path: rem.slice(1), child: n.child }; + if (path.length === cp) br.value = value; else br.children[path[cp]] = { kind: 'leaf', path: path.slice(cp + 1), value }; + return cp ? { kind: 'ext', path: path.slice(0, cp), child: br } : br; + } + if (path.length === 0) return { ...n, value }; + const children = n.children.slice(); + children[path[0]] = this._put(children[path[0]], path.slice(1), value); + return { kind: 'branch', children, value: n.value }; + } + encode(n) { + if (n.kind === 'leaf') return rlpEncodeRaw([hp(n.path, true), n.value]); + if (n.kind === 'ext') return rlpEncodeRaw([hp(n.path, false), this.ref(n.child)]); + return rlpEncodeRaw([...n.children.map(c => (c ? this.ref(c) : new Uint8Array(0))), n.value || new Uint8Array(0)]); + } + // A child reference: the keccak of its encoding, or the encoding itself (spliced in raw) when shorter than 32 bytes. + ref(n) { const e = this.encode(n); return e.length < 32 ? { __raw: e } : keccak_256(e); } + rootHash() { return this.root ? keccak_256(this.encode(this.root)) : keccak_256(rlpEncode(new Uint8Array(0))); } + // The proof nodes for a key, root first: every hash-referenced node on the path (embedded ones travel inside their parent). + proof(keyBytes) { + const out = []; let n = this.root; let path = nibblesOf(keyBytes); let embedded = false; + while (n) { + const e = this.encode(n); + if (!embedded) out.push(e); + let c; + if (n.kind === 'leaf') break; + if (n.kind === 'ext') { if (common(n.path, path) !== n.path.length) break; path = path.slice(n.path.length); c = n.child; } + else { if (!path.length) break; c = n.children[path[0]]; path = path.slice(1); if (!c) break; } + embedded = this.encode(c).length < 32; n = c; + } + return out; + } +} +// rlpEncode in core.js knows only bytes and lists; this one also splices a {__raw} item in as it is. +export function rlpEncodeRaw(item) { + if (item && item.__raw) return item.__raw; + if (item instanceof Uint8Array) return rlpEncode(item); + const body = concat(item.map(rlpEncodeRaw)); + const n = body.length; + const prefix = n < 56 ? new Uint8Array([0xc0 + n]) : (() => { const bytes = []; let x = n; while (x > 0) { bytes.unshift(x & 0xff); x = Math.floor(x / 256); } return new Uint8Array([0xf7 + bytes.length, ...bytes]); })(); + return concat([prefix, body]); +} + +export const EMPTY_ROOT = '56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421'; +export const encodeAccount = a => rlpEncode([trimBig(a.nonce), trimBig(a.balance), hexToBytes(strip(a.storageRoot)), hexToBytes(strip(a.codeHash))]); + +// ---- RPC plumbing ---------------------------------------------------------------------------------------------- +export const sepolia = defineChain({ id: 0xaa36a7, name: 'Sepolia', nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 }, rpcUrls: { default: { http: [RPC] } } }); +export const publicClient = () => createPublicClient({ chain: sepolia, transport: http(RPC, { timeout: 120_000 }) }); +export function deployerAccount() { + const k = JSON.parse(readFileSync(path.join(process.env.HOME, '.config/igneum/sepolia-deployer'), 'utf8')); + return privateKeyToAccount(k.private_key); +} +export const walletClient = account => createWalletClient({ account, chain: sepolia, transport: http(RPC, { timeout: 120_000 }) }); +export const artifact = name => JSON.parse(readFileSync(path.join(here, 'artifacts', name + '.json'), 'utf8')); +export const deployment = () => JSON.parse(readFileSync(path.join(here, 'deployment.json'), 'utf8')); +export const ukTime = () => new Date().toLocaleTimeString('en-GB', { timeZone: 'Europe/London', hour: '2-digit', minute: '2-digit', second: '2-digit' }); +// The revert reason out of a viem error, or the message's first line. +export function reasonOf(e) { + const m = String(e.shortMessage || e.message || e); + const r = /reason:\s*([^\n]+)/.exec(String(e.message || '')) || /reverted with the following reason:\s*([^\n]+)/.exec(String(e.message || '')); + return r ? r[1].trim() : m.split('\n')[0]; +} + +// ---- a synthetic balance proof: a state trie, a segment record, a coinbase, a merkle path and a two-header path -- +// Everything the contract checks is real; only the aggregator's signature and the certificate are made up, which is +// what the stub verifier accepts. The checkpoint index is 9002 so it never collides with a real certificate (9001 holds an earlier synthetic vector). +export function buildSynthetic(evmChainId = EVM_CHAIN_ID, seed = 0x1a2b3c4d) { + const randomBytes = seeded(seed); + const address = randomBytes(20); + const storage = new Trie(); + const slot1 = new Uint8Array(32); slot1[31] = 1; + const slot5 = new Uint8Array(32); slot5[31] = 5; + const v1 = hexToBytes('abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789'); + storage.put(keccak_256(slot1), rlpEncode(v1)); + storage.put(keccak_256(slot5), rlpEncode(trimBig(42n))); + for (let i = 0; i < 6; i++) storage.put(keccak_256(randomBytes(32)), rlpEncode(trimBig(BigInt(1000 + i)))); + const account = { nonce: 7n, balance: 123456789n * 10n ** 15n, storageRoot: bytesToHex(storage.rootHash()), codeHash: bytesToHex(keccak_256(new Uint8Array(0))) }; + const state = new Trie(); + state.put(keccak_256(address), encodeAccount(account)); + for (let i = 0; i < 9; i++) state.put(keccak_256(randomBytes(20)), encodeAccount({ nonce: BigInt(i), balance: BigInt(i) * 10n ** 18n, storageRoot: EMPTY_ROOT, codeHash: account.codeHash })); + const postRoot = state.rootHash(); + const number = 9_000_027_039n; // far above any Devnet 3 block number, so it never collides with a real record + const blockHash = randomBytes(32); + const record = encodeSegmentRecord({ + version: 2, first: number - 3n, last: number, block: blockHash, pubkey: randomBytes(48), payout: randomBytes(20), + statement: { chain_id: BigInt(evmChainId), number, block_hash: blockHash, parent_hash: randomBytes(32), shard_count: 1, tx_commitment: randomBytes(32), pre_root: randomBytes(32), post_root: postRoot, receipts: randomBytes(32), gas_used: 21000n, pgas_used: 0n, executed: 1, skipped: 0, provers: randomBytes(32), shard_vk: randomBytes(32), agg_vk: randomBytes(32), chain_len: 4n }, + proof_hash: randomBytes(32), signature: randomBytes(96), + }); + const payload = buildCoinbasePayload({ blueScore: 62371n, subsidy: 50000000n, script: hexToBytes('20' + bytesToHex(randomBytes(32)) + 'ac'), minerBytes: te.encode('synthetic'), records: [record], ignf: randomBytes(40) }); + const coinbase = { version: 1, inputs: [], outputs: [{ value: '50000000', scriptPublicKey: '0000' + '20' + bytesToHex(randomBytes(32)) + 'ac' }], lockTime: 0, subnetworkId: '0100000000000000000000000000000000000000', gas: 0, payload: bytesToHex(payload), mass: 0 }; + const cbBytes = serializeCoinbase(coinbase); + const leaf = coinbaseTxHash(coinbase, blake2b); + const leaves = [leaf, randomBytes(32), randomBytes(32)]; + const H = d => blake2b(d, { dkLen: 32, key: te.encode('MerkleBranchHash') }); + const siblings = [leaves[1], H(concat([leaves[2], new Uint8Array(32)]))]; + const merkle = merkleRootFromPath(leaf, 0, siblings, blake2b); + const mk = (merkleRoot, parents, blueScore) => ({ version: 1538, parents_by_level: [parents, parents], hash_merkle_root: bytesToHex(merkleRoot), accepted_id_merkle_root: bytesToHex(randomBytes(32)), utxo_commitment: bytesToHex(randomBytes(32)), timestamp: '1759900000000', bits: 486805716, nonce: '1234567890123', daa_score: '62684', blue_work: '00000000000000000000000000000000000020dfbc77ac31', blue_score: String(blueScore), pruning_point: bytesToHex(randomBytes(32)), vote_key_hash: bytesToHex(randomBytes(32)) }); + const carrier = mk(merkle, [bytesToHex(randomBytes(32))], 62371); carrier.hash = headerHash(carrier, blake2b); + const mid = mk(randomBytes(32), [carrier.hash, bytesToHex(randomBytes(32))], 62372); mid.hash = headerHash(mid, blake2b); + const top = mk(randomBytes(32), [bytesToHex(randomBytes(32)), mid.hash], 62373); top.hash = headerHash(top, blake2b); + return { + kind: 'synthetic', certIndex: 9002n, checkpoint: top.hash, headers: [carrier, mid, top], coinbase, coinbaseBytes: cbBytes, leafIndex: 0, siblings, recordIndex: 0, + number, postRoot, blockHash, address, account, accountProof: state.proof(keccak_256(address)), + slots: [{ slot: slot1, value: v1, proof: storage.proof(keccak_256(slot1)) }, { slot: slot5, value: trimBig(42n), proof: storage.proof(keccak_256(slot5)) }], + absent: (() => { const s = new Uint8Array(32); s[31] = 9; return { slot: s, proof: storage.proof(keccak_256(s)) }; })(), + }; +} + +// ---- contract arguments and the two writes -------------------------------------------------------------------- +export function proofArgs(v) { + return [v.certIndex, v.headers.map(h => hex0x(serializeHeader(h))), hex0x(v.coinbaseBytes), BigInt(v.leafIndex), v.siblings.map(hex0x), BigInt(v.recordIndex)]; +} +// Appends a write to deployment.json so every transaction is on record. +export function recordWrite(entry) { + const p = path.join(here, 'deployment.json'); + const d = JSON.parse(readFileSync(p, 'utf8')); + d.writes = d.writes || []; + d.writes.push({ at: new Date().toISOString(), ...entry }); + writeFileSync(p, JSON.stringify(d, null, 1) + '\n'); +} +// The public RPC is a pool of nodes; a read right after a receipt can land on one that lags. Poll until it agrees. +// Never send while one of our transactions is still pending, then read the pre-check again: a stale read on a +// lagging node must not turn into a second, identical submission (seen once on 8 October 2026, nonces 8 and 9). +async function quietMempool(pub, address) { + await untilVisible(async () => (await pub.getTransactionCount({ address, blockTag: 'pending' })) === (await pub.getTransactionCount({ address, blockTag: 'latest' })), 'an empty mempool for the deployer'); +} +async function untilVisible(check, what) { + for (let i = 0; i < 30; i++) { if (await check()) return; await new Promise(r => setTimeout(r, 1000)); } + throw new Error(what + ' is not visible on the RPC 30 s after its receipt'); +} +export async function ensureCertificate(pub, wallet, d, index, checkpoint, bitmap = '0x', signature = '0x') { + const stubAbi = artifact('StubCertificateVerifier').abi; + const verifierAddr = await pub.readContract({ address: d.oracle.address, abi: artifact('IgneumStateOracle').abi, functionName: 'verifier' }); + const same = async () => (await pub.readContract({ address: verifierAddr, abi: stubAbi, functionName: 'finalCheckpoint', args: [index] })).toLowerCase() === checkpoint.toLowerCase(); + if (await same()) return { verifier: verifierAddr, already: true }; + await quietMempool(pub, wallet.account.address); + if (await same()) return { verifier: verifierAddr, already: true }; + const hash = await wallet.writeContract({ address: verifierAddr, abi: stubAbi, functionName: 'submitCertificate', args: [index, checkpoint, bitmap, signature] }); + const r = await pub.waitForTransactionReceipt({ hash, timeout: 180_000 }); + if (r.status !== 'success') throw new Error('submitCertificate reverted in ' + hash); + await untilVisible(same, 'certificate ' + index); + const out = { verifier: verifierAddr, tx: hash, block: Number(r.blockNumber), gasUsed: Number(r.gasUsed) }; + recordWrite({ what: 'submitCertificate', index: String(index), checkpoint, ...out }); + return out; +} +export async function ensureStateRoot(pub, wallet, d, v) { + const abi = artifact('IgneumStateOracle').abi; + const stored = async () => { try { const [root] = await pub.readContract({ address: d.oracle.address, abi, functionName: 'stateRoot', args: [v.number] }); return root.toLowerCase() === hex0x(v.postRoot).toLowerCase(); } catch { return false; } }; + if (await stored()) return { already: true }; + await quietMempool(pub, wallet.account.address); + if (await stored()) return { already: true }; + const args = proofArgs(v); + const gas = await pub.estimateContractGas({ address: d.oracle.address, abi, functionName: 'submitStateRoot', args, account: wallet.account }); + const hash = await wallet.writeContract({ address: d.oracle.address, abi, functionName: 'submitStateRoot', args, gas: gas + gas / 5n }); + const r = await pub.waitForTransactionReceipt({ hash, timeout: 180_000 }); + if (r.status !== 'success') throw new Error('submitStateRoot reverted in ' + hash); + await untilVisible(async () => { try { const [root] = await pub.readContract({ address: d.oracle.address, abi, functionName: 'stateRoot', args: [v.number] }); return root.toLowerCase() === hex0x(v.postRoot).toLowerCase(); } catch { return false; } }, 'state root ' + v.number); + const out = { tx: hash, block: Number(r.blockNumber), gasUsed: Number(r.gasUsed), calldataBytes: args[1].reduce((a, h) => a + (h.length - 2) / 2, 0) + (args[2].length - 2) / 2, headers: args[1].length }; + recordWrite({ what: 'submitStateRoot', vector: v.kind, number: String(v.number), postRoot: hex0x(v.postRoot), certIndex: String(v.certIndex), ...out }); + return out; +} + +// ---- the balance fixture (the light service's /balance body, with the certificate beside it) ------------------- +// Accepts the flat /balance body, or {proof, certificate} / {balance, checkpoint} wrappers; the certificate's bitmap +// and signature come from the fixture when present, else from dn3-checkpoint.json when its index matches. +export function vectorFromBalanceFixture(fx) { + const p = fx.proof || fx.balance || fx; + let cert = fx.certificate || (p.checkpoint && p.checkpoint.certificate) || fx.checkpoint_certificate || null; + if (!cert) { try { const c = JSON.parse(readFileSync(path.join(fixtures, 'dn3-checkpoint.json'), 'utf8')); if (Number(c.index) === Number(p.checkpoint.index)) cert = c; } catch {} } + const c = cert && cert.certificate ? cert.certificate : cert || {}; + const records = segmentRecordsOf(hexToBytes(strip(p.carrier.coinbase.payload))); + const recordIndex = records.findIndex(r => bytesToHex(r.bytes) === strip(p.segment_record_hex)); + if (recordIndex < 0) throw new Error('the carrier coinbase carries ' + records.length + ' record(s), none is segment_record_hex'); + const st = records[recordIndex].statement; + const acct = p.account; + return { + kind: 'devnet-3', certIndex: BigInt(p.checkpoint.index), checkpoint: strip(p.checkpoint.hash), headers: p.headers, + bitmap: c.bitmap_hex ? '0x' + strip(c.bitmap_hex) : '0x', signature: c.aggregate_signature_hex ? '0x' + strip(c.aggregate_signature_hex) : '0x', + coinbase: p.carrier.coinbase, coinbaseBytes: serializeCoinbase(p.carrier.coinbase, p.carrier.amount_wire_len || 8), + leafIndex: Number(p.carrier.leaf_index), siblings: p.carrier.merkle_siblings.map(x => hexToBytes(strip(x))), recordIndex, + number: st.number, postRoot: hexToBytes(st.post_root), blockHash: hexToBytes(st.block_hash), evmChainId: Number(st.chain_id), + address: hexToBytes(strip(p.address)), balance: BigInt(acct.balance), nonce: BigInt(acct.nonce || 0), accountProof: acct.accountProof.map(x => hexToBytes(strip(x))), + reportedStateRoot: acct.stateRoot ? strip(acct.stateRoot) : null, reportedBlock: acct.blockNumber != null ? Number(acct.blockNumber) : null, + storageProofs: (acct.storageProof || []).map(sp => ({ slot: hexToBytes(strip(sp.key).padStart(64, '0')), value: BigInt(sp.value), proof: sp.proof.map(x => hexToBytes(strip(x))) })), + }; +} + diff --git a/tools/reference-apps/oracle/package-lock.json b/tools/reference-apps/oracle/package-lock.json new file mode 100644 index 000000000..bdd12819a --- /dev/null +++ b/tools/reference-apps/oracle/package-lock.json @@ -0,0 +1,381 @@ +{ + "name": "igneum-state-oracle", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "igneum-state-oracle", + "version": "0.1.0", + "dependencies": { + "@noble/hashes": "2.4.0", + "solc": "0.8.28", + "viem": "^2.21.0" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", + "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", + "license": "MIT" + }, + "node_modules/@noble/ciphers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", + "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.4.0.tgz", + "integrity": "sha512-X5XaVWZIBCT7HHZGm5I7ZQXDwLG+bGXuSrMQAW+7Zvl87h1kmc1ZB1VSRJcpUfoUrGQp4Fkoxm5kZ+Ms+aW+eA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/base": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", + "integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/abitype": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.3.tgz", + "integrity": "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3.22.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/follow-redirects": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz", + "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/isows": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz", + "integrity": "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "license": "MIT" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ox": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.14.54.tgz", + "integrity": "sha512-52PGH6ldJmWY9+iy/TBSJUsCSy5NmLvkVBYTINmO8srsjRrCmCdO575kGizmZ1jpNQ1gnlpVwiciIpU37fcULA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.11.0", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "1.9.1", + "@noble/hashes": "^1.8.0", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "abitype": "^1.2.3", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/ox/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solc": { + "version": "0.8.28", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.28.tgz", + "integrity": "sha512-AFCiJ+b4RosyyNhnfdVH4ZR1+TxiL91iluPjw0EJslIu4LXGM9NYqi2z5y8TqochC4tcH9QsHfwWhOIC9jPDKA==", + "license": "MIT", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "^8.1.0", + "follow-redirects": "^1.12.1", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solc.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/viem": { + "version": "2.57.4", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.57.4.tgz", + "integrity": "sha512-ro+8AKrcGU6tPfou0gBRYv6bxnU3tPxxJGY4qpJwjiR40eHCWzeGhrAgYMlIncFtlnry2/yGjz57WOC67oshCQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.9.1", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0", + "abitype": "1.2.3", + "isows": "1.0.7", + "ox": "0.14.54", + "ws": "8.21.0" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/viem/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ws": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + } + } +} diff --git a/tools/reference-apps/oracle/package.json b/tools/reference-apps/oracle/package.json new file mode 100644 index 000000000..1f91a53ad --- /dev/null +++ b/tools/reference-apps/oracle/package.json @@ -0,0 +1,9 @@ +{ + "name": "igneum-state-oracle", + "version": "0.1.0", + "private": true, + "type": "module", + "description": "Igneum reference apps: the Devnet 3 state oracle on Sepolia (contracts, deploy, demo, tests)", + "scripts": { "compile": "node compile.mjs", "deploy": "node deploy.mjs", "demo": "node demo.mjs", "test": "node test.mjs" }, + "dependencies": { "@noble/hashes": "2.4.0", "solc": "0.8.28", "viem": "^2.21.0" } +} diff --git a/tools/reference-apps/oracle/test.mjs b/tools/reference-apps/oracle/test.mjs new file mode 100644 index 000000000..9cf817399 --- /dev/null +++ b/tools/reference-apps/oracle/test.mjs @@ -0,0 +1,129 @@ +// The oracle's tests against Sepolia. Every negative runs through eth_call (no gas). The only transactions are the +// one-time stub certificate for the synthetic vector and its submitStateRoot, skipped when already on chain. +// Part A: the receipt fixture (real Devnet 3 headers, a real merkle path with an EVM transaction leaf) +// Part B: the synthetic vector (segment record, coinbase, two-header path, MPT account and storage proofs) +// Part C: the balance fixture when it exists (real segment record and eth_getProof) +import { readFileSync, existsSync } from 'node:fs'; +import * as L from './lib.mjs'; + +const d = L.deployment(); +const pub = L.publicClient(); +const abi = L.artifact('IgneumStateOracle').abi; +const oracle = d.oracle.address; +const read = (functionName, args) => pub.readContract({ address: oracle, abi, functionName, args }); +let pass = 0, fail = 0; +const ok = (name, cond, detail = '') => { cond ? pass++ : fail++; console.log((cond ? 'PASS ' : 'FAIL ') + name + (detail ? ' (' + detail + ')' : '')); }; +async function expectRevert(name, fn, want) { + try { await fn(); ok(name, false, 'did not revert'); } + catch (e) { const r = L.reasonOf(e); ok(name, !want || r.includes(want), 'reverted: ' + r); } +} +const clone = x => JSON.parse(JSON.stringify(x)); +const flipByte = (hex, i) => { const b = L.hexToBytes(L.strip(hex)); b[i] ^= 0x01; return L.hex0x(b); }; +console.log(L.ukTime(), 'UK oracle', oracle, 'verifier', await read('verifier')); + +// ---- Part A: the receipt fixture -------------------------------------------------------------------------------- +const f = JSON.parse(readFileSync(L.fixtures + '/dn3-receipt.json')); +const H = f.headers.map(h => L.hex0x(L.serializeHeader(h))); +const cp = '0x' + L.strip(f.checkpoint.hash); +{ + let same = 0; + for (let i = 0; i < H.length; i += 8) { + const got = await Promise.all(H.slice(i, i + 8).map(h => read('headerHash', [h]))); + got.forEach((g, k) => { if (L.strip(g) === f.headers[i + k].hash) same++; }); + } + ok('A1 headerHash on chain matches all fixture headers', same === H.length, same + ' of ' + H.length); + const [carrier, merkle] = await read('checkHeaderPath', [H, cp]); + ok('A2 checkHeaderPath accepts the 62-header path to checkpoint ' + f.checkpoint.index, L.strip(carrier) === f.headers[0].hash && L.strip(merkle) === f.headers[0].hash_merkle_root); + console.log(' gas estimate for the view', await pub.estimateContractGas({ address: oracle, abi, functionName: 'checkHeaderPath', args: [H, cp], account: d.deployer })); + await expectRevert('A3 a header removed from the path', () => read('checkHeaderPath', [H.filter((_, i) => i !== 30), cp]), 'does not name the previous one'); + const altered = clone(f.headers[5]); altered.nonce = String(BigInt(altered.nonce) + 1n); + await expectRevert('A4 a header with its nonce altered', () => read('checkHeaderPath', [H.map((h, i) => (i === 5 ? L.hex0x(L.serializeHeader(altered)) : h)), cp]), 'does not name the previous one'); + await expectRevert('A5 the right path to the wrong checkpoint', () => read('checkHeaderPath', [H, flipByte(cp, 0)]), 'not the certified checkpoint'); + await expectRevert('A6 the path reversed', () => read('checkHeaderPath', [H.slice().reverse(), cp]), 'does not name the previous one'); + const ib = f.including_block; const sib = ib.merkle_siblings.map(s => '0x' + s); + const root = await read('merkleRoot', ['0x' + f.tx_hash, BigInt(ib.leaf_index), sib]); + ok('A7 merkleRoot reaches hash_merkle_root (leaf ' + ib.leaf_index + ' of ' + ib.leaf_count + ')', L.strip(root) === f.headers[0].hash_merkle_root); + const root2 = await read('merkleRoot', ['0x' + f.tx_hash, BigInt(ib.leaf_index), sib.map((s, i) => (i === 2 ? flipByte(s, 3) : s))]); + ok('A8 a sibling altered gives another root', L.strip(root2) !== f.headers[0].hash_merkle_root); + const root3 = await read('merkleRoot', ['0x' + f.tx_hash, BigInt(ib.leaf_index ^ 1), sib]); + ok('A9 the wrong leaf index gives another root', L.strip(root3) !== f.headers[0].hash_merkle_root); + await expectRevert('A10 a leaf index beyond the path', () => read('merkleRoot', ['0x' + f.tx_hash, 1n << 40n, sib]), 'beyond the path'); + ok('A11 keccak of the raw transaction is the leaf', L.bytesToHex(L.keccak_256(L.hexToBytes(f.raw_tx_hex))) === f.tx_hash); +} + +// ---- Part B: the synthetic vector ----------------------------------------------------------------------------- +const S = L.buildSynthetic(); +const wallet = L.walletClient(L.deployerAccount()); +{ + const c = await L.ensureCertificate(pub, wallet, d, S.certIndex, L.hex0x(L.hexToBytes(S.checkpoint))); + console.log(' stub certificate', S.certIndex, c.already ? 'already recorded' : 'recorded in ' + c.tx + ' block ' + c.block + ' gas ' + c.gasUsed); + const args = L.proofArgs(S); + const [number, postRoot, blockHash] = await read('verifyStateRoot', args); + ok('B1 verifyStateRoot accepts the synthetic proof', number === S.number && L.strip(postRoot) === L.bytesToHex(S.postRoot) && L.strip(blockHash) === L.bytesToHex(S.blockHash), 'block ' + number + ' post_root ' + postRoot.slice(0, 14)); + console.log(' gas estimate for the view', await pub.estimateContractGas({ address: oracle, abi, functionName: 'verifyStateRoot', args, account: d.deployer })); + const withArgs = (patch) => { const a = args.slice(); patch(a); return read('verifyStateRoot', a); }; + await expectRevert('B2 a certificate index the verifier does not hold', () => withArgs(a => { a[0] = 9999n; }), 'no certificate'); + await expectRevert('B3 the middle header removed', () => withArgs(a => { a[1] = [a[1][0], a[1][2]]; }), 'does not name the previous one'); + const carrierAltered = clone(S.headers[0]); carrierAltered.nonce = '1'; + await expectRevert('B4 the carrier header with its nonce altered', () => withArgs(a => { a[1] = [L.hex0x(L.serializeHeader(carrierAltered)), a[1][1], a[1][2]]; }), 'does not name the previous one'); + const topAltered = clone(S.headers[2]); topAltered.timestamp = String(BigInt(topAltered.timestamp) + 1n); + await expectRevert('B5 the checkpoint header altered', () => withArgs(a => { a[1] = [a[1][0], a[1][1], L.hex0x(L.serializeHeader(topAltered))]; }), 'not the certified checkpoint'); + await expectRevert('B6 a merkle sibling altered', () => withArgs(a => { a[4] = [flipByte(a[4][0], 0), a[4][1]]; }), 'hash_merkle_root'); + await expectRevert('B7 the wrong leaf index', () => withArgs(a => { a[3] = 1n; }), 'hash_merkle_root'); + const cb = L.hexToBytes(L.strip(args[2])); + const postRootOff = (() => { const want = L.bytesToHex(S.postRoot); const h = L.bytesToHex(cb); return h.indexOf(want) / 2; })(); + const tampered = cb.slice(); tampered[postRootOff + 5] ^= 0xff; + await expectRevert('B8 the record\'s post_root altered inside the coinbase (offset ' + postRootOff + ')', () => withArgs(a => { a[2] = L.hex0x(tampered); }), 'hash_merkle_root'); + await expectRevert('B9 a record index beyond the IGNS section', () => withArgs(a => { a[5] = 1n; }), 'beyond the section'); + const tamperedNumber = cb.slice(); tamperedNumber[postRootOff - 148 + 8 + 7] ^= 0x01; + await expectRevert('B10 the statement number altered', () => withArgs(a => { a[2] = L.hex0x(tamperedNumber); }), 'hash_merkle_root'); + const r = await L.ensureStateRoot(pub, wallet, d, S); + console.log(' synthetic root for block', S.number, r.already ? 'already stored' : 'stored in ' + r.tx + ' block ' + r.block + ' gas ' + r.gasUsed + ' calldata ' + r.calldataBytes + ' bytes'); + const [root, bh, carrier, certIndex] = await read('stateRoot', [S.number]); + ok('B11 stateRoot stored', L.strip(root) === L.bytesToHex(S.postRoot) && certIndex === S.certIndex && L.strip(carrier) === S.headers[0].hash); + const addr = L.hex0x(S.address); const ap = S.accountProof.map(L.hex0x); + const bal = await read('provenBalance', [S.number, addr, ap]); + ok('B12 provenBalance returns the trie balance', bal === S.account.balance, bal + ' wei'); + console.log(' gas estimate for provenBalance', await pub.estimateContractGas({ address: oracle, abi, functionName: 'provenBalance', args: [S.number, addr, ap], account: d.deployer })); + const acct = await read('provenAccount', [S.number, addr, ap]); + ok('B13 provenAccount nonce, storage root and code hash', acct[0] === true && acct[1] === 7n && L.strip(acct[3]) === S.account.storageRoot && L.strip(acct[4]) === S.account.codeHash); + for (const s of S.slots) { + const v = await read('provenStorage', [S.number, addr, L.hex0x(s.slot), ap, s.proof.map(L.hex0x)]); + ok('B14 provenStorage slot ' + s.slot[31], L.strip(v).replace(/^0+/, '') === L.bytesToHex(s.value).replace(/^0+/, ''), v); + } + const absent = await read('provenStorage', [S.number, addr, L.hex0x(S.absent.slot), ap, S.absent.proof.map(L.hex0x)]); + ok('B15 provenStorage of an unset slot reads zero (exclusion proof)', BigInt(absent) === 0n); + await expectRevert('B16 a flipped byte in the account proof\'s last node', () => read('provenBalance', [S.number, addr, ap.map((n, i) => (i === ap.length - 1 ? flipByte(n, 10) : n))]), 'mpt'); + await expectRevert('B17 a flipped byte in the root node', () => read('provenBalance', [S.number, addr, ap.map((n, i) => (i === 0 ? flipByte(n, 40) : n))]), 'not the root'); + await expectRevert('B18 the wrong block number', () => read('provenBalance', [S.number + 1n, addr, ap]), 'no proven root'); + await expectRevert('B19 the proof with its nodes reordered', () => read('provenBalance', [S.number, addr, ap.slice().reverse()]), 'not the root'); + await expectRevert('B20 a storage proof with a flipped node', () => read('provenStorage', [S.number, addr, L.hex0x(S.slots[0].slot), ap, S.slots[0].proof.map((n, i) => (i === 1 ? flipByte(L.hex0x(n), 5) : L.hex0x(n)))]), 'mpt'); + await expectRevert('B21 the account proof used as a storage proof', () => read('provenStorage', [S.number, addr, L.hex0x(S.slots[0].slot), ap, ap]), 'not the root'); + const other = L.hex0x(L.seeded(99)(20)); + await expectRevert('B22 another address under this account proof', () => read('provenBalance', [S.number, other, ap]), 'mpt'); +} + +// ---- Part C: the balance fixture ------------------------------------------------------------------------------ +if (existsSync(L.fixtures + '/dn3-balance.json')) { + const V = L.vectorFromBalanceFixture(JSON.parse(readFileSync(L.fixtures + '/dn3-balance.json'))); + const c = await L.ensureCertificate(pub, wallet, d, V.certIndex, L.hex0x(L.hexToBytes(V.checkpoint)), V.bitmap, V.signature); + console.log(' certificate', V.certIndex, c.already ? 'already recorded' : 'recorded in ' + c.tx); + const args = L.proofArgs(V); + const [number, postRoot] = await read('verifyStateRoot', args); + ok('C1 verifyStateRoot accepts the real Devnet 3 proof', number === V.number && L.strip(postRoot) === L.bytesToHex(V.postRoot), 'block ' + number); + const r = await L.ensureStateRoot(pub, wallet, d, V); + console.log(' real root for block', V.number, r.already ? 'already stored' : 'stored in ' + r.tx + ' gas ' + r.gasUsed); + const bal = await read('provenBalance', [V.number, L.hex0x(V.address), V.accountProof.map(L.hex0x)]); + ok('C2 provenBalance equals the node\'s eth_getProof balance', bal === V.balance, bal + ' wei'); + await expectRevert('C3 a flipped byte in the real account proof', () => read('provenBalance', [V.number, L.hex0x(V.address), V.accountProof.map((n, i) => (i === V.accountProof.length - 1 ? flipByte(L.hex0x(n), 10) : L.hex0x(n)))]), 'mpt'); + const realAltered = clone(V.headers[0]); realAltered.nonce = String(BigInt(realAltered.nonce) + 1n); + await expectRevert('C4 the real carrier header with its nonce altered', () => read('verifyStateRoot', [args[0], [L.hex0x(L.serializeHeader(realAltered)), ...args[1].slice(1)], ...args.slice(2)]), V.headers.length === 1 ? 'not the certified checkpoint' : 'does not name'); + await expectRevert('C5 the real path emptied', () => read('verifyStateRoot', [args[0], [], ...args.slice(2)]), 'headers: none'); + await expectRevert('C6 the real certificate index off by one', () => read('verifyStateRoot', [args[0] + 1n, ...args.slice(1)]), 'no certificate'); + const cbReal = L.hexToBytes(L.strip(args[2])); const off = L.bytesToHex(cbReal).indexOf(L.bytesToHex(V.postRoot)) / 2; cbReal[off + 3] ^= 0x80; + await expectRevert('C7 the real record\'s post_root altered inside the coinbase (offset ' + off + ')', () => read('verifyStateRoot', [...args.slice(0, 2), L.hex0x(cbReal), ...args.slice(3)]), 'hash_merkle_root'); +} else { + console.log(' Part C skipped: fixtures/dn3-balance.json is not there yet'); +} +console.log(L.ukTime(), 'UK', pass, 'passed,', fail, 'failed'); +process.exit(fail ? 1 : 0); diff --git a/tools/reference-apps/receipt/bundle.sh b/tools/reference-apps/receipt/bundle.sh new file mode 100644 index 000000000..c0b937ce3 --- /dev/null +++ b/tools/reference-apps/receipt/bundle.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# Bundles the offline receipt verifier into one plain-JavaScript file (site/lc/verify-receipt.js) with esbuild: the +# noble libraries inlined, Node built-ins external, no npm at run time. Runs on the build box (nothing heavy on the Mac): +# tools/reference-apps/receipt/bundle.sh from the worktree root; needs node and npx (esbuild is fetched by npx) +# The bundle is committed beside the pages: the site deploys from site/ alone and installs nothing. +set -euo pipefail +cd "$(git rev-parse --show-toplevel)" +SRC=tools/reference-apps/receipt/verify-receipt.src.mjs +OUT=site/lc/verify-receipt.js +mkdir -p site/lc +( cd tools/reference-apps/light-service && [ -d node_modules/@noble/curves ] || npm install --no-audit --no-fund >/dev/null ) +NODE_PATH=tools/reference-apps/light-service/node_modules npx --yes esbuild@0.24.2 "$SRC" --bundle --platform=node --format=cjs --target=node18 --legal-comments=inline \ + --banner:js="#!/usr/bin/env node +// Igneum payment receipt verifier, one file, offline. Source: tools/reference-apps/receipt/verify-receipt.src.mjs and site/lc/core.js +// (the same checks the browser page runs), bundled with @noble/hashes 2.4.0 and @noble/curves 2.4.0 (MIT). Usage: node verify-receipt.js receipt.json [--tamper]" \ + --outfile="$OUT" +chmod +x "$OUT" +echo "bundled $OUT: $(wc -c < "$OUT") bytes, sha256 $(sha256sum "$OUT" | cut -c1-16)" diff --git a/tools/reference-apps/receipt/verify-receipt.src.mjs b/tools/reference-apps/receipt/verify-receipt.src.mjs new file mode 100644 index 000000000..8fa27569d --- /dev/null +++ b/tools/reference-apps/receipt/verify-receipt.src.mjs @@ -0,0 +1,33 @@ +// Igneum payment receipt, the offline verifier (8 October 2026). This is the SOURCE; the one-file build at +// site/lc/verify-receipt.js bundles it with @noble/hashes (BLAKE2b, keccak) and @noble/curves (BLS12-381) so the +// shipped file needs no npm and no network: `node verify-receipt.js receipt.json [--tamper]`. Build: bundle.sh (esbuild +// on the build box). The checks are site/lc/core.js, the same file the browser page runs. +import { readFileSync } from 'node:fs'; +import { blake2b } from '@noble/hashes/blake2.js'; +import { keccak_256 } from '@noble/hashes/sha3.js'; +import { bls12_381 } from '@noble/curves/bls12-381.js'; +import { verifyReceipt, formatIgn } from '../../../site/lc/core.js'; + +const args = process.argv.slice(2); +const file = args.find(a => !a.startsWith('--')); +if (!file) { console.error('usage: node verify-receipt.js receipt.json [--tamper] (Igneum receipt, format igneum-receipt-v1; verifies offline)'); process.exit(2); } +const receipt = JSON.parse(readFileSync(file, 'utf8')); +if (receipt.format !== 'igneum-receipt-v1') { console.error(`REFUSED: not an igneum-receipt-v1 file (format ${receipt.format})`); process.exit(1); } +const deps = { blake2b, bls: bls12_381, keccak: keccak_256 }; +const print = r => { for (const s of r.steps) console.log(` ${s.ok ? 'ok ' : 'REFUSED'} ${s.name}\n ${s.detail}`); }; + +if (args.includes('--tamper')) { + // the known-failed case first: the same file with one nibble of the raw transaction altered must be refused + const bad = JSON.parse(JSON.stringify(receipt)); + const h = bad.raw_tx_hex; const i = 40; bad.raw_tx_hex = h.slice(0, i) + (parseInt(h[i], 16) ^ 1).toString(16) + h.slice(i + 1); + const t = verifyReceipt(bad, deps); + console.log(`tampered copy (one nibble of the raw transaction): ${t.verified ? 'NOT REFUSED, this verifier is broken' : 'REFUSED'}${t.reason ? ' :: ' + t.reason : ''}`); + if (t.verified) process.exit(1); +} +const r = verifyReceipt(receipt, deps); +console.log(`receipt 0x${receipt.tx_hash} on ${receipt.chain_id} (Devnet 3, no value)`); +print(r); +if (!r.verified) { console.log(`REFUSED: ${r.reason}`); process.exit(1); } +const t = r.tx; +console.log(`VERIFIED in ${r.ms} ms: ${formatIgn(t.value)} IGN to ${t.to || 'contract creation'} (${t.value} wei), in block ${r.block.slice(0, 16)} at DAA ${r.block_daa} (${new Date(Number(r.block_time)).toISOString()}), final under checkpoint ${r.checkpoint}; ${r.headers} headers checked; ${r.certificate}.`); +console.log('As reported by the node, not proven by this file: from ' + (receipt.tx_as_reported && receipt.tx_as_reported.from) + (receipt.execution ? `, execution status ${receipt.execution.status === '0x1' ? 'success' : 'failed'}` : '') + '. The voter table with weights came from the node (spec 10.1).');