@secondlayer/shared 6.21.0 → 6.23.0

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/src/index.js CHANGED
@@ -377,6 +377,81 @@ var SOURCE_READ_COLUMNS = {
377
377
  events: ["block_height", "data", "event_index", "tx_id", "type"],
378
378
  chain_reorgs: ["detected_at"]
379
379
  };
380
+ // src/db/migration-role.ts
381
+ var currentRole = "both";
382
+ function setMigrationRole(role) {
383
+ currentRole = role;
384
+ }
385
+ function getMigrationRole() {
386
+ return currentRole;
387
+ }
388
+ async function onControlPlane(fn) {
389
+ if (currentRole === "target" || currentRole === "both")
390
+ await fn();
391
+ }
392
+ async function onChainPlane(fn) {
393
+ if (currentRole === "source" || currentRole === "both")
394
+ await fn();
395
+ }
396
+ // src/db/table-plane.ts
397
+ var TABLE_TO_DB = {
398
+ blocks: "source",
399
+ transactions: "source",
400
+ events: "source",
401
+ transactions_archive: "source",
402
+ events_archive: "source",
403
+ dead_letter_events: "source",
404
+ mempool_transactions: "source",
405
+ index_progress: "source",
406
+ contracts: "source",
407
+ chain_reorgs: "source",
408
+ decoded_events: "source",
409
+ l2_decoder_checkpoints: "source",
410
+ pox4_calls: "source",
411
+ pox4_cycles_daily: "source",
412
+ pox4_signers_daily: "source",
413
+ burn_block_rewards: "source",
414
+ burn_block_reward_slots: "source",
415
+ sbtc_events: "source",
416
+ sbtc_token_events: "source",
417
+ sbtc_supply_snapshots: "source",
418
+ bns_name_events: "source",
419
+ bns_namespace_events: "source",
420
+ bns_marketplace_events: "source",
421
+ bns_names: "source",
422
+ bns_namespaces: "source",
423
+ accounts: "target",
424
+ api_keys: "target",
425
+ sessions: "target",
426
+ magic_links: "target",
427
+ usage_daily: "target",
428
+ usage_snapshots: "target",
429
+ account_insights: "target",
430
+ account_agent_runs: "target",
431
+ account_spend_caps: "target",
432
+ processed_stripe_events: "target",
433
+ tenants: "target",
434
+ tenant_usage_monthly: "target",
435
+ tenant_compute_addons: "target",
436
+ provisioning_audit_log: "target",
437
+ projects: "target",
438
+ team_members: "target",
439
+ team_invitations: "target",
440
+ chat_sessions: "target",
441
+ chat_messages: "target",
442
+ subscriptions: "target",
443
+ subscription_outbox: "target",
444
+ subscription_deliveries: "target",
445
+ trigger_evaluator_state: "target",
446
+ subgraphs: "target",
447
+ subgraph_operations: "target",
448
+ subgraph_health_snapshots: "target",
449
+ subgraph_gaps: "target",
450
+ subgraph_usage_daily: "target",
451
+ subgraph_processing_stats: "target",
452
+ subgraph_table_snapshots: "target",
453
+ service_heartbeats: "both"
454
+ };
380
455
 
381
456
  // src/db/index.ts
382
457
  var DEFAULT_URL = "postgres://postgres:postgres@localhost:5432/secondlayer_dev";
@@ -1474,6 +1549,59 @@ function verifySignatureHeader(payload, header, secret, toleranceSeconds = 300)
1474
1549
  const signedPayload = `${ts}.${payload}`;
1475
1550
  return verifySignature(signedPayload, signature, secret);
1476
1551
  }
1552
+
1553
+ // src/crypto/ed25519.ts
1554
+ var exports_ed25519 = {};
1555
+ __export(exports_ed25519, {
1556
+ verifyEd25519: () => verifyEd25519,
1557
+ signEd25519: () => signEd25519,
1558
+ publicKeyPemFromPrivate: () => publicKeyPemFromPrivate,
1559
+ loadEd25519PublicKey: () => loadEd25519PublicKey,
1560
+ loadEd25519PrivateKey: () => loadEd25519PrivateKey,
1561
+ generateEd25519KeyPair: () => generateEd25519KeyPair,
1562
+ ed25519KeyId: () => ed25519KeyId
1563
+ });
1564
+ import {
1565
+ createHash,
1566
+ createPrivateKey,
1567
+ createPublicKey,
1568
+ generateKeyPairSync,
1569
+ sign as nodeSign,
1570
+ verify as nodeVerify
1571
+ } from "node:crypto";
1572
+ function generateEd25519KeyPair() {
1573
+ const { privateKey, publicKey } = generateKeyPairSync("ed25519");
1574
+ return {
1575
+ privateKeyPem: privateKey.export({ format: "pem", type: "pkcs8" }).toString(),
1576
+ publicKeyPem: publicKey.export({ format: "pem", type: "spki" }).toString()
1577
+ };
1578
+ }
1579
+ function loadEd25519PrivateKey(pem) {
1580
+ return createPrivateKey(pem);
1581
+ }
1582
+ function loadEd25519PublicKey(pem) {
1583
+ return createPublicKey(pem);
1584
+ }
1585
+ function publicKeyPemFromPrivate(privateKeyPem) {
1586
+ return createPublicKey(createPrivateKey(privateKeyPem)).export({ format: "pem", type: "spki" }).toString();
1587
+ }
1588
+ function ed25519KeyId(publicKeyPem) {
1589
+ const der = createPublicKey(publicKeyPem).export({
1590
+ format: "der",
1591
+ type: "spki"
1592
+ });
1593
+ return createHash("sha256").update(der).digest("base64url").slice(0, 16);
1594
+ }
1595
+ function signEd25519(payload, privateKey) {
1596
+ return nodeSign(null, Buffer.from(payload, "utf8"), privateKey).toString("base64");
1597
+ }
1598
+ function verifyEd25519(payload, signatureBase64, publicKey) {
1599
+ try {
1600
+ return nodeVerify(null, Buffer.from(payload, "utf8"), publicKey, Buffer.from(signatureBase64, "base64"));
1601
+ } catch {
1602
+ return false;
1603
+ }
1604
+ }
1477
1605
  // src/event-types.ts
1478
1606
  var DECODED_EVENT_TYPES = [
1479
1607
  "stx_transfer",
@@ -1561,62 +1689,13 @@ function decodeStreamsCursor(cursor) {
1561
1689
  }
1562
1690
  return decoded;
1563
1691
  }
1564
- // src/crypto/ed25519.ts
1565
- var exports_ed25519 = {};
1566
- __export(exports_ed25519, {
1567
- verifyEd25519: () => verifyEd25519,
1568
- signEd25519: () => signEd25519,
1569
- publicKeyPemFromPrivate: () => publicKeyPemFromPrivate,
1570
- loadEd25519PublicKey: () => loadEd25519PublicKey,
1571
- loadEd25519PrivateKey: () => loadEd25519PrivateKey,
1572
- generateEd25519KeyPair: () => generateEd25519KeyPair,
1573
- ed25519KeyId: () => ed25519KeyId
1574
- });
1575
- import {
1576
- createHash,
1577
- createPrivateKey,
1578
- createPublicKey,
1579
- generateKeyPairSync,
1580
- sign as nodeSign,
1581
- verify as nodeVerify
1582
- } from "node:crypto";
1583
- function generateEd25519KeyPair() {
1584
- const { privateKey, publicKey } = generateKeyPairSync("ed25519");
1585
- return {
1586
- privateKeyPem: privateKey.export({ format: "pem", type: "pkcs8" }).toString(),
1587
- publicKeyPem: publicKey.export({ format: "pem", type: "spki" }).toString()
1588
- };
1589
- }
1590
- function loadEd25519PrivateKey(pem) {
1591
- return createPrivateKey(pem);
1592
- }
1593
- function loadEd25519PublicKey(pem) {
1594
- return createPublicKey(pem);
1595
- }
1596
- function publicKeyPemFromPrivate(privateKeyPem) {
1597
- return createPublicKey(createPrivateKey(privateKeyPem)).export({ format: "pem", type: "spki" }).toString();
1598
- }
1599
- function ed25519KeyId(publicKeyPem) {
1600
- const der = createPublicKey(publicKeyPem).export({
1601
- format: "der",
1602
- type: "spki"
1603
- });
1604
- return createHash("sha256").update(der).digest("base64url").slice(0, 16);
1605
- }
1606
- function signEd25519(payload, privateKey) {
1607
- return nodeSign(null, Buffer.from(payload, "utf8"), privateKey).toString("base64");
1608
- }
1609
- function verifyEd25519(payload, signatureBase64, publicKey) {
1610
- try {
1611
- return nodeVerify(null, Buffer.from(payload, "utf8"), publicKey, Buffer.from(signatureBase64, "base64"));
1612
- } catch {
1613
- return false;
1614
- }
1615
- }
1616
1692
  export {
1617
1693
  validateSubscriptionFilterForTable,
1618
1694
  sql2 as sql,
1695
+ setMigrationRole,
1619
1696
  parseJsonb,
1697
+ onControlPlane,
1698
+ onChainPlane,
1620
1699
  logger,
1621
1700
  jsonb,
1622
1701
  isPox4DecoderEnabled,
@@ -1624,6 +1703,7 @@ export {
1624
1703
  getSourceDb,
1625
1704
  getRawClientFor,
1626
1705
  getRawClient,
1706
+ getMigrationRole,
1627
1707
  getErrorMessage,
1628
1708
  getEnv,
1629
1709
  getDbSplitStatus,
@@ -1644,6 +1724,7 @@ export {
1644
1724
  ValidationError,
1645
1725
  UpdateSubscriptionRequestSchema,
1646
1726
  TenantSuspendedError,
1727
+ TABLE_TO_DB,
1647
1728
  SubscriptionStatusSchema,
1648
1729
  SubscriptionRuntimeSchema,
1649
1730
  SubscriptionFormatSchema,
@@ -1693,5 +1774,5 @@ export {
1693
1774
  AuthenticationError
1694
1775
  };
1695
1776
 
1696
- //# debugId=80DED0C0E8D3237364756E2164756E21
1777
+ //# debugId=E26BA28FDF632B7E64756E2164756E21
1697
1778
  //# sourceMappingURL=index.js.map