@eternl/network-id 0.47.0 → 0.48.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.
Files changed (50) hide show
  1. package/README.md +18 -1
  2. package/dist/{GenesisStore-CqCs2Yin.mjs → GenesisStore-BZQk-5ZY.mjs} +46 -1
  3. package/dist/GenesisStore-BZQk-5ZY.mjs.map +1 -0
  4. package/dist/{GenesisStore-DGnbeDqM.cjs → GenesisStore-r52jj7kC.cjs} +46 -1
  5. package/dist/GenesisStore-r52jj7kC.cjs.map +1 -0
  6. package/dist/{NetworkId-B9JhuswJ.d.cts → NetworkId-BzB9yQuF.d.cts} +4 -2
  7. package/dist/NetworkId-BzB9yQuF.d.cts.map +1 -0
  8. package/dist/{NetworkId-B9JhuswJ.d.mts → NetworkId-BzB9yQuF.d.mts} +4 -2
  9. package/dist/NetworkId-BzB9yQuF.d.mts.map +1 -0
  10. package/dist/{chain-DRRhGMxp.d.mts → chain-0Mtrt2zw.d.mts} +2 -2
  11. package/dist/chain-0Mtrt2zw.d.mts.map +1 -0
  12. package/dist/{chain-DbsXl5Uh.d.cts → chain-TJS85jZZ.d.cts} +2 -2
  13. package/dist/chain-TJS85jZZ.d.cts.map +1 -0
  14. package/dist/chain.cjs +3 -7
  15. package/dist/chain.cjs.map +1 -1
  16. package/dist/chain.d.cts +1 -1
  17. package/dist/chain.d.mts +1 -1
  18. package/dist/chain.mjs +3 -7
  19. package/dist/chain.mjs.map +1 -1
  20. package/dist/index.cjs +2 -1
  21. package/dist/index.d.cts +3 -3
  22. package/dist/index.d.mts +3 -3
  23. package/dist/index.mjs +3 -3
  24. package/dist/network/GenesisStore.cjs +1 -1
  25. package/dist/network/GenesisStore.d.cts +1 -1
  26. package/dist/network/GenesisStore.d.mts +1 -1
  27. package/dist/network/GenesisStore.mjs +1 -1
  28. package/dist/network/musashi-2026w42/profile.cjs +21 -0
  29. package/dist/network/musashi-2026w42/profile.cjs.map +1 -0
  30. package/dist/network/musashi-2026w42/profile.d.cts +18 -0
  31. package/dist/network/musashi-2026w42/profile.d.cts.map +1 -0
  32. package/dist/network/musashi-2026w42/profile.d.mts +18 -0
  33. package/dist/network/musashi-2026w42/profile.d.mts.map +1 -0
  34. package/dist/network/musashi-2026w42/profile.mjs +20 -0
  35. package/dist/network/musashi-2026w42/profile.mjs.map +1 -0
  36. package/dist/types/IChainTip.d.cts +1 -1
  37. package/dist/types/IChainTip.d.mts +1 -1
  38. package/dist/types/NetworkId.cjs +14 -1
  39. package/dist/types/NetworkId.cjs.map +1 -1
  40. package/dist/types/NetworkId.d.cts +2 -2
  41. package/dist/types/NetworkId.d.mts +2 -2
  42. package/dist/types/NetworkId.mjs +14 -2
  43. package/dist/types/NetworkId.mjs.map +1 -1
  44. package/package.json +2 -2
  45. package/dist/GenesisStore-CqCs2Yin.mjs.map +0 -1
  46. package/dist/GenesisStore-DGnbeDqM.cjs.map +0 -1
  47. package/dist/NetworkId-B9JhuswJ.d.cts.map +0 -1
  48. package/dist/NetworkId-B9JhuswJ.d.mts.map +0 -1
  49. package/dist/chain-DRRhGMxp.d.mts.map +0 -1
  50. package/dist/chain-DbsXl5Uh.d.cts.map +0 -1
package/README.md CHANGED
@@ -46,7 +46,23 @@ const firstSlot = timeline.slotAtOrAfter(time + 1) // 43
46
46
  Times are nonnegative Unix milliseconds. `slotAtOrAfter` clamps timestamps before
47
47
  genesis to slot zero; it rounds up, so the inclusive last slot in `[start, end)`
48
48
  is `slotAtOrAfter(end) - 1`. Results beyond the safe integer range throw.
49
- Existing registered-network helpers and frontend network lists are unchanged.
49
+ The timeline utility does not change registered-network helpers or select frontend networks.
50
+
51
+ ## Musashi development network
52
+
53
+ `NETWORK_ID.MUSASHI_2026W42` identifies the prototype testnet with magic 164,
54
+ testnet address discriminator 0, and genesis at 2026-10-18T00:00:00Z. Slots last
55
+ one second and epochs contain 21,600 slots. `isDevelopmentNetwork(id)` marks
56
+ this network for explicit opt-in by development consumers. It is a distinct
57
+ wallet/cache namespace and must not be represented as preprod.
58
+
59
+ `@eternl/network-id/network/musashi-2026w42/profile` exports the immutable
60
+ `MUSASHI_2026W42` genesis pins, codec profile and slot timeline. The metadata
61
+ contains no public API, explorer or faucet URLs. A reset requires a new network
62
+ identifier. See [profile provenance](src/network/musashi-2026w42/README.md).
63
+
64
+ This package remains public (`BUSL-1.1`); frontend development enablement belongs
65
+ to the private `@eternl/network-feature` package and the consuming application.
50
66
 
51
67
  ## Exports
52
68
 
@@ -63,6 +79,7 @@ Existing registered-network helpers and frontend network lists are unchanged.
63
79
  - `getNetworkId`
64
80
  - `getNetworkDecimals`
65
81
  - `isTestnetNetwork`
82
+ - `isDevelopmentNetwork`
66
83
  - `isCustomNetwork`
67
84
  - `getNetworkCurrencyCode`
68
85
  - `getNetworkCurrencySymbol`
@@ -343,6 +343,51 @@ const GenesisStore = {
343
343
  }
344
344
  }
345
345
  },
346
+ "musashi-2026w42": {
347
+ shelley: {
348
+ activeSlotsCoeff: .05,
349
+ epochLength: 21600,
350
+ maxKESEvolutions: 62,
351
+ maxLovelaceSupply: 0x9fdf42f6e48000,
352
+ networkId: "Testnet",
353
+ networkMagic: 164,
354
+ securityParam: 108,
355
+ slotLength: 1,
356
+ slotsPerKESPeriod: 129600,
357
+ systemStart: "2026-10-18T00:00:00Z",
358
+ updateQuorum: 3
359
+ },
360
+ byron: {
361
+ startTime: 1792281600,
362
+ blockVersionData: {
363
+ "heavyDelThd": "300000000000",
364
+ "maxBlockSize": "2000000",
365
+ "maxHeaderSize": "2000000",
366
+ "maxProposalSize": "700",
367
+ "maxTxSize": "4096",
368
+ "mpcThd": "20000000000000",
369
+ "scriptVersion": 0,
370
+ "slotDuration": "20000",
371
+ "softforkRule": {
372
+ "initThd": "900000000000000",
373
+ "minThd": "600000000000000",
374
+ "thdDecrement": "50000000000000"
375
+ },
376
+ "txFeePolicy": {
377
+ "multiplier": "43946000000",
378
+ "summand": "155381000000000"
379
+ },
380
+ "unlockStakeEpoch": "18446744073709551615",
381
+ "updateImplicit": "10000",
382
+ "updateProposalThd": "100000000000000",
383
+ "updateVoteThd": "1000000000000"
384
+ },
385
+ protocolConsts: {
386
+ "k": 108,
387
+ "protocolMagic": 164
388
+ }
389
+ }
390
+ },
346
391
  afvt: {
347
392
  shelley: {
348
393
  activeSlotsCoeff: .25,
@@ -615,4 +660,4 @@ const GenesisStore = {
615
660
  //#endregion
616
661
  export { GenesisStore as t };
617
662
 
618
- //# sourceMappingURL=GenesisStore-CqCs2Yin.mjs.map
663
+ //# sourceMappingURL=GenesisStore-BZQk-5ZY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenesisStore-BZQk-5ZY.mjs","names":["mainnetShelley","mainnetByron","guildShelley","guildByron","sanchoShelley","sanchoByron","preprodShelley","preprodByron","previewShelley","previewByron","musashiShelley","musashiByron","afvtShelley","afvtByron","afvmShelley","afvmByron","afptShelley","afptByron","afpmShelley","afpmByron"],"sources":["../src/network/afpm/byron.json","../src/network/afpm/shelley.json","../src/network/afpt/byron.json","../src/network/afpt/shelley.json","../src/network/afvm/byron.json","../src/network/afvm/shelley.json","../src/network/afvt/byron.json","../src/network/afvt/shelley.json","../src/network/guild/byron.json","../src/network/guild/shelley.json","../src/network/mainnet/byron.json","../src/network/mainnet/shelley.json","../src/network/musashi-2026w42/byron.json","../src/network/musashi-2026w42/shelley.json","../src/network/preprod/byron.json","../src/network/preprod/shelley.json","../src/network/preview/byron.json","../src/network/preview/shelley.json","../src/network/sancho/byron.json","../src/network/sancho/shelley.json","../src/network/GenesisStore.ts"],"sourcesContent":["","","","","","","","","","","","","","","","","","","","","import { type NetworkId } from '../index'\nimport afpmByron from './afpm/byron.json'\nimport afpmShelley from './afpm/shelley.json'\nimport afptByron from './afpt/byron.json'\nimport afptShelley from './afpt/shelley.json'\nimport afvmByron from './afvm/byron.json'\nimport afvmShelley from './afvm/shelley.json'\nimport afvtByron from './afvt/byron.json'\nimport afvtShelley from './afvt/shelley.json'\nimport guildByron from './guild/byron.json'\nimport guildShelley from './guild/shelley.json'\nimport { type IGenesisStore } from './IGenesisStore'\nimport mainnetByron from './mainnet/byron.json'\nimport mainnetShelley from './mainnet/shelley.json'\nimport musashiByron from './musashi-2026w42/byron.json'\nimport musashiShelley from './musashi-2026w42/shelley.json'\nimport preprodByron from './preprod/byron.json'\nimport preprodShelley from './preprod/shelley.json'\nimport previewByron from './preview/byron.json'\nimport previewShelley from './preview/shelley.json'\nimport sanchoByron from './sancho/byron.json'\nimport sanchoShelley from './sancho/shelley.json'\n\nexport const GenesisStore: Record<NetworkId, IGenesisStore> = {\n\n mainnet: {\n\n shelley: mainnetShelley,\n byron: mainnetByron\n },\n\n guild: {\n\n shelley: guildShelley,\n byron: guildByron\n },\n\n sancho: {\n\n shelley: sanchoShelley,\n byron: sanchoByron\n },\n\n preprod: {\n\n shelley: preprodShelley,\n byron: preprodByron\n },\n\n preview: {\n\n shelley: previewShelley,\n byron: previewByron\n },\n\n 'musashi-2026w42': {\n\n shelley: musashiShelley,\n byron: musashiByron\n },\n\n afvt: {\n\n shelley: afvtShelley,\n byron: afvtByron\n },\n\n afvm: {\n\n shelley: afvmShelley,\n byron: afvmByron\n },\n\n afpt: {\n\n shelley: afptShelley,\n byron: afptByron\n },\n\n afpm: {\n\n shelley: afpmShelley,\n byron: afpmByron\n },\n}\n"],"mappings":";;AoBuBA,MAAa,eAAiD;CAE5D,SAA4B;EAE1B,SAA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,OAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,QAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,mBAA6B;EAE3B,SAA0BC;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;AACF"}
@@ -343,6 +343,51 @@ const GenesisStore = {
343
343
  }
344
344
  }
345
345
  },
346
+ "musashi-2026w42": {
347
+ shelley: {
348
+ activeSlotsCoeff: .05,
349
+ epochLength: 21600,
350
+ maxKESEvolutions: 62,
351
+ maxLovelaceSupply: 0x9fdf42f6e48000,
352
+ networkId: "Testnet",
353
+ networkMagic: 164,
354
+ securityParam: 108,
355
+ slotLength: 1,
356
+ slotsPerKESPeriod: 129600,
357
+ systemStart: "2026-10-18T00:00:00Z",
358
+ updateQuorum: 3
359
+ },
360
+ byron: {
361
+ startTime: 1792281600,
362
+ blockVersionData: {
363
+ "heavyDelThd": "300000000000",
364
+ "maxBlockSize": "2000000",
365
+ "maxHeaderSize": "2000000",
366
+ "maxProposalSize": "700",
367
+ "maxTxSize": "4096",
368
+ "mpcThd": "20000000000000",
369
+ "scriptVersion": 0,
370
+ "slotDuration": "20000",
371
+ "softforkRule": {
372
+ "initThd": "900000000000000",
373
+ "minThd": "600000000000000",
374
+ "thdDecrement": "50000000000000"
375
+ },
376
+ "txFeePolicy": {
377
+ "multiplier": "43946000000",
378
+ "summand": "155381000000000"
379
+ },
380
+ "unlockStakeEpoch": "18446744073709551615",
381
+ "updateImplicit": "10000",
382
+ "updateProposalThd": "100000000000000",
383
+ "updateVoteThd": "1000000000000"
384
+ },
385
+ protocolConsts: {
386
+ "k": 108,
387
+ "protocolMagic": 164
388
+ }
389
+ }
390
+ },
346
391
  afvt: {
347
392
  shelley: {
348
393
  activeSlotsCoeff: .25,
@@ -620,4 +665,4 @@ Object.defineProperty(exports, "GenesisStore", {
620
665
  }
621
666
  });
622
667
 
623
- //# sourceMappingURL=GenesisStore-DGnbeDqM.cjs.map
668
+ //# sourceMappingURL=GenesisStore-r52jj7kC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenesisStore-r52jj7kC.cjs","names":["mainnetShelley","mainnetByron","guildShelley","guildByron","sanchoShelley","sanchoByron","preprodShelley","preprodByron","previewShelley","previewByron","musashiShelley","musashiByron","afvtShelley","afvtByron","afvmShelley","afvmByron","afptShelley","afptByron","afpmShelley","afpmByron"],"sources":["../src/network/afpm/byron.json","../src/network/afpm/shelley.json","../src/network/afpt/byron.json","../src/network/afpt/shelley.json","../src/network/afvm/byron.json","../src/network/afvm/shelley.json","../src/network/afvt/byron.json","../src/network/afvt/shelley.json","../src/network/guild/byron.json","../src/network/guild/shelley.json","../src/network/mainnet/byron.json","../src/network/mainnet/shelley.json","../src/network/musashi-2026w42/byron.json","../src/network/musashi-2026w42/shelley.json","../src/network/preprod/byron.json","../src/network/preprod/shelley.json","../src/network/preview/byron.json","../src/network/preview/shelley.json","../src/network/sancho/byron.json","../src/network/sancho/shelley.json","../src/network/GenesisStore.ts"],"sourcesContent":["","","","","","","","","","","","","","","","","","","","","import { type NetworkId } from '../index'\nimport afpmByron from './afpm/byron.json'\nimport afpmShelley from './afpm/shelley.json'\nimport afptByron from './afpt/byron.json'\nimport afptShelley from './afpt/shelley.json'\nimport afvmByron from './afvm/byron.json'\nimport afvmShelley from './afvm/shelley.json'\nimport afvtByron from './afvt/byron.json'\nimport afvtShelley from './afvt/shelley.json'\nimport guildByron from './guild/byron.json'\nimport guildShelley from './guild/shelley.json'\nimport { type IGenesisStore } from './IGenesisStore'\nimport mainnetByron from './mainnet/byron.json'\nimport mainnetShelley from './mainnet/shelley.json'\nimport musashiByron from './musashi-2026w42/byron.json'\nimport musashiShelley from './musashi-2026w42/shelley.json'\nimport preprodByron from './preprod/byron.json'\nimport preprodShelley from './preprod/shelley.json'\nimport previewByron from './preview/byron.json'\nimport previewShelley from './preview/shelley.json'\nimport sanchoByron from './sancho/byron.json'\nimport sanchoShelley from './sancho/shelley.json'\n\nexport const GenesisStore: Record<NetworkId, IGenesisStore> = {\n\n mainnet: {\n\n shelley: mainnetShelley,\n byron: mainnetByron\n },\n\n guild: {\n\n shelley: guildShelley,\n byron: guildByron\n },\n\n sancho: {\n\n shelley: sanchoShelley,\n byron: sanchoByron\n },\n\n preprod: {\n\n shelley: preprodShelley,\n byron: preprodByron\n },\n\n preview: {\n\n shelley: previewShelley,\n byron: previewByron\n },\n\n 'musashi-2026w42': {\n\n shelley: musashiShelley,\n byron: musashiByron\n },\n\n afvt: {\n\n shelley: afvtShelley,\n byron: afvtByron\n },\n\n afvm: {\n\n shelley: afvmShelley,\n byron: afvmByron\n },\n\n afpt: {\n\n shelley: afptShelley,\n byron: afptByron\n },\n\n afpm: {\n\n shelley: afpmShelley,\n byron: afpmByron\n },\n}\n"],"mappings":";;AoBuBA,MAAa,eAAiD;CAE5D,SAA4B;EAE1B,SAA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,OAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,QAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,mBAA6B;EAE3B,SAA0BC;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;AACF"}
@@ -5,6 +5,7 @@ declare const NETWORK_ID: {
5
5
  readonly SANCHO: 'sancho';
6
6
  readonly PREPROD: 'preprod';
7
7
  readonly PREVIEW: 'preview';
8
+ readonly MUSASHI_2026W42: 'musashi-2026w42';
8
9
  readonly AFVT: 'afvt';
9
10
  readonly AFVM: 'afvm';
10
11
  readonly AFPT: 'afpt';
@@ -26,6 +27,7 @@ declare const isTestnetNetwork: (networkId: NetworkId) => boolean;
26
27
  declare const isCustomNetwork: (networkId: NetworkId) => boolean;
27
28
  declare const getNetworkCurrencyCode: (id: NetworkId) => string;
28
29
  declare const getNetworkCurrencySymbol: (id: NetworkId) => string;
30
+ declare const isDevelopmentNetwork: (id: string) => boolean;
29
31
  //#endregion
30
- export { networkStakeAddressPrefix as _, getNetworkDecimals as a, isSupportedNetworkId as c, networkCurrencyCode as d, networkCurrencySymbol as f, networkShelleyTransitionEpoch as g, networkIdx as h, getNetworkCurrencySymbol as i, isTestnetNetwork as l, networkIdList as m, NetworkId as n, getNetworkId as o, networkGroups as p, getNetworkCurrencyCode as r, isCustomNetwork as s, NETWORK_ID as t, networkAddressPrefix as u };
31
- //# sourceMappingURL=NetworkId-B9JhuswJ.d.cts.map
32
+ export { networkShelleyTransitionEpoch as _, getNetworkDecimals as a, isDevelopmentNetwork as c, networkAddressPrefix as d, networkCurrencyCode as f, networkIdx as g, networkIdList as h, getNetworkCurrencySymbol as i, isSupportedNetworkId as l, networkGroups as m, NetworkId as n, getNetworkId as o, networkCurrencySymbol as p, getNetworkCurrencyCode as r, isCustomNetwork as s, NETWORK_ID as t, isTestnetNetwork as u, networkStakeAddressPrefix as v };
33
+ //# sourceMappingURL=NetworkId-BzB9yQuF.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkId-BzB9yQuF.d.cts","names":[],"sources":["../src/types/NetworkId.ts"],"mappings":";cAAa;WAEX;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU,mBAA2B,wBAAwB;cAElD,eAAoB;cAapB,YAAY,OAAO;cAcnB,eAAe,eAAe;cAM9B,+BAA+B,OAAO;cActC,sBAAsB,OAAO;cAc7B,2BAA2B,OAAO;cAclC,qBAAqB,OAAO;cAc5B,uBAAuB,OAAO;cAc9B,uBAAoB,uBAA6B,MAAM;cAEvD,eAAY;cAmBZ,qBAAkB,IAAc;cAShC,mBAAgB,WAAuB;cAmBvC,kBAAe,WAAwB;cAEvC,yBAAsB,IAAU;cAChC,2BAAwB,IAAQ;cAGhC,uBAAoB"}
@@ -5,6 +5,7 @@ declare const NETWORK_ID: {
5
5
  readonly SANCHO: 'sancho';
6
6
  readonly PREPROD: 'preprod';
7
7
  readonly PREVIEW: 'preview';
8
+ readonly MUSASHI_2026W42: 'musashi-2026w42';
8
9
  readonly AFVT: 'afvt';
9
10
  readonly AFVM: 'afvm';
10
11
  readonly AFPT: 'afpt';
@@ -26,6 +27,7 @@ declare const isTestnetNetwork: (networkId: NetworkId) => boolean;
26
27
  declare const isCustomNetwork: (networkId: NetworkId) => boolean;
27
28
  declare const getNetworkCurrencyCode: (id: NetworkId) => string;
28
29
  declare const getNetworkCurrencySymbol: (id: NetworkId) => string;
30
+ declare const isDevelopmentNetwork: (id: string) => boolean;
29
31
  //#endregion
30
- export { networkStakeAddressPrefix as _, getNetworkDecimals as a, isSupportedNetworkId as c, networkCurrencyCode as d, networkCurrencySymbol as f, networkShelleyTransitionEpoch as g, networkIdx as h, getNetworkCurrencySymbol as i, isTestnetNetwork as l, networkIdList as m, NetworkId as n, getNetworkId as o, networkGroups as p, getNetworkCurrencyCode as r, isCustomNetwork as s, NETWORK_ID as t, networkAddressPrefix as u };
31
- //# sourceMappingURL=NetworkId-B9JhuswJ.d.mts.map
32
+ export { networkShelleyTransitionEpoch as _, getNetworkDecimals as a, isDevelopmentNetwork as c, networkAddressPrefix as d, networkCurrencyCode as f, networkIdx as g, networkIdList as h, getNetworkCurrencySymbol as i, isSupportedNetworkId as l, networkGroups as m, NetworkId as n, getNetworkId as o, networkCurrencySymbol as p, getNetworkCurrencyCode as r, isCustomNetwork as s, NETWORK_ID as t, isTestnetNetwork as u, networkStakeAddressPrefix as v };
33
+ //# sourceMappingURL=NetworkId-BzB9yQuF.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkId-BzB9yQuF.d.mts","names":[],"sources":["../src/types/NetworkId.ts"],"mappings":";cAAa;WAEX;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU,mBAA2B,wBAAwB;cAElD,eAAoB;cAapB,YAAY,OAAO;cAcnB,eAAe,eAAe;cAM9B,+BAA+B,OAAO;cActC,sBAAsB,OAAO;cAc7B,2BAA2B,OAAO;cAclC,qBAAqB,OAAO;cAc5B,uBAAuB,OAAO;cAc9B,uBAAoB,uBAA6B,MAAM;cAEvD,eAAY;cAmBZ,qBAAkB,IAAc;cAShC,mBAAgB,WAAuB;cAmBvC,kBAAe,WAAwB;cAEvC,yBAAsB,IAAU;cAChC,2BAAwB,IAAQ;cAGhC,uBAAoB"}
@@ -1,6 +1,6 @@
1
1
  import { a as IShelley, n as IByron, r as IGenesisStore } from "./IGenesisStore-DsIpICQ8.mjs";
2
2
  import { t as DateId } from "./DateId-DpLkO3y9.mjs";
3
- import { n as NetworkId } from "./NetworkId-B9JhuswJ.mjs";
3
+ import { n as NetworkId } from "./NetworkId-BzB9yQuF.mjs";
4
4
  //#region src/network/GenesisStore.d.ts
5
5
  declare const GenesisStore: Record<NetworkId, IGenesisStore>;
6
6
  //#endregion
@@ -44,4 +44,4 @@ declare const getDateIdFromTimestamp: (timeStamp: number, userSelectedTimezone:
44
44
  declare const getSlotFromDateId: (networkId: NetworkId, dateId: Pick<DateId, 'year' | 'month' | 'day' | 'timezone'>, calcEnd?: boolean) => number;
45
45
  //#endregion
46
46
  export { getTimestampFromSlot as _, getCalculatedSlotFromBlockTime as a, createIChainTip as b, getEpochFromSlot as c, getGenesis as d, getLastSlotOfEpoch as f, getSlotFromDateId as g, getShelley as h, getCalculatedEpochSlot as i, getEpochLength as l, getNumEpochBlocks as m, getCalculatedChainTip as n, getDateIdFromSlot as o, getNetworkMagic as p, getCalculatedEpoch as r, getDateIdFromTimestamp as s, getByron as t, getEpochStart as u, updateChainTip as v, GenesisStore as x, IChainTip as y };
47
- //# sourceMappingURL=chain-DRRhGMxp.d.mts.map
47
+ //# sourceMappingURL=chain-0Mtrt2zw.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-0Mtrt2zw.d.mts","names":[],"sources":["../src/network/GenesisStore.ts","../src/types/IChainTip.ts","../src/chain.ts"],"mappings":";;;;cAuBa,cAAc,OAAO,WAAW;;;UCrB5B;EAEf,WAA4B;EAC5B,SAA4B;EAE5B;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;cAGW,kBAAe,WAAe,qBAAmB;;;cCIjD,aAAU,WAAqB,cAAY;cAC3C,WAAQ,WAAuB,cAAY;cAC3C,aAAU,WAAqB,cAAY;cAC3C,kBAAe,WAAgB;cAC/B,iBAAc,WAAiB;cAC/B,oBAAiB,WAAc;cAuB/B,wBAAqB,WAAe;cAiBpC,uBAAoB,WAAe,WAAS;cAc5C,mBAAgB,WAAe,WAAS;cAcxC,iCAA8B,WAAe,WAAS;cAmBtD,yBAAsB,WAAe;cAWrC,qBAAkB,IAAQ;cAmB1B,qBAAkB,IAAQ,WAAS;cAenC,gBAAa,IAAW,WAAS;EAE5C;EACA;;cA4BW,iBAAc,IAAU,WAAS,UAAY,WAAS,MAAQ,cAAY;cAoB1E,oBAAiB,WAAe,WAAS,gBAAgB,iCAAiC;cAO1F,yBAAsB,mBAAqB,iCAAiC;cAsC5E,oBAAiB,WACjB,WAAS,QACZ,KAAK,gDAA8C"}
@@ -1,6 +1,6 @@
1
1
  import { a as IShelley, n as IByron, r as IGenesisStore } from "./IGenesisStore-DsIpICQ8.cjs";
2
2
  import { t as DateId } from "./DateId-DpLkO3y9.cjs";
3
- import { n as NetworkId } from "./NetworkId-B9JhuswJ.cjs";
3
+ import { n as NetworkId } from "./NetworkId-BzB9yQuF.cjs";
4
4
  //#region src/network/GenesisStore.d.ts
5
5
  declare const GenesisStore: Record<NetworkId, IGenesisStore>;
6
6
  //#endregion
@@ -44,4 +44,4 @@ declare const getDateIdFromTimestamp: (timeStamp: number, userSelectedTimezone:
44
44
  declare const getSlotFromDateId: (networkId: NetworkId, dateId: Pick<DateId, 'year' | 'month' | 'day' | 'timezone'>, calcEnd?: boolean) => number;
45
45
  //#endregion
46
46
  export { getTimestampFromSlot as _, getCalculatedSlotFromBlockTime as a, createIChainTip as b, getEpochFromSlot as c, getGenesis as d, getLastSlotOfEpoch as f, getSlotFromDateId as g, getShelley as h, getCalculatedEpochSlot as i, getEpochLength as l, getNumEpochBlocks as m, getCalculatedChainTip as n, getDateIdFromSlot as o, getNetworkMagic as p, getCalculatedEpoch as r, getDateIdFromTimestamp as s, getByron as t, getEpochStart as u, updateChainTip as v, GenesisStore as x, IChainTip as y };
47
- //# sourceMappingURL=chain-DbsXl5Uh.d.cts.map
47
+ //# sourceMappingURL=chain-TJS85jZZ.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-TJS85jZZ.d.cts","names":[],"sources":["../src/network/GenesisStore.ts","../src/types/IChainTip.ts","../src/chain.ts"],"mappings":";;;;cAuBa,cAAc,OAAO,WAAW;;;UCrB5B;EAEf,WAA4B;EAC5B,SAA4B;EAE5B;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;cAGW,kBAAe,WAAe,qBAAmB;;;cCIjD,aAAU,WAAqB,cAAY;cAC3C,WAAQ,WAAuB,cAAY;cAC3C,aAAU,WAAqB,cAAY;cAC3C,kBAAe,WAAgB;cAC/B,iBAAc,WAAiB;cAC/B,oBAAiB,WAAc;cAuB/B,wBAAqB,WAAe;cAiBpC,uBAAoB,WAAe,WAAS;cAc5C,mBAAgB,WAAe,WAAS;cAcxC,iCAA8B,WAAe,WAAS;cAmBtD,yBAAsB,WAAe;cAWrC,qBAAkB,IAAQ;cAmB1B,qBAAkB,IAAQ,WAAS;cAenC,gBAAa,IAAW,WAAS;EAE5C;EACA;;cA4BW,iBAAc,IAAU,WAAS,UAAY,WAAS,MAAQ,cAAY;cAoB1E,oBAAiB,WAAe,WAAS,gBAAgB,iCAAiC;cAO1F,yBAAsB,mBAAqB,iCAAiC;cAsC5E,oBAAiB,WACjB,WAAS,QACZ,KAAK,gDAA8C"}
package/dist/chain.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_GenesisStore = require("./GenesisStore-DGnbeDqM.cjs");
2
+ const require_GenesisStore = require("./GenesisStore-r52jj7kC.cjs");
3
3
  const require_types_NetworkId = require("./types/NetworkId.cjs");
4
4
  let _eternl_tools = require("@eternl/tools");
5
5
  //#region src/chain.ts
@@ -42,14 +42,10 @@ const getTimestampFromSlot = (networkId, slotNo) => {
42
42
  return (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength) * 1e3;
43
43
  };
44
44
  const getEpochFromSlot = (networkId, slotNo) => {
45
- const byron = getByron(networkId);
46
45
  const shelley = getShelley(networkId);
47
46
  const common = getCommonData(networkId);
48
- let timeSec = 0;
49
- if (slotNo < common.byronSlots) timeSec = byron.startTime + slotNo * parseInt(byron.blockVersionData.slotDuration);
50
- else timeSec = common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength;
51
- if (timeSec < common.byronEndTime) return Math.floor((timeSec - byron.startTime) * 1e3 / parseInt(byron.blockVersionData.slotDuration) / common.byronEpochLength);
52
- return common.shelleyTransEpoch + Math.floor((timeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength);
47
+ if (slotNo < common.byronSlots) return Math.floor(slotNo / common.byronEpochLength);
48
+ return common.shelleyTransEpoch + Math.floor((slotNo - common.byronSlots) / shelley.epochLength);
53
49
  };
54
50
  const getCalculatedSlotFromBlockTime = (networkId, timestamp) => {
55
51
  const dateTimeSec = Math.floor(new Date(timestamp).getTime() / 1e3);
@@ -1 +1 @@
1
- {"version":3,"file":"chain.cjs","names":["GenesisStore","now","networkShelleyTransitionEpoch","changeTimezone"],"sources":["../src/chain.ts"],"sourcesContent":["import {\n changeTimezone,\n now,\n} from '@eternl/tools'\n\nimport { GenesisStore } from './network/GenesisStore'\nimport {\n type IByron,\n type IGenesisStore,\n type IShelley,\n} from './network/IGenesisStore'\nimport { type DateId } from './types/DateId'\nimport { type IChainTip } from './types/IChainTip'\nimport {\n type NetworkId,\n networkShelleyTransitionEpoch,\n} from './types/NetworkId'\n\n// Cache for storing calculated DateId results\nconst dateIdCache = new Map<string, DateId>()\n\n// Cache for Intl.DateTimeFormat instances (these are expensive to create)\nconst formatterCache = new Map<string, Intl.DateTimeFormat>()\n\nexport const getGenesis = (networkId: NetworkId): IGenesisStore => GenesisStore[networkId]\nexport const getByron = (networkId: NetworkId): IByron => GenesisStore[networkId].byron\nexport const getShelley = (networkId: NetworkId): IShelley => GenesisStore[networkId].shelley\nexport const getNetworkMagic = (networkId: NetworkId): number => GenesisStore[networkId].shelley.networkMagic\nexport const getEpochLength = (networkId: NetworkId): number => GenesisStore[networkId].shelley.epochLength\nexport const getNumEpochBlocks= (networkId: NetworkId): number => getEpochLength(networkId) * GenesisStore[networkId].shelley.activeSlotsCoeff\n\nconst getCommonData = (networkId: NetworkId): any => {\n\n const byron = getByron(networkId)\n\n const currentTimeSec = Math.floor(now() / 1000)\n const shelleyTransEpoch = networkShelleyTransitionEpoch[networkId]\n const byronEpochLength = byron.protocolConsts.k * 10\n const byronSlots = shelleyTransEpoch * byronEpochLength\n const byronSlotLength = byron.blockVersionData.slotDuration\n const byronEndTime = byron.startTime + Math.floor((shelleyTransEpoch * byronEpochLength * parseInt(byronSlotLength)) / 1000)\n\n return {\n currentTimeSec,\n shelleyTransEpoch,\n byronEpochLength,\n byronSlots,\n byronSlotLength,\n byronEndTime\n }\n}\n\nexport const getCalculatedChainTip = (networkId: NetworkId): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getTimestampFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (slotNo < common.byronSlots) {\n\n return (byron.startTime * 1000 + (slotNo * parseInt(byron.blockVersionData.slotDuration)))\n }\n\n return (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength) * 1000\n}\n\nexport const getEpochFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n let timeSec = 0\n\n if (slotNo < common.byronSlots) {\n\n timeSec = (byron.startTime + (slotNo * parseInt(byron.blockVersionData.slotDuration)))\n\n } else {\n\n timeSec = (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength)\n }\n\n if (timeSec < common.byronEndTime) {\n\n return Math.floor(\n (((timeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n ) / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (timeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength)\n}\n\nexport const getCalculatedSlotFromBlockTime = (networkId: NetworkId, timestamp: any): number => {\n\n const dateTimeSec = Math.floor((new Date(timestamp)).getTime() / 1000)\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (dateTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (dateTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (dateTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getCalculatedEpochSlot = (networkId: NetworkId): number => {\n\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n const tip = getCalculatedChainTip(networkId) - common.byronSlots - (\n (getCalculatedEpoch(networkId) - common.shelleyTransEpoch) * shelley.epochLength)\n\n return Math.floor(tip)\n}\n\nexport const getCalculatedEpoch = (id: NetworkId): number => {\n\n const byron = getByron(id)\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (((common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n ) / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength)\n}\n\nexport const getLastSlotOfEpoch = (id: NetworkId, epochNo: number): number => {\n\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (epochNo <= common.shelleyTransEpoch) {\n\n return common.byronEpochLength * epochNo\n }\n\n return (common.byronEpochLength * (common.shelleyTransEpoch - 1)) +\n ((epochNo - common.shelleyTransEpoch + 1) * shelley.epochLength)\n}\n\nexport const getEpochStart = (id: NetworkId, epochNo: number): {\n\n slotNumber: number,\n timestamp: number\n\n} => {\n\n const common = getCommonData(id)\n\n if (epochNo >= common.shelleyTransEpoch) {\n\n const shelley = getShelley(id)\n\n const shelleySlots = (epochNo - common.shelleyTransEpoch) * shelley.epochLength\n\n const slotNumber = common.byronSlots + shelleySlots + 1\n const timestamp = (common.byronEndTime + shelleySlots + 1) * 1000\n\n return { slotNumber, timestamp }\n\n } else {\n\n const byron = getByron(id)\n\n const slotNumber = epochNo * common.byronEpochLength\n const timestamp = (byron.startTime + slotNumber * parseInt(common.byronSlotLength) / 1000) * 1000\n\n return { slotNumber, timestamp }\n }\n}\n\nexport const updateChainTip = (id: NetworkId, chainTip: IChainTip, data: IChainTip): IChainTip => {\n\n const shelley = getShelley(id)\n\n const calcTip = getCalculatedChainTip(id)\n\n chainTip.blockNo = data.blockNo\n chainTip.slotNo = data.slotNo\n\n chainTip.epochNo = data.epochNo\n chainTip.epochSlot = data.epochSlot\n chainTip.epochSlots = shelley.epochLength\n chainTip.epochPercent = parseFloat(((chainTip.epochSlot / chainTip.epochSlots) * 100).toFixed(2))\n chainTip.syncProgress = Math.round((chainTip.slotNo / calcTip) * 10000) / 100\n\n chainTip.onTip = (calcTip - chainTip.slotNo) < 300 // 5 minutes without a block\n\n return chainTip\n}\n\nexport const getDateIdFromSlot = (networkId: NetworkId, slotNo: number, userSelectedTimezone: string): DateId => {\n\n const timeStamp = getTimestampFromSlot(networkId, slotNo)\n\n return getDateIdFromTimestamp(timeStamp, userSelectedTimezone)\n}\n\nexport const getDateIdFromTimestamp = (timeStamp: number, userSelectedTimezone: string): DateId => {\n\n const cacheKey = `${timeStamp}_${userSelectedTimezone}`\n\n const cachedResult = dateIdCache.get(cacheKey)\n\n if (cachedResult) { return cachedResult }\n\n let formatter = formatterCache.get(userSelectedTimezone)\n\n if (!formatter) {\n\n formatter = Intl.DateTimeFormat('de-DE', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n timeZone: userSelectedTimezone,\n })\n\n formatterCache.set(userSelectedTimezone, formatter)\n }\n\n const date = new Date(timeStamp)\n const dateArray = formatter.formatToParts(date)\n\n const result: DateId = {\n\n year: parseInt(dateArray[4]!.value),\n month: parseInt(dateArray[2]!.value),\n day: parseInt(dateArray[0]!.value),\n timezone: userSelectedTimezone\n }\n\n dateIdCache.set(cacheKey, result)\n\n return result\n}\n\nexport const getSlotFromDateId = (\n networkId: NetworkId,\n dateId: Pick<DateId, 'year' | 'month' | 'day' | 'timezone'>,\n calcEnd: boolean = false\n): number => {\n\n const year = dateId.year // e.g. 2023\n const month = dateId.month - 1 // date months start at 0\n\n let date\n\n if (dateId.day === 0 && dateId.month === 0) {\n\n if (calcEnd) {\n\n // up to 31st Dec 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year + 1, 0, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st Jan 00:00:00\n date = new Date((new Date(year, 0, 1, 0, 0, 0)).getTime())\n }\n\n } else if (dateId.day === 0) {\n\n if (calcEnd) {\n\n // up to last day of month 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year, month + 1, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st day of month 00:00:00\n date = new Date((new Date(year, month, 1, 0, 0, 0)).getTime())\n }\n\n } else {\n\n if (calcEnd) {\n\n // up to 23:59:59\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime() + (86400 - 1) * 1000)\n\n } else {\n\n // from 00:00:00\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime())\n }\n }\n\n date = changeTimezone(date, dateId.timezone)\n\n return getCalculatedSlotFromBlockTime(networkId, date.getTime())\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"chain.cjs","names":["GenesisStore","now","networkShelleyTransitionEpoch","changeTimezone"],"sources":["../src/chain.ts"],"sourcesContent":["import {\n changeTimezone,\n now,\n} from '@eternl/tools'\n\nimport { GenesisStore } from './network/GenesisStore'\nimport {\n type IByron,\n type IGenesisStore,\n type IShelley,\n} from './network/IGenesisStore'\nimport { type DateId } from './types/DateId'\nimport { type IChainTip } from './types/IChainTip'\nimport {\n type NetworkId,\n networkShelleyTransitionEpoch,\n} from './types/NetworkId'\n\n// Cache for storing calculated DateId results\nconst dateIdCache = new Map<string, DateId>()\n\n// Cache for Intl.DateTimeFormat instances (these are expensive to create)\nconst formatterCache = new Map<string, Intl.DateTimeFormat>()\n\nexport const getGenesis = (networkId: NetworkId): IGenesisStore => GenesisStore[networkId]\nexport const getByron = (networkId: NetworkId): IByron => GenesisStore[networkId].byron\nexport const getShelley = (networkId: NetworkId): IShelley => GenesisStore[networkId].shelley\nexport const getNetworkMagic = (networkId: NetworkId): number => GenesisStore[networkId].shelley.networkMagic\nexport const getEpochLength = (networkId: NetworkId): number => GenesisStore[networkId].shelley.epochLength\nexport const getNumEpochBlocks= (networkId: NetworkId): number => getEpochLength(networkId) * GenesisStore[networkId].shelley.activeSlotsCoeff\n\nconst getCommonData = (networkId: NetworkId): any => {\n\n const byron = getByron(networkId)\n\n const currentTimeSec = Math.floor(now() / 1000)\n const shelleyTransEpoch = networkShelleyTransitionEpoch[networkId]\n const byronEpochLength = byron.protocolConsts.k * 10\n const byronSlots = shelleyTransEpoch * byronEpochLength\n const byronSlotLength = byron.blockVersionData.slotDuration\n const byronEndTime = byron.startTime + Math.floor((shelleyTransEpoch * byronEpochLength * parseInt(byronSlotLength)) / 1000)\n\n return {\n currentTimeSec,\n shelleyTransEpoch,\n byronEpochLength,\n byronSlots,\n byronSlotLength,\n byronEndTime\n }\n}\n\nexport const getCalculatedChainTip = (networkId: NetworkId): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getTimestampFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (slotNo < common.byronSlots) {\n\n return (byron.startTime * 1000 + (slotNo * parseInt(byron.blockVersionData.slotDuration)))\n }\n\n return (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength) * 1000\n}\n\nexport const getEpochFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (slotNo < common.byronSlots) {\n\n return Math.floor(slotNo / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (slotNo - common.byronSlots) / shelley.epochLength)\n}\n\nexport const getCalculatedSlotFromBlockTime = (networkId: NetworkId, timestamp: any): number => {\n\n const dateTimeSec = Math.floor((new Date(timestamp)).getTime() / 1000)\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (dateTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (dateTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (dateTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getCalculatedEpochSlot = (networkId: NetworkId): number => {\n\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n const tip = getCalculatedChainTip(networkId) - common.byronSlots - (\n (getCalculatedEpoch(networkId) - common.shelleyTransEpoch) * shelley.epochLength)\n\n return Math.floor(tip)\n}\n\nexport const getCalculatedEpoch = (id: NetworkId): number => {\n\n const byron = getByron(id)\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (((common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n ) / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength)\n}\n\nexport const getLastSlotOfEpoch = (id: NetworkId, epochNo: number): number => {\n\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (epochNo <= common.shelleyTransEpoch) {\n\n return common.byronEpochLength * epochNo\n }\n\n return (common.byronEpochLength * (common.shelleyTransEpoch - 1)) +\n ((epochNo - common.shelleyTransEpoch + 1) * shelley.epochLength)\n}\n\nexport const getEpochStart = (id: NetworkId, epochNo: number): {\n\n slotNumber: number,\n timestamp: number\n\n} => {\n\n const common = getCommonData(id)\n\n if (epochNo >= common.shelleyTransEpoch) {\n\n const shelley = getShelley(id)\n\n const shelleySlots = (epochNo - common.shelleyTransEpoch) * shelley.epochLength\n\n const slotNumber = common.byronSlots + shelleySlots + 1\n const timestamp = (common.byronEndTime + shelleySlots + 1) * 1000\n\n return { slotNumber, timestamp }\n\n } else {\n\n const byron = getByron(id)\n\n const slotNumber = epochNo * common.byronEpochLength\n const timestamp = (byron.startTime + slotNumber * parseInt(common.byronSlotLength) / 1000) * 1000\n\n return { slotNumber, timestamp }\n }\n}\n\nexport const updateChainTip = (id: NetworkId, chainTip: IChainTip, data: IChainTip): IChainTip => {\n\n const shelley = getShelley(id)\n\n const calcTip = getCalculatedChainTip(id)\n\n chainTip.blockNo = data.blockNo\n chainTip.slotNo = data.slotNo\n\n chainTip.epochNo = data.epochNo\n chainTip.epochSlot = data.epochSlot\n chainTip.epochSlots = shelley.epochLength\n chainTip.epochPercent = parseFloat(((chainTip.epochSlot / chainTip.epochSlots) * 100).toFixed(2))\n chainTip.syncProgress = Math.round((chainTip.slotNo / calcTip) * 10000) / 100\n\n chainTip.onTip = (calcTip - chainTip.slotNo) < 300 // 5 minutes without a block\n\n return chainTip\n}\n\nexport const getDateIdFromSlot = (networkId: NetworkId, slotNo: number, userSelectedTimezone: string): DateId => {\n\n const timeStamp = getTimestampFromSlot(networkId, slotNo)\n\n return getDateIdFromTimestamp(timeStamp, userSelectedTimezone)\n}\n\nexport const getDateIdFromTimestamp = (timeStamp: number, userSelectedTimezone: string): DateId => {\n\n const cacheKey = `${timeStamp}_${userSelectedTimezone}`\n\n const cachedResult = dateIdCache.get(cacheKey)\n\n if (cachedResult) { return cachedResult }\n\n let formatter = formatterCache.get(userSelectedTimezone)\n\n if (!formatter) {\n\n formatter = Intl.DateTimeFormat('de-DE', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n timeZone: userSelectedTimezone,\n })\n\n formatterCache.set(userSelectedTimezone, formatter)\n }\n\n const date = new Date(timeStamp)\n const dateArray = formatter.formatToParts(date)\n\n const result: DateId = {\n\n year: parseInt(dateArray[4]!.value),\n month: parseInt(dateArray[2]!.value),\n day: parseInt(dateArray[0]!.value),\n timezone: userSelectedTimezone\n }\n\n dateIdCache.set(cacheKey, result)\n\n return result\n}\n\nexport const getSlotFromDateId = (\n networkId: NetworkId,\n dateId: Pick<DateId, 'year' | 'month' | 'day' | 'timezone'>,\n calcEnd: boolean = false\n): number => {\n\n const year = dateId.year // e.g. 2023\n const month = dateId.month - 1 // date months start at 0\n\n let date\n\n if (dateId.day === 0 && dateId.month === 0) {\n\n if (calcEnd) {\n\n // up to 31st Dec 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year + 1, 0, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st Jan 00:00:00\n date = new Date((new Date(year, 0, 1, 0, 0, 0)).getTime())\n }\n\n } else if (dateId.day === 0) {\n\n if (calcEnd) {\n\n // up to last day of month 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year, month + 1, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st day of month 00:00:00\n date = new Date((new Date(year, month, 1, 0, 0, 0)).getTime())\n }\n\n } else {\n\n if (calcEnd) {\n\n // up to 23:59:59\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime() + (86400 - 1) * 1000)\n\n } else {\n\n // from 00:00:00\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime())\n }\n }\n\n date = changeTimezone(date, dateId.timezone)\n\n return getCalculatedSlotFromBlockTime(networkId, date.getTime())\n}\n"],"mappings":"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"}
package/dist/chain.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip } from "./chain-DbsXl5Uh.cjs";
1
+ import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip } from "./chain-TJS85jZZ.cjs";
2
2
  export { getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, updateChainTip };
package/dist/chain.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip } from "./chain-DRRhGMxp.mjs";
1
+ import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip } from "./chain-0Mtrt2zw.mjs";
2
2
  export { getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, updateChainTip };
package/dist/chain.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as GenesisStore } from "./GenesisStore-CqCs2Yin.mjs";
1
+ import { t as GenesisStore } from "./GenesisStore-BZQk-5ZY.mjs";
2
2
  import { networkShelleyTransitionEpoch } from "./types/NetworkId.mjs";
3
3
  import { changeTimezone, now } from "@eternl/tools";
4
4
  //#region src/chain.ts
@@ -41,14 +41,10 @@ const getTimestampFromSlot = (networkId, slotNo) => {
41
41
  return (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength) * 1e3;
42
42
  };
43
43
  const getEpochFromSlot = (networkId, slotNo) => {
44
- const byron = getByron(networkId);
45
44
  const shelley = getShelley(networkId);
46
45
  const common = getCommonData(networkId);
47
- let timeSec = 0;
48
- if (slotNo < common.byronSlots) timeSec = byron.startTime + slotNo * parseInt(byron.blockVersionData.slotDuration);
49
- else timeSec = common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength;
50
- if (timeSec < common.byronEndTime) return Math.floor((timeSec - byron.startTime) * 1e3 / parseInt(byron.blockVersionData.slotDuration) / common.byronEpochLength);
51
- return common.shelleyTransEpoch + Math.floor((timeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength);
46
+ if (slotNo < common.byronSlots) return Math.floor(slotNo / common.byronEpochLength);
47
+ return common.shelleyTransEpoch + Math.floor((slotNo - common.byronSlots) / shelley.epochLength);
52
48
  };
53
49
  const getCalculatedSlotFromBlockTime = (networkId, timestamp) => {
54
50
  const dateTimeSec = Math.floor(new Date(timestamp).getTime() / 1e3);
@@ -1 +1 @@
1
- {"version":3,"file":"chain.mjs","names":[],"sources":["../src/chain.ts"],"sourcesContent":["import {\n changeTimezone,\n now,\n} from '@eternl/tools'\n\nimport { GenesisStore } from './network/GenesisStore'\nimport {\n type IByron,\n type IGenesisStore,\n type IShelley,\n} from './network/IGenesisStore'\nimport { type DateId } from './types/DateId'\nimport { type IChainTip } from './types/IChainTip'\nimport {\n type NetworkId,\n networkShelleyTransitionEpoch,\n} from './types/NetworkId'\n\n// Cache for storing calculated DateId results\nconst dateIdCache = new Map<string, DateId>()\n\n// Cache for Intl.DateTimeFormat instances (these are expensive to create)\nconst formatterCache = new Map<string, Intl.DateTimeFormat>()\n\nexport const getGenesis = (networkId: NetworkId): IGenesisStore => GenesisStore[networkId]\nexport const getByron = (networkId: NetworkId): IByron => GenesisStore[networkId].byron\nexport const getShelley = (networkId: NetworkId): IShelley => GenesisStore[networkId].shelley\nexport const getNetworkMagic = (networkId: NetworkId): number => GenesisStore[networkId].shelley.networkMagic\nexport const getEpochLength = (networkId: NetworkId): number => GenesisStore[networkId].shelley.epochLength\nexport const getNumEpochBlocks= (networkId: NetworkId): number => getEpochLength(networkId) * GenesisStore[networkId].shelley.activeSlotsCoeff\n\nconst getCommonData = (networkId: NetworkId): any => {\n\n const byron = getByron(networkId)\n\n const currentTimeSec = Math.floor(now() / 1000)\n const shelleyTransEpoch = networkShelleyTransitionEpoch[networkId]\n const byronEpochLength = byron.protocolConsts.k * 10\n const byronSlots = shelleyTransEpoch * byronEpochLength\n const byronSlotLength = byron.blockVersionData.slotDuration\n const byronEndTime = byron.startTime + Math.floor((shelleyTransEpoch * byronEpochLength * parseInt(byronSlotLength)) / 1000)\n\n return {\n currentTimeSec,\n shelleyTransEpoch,\n byronEpochLength,\n byronSlots,\n byronSlotLength,\n byronEndTime\n }\n}\n\nexport const getCalculatedChainTip = (networkId: NetworkId): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getTimestampFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (slotNo < common.byronSlots) {\n\n return (byron.startTime * 1000 + (slotNo * parseInt(byron.blockVersionData.slotDuration)))\n }\n\n return (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength) * 1000\n}\n\nexport const getEpochFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n let timeSec = 0\n\n if (slotNo < common.byronSlots) {\n\n timeSec = (byron.startTime + (slotNo * parseInt(byron.blockVersionData.slotDuration)))\n\n } else {\n\n timeSec = (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength)\n }\n\n if (timeSec < common.byronEndTime) {\n\n return Math.floor(\n (((timeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n ) / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (timeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength)\n}\n\nexport const getCalculatedSlotFromBlockTime = (networkId: NetworkId, timestamp: any): number => {\n\n const dateTimeSec = Math.floor((new Date(timestamp)).getTime() / 1000)\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (dateTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (dateTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (dateTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getCalculatedEpochSlot = (networkId: NetworkId): number => {\n\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n const tip = getCalculatedChainTip(networkId) - common.byronSlots - (\n (getCalculatedEpoch(networkId) - common.shelleyTransEpoch) * shelley.epochLength)\n\n return Math.floor(tip)\n}\n\nexport const getCalculatedEpoch = (id: NetworkId): number => {\n\n const byron = getByron(id)\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (((common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n ) / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength)\n}\n\nexport const getLastSlotOfEpoch = (id: NetworkId, epochNo: number): number => {\n\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (epochNo <= common.shelleyTransEpoch) {\n\n return common.byronEpochLength * epochNo\n }\n\n return (common.byronEpochLength * (common.shelleyTransEpoch - 1)) +\n ((epochNo - common.shelleyTransEpoch + 1) * shelley.epochLength)\n}\n\nexport const getEpochStart = (id: NetworkId, epochNo: number): {\n\n slotNumber: number,\n timestamp: number\n\n} => {\n\n const common = getCommonData(id)\n\n if (epochNo >= common.shelleyTransEpoch) {\n\n const shelley = getShelley(id)\n\n const shelleySlots = (epochNo - common.shelleyTransEpoch) * shelley.epochLength\n\n const slotNumber = common.byronSlots + shelleySlots + 1\n const timestamp = (common.byronEndTime + shelleySlots + 1) * 1000\n\n return { slotNumber, timestamp }\n\n } else {\n\n const byron = getByron(id)\n\n const slotNumber = epochNo * common.byronEpochLength\n const timestamp = (byron.startTime + slotNumber * parseInt(common.byronSlotLength) / 1000) * 1000\n\n return { slotNumber, timestamp }\n }\n}\n\nexport const updateChainTip = (id: NetworkId, chainTip: IChainTip, data: IChainTip): IChainTip => {\n\n const shelley = getShelley(id)\n\n const calcTip = getCalculatedChainTip(id)\n\n chainTip.blockNo = data.blockNo\n chainTip.slotNo = data.slotNo\n\n chainTip.epochNo = data.epochNo\n chainTip.epochSlot = data.epochSlot\n chainTip.epochSlots = shelley.epochLength\n chainTip.epochPercent = parseFloat(((chainTip.epochSlot / chainTip.epochSlots) * 100).toFixed(2))\n chainTip.syncProgress = Math.round((chainTip.slotNo / calcTip) * 10000) / 100\n\n chainTip.onTip = (calcTip - chainTip.slotNo) < 300 // 5 minutes without a block\n\n return chainTip\n}\n\nexport const getDateIdFromSlot = (networkId: NetworkId, slotNo: number, userSelectedTimezone: string): DateId => {\n\n const timeStamp = getTimestampFromSlot(networkId, slotNo)\n\n return getDateIdFromTimestamp(timeStamp, userSelectedTimezone)\n}\n\nexport const getDateIdFromTimestamp = (timeStamp: number, userSelectedTimezone: string): DateId => {\n\n const cacheKey = `${timeStamp}_${userSelectedTimezone}`\n\n const cachedResult = dateIdCache.get(cacheKey)\n\n if (cachedResult) { return cachedResult }\n\n let formatter = formatterCache.get(userSelectedTimezone)\n\n if (!formatter) {\n\n formatter = Intl.DateTimeFormat('de-DE', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n timeZone: userSelectedTimezone,\n })\n\n formatterCache.set(userSelectedTimezone, formatter)\n }\n\n const date = new Date(timeStamp)\n const dateArray = formatter.formatToParts(date)\n\n const result: DateId = {\n\n year: parseInt(dateArray[4]!.value),\n month: parseInt(dateArray[2]!.value),\n day: parseInt(dateArray[0]!.value),\n timezone: userSelectedTimezone\n }\n\n dateIdCache.set(cacheKey, result)\n\n return result\n}\n\nexport const getSlotFromDateId = (\n networkId: NetworkId,\n dateId: Pick<DateId, 'year' | 'month' | 'day' | 'timezone'>,\n calcEnd: boolean = false\n): number => {\n\n const year = dateId.year // e.g. 2023\n const month = dateId.month - 1 // date months start at 0\n\n let date\n\n if (dateId.day === 0 && dateId.month === 0) {\n\n if (calcEnd) {\n\n // up to 31st Dec 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year + 1, 0, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st Jan 00:00:00\n date = new Date((new Date(year, 0, 1, 0, 0, 0)).getTime())\n }\n\n } else if (dateId.day === 0) {\n\n if (calcEnd) {\n\n // up to last day of month 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year, month + 1, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st day of month 00:00:00\n date = new Date((new Date(year, month, 1, 0, 0, 0)).getTime())\n }\n\n } else {\n\n if (calcEnd) {\n\n // up to 23:59:59\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime() + (86400 - 1) * 1000)\n\n } else {\n\n // from 00:00:00\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime())\n }\n }\n\n date = changeTimezone(date, dateId.timezone)\n\n return getCalculatedSlotFromBlockTime(networkId, date.getTime())\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"chain.mjs","names":[],"sources":["../src/chain.ts"],"sourcesContent":["import {\n changeTimezone,\n now,\n} from '@eternl/tools'\n\nimport { GenesisStore } from './network/GenesisStore'\nimport {\n type IByron,\n type IGenesisStore,\n type IShelley,\n} from './network/IGenesisStore'\nimport { type DateId } from './types/DateId'\nimport { type IChainTip } from './types/IChainTip'\nimport {\n type NetworkId,\n networkShelleyTransitionEpoch,\n} from './types/NetworkId'\n\n// Cache for storing calculated DateId results\nconst dateIdCache = new Map<string, DateId>()\n\n// Cache for Intl.DateTimeFormat instances (these are expensive to create)\nconst formatterCache = new Map<string, Intl.DateTimeFormat>()\n\nexport const getGenesis = (networkId: NetworkId): IGenesisStore => GenesisStore[networkId]\nexport const getByron = (networkId: NetworkId): IByron => GenesisStore[networkId].byron\nexport const getShelley = (networkId: NetworkId): IShelley => GenesisStore[networkId].shelley\nexport const getNetworkMagic = (networkId: NetworkId): number => GenesisStore[networkId].shelley.networkMagic\nexport const getEpochLength = (networkId: NetworkId): number => GenesisStore[networkId].shelley.epochLength\nexport const getNumEpochBlocks= (networkId: NetworkId): number => getEpochLength(networkId) * GenesisStore[networkId].shelley.activeSlotsCoeff\n\nconst getCommonData = (networkId: NetworkId): any => {\n\n const byron = getByron(networkId)\n\n const currentTimeSec = Math.floor(now() / 1000)\n const shelleyTransEpoch = networkShelleyTransitionEpoch[networkId]\n const byronEpochLength = byron.protocolConsts.k * 10\n const byronSlots = shelleyTransEpoch * byronEpochLength\n const byronSlotLength = byron.blockVersionData.slotDuration\n const byronEndTime = byron.startTime + Math.floor((shelleyTransEpoch * byronEpochLength * parseInt(byronSlotLength)) / 1000)\n\n return {\n currentTimeSec,\n shelleyTransEpoch,\n byronEpochLength,\n byronSlots,\n byronSlotLength,\n byronEndTime\n }\n}\n\nexport const getCalculatedChainTip = (networkId: NetworkId): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getTimestampFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (slotNo < common.byronSlots) {\n\n return (byron.startTime * 1000 + (slotNo * parseInt(byron.blockVersionData.slotDuration)))\n }\n\n return (common.byronEndTime + (slotNo - common.byronSlots) * shelley.slotLength) * 1000\n}\n\nexport const getEpochFromSlot = (networkId: NetworkId, slotNo: number): number => {\n\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (slotNo < common.byronSlots) {\n\n return Math.floor(slotNo / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (slotNo - common.byronSlots) / shelley.epochLength)\n}\n\nexport const getCalculatedSlotFromBlockTime = (networkId: NetworkId, timestamp: any): number => {\n\n const dateTimeSec = Math.floor((new Date(timestamp)).getTime() / 1000)\n\n const byron = getByron(networkId)\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n if (dateTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (dateTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n }\n\n return common.byronSlots + Math.floor(\n (dateTimeSec - common.byronEndTime) / shelley.slotLength)\n}\n\nexport const getCalculatedEpochSlot = (networkId: NetworkId): number => {\n\n const shelley = getShelley(networkId)\n const common = getCommonData(networkId)\n\n const tip = getCalculatedChainTip(networkId) - common.byronSlots - (\n (getCalculatedEpoch(networkId) - common.shelleyTransEpoch) * shelley.epochLength)\n\n return Math.floor(tip)\n}\n\nexport const getCalculatedEpoch = (id: NetworkId): number => {\n\n const byron = getByron(id)\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (common.currentTimeSec < common.byronEndTime) {\n\n return Math.floor(\n (((common.currentTimeSec - byron.startTime) * 1000) /\n parseInt(byron.blockVersionData.slotDuration)\n ) / common.byronEpochLength)\n }\n\n return common.shelleyTransEpoch + Math.floor(\n (common.currentTimeSec - common.byronEndTime) / shelley.slotLength / shelley.epochLength)\n}\n\nexport const getLastSlotOfEpoch = (id: NetworkId, epochNo: number): number => {\n\n const shelley = getShelley(id)\n\n const common = getCommonData(id)\n\n if (epochNo <= common.shelleyTransEpoch) {\n\n return common.byronEpochLength * epochNo\n }\n\n return (common.byronEpochLength * (common.shelleyTransEpoch - 1)) +\n ((epochNo - common.shelleyTransEpoch + 1) * shelley.epochLength)\n}\n\nexport const getEpochStart = (id: NetworkId, epochNo: number): {\n\n slotNumber: number,\n timestamp: number\n\n} => {\n\n const common = getCommonData(id)\n\n if (epochNo >= common.shelleyTransEpoch) {\n\n const shelley = getShelley(id)\n\n const shelleySlots = (epochNo - common.shelleyTransEpoch) * shelley.epochLength\n\n const slotNumber = common.byronSlots + shelleySlots + 1\n const timestamp = (common.byronEndTime + shelleySlots + 1) * 1000\n\n return { slotNumber, timestamp }\n\n } else {\n\n const byron = getByron(id)\n\n const slotNumber = epochNo * common.byronEpochLength\n const timestamp = (byron.startTime + slotNumber * parseInt(common.byronSlotLength) / 1000) * 1000\n\n return { slotNumber, timestamp }\n }\n}\n\nexport const updateChainTip = (id: NetworkId, chainTip: IChainTip, data: IChainTip): IChainTip => {\n\n const shelley = getShelley(id)\n\n const calcTip = getCalculatedChainTip(id)\n\n chainTip.blockNo = data.blockNo\n chainTip.slotNo = data.slotNo\n\n chainTip.epochNo = data.epochNo\n chainTip.epochSlot = data.epochSlot\n chainTip.epochSlots = shelley.epochLength\n chainTip.epochPercent = parseFloat(((chainTip.epochSlot / chainTip.epochSlots) * 100).toFixed(2))\n chainTip.syncProgress = Math.round((chainTip.slotNo / calcTip) * 10000) / 100\n\n chainTip.onTip = (calcTip - chainTip.slotNo) < 300 // 5 minutes without a block\n\n return chainTip\n}\n\nexport const getDateIdFromSlot = (networkId: NetworkId, slotNo: number, userSelectedTimezone: string): DateId => {\n\n const timeStamp = getTimestampFromSlot(networkId, slotNo)\n\n return getDateIdFromTimestamp(timeStamp, userSelectedTimezone)\n}\n\nexport const getDateIdFromTimestamp = (timeStamp: number, userSelectedTimezone: string): DateId => {\n\n const cacheKey = `${timeStamp}_${userSelectedTimezone}`\n\n const cachedResult = dateIdCache.get(cacheKey)\n\n if (cachedResult) { return cachedResult }\n\n let formatter = formatterCache.get(userSelectedTimezone)\n\n if (!formatter) {\n\n formatter = Intl.DateTimeFormat('de-DE', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n timeZone: userSelectedTimezone,\n })\n\n formatterCache.set(userSelectedTimezone, formatter)\n }\n\n const date = new Date(timeStamp)\n const dateArray = formatter.formatToParts(date)\n\n const result: DateId = {\n\n year: parseInt(dateArray[4]!.value),\n month: parseInt(dateArray[2]!.value),\n day: parseInt(dateArray[0]!.value),\n timezone: userSelectedTimezone\n }\n\n dateIdCache.set(cacheKey, result)\n\n return result\n}\n\nexport const getSlotFromDateId = (\n networkId: NetworkId,\n dateId: Pick<DateId, 'year' | 'month' | 'day' | 'timezone'>,\n calcEnd: boolean = false\n): number => {\n\n const year = dateId.year // e.g. 2023\n const month = dateId.month - 1 // date months start at 0\n\n let date\n\n if (dateId.day === 0 && dateId.month === 0) {\n\n if (calcEnd) {\n\n // up to 31st Dec 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year + 1, 0, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st Jan 00:00:00\n date = new Date((new Date(year, 0, 1, 0, 0, 0)).getTime())\n }\n\n } else if (dateId.day === 0) {\n\n if (calcEnd) {\n\n // up to last day of month 23:59:59, it's slot based, which is 1 slot = 1 second\n date = new Date((new Date(year, month + 1, 1, 0, 0, 0)).getTime() - 1000)\n\n } else {\n\n // from 1st day of month 00:00:00\n date = new Date((new Date(year, month, 1, 0, 0, 0)).getTime())\n }\n\n } else {\n\n if (calcEnd) {\n\n // up to 23:59:59\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime() + (86400 - 1) * 1000)\n\n } else {\n\n // from 00:00:00\n date = new Date((new Date(year, month, dateId.day, 0, 0, 0)).getTime())\n }\n }\n\n date = changeTimezone(date, dateId.timezone)\n\n return getCalculatedSlotFromBlockTime(networkId, date.getTime())\n}\n"],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_GenesisStore = require("./GenesisStore-DGnbeDqM.cjs");
2
+ const require_GenesisStore = require("./GenesisStore-r52jj7kC.cjs");
3
3
  const require_types_NetworkId = require("./types/NetworkId.cjs");
4
4
  const require_chain = require("./chain.cjs");
5
5
  require("./network/IGenesisStore.cjs");
@@ -31,6 +31,7 @@ exports.getShelley = require_chain.getShelley;
31
31
  exports.getSlotFromDateId = require_chain.getSlotFromDateId;
32
32
  exports.getTimestampFromSlot = require_chain.getTimestampFromSlot;
33
33
  exports.isCustomNetwork = require_types_NetworkId.isCustomNetwork;
34
+ exports.isDevelopmentNetwork = require_types_NetworkId.isDevelopmentNetwork;
34
35
  exports.isSupportedNetworkId = require_types_NetworkId.isSupportedNetworkId;
35
36
  exports.isTestnetNetwork = require_types_NetworkId.isTestnetNetwork;
36
37
  exports.networkAddressPrefix = require_types_NetworkId.networkAddressPrefix;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as IShelley, i as IProtocolConsts, n as IByron, r as IGenesisStore, t as IBlockVersionData } from "./IGenesisStore-DsIpICQ8.cjs";
2
2
  import { t as DateId } from "./DateId-DpLkO3y9.cjs";
3
- import { _ as networkStakeAddressPrefix, a as getNetworkDecimals, c as isSupportedNetworkId, d as networkCurrencyCode, f as networkCurrencySymbol, g as networkShelleyTransitionEpoch, h as networkIdx, i as getNetworkCurrencySymbol, l as isTestnetNetwork, m as networkIdList, n as NetworkId, o as getNetworkId, p as networkGroups, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as networkAddressPrefix } from "./NetworkId-B9JhuswJ.cjs";
4
- import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, b as createIChainTip, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip, x as GenesisStore, y as IChainTip } from "./chain-DbsXl5Uh.cjs";
3
+ import { _ as networkShelleyTransitionEpoch, a as getNetworkDecimals, c as isDevelopmentNetwork, d as networkAddressPrefix, f as networkCurrencyCode, g as networkIdx, h as networkIdList, i as getNetworkCurrencySymbol, l as isSupportedNetworkId, m as networkGroups, n as NetworkId, o as getNetworkId, p as networkCurrencySymbol, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as isTestnetNetwork, v as networkStakeAddressPrefix } from "./NetworkId-BzB9yQuF.cjs";
4
+ import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, b as createIChainTip, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip, x as GenesisStore, y as IChainTip } from "./chain-TJS85jZZ.cjs";
5
5
  import { n as IProtocolVersion, t as IEpochParams } from "./IEpochParams-BFNd585A.cjs";
6
- export { DateId, GenesisStore, IBlockVersionData, IByron, IChainTip, IEpochParams, IGenesisStore, IProtocolConsts, IProtocolVersion, IShelley, NETWORK_ID, NetworkId, createIChainTip, getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, isCustomNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix, updateChainTip };
6
+ export { DateId, GenesisStore, IBlockVersionData, IByron, IChainTip, IEpochParams, IGenesisStore, IProtocolConsts, IProtocolVersion, IShelley, NETWORK_ID, NetworkId, createIChainTip, getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, isCustomNetwork, isDevelopmentNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix, updateChainTip };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as IShelley, i as IProtocolConsts, n as IByron, r as IGenesisStore, t as IBlockVersionData } from "./IGenesisStore-DsIpICQ8.mjs";
2
2
  import { t as DateId } from "./DateId-DpLkO3y9.mjs";
3
- import { _ as networkStakeAddressPrefix, a as getNetworkDecimals, c as isSupportedNetworkId, d as networkCurrencyCode, f as networkCurrencySymbol, g as networkShelleyTransitionEpoch, h as networkIdx, i as getNetworkCurrencySymbol, l as isTestnetNetwork, m as networkIdList, n as NetworkId, o as getNetworkId, p as networkGroups, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as networkAddressPrefix } from "./NetworkId-B9JhuswJ.mjs";
4
- import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, b as createIChainTip, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip, x as GenesisStore, y as IChainTip } from "./chain-DRRhGMxp.mjs";
3
+ import { _ as networkShelleyTransitionEpoch, a as getNetworkDecimals, c as isDevelopmentNetwork, d as networkAddressPrefix, f as networkCurrencyCode, g as networkIdx, h as networkIdList, i as getNetworkCurrencySymbol, l as isSupportedNetworkId, m as networkGroups, n as NetworkId, o as getNetworkId, p as networkCurrencySymbol, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as isTestnetNetwork, v as networkStakeAddressPrefix } from "./NetworkId-BzB9yQuF.mjs";
4
+ import { _ as getTimestampFromSlot, a as getCalculatedSlotFromBlockTime, b as createIChainTip, c as getEpochFromSlot, d as getGenesis, f as getLastSlotOfEpoch, g as getSlotFromDateId, h as getShelley, i as getCalculatedEpochSlot, l as getEpochLength, m as getNumEpochBlocks, n as getCalculatedChainTip, o as getDateIdFromSlot, p as getNetworkMagic, r as getCalculatedEpoch, s as getDateIdFromTimestamp, t as getByron, u as getEpochStart, v as updateChainTip, x as GenesisStore, y as IChainTip } from "./chain-0Mtrt2zw.mjs";
5
5
  import { n as IProtocolVersion, t as IEpochParams } from "./IEpochParams-BFNd585A.mjs";
6
- export { DateId, GenesisStore, IBlockVersionData, IByron, IChainTip, IEpochParams, IGenesisStore, IProtocolConsts, IProtocolVersion, IShelley, NETWORK_ID, NetworkId, createIChainTip, getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, isCustomNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix, updateChainTip };
6
+ export { DateId, GenesisStore, IBlockVersionData, IByron, IChainTip, IEpochParams, IGenesisStore, IProtocolConsts, IProtocolVersion, IShelley, NETWORK_ID, NetworkId, createIChainTip, getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, isCustomNetwork, isDevelopmentNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix, updateChainTip };
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { t as GenesisStore } from "./GenesisStore-CqCs2Yin.mjs";
2
- import { NETWORK_ID, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix } from "./types/NetworkId.mjs";
1
+ import { t as GenesisStore } from "./GenesisStore-BZQk-5ZY.mjs";
2
+ import { NETWORK_ID, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isDevelopmentNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix } from "./types/NetworkId.mjs";
3
3
  import { getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, updateChainTip } from "./chain.mjs";
4
4
  import "./network/IGenesisStore.mjs";
5
5
  import { createIChainTip } from "./types/IChainTip.mjs";
6
6
  import "./types/IEpochParams.mjs";
7
7
  import "./types/DateId.mjs";
8
- export { GenesisStore, NETWORK_ID, createIChainTip, getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, isCustomNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix, updateChainTip };
8
+ export { GenesisStore, NETWORK_ID, createIChainTip, getByron, getCalculatedChainTip, getCalculatedEpoch, getCalculatedEpochSlot, getCalculatedSlotFromBlockTime, getDateIdFromSlot, getDateIdFromTimestamp, getEpochFromSlot, getEpochLength, getEpochStart, getGenesis, getLastSlotOfEpoch, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, getNetworkMagic, getNumEpochBlocks, getShelley, getSlotFromDateId, getTimestampFromSlot, isCustomNetwork, isDevelopmentNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix, updateChainTip };
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_GenesisStore = require("../GenesisStore-DGnbeDqM.cjs");
2
+ const require_GenesisStore = require("../GenesisStore-r52jj7kC.cjs");
3
3
  exports.GenesisStore = require_GenesisStore.GenesisStore;
@@ -1,2 +1,2 @@
1
- import { x as GenesisStore } from "../chain-DbsXl5Uh.cjs";
1
+ import { x as GenesisStore } from "../chain-TJS85jZZ.cjs";
2
2
  export { GenesisStore };
@@ -1,2 +1,2 @@
1
- import { x as GenesisStore } from "../chain-DRRhGMxp.mjs";
1
+ import { x as GenesisStore } from "../chain-0Mtrt2zw.mjs";
2
2
  export { GenesisStore };
@@ -1 +1 @@
1
- export { t as GenesisStore } from "../GenesisStore-CqCs2Yin.mjs";
1
+ export { t as GenesisStore } from "../GenesisStore-BZQk-5ZY.mjs";
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/network/musashi-2026w42/profile.ts
3
+ const MUSASHI_2026W42 = Object.freeze({
4
+ id: "musashi-2026w42",
5
+ name: "musashi",
6
+ magic: 164,
7
+ ledgerNetworkId: 0,
8
+ byronGenesis: "3cbc289e3855d93a54877d5106743e1a77cdee3aaed675e62f19c2a373d698a2",
9
+ shelleyGenesis: "d1b19e006c1198fb7ac9d53073c1a9f77acb1a9474c92310006ae4418290cda3",
10
+ dijkstraGenesis: "868a465b7115ae653ec532f46eca1a31a89211a96e810d78f82d6e60e3cdca87",
11
+ decoderProfile: "musashi-2026w42",
12
+ timeline: Object.freeze([Object.freeze({
13
+ firstSlot: 0,
14
+ startTimeMs: 17922816e5,
15
+ slotLengthMs: 1e3
16
+ })])
17
+ });
18
+ //#endregion
19
+ exports.MUSASHI_2026W42 = MUSASHI_2026W42;
20
+
21
+ //# sourceMappingURL=profile.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.cjs","names":[],"sources":["../../../src/network/musashi-2026w42/profile.ts"],"sourcesContent":["// Identity of the October 18 genesis and 2026w42 prototype codec. A reset or\n// different prototype must receive a different public network ID and cache key.\nexport const MUSASHI_2026W42 = Object.freeze({\n\n id: 'musashi-2026w42' as const,\n name: 'musashi',\n magic: 164,\n ledgerNetworkId: 0,\n byronGenesis: '3cbc289e3855d93a54877d5106743e1a77cdee3aaed675e62f19c2a373d698a2',\n shelleyGenesis: 'd1b19e006c1198fb7ac9d53073c1a9f77acb1a9474c92310006ae4418290cda3',\n dijkstraGenesis: '868a465b7115ae653ec532f46eca1a31a89211a96e810d78f82d6e60e3cdca87',\n decoderProfile: 'musashi-2026w42',\n timeline: Object.freeze([\n Object.freeze({ firstSlot: 0, startTimeMs: 1792281600000, slotLengthMs: 1000 }),\n ]),\n})\n"],"mappings":";;AAEA,MAAa,kBAAoB,OAAO,OAAO;CAE7C,IAA4B;CAC5B,MAA4B;CAC5B,OAA4B;CAC5B,iBAA4B;CAC5B,cAA2B;CAC3B,gBAA2B;CAC3B,iBAA2B;CAC3B,gBAA2B;CAC3B,UAA2B,OAAO,OAAO,CACvC,OAAO,OAAO;EAAE,WAAW;EAAG,aAAa;EAAe,cAAc;CAAK,CAAC,CAChF,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ //#region src/network/musashi-2026w42/profile.d.ts
2
+ export declare const MUSASHI_2026W42: Readonly<{
3
+ id: 'musashi-2026w42';
4
+ name: "musashi";
5
+ magic: 164;
6
+ ledgerNetworkId: 0;
7
+ byronGenesis: "3cbc289e3855d93a54877d5106743e1a77cdee3aaed675e62f19c2a373d698a2";
8
+ shelleyGenesis: "d1b19e006c1198fb7ac9d53073c1a9f77acb1a9474c92310006ae4418290cda3";
9
+ dijkstraGenesis: "868a465b7115ae653ec532f46eca1a31a89211a96e810d78f82d6e60e3cdca87";
10
+ decoderProfile: "musashi-2026w42";
11
+ timeline: readonly Readonly<{
12
+ firstSlot: 0;
13
+ startTimeMs: 1792281600000;
14
+ slotLengthMs: 1000;
15
+ }>[];
16
+ }>;
17
+ //#endregion
18
+ //# sourceMappingURL=profile.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.cts","names":[],"sources":["../../../src/network/musashi-2026w42/profile.ts"],"mappings":";qBAEa,iBAAe;EAEE"}
@@ -0,0 +1,18 @@
1
+ //#region src/network/musashi-2026w42/profile.d.ts
2
+ export declare const MUSASHI_2026W42: Readonly<{
3
+ id: 'musashi-2026w42';
4
+ name: "musashi";
5
+ magic: 164;
6
+ ledgerNetworkId: 0;
7
+ byronGenesis: "3cbc289e3855d93a54877d5106743e1a77cdee3aaed675e62f19c2a373d698a2";
8
+ shelleyGenesis: "d1b19e006c1198fb7ac9d53073c1a9f77acb1a9474c92310006ae4418290cda3";
9
+ dijkstraGenesis: "868a465b7115ae653ec532f46eca1a31a89211a96e810d78f82d6e60e3cdca87";
10
+ decoderProfile: "musashi-2026w42";
11
+ timeline: readonly Readonly<{
12
+ firstSlot: 0;
13
+ startTimeMs: 1792281600000;
14
+ slotLengthMs: 1000;
15
+ }>[];
16
+ }>;
17
+ //#endregion
18
+ //# sourceMappingURL=profile.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.mts","names":[],"sources":["../../../src/network/musashi-2026w42/profile.ts"],"mappings":";qBAEa,iBAAe;EAEE"}
@@ -0,0 +1,20 @@
1
+ //#region src/network/musashi-2026w42/profile.ts
2
+ const MUSASHI_2026W42 = Object.freeze({
3
+ id: "musashi-2026w42",
4
+ name: "musashi",
5
+ magic: 164,
6
+ ledgerNetworkId: 0,
7
+ byronGenesis: "3cbc289e3855d93a54877d5106743e1a77cdee3aaed675e62f19c2a373d698a2",
8
+ shelleyGenesis: "d1b19e006c1198fb7ac9d53073c1a9f77acb1a9474c92310006ae4418290cda3",
9
+ dijkstraGenesis: "868a465b7115ae653ec532f46eca1a31a89211a96e810d78f82d6e60e3cdca87",
10
+ decoderProfile: "musashi-2026w42",
11
+ timeline: Object.freeze([Object.freeze({
12
+ firstSlot: 0,
13
+ startTimeMs: 17922816e5,
14
+ slotLengthMs: 1e3
15
+ })])
16
+ });
17
+ //#endregion
18
+ export { MUSASHI_2026W42 };
19
+
20
+ //# sourceMappingURL=profile.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.mjs","names":[],"sources":["../../../src/network/musashi-2026w42/profile.ts"],"sourcesContent":["// Identity of the October 18 genesis and 2026w42 prototype codec. A reset or\n// different prototype must receive a different public network ID and cache key.\nexport const MUSASHI_2026W42 = Object.freeze({\n\n id: 'musashi-2026w42' as const,\n name: 'musashi',\n magic: 164,\n ledgerNetworkId: 0,\n byronGenesis: '3cbc289e3855d93a54877d5106743e1a77cdee3aaed675e62f19c2a373d698a2',\n shelleyGenesis: 'd1b19e006c1198fb7ac9d53073c1a9f77acb1a9474c92310006ae4418290cda3',\n dijkstraGenesis: '868a465b7115ae653ec532f46eca1a31a89211a96e810d78f82d6e60e3cdca87',\n decoderProfile: 'musashi-2026w42',\n timeline: Object.freeze([\n Object.freeze({ firstSlot: 0, startTimeMs: 1792281600000, slotLengthMs: 1000 }),\n ]),\n})\n"],"mappings":";AAEA,MAAa,kBAAoB,OAAO,OAAO;CAE7C,IAA4B;CAC5B,MAA4B;CAC5B,OAA4B;CAC5B,iBAA4B;CAC5B,cAA2B;CAC3B,gBAA2B;CAC3B,iBAA2B;CAC3B,gBAA2B;CAC3B,UAA2B,OAAO,OAAO,CACvC,OAAO,OAAO;EAAE,WAAW;EAAG,aAAa;EAAe,cAAc;CAAK,CAAC,CAChF,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- import { b as createIChainTip, y as IChainTip } from "../chain-DbsXl5Uh.cjs";
1
+ import { b as createIChainTip, y as IChainTip } from "../chain-TJS85jZZ.cjs";
2
2
  export { IChainTip, createIChainTip };
@@ -1,2 +1,2 @@
1
- import { b as createIChainTip, y as IChainTip } from "../chain-DRRhGMxp.mjs";
1
+ import { b as createIChainTip, y as IChainTip } from "../chain-0Mtrt2zw.mjs";
2
2
  export { IChainTip, createIChainTip };
@@ -6,6 +6,7 @@ const NETWORK_ID = {
6
6
  SANCHO: "sancho",
7
7
  PREPROD: "preprod",
8
8
  PREVIEW: "preview",
9
+ MUSASHI_2026W42: "musashi-2026w42",
9
10
  AFVT: "afvt",
10
11
  AFVM: "afvm",
11
12
  AFPT: "afpt",
@@ -15,6 +16,7 @@ const networkIdList = [
15
16
  NETWORK_ID.MAINNET,
16
17
  NETWORK_ID.PREPROD,
17
18
  NETWORK_ID.PREVIEW,
19
+ NETWORK_ID.MUSASHI_2026W42,
18
20
  NETWORK_ID.GUILD,
19
21
  NETWORK_ID.SANCHO,
20
22
  NETWORK_ID.AFVT,
@@ -28,6 +30,7 @@ const networkIdx = {
28
30
  [NETWORK_ID.GUILD]: 2,
29
31
  [NETWORK_ID.PREPROD]: 4,
30
32
  [NETWORK_ID.PREVIEW]: 5,
33
+ [NETWORK_ID.MUSASHI_2026W42]: 10,
31
34
  [NETWORK_ID.AFVT]: 6,
32
35
  [NETWORK_ID.AFVM]: 7,
33
36
  [NETWORK_ID.AFPT]: 8,
@@ -39,7 +42,8 @@ const networkGroups = {
39
42
  NETWORK_ID.PREPROD,
40
43
  NETWORK_ID.PREVIEW,
41
44
  NETWORK_ID.GUILD,
42
- NETWORK_ID.SANCHO
45
+ NETWORK_ID.SANCHO,
46
+ NETWORK_ID.MUSASHI_2026W42
43
47
  ],
44
48
  APEX: [
45
49
  NETWORK_ID.AFVT,
@@ -54,6 +58,7 @@ const networkShelleyTransitionEpoch = {
54
58
  [NETWORK_ID.GUILD]: 2,
55
59
  [NETWORK_ID.PREPROD]: 4,
56
60
  [NETWORK_ID.PREVIEW]: 0,
61
+ [NETWORK_ID.MUSASHI_2026W42]: 0,
57
62
  [NETWORK_ID.AFVT]: 2,
58
63
  [NETWORK_ID.AFVM]: 2,
59
64
  [NETWORK_ID.AFPT]: 0,
@@ -65,6 +70,7 @@ const networkAddressPrefix = {
65
70
  [NETWORK_ID.GUILD]: "addr_test",
66
71
  [NETWORK_ID.PREPROD]: "addr_test",
67
72
  [NETWORK_ID.PREVIEW]: "addr_test",
73
+ [NETWORK_ID.MUSASHI_2026W42]: "addr_test",
68
74
  [NETWORK_ID.AFVT]: "addr",
69
75
  [NETWORK_ID.AFVM]: "addr",
70
76
  [NETWORK_ID.AFPT]: "addr_test",
@@ -76,6 +82,7 @@ const networkStakeAddressPrefix = {
76
82
  [NETWORK_ID.GUILD]: "stake_test",
77
83
  [NETWORK_ID.PREPROD]: "stake_test",
78
84
  [NETWORK_ID.PREVIEW]: "stake_test",
85
+ [NETWORK_ID.MUSASHI_2026W42]: "stake_test",
79
86
  [NETWORK_ID.AFVT]: "stake",
80
87
  [NETWORK_ID.AFVM]: "stake",
81
88
  [NETWORK_ID.AFPT]: "stake_test",
@@ -87,6 +94,7 @@ const networkCurrencyCode = {
87
94
  [NETWORK_ID.GUILD]: "tADA",
88
95
  [NETWORK_ID.PREPROD]: "tADA",
89
96
  [NETWORK_ID.PREVIEW]: "tADA",
97
+ [NETWORK_ID.MUSASHI_2026W42]: "tADA",
90
98
  [NETWORK_ID.AFVT]: "tAP3X",
91
99
  [NETWORK_ID.AFVM]: "AP3X",
92
100
  [NETWORK_ID.AFPT]: "tAP3X",
@@ -98,6 +106,7 @@ const networkCurrencySymbol = {
98
106
  [NETWORK_ID.GUILD]: "t₳",
99
107
  [NETWORK_ID.PREPROD]: "t₳",
100
108
  [NETWORK_ID.PREVIEW]: "t₳",
109
+ [NETWORK_ID.MUSASHI_2026W42]: "t₳",
101
110
  [NETWORK_ID.AFVT]: "tÂ",
102
111
  [NETWORK_ID.AFVM]: "Â",
103
112
  [NETWORK_ID.AFPT]: "tÂ",
@@ -111,6 +120,7 @@ const getNetworkId = (id) => {
111
120
  case NETWORK_ID.GUILD: return 0;
112
121
  case NETWORK_ID.PREPROD: return 0;
113
122
  case NETWORK_ID.PREVIEW: return 0;
123
+ case NETWORK_ID.MUSASHI_2026W42: return 0;
114
124
  case NETWORK_ID.AFVT: return 1;
115
125
  case NETWORK_ID.AFVM: return 1;
116
126
  case NETWORK_ID.AFPT: return 0;
@@ -131,6 +141,7 @@ const isTestnetNetwork = (networkId) => {
131
141
  case NETWORK_ID.SANCHO: return true;
132
142
  case NETWORK_ID.PREPROD: return true;
133
143
  case NETWORK_ID.PREVIEW: return true;
144
+ case NETWORK_ID.MUSASHI_2026W42: return true;
134
145
  case NETWORK_ID.AFVT: return true;
135
146
  case NETWORK_ID.AFVM: return false;
136
147
  case NETWORK_ID.AFPT: return true;
@@ -141,6 +152,7 @@ const isTestnetNetwork = (networkId) => {
141
152
  const isCustomNetwork = (networkId) => !isTestnetNetwork(networkId) && networkId !== NETWORK_ID.MAINNET;
142
153
  const getNetworkCurrencyCode = (id) => networkCurrencyCode[id] || "-";
143
154
  const getNetworkCurrencySymbol = (id) => networkCurrencySymbol[id] || "?";
155
+ const isDevelopmentNetwork = (id) => id === NETWORK_ID.MUSASHI_2026W42;
144
156
  //#endregion
145
157
  exports.NETWORK_ID = NETWORK_ID;
146
158
  exports.getNetworkCurrencyCode = getNetworkCurrencyCode;
@@ -148,6 +160,7 @@ exports.getNetworkCurrencySymbol = getNetworkCurrencySymbol;
148
160
  exports.getNetworkDecimals = getNetworkDecimals;
149
161
  exports.getNetworkId = getNetworkId;
150
162
  exports.isCustomNetwork = isCustomNetwork;
163
+ exports.isDevelopmentNetwork = isDevelopmentNetwork;
151
164
  exports.isSupportedNetworkId = isSupportedNetworkId;
152
165
  exports.isTestnetNetwork = isTestnetNetwork;
153
166
  exports.networkAddressPrefix = networkAddressPrefix;
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkId.cjs","names":[],"sources":["../../src/types/NetworkId.ts"],"sourcesContent":["export const NETWORK_ID = {\n\n MAINNET: 'mainnet',\n GUILD: 'guild',\n SANCHO: 'sancho',\n PREPROD: 'preprod',\n PREVIEW: 'preview',\n AFVT: 'afvt',\n AFVM: 'afvm',\n AFPT: 'afpt',\n AFPM: 'afpm'\n} as const\n\nexport type NetworkId = typeof NETWORK_ID[keyof typeof NETWORK_ID]\n\nexport const networkIdList = <NetworkId[]>[\n NETWORK_ID.MAINNET,\n NETWORK_ID.PREPROD,\n NETWORK_ID.PREVIEW,\n NETWORK_ID.GUILD,\n NETWORK_ID.SANCHO,\n NETWORK_ID.AFVT,\n NETWORK_ID.AFVM,\n NETWORK_ID.AFPT,\n NETWORK_ID.AFPM\n]\n\nexport const networkIdx: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 0,\n [NETWORK_ID.SANCHO]: 1,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 5,\n [NETWORK_ID.AFVT]: 6,\n [NETWORK_ID.AFVM]: 7,\n [NETWORK_ID.AFPT]: 8,\n [NETWORK_ID.AFPM]: 9,\n}\n\nexport const networkGroups: Record<string, NetworkId[]> = {\n\n Cardano: [ NETWORK_ID.MAINNET, NETWORK_ID.PREPROD, NETWORK_ID.PREVIEW, NETWORK_ID.GUILD, NETWORK_ID.SANCHO ],\n APEX: [ NETWORK_ID.AFVT, NETWORK_ID.AFVM, NETWORK_ID.AFPT, NETWORK_ID.AFPM ],\n}\n\nexport const networkShelleyTransitionEpoch: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 208,\n [NETWORK_ID.SANCHO]: 0,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 0,\n [NETWORK_ID.AFVT]: 2,\n [NETWORK_ID.AFVM]: 2,\n [NETWORK_ID.AFPT]: 0,\n [NETWORK_ID.AFPM]: 2\n}\n\nexport const networkAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'addr',\n [NETWORK_ID.SANCHO]: 'addr_test',\n [NETWORK_ID.GUILD]: 'addr_test',\n [NETWORK_ID.PREPROD]: 'addr_test',\n [NETWORK_ID.PREVIEW]: 'addr_test',\n [NETWORK_ID.AFVT]: 'addr',\n [NETWORK_ID.AFVM]: 'addr',\n [NETWORK_ID.AFPT]: 'addr_test',\n [NETWORK_ID.AFPM]: 'addr'\n}\n\nexport const networkStakeAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'stake',\n [NETWORK_ID.SANCHO]: 'stake_test',\n [NETWORK_ID.GUILD]: 'stake_test',\n [NETWORK_ID.PREPROD]: 'stake_test',\n [NETWORK_ID.PREVIEW]: 'stake_test',\n [NETWORK_ID.AFVT]: 'stake',\n [NETWORK_ID.AFVM]: 'stake',\n [NETWORK_ID.AFPT]: 'stake_test',\n [NETWORK_ID.AFPM]: 'stake'\n}\n\nexport const networkCurrencyCode: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'ADA',\n [NETWORK_ID.SANCHO]: 'tADA',\n [NETWORK_ID.GUILD]: 'tADA',\n [NETWORK_ID.PREPROD]: 'tADA',\n [NETWORK_ID.PREVIEW]: 'tADA',\n [NETWORK_ID.AFVT]: 'tAP3X',\n [NETWORK_ID.AFVM]: 'AP3X',\n [NETWORK_ID.AFPT]: 'tAP3X',\n [NETWORK_ID.AFPM]: 'AP3X'\n}\n\nexport const networkCurrencySymbol: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: '₳',\n [NETWORK_ID.SANCHO]: 't₳',\n [NETWORK_ID.GUILD]: 't₳',\n [NETWORK_ID.PREPROD]: 't₳',\n [NETWORK_ID.PREVIEW]: 't₳',\n [NETWORK_ID.AFVT]: 'tÂ',\n [NETWORK_ID.AFVM]: 'Â',\n [NETWORK_ID.AFPT]: 'tÂ',\n [NETWORK_ID.AFPM]: 'Â'\n}\n\nexport const isSupportedNetworkId = (id?: string | null): id is NetworkId => networkIdList.includes(id as NetworkId)\n\nexport const getNetworkId = (id: string): number => {\n\n switch (id) {\n\n case NETWORK_ID.MAINNET: return 1\n case NETWORK_ID.SANCHO: return 0\n case NETWORK_ID.GUILD: return 0\n case NETWORK_ID.PREPROD: return 0\n case NETWORK_ID.PREVIEW: return 0\n case NETWORK_ID.AFVT: return 1\n case NETWORK_ID.AFVM: return 1\n case NETWORK_ID.AFPT: return 0\n case NETWORK_ID.AFPM: return 1\n }\n\n throw new Error('Error: INetwork.getNetworkId: unknown network: ' + id)\n}\n\nexport const getNetworkDecimals = (id: NetworkId): number => {\n\n switch (id) {\n\n case NETWORK_ID.SANCHO: return 6\n default: return 6\n }\n}\n\nexport const isTestnetNetwork = (networkId: NetworkId): boolean => {\n\n switch (networkId) {\n\n case NETWORK_ID.MAINNET: return false\n case NETWORK_ID.GUILD: return true\n case NETWORK_ID.SANCHO: return true\n case NETWORK_ID.PREPROD: return true\n case NETWORK_ID.PREVIEW: return true\n case NETWORK_ID.AFVT: return true\n case NETWORK_ID.AFVM: return false\n case NETWORK_ID.AFPT: return true\n case NETWORK_ID.AFPM: return false\n default: return false\n }\n}\n\n//@deprecated\nexport const isCustomNetwork = (networkId: NetworkId): boolean => !isTestnetNetwork(networkId) && networkId !== NETWORK_ID.MAINNET\n\nexport const getNetworkCurrencyCode = (id: NetworkId): string => networkCurrencyCode[id] || '-'\nexport const getNetworkCurrencySymbol = (id: NetworkId): string => networkCurrencySymbol[id] || '?'\n"],"mappings":"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"}
1
+ {"version":3,"file":"NetworkId.cjs","names":[],"sources":["../../src/types/NetworkId.ts"],"sourcesContent":["export const NETWORK_ID = {\n\n MAINNET: 'mainnet',\n GUILD: 'guild',\n SANCHO: 'sancho',\n PREPROD: 'preprod',\n PREVIEW: 'preview',\n MUSASHI_2026W42: 'musashi-2026w42',\n AFVT: 'afvt',\n AFVM: 'afvm',\n AFPT: 'afpt',\n AFPM: 'afpm'\n} as const\n\nexport type NetworkId = typeof NETWORK_ID[keyof typeof NETWORK_ID]\n\nexport const networkIdList = <NetworkId[]>[\n NETWORK_ID.MAINNET,\n NETWORK_ID.PREPROD,\n NETWORK_ID.PREVIEW,\n NETWORK_ID.MUSASHI_2026W42,\n NETWORK_ID.GUILD,\n NETWORK_ID.SANCHO,\n NETWORK_ID.AFVT,\n NETWORK_ID.AFVM,\n NETWORK_ID.AFPT,\n NETWORK_ID.AFPM\n]\n\nexport const networkIdx: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 0,\n [NETWORK_ID.SANCHO]: 1,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 5,\n [NETWORK_ID.MUSASHI_2026W42]: 10,\n [NETWORK_ID.AFVT]: 6,\n [NETWORK_ID.AFVM]: 7,\n [NETWORK_ID.AFPT]: 8,\n [NETWORK_ID.AFPM]: 9,\n}\n\nexport const networkGroups: Record<string, NetworkId[]> = {\n\n Cardano: [ NETWORK_ID.MAINNET, NETWORK_ID.PREPROD, NETWORK_ID.PREVIEW, NETWORK_ID.GUILD, NETWORK_ID.SANCHO, NETWORK_ID.MUSASHI_2026W42 ],\n APEX: [ NETWORK_ID.AFVT, NETWORK_ID.AFVM, NETWORK_ID.AFPT, NETWORK_ID.AFPM ],\n}\n\nexport const networkShelleyTransitionEpoch: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 208,\n [NETWORK_ID.SANCHO]: 0,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 0,\n [NETWORK_ID.MUSASHI_2026W42]: 0,\n [NETWORK_ID.AFVT]: 2,\n [NETWORK_ID.AFVM]: 2,\n [NETWORK_ID.AFPT]: 0,\n [NETWORK_ID.AFPM]: 2\n}\n\nexport const networkAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'addr',\n [NETWORK_ID.SANCHO]: 'addr_test',\n [NETWORK_ID.GUILD]: 'addr_test',\n [NETWORK_ID.PREPROD]: 'addr_test',\n [NETWORK_ID.PREVIEW]: 'addr_test',\n [NETWORK_ID.MUSASHI_2026W42]: 'addr_test',\n [NETWORK_ID.AFVT]: 'addr',\n [NETWORK_ID.AFVM]: 'addr',\n [NETWORK_ID.AFPT]: 'addr_test',\n [NETWORK_ID.AFPM]: 'addr'\n}\n\nexport const networkStakeAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'stake',\n [NETWORK_ID.SANCHO]: 'stake_test',\n [NETWORK_ID.GUILD]: 'stake_test',\n [NETWORK_ID.PREPROD]: 'stake_test',\n [NETWORK_ID.PREVIEW]: 'stake_test',\n [NETWORK_ID.MUSASHI_2026W42]: 'stake_test',\n [NETWORK_ID.AFVT]: 'stake',\n [NETWORK_ID.AFVM]: 'stake',\n [NETWORK_ID.AFPT]: 'stake_test',\n [NETWORK_ID.AFPM]: 'stake'\n}\n\nexport const networkCurrencyCode: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'ADA',\n [NETWORK_ID.SANCHO]: 'tADA',\n [NETWORK_ID.GUILD]: 'tADA',\n [NETWORK_ID.PREPROD]: 'tADA',\n [NETWORK_ID.PREVIEW]: 'tADA',\n [NETWORK_ID.MUSASHI_2026W42]: 'tADA',\n [NETWORK_ID.AFVT]: 'tAP3X',\n [NETWORK_ID.AFVM]: 'AP3X',\n [NETWORK_ID.AFPT]: 'tAP3X',\n [NETWORK_ID.AFPM]: 'AP3X'\n}\n\nexport const networkCurrencySymbol: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: '₳',\n [NETWORK_ID.SANCHO]: 't₳',\n [NETWORK_ID.GUILD]: 't₳',\n [NETWORK_ID.PREPROD]: 't₳',\n [NETWORK_ID.PREVIEW]: 't₳',\n [NETWORK_ID.MUSASHI_2026W42]: 't₳',\n [NETWORK_ID.AFVT]: 'tÂ',\n [NETWORK_ID.AFVM]: 'Â',\n [NETWORK_ID.AFPT]: 'tÂ',\n [NETWORK_ID.AFPM]: 'Â'\n}\n\nexport const isSupportedNetworkId = (id?: string | null): id is NetworkId => networkIdList.includes(id as NetworkId)\n\nexport const getNetworkId = (id: string): number => {\n\n switch (id) {\n\n case NETWORK_ID.MAINNET: return 1\n case NETWORK_ID.SANCHO: return 0\n case NETWORK_ID.GUILD: return 0\n case NETWORK_ID.PREPROD: return 0\n case NETWORK_ID.PREVIEW: return 0\n case NETWORK_ID.MUSASHI_2026W42: return 0\n case NETWORK_ID.AFVT: return 1\n case NETWORK_ID.AFVM: return 1\n case NETWORK_ID.AFPT: return 0\n case NETWORK_ID.AFPM: return 1\n }\n\n throw new Error('Error: INetwork.getNetworkId: unknown network: ' + id)\n}\n\nexport const getNetworkDecimals = (id: NetworkId): number => {\n\n switch (id) {\n\n case NETWORK_ID.SANCHO: return 6\n default: return 6\n }\n}\n\nexport const isTestnetNetwork = (networkId: NetworkId): boolean => {\n\n switch (networkId) {\n\n case NETWORK_ID.MAINNET: return false\n case NETWORK_ID.GUILD: return true\n case NETWORK_ID.SANCHO: return true\n case NETWORK_ID.PREPROD: return true\n case NETWORK_ID.PREVIEW: return true\n case NETWORK_ID.MUSASHI_2026W42: return true\n case NETWORK_ID.AFVT: return true\n case NETWORK_ID.AFVM: return false\n case NETWORK_ID.AFPT: return true\n case NETWORK_ID.AFPM: return false\n default: return false\n }\n}\n\n//@deprecated\nexport const isCustomNetwork = (networkId: NetworkId): boolean => !isTestnetNetwork(networkId) && networkId !== NETWORK_ID.MAINNET\n\nexport const getNetworkCurrencyCode = (id: NetworkId): string => networkCurrencyCode[id] || '-'\nexport const getNetworkCurrencySymbol = (id: NetworkId): string => networkCurrencySymbol[id] || '?'\n\n// Prototype testnets must be explicitly enabled by development consumers.\nexport const isDevelopmentNetwork = (id: string): boolean => id === NETWORK_ID.MUSASHI_2026W42\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { _ as networkStakeAddressPrefix, a as getNetworkDecimals, c as isSupportedNetworkId, d as networkCurrencyCode, f as networkCurrencySymbol, g as networkShelleyTransitionEpoch, h as networkIdx, i as getNetworkCurrencySymbol, l as isTestnetNetwork, m as networkIdList, n as NetworkId, o as getNetworkId, p as networkGroups, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as networkAddressPrefix } from "../NetworkId-B9JhuswJ.cjs";
2
- export { NETWORK_ID, NetworkId, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix };
1
+ import { _ as networkShelleyTransitionEpoch, a as getNetworkDecimals, c as isDevelopmentNetwork, d as networkAddressPrefix, f as networkCurrencyCode, g as networkIdx, h as networkIdList, i as getNetworkCurrencySymbol, l as isSupportedNetworkId, m as networkGroups, n as NetworkId, o as getNetworkId, p as networkCurrencySymbol, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as isTestnetNetwork, v as networkStakeAddressPrefix } from "../NetworkId-BzB9yQuF.cjs";
2
+ export { NETWORK_ID, NetworkId, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isDevelopmentNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix };
@@ -1,2 +1,2 @@
1
- import { _ as networkStakeAddressPrefix, a as getNetworkDecimals, c as isSupportedNetworkId, d as networkCurrencyCode, f as networkCurrencySymbol, g as networkShelleyTransitionEpoch, h as networkIdx, i as getNetworkCurrencySymbol, l as isTestnetNetwork, m as networkIdList, n as NetworkId, o as getNetworkId, p as networkGroups, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as networkAddressPrefix } from "../NetworkId-B9JhuswJ.mjs";
2
- export { NETWORK_ID, NetworkId, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix };
1
+ import { _ as networkShelleyTransitionEpoch, a as getNetworkDecimals, c as isDevelopmentNetwork, d as networkAddressPrefix, f as networkCurrencyCode, g as networkIdx, h as networkIdList, i as getNetworkCurrencySymbol, l as isSupportedNetworkId, m as networkGroups, n as NetworkId, o as getNetworkId, p as networkCurrencySymbol, r as getNetworkCurrencyCode, s as isCustomNetwork, t as NETWORK_ID, u as isTestnetNetwork, v as networkStakeAddressPrefix } from "../NetworkId-BzB9yQuF.mjs";
2
+ export { NETWORK_ID, NetworkId, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isDevelopmentNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix };
@@ -5,6 +5,7 @@ const NETWORK_ID = {
5
5
  SANCHO: "sancho",
6
6
  PREPROD: "preprod",
7
7
  PREVIEW: "preview",
8
+ MUSASHI_2026W42: "musashi-2026w42",
8
9
  AFVT: "afvt",
9
10
  AFVM: "afvm",
10
11
  AFPT: "afpt",
@@ -14,6 +15,7 @@ const networkIdList = [
14
15
  NETWORK_ID.MAINNET,
15
16
  NETWORK_ID.PREPROD,
16
17
  NETWORK_ID.PREVIEW,
18
+ NETWORK_ID.MUSASHI_2026W42,
17
19
  NETWORK_ID.GUILD,
18
20
  NETWORK_ID.SANCHO,
19
21
  NETWORK_ID.AFVT,
@@ -27,6 +29,7 @@ const networkIdx = {
27
29
  [NETWORK_ID.GUILD]: 2,
28
30
  [NETWORK_ID.PREPROD]: 4,
29
31
  [NETWORK_ID.PREVIEW]: 5,
32
+ [NETWORK_ID.MUSASHI_2026W42]: 10,
30
33
  [NETWORK_ID.AFVT]: 6,
31
34
  [NETWORK_ID.AFVM]: 7,
32
35
  [NETWORK_ID.AFPT]: 8,
@@ -38,7 +41,8 @@ const networkGroups = {
38
41
  NETWORK_ID.PREPROD,
39
42
  NETWORK_ID.PREVIEW,
40
43
  NETWORK_ID.GUILD,
41
- NETWORK_ID.SANCHO
44
+ NETWORK_ID.SANCHO,
45
+ NETWORK_ID.MUSASHI_2026W42
42
46
  ],
43
47
  APEX: [
44
48
  NETWORK_ID.AFVT,
@@ -53,6 +57,7 @@ const networkShelleyTransitionEpoch = {
53
57
  [NETWORK_ID.GUILD]: 2,
54
58
  [NETWORK_ID.PREPROD]: 4,
55
59
  [NETWORK_ID.PREVIEW]: 0,
60
+ [NETWORK_ID.MUSASHI_2026W42]: 0,
56
61
  [NETWORK_ID.AFVT]: 2,
57
62
  [NETWORK_ID.AFVM]: 2,
58
63
  [NETWORK_ID.AFPT]: 0,
@@ -64,6 +69,7 @@ const networkAddressPrefix = {
64
69
  [NETWORK_ID.GUILD]: "addr_test",
65
70
  [NETWORK_ID.PREPROD]: "addr_test",
66
71
  [NETWORK_ID.PREVIEW]: "addr_test",
72
+ [NETWORK_ID.MUSASHI_2026W42]: "addr_test",
67
73
  [NETWORK_ID.AFVT]: "addr",
68
74
  [NETWORK_ID.AFVM]: "addr",
69
75
  [NETWORK_ID.AFPT]: "addr_test",
@@ -75,6 +81,7 @@ const networkStakeAddressPrefix = {
75
81
  [NETWORK_ID.GUILD]: "stake_test",
76
82
  [NETWORK_ID.PREPROD]: "stake_test",
77
83
  [NETWORK_ID.PREVIEW]: "stake_test",
84
+ [NETWORK_ID.MUSASHI_2026W42]: "stake_test",
78
85
  [NETWORK_ID.AFVT]: "stake",
79
86
  [NETWORK_ID.AFVM]: "stake",
80
87
  [NETWORK_ID.AFPT]: "stake_test",
@@ -86,6 +93,7 @@ const networkCurrencyCode = {
86
93
  [NETWORK_ID.GUILD]: "tADA",
87
94
  [NETWORK_ID.PREPROD]: "tADA",
88
95
  [NETWORK_ID.PREVIEW]: "tADA",
96
+ [NETWORK_ID.MUSASHI_2026W42]: "tADA",
89
97
  [NETWORK_ID.AFVT]: "tAP3X",
90
98
  [NETWORK_ID.AFVM]: "AP3X",
91
99
  [NETWORK_ID.AFPT]: "tAP3X",
@@ -97,6 +105,7 @@ const networkCurrencySymbol = {
97
105
  [NETWORK_ID.GUILD]: "t₳",
98
106
  [NETWORK_ID.PREPROD]: "t₳",
99
107
  [NETWORK_ID.PREVIEW]: "t₳",
108
+ [NETWORK_ID.MUSASHI_2026W42]: "t₳",
100
109
  [NETWORK_ID.AFVT]: "tÂ",
101
110
  [NETWORK_ID.AFVM]: "Â",
102
111
  [NETWORK_ID.AFPT]: "tÂ",
@@ -110,6 +119,7 @@ const getNetworkId = (id) => {
110
119
  case NETWORK_ID.GUILD: return 0;
111
120
  case NETWORK_ID.PREPROD: return 0;
112
121
  case NETWORK_ID.PREVIEW: return 0;
122
+ case NETWORK_ID.MUSASHI_2026W42: return 0;
113
123
  case NETWORK_ID.AFVT: return 1;
114
124
  case NETWORK_ID.AFVM: return 1;
115
125
  case NETWORK_ID.AFPT: return 0;
@@ -130,6 +140,7 @@ const isTestnetNetwork = (networkId) => {
130
140
  case NETWORK_ID.SANCHO: return true;
131
141
  case NETWORK_ID.PREPROD: return true;
132
142
  case NETWORK_ID.PREVIEW: return true;
143
+ case NETWORK_ID.MUSASHI_2026W42: return true;
133
144
  case NETWORK_ID.AFVT: return true;
134
145
  case NETWORK_ID.AFVM: return false;
135
146
  case NETWORK_ID.AFPT: return true;
@@ -140,7 +151,8 @@ const isTestnetNetwork = (networkId) => {
140
151
  const isCustomNetwork = (networkId) => !isTestnetNetwork(networkId) && networkId !== NETWORK_ID.MAINNET;
141
152
  const getNetworkCurrencyCode = (id) => networkCurrencyCode[id] || "-";
142
153
  const getNetworkCurrencySymbol = (id) => networkCurrencySymbol[id] || "?";
154
+ const isDevelopmentNetwork = (id) => id === NETWORK_ID.MUSASHI_2026W42;
143
155
  //#endregion
144
- export { NETWORK_ID, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix };
156
+ export { NETWORK_ID, getNetworkCurrencyCode, getNetworkCurrencySymbol, getNetworkDecimals, getNetworkId, isCustomNetwork, isDevelopmentNetwork, isSupportedNetworkId, isTestnetNetwork, networkAddressPrefix, networkCurrencyCode, networkCurrencySymbol, networkGroups, networkIdList, networkIdx, networkShelleyTransitionEpoch, networkStakeAddressPrefix };
145
157
 
146
158
  //# sourceMappingURL=NetworkId.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkId.mjs","names":[],"sources":["../../src/types/NetworkId.ts"],"sourcesContent":["export const NETWORK_ID = {\n\n MAINNET: 'mainnet',\n GUILD: 'guild',\n SANCHO: 'sancho',\n PREPROD: 'preprod',\n PREVIEW: 'preview',\n AFVT: 'afvt',\n AFVM: 'afvm',\n AFPT: 'afpt',\n AFPM: 'afpm'\n} as const\n\nexport type NetworkId = typeof NETWORK_ID[keyof typeof NETWORK_ID]\n\nexport const networkIdList = <NetworkId[]>[\n NETWORK_ID.MAINNET,\n NETWORK_ID.PREPROD,\n NETWORK_ID.PREVIEW,\n NETWORK_ID.GUILD,\n NETWORK_ID.SANCHO,\n NETWORK_ID.AFVT,\n NETWORK_ID.AFVM,\n NETWORK_ID.AFPT,\n NETWORK_ID.AFPM\n]\n\nexport const networkIdx: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 0,\n [NETWORK_ID.SANCHO]: 1,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 5,\n [NETWORK_ID.AFVT]: 6,\n [NETWORK_ID.AFVM]: 7,\n [NETWORK_ID.AFPT]: 8,\n [NETWORK_ID.AFPM]: 9,\n}\n\nexport const networkGroups: Record<string, NetworkId[]> = {\n\n Cardano: [ NETWORK_ID.MAINNET, NETWORK_ID.PREPROD, NETWORK_ID.PREVIEW, NETWORK_ID.GUILD, NETWORK_ID.SANCHO ],\n APEX: [ NETWORK_ID.AFVT, NETWORK_ID.AFVM, NETWORK_ID.AFPT, NETWORK_ID.AFPM ],\n}\n\nexport const networkShelleyTransitionEpoch: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 208,\n [NETWORK_ID.SANCHO]: 0,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 0,\n [NETWORK_ID.AFVT]: 2,\n [NETWORK_ID.AFVM]: 2,\n [NETWORK_ID.AFPT]: 0,\n [NETWORK_ID.AFPM]: 2\n}\n\nexport const networkAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'addr',\n [NETWORK_ID.SANCHO]: 'addr_test',\n [NETWORK_ID.GUILD]: 'addr_test',\n [NETWORK_ID.PREPROD]: 'addr_test',\n [NETWORK_ID.PREVIEW]: 'addr_test',\n [NETWORK_ID.AFVT]: 'addr',\n [NETWORK_ID.AFVM]: 'addr',\n [NETWORK_ID.AFPT]: 'addr_test',\n [NETWORK_ID.AFPM]: 'addr'\n}\n\nexport const networkStakeAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'stake',\n [NETWORK_ID.SANCHO]: 'stake_test',\n [NETWORK_ID.GUILD]: 'stake_test',\n [NETWORK_ID.PREPROD]: 'stake_test',\n [NETWORK_ID.PREVIEW]: 'stake_test',\n [NETWORK_ID.AFVT]: 'stake',\n [NETWORK_ID.AFVM]: 'stake',\n [NETWORK_ID.AFPT]: 'stake_test',\n [NETWORK_ID.AFPM]: 'stake'\n}\n\nexport const networkCurrencyCode: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'ADA',\n [NETWORK_ID.SANCHO]: 'tADA',\n [NETWORK_ID.GUILD]: 'tADA',\n [NETWORK_ID.PREPROD]: 'tADA',\n [NETWORK_ID.PREVIEW]: 'tADA',\n [NETWORK_ID.AFVT]: 'tAP3X',\n [NETWORK_ID.AFVM]: 'AP3X',\n [NETWORK_ID.AFPT]: 'tAP3X',\n [NETWORK_ID.AFPM]: 'AP3X'\n}\n\nexport const networkCurrencySymbol: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: '₳',\n [NETWORK_ID.SANCHO]: 't₳',\n [NETWORK_ID.GUILD]: 't₳',\n [NETWORK_ID.PREPROD]: 't₳',\n [NETWORK_ID.PREVIEW]: 't₳',\n [NETWORK_ID.AFVT]: 'tÂ',\n [NETWORK_ID.AFVM]: 'Â',\n [NETWORK_ID.AFPT]: 'tÂ',\n [NETWORK_ID.AFPM]: 'Â'\n}\n\nexport const isSupportedNetworkId = (id?: string | null): id is NetworkId => networkIdList.includes(id as NetworkId)\n\nexport const getNetworkId = (id: string): number => {\n\n switch (id) {\n\n case NETWORK_ID.MAINNET: return 1\n case NETWORK_ID.SANCHO: return 0\n case NETWORK_ID.GUILD: return 0\n case NETWORK_ID.PREPROD: return 0\n case NETWORK_ID.PREVIEW: return 0\n case NETWORK_ID.AFVT: return 1\n case NETWORK_ID.AFVM: return 1\n case NETWORK_ID.AFPT: return 0\n case NETWORK_ID.AFPM: return 1\n }\n\n throw new Error('Error: INetwork.getNetworkId: unknown network: ' + id)\n}\n\nexport const getNetworkDecimals = (id: NetworkId): number => {\n\n switch (id) {\n\n case NETWORK_ID.SANCHO: return 6\n default: return 6\n }\n}\n\nexport const isTestnetNetwork = (networkId: NetworkId): boolean => {\n\n switch (networkId) {\n\n case NETWORK_ID.MAINNET: return false\n case NETWORK_ID.GUILD: return true\n case NETWORK_ID.SANCHO: return true\n case NETWORK_ID.PREPROD: return true\n case NETWORK_ID.PREVIEW: return true\n case NETWORK_ID.AFVT: return true\n case NETWORK_ID.AFVM: return false\n case NETWORK_ID.AFPT: return true\n case NETWORK_ID.AFPM: return false\n default: return false\n }\n}\n\n//@deprecated\nexport const isCustomNetwork = (networkId: NetworkId): boolean => !isTestnetNetwork(networkId) && networkId !== NETWORK_ID.MAINNET\n\nexport const getNetworkCurrencyCode = (id: NetworkId): string => networkCurrencyCode[id] || '-'\nexport const getNetworkCurrencySymbol = (id: NetworkId): string => networkCurrencySymbol[id] || '?'\n"],"mappings":"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"}
1
+ {"version":3,"file":"NetworkId.mjs","names":[],"sources":["../../src/types/NetworkId.ts"],"sourcesContent":["export const NETWORK_ID = {\n\n MAINNET: 'mainnet',\n GUILD: 'guild',\n SANCHO: 'sancho',\n PREPROD: 'preprod',\n PREVIEW: 'preview',\n MUSASHI_2026W42: 'musashi-2026w42',\n AFVT: 'afvt',\n AFVM: 'afvm',\n AFPT: 'afpt',\n AFPM: 'afpm'\n} as const\n\nexport type NetworkId = typeof NETWORK_ID[keyof typeof NETWORK_ID]\n\nexport const networkIdList = <NetworkId[]>[\n NETWORK_ID.MAINNET,\n NETWORK_ID.PREPROD,\n NETWORK_ID.PREVIEW,\n NETWORK_ID.MUSASHI_2026W42,\n NETWORK_ID.GUILD,\n NETWORK_ID.SANCHO,\n NETWORK_ID.AFVT,\n NETWORK_ID.AFVM,\n NETWORK_ID.AFPT,\n NETWORK_ID.AFPM\n]\n\nexport const networkIdx: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 0,\n [NETWORK_ID.SANCHO]: 1,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 5,\n [NETWORK_ID.MUSASHI_2026W42]: 10,\n [NETWORK_ID.AFVT]: 6,\n [NETWORK_ID.AFVM]: 7,\n [NETWORK_ID.AFPT]: 8,\n [NETWORK_ID.AFPM]: 9,\n}\n\nexport const networkGroups: Record<string, NetworkId[]> = {\n\n Cardano: [ NETWORK_ID.MAINNET, NETWORK_ID.PREPROD, NETWORK_ID.PREVIEW, NETWORK_ID.GUILD, NETWORK_ID.SANCHO, NETWORK_ID.MUSASHI_2026W42 ],\n APEX: [ NETWORK_ID.AFVT, NETWORK_ID.AFVM, NETWORK_ID.AFPT, NETWORK_ID.AFPM ],\n}\n\nexport const networkShelleyTransitionEpoch: Record<NetworkId, number> = {\n\n [NETWORK_ID.MAINNET]: 208,\n [NETWORK_ID.SANCHO]: 0,\n [NETWORK_ID.GUILD]: 2,\n [NETWORK_ID.PREPROD]: 4,\n [NETWORK_ID.PREVIEW]: 0,\n [NETWORK_ID.MUSASHI_2026W42]: 0,\n [NETWORK_ID.AFVT]: 2,\n [NETWORK_ID.AFVM]: 2,\n [NETWORK_ID.AFPT]: 0,\n [NETWORK_ID.AFPM]: 2\n}\n\nexport const networkAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'addr',\n [NETWORK_ID.SANCHO]: 'addr_test',\n [NETWORK_ID.GUILD]: 'addr_test',\n [NETWORK_ID.PREPROD]: 'addr_test',\n [NETWORK_ID.PREVIEW]: 'addr_test',\n [NETWORK_ID.MUSASHI_2026W42]: 'addr_test',\n [NETWORK_ID.AFVT]: 'addr',\n [NETWORK_ID.AFVM]: 'addr',\n [NETWORK_ID.AFPT]: 'addr_test',\n [NETWORK_ID.AFPM]: 'addr'\n}\n\nexport const networkStakeAddressPrefix: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'stake',\n [NETWORK_ID.SANCHO]: 'stake_test',\n [NETWORK_ID.GUILD]: 'stake_test',\n [NETWORK_ID.PREPROD]: 'stake_test',\n [NETWORK_ID.PREVIEW]: 'stake_test',\n [NETWORK_ID.MUSASHI_2026W42]: 'stake_test',\n [NETWORK_ID.AFVT]: 'stake',\n [NETWORK_ID.AFVM]: 'stake',\n [NETWORK_ID.AFPT]: 'stake_test',\n [NETWORK_ID.AFPM]: 'stake'\n}\n\nexport const networkCurrencyCode: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: 'ADA',\n [NETWORK_ID.SANCHO]: 'tADA',\n [NETWORK_ID.GUILD]: 'tADA',\n [NETWORK_ID.PREPROD]: 'tADA',\n [NETWORK_ID.PREVIEW]: 'tADA',\n [NETWORK_ID.MUSASHI_2026W42]: 'tADA',\n [NETWORK_ID.AFVT]: 'tAP3X',\n [NETWORK_ID.AFVM]: 'AP3X',\n [NETWORK_ID.AFPT]: 'tAP3X',\n [NETWORK_ID.AFPM]: 'AP3X'\n}\n\nexport const networkCurrencySymbol: Record<NetworkId, string> = {\n\n [NETWORK_ID.MAINNET]: '₳',\n [NETWORK_ID.SANCHO]: 't₳',\n [NETWORK_ID.GUILD]: 't₳',\n [NETWORK_ID.PREPROD]: 't₳',\n [NETWORK_ID.PREVIEW]: 't₳',\n [NETWORK_ID.MUSASHI_2026W42]: 't₳',\n [NETWORK_ID.AFVT]: 'tÂ',\n [NETWORK_ID.AFVM]: 'Â',\n [NETWORK_ID.AFPT]: 'tÂ',\n [NETWORK_ID.AFPM]: 'Â'\n}\n\nexport const isSupportedNetworkId = (id?: string | null): id is NetworkId => networkIdList.includes(id as NetworkId)\n\nexport const getNetworkId = (id: string): number => {\n\n switch (id) {\n\n case NETWORK_ID.MAINNET: return 1\n case NETWORK_ID.SANCHO: return 0\n case NETWORK_ID.GUILD: return 0\n case NETWORK_ID.PREPROD: return 0\n case NETWORK_ID.PREVIEW: return 0\n case NETWORK_ID.MUSASHI_2026W42: return 0\n case NETWORK_ID.AFVT: return 1\n case NETWORK_ID.AFVM: return 1\n case NETWORK_ID.AFPT: return 0\n case NETWORK_ID.AFPM: return 1\n }\n\n throw new Error('Error: INetwork.getNetworkId: unknown network: ' + id)\n}\n\nexport const getNetworkDecimals = (id: NetworkId): number => {\n\n switch (id) {\n\n case NETWORK_ID.SANCHO: return 6\n default: return 6\n }\n}\n\nexport const isTestnetNetwork = (networkId: NetworkId): boolean => {\n\n switch (networkId) {\n\n case NETWORK_ID.MAINNET: return false\n case NETWORK_ID.GUILD: return true\n case NETWORK_ID.SANCHO: return true\n case NETWORK_ID.PREPROD: return true\n case NETWORK_ID.PREVIEW: return true\n case NETWORK_ID.MUSASHI_2026W42: return true\n case NETWORK_ID.AFVT: return true\n case NETWORK_ID.AFVM: return false\n case NETWORK_ID.AFPT: return true\n case NETWORK_ID.AFPM: return false\n default: return false\n }\n}\n\n//@deprecated\nexport const isCustomNetwork = (networkId: NetworkId): boolean => !isTestnetNetwork(networkId) && networkId !== NETWORK_ID.MAINNET\n\nexport const getNetworkCurrencyCode = (id: NetworkId): string => networkCurrencyCode[id] || '-'\nexport const getNetworkCurrencySymbol = (id: NetworkId): string => networkCurrencySymbol[id] || '?'\n\n// Prototype testnets must be explicitly enabled by development consumers.\nexport const isDevelopmentNetwork = (id: string): boolean => id === NETWORK_ID.MUSASHI_2026W42\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternl/network-id",
3
- "version": "0.47.0",
3
+ "version": "0.48.0",
4
4
  "description": "Network identifiers and network-level metadata for Eternl packages",
5
5
  "license": "BUSL-1.1",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "llms.txt"
42
42
  ],
43
43
  "dependencies": {
44
- "@eternl/tools": "0.46.0"
44
+ "@eternl/tools": "0.48.0"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenesisStore-CqCs2Yin.mjs","names":["mainnetShelley","mainnetByron","guildShelley","guildByron","sanchoShelley","sanchoByron","preprodShelley","preprodByron","previewShelley","previewByron","afvtShelley","afvtByron","afvmShelley","afvmByron","afptShelley","afptByron","afpmShelley","afpmByron"],"sources":["../src/network/afpm/byron.json","../src/network/afpm/shelley.json","../src/network/afpt/byron.json","../src/network/afpt/shelley.json","../src/network/afvm/byron.json","../src/network/afvm/shelley.json","../src/network/afvt/byron.json","../src/network/afvt/shelley.json","../src/network/guild/byron.json","../src/network/guild/shelley.json","../src/network/mainnet/byron.json","../src/network/mainnet/shelley.json","../src/network/preprod/byron.json","../src/network/preprod/shelley.json","../src/network/preview/byron.json","../src/network/preview/shelley.json","../src/network/sancho/byron.json","../src/network/sancho/shelley.json","../src/network/GenesisStore.ts"],"sourcesContent":["","","","","","","","","","","","","","","","","","","import { type NetworkId } from '../index'\nimport afpmByron from './afpm/byron.json'\nimport afpmShelley from './afpm/shelley.json'\nimport afptByron from './afpt/byron.json'\nimport afptShelley from './afpt/shelley.json'\nimport afvmByron from './afvm/byron.json'\nimport afvmShelley from './afvm/shelley.json'\nimport afvtByron from './afvt/byron.json'\nimport afvtShelley from './afvt/shelley.json'\nimport guildByron from './guild/byron.json'\nimport guildShelley from './guild/shelley.json'\nimport { type IGenesisStore } from './IGenesisStore'\nimport mainnetByron from './mainnet/byron.json'\nimport mainnetShelley from './mainnet/shelley.json'\nimport preprodByron from './preprod/byron.json'\nimport preprodShelley from './preprod/shelley.json'\nimport previewByron from './preview/byron.json'\nimport previewShelley from './preview/shelley.json'\nimport sanchoByron from './sancho/byron.json'\nimport sanchoShelley from './sancho/shelley.json'\n\nexport const GenesisStore: Record<NetworkId, IGenesisStore> = {\n\n mainnet: {\n\n shelley: mainnetShelley,\n byron: mainnetByron\n },\n\n guild: {\n\n shelley: guildShelley,\n byron: guildByron\n },\n\n sancho: {\n\n shelley: sanchoShelley,\n byron: sanchoByron\n },\n\n preprod: {\n\n shelley: preprodShelley,\n byron: preprodByron\n },\n\n preview: {\n\n shelley: previewShelley,\n byron: previewByron\n },\n\n afvt: {\n\n shelley: afvtShelley,\n byron: afvtByron\n },\n\n afvm: {\n\n shelley: afvmShelley,\n byron: afvmByron\n },\n\n afpt: {\n\n shelley: afptShelley,\n byron: afptByron\n },\n\n afpm: {\n\n shelley: afpmShelley,\n byron: afpmByron\n },\n}\n"],"mappings":";;AkBqBA,MAAa,eAAiD;CAE5D,SAA4B;EAE1B,SAA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,OAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,QAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenesisStore-DGnbeDqM.cjs","names":["mainnetShelley","mainnetByron","guildShelley","guildByron","sanchoShelley","sanchoByron","preprodShelley","preprodByron","previewShelley","previewByron","afvtShelley","afvtByron","afvmShelley","afvmByron","afptShelley","afptByron","afpmShelley","afpmByron"],"sources":["../src/network/afpm/byron.json","../src/network/afpm/shelley.json","../src/network/afpt/byron.json","../src/network/afpt/shelley.json","../src/network/afvm/byron.json","../src/network/afvm/shelley.json","../src/network/afvt/byron.json","../src/network/afvt/shelley.json","../src/network/guild/byron.json","../src/network/guild/shelley.json","../src/network/mainnet/byron.json","../src/network/mainnet/shelley.json","../src/network/preprod/byron.json","../src/network/preprod/shelley.json","../src/network/preview/byron.json","../src/network/preview/shelley.json","../src/network/sancho/byron.json","../src/network/sancho/shelley.json","../src/network/GenesisStore.ts"],"sourcesContent":["","","","","","","","","","","","","","","","","","","import { type NetworkId } from '../index'\nimport afpmByron from './afpm/byron.json'\nimport afpmShelley from './afpm/shelley.json'\nimport afptByron from './afpt/byron.json'\nimport afptShelley from './afpt/shelley.json'\nimport afvmByron from './afvm/byron.json'\nimport afvmShelley from './afvm/shelley.json'\nimport afvtByron from './afvt/byron.json'\nimport afvtShelley from './afvt/shelley.json'\nimport guildByron from './guild/byron.json'\nimport guildShelley from './guild/shelley.json'\nimport { type IGenesisStore } from './IGenesisStore'\nimport mainnetByron from './mainnet/byron.json'\nimport mainnetShelley from './mainnet/shelley.json'\nimport preprodByron from './preprod/byron.json'\nimport preprodShelley from './preprod/shelley.json'\nimport previewByron from './preview/byron.json'\nimport previewShelley from './preview/shelley.json'\nimport sanchoByron from './sancho/byron.json'\nimport sanchoShelley from './sancho/shelley.json'\n\nexport const GenesisStore: Record<NetworkId, IGenesisStore> = {\n\n mainnet: {\n\n shelley: mainnetShelley,\n byron: mainnetByron\n },\n\n guild: {\n\n shelley: guildShelley,\n byron: guildByron\n },\n\n sancho: {\n\n shelley: sanchoShelley,\n byron: sanchoByron\n },\n\n preprod: {\n\n shelley: preprodShelley,\n byron: preprodByron\n },\n\n preview: {\n\n shelley: previewShelley,\n byron: previewByron\n },\n\n afvt: {\n\n shelley: afvtShelley,\n byron: afvtByron\n },\n\n afvm: {\n\n shelley: afvmShelley,\n byron: afvmByron\n },\n\n afpt: {\n\n shelley: afptShelley,\n byron: afptByron\n },\n\n afpm: {\n\n shelley: afpmShelley,\n byron: afpmByron\n },\n}\n"],"mappings":";;AkBqBA,MAAa,eAAiD;CAE5D,SAA4B;EAE1B,SAA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,OAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,QAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,SAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;CAEA,MAA4B;EAE1B,SAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;EAC1B,OAA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAAA;CAC5B;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NetworkId-B9JhuswJ.d.cts","names":[],"sources":["../src/types/NetworkId.ts"],"mappings":";cAAa;WAEX;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU,mBAA2B,wBAAwB;cAElD,eAAoB;cAYpB,YAAY,OAAO;cAanB,eAAe,eAAe;cAM9B,+BAA+B,OAAO;cAatC,sBAAsB,OAAO;cAa7B,2BAA2B,OAAO;cAalC,qBAAqB,OAAO;cAa5B,uBAAuB,OAAO;cAa9B,uBAAoB,uBAA6B,MAAM;cAEvD,eAAY;cAkBZ,qBAAkB,IAAc;cAShC,mBAAgB,WAAuB;cAkBvC,kBAAe,WAAwB;cAEvC,yBAAsB,IAAU;cAChC,2BAAwB,IAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NetworkId-B9JhuswJ.d.mts","names":[],"sources":["../src/types/NetworkId.ts"],"mappings":";cAAa;WAEX;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;KAGU,mBAA2B,wBAAwB;cAElD,eAAoB;cAYpB,YAAY,OAAO;cAanB,eAAe,eAAe;cAM9B,+BAA+B,OAAO;cAatC,sBAAsB,OAAO;cAa7B,2BAA2B,OAAO;cAalC,qBAAqB,OAAO;cAa5B,uBAAuB,OAAO;cAa9B,uBAAoB,uBAA6B,MAAM;cAEvD,eAAY;cAkBZ,qBAAkB,IAAc;cAShC,mBAAgB,WAAuB;cAkBvC,kBAAe,WAAwB;cAEvC,yBAAsB,IAAU;cAChC,2BAAwB,IAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-DRRhGMxp.d.mts","names":[],"sources":["../src/network/GenesisStore.ts","../src/types/IChainTip.ts","../src/chain.ts"],"mappings":";;;;cAqBa,cAAc,OAAO,WAAW;;;UCnB5B;EAEf,WAA4B;EAC5B,SAA4B;EAE5B;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;cAGW,kBAAe,WAAe,qBAAmB;;;cCIjD,aAAU,WAAqB,cAAY;cAC3C,WAAQ,WAAuB,cAAY;cAC3C,aAAU,WAAqB,cAAY;cAC3C,kBAAe,WAAgB;cAC/B,iBAAc,WAAiB;cAC/B,oBAAiB,WAAc;cAuB/B,wBAAqB,WAAe;cAiBpC,uBAAoB,WAAe,WAAS;cAc5C,mBAAgB,WAAe,WAAS;cA6BxC,iCAA8B,WAAe,WAAS;cAmBtD,yBAAsB,WAAe;cAWrC,qBAAkB,IAAQ;cAmB1B,qBAAkB,IAAQ,WAAS;cAenC,gBAAa,IAAW,WAAS;EAE5C;EACA;;cA4BW,iBAAc,IAAU,WAAS,UAAY,WAAS,MAAQ,cAAY;cAoB1E,oBAAiB,WAAe,WAAS,gBAAgB,iCAAiC;cAO1F,yBAAsB,mBAAqB,iCAAiC;cAsC5E,oBAAiB,WACjB,WAAS,QACZ,KAAK,gDAA8C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-DbsXl5Uh.d.cts","names":[],"sources":["../src/network/GenesisStore.ts","../src/types/IChainTip.ts","../src/chain.ts"],"mappings":";;;;cAqBa,cAAc,OAAO,WAAW;;;UCnB5B;EAEf,WAA4B;EAC5B,SAA4B;EAE5B;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;cAGW,kBAAe,WAAe,qBAAmB;;;cCIjD,aAAU,WAAqB,cAAY;cAC3C,WAAQ,WAAuB,cAAY;cAC3C,aAAU,WAAqB,cAAY;cAC3C,kBAAe,WAAgB;cAC/B,iBAAc,WAAiB;cAC/B,oBAAiB,WAAc;cAuB/B,wBAAqB,WAAe;cAiBpC,uBAAoB,WAAe,WAAS;cAc5C,mBAAgB,WAAe,WAAS;cA6BxC,iCAA8B,WAAe,WAAS;cAmBtD,yBAAsB,WAAe;cAWrC,qBAAkB,IAAQ;cAmB1B,qBAAkB,IAAQ,WAAS;cAenC,gBAAa,IAAW,WAAS;EAE5C;EACA;;cA4BW,iBAAc,IAAU,WAAS,UAAY,WAAS,MAAQ,cAAY;cAoB1E,oBAAiB,WAAe,WAAS,gBAAgB,iCAAiC;cAO1F,yBAAsB,mBAAqB,iCAAiC;cAsC5E,oBAAiB,WACjB,WAAS,QACZ,KAAK,gDAA8C"}