@xyo-network/chain-sdk 4.4.0 → 4.5.1

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 (153) hide show
  1. package/dist/browser/modules/ethereum/block/index.d.ts +0 -2
  2. package/dist/browser/modules/ethereum/block/index.d.ts.map +1 -1
  3. package/dist/browser/modules/ethereum/index.d.ts +0 -2
  4. package/dist/browser/modules/ethereum/index.d.ts.map +1 -1
  5. package/dist/browser/modules/ethereum/indexing/index.d.ts +0 -1
  6. package/dist/browser/modules/ethereum/indexing/index.d.ts.map +1 -1
  7. package/dist/browser/modules/ethereum/providers/AbstractEvmRunner.d.ts +2 -2
  8. package/dist/browser/modules/ethereum/providers/AbstractEvmRunner.d.ts.map +1 -1
  9. package/dist/browser/modules/ethereum/providers/index.d.ts +0 -4
  10. package/dist/browser/modules/ethereum/providers/index.d.ts.map +1 -1
  11. package/dist/browser/modules/telemetry/TelemetryProviders.d.ts +2 -0
  12. package/dist/browser/modules/telemetry/TelemetryProviders.d.ts.map +1 -1
  13. package/dist/browser/modules/telemetry/createTelemetryGlobalCleanup.d.ts +16 -0
  14. package/dist/browser/modules/telemetry/createTelemetryGlobalCleanup.d.ts.map +1 -0
  15. package/dist/browser/modules/telemetry/createTelemetryShutdown.d.ts +10 -0
  16. package/dist/browser/modules/telemetry/createTelemetryShutdown.d.ts.map +1 -0
  17. package/dist/browser/modules/telemetry/initTelemetry.d.ts.map +1 -1
  18. package/dist/browser/modules/telemetry/initTelemetryNode.d.ts.map +1 -1
  19. package/dist/browser/telemetry.mjs +144 -29
  20. package/dist/browser/telemetry.mjs.map +4 -4
  21. package/dist/neutral/ethereum.mjs +1 -149
  22. package/dist/neutral/ethereum.mjs.map +4 -4
  23. package/dist/neutral/modules/ethereum/block/index.d.ts +0 -2
  24. package/dist/neutral/modules/ethereum/block/index.d.ts.map +1 -1
  25. package/dist/neutral/modules/ethereum/index.d.ts +0 -2
  26. package/dist/neutral/modules/ethereum/index.d.ts.map +1 -1
  27. package/dist/neutral/modules/ethereum/indexing/index.d.ts +0 -1
  28. package/dist/neutral/modules/ethereum/indexing/index.d.ts.map +1 -1
  29. package/dist/neutral/modules/ethereum/providers/AbstractEvmRunner.d.ts +2 -2
  30. package/dist/neutral/modules/ethereum/providers/AbstractEvmRunner.d.ts.map +1 -1
  31. package/dist/neutral/modules/ethereum/providers/index.d.ts +0 -4
  32. package/dist/neutral/modules/ethereum/providers/index.d.ts.map +1 -1
  33. package/dist/neutral/modules/telemetry/TelemetryProviders.d.ts +2 -0
  34. package/dist/neutral/modules/telemetry/TelemetryProviders.d.ts.map +1 -1
  35. package/dist/neutral/modules/telemetry/createTelemetryGlobalCleanup.d.ts +16 -0
  36. package/dist/neutral/modules/telemetry/createTelemetryGlobalCleanup.d.ts.map +1 -0
  37. package/dist/neutral/modules/telemetry/createTelemetryShutdown.d.ts +10 -0
  38. package/dist/neutral/modules/telemetry/createTelemetryShutdown.d.ts.map +1 -0
  39. package/dist/neutral/modules/telemetry/initTelemetry.d.ts.map +1 -1
  40. package/dist/neutral/modules/telemetry/initTelemetryNode.d.ts.map +1 -1
  41. package/dist/neutral/services.mjs +1 -1
  42. package/dist/neutral/services.mjs.map +2 -2
  43. package/dist/neutral/telemetry.mjs +144 -29
  44. package/dist/neutral/telemetry.mjs.map +4 -4
  45. package/dist/neutral/utils.mjs +2 -2
  46. package/dist/neutral/utils.mjs.map +2 -2
  47. package/dist/neutral/validation.mjs +1 -1
  48. package/dist/neutral/validation.mjs.map +2 -2
  49. package/dist/node/modules/ethereum/block/index.d.ts +0 -2
  50. package/dist/node/modules/ethereum/block/index.d.ts.map +1 -1
  51. package/dist/node/modules/ethereum/index.d.ts +0 -2
  52. package/dist/node/modules/ethereum/index.d.ts.map +1 -1
  53. package/dist/node/modules/ethereum/indexing/index.d.ts +0 -1
  54. package/dist/node/modules/ethereum/indexing/index.d.ts.map +1 -1
  55. package/dist/node/modules/ethereum/providers/AbstractEvmRunner.d.ts +2 -2
  56. package/dist/node/modules/ethereum/providers/AbstractEvmRunner.d.ts.map +1 -1
  57. package/dist/node/modules/ethereum/providers/index.d.ts +0 -4
  58. package/dist/node/modules/ethereum/providers/index.d.ts.map +1 -1
  59. package/dist/node/modules/telemetry/TelemetryProviders.d.ts +2 -0
  60. package/dist/node/modules/telemetry/TelemetryProviders.d.ts.map +1 -1
  61. package/dist/node/modules/telemetry/createTelemetryGlobalCleanup.d.ts +16 -0
  62. package/dist/node/modules/telemetry/createTelemetryGlobalCleanup.d.ts.map +1 -0
  63. package/dist/node/modules/telemetry/createTelemetryShutdown.d.ts +10 -0
  64. package/dist/node/modules/telemetry/createTelemetryShutdown.d.ts.map +1 -0
  65. package/dist/node/modules/telemetry/initTelemetry.d.ts.map +1 -1
  66. package/dist/node/modules/telemetry/initTelemetryNode.d.ts.map +1 -1
  67. package/dist/node/telemetry.mjs +152 -32
  68. package/dist/node/telemetry.mjs.map +4 -4
  69. package/package.json +8 -8
  70. package/dist/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts +0 -2
  71. package/dist/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +0 -1
  72. package/dist/browser/modules/ethereum/block/findContractDeploymentBlock.d.ts +0 -2
  73. package/dist/browser/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +0 -1
  74. package/dist/browser/modules/ethereum/drivers/EvmStakeEventZod.d.ts +0 -2
  75. package/dist/browser/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +0 -1
  76. package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +0 -2
  77. package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +0 -1
  78. package/dist/browser/modules/ethereum/drivers/EvmStakeViewer.d.ts +0 -2
  79. package/dist/browser/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +0 -1
  80. package/dist/browser/modules/ethereum/drivers/index.d.ts +0 -4
  81. package/dist/browser/modules/ethereum/drivers/index.d.ts.map +0 -1
  82. package/dist/browser/modules/ethereum/providers/AbstractEvmProvider.d.ts +0 -2
  83. package/dist/browser/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +0 -1
  84. package/dist/browser/modules/ethereum/providers/AbstractEvmViewer.d.ts +0 -2
  85. package/dist/browser/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +0 -1
  86. package/dist/browser/modules/ethereum/providers/EvmChainContractViewer.d.ts +0 -2
  87. package/dist/browser/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +0 -1
  88. package/dist/browser/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +0 -2
  89. package/dist/browser/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +0 -1
  90. package/dist/browser/modules/ethereum/rpc/index.d.ts +0 -4
  91. package/dist/browser/modules/ethereum/rpc/index.d.ts.map +0 -1
  92. package/dist/browser/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +0 -2
  93. package/dist/browser/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +0 -1
  94. package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts +0 -2
  95. package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +0 -1
  96. package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +0 -2
  97. package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +0 -1
  98. package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts +0 -2
  99. package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +0 -1
  100. package/dist/neutral/modules/ethereum/block/findContractDeploymentBlock.d.ts +0 -2
  101. package/dist/neutral/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +0 -1
  102. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventZod.d.ts +0 -2
  103. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +0 -1
  104. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +0 -2
  105. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +0 -1
  106. package/dist/neutral/modules/ethereum/drivers/EvmStakeViewer.d.ts +0 -2
  107. package/dist/neutral/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +0 -1
  108. package/dist/neutral/modules/ethereum/drivers/index.d.ts +0 -4
  109. package/dist/neutral/modules/ethereum/drivers/index.d.ts.map +0 -1
  110. package/dist/neutral/modules/ethereum/providers/AbstractEvmProvider.d.ts +0 -2
  111. package/dist/neutral/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +0 -1
  112. package/dist/neutral/modules/ethereum/providers/AbstractEvmViewer.d.ts +0 -2
  113. package/dist/neutral/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +0 -1
  114. package/dist/neutral/modules/ethereum/providers/EvmChainContractViewer.d.ts +0 -2
  115. package/dist/neutral/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +0 -1
  116. package/dist/neutral/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +0 -2
  117. package/dist/neutral/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +0 -1
  118. package/dist/neutral/modules/ethereum/rpc/index.d.ts +0 -4
  119. package/dist/neutral/modules/ethereum/rpc/index.d.ts.map +0 -1
  120. package/dist/neutral/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +0 -2
  121. package/dist/neutral/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +0 -1
  122. package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts +0 -2
  123. package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +0 -1
  124. package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +0 -2
  125. package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +0 -1
  126. package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts +0 -2
  127. package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +0 -1
  128. package/dist/node/modules/ethereum/block/findContractDeploymentBlock.d.ts +0 -2
  129. package/dist/node/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +0 -1
  130. package/dist/node/modules/ethereum/drivers/EvmStakeEventZod.d.ts +0 -2
  131. package/dist/node/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +0 -1
  132. package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +0 -2
  133. package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +0 -1
  134. package/dist/node/modules/ethereum/drivers/EvmStakeViewer.d.ts +0 -2
  135. package/dist/node/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +0 -1
  136. package/dist/node/modules/ethereum/drivers/index.d.ts +0 -4
  137. package/dist/node/modules/ethereum/drivers/index.d.ts.map +0 -1
  138. package/dist/node/modules/ethereum/providers/AbstractEvmProvider.d.ts +0 -2
  139. package/dist/node/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +0 -1
  140. package/dist/node/modules/ethereum/providers/AbstractEvmViewer.d.ts +0 -2
  141. package/dist/node/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +0 -1
  142. package/dist/node/modules/ethereum/providers/EvmChainContractViewer.d.ts +0 -2
  143. package/dist/node/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +0 -1
  144. package/dist/node/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +0 -2
  145. package/dist/node/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +0 -1
  146. package/dist/node/modules/ethereum/rpc/index.d.ts +0 -4
  147. package/dist/node/modules/ethereum/rpc/index.d.ts.map +0 -1
  148. package/dist/node/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +0 -2
  149. package/dist/node/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +0 -1
  150. package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts +0 -2
  151. package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +0 -1
  152. package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +0 -2
  153. package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +0 -1
@@ -1,5 +1,3 @@
1
1
  export * from './blockRangeChunks.js';
2
- export * from './estimateBlockNumberAt.js';
3
- export * from './findContractDeploymentBlock.js';
4
2
  export * from './rate/index.js';
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA"}
@@ -3,10 +3,8 @@ export * from './block/index.js';
3
3
  export * from './createChain.js';
4
4
  export * from './createChainContract.js';
5
5
  export * from './createChainRewardsContract.js';
6
- export * from './drivers/index.js';
7
6
  export * from './ethereum.js';
8
7
  export * from './indexing/index.js';
9
8
  export * from './nextContractAddress.js';
10
9
  export * from './providers/index.js';
11
- export * from './rpc/index.js';
12
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/ethereum/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/ethereum/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA"}
@@ -1,3 +1,2 @@
1
1
  export * from './RestStakeEventsViewer.js';
2
- export { asEvmEventIndexFrame, asEvmEventIndexHead, asEvmEventIndexManifest, type EvmEventIndexFrame, evmEventIndexFramePath, EvmEventIndexFrameZod, type EvmEventIndexHead, evmEventIndexHeadPath, EvmEventIndexHeadZod, type EvmEventIndexLog, EvmEventIndexLogZod, type EvmEventIndexManifest, evmEventIndexManifestPath, EvmEventIndexManifestZod, type EvmEventIndexPublishRunner, type EvmEventIndexPublishRunnerMethods, EvmEventIndexPublishRunnerMoniker, evmEventIndexTailPath, } from '@xyo-network/xl1-sdk';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/index.ts"],"names":[],"mappings":"AAIA,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/indexing/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA"}
@@ -1,6 +1,6 @@
1
+ import type { EvmViewerParams } from '@xyo-network/xl1-sdk';
2
+ import { AbstractEvmViewer } from '@xyo-network/xl1-sdk';
1
3
  import type { BaseContract, ContractRunner } from 'ethers';
2
- import type { EvmViewerParams } from './AbstractEvmViewer.js';
3
- import { AbstractEvmViewer } from './AbstractEvmViewer.js';
4
4
  export interface EvmRunnerParams extends EvmViewerParams {
5
5
  runner: ContractRunner;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractEvmRunner.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/providers/AbstractEvmRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,8BAAsB,iBAAiB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,EACvF,SAAS,SAAS,YAAY,GAAG,YAAY,CAAE,SAC/C,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;WACf,aAAa,CAAC,CAAC,SAAS,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAKrH"}
1
+ {"version":3,"file":"AbstractEvmRunner.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/providers/AbstractEvmRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE1D,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,8BAAsB,iBAAiB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,EACvF,SAAS,SAAS,YAAY,GAAG,YAAY,CAAE,SAC/C,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;WACf,aAAa,CAAC,CAAC,SAAS,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAKrH"}
@@ -1,7 +1,3 @@
1
- export * from './AbstractEvmProvider.js';
2
1
  export * from './AbstractEvmRunner.js';
3
- export * from './AbstractEvmViewer.js';
4
- export * from './EvmChainContractViewer.js';
5
2
  export * from './EvmStakeRunner.js';
6
- export * from './EvmStakeTotalsViewer.js';
7
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ethereum/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import type { MeterProvider, TracerProvider } from '@opentelemetry/api';
2
2
  export interface TelemetryProviders {
3
3
  meterProvider: MeterProvider;
4
+ /** Idempotently disables instrumentation before shutting down both providers. */
5
+ shutdownTelemetry?: () => Promise<void>;
4
6
  traceProvider: TracerProvider;
5
7
  }
6
8
  //# sourceMappingURL=TelemetryProviders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryProviders.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/TelemetryProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,MAAM,WAAW,kBAAkB;IAAG,aAAa,EAAE,aAAa,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAE"}
1
+ {"version":3,"file":"TelemetryProviders.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/TelemetryProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAA;IAC5B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,aAAa,EAAE,cAAc,CAAA;CAC9B"}
@@ -0,0 +1,16 @@
1
+ import type { ContextManager } from '@opentelemetry/api';
2
+ interface DisableResource {
3
+ disable(): unknown;
4
+ }
5
+ export interface CreateTelemetryGlobalCleanupOptions {
6
+ readonly contextManager?: ContextManager;
7
+ readonly isGlobalContextManagerOwner: boolean;
8
+ readonly isGlobalMeterProviderOwner: boolean;
9
+ readonly isGlobalPropagatorOwner: boolean;
10
+ readonly isGlobalTracerProviderOwner: boolean;
11
+ readonly runtimeInstrumentation?: DisableResource;
12
+ }
13
+ /** Creates cleanup operations that release only the OpenTelemetry globals owned by this initialization. */
14
+ export declare function createTelemetryGlobalCleanup({ contextManager, isGlobalContextManagerOwner, isGlobalMeterProviderOwner, isGlobalPropagatorOwner, isGlobalTracerProviderOwner, runtimeInstrumentation, }: CreateTelemetryGlobalCleanupOptions): readonly (() => unknown)[];
15
+ export {};
16
+ //# sourceMappingURL=createTelemetryGlobalCleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTelemetryGlobalCleanup.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/createTelemetryGlobalCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAKxD,UAAU,eAAe;IACvB,OAAO,IAAI,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;IACxC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAA;IAC7C,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAA;IAC5C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAA;IAC7C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,eAAe,CAAA;CAClD;AAED,2GAA2G;AAC3G,wBAAgB,4BAA4B,CAAC,EAC3C,cAAc,EACd,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,GACvB,EAAE,mCAAmC,GAAG,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,CAUlE"}
@@ -0,0 +1,10 @@
1
+ export interface CreateTelemetryShutdownOptions {
2
+ readonly beforeShutdown?: readonly (() => unknown)[];
3
+ readonly meterProvider: unknown;
4
+ readonly traceProvider: unknown;
5
+ }
6
+ /** Attempts every available cleanup without replacing the initialization failure that triggered rollback. */
7
+ export declare function rollbackTelemetryInitialization({ beforeShutdown, meterProvider, traceProvider, }: CreateTelemetryShutdownOptions): void;
8
+ /** Creates one idempotent teardown for instrumentation and its providers. */
9
+ export declare function createTelemetryShutdown({ beforeShutdown, meterProvider, traceProvider, }: CreateTelemetryShutdownOptions): () => Promise<void>;
10
+ //# sourceMappingURL=createTelemetryShutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTelemetryShutdown.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/createTelemetryShutdown.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,CAAA;IACpD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAChC;AAcD,6GAA6G;AAC7G,wBAAgB,+BAA+B,CAAC,EAC9C,cAAmB,EACnB,aAAa,EACb,aAAa,GACd,EAAE,8BAA8B,GAAG,IAAI,CAKvC;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,EACtC,cAAmB,EACnB,aAAa,EACb,aAAa,GACd,EAAE,8BAA8B,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAsBtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"initTelemetry.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/initTelemetry.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAyGD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,kBAAkB,CAqBrB"}
1
+ {"version":3,"file":"initTelemetry.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/initTelemetry.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAoGD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,kBAAkB,CAkErB"}
@@ -1 +1 @@
1
- {"version":3,"file":"initTelemetryNode.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/initTelemetryNode.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAkJD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,kBAAkB,CA8BrB"}
1
+ {"version":3,"file":"initTelemetryNode.d.ts","sourceRoot":"","sources":["../../../../src/modules/telemetry/initTelemetryNode.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AA2JD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,kBAAkB,CAsErB"}
@@ -1,10 +1,10 @@
1
1
  // src/modules/telemetry/initTelemetry.ts
2
2
  import { isDefined } from "@ariestools/sdk";
3
3
  import {
4
- context,
5
- metrics,
6
- propagation,
7
- trace
4
+ context as context2,
5
+ metrics as metrics2,
6
+ propagation as propagation2,
7
+ trace as trace2
8
8
  } from "@opentelemetry/api";
9
9
  import { ZoneContextManager } from "@opentelemetry/context-zone";
10
10
  import {
@@ -25,17 +25,90 @@ import {
25
25
  BatchSpanProcessor
26
26
  } from "@opentelemetry/sdk-trace-base";
27
27
  import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
28
- var initContextManager = () => {
29
- const contextManager = new ZoneContextManager();
30
- context.setGlobalContextManager(contextManager.enable());
31
- };
32
- var initPropagation = () => {
33
- propagation.setGlobalPropagator(new CompositePropagator({
28
+
29
+ // src/modules/telemetry/createTelemetryGlobalCleanup.ts
30
+ import {
31
+ context,
32
+ metrics,
33
+ propagation,
34
+ trace
35
+ } from "@opentelemetry/api";
36
+ function createTelemetryGlobalCleanup({
37
+ contextManager,
38
+ isGlobalContextManagerOwner,
39
+ isGlobalMeterProviderOwner,
40
+ isGlobalPropagatorOwner,
41
+ isGlobalTracerProviderOwner,
42
+ runtimeInstrumentation
43
+ }) {
44
+ const cleanup = [];
45
+ if (runtimeInstrumentation !== void 0) cleanup.push(() => runtimeInstrumentation.disable());
46
+ if (isGlobalTracerProviderOwner) cleanup.push(() => trace.disable());
47
+ if (isGlobalMeterProviderOwner) cleanup.push(() => metrics.disable());
48
+ if (isGlobalPropagatorOwner) cleanup.push(() => propagation.disable());
49
+ if (contextManager !== void 0) {
50
+ cleanup.push(() => isGlobalContextManagerOwner ? context.disable() : contextManager.disable());
51
+ }
52
+ return cleanup;
53
+ }
54
+
55
+ // src/modules/telemetry/createTelemetryShutdown.ts
56
+ function isShutdownResource(value) {
57
+ return typeof value === "object" && value !== null && "shutdown" in value && typeof value.shutdown === "function";
58
+ }
59
+ function attemptRollback(operation) {
60
+ try {
61
+ void Promise.resolve(operation()).catch(() => null);
62
+ } catch {
63
+ }
64
+ }
65
+ function rollbackTelemetryInitialization({
66
+ beforeShutdown = [],
67
+ meterProvider,
68
+ traceProvider
69
+ }) {
70
+ for (const operation of beforeShutdown) attemptRollback(operation);
71
+ for (const provider of [meterProvider, traceProvider]) {
72
+ if (isShutdownResource(provider)) attemptRollback(() => provider.shutdown());
73
+ }
74
+ }
75
+ function createTelemetryShutdown({
76
+ beforeShutdown = [],
77
+ meterProvider,
78
+ traceProvider
79
+ }) {
80
+ let shutdownPromise;
81
+ return () => {
82
+ shutdownPromise ??= (async () => {
83
+ let firstError;
84
+ let hasError = false;
85
+ const attempt = async (operation) => {
86
+ try {
87
+ await operation();
88
+ } catch (error) {
89
+ if (!hasError) firstError = error;
90
+ hasError = true;
91
+ }
92
+ };
93
+ for (const operation of beforeShutdown) await attempt(operation);
94
+ for (const provider of [meterProvider, traceProvider]) {
95
+ if (isShutdownResource(provider)) await attempt(async () => await provider.shutdown());
96
+ }
97
+ if (hasError) throw firstError;
98
+ })();
99
+ return shutdownPromise;
100
+ };
101
+ }
102
+
103
+ // src/modules/telemetry/initTelemetry.ts
104
+ var createContextManager = () => new ZoneContextManager();
105
+ var createPropagator = () => {
106
+ return new CompositePropagator({
34
107
  propagators: [
35
108
  new W3CTraceContextPropagator(),
36
109
  new W3CBaggagePropagator()
37
110
  ]
38
- }));
111
+ });
39
112
  };
40
113
  var initResource = (attributes) => {
41
114
  const detectedResource = detectResources({
@@ -70,7 +143,6 @@ var initMeterProvider = (resource, readers) => {
70
143
  }
71
144
  ]
72
145
  });
73
- metrics.setGlobalMeterProvider(meterProvider);
74
146
  return meterProvider;
75
147
  };
76
148
  var initTraceProvider = (otlpEndpoint, resource) => {
@@ -92,27 +164,70 @@ var initTraceProvider = (otlpEndpoint, resource) => {
92
164
  spanProcessors
93
165
  };
94
166
  const traceProvider = new BasicTracerProvider(config);
95
- trace.setGlobalTracerProvider(traceProvider);
96
167
  return traceProvider;
97
168
  };
98
169
  function initTelemetry(params) {
99
170
  const { attributes, otlpEndpoint } = params;
100
- initContextManager();
101
- initPropagation();
102
- const resource = initResource(attributes);
103
- const meterProvider = initMeterProvider(resource, []);
104
- const traceProvider = initTraceProvider(otlpEndpoint, resource);
105
- Object.defineProperty(meterProvider, "toJSON", {
106
- value: () => ({ type: "MeterProvider" }),
107
- enumerable: false,
108
- configurable: true
109
- });
110
- Object.defineProperty(traceProvider, "toJSON", {
111
- value: () => ({ type: "TracerProvider" }),
112
- enumerable: false,
113
- configurable: true
114
- });
115
- return { meterProvider, traceProvider };
171
+ let contextManager;
172
+ let isGlobalContextManagerOwner = false;
173
+ let isGlobalMeterProviderOwner = false;
174
+ let isGlobalPropagatorOwner = false;
175
+ let isGlobalTracerProviderOwner = false;
176
+ let meterProvider;
177
+ let traceProvider;
178
+ try {
179
+ const initializedContextManager = createContextManager();
180
+ contextManager = initializedContextManager;
181
+ initializedContextManager.enable();
182
+ isGlobalContextManagerOwner = context2.setGlobalContextManager(initializedContextManager);
183
+ isGlobalPropagatorOwner = propagation2.setGlobalPropagator(createPropagator());
184
+ const resource = initResource(attributes);
185
+ const initializedMeterProvider = initMeterProvider(resource, []);
186
+ meterProvider = initializedMeterProvider;
187
+ isGlobalMeterProviderOwner = metrics2.setGlobalMeterProvider(initializedMeterProvider);
188
+ const initializedTraceProvider = initTraceProvider(otlpEndpoint, resource);
189
+ traceProvider = initializedTraceProvider;
190
+ isGlobalTracerProviderOwner = trace2.setGlobalTracerProvider(initializedTraceProvider);
191
+ const shutdownTelemetry = createTelemetryShutdown({
192
+ beforeShutdown: createTelemetryGlobalCleanup({
193
+ contextManager: initializedContextManager,
194
+ isGlobalContextManagerOwner,
195
+ isGlobalMeterProviderOwner,
196
+ isGlobalPropagatorOwner,
197
+ isGlobalTracerProviderOwner
198
+ }),
199
+ meterProvider: initializedMeterProvider,
200
+ traceProvider: initializedTraceProvider
201
+ });
202
+ Object.defineProperty(initializedMeterProvider, "toJSON", {
203
+ value: () => ({ type: "MeterProvider" }),
204
+ enumerable: false,
205
+ configurable: true
206
+ });
207
+ Object.defineProperty(initializedTraceProvider, "toJSON", {
208
+ value: () => ({ type: "TracerProvider" }),
209
+ enumerable: false,
210
+ configurable: true
211
+ });
212
+ return {
213
+ meterProvider: initializedMeterProvider,
214
+ shutdownTelemetry,
215
+ traceProvider: initializedTraceProvider
216
+ };
217
+ } catch (error) {
218
+ rollbackTelemetryInitialization({
219
+ beforeShutdown: createTelemetryGlobalCleanup({
220
+ contextManager,
221
+ isGlobalContextManagerOwner,
222
+ isGlobalMeterProviderOwner,
223
+ isGlobalPropagatorOwner,
224
+ isGlobalTracerProviderOwner
225
+ }),
226
+ meterProvider,
227
+ traceProvider
228
+ });
229
+ throw error;
230
+ }
116
231
  }
117
232
  export {
118
233
  initTelemetry
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/modules/telemetry/initTelemetry.ts"],
4
- "sourcesContent": ["import { isDefined } from '@ariestools/sdk'\nimport type { TracerProvider } from '@opentelemetry/api'\nimport {\n context, metrics, propagation, trace,\n} from '@opentelemetry/api'\nimport { ZoneContextManager } from '@opentelemetry/context-zone'\nimport {\n CompositePropagator, W3CBaggagePropagator, W3CTraceContextPropagator,\n} from '@opentelemetry/core'\nimport { OTLPTraceExporter as OTLPHttpTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'\nimport type { Resource } from '@opentelemetry/resources'\nimport {\n detectResources, resourceFromAttributes, serviceInstanceIdDetector,\n} from '@opentelemetry/resources'\nimport type { IMetricReader } from '@opentelemetry/sdk-metrics'\nimport { MeterProvider } from '@opentelemetry/sdk-metrics'\nimport type { SpanProcessor } from '@opentelemetry/sdk-trace-base'\nimport {\n AlwaysOnSampler, BasicTracerProvider, BatchSpanProcessor,\n} from '@opentelemetry/sdk-trace-base'\nimport { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions'\n\nimport type { TelemetryProviders } from './TelemetryProviders.ts'\n\nexport interface ResourceAttributes {\n serviceName: string\n serviceVersion: string\n}\n\nexport interface MetricsConfig {\n endpoint: string\n port: number\n}\n\nconst initContextManager = () => {\n const contextManager = new ZoneContextManager()\n context.setGlobalContextManager(contextManager.enable())\n}\n\nconst initPropagation = () => {\n propagation.setGlobalPropagator(new CompositePropagator({\n propagators: [\n new W3CTraceContextPropagator(),\n new W3CBaggagePropagator()],\n }))\n}\n\n/**\n * Initialize the resource for telemetry.\n * @returns Resource\n */\nconst initResource = (attributes: ResourceAttributes): Resource => {\n const detectedResource: Resource = detectResources({\n detectors: [\n // hostDetector,\n // osDetector,\n // processDetector,\n serviceInstanceIdDetector,\n ],\n })\n const staticResource: Resource = resourceFromAttributes({\n [ATTR_SERVICE_NAME]: attributes.serviceName,\n [ATTR_SERVICE_VERSION]: attributes.serviceName,\n })\n const resource: Resource = detectedResource.merge(staticResource)\n return resource\n}\n\n/**\n * Initialize the MeterProvider with the given readers.\n * @param resource The resource to be used by the MeterProvider.\n * @param readers The readers to be used by the MeterProvider.\n * @returns MeterProvider instance.\n */\nconst initMeterProvider = (resource?: Resource, readers?: IMetricReader[]): MeterProvider => {\n const meterProvider = new MeterProvider({\n readers,\n resource,\n views: [\n {\n aggregation: undefined, // Use default aggregation\n instrumentName: '*', // Match all instrument names\n instrumentType: undefined, // Match all instrument types\n meterName: '*', // Match all meter names\n },\n ],\n })\n metrics.setGlobalMeterProvider(meterProvider)\n return meterProvider\n}\n\n/**\n * Initialize the MeterProvider with the given readers.\n * @param otlpEndpoint The OTLP endpoint for exporting traces.\n * If not provided, traces will not be exported.\n * @param resource The resources to be used by the MeterProvider.\n * @returns MeterProvider instance.\n */\nconst initTraceProvider = (otlpEndpoint?: string, resource?: Resource): TracerProvider => {\n const spanProcessors: SpanProcessor[] = [\n // new SimpleSpanProcessor(new XyoConsoleSpanExporter(4)),\n ]\n\n // If we have an OTLP endpoint, we will use it to export traces.\n if (isDefined(otlpEndpoint)) {\n // Try to detect if the endpoint is HTTP or gRPC.\n const isHttp = otlpEndpoint.includes('/v1/traces')\n || otlpEndpoint.includes(':4318')\n || otlpEndpoint.startsWith('http')\n\n // Use the appropriate exporter based on the protocol.\n const exporter = isHttp\n ? new OTLPHttpTraceExporter({ url: otlpEndpoint })\n : undefined\n\n // Use a BatchSpanProcessor for better performance.\n // const batchSpanProcessorConfig = {\n // maxQueueSize: 100,\n // maxExportBatchSize: 50,\n // scheduledDelayMillis: 1000,\n // exportTimeoutMillis: 2000,\n // }\n if (exporter) {\n const batchSpanProcessorConfig = {}\n const spanProcessor = new BatchSpanProcessor(exporter, batchSpanProcessorConfig)\n // Add the span processor to the list of processors.\n spanProcessors.push(spanProcessor)\n }\n }\n const config = {\n resource, sampler: new AlwaysOnSampler(), spanProcessors,\n }\n const traceProvider = new BasicTracerProvider(config)\n trace.setGlobalTracerProvider(traceProvider)\n return traceProvider\n}\n\n/**\n * Initialize telemetry for the app.\n * @returns TelemetryProviders containing the meterProvider and traceProvider.\n */\nexport function initTelemetry(params: {\n attributes: ResourceAttributes\n metricsConfig: MetricsConfig\n otlpEndpoint?: string\n}): TelemetryProviders {\n const { attributes, otlpEndpoint } = params\n initContextManager()\n initPropagation()\n const resource = initResource(attributes)\n const meterProvider = initMeterProvider(resource, [])\n const traceProvider = initTraceProvider(otlpEndpoint, resource)\n\n // Protect against circular structures (see initTelemetryNode.ts).\n Object.defineProperty(meterProvider, 'toJSON', {\n value: () => ({ type: 'MeterProvider' }),\n enumerable: false,\n configurable: true,\n })\n Object.defineProperty(traceProvider, 'toJSON', {\n value: () => ({ type: 'TracerProvider' }),\n enumerable: false,\n configurable: true,\n })\n\n return { meterProvider, traceProvider }\n}\n"],
5
- "mappings": "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",
6
- "names": []
3
+ "sources": ["../../src/modules/telemetry/initTelemetry.ts", "../../src/modules/telemetry/createTelemetryGlobalCleanup.ts", "../../src/modules/telemetry/createTelemetryShutdown.ts"],
4
+ "sourcesContent": ["import { isDefined } from '@ariestools/sdk'\nimport type { TracerProvider } from '@opentelemetry/api'\nimport {\n context, metrics, propagation, trace,\n} from '@opentelemetry/api'\nimport { ZoneContextManager } from '@opentelemetry/context-zone'\nimport {\n CompositePropagator, W3CBaggagePropagator, W3CTraceContextPropagator,\n} from '@opentelemetry/core'\nimport { OTLPTraceExporter as OTLPHttpTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'\nimport type { Resource } from '@opentelemetry/resources'\nimport {\n detectResources, resourceFromAttributes, serviceInstanceIdDetector,\n} from '@opentelemetry/resources'\nimport type { IMetricReader } from '@opentelemetry/sdk-metrics'\nimport { MeterProvider } from '@opentelemetry/sdk-metrics'\nimport type { SpanProcessor } from '@opentelemetry/sdk-trace-base'\nimport {\n AlwaysOnSampler, BasicTracerProvider, BatchSpanProcessor,\n} from '@opentelemetry/sdk-trace-base'\nimport { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions'\n\nimport { createTelemetryGlobalCleanup } from './createTelemetryGlobalCleanup.ts'\nimport { createTelemetryShutdown, rollbackTelemetryInitialization } from './createTelemetryShutdown.ts'\nimport type { TelemetryProviders } from './TelemetryProviders.ts'\n\nexport interface ResourceAttributes {\n serviceName: string\n serviceVersion: string\n}\n\nexport interface MetricsConfig {\n endpoint: string\n port: number\n}\n\nconst createContextManager = (): ZoneContextManager => new ZoneContextManager()\n\nconst createPropagator = (): CompositePropagator => {\n return new CompositePropagator({\n propagators: [\n new W3CTraceContextPropagator(),\n new W3CBaggagePropagator()],\n })\n}\n\n/**\n * Initialize the resource for telemetry.\n * @returns Resource\n */\nconst initResource = (attributes: ResourceAttributes): Resource => {\n const detectedResource: Resource = detectResources({\n detectors: [\n // hostDetector,\n // osDetector,\n // processDetector,\n serviceInstanceIdDetector,\n ],\n })\n const staticResource: Resource = resourceFromAttributes({\n [ATTR_SERVICE_NAME]: attributes.serviceName,\n [ATTR_SERVICE_VERSION]: attributes.serviceName,\n })\n const resource: Resource = detectedResource.merge(staticResource)\n return resource\n}\n\n/**\n * Initialize the MeterProvider with the given readers.\n * @param resource The resource to be used by the MeterProvider.\n * @param readers The readers to be used by the MeterProvider.\n * @returns MeterProvider instance.\n */\nconst initMeterProvider = (resource?: Resource, readers?: IMetricReader[]): MeterProvider => {\n const meterProvider = new MeterProvider({\n readers,\n resource,\n views: [\n {\n aggregation: undefined, // Use default aggregation\n instrumentName: '*', // Match all instrument names\n instrumentType: undefined, // Match all instrument types\n meterName: '*', // Match all meter names\n },\n ],\n })\n return meterProvider\n}\n\n/**\n * Initialize the MeterProvider with the given readers.\n * @param otlpEndpoint The OTLP endpoint for exporting traces.\n * If not provided, traces will not be exported.\n * @param resource The resources to be used by the MeterProvider.\n * @returns MeterProvider instance.\n */\nconst initTraceProvider = (otlpEndpoint?: string, resource?: Resource): TracerProvider => {\n const spanProcessors: SpanProcessor[] = [\n // new SimpleSpanProcessor(new XyoConsoleSpanExporter(4)),\n ]\n\n // If we have an OTLP endpoint, we will use it to export traces.\n if (isDefined(otlpEndpoint)) {\n // Try to detect if the endpoint is HTTP or gRPC.\n const isHttp = otlpEndpoint.includes('/v1/traces')\n || otlpEndpoint.includes(':4318')\n || otlpEndpoint.startsWith('http')\n\n // Use the appropriate exporter based on the protocol.\n const exporter = isHttp\n ? new OTLPHttpTraceExporter({ url: otlpEndpoint })\n : undefined\n\n // Use a BatchSpanProcessor for better performance.\n // const batchSpanProcessorConfig = {\n // maxQueueSize: 100,\n // maxExportBatchSize: 50,\n // scheduledDelayMillis: 1000,\n // exportTimeoutMillis: 2000,\n // }\n if (exporter) {\n const batchSpanProcessorConfig = {}\n const spanProcessor = new BatchSpanProcessor(exporter, batchSpanProcessorConfig)\n // Add the span processor to the list of processors.\n spanProcessors.push(spanProcessor)\n }\n }\n const config = {\n resource, sampler: new AlwaysOnSampler(), spanProcessors,\n }\n const traceProvider = new BasicTracerProvider(config)\n return traceProvider\n}\n\n/**\n * Initialize telemetry for the app.\n * @returns TelemetryProviders containing the meterProvider and traceProvider.\n */\nexport function initTelemetry(params: {\n attributes: ResourceAttributes\n metricsConfig: MetricsConfig\n otlpEndpoint?: string\n}): TelemetryProviders {\n const { attributes, otlpEndpoint } = params\n let contextManager: ZoneContextManager | undefined\n let isGlobalContextManagerOwner = false\n let isGlobalMeterProviderOwner = false\n let isGlobalPropagatorOwner = false\n let isGlobalTracerProviderOwner = false\n let meterProvider: MeterProvider | undefined\n let traceProvider: TracerProvider | undefined\n\n try {\n const initializedContextManager = createContextManager()\n contextManager = initializedContextManager\n initializedContextManager.enable()\n isGlobalContextManagerOwner = context.setGlobalContextManager(initializedContextManager)\n isGlobalPropagatorOwner = propagation.setGlobalPropagator(createPropagator())\n const resource = initResource(attributes)\n const initializedMeterProvider = initMeterProvider(resource, [])\n meterProvider = initializedMeterProvider\n isGlobalMeterProviderOwner = metrics.setGlobalMeterProvider(initializedMeterProvider)\n const initializedTraceProvider = initTraceProvider(otlpEndpoint, resource)\n traceProvider = initializedTraceProvider\n isGlobalTracerProviderOwner = trace.setGlobalTracerProvider(initializedTraceProvider)\n const shutdownTelemetry = createTelemetryShutdown({\n beforeShutdown: createTelemetryGlobalCleanup({\n contextManager: initializedContextManager,\n isGlobalContextManagerOwner,\n isGlobalMeterProviderOwner,\n isGlobalPropagatorOwner,\n isGlobalTracerProviderOwner,\n }),\n meterProvider: initializedMeterProvider,\n traceProvider: initializedTraceProvider,\n })\n\n // Protect against circular structures (see initTelemetryNode.ts).\n Object.defineProperty(initializedMeterProvider, 'toJSON', {\n value: () => ({ type: 'MeterProvider' }),\n enumerable: false,\n configurable: true,\n })\n Object.defineProperty(initializedTraceProvider, 'toJSON', {\n value: () => ({ type: 'TracerProvider' }),\n enumerable: false,\n configurable: true,\n })\n\n return {\n meterProvider: initializedMeterProvider,\n shutdownTelemetry,\n traceProvider: initializedTraceProvider,\n }\n } catch (error) {\n rollbackTelemetryInitialization({\n beforeShutdown: createTelemetryGlobalCleanup({\n contextManager,\n isGlobalContextManagerOwner,\n isGlobalMeterProviderOwner,\n isGlobalPropagatorOwner,\n isGlobalTracerProviderOwner,\n }),\n meterProvider,\n traceProvider,\n })\n throw error\n }\n}\n", "import type { ContextManager } from '@opentelemetry/api'\nimport {\n context, metrics, propagation, trace,\n} from '@opentelemetry/api'\n\ninterface DisableResource {\n disable(): unknown\n}\n\nexport interface CreateTelemetryGlobalCleanupOptions {\n readonly contextManager?: ContextManager\n readonly isGlobalContextManagerOwner: boolean\n readonly isGlobalMeterProviderOwner: boolean\n readonly isGlobalPropagatorOwner: boolean\n readonly isGlobalTracerProviderOwner: boolean\n readonly runtimeInstrumentation?: DisableResource\n}\n\n/** Creates cleanup operations that release only the OpenTelemetry globals owned by this initialization. */\nexport function createTelemetryGlobalCleanup({\n contextManager,\n isGlobalContextManagerOwner,\n isGlobalMeterProviderOwner,\n isGlobalPropagatorOwner,\n isGlobalTracerProviderOwner,\n runtimeInstrumentation,\n}: CreateTelemetryGlobalCleanupOptions): readonly (() => unknown)[] {\n const cleanup: (() => unknown)[] = []\n if (runtimeInstrumentation !== undefined) cleanup.push(() => runtimeInstrumentation.disable())\n if (isGlobalTracerProviderOwner) cleanup.push(() => trace.disable())\n if (isGlobalMeterProviderOwner) cleanup.push(() => metrics.disable())\n if (isGlobalPropagatorOwner) cleanup.push(() => propagation.disable())\n if (contextManager !== undefined) {\n cleanup.push(() => isGlobalContextManagerOwner ? context.disable() : contextManager.disable())\n }\n return cleanup\n}\n", "interface ShutdownResource {\n shutdown(): unknown\n}\n\nexport interface CreateTelemetryShutdownOptions {\n readonly beforeShutdown?: readonly (() => unknown)[]\n readonly meterProvider: unknown\n readonly traceProvider: unknown\n}\n\nfunction isShutdownResource(value: unknown): value is ShutdownResource {\n return typeof value === 'object' && value !== null && 'shutdown' in value && typeof value.shutdown === 'function'\n}\n\nfunction attemptRollback(operation: () => unknown): void {\n try {\n void Promise.resolve(operation()).catch(() => null)\n } catch {\n // Initialization must retain its original failure after attempting every rollback operation.\n }\n}\n\n/** Attempts every available cleanup without replacing the initialization failure that triggered rollback. */\nexport function rollbackTelemetryInitialization({\n beforeShutdown = [],\n meterProvider,\n traceProvider,\n}: CreateTelemetryShutdownOptions): void {\n for (const operation of beforeShutdown) attemptRollback(operation)\n for (const provider of [meterProvider, traceProvider]) {\n if (isShutdownResource(provider)) attemptRollback(() => provider.shutdown())\n }\n}\n\n/** Creates one idempotent teardown for instrumentation and its providers. */\nexport function createTelemetryShutdown({\n beforeShutdown = [],\n meterProvider,\n traceProvider,\n}: CreateTelemetryShutdownOptions): () => Promise<void> {\n let shutdownPromise: Promise<void> | undefined\n return () => {\n shutdownPromise ??= (async () => {\n let firstError: unknown\n let hasError = false\n const attempt = async (operation: () => unknown): Promise<void> => {\n try {\n await operation()\n } catch (error) {\n if (!hasError) firstError = error\n hasError = true\n }\n }\n for (const operation of beforeShutdown) await attempt(operation)\n for (const provider of [meterProvider, traceProvider]) {\n if (isShutdownResource(provider)) await attempt(async () => await provider.shutdown())\n }\n if (hasError) throw firstError\n })()\n return shutdownPromise\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["context", "metrics", "propagation", "trace", "context", "propagation", "metrics", "trace"]
7
7
  }
@@ -181,21 +181,6 @@ function blockRangeChunks(fromBlock, toBlock, chunkSize) {
181
181
  return chunks;
182
182
  }
183
183
 
184
- // src/modules/ethereum/block/estimateBlockNumberAt.ts
185
- import {
186
- DEFAULT_ESTIMATE_BLOCK_DATE,
187
- DEFAULT_EVM_BLOCK_TIME_SEC,
188
- estimateBlockNumberAt,
189
- estimateBlockNumberFromHead
190
- } from "@xyo-network/xl1-sdk";
191
-
192
- // src/modules/ethereum/block/findContractDeploymentBlock.ts
193
- import {
194
- configuredDeploymentBlock,
195
- findContractDeploymentBlock,
196
- resolveContractDeploymentBlock
197
- } from "@xyo-network/xl1-sdk";
198
-
199
184
  // src/modules/ethereum/block/rate/blockRate.ts
200
185
  import { isDefined, isFalsy } from "@ariestools/sdk";
201
186
  import {
@@ -446,45 +431,6 @@ async function createChain(signer, stakingTokenAddress, initialBlockProducer, re
446
431
  return [chainId, genesisBlock, rewardContractAddressResolved];
447
432
  }
448
433
 
449
- // src/modules/ethereum/drivers/EvmStakeEventsViewer.ts
450
- import {
451
- DEFAULT_EVENT_QUERY_INITIAL_DELAY_MS,
452
- DEFAULT_EVENT_QUERY_MAX_ATTEMPTS,
453
- DEFAULT_EVENT_QUERY_START_CHUNK_SIZE,
454
- EvmStakeEventsViewer,
455
- MIN_EVENT_QUERY_BLOCK_CHUNK_SIZE
456
- } from "@xyo-network/xl1-sdk";
457
-
458
- // src/modules/ethereum/drivers/EvmStakeEventZod.ts
459
- import {
460
- asEvmStakeAddedEvent,
461
- asEvmStakeEvent,
462
- asEvmStakeRemovedEvent,
463
- asEvmStakeWithdrawnEvent,
464
- EthHashRegEx,
465
- EthHashZod,
466
- EvmStakeAddedEventNameZod,
467
- EvmStakeAddedEventZod,
468
- EvmStakeEventArgsZod,
469
- EvmStakeEventNameZod,
470
- EvmStakeEventZod,
471
- EvmStakeRemovedEventNameZod,
472
- EvmStakeRemovedEventZod,
473
- EvmStakeWithdrawnEventNameZod,
474
- EvmStakeWithdrawnEventZod,
475
- isEvmStakeAddedEvent,
476
- isEvmStakeEvent,
477
- isEvmStakeRemovedEvent,
478
- isEvmStakeWithdrawnEvent,
479
- toEvmStakeAddedEvent,
480
- toEvmStakeEvent,
481
- toEvmStakeRemovedEvent,
482
- toEvmStakeWithdrawnEvent
483
- } from "@xyo-network/xl1-sdk";
484
-
485
- // src/modules/ethereum/drivers/EvmStakeViewer.ts
486
- import { EvmStakeViewer } from "@xyo-network/xl1-sdk";
487
-
488
434
  // src/modules/ethereum/ethereum.ts
489
435
  import { parseUnits as parseUnits2 } from "ethers/utils";
490
436
  var getDefaultGasConfig = () => {
@@ -651,32 +597,9 @@ RestStakeEventsViewer = __decorateClass([
651
597
  creatableProvider()
652
598
  ], RestStakeEventsViewer);
653
599
 
654
- // src/modules/ethereum/indexing/index.ts
655
- import {
656
- asEvmEventIndexFrame as asEvmEventIndexFrame2,
657
- asEvmEventIndexHead as asEvmEventIndexHead2,
658
- asEvmEventIndexManifest as asEvmEventIndexManifest2,
659
- evmEventIndexFramePath as evmEventIndexFramePath2,
660
- EvmEventIndexFrameZod,
661
- evmEventIndexHeadPath as evmEventIndexHeadPath2,
662
- EvmEventIndexHeadZod,
663
- EvmEventIndexLogZod,
664
- evmEventIndexManifestPath as evmEventIndexManifestPath2,
665
- EvmEventIndexManifestZod,
666
- EvmEventIndexPublishRunnerMoniker,
667
- evmEventIndexTailPath as evmEventIndexTailPath2
668
- } from "@xyo-network/xl1-sdk";
669
-
670
- // src/modules/ethereum/providers/AbstractEvmProvider.ts
671
- import { AbstractEvmProvider } from "@xyo-network/xl1-sdk";
672
-
673
600
  // src/modules/ethereum/providers/AbstractEvmRunner.ts
674
601
  import { assertEx as assertEx6 } from "@ariestools/sdk";
675
-
676
- // src/modules/ethereum/providers/AbstractEvmViewer.ts
677
602
  import { AbstractEvmViewer } from "@xyo-network/xl1-sdk";
678
-
679
- // src/modules/ethereum/providers/AbstractEvmRunner.ts
680
603
  var AbstractEvmRunner = class extends AbstractEvmViewer {
681
604
  static async paramsHandler(params) {
682
605
  const runner = assertEx6(params?.runner, () => new Error("No runner defined"));
@@ -685,9 +608,6 @@ var AbstractEvmRunner = class extends AbstractEvmViewer {
685
608
  }
686
609
  };
687
610
 
688
- // src/modules/ethereum/providers/EvmChainContractViewer.ts
689
- import { EvmChainContractViewer } from "@xyo-network/xl1-sdk";
690
-
691
611
  // src/modules/ethereum/providers/EvmStakeRunner.ts
692
612
  import { toEthAddress as toEthAddress5 } from "@ariestools/sdk";
693
613
  import { IStakedXyoChain__factory } from "@xyo-network/typechain";
@@ -725,89 +645,21 @@ __publicField(EvmStakeRunner, "surface", "node");
725
645
  EvmStakeRunner = __decorateClass([
726
646
  creatableProvider2()
727
647
  ], EvmStakeRunner);
728
-
729
- // src/modules/ethereum/providers/EvmStakeTotalsViewer.ts
730
- import { EvmStakeTotalsViewer } from "@xyo-network/xl1-sdk";
731
-
732
- // src/modules/ethereum/rpc/isRpcRangeLimitError.ts
733
- import { isRpcRangeLimitError, rpcRangeLimitFromError } from "@xyo-network/xl1-sdk";
734
-
735
- // src/modules/ethereum/rpc/isRpcRateLimitError.ts
736
- import { isRpcRateLimitError } from "@xyo-network/xl1-sdk";
737
-
738
- // src/modules/ethereum/rpc/withRpcRateLimitBackoff.ts
739
- import { withRpcRateLimitBackoff } from "@xyo-network/xl1-sdk";
740
648
  export {
741
- AbstractEvmProvider,
742
649
  AbstractEvmRunner,
743
- AbstractEvmViewer,
744
650
  BaseEthProvider,
745
- DEFAULT_ESTIMATE_BLOCK_DATE,
746
- DEFAULT_EVENT_QUERY_INITIAL_DELAY_MS,
747
- DEFAULT_EVENT_QUERY_MAX_ATTEMPTS,
748
- DEFAULT_EVENT_QUERY_START_CHUNK_SIZE,
749
- DEFAULT_EVM_BLOCK_TIME_SEC,
750
- EthHashRegEx,
751
- EthHashZod,
752
- EvmChainContractViewer,
753
- EvmEventIndexFrameZod,
754
- EvmEventIndexHeadZod,
755
- EvmEventIndexLogZod,
756
- EvmEventIndexManifestZod,
757
- EvmEventIndexPublishRunnerMoniker,
758
- EvmStakeAddedEventNameZod,
759
- EvmStakeAddedEventZod,
760
- EvmStakeEventArgsZod,
761
- EvmStakeEventNameZod,
762
- EvmStakeEventZod,
763
- EvmStakeEventsViewer,
764
- EvmStakeRemovedEventNameZod,
765
- EvmStakeRemovedEventZod,
766
651
  EvmStakeRunner,
767
- EvmStakeTotalsViewer,
768
- EvmStakeViewer,
769
- EvmStakeWithdrawnEventNameZod,
770
- EvmStakeWithdrawnEventZod,
771
- MIN_EVENT_QUERY_BLOCK_CHUNK_SIZE,
772
652
  RestStakeEventsViewer,
773
- asEvmEventIndexFrame2 as asEvmEventIndexFrame,
774
- asEvmEventIndexHead2 as asEvmEventIndexHead,
775
- asEvmEventIndexManifest2 as asEvmEventIndexManifest,
776
- asEvmStakeAddedEvent,
777
- asEvmStakeEvent,
778
- asEvmStakeRemovedEvent,
779
- asEvmStakeWithdrawnEvent,
780
653
  blockRangeChunks,
781
654
  calculateEthBlockRate,
782
655
  calculateEthTimeRate,
783
- configuredDeploymentBlock,
784
656
  createChain,
785
657
  createChainContract,
786
658
  createChainRewardsContract,
787
- estimateBlockNumberAt,
788
- estimateBlockNumberFromHead,
789
659
  ethBlockRate,
790
- evmEventIndexFramePath2 as evmEventIndexFramePath,
791
- evmEventIndexHeadPath2 as evmEventIndexHeadPath,
792
- evmEventIndexManifestPath2 as evmEventIndexManifestPath,
793
- evmEventIndexTailPath2 as evmEventIndexTailPath,
794
- findContractDeploymentBlock,
795
660
  getDefaultGasConfig,
796
661
  getEthBlockRateBlocks,
797
- isEvmStakeAddedEvent,
798
- isEvmStakeEvent,
799
- isEvmStakeRemovedEvent,
800
- isEvmStakeWithdrawnEvent,
801
- isRpcRangeLimitError,
802
- isRpcRateLimitError,
803
662
  nextContractAddress,
804
- nextContractAddressForAddress,
805
- resolveContractDeploymentBlock,
806
- rpcRangeLimitFromError,
807
- toEvmStakeAddedEvent,
808
- toEvmStakeEvent,
809
- toEvmStakeRemovedEvent,
810
- toEvmStakeWithdrawnEvent,
811
- withRpcRateLimitBackoff
663
+ nextContractAddressForAddress
812
664
  };
813
665
  //# sourceMappingURL=ethereum.mjs.map