@secondlayer/subgraphs 6.6.0 → 6.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/runtime/replay.js +3 -3
- package/dist/runtime/replay.js.map +1 -1
- package/dist/schema/index.js +3 -3
- package/dist/schema/index.js.map +1 -1
- package/dist/testing/index.js +22 -14
- package/dist/testing/index.js.map +3 -3
- package/dist/verification.js +3 -3
- package/dist/verification.js.map +1 -1
- package/dist/verify/index.js +22 -14
- package/dist/verify/index.js.map +4 -4
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -787,7 +787,7 @@ import { createHash } from "node:crypto";
|
|
|
787
787
|
// package.json
|
|
788
788
|
var package_default = {
|
|
789
789
|
name: "@secondlayer/subgraphs",
|
|
790
|
-
version: "6.6.
|
|
790
|
+
version: "6.6.2",
|
|
791
791
|
description: "Describe the Stacks data you want as one TypeScript file; it fills itself and survives reorgs.",
|
|
792
792
|
license: "MIT",
|
|
793
793
|
repository: {
|
|
@@ -848,7 +848,7 @@ var package_default = {
|
|
|
848
848
|
dependencies: {
|
|
849
849
|
"@secondlayer/shared": "^11.24.0",
|
|
850
850
|
"@secondlayer/stacks": "^6.2.0",
|
|
851
|
-
"@secondlayer/verify": "^0.
|
|
851
|
+
"@secondlayer/verify": "^0.4.0",
|
|
852
852
|
esbuild: "^0.28.2",
|
|
853
853
|
kysely: "0.28.17",
|
|
854
854
|
zod: "^4.3.6"
|
|
@@ -2948,5 +2948,5 @@ export {
|
|
|
2948
2948
|
validateSubgraphDefinition
|
|
2949
2949
|
};
|
|
2950
2950
|
|
|
2951
|
-
//# debugId=
|
|
2951
|
+
//# debugId=E400AFA8DC9FF96564756E2164756E21
|
|
2952
2952
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -22,6 +22,6 @@
|
|
|
22
22
|
"import type { Block, Event, Transaction } from \"@secondlayer/shared/db\";\nimport type {\n\tIndexBlockRow,\n\tIndexEventRow,\n\tIndexTransactionRow,\n} from \"@secondlayer/shared/index-http\";\nimport { vmEventId } from \"./batch-loader.ts\";\n\nexport type {\n\tIndexBlockRow,\n\tIndexEventRow,\n\tIndexTransactionRow,\n} from \"@secondlayer/shared/index-http\";\n\n/**\n * Reconstruct the raw `blocks`/`events` row shapes the subgraph runtime expects\n * (the shapes `matchSources` + the handler runner read) from the decoded,\n * flattened rows the public Index API serves. This is what lets\n * `PublicApiBlockSource` feed the EXISTING pipeline byte-identically to the\n * Postgres tap.\n *\n * Two shape gaps the Index API can't avoid, handled here:\n * - Index event rows are flat (`event_type: \"ft_transfer\"`, columns\n * `sender`/`amount`/…); the runtime expects the node's nested `data` keyed by\n * a suffixed `type` (`ft_transfer_event`), with print under `contract_event`.\n * - nft/print Clarity values: the runtime decodes from the canonical hex\n * (`raw_value`), so we place the Index hex there. (The node's verbose\n * serde-tagged `value`, e.g. `{UInt:223}`, is not reproducible from hex and\n * is no longer read — see the nft tokenId normalization in runner.ts.)\n */\n\n/** ISO `block_time` (or null) → unix-seconds integer the runtime expects. */\nfunction isoToUnixSeconds(iso: string | null): number {\n\tif (!iso) return 0;\n\treturn Math.floor(new Date(iso).getTime() / 1000);\n}\n\nexport function reconstructBlock(b: IndexBlockRow): Block {\n\treturn {\n\t\theight: b.block_height,\n\t\thash: b.block_hash,\n\t\tparent_hash: b.parent_hash,\n\t\tburn_block_height: b.burn_block_height,\n\t\tburn_block_hash: b.burn_block_hash,\n\t\t// Present since the blocks endpoint started serving it; older API\n\t\t// deployments omit it, and a null propagates to a clean refusal in\n\t\t// `ctx.client.readOnly` rather than an unpinned tip read.\n\t\tindex_block_hash: b.index_block_hash ?? null,\n\t\ttimestamp: isoToUnixSeconds(b.block_time),\n\t\t// Index serves canonical rows only.\n\t\tcanonical: true,\n\t\tcreated_at: new Date(0),\n\t} as Block;\n}\n\nexport function reconstructTransaction(t: IndexTransactionRow): Transaction {\n\treturn {\n\t\ttx_id: t.tx_id,\n\t\tblock_height: t.block_height,\n\t\ttx_index: t.tx_index,\n\t\ttype: t.tx_type,\n\t\tsender: t.sender,\n\t\tstatus: t.status,\n\t\tcontract_id:\n\t\t\tt.contract_call?.contract_id ?? t.smart_contract?.contract_id ?? null,\n\t\tfunction_name: t.contract_call?.function_name ?? null,\n\t\t// Raw hex ClarityValues — the runner decodes them via its own deserializeCV\n\t\t// path, identical to the DB tap.\n\t\tfunction_args: t.contract_call?.function_args_hex ?? [],\n\t\traw_result: t.contract_call?.result_hex ?? null,\n\t\traw_tx: \"\",\n\t\tcreated_at: new Date(0),\n\t} as Transaction;\n}\n\n/**\n * Build a minimal canonical Transaction from an event row's joined tx context\n * (`tx_context=true` on /v1/index/events). For event-only subgraphs this lets\n * the loader materialize only the txs that actually carry a matched event,\n * instead of draining every transaction in the range (the ~37x reindex\n * over-fetch — see docs/sprints/indexing-speed/plan.md). `function_args` /\n * `raw_result` are empty: an event source never reads them (contract_call-only).\n */\nexport function reconstructTxFromEventRow(e: IndexEventRow): Transaction {\n\treturn {\n\t\ttx_id: e.tx_id,\n\t\tblock_height: e.block_height,\n\t\ttx_index: e.tx_index ?? 0,\n\t\ttype: e.tx_type ?? \"\",\n\t\tsender: e.tx_sender ?? \"\",\n\t\tstatus: e.tx_status ?? \"success\",\n\t\tcontract_id: e.tx_contract_id ?? null,\n\t\tfunction_name: e.tx_function_name ?? null,\n\t\tfunction_args: [],\n\t\traw_result: null,\n\t\traw_tx: \"\",\n\t\tcreated_at: new Date(0),\n\t} as Transaction;\n}\n\nexport function reconstructEvent(e: IndexEventRow): Event {\n\tconst base = {\n\t\t// Synthetic, deterministic id. The runtime only reads `id` for error logs\n\t\t// and the `*`-wildcard payload (which is streams-index-ineligible).\n\t\tid: `${e.tx_id}#${e.event_index}`,\n\t\ttx_id: e.tx_id,\n\t\tblock_height: e.block_height,\n\t\tevent_index: e.event_index,\n\t\tcreated_at: new Date(0),\n\t};\n\n\tswitch (e.event_type) {\n\t\tcase \"ft_transfer\":\n\t\tcase \"ft_mint\":\n\t\tcase \"ft_burn\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: `${e.event_type}_event`,\n\t\t\t\tdata: {\n\t\t\t\t\tasset_identifier: e.asset_identifier,\n\t\t\t\t\tsender: e.sender,\n\t\t\t\t\trecipient: e.recipient,\n\t\t\t\t\tamount: e.amount,\n\t\t\t\t},\n\t\t\t} as Event;\n\n\t\tcase \"nft_transfer\":\n\t\tcase \"nft_mint\":\n\t\tcase \"nft_burn\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: `${e.event_type}_event`,\n\t\t\t\tdata: {\n\t\t\t\t\tasset_identifier: e.asset_identifier,\n\t\t\t\t\tsender: e.sender,\n\t\t\t\t\trecipient: e.recipient,\n\t\t\t\t\t// Canonical hex → runner decodes tokenId from raw_value.\n\t\t\t\t\traw_value: e.value,\n\t\t\t\t},\n\t\t\t} as Event;\n\n\t\tcase \"stx_transfer\":\n\t\tcase \"stx_mint\":\n\t\tcase \"stx_burn\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: `${e.event_type}_event`,\n\t\t\t\tdata: {\n\t\t\t\t\tsender: e.sender,\n\t\t\t\t\trecipient: e.recipient,\n\t\t\t\t\tamount: e.amount,\n\t\t\t\t\t// Raw stx_transfer always carries memo (\"\" when empty); Index\n\t\t\t\t\t// returns null for empty — default to \"\" to match the DB tap.\n\t\t\t\t\t...(e.event_type === \"stx_transfer\" ? { memo: e.memo ?? \"\" } : {}),\n\t\t\t\t},\n\t\t\t} as Event;\n\n\t\tcase \"stx_lock\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"stx_lock_event\",\n\t\t\t\tdata: {\n\t\t\t\t\tlocked_address: e.sender,\n\t\t\t\t\tlocked_amount: e.amount,\n\t\t\t\t\tunlock_height: e.payload.unlock_height,\n\t\t\t\t},\n\t\t\t} as Event;\n\n\t\tcase \"print\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\ttype: \"contract_event\",\n\t\t\t\tdata: {\n\t\t\t\t\ttopic: e.payload.topic,\n\t\t\t\t\t// Index serves `contract_id`. Matcher + runner also accept\n\t\t\t\t\t// legacy `contract_identifier`; emit the current field.\n\t\t\t\t\tcontract_id: e.contract_id,\n\t\t\t\t\tvalue: e.payload.value,\n\t\t\t\t\traw_value: e.payload.raw_value,\n\t\t\t\t},\n\t\t\t} as Event;\n\n\t\tcase \"nested_contract_call\":\n\t\tcase \"var_set\":\n\t\tcase \"map_set\":\n\t\tcase \"map_insert\":\n\t\tcase \"map_delete\":\n\t\t\t// Second clock: `event_index` here is ordinal. Distinct id +\n\t\t\t// `clock` so it never dedupes or sorts against a classic row.\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\tid: vmEventId(e.tx_id, e.event_index),\n\t\t\t\tclock: \"vm\",\n\t\t\t\ttype: e.event_type,\n\t\t\t\tdata: {\n\t\t\t\t\tcontract_identifier: e.contract_id,\n\t\t\t\t\t...(\"payload\" in e && e.payload && typeof e.payload === \"object\"\n\t\t\t\t\t\t? (e.payload as Record<string, unknown>)\n\t\t\t\t\t\t: {}),\n\t\t\t\t\tsender: \"sender\" in e ? e.sender : undefined,\n\t\t\t\t\tcaller: \"caller\" in e ? e.caller : undefined,\n\t\t\t\t\tfunction_name: \"function_name\" in e ? e.function_name : undefined,\n\t\t\t\t\tfunction_args: \"function_args\" in e ? e.function_args : undefined,\n\t\t\t\t\traw_result: \"raw_result\" in e ? e.raw_result : undefined,\n\t\t\t\t\tmap_name: \"map\" in e ? e.map : undefined,\n\t\t\t\t\tvar_name: \"var_name\" in e ? e.var_name : undefined,\n\t\t\t\t\traw_key: \"raw_key\" in e ? e.raw_key : undefined,\n\t\t\t\t\traw_value: \"raw_value\" in e ? e.raw_value : undefined,\n\t\t\t\t},\n\t\t\t} as Event;\n\t}\n}\n"
|
|
23
23
|
],
|
|
24
24
|
"mappings": "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",
|
|
25
|
-
"debugId": "
|
|
25
|
+
"debugId": "E400AFA8DC9FF96564756E2164756E21",
|
|
26
26
|
"names": []
|
|
27
27
|
}
|
package/dist/runtime/replay.js
CHANGED
|
@@ -33,7 +33,7 @@ import { createHash } from "node:crypto";
|
|
|
33
33
|
// package.json
|
|
34
34
|
var package_default = {
|
|
35
35
|
name: "@secondlayer/subgraphs",
|
|
36
|
-
version: "6.6.
|
|
36
|
+
version: "6.6.2",
|
|
37
37
|
description: "Describe the Stacks data you want as one TypeScript file; it fills itself and survives reorgs.",
|
|
38
38
|
license: "MIT",
|
|
39
39
|
repository: {
|
|
@@ -94,7 +94,7 @@ var package_default = {
|
|
|
94
94
|
dependencies: {
|
|
95
95
|
"@secondlayer/shared": "^11.24.0",
|
|
96
96
|
"@secondlayer/stacks": "^6.2.0",
|
|
97
|
-
"@secondlayer/verify": "^0.
|
|
97
|
+
"@secondlayer/verify": "^0.4.0",
|
|
98
98
|
esbuild: "^0.28.2",
|
|
99
99
|
kysely: "0.28.17",
|
|
100
100
|
zod: "^4.3.6"
|
|
@@ -1939,5 +1939,5 @@ export {
|
|
|
1939
1939
|
replayWebhook
|
|
1940
1940
|
};
|
|
1941
1941
|
|
|
1942
|
-
//# debugId=
|
|
1942
|
+
//# debugId=9C7B35AE582CEF6764756E2164756E21
|
|
1943
1943
|
//# sourceMappingURL=replay.js.map
|
|
@@ -16,6 +16,6 @@
|
|
|
16
16
|
"import type { SubgraphFilter } from \"../types.ts\";\n\nexport interface MatchedTx {\n\ttx: TxRecord;\n\tevents: EventRecord[];\n\t/** Source object key — used for handler dispatch */\n\tsourceName: string;\n}\n\nexport type TxRecord = {\n\ttx_id: string;\n\ttype: string;\n\tsender: string;\n\tstatus: string;\n\t/** Position within the block — the runner sorts dispatch into chain order. */\n\ttx_index?: number;\n\tcontract_id?: string | null;\n\tfunction_name?: string | null;\n\tfunction_args?: unknown | null;\n\traw_result?: string | null;\n};\n\nexport type EventRecord = {\n\tid: string;\n\ttx_id: string;\n\ttype: string;\n\t/** Classic `event_index`, or `ordinal` when `clock === \"vm\"`. */\n\tevent_index: number;\n\tdata: unknown;\n\t/** Set on opt-in `vm_events` rows. Two clocks never sort or dedupe together. */\n\tclock?: \"vm\";\n};\n\n// ── Wildcard matching (shared with v1) ──────────────────────────────\n\nconst patternCache = new Map<string, RegExp>();\n\n/** Match a value against one pattern, or ANY pattern in a set. */\nfunction matchAny(value: string, pattern: string | readonly string[]): boolean {\n\treturn Array.isArray(pattern)\n\t\t? pattern.some((p) => matchPattern(value, p))\n\t\t: matchPattern(value, pattern as string);\n}\n\nfunction matchPattern(value: string, pattern: string): boolean {\n\tif (!pattern.includes(\"*\")) return value === pattern;\n\tlet re = patternCache.get(pattern);\n\tif (!re) {\n\t\tconst regex = pattern\n\t\t\t.replace(/[.+^${}()|[\\]\\\\]/g, \"\\\\$&\")\n\t\t\t.replace(/\\*/g, \".*\");\n\t\tre = new RegExp(`^${regex}$`);\n\t\tpatternCache.set(pattern, re);\n\t}\n\treturn re.test(value);\n}\n\n// Trait → set of conforming contract IDs, resolved per block by the caller\n// (block-processor) from the contract registry. Kept as injected data so this\n// module stays pure/sync/DB-less.\nexport type TraitContracts = Map<string, ReadonlySet<string>>;\nconst EMPTY_SET: ReadonlySet<string> = new Set();\n\n/**\n * True when a filter's optional `trait` admits this contract: no trait → always\n * allowed; trait set → the contract must be in the resolved conforming set.\n */\n/** Addresses discovered per source name (factory sets), resolved by the\n * caller as-of the block being processed. */\nexport type FactoryContracts = ReadonlyMap<string, ReadonlySet<string>>;\n\n/**\n * A factory-scoped source matches only contracts its factory has revealed.\n * Same shape as {@link traitAllows}: the set is injected, so this module\n * stays pure and sync.\n */\nfunction factoryAllows(\n\tfilter: { factory?: { from: string; field: string } },\n\tcontractId: string | undefined | null,\n\tfactoryContracts: FactoryContracts,\n): boolean {\n\tif (!filter.factory) return true;\n\tif (!contractId) return false;\n\treturn (factoryContracts.get(filter.factory.from) ?? EMPTY_SET).has(\n\t\tcontractId,\n\t);\n}\n\n/** Read a dotted path off a decoded payload (`\"data.pool\"`). */\nexport function readPath(payload: unknown, path: string): unknown {\n\tlet cur: unknown = payload;\n\tfor (const key of path.split(\".\")) {\n\t\tif (cur === null || typeof cur !== \"object\") return undefined;\n\t\tcur = (cur as Record<string, unknown>)[key];\n\t}\n\treturn cur;\n}\n\nfunction traitAllows(\n\tfilter: SubgraphFilter,\n\tcontractId: string | undefined | null,\n\ttraitContracts: TraitContracts,\n): boolean {\n\tconst trait = (filter as { trait?: string }).trait;\n\tif (!trait) return true;\n\tif (!contractId) return false;\n\treturn (traitContracts.get(trait) ?? EMPTY_SET).has(contractId);\n}\n\n/** Extract the contract id from an asset identifier (`<contract>::<token>`). */\nfunction assetContract(assetId: string | undefined): string | undefined {\n\treturn assetId?.split(\"::\")[0];\n}\n\n/**\n * Contract on a print payload. Legacy `smart_contract_event` rows use\n * `contract_identifier`; current `contract_event` rows use `contract_id`.\n * Matcher and runner must share this — a print that matches on `contract_id`\n * otherwise reaches the handler with `event.contractId === \"\"`.\n */\nexport function printContractId(\n\tdata: Record<string, unknown> | null | undefined,\n): string | undefined {\n\tif (!data) return undefined;\n\tconst id =\n\t\t(typeof data.contract_identifier === \"string\"\n\t\t\t? data.contract_identifier\n\t\t\t: undefined) ??\n\t\t(typeof data.contract_id === \"string\" ? data.contract_id : undefined);\n\treturn id || undefined;\n}\n\n// ── Per-filter-type matchers ────────────────────────────────────────\n\nfunction matchFilter(\n\tfilter: SubgraphFilter,\n\ttransactions: TxRecord[],\n\teventsByTx: Map<string, EventRecord[]>,\n\ttraitContracts: TraitContracts,\n\tfactoryContracts: FactoryContracts = new Map(),\n\tvmEventsByTx: Map<string, EventRecord[]> = new Map(),\n): { tx: TxRecord; events: EventRecord[] }[] {\n\tconst results: { tx: TxRecord; events: EventRecord[] }[] = [];\n\n\tswitch (filter.type) {\n\t\t// ── STX events ──\n\t\tcase \"stx_transfer\":\n\t\tcase \"stx_mint\":\n\t\tcase \"stx_burn\":\n\t\tcase \"stx_lock\": {\n\t\t\tconst eventType = `${filter.type}_event`;\n\t\t\tfor (const tx of transactions) {\n\t\t\t\tconst txEvents = eventsByTx.get(tx.tx_id) ?? [];\n\t\t\t\tconst matched = txEvents.filter((e) => e.type === eventType);\n\t\t\t\tif (matched.length === 0) continue;\n\n\t\t\t\t// Apply address filters\n\t\t\t\tconst filtered = matched.filter((e) => {\n\t\t\t\t\tconst data = e.data as Record<string, unknown> | null;\n\t\t\t\t\tif (!data) return false;\n\t\t\t\t\tif (\"sender\" in filter && filter.sender) {\n\t\t\t\t\t\tif (!matchPattern(data.sender as string, filter.sender))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"recipient\" in filter && filter.recipient) {\n\t\t\t\t\t\tif (!matchPattern(data.recipient as string, filter.recipient))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"lockedAddress\" in filter && filter.lockedAddress) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!matchPattern(data.locked_address as string, filter.lockedAddress)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t// Amount filters\n\t\t\t\t\tif (\"minAmount\" in filter && filter.minAmount !== undefined) {\n\t\t\t\t\t\tconst amount = BigInt(\n\t\t\t\t\t\t\t(data.amount ?? data.locked_amount ?? \"0\") as string,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (amount < filter.minAmount) return false;\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\t\"maxAmount\" in filter &&\n\t\t\t\t\t\t(filter as { maxAmount?: bigint }).maxAmount !== undefined\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst amount = BigInt((data.amount ?? \"0\") as string);\n\t\t\t\t\t\tif (amount > (filter as { maxAmount: bigint }).maxAmount)\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\n\t\t\t\tif (filtered.length > 0) {\n\t\t\t\t\tresults.push({ tx, events: filtered });\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// ── FT events ──\n\t\tcase \"ft_transfer\":\n\t\tcase \"ft_mint\":\n\t\tcase \"ft_burn\": {\n\t\t\tconst eventType = `${filter.type}_event`;\n\t\t\tfor (const tx of transactions) {\n\t\t\t\tconst txEvents = eventsByTx.get(tx.tx_id) ?? [];\n\t\t\t\tconst matched = txEvents.filter((e) => {\n\t\t\t\t\tif (e.type !== eventType) return false;\n\t\t\t\t\tconst data = e.data as Record<string, unknown> | null;\n\t\t\t\t\tif (!data) return false;\n\n\t\t\t\t\t// Asset identifier filter\n\t\t\t\t\tif (filter.assetIdentifier) {\n\t\t\t\t\t\tconst assetId = data.asset_identifier as string | undefined;\n\t\t\t\t\t\tif (!assetId || !matchPattern(assetId, filter.assetIdentifier))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t// Trait scope — the asset's contract must conform.\n\t\t\t\t\tif (\n\t\t\t\t\t\t!traitAllows(\n\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\tassetContract(data.asset_identifier as string | undefined),\n\t\t\t\t\t\t\ttraitContracts,\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t// Address filters\n\t\t\t\t\tif (\"sender\" in filter && filter.sender) {\n\t\t\t\t\t\tif (!matchPattern(data.sender as string, filter.sender))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"recipient\" in filter && filter.recipient) {\n\t\t\t\t\t\tif (!matchPattern(data.recipient as string, filter.recipient))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t// Amount filter\n\t\t\t\t\tif (filter.minAmount !== undefined) {\n\t\t\t\t\t\tconst amount = BigInt((data.amount ?? \"0\") as string);\n\t\t\t\t\t\tif (amount < filter.minAmount) return false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\n\t\t\t\tif (matched.length > 0) {\n\t\t\t\t\tresults.push({ tx, events: matched });\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// ── NFT events ──\n\t\tcase \"nft_transfer\":\n\t\tcase \"nft_mint\":\n\t\tcase \"nft_burn\": {\n\t\t\tconst eventType = `${filter.type}_event`;\n\t\t\tfor (const tx of transactions) {\n\t\t\t\tconst txEvents = eventsByTx.get(tx.tx_id) ?? [];\n\t\t\t\tconst matched = txEvents.filter((e) => {\n\t\t\t\t\tif (e.type !== eventType) return false;\n\t\t\t\t\tconst data = e.data as Record<string, unknown> | null;\n\t\t\t\t\tif (!data) return false;\n\n\t\t\t\t\tif (filter.assetIdentifier) {\n\t\t\t\t\t\tconst assetId = data.asset_identifier as string | undefined;\n\t\t\t\t\t\tif (!assetId || !matchPattern(assetId, filter.assetIdentifier))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\t!traitAllows(\n\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\tassetContract(data.asset_identifier as string | undefined),\n\t\t\t\t\t\t\ttraitContracts,\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tif (\"sender\" in filter && filter.sender) {\n\t\t\t\t\t\tif (!matchPattern(data.sender as string, filter.sender))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"recipient\" in filter && filter.recipient) {\n\t\t\t\t\t\tif (!matchPattern(data.recipient as string, filter.recipient))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\n\t\t\t\tif (matched.length > 0) {\n\t\t\t\t\tresults.push({ tx, events: matched });\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// ── Contract call ──\n\t\tcase \"contract_call\": {\n\t\t\tfor (const tx of transactions) {\n\t\t\t\tif (tx.type !== \"contract_call\") continue;\n\n\t\t\t\t// Contract filter\n\t\t\t\tif (filter.contractId) {\n\t\t\t\t\tif (!tx.contract_id || !matchAny(tx.contract_id, filter.contractId))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// Factory scope: only contracts this source's factory revealed.\n\t\t\t\tif (!factoryAllows(filter, tx.contract_id, factoryContracts)) continue;\n\t\t\t\t// Function filter\n\t\t\t\tif (filter.functionName) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!tx.function_name ||\n\t\t\t\t\t\t!matchPattern(tx.function_name, filter.functionName)\n\t\t\t\t\t)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// Caller filter\n\t\t\t\tif (filter.caller) {\n\t\t\t\t\tif (!matchPattern(tx.sender, filter.caller)) continue;\n\t\t\t\t}\n\t\t\t\t// Trait scope — the called contract must conform.\n\t\t\t\tif (!traitAllows(filter, tx.contract_id, traitContracts)) continue;\n\n\t\t\t\tconst txEvents = eventsByTx.get(tx.tx_id) ?? [];\n\t\t\t\tresults.push({ tx, events: txEvents });\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// ── Contract deploy ──\n\t\tcase \"contract_deploy\": {\n\t\t\tfor (const tx of transactions) {\n\t\t\t\tif (tx.type !== \"smart_contract\") continue;\n\n\t\t\t\tif (filter.deployer) {\n\t\t\t\t\tif (!matchPattern(tx.sender, filter.deployer)) continue;\n\t\t\t\t}\n\t\t\t\tif (filter.contractName) {\n\t\t\t\t\tconst name = tx.contract_id?.split(\".\")[1] ?? \"\";\n\t\t\t\t\tif (!matchPattern(name, filter.contractName)) continue;\n\t\t\t\t}\n\n\t\t\t\tconst txEvents = eventsByTx.get(tx.tx_id) ?? [];\n\t\t\t\tresults.push({ tx, events: txEvents });\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"nested_contract_call\":\n\t\tcase \"var_set\":\n\t\tcase \"map_set\":\n\t\tcase \"map_insert\":\n\t\tcase \"map_delete\": {\n\t\t\t// vm sources read the vm clock only. A classic tx-level source never\n\t\t\t// sees these rows, and a vm source never sees `events[]`.\n\t\t\tfor (const tx of transactions) {\n\t\t\t\tconst txEvents = vmEventsByTx.get(tx.tx_id) ?? [];\n\t\t\t\tconst matched = txEvents.filter((e) => {\n\t\t\t\t\tif (e.type !== filter.type) return false;\n\t\t\t\t\tconst data = e.data as Record<string, unknown> | null;\n\t\t\t\t\tif (!data) return false;\n\t\t\t\t\tconst contractId = printContractId(data);\n\t\t\t\t\tif (\"contractId\" in filter && filter.contractId) {\n\t\t\t\t\t\tif (!contractId || !matchAny(contractId, filter.contractId))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (!traitAllows(filter, contractId, traitContracts)) return false;\n\t\t\t\t\tif (!factoryAllows(filter, contractId, factoryContracts))\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tif (filter.type === \"nested_contract_call\") {\n\t\t\t\t\t\tif (filter.functionName) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof data.function_name !== \"string\" ||\n\t\t\t\t\t\t\t\t!matchPattern(data.function_name, filter.functionName)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (filter.caller) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof data.caller !== \"string\" ||\n\t\t\t\t\t\t\t\t!matchPattern(data.caller, filter.caller)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (filter.sender) {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof data.sender !== \"string\" ||\n\t\t\t\t\t\t\t\t!matchPattern(data.sender, filter.sender)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (filter.type === \"var_set\" && filter.varName) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof data.var_name !== \"string\" ||\n\t\t\t\t\t\t\t!matchPattern(data.var_name, filter.varName)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\t(filter.type === \"map_set\" ||\n\t\t\t\t\t\t\tfilter.type === \"map_insert\" ||\n\t\t\t\t\t\t\tfilter.type === \"map_delete\") &&\n\t\t\t\t\t\tfilter.map\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof data.map_name !== \"string\" ||\n\t\t\t\t\t\t\t!matchPattern(data.map_name, filter.map)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t\tif (matched.length > 0) results.push({ tx, events: matched });\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// ── Print event ──\n\t\tcase \"print_event\": {\n\t\t\tfor (const tx of transactions) {\n\t\t\t\tconst txEvents = eventsByTx.get(tx.tx_id) ?? [];\n\t\t\t\tconst matched = txEvents.filter((e) => {\n\t\t\t\t\tif (e.type !== \"smart_contract_event\" && e.type !== \"contract_event\")\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tconst data = e.data as Record<string, unknown> | null;\n\t\t\t\t\tif (!data) return false;\n\t\t\t\t\tif (data.topic !== \"print\") return false;\n\n\t\t\t\t\tconst contractId = printContractId(data);\n\t\t\t\t\tif (filter.contractId) {\n\t\t\t\t\t\tif (!contractId || !matchAny(contractId, filter.contractId))\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (!traitAllows(filter, contractId, traitContracts)) return false;\n\t\t\t\t\tif (!factoryAllows(filter, contractId, factoryContracts))\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t// Topic filter — check the decoded Clarity value's topic field\n\t\t\t\t\t// At this stage data.value is still raw hex; topic filtering happens\n\t\t\t\t\t// after decode in the runner. For now, skip topic filtering here.\n\t\t\t\t\t// The runner will filter by topic after decoding.\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\n\t\t\t\tif (matched.length > 0) {\n\t\t\t\t\tresults.push({ tx, events: matched });\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn results;\n}\n\n/**\n * Match named filters against a block's transactions and events.\n * Returns matches with sourceName = the object key from sources.\n */\nexport function matchSources(\n\tsources: Record<string, SubgraphFilter>,\n\ttransactions: TxRecord[],\n\tevents: EventRecord[],\n\ttraitContracts: TraitContracts = new Map(),\n\tfactoryContracts: FactoryContracts = new Map(),\n\t/** Opt-in `vm_events` rows (second clock). Only vm-typed sources read them. */\n\tvmEvents: EventRecord[] = [],\n): MatchedTx[] {\n\t// Index events by txId — one map per clock.\n\tconst eventsByTx = new Map<string, EventRecord[]>();\n\tfor (const event of events) {\n\t\tconst list = eventsByTx.get(event.tx_id) ?? [];\n\t\tlist.push(event);\n\t\teventsByTx.set(event.tx_id, list);\n\t}\n\tconst vmEventsByTx = new Map<string, EventRecord[]>();\n\tfor (const event of vmEvents) {\n\t\tconst list = vmEventsByTx.get(event.tx_id) ?? [];\n\t\tlist.push(event);\n\t\tvmEventsByTx.set(event.tx_id, list);\n\t}\n\n\tconst seen = new Set<string>();\n\tconst results: MatchedTx[] = [];\n\n\tfor (const [sourceName, filter] of Object.entries(sources)) {\n\t\tconst matches = matchFilter(\n\t\t\tfilter,\n\t\t\ttransactions,\n\t\t\teventsByTx,\n\t\t\ttraitContracts,\n\t\t\tfactoryContracts,\n\t\t\tvmEventsByTx,\n\t\t);\n\t\tfor (const match of matches) {\n\t\t\tconst dedupeKey = `${match.tx.tx_id}:${sourceName}`;\n\t\t\tif (!seen.has(dedupeKey)) {\n\t\t\t\tseen.add(dedupeKey);\n\t\t\t\tresults.push({ ...match, sourceName });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn results;\n}\n"
|
|
17
17
|
],
|
|
18
18
|
"mappings": "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",
|
|
19
|
-
"debugId": "
|
|
19
|
+
"debugId": "9C7B35AE582CEF6764756E2164756E21",
|
|
20
20
|
"names": []
|
|
21
21
|
}
|
package/dist/schema/index.js
CHANGED
|
@@ -466,7 +466,7 @@ import { createHash as createHash2 } from "node:crypto";
|
|
|
466
466
|
// package.json
|
|
467
467
|
var package_default = {
|
|
468
468
|
name: "@secondlayer/subgraphs",
|
|
469
|
-
version: "6.6.
|
|
469
|
+
version: "6.6.2",
|
|
470
470
|
description: "Describe the Stacks data you want as one TypeScript file; it fills itself and survives reorgs.",
|
|
471
471
|
license: "MIT",
|
|
472
472
|
repository: {
|
|
@@ -527,7 +527,7 @@ var package_default = {
|
|
|
527
527
|
dependencies: {
|
|
528
528
|
"@secondlayer/shared": "^11.24.0",
|
|
529
529
|
"@secondlayer/stacks": "^6.2.0",
|
|
530
|
-
"@secondlayer/verify": "^0.
|
|
530
|
+
"@secondlayer/verify": "^0.4.0",
|
|
531
531
|
esbuild: "^0.28.2",
|
|
532
532
|
kysely: "0.28.17",
|
|
533
533
|
zod: "^4.3.6"
|
|
@@ -1091,5 +1091,5 @@ export {
|
|
|
1091
1091
|
generateSubgraphSQL
|
|
1092
1092
|
};
|
|
1093
1093
|
|
|
1094
|
-
//# debugId=
|
|
1094
|
+
//# debugId=9F5BC76CB2C631D664756E2164756E21
|
|
1095
1095
|
//# sourceMappingURL=index.js.map
|
package/dist/schema/index.js.map
CHANGED
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
"/**\n * Verifiable subgraphs: the determinism contract, the derived level and the\n * pin. Pure (node:crypto only) so the bundler's deploy scan, the API and the\n * runtime realm all read the same rules.\n *\n * A subgraph is never configured as verifiable. Its level is derived from\n * its sources plus a scan of the bundled handler, and only a subgraph whose\n * every input is provable today (`state`: named state writes) has the contract\n * enforced. Everything else gets the same findings as advice.\n */\nimport { createHash } from \"node:crypto\";\nimport type { SubgraphVerification } from \"@secondlayer/shared/schemas/subgraphs\";\nimport pkg from \"../package.json\" with { type: \"json\" };\nimport type { SubgraphDefinition, SubgraphFilter } from \"./types.ts\";\n\nexport type { SubgraphVerification };\n\n/** Runtime identity baked into every pin: matcher, decode and flush semantics. */\nexport const SUBGRAPHS_RUNTIME: string = `@secondlayer/subgraphs@${pkg.version}`;\n\n// ── Determinism contract ────────────────────────────────────────────────\n\n/**\n * Globals a handler may not touch, with the reason shown to the developer.\n * The deploy scan reports them; the realm replaces each with a getter that\n * throws `NondeterminismError`.\n */\nexport const FORBIDDEN_GLOBALS: Readonly<Record<string, string>> = {\n\tDate: \"wall-clock time differs per run\",\n\tperformance: \"timers differ per run\",\n\tprocess: \"host environment differs per run\",\n\tfetch: \"network reads are not chain inputs\",\n\tcrypto: \"randomness differs per run\",\n\tsetTimeout: \"scheduling order differs per run\",\n\tsetInterval: \"scheduling order differs per run\",\n\tsetImmediate: \"scheduling order differs per run\",\n\tclearTimeout: \"scheduling order differs per run\",\n\tclearInterval: \"scheduling order differs per run\",\n\tqueueMicrotask: \"scheduling order differs per run\",\n\tWeakRef: \"garbage collection timing differs per run\",\n\tFinalizationRegistry: \"garbage collection timing differs per run\",\n\tAtomics: \"shared memory is not single-threaded\",\n\tSharedArrayBuffer: \"shared memory is not single-threaded\",\n\tIntl: \"locale and time zone data differ per host\",\n\tTemporal: \"locale and time zone data differ per host\",\n\teval: \"generated code hides inputs from the scan\",\n\tWebAssembly: \"compiled code hides inputs from the scan\",\n\tShadowRealm: \"a nested realm escapes the allow-list\",\n\trequire: \"imports must be bundled into the handler\",\n};\n\n/**\n * Globals a handler may use: ECMAScript built-ins whose results are fully\n * specified, plus deterministic host encoders. `Math` is narrowed separately\n * ({@link ALLOWED_MATH}).\n */\nexport const ALLOWED_GLOBALS: readonly string[] = [\n\t\"undefined\",\n\t\"NaN\",\n\t\"Infinity\",\n\t\"globalThis\",\n\t\"isNaN\",\n\t\"isFinite\",\n\t\"parseInt\",\n\t\"parseFloat\",\n\t\"decodeURI\",\n\t\"decodeURIComponent\",\n\t\"encodeURI\",\n\t\"encodeURIComponent\",\n\t\"escape\",\n\t\"unescape\",\n\t\"Object\",\n\t\"Function\",\n\t\"Array\",\n\t\"Number\",\n\t\"Boolean\",\n\t\"String\",\n\t\"Symbol\",\n\t\"BigInt\",\n\t\"Math\",\n\t\"JSON\",\n\t\"Reflect\",\n\t\"Proxy\",\n\t\"Promise\",\n\t\"Map\",\n\t\"Set\",\n\t\"WeakMap\",\n\t\"WeakSet\",\n\t\"RegExp\",\n\t\"Iterator\",\n\t\"DisposableStack\",\n\t\"AsyncDisposableStack\",\n\t\"Error\",\n\t\"AggregateError\",\n\t\"SuppressedError\",\n\t\"EvalError\",\n\t\"RangeError\",\n\t\"ReferenceError\",\n\t\"SyntaxError\",\n\t\"TypeError\",\n\t\"URIError\",\n\t\"ArrayBuffer\",\n\t\"DataView\",\n\t\"Int8Array\",\n\t\"Uint8Array\",\n\t\"Uint8ClampedArray\",\n\t\"Int16Array\",\n\t\"Uint16Array\",\n\t\"Int32Array\",\n\t\"Uint32Array\",\n\t\"Float16Array\",\n\t\"Float32Array\",\n\t\"Float64Array\",\n\t\"BigInt64Array\",\n\t\"BigUint64Array\",\n\t\"TextEncoder\",\n\t\"TextDecoder\",\n\t\"atob\",\n\t\"btoa\",\n\t\"console\",\n];\n\n/** `Math` members whose results are exact on every engine. The rest\n * (`sin`, `pow`, `log`, …) are implementation-approximated. */\nexport const ALLOWED_MATH: readonly string[] = [\n\t\"abs\",\n\t\"min\",\n\t\"max\",\n\t\"floor\",\n\t\"ceil\",\n\t\"trunc\",\n\t\"sign\",\n\t\"round\",\n\t\"E\",\n\t\"LN10\",\n\t\"LN2\",\n\t\"LOG10E\",\n\t\"LOG2E\",\n\t\"PI\",\n\t\"SQRT1_2\",\n\t\"SQRT2\",\n];\n\n/** Methods whose output depends on the host's locale data. */\nexport const LOCALE_METHODS: readonly string[] = [\n\t\"toLocaleString\",\n\t\"toLocaleDateString\",\n\t\"toLocaleTimeString\",\n\t\"toLocaleUpperCase\",\n\t\"toLocaleLowerCase\",\n\t\"localeCompare\",\n];\n\n/**\n * One thing the deploy scan found in a bundled handler.\n *\n * - `nondeterministic`: breaks the determinism contract. Fails the deploy of\n * a state subgraph; advice for everything else.\n * - `needs-events`: deterministic, but reads something only re-execution proofs cover\n * (`ctx.client`). Raises the level instead of failing.\n */\nexport interface HandlerFinding {\n\tkind: \"nondeterministic\" | \"needs-events\";\n\t/** What was used, e.g. `Date`, `Math.random`, `import()`, `ctx.client`. */\n\tname: string;\n\treason: string;\n\t/** Original source file when a sourcemap was available, else the bundle. */\n\tfile: string;\n\t/** 1-based. */\n\tline: number;\n\t/** 1-based. */\n\tcolumn: number;\n}\n\nexport function formatFinding(f: HandlerFinding): string {\n\treturn `${f.file}:${f.line}:${f.column} ${f.name}: ${f.reason}`;\n}\n\n// ── Derived level ───────────────────────────────────────────────────────\n\n/**\n * Sources whose every field is a named state write: provable per block from\n * the header-backed witness plus `state_writes`. Not `map_insert`: storage\n * holds `(some v)` for an insert and a set alike, so telling them apart takes\n * re-execution (event proofs).\n */\nconst STATE_SOURCE_TYPES: ReadonlySet<string> = new Set([\n\t\"var_set\",\n\t\"map_set\",\n\t\"map_delete\",\n]);\n\nconst LEVEL_RANK = { state: 0, events: 1, none: 2 } as const;\n\n/** Handler findings listed in `reasons`; the rest are counted. */\nconst MAX_LISTED_FINDINGS = 10;\n\n/**\n * Derive how far a subgraph's rows can be checked. Level = the highest any\n * source or handler read needs. `reasons` lists everything standing between\n * the subgraph and checkable rows; a `state` subgraph with any reason is\n * refused at deploy, so every stored `state` row has none. Never configured,\n * never a flag.\n */\nexport function deriveVerification(\n\tdef: Pick<SubgraphDefinition, \"sources\" | \"backfillMode\">,\n\tfindings: readonly HandlerFinding[] = [],\n): SubgraphVerification {\n\tlet level: keyof typeof LEVEL_RANK = \"state\";\n\tconst raise = (to: keyof typeof LEVEL_RANK) => {\n\t\tif (LEVEL_RANK[to] > LEVEL_RANK[level]) level = to;\n\t};\n\tconst reasons: string[] = [];\n\n\tfor (const [name, source] of Object.entries(def.sources ?? {})) {\n\t\tconst filter = source as SubgraphFilter & { trait?: string };\n\t\tif (filter.trait) {\n\t\t\traise(\"none\");\n\t\t\treasons.push(\n\t\t\t\t`source \"${name}\": trait scope needs a proven contract registry`,\n\t\t\t);\n\t\t} else if (filter.type === \"map_insert\") {\n\t\t\traise(\"events\");\n\t\t\treasons.push(\n\t\t\t\t`map_insert source \"${name}\": map_insert vs map_set needs event proofs`,\n\t\t\t);\n\t\t} else if (!STATE_SOURCE_TYPES.has(filter.type)) {\n\t\t\traise(\"events\");\n\t\t\treasons.push(`${filter.type} source \"${name}\" needs event proofs`);\n\t\t}\n\t}\n\tif (def.backfillMode === \"concurrent\") {\n\t\traise(\"none\");\n\t\treasons.push(\"backfillMode concurrent: tip-first order is not chain order\");\n\t}\n\tif (findings.some((f) => f.kind === \"needs-events\")) raise(\"events\");\n\t// A large bundled library can trip dozens of findings; list a few.\n\tfor (const f of findings.slice(0, MAX_LISTED_FINDINGS)) {\n\t\treasons.push(\n\t\t\tf.kind === \"needs-events\"\n\t\t\t\t? `${formatFinding(f)} (needs event proofs)`\n\t\t\t\t: formatFinding(f),\n\t\t);\n\t}\n\tif (findings.length > MAX_LISTED_FINDINGS) {\n\t\treasons.push(\n\t\t\t`…and ${findings.length - MAX_LISTED_FINDINGS} more handler findings`,\n\t\t);\n\t}\n\n\treturn {\n\t\tlevel,\n\t\treasons,\n\t\tunproven:\n\t\t\treasons.length === 0\n\t\t\t\t? [\n\t\t\t\t\t\t\"tx attribution of writes: event.tx, _tx_id (needs event proofs)\",\n\t\t\t\t\t\t\"intermediate writes within a block (needs event proofs)\",\n\t\t\t\t\t]\n\t\t\t\t: [],\n\t};\n}\n\n/**\n * True when the deploy must be refused: the sources are provable (`state`), so\n * the determinism contract is enforced, and the scan broke it.\n */\nexport function isDeterminismViolation(v: SubgraphVerification): boolean {\n\treturn v.level === \"state\" && v.reasons.length > 0;\n}\n\n// ── Pin ─────────────────────────────────────────────────────────────────\n\nexport interface PinInput {\n\t/** Existing `schema_hash` (name + schema + sources). */\n\tschemaHash: string;\n\t/** Bundled ESM exactly as stored in `subgraphs.handler_code`. */\n\thandlerCode: string;\n\tstartBlock?: number | null;\n\tnetwork: string;\n\t/** Defaults to {@link SUBGRAPHS_RUNTIME}. */\n\truntime?: string;\n}\n\nfunction sha256(input: string): string {\n\treturn createHash(\"sha256\").update(input).digest(\"hex\");\n}\n\n/** What a pin commits to, as stored in `pin_preimage`. */\nexport interface PinFields {\n\t/** sha256 of the bundled handler, hex. */\n\thandlerHash: string;\n\tnetwork: string;\n\truntime: string;\n\tschemaHash: string;\n\tstartBlock: number | null;\n}\n\n/**\n * The canonical JSON a pin is the sha256 of: fixed key order, primitives\n * only. Stored beside the pin so anyone can recompute it from the served\n * handler code.\n */\nexport function pinPreimage(input: PinInput): string {\n\tconst fields: PinFields = {\n\t\thandlerHash: sha256(input.handlerCode),\n\t\tnetwork: input.network,\n\t\truntime: input.runtime ?? SUBGRAPHS_RUNTIME,\n\t\tschemaHash: input.schemaHash,\n\t\tstartBlock: input.startBlock ?? null,\n\t};\n\treturn JSON.stringify(fields);\n}\n\n/**\n * Content hash over everything that shapes a subgraph's rows. Unlike\n * `schema_hash`, it changes with the handler, `startBlock` and runtime, so\n * two deploys with the same pin produce the same rows from the same chain.\n */\nexport function computePin(input: PinInput): string {\n\treturn sha256(pinPreimage(input));\n}\n"
|
|
10
10
|
],
|
|
11
11
|
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
12
|
+
"debugId": "9F5BC76CB2C631D664756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
package/dist/testing/index.js
CHANGED
|
@@ -500,7 +500,7 @@ class SubgraphContext {
|
|
|
500
500
|
if (upsertKeys?.every((k) => valEq(row[k], clean[k]))) {
|
|
501
501
|
const merged = { ...row };
|
|
502
502
|
for (const [k, v] of Object.entries(clean)) {
|
|
503
|
-
if (!upsertKeys.includes(k) && !k
|
|
503
|
+
if (!upsertKeys.includes(k) && !isSystemColumn(k))
|
|
504
504
|
merged[k] = v;
|
|
505
505
|
}
|
|
506
506
|
return merged;
|
|
@@ -695,16 +695,21 @@ class SubgraphContext {
|
|
|
695
695
|
const colList = batch.cols.map((c) => `"${c}"`).join(", ");
|
|
696
696
|
let rows = batch.rows;
|
|
697
697
|
if (batch.upsertKeys && batch.upsertKeys.length > 0) {
|
|
698
|
-
const
|
|
699
|
-
const
|
|
700
|
-
const
|
|
701
|
-
|
|
702
|
-
const
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
698
|
+
const keyIndices = batch.upsertKeys.map((k) => batch.cols.indexOf(k));
|
|
699
|
+
const byKey = new Map;
|
|
700
|
+
for (const row of rows) {
|
|
701
|
+
const key = keyIndices.map((ki) => row[ki]).join("\x00");
|
|
702
|
+
const first = byKey.get(key);
|
|
703
|
+
if (!first) {
|
|
704
|
+
byKey.set(key, [...row]);
|
|
705
|
+
continue;
|
|
706
|
+
}
|
|
707
|
+
batch.cols.forEach((c, ci) => {
|
|
708
|
+
if (!isSystemColumn(c))
|
|
709
|
+
first[ci] = row[ci];
|
|
710
|
+
});
|
|
707
711
|
}
|
|
712
|
+
rows = [...byKey.values()];
|
|
708
713
|
}
|
|
709
714
|
const valuesList = rows.map((r) => `(${r.join(", ")})`).join(", ");
|
|
710
715
|
let stmt = `INSERT INTO ${qualifiedTable} (${colList}) VALUES ${valuesList}`;
|
|
@@ -715,7 +720,7 @@ class SubgraphContext {
|
|
|
715
720
|
}
|
|
716
721
|
if (batch.upsertKeys && batch.upsertKeys.length > 0) {
|
|
717
722
|
const batchKeys = batch.upsertKeys;
|
|
718
|
-
const updateCols = batch.cols.filter((c) => !batchKeys.includes(c) && !c
|
|
723
|
+
const updateCols = batch.cols.filter((c) => !batchKeys.includes(c) && !isSystemColumn(c));
|
|
719
724
|
if (updateCols.length > 0) {
|
|
720
725
|
const setClauses = updateCols.map((c) => `"${c}" = EXCLUDED."${c}"`);
|
|
721
726
|
stmt += ` ON CONFLICT (${batchKeys.map((k) => `"${k}"`).join(", ")}) DO UPDATE SET ${setClauses.join(", ")}`;
|
|
@@ -801,6 +806,9 @@ class SubgraphContext {
|
|
|
801
806
|
}
|
|
802
807
|
}
|
|
803
808
|
}
|
|
809
|
+
function isSystemColumn(col) {
|
|
810
|
+
return col.startsWith("_");
|
|
811
|
+
}
|
|
804
812
|
function stripControlKeys(data) {
|
|
805
813
|
const {
|
|
806
814
|
_upsert_keys: _a,
|
|
@@ -1441,7 +1449,7 @@ import { createHash as createHash2 } from "node:crypto";
|
|
|
1441
1449
|
// package.json
|
|
1442
1450
|
var package_default = {
|
|
1443
1451
|
name: "@secondlayer/subgraphs",
|
|
1444
|
-
version: "6.6.
|
|
1452
|
+
version: "6.6.2",
|
|
1445
1453
|
description: "Describe the Stacks data you want as one TypeScript file; it fills itself and survives reorgs.",
|
|
1446
1454
|
license: "MIT",
|
|
1447
1455
|
repository: {
|
|
@@ -1502,7 +1510,7 @@ var package_default = {
|
|
|
1502
1510
|
dependencies: {
|
|
1503
1511
|
"@secondlayer/shared": "^11.24.0",
|
|
1504
1512
|
"@secondlayer/stacks": "^6.2.0",
|
|
1505
|
-
"@secondlayer/verify": "^0.
|
|
1513
|
+
"@secondlayer/verify": "^0.4.0",
|
|
1506
1514
|
esbuild: "^0.28.2",
|
|
1507
1515
|
kysely: "0.28.17",
|
|
1508
1516
|
zod: "^4.3.6"
|
|
@@ -3068,5 +3076,5 @@ export {
|
|
|
3068
3076
|
toHandlerPayload
|
|
3069
3077
|
};
|
|
3070
3078
|
|
|
3071
|
-
//# debugId=
|
|
3079
|
+
//# debugId=6C5E5BDA3D51045664756E2164756E21
|
|
3072
3080
|
//# sourceMappingURL=index.js.map
|