@odatano/core 0.3.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 (98) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +212 -0
  3. package/cds-plugin.js +5 -0
  4. package/config/preview/cardano-node/alonzo-genesis.json +196 -0
  5. package/config/preview/cardano-node/byron-genesis.json +117 -0
  6. package/config/preview/cardano-node/config.json +118 -0
  7. package/config/preview/cardano-node/conway-genesis.json +297 -0
  8. package/config/preview/cardano-node/shelley-genesis.json +68 -0
  9. package/config/preview/cardano-node/topology.json +19 -0
  10. package/db/schema.cds +1318 -0
  11. package/package.json +125 -0
  12. package/src/index.d.ts.map +1 -0
  13. package/src/index.js +96 -0
  14. package/src/index.js.map +1 -0
  15. package/src/plugin.d.ts.map +1 -0
  16. package/src/plugin.js +92 -0
  17. package/src/plugin.js.map +1 -0
  18. package/srv/blockchain/backends/blockfrost-backend.d.ts.map +1 -0
  19. package/srv/blockchain/backends/blockfrost-backend.js +398 -0
  20. package/srv/blockchain/backends/blockfrost-backend.js.map +1 -0
  21. package/srv/blockchain/backends/cardano-backend.d.ts.map +1 -0
  22. package/srv/blockchain/backends/cardano-backend.js +12 -0
  23. package/srv/blockchain/backends/cardano-backend.js.map +1 -0
  24. package/srv/blockchain/backends/koios-backend.d.ts.map +1 -0
  25. package/srv/blockchain/backends/koios-backend.js +537 -0
  26. package/srv/blockchain/backends/koios-backend.js.map +1 -0
  27. package/srv/blockchain/backends/ogmios-backend.d.ts.map +1 -0
  28. package/srv/blockchain/backends/ogmios-backend.js +516 -0
  29. package/srv/blockchain/backends/ogmios-backend.js.map +1 -0
  30. package/srv/blockchain/cardano-client.d.ts.map +1 -0
  31. package/srv/blockchain/cardano-client.js +377 -0
  32. package/srv/blockchain/cardano-client.js.map +1 -0
  33. package/srv/blockchain/cardano-indexer.d.ts.map +1 -0
  34. package/srv/blockchain/cardano-indexer.js +542 -0
  35. package/srv/blockchain/cardano-indexer.js.map +1 -0
  36. package/srv/blockchain/cardano-tx-builder.d.ts.map +1 -0
  37. package/srv/blockchain/cardano-tx-builder.js +232 -0
  38. package/srv/blockchain/cardano-tx-builder.js.map +1 -0
  39. package/srv/blockchain/circuit-breaker.d.ts.map +1 -0
  40. package/srv/blockchain/circuit-breaker.js +110 -0
  41. package/srv/blockchain/circuit-breaker.js.map +1 -0
  42. package/srv/blockchain/signing/external-signer.d.ts.map +1 -0
  43. package/srv/blockchain/signing/external-signer.js +302 -0
  44. package/srv/blockchain/signing/external-signer.js.map +1 -0
  45. package/srv/blockchain/signing/signature-verifier.d.ts.map +1 -0
  46. package/srv/blockchain/signing/signature-verifier.js +249 -0
  47. package/srv/blockchain/signing/signature-verifier.js.map +1 -0
  48. package/srv/blockchain/transaction-building/buildooor-tx.d.ts.map +1 -0
  49. package/srv/blockchain/transaction-building/buildooor-tx.js +636 -0
  50. package/srv/blockchain/transaction-building/buildooor-tx.js.map +1 -0
  51. package/srv/blockchain/transaction-building/cardano-tx.d.ts.map +1 -0
  52. package/srv/blockchain/transaction-building/cardano-tx.js +3 -0
  53. package/srv/blockchain/transaction-building/cardano-tx.js.map +1 -0
  54. package/srv/blockchain/transaction-building/csl-tx.d.ts.map +1 -0
  55. package/srv/blockchain/transaction-building/csl-tx.js +766 -0
  56. package/srv/blockchain/transaction-building/csl-tx.js.map +1 -0
  57. package/srv/blockchain/transaction-building/tx-builder-registry.d.ts.map +1 -0
  58. package/srv/blockchain/transaction-building/tx-builder-registry.js +67 -0
  59. package/srv/blockchain/transaction-building/tx-builder-registry.js.map +1 -0
  60. package/srv/cardano-service.cds +179 -0
  61. package/srv/cardano-service.d.ts.map +1 -0
  62. package/srv/cardano-service.js +227 -0
  63. package/srv/cardano-service.js.map +1 -0
  64. package/srv/cardano-tx-service.cds +298 -0
  65. package/srv/cardano-tx-service.d.ts.map +1 -0
  66. package/srv/cardano-tx-service.js +646 -0
  67. package/srv/cardano-tx-service.js.map +1 -0
  68. package/srv/cardano-ui.cds +2949 -0
  69. package/srv/server.d.ts.map +1 -0
  70. package/srv/server.js +212 -0
  71. package/srv/server.js.map +1 -0
  72. package/srv/utils/backend-request-handler.d.ts.map +1 -0
  73. package/srv/utils/backend-request-handler.js +47 -0
  74. package/srv/utils/backend-request-handler.js.map +1 -0
  75. package/srv/utils/const.d.ts.map +1 -0
  76. package/srv/utils/const.js +86 -0
  77. package/srv/utils/const.js.map +1 -0
  78. package/srv/utils/error-codes.d.ts.map +1 -0
  79. package/srv/utils/error-codes.js +49 -0
  80. package/srv/utils/error-codes.js.map +1 -0
  81. package/srv/utils/errors.d.ts.map +1 -0
  82. package/srv/utils/errors.js +389 -0
  83. package/srv/utils/errors.js.map +1 -0
  84. package/srv/utils/mappers.d.ts.map +1 -0
  85. package/srv/utils/mappers.js +723 -0
  86. package/srv/utils/mappers.js.map +1 -0
  87. package/srv/utils/signing-helper.d.ts.map +1 -0
  88. package/srv/utils/signing-helper.js +128 -0
  89. package/srv/utils/signing-helper.js.map +1 -0
  90. package/srv/utils/tx-build-helper.d.ts.map +1 -0
  91. package/srv/utils/tx-build-helper.js +135 -0
  92. package/srv/utils/tx-build-helper.js.map +1 -0
  93. package/srv/utils/types.d.ts.map +1 -0
  94. package/srv/utils/types.js +36 -0
  95. package/srv/utils/types.js.map +1 -0
  96. package/srv/utils/validators.d.ts.map +1 -0
  97. package/srv/utils/validators.js +382 -0
  98. package/srv/utils/validators.js.map +1 -0
@@ -0,0 +1,516 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OgmiosBackend = void 0;
7
+ exports.resolveOgmiosTip = resolveOgmiosTip;
8
+ exports.resolveOgmiosHeight = resolveOgmiosHeight;
9
+ const cds_1 = __importDefault(require("@sap/cds"));
10
+ const client_1 = require("@cardano-ogmios/client");
11
+ const backend_request_handler_1 = require("../../utils/backend-request-handler");
12
+ const errors_1 = require("../../utils/errors");
13
+ const const_1 = require("../../utils/const");
14
+ const logger = cds_1.default.log('OgmiosBackend');
15
+ /** Resolve Ogmios ledger tip which may be 'origin' (genesis block) or a point */
16
+ function resolveOgmiosTip(tip) {
17
+ return tip === 'origin' ? { slot: 0, hash: '' } : { slot: tip.slot, hash: tip.id };
18
+ }
19
+ /** Resolve Ogmios block height which may be 'origin' (genesis block) or a number */
20
+ function resolveOgmiosHeight(height) {
21
+ return height === 'origin' ? 0 : height;
22
+ }
23
+ /**
24
+ * Ogmios Backend Implementation for Cardano Backend Interface
25
+ * Implements the CardanoBackend interface using Ogmios WebSocket client for local node interaction
26
+ */
27
+ class OgmiosBackend {
28
+ name = 'ogmios';
29
+ stateQueryClient = null;
30
+ txSubmissionClient = null;
31
+ context = null;
32
+ isShutdown = false;
33
+ network;
34
+ timeoutMs;
35
+ ogmiosUrl;
36
+ /**
37
+ * Constructor
38
+ */
39
+ constructor(network, timeoutMs, ogmiosUrl) {
40
+ if (!ogmiosUrl) {
41
+ throw new errors_1.BackendInitError('ogmios', new Error('ogmiosUrl is not set'));
42
+ }
43
+ this.network = network;
44
+ this.timeoutMs = timeoutMs;
45
+ this.ogmiosUrl = ogmiosUrl;
46
+ }
47
+ /**
48
+ * Initialize the Ogmios backend connection
49
+ */
50
+ async init() {
51
+ const url = new URL(this.ogmiosUrl);
52
+ const connection = {
53
+ host: url.hostname,
54
+ port: Number(url.port) || (url.protocol === 'wss:' ? 443 : 80),
55
+ tls: url.protocol === 'wss:'
56
+ };
57
+ this.context = await (0, client_1.createInteractionContext)(
58
+ /* c8 ignore next */
59
+ (err) => logger.error(`[OgmiosBackend] Interaction context error: ${err.message}`), (err) => { logger.error(`[OgmiosBackend] Connection error: ${err}`); }, { connection });
60
+ this.stateQueryClient = await (0, client_1.createLedgerStateQueryClient)(this.context);
61
+ this.txSubmissionClient = await (0, client_1.createTransactionSubmissionClient)(this.context);
62
+ return true;
63
+ }
64
+ /**
65
+ * Get specific Block Data (not supported)
66
+ * @param _hash block hash (hex)
67
+ * @returns {Promise<BlockData>} block data
68
+ */
69
+ async getBlock(_hash) {
70
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
71
+ throw new errors_1.NotFoundError('Historic Block queries not supported', this.name);
72
+ }, this.name);
73
+ }
74
+ /**
75
+ * Get specific Epoch Data (not supported)
76
+ * @param _epochNumber epoch number
77
+ * @returns {Promise<EpochData>} epoch data
78
+ */
79
+ async getEpoch(epochNumber) {
80
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
81
+ this.ensureNotShutdown();
82
+ // Get current epoch directly via epoch() query
83
+ const currentEpoch = await this.stateQueryClient.epoch();
84
+ // Ogmios only supports current epoch queries
85
+ if (epochNumber !== currentEpoch) {
86
+ throw new errors_1.NotFoundError(`Historic Epoch ${epochNumber} not supported (current: ${currentEpoch})`, this.name);
87
+ }
88
+ // Return current epoch data
89
+ return this.getLatestEpoch();
90
+ }, this.name);
91
+ }
92
+ /**
93
+ * Get specific Transaction Data (not supported)
94
+ * @param _hash transaction hash (hex)
95
+ * @returns {Promise<Transaction>} transaction data
96
+ */
97
+ async getTransaction(_hash) {
98
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
99
+ throw new errors_1.NotFoundError('Historic Transaction queries not supported', this.name);
100
+ }, this.name);
101
+ }
102
+ /**
103
+ * Get specific Transaction Metadata (not supported)
104
+ * @param _tx_hash transaction hash (hex)
105
+ * @returns {Promise<MetadataLabelTx[]>} transaction metadata list
106
+ */
107
+ async getTransactionMetadata(_tx_hash) {
108
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
109
+ throw new errors_1.NotFoundError('Historic Transaction metadata not supported', this.name);
110
+ }, this.name);
111
+ }
112
+ /**
113
+ * Get specific Drep Data (not supported for Ogmios)
114
+ * @param _drepId drep id
115
+ * @returns {Promise<DrepData>} drep data
116
+ */
117
+ async getDrep(_drepId) {
118
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
119
+ throw new Error('DRep queries not supported');
120
+ }, this.name);
121
+ }
122
+ /**
123
+ * Get specific Network Information
124
+ * @returns {Promise<Network>} network information
125
+ */
126
+ async getNetworkInformation() {
127
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
128
+ const maxSupply = const_1.CARDANO_DEFAULTS.MAX_LOVELACE_SUPPLY;
129
+ return {
130
+ supply: {
131
+ max: maxSupply.toString(),
132
+ total: maxSupply.toString(),
133
+ circulating: maxSupply.toString(),
134
+ locked: '0',
135
+ treasury: '0',
136
+ reserves: '0'
137
+ },
138
+ stake: {
139
+ active: '0',
140
+ live: '0',
141
+ }
142
+ };
143
+ }, this.name);
144
+ }
145
+ /**
146
+ * Get current specific Address Data
147
+ * @param address bech32 address
148
+ * @returns {Promise<Address>} address data
149
+ */
150
+ async getAddress(address) {
151
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
152
+ this.ensureNotShutdown();
153
+ // Query UTxOs from tip (no acquire needed - queries from tip by default)
154
+ const utxos = await this.stateQueryClient.utxo({ addresses: [address] });
155
+ const totalLovelace = utxos.reduce((sum, u) => {
156
+ const lovelace = u.value?.ada?.lovelace;
157
+ return sum + BigInt(lovelace);
158
+ }, 0n);
159
+ return {
160
+ address,
161
+ stakeAddress: null,
162
+ type: 'base',
163
+ isScript: false,
164
+ amount: [{
165
+ unit: 'lovelace',
166
+ quantity: totalLovelace.toString()
167
+ }],
168
+ utxos: utxos.map((u) => {
169
+ const amount = this.convertOgmiosValue(u.value);
170
+ return {
171
+ txHash: u.transaction?.id || '',
172
+ outputIndex: u.index || 0,
173
+ address: u.address || address,
174
+ amount: amount,
175
+ blockHash: '',
176
+ datumHash: u.datumHash,
177
+ scriptRef: u.script?.hash
178
+ };
179
+ }),
180
+ transactions: [] // Historic transaction queries not supported
181
+ };
182
+ }, this.name);
183
+ }
184
+ /** get current specific Address UTxOs
185
+ * @param address bech32 address
186
+ * @returns {Promise<UTxO[]>} address UTxOs
187
+ */
188
+ async getAddressUtxos(address) {
189
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
190
+ this.ensureNotShutdown();
191
+ const utxos = await this.stateQueryClient.utxo({ addresses: [address] });
192
+ return utxos.map((u) => {
193
+ // convert Ogmios value format to standard amount array
194
+ const amount = this.convertOgmiosValue(u.value);
195
+ return {
196
+ txHash: u.transaction?.id || '',
197
+ outputIndex: u.index || 0,
198
+ address: u.address || address,
199
+ amount: amount,
200
+ blockHash: '',
201
+ datumHash: u.datumHash,
202
+ scriptRef: u.script?.hash
203
+ };
204
+ });
205
+ }, this.name);
206
+ }
207
+ /**
208
+ * Get Address Transactions (not supported by Ogmios - use historical backend)
209
+ * Ogmios is a live state query backend and does not provide historical transaction data
210
+ * @param _address bech32 address
211
+ * @returns {Promise<Transaction[]>} always throws - use historical backend instead
212
+ */
213
+ async getAddressTransactions(_address) {
214
+ throw new errors_1.NotFoundError('Address transactions not available via Ogmios - use historical backend (Blockfrost/Koios)', this.name);
215
+ }
216
+ /**
217
+ * Get current specific Pool Data
218
+ * @param poolId pool id
219
+ * @returns {Promise<PoolData>} pool data
220
+ */
221
+ async getPool(poolId) {
222
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
223
+ this.ensureNotShutdown();
224
+ // Query from tip (no acquire needed) with stake included
225
+ const pools = await this.stateQueryClient.stakePools([{ id: poolId }], true);
226
+ // Extract pool from response - stakePools returns object keyed by poolId
227
+ const pool = pools[poolId];
228
+ return {
229
+ poolId,
230
+ vrfKeyHash: pool.vrf || pool.vrfKeyHash || '',
231
+ blocksMinted: 0,
232
+ blocksEpoch: 0,
233
+ liveStake: pool.stake?.ada?.lovelace ? String(pool.stake.ada.lovelace) : '0',
234
+ liveSize: 0,
235
+ liveDelegators: 0,
236
+ liveSaturation: 0,
237
+ activeStake: pool.pledge ? String(pool.pledge) : '0',
238
+ activeSize: 0,
239
+ pledge: pool.pledge ? String(pool.pledge) : '0',
240
+ margin: Number(pool.margin || 0),
241
+ fixedCost: pool.cost ? String(pool.cost) : '0',
242
+ rewardAccount: pool.rewardAccount || ''
243
+ };
244
+ }, this.name);
245
+ }
246
+ /**
247
+ * Get Account Data for specified stake address
248
+ * @param stakeAddress stake address
249
+ * @returns {Promise<AccountData>} account data
250
+ */
251
+ async getAccount(stakeAddress) {
252
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
253
+ this.ensureNotShutdown();
254
+ const rawResult = await this.stateQueryClient.rewardAccountSummaries({ keys: [stakeAddress] });
255
+ // Ogmios returns a record keyed by stake address; normalize to array
256
+ const summaries = Array.isArray(rawResult)
257
+ ? rawResult
258
+ : Object.values(rawResult);
259
+ // Ogmios API returns array of account summaries
260
+ const account = summaries && summaries.length > 0 ? summaries[0] : null;
261
+ if (!account) {
262
+ throw new errors_1.NotFoundError('Account', this.name);
263
+ }
264
+ return {
265
+ stakeaddress: stakeAddress,
266
+ active: true,
267
+ activeEpoch: 0,
268
+ controlledAmount: account.controlledAmount?.toString() || '0',
269
+ rewardsSum: account.rewards?.toString() || '0',
270
+ withdrawalsSum: account.withdrawals?.toString() || '0',
271
+ reservesSum: '0',
272
+ treasurySum: '0',
273
+ withdrawableAmount: account.rewards?.toString() || '0',
274
+ poolId: account.delegate?.id || account.delegation?.poolId || null,
275
+ drepId: account.vote?.id || account.drep?.id || null,
276
+ addresses: []
277
+ };
278
+ }, this.name);
279
+ }
280
+ /**
281
+ * Submit Transaction to the network
282
+ * @param signedTxCbor signed transaction in CBOR hex format
283
+ * @returns {Promise<string>} transaction hash
284
+ */
285
+ async submitTransaction(signedTxCbor) {
286
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
287
+ this.ensureNotShutdown();
288
+ const txHash = await this.txSubmissionClient.submitTransaction(signedTxCbor);
289
+ return txHash;
290
+ }, this.name);
291
+ }
292
+ /**
293
+ * Evaluate transaction script execution units
294
+ * @param unsignedTxCbor unsigned transaction in CBOR hex format
295
+ * @returns {Promise<Array<{validator: any, budget: {memory: number, cpu: number}}>>} evaluation results
296
+ */
297
+ async evaluateTransaction(unsignedTxCbor) {
298
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
299
+ this.ensureNotShutdown();
300
+ const results = await this.txSubmissionClient.evaluateTransaction(unsignedTxCbor);
301
+ return results;
302
+ }, this.name);
303
+ }
304
+ /**
305
+ * Get current Protocol Parameters
306
+ * @returns {Promise<LedgerProtocolParameters>} protocol parameters
307
+ */
308
+ async getProtocolParameters() {
309
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
310
+ this.ensureNotShutdown();
311
+ // Query protocol parameters and epoch in parallel
312
+ const [params, currentEpoch] = await Promise.all([
313
+ this.stateQueryClient.protocolParameters(),
314
+ this.stateQueryClient.epoch()
315
+ ]);
316
+ return {
317
+ network: this.network,
318
+ epoch: currentEpoch,
319
+ minUtxo: params.minUtxoDepositCoefficient?.toString() || '0',
320
+ nonce: '',
321
+ costModels: JSON.stringify(params.plutusCostModels || {}),
322
+ minFeeA: params.minFeeCoefficient || 0,
323
+ minFeeB: Number(params.minFeeConstant?.ada?.lovelace || 0),
324
+ maxBlockSize: params.maxBlockBodySize?.bytes || 0,
325
+ priceMem: Number(params.scriptExecutionPrices?.memory || 0),
326
+ priceStep: Number(params.scriptExecutionPrices?.cpu || 0),
327
+ maxTxExMem: (params.maxExecutionUnitsPerTransaction?.memory || 0).toString(),
328
+ maxTxExSteps: (params.maxExecutionUnitsPerTransaction?.cpu || 0).toString(),
329
+ maxBlockExMem: (params.maxExecutionUnitsPerBlock?.memory || 0).toString(),
330
+ maxBlockExSteps: (params.maxExecutionUnitsPerBlock?.cpu || 0).toString(),
331
+ maxValSize: (params.maxValueSize?.bytes || 0).toString(),
332
+ collateralPercent: params.collateralPercentage || 0,
333
+ maxCollateralInputs: params.maxCollateralInputs || 0,
334
+ coinsPerUtxoSize: params.minUtxoDepositCoefficient?.toString() || '0',
335
+ maxBlockHeaderSize: params.maxBlockHeaderSize?.bytes || 0,
336
+ maxTxSize: params.maxTransactionSize?.bytes || 0,
337
+ keyDeposit: params.stakeCredentialDeposit?.ada?.lovelace?.toString() || '0',
338
+ minPoolCost: params.minStakePoolCost?.ada?.lovelace?.toString() || '0',
339
+ poolDeposit: params.stakePoolDeposit?.ada?.lovelace?.toString() || '0',
340
+ eMax: params.stakePoolRetirementEpochBound || 0,
341
+ nOpt: params.desiredNumberOfStakePools || 0,
342
+ a0: Number(params.stakePoolPledgeInfluence || 0),
343
+ rho: Number(params.treasuryExpansion || 0),
344
+ tau: Number(params.monetaryExpansion || 0),
345
+ decentralisationParam: 0,
346
+ extraEntropy: null,
347
+ protocolMajorVer: params.version?.major || 0,
348
+ protocolMinorVer: params.version?.minor || 0,
349
+ fetchedAt: new Date().toISOString(),
350
+ source: this.name
351
+ };
352
+ }, this.name);
353
+ }
354
+ /**
355
+ * Get Latest Epoch Data
356
+ * @returns {Promise<EpochData>} latest epoch data
357
+ */
358
+ async getLatestEpoch() {
359
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
360
+ this.ensureNotShutdown();
361
+ // Query epoch and era start in parallel for accurate data
362
+ const [currentEpoch, eraStart, tip] = await Promise.all([
363
+ this.stateQueryClient.epoch(),
364
+ this.stateQueryClient.eraStart(),
365
+ this.stateQueryClient.ledgerTip()
366
+ ]);
367
+ const { slot } = resolveOgmiosTip(tip);
368
+ // Calculate epoch boundaries using era start as reference
369
+ const SLOTS_PER_EPOCH = const_1.CARDANO_DEFAULTS.SLOTS_PER_EPOCH;
370
+ const epochStartSlot = currentEpoch * SLOTS_PER_EPOCH;
371
+ const epochEndSlot = (currentEpoch + 1) * SLOTS_PER_EPOCH;
372
+ // eraStart.time is RelativeTime { seconds: bigint }
373
+ const eraStartTime = Number(eraStart.time.seconds) * 1000;
374
+ const slotsSinceEraStart = slot - eraStart.slot;
375
+ const currentTime = eraStartTime + (slotsSinceEraStart * 1000);
376
+ const slotsSinceEpochStart = slot - epochStartSlot;
377
+ const epochStartTime = currentTime - (slotsSinceEpochStart * 1000);
378
+ const slotsUntilEpochEnd = epochEndSlot - slot;
379
+ const epochEndTime = currentTime + (slotsUntilEpochEnd * 1000);
380
+ return {
381
+ epoch: currentEpoch,
382
+ start_time: Math.floor(epochStartTime / 1000),
383
+ end_time: Math.floor(epochEndTime / 1000),
384
+ first_block_time: Math.floor(epochStartTime / 1000),
385
+ last_block_time: Math.floor(currentTime / 1000),
386
+ block_count: 0, // Not available from Ogmios state queries
387
+ tx_count: 0, // Not available from Ogmios state queries
388
+ output: '0',
389
+ fees: '0',
390
+ active_stake: null,
391
+ };
392
+ }, this.name);
393
+ }
394
+ /**
395
+ * Get current Latest Block Data
396
+ * @returns {Promise<BlockData>} latest block data
397
+ */
398
+ async getLatestBlock() {
399
+ return (0, backend_request_handler_1.handleBackendRequest)(async () => {
400
+ this.ensureNotShutdown();
401
+ // Fetch ledger tip, block height, epoch, and era start in parallel
402
+ const [tip, blockHeight, epoch, eraStart] = await Promise.all([
403
+ this.stateQueryClient.ledgerTip(),
404
+ this.stateQueryClient.networkBlockHeight(),
405
+ this.stateQueryClient.epoch(),
406
+ this.stateQueryClient.eraStart()
407
+ ]);
408
+ const { slot, hash } = resolveOgmiosTip(tip);
409
+ const height = resolveOgmiosHeight(blockHeight);
410
+ // eraStart.time is RelativeTime { seconds: bigint }
411
+ const eraStartTime = Number(eraStart.time.seconds) * 1000;
412
+ const slotsSinceEraStart = slot - eraStart.slot;
413
+ const blockTime = eraStartTime + (slotsSinceEraStart * 1000); // Each slot = 1 second
414
+ // Calculate slot within epoch
415
+ const epochSlot = slot % const_1.CARDANO_DEFAULTS.SLOTS_PER_EPOCH;
416
+ return {
417
+ time: blockTime, // Already in milliseconds
418
+ height,
419
+ hash,
420
+ slot,
421
+ epoch,
422
+ epochSlot,
423
+ slotLeader: '', // Not available via ledgerTip - would need chainSync
424
+ size: 0, // Not available via ledgerTip - would need full block data
425
+ txCount: 0, // Not available via ledgerTip - would need full block data
426
+ fees: '0', // Not available via ledgerTip - would need full block data
427
+ };
428
+ }, this.name);
429
+ }
430
+ /**
431
+ * Shutdown the Ogmios Backend
432
+ * Closes all connections and marks as shutdown
433
+ */
434
+ async shutdown() {
435
+ if (this.isShutdown) {
436
+ return;
437
+ }
438
+ try {
439
+ if (this.stateQueryClient) {
440
+ await this.stateQueryClient.shutdown();
441
+ }
442
+ }
443
+ catch (error) {
444
+ logger.error(`Error shutting down state query client: ${error}`);
445
+ }
446
+ try {
447
+ if (this.txSubmissionClient) {
448
+ await this.txSubmissionClient.shutdown();
449
+ }
450
+ }
451
+ catch (error) {
452
+ logger.error(`Error shutting down tx submission client: ${error}`);
453
+ }
454
+ try {
455
+ if (this.context?.socket) {
456
+ this.context.socket.close();
457
+ }
458
+ }
459
+ catch (error) {
460
+ logger.error(`Error closing socket: ${error}`);
461
+ }
462
+ this.isShutdown = true;
463
+ this.stateQueryClient = null;
464
+ this.txSubmissionClient = null;
465
+ this.context = null;
466
+ }
467
+ /**
468
+ * Check if backend is connected
469
+ */
470
+ isConnected() {
471
+ if (this.isShutdown || !this.context?.socket) {
472
+ return false;
473
+ }
474
+ return this.context.socket.readyState === this.context.socket.OPEN;
475
+ }
476
+ // ---------------------------------------------------------------------------
477
+ // Helpers
478
+ // ---------------------------------------------------------------------------
479
+ /**
480
+ * Ensure the client is not shutdown before operations
481
+ */
482
+ ensureNotShutdown() {
483
+ if (this.isShutdown) {
484
+ throw new Error('Ogmios client has been shutdown');
485
+ }
486
+ }
487
+ /**
488
+ * Convert Ogmios value format to odatano amount array
489
+ * Ogmios: { ada: { lovelace: 1000000 }, policyId: { assetName: quantity } }
490
+ * Standard: [{ unit: 'lovelace', quantity: '1000000' }, { unit: 'policyId.assetName', quantity: 'N' }]
491
+ */
492
+ convertOgmiosValue(value) {
493
+ const amounts = [];
494
+ // Handle ADA (lovelace)
495
+ if (value.ada?.lovelace) {
496
+ amounts.push({
497
+ unit: 'lovelace',
498
+ quantity: value.ada.lovelace.toString()
499
+ });
500
+ }
501
+ // handle native assets (policy.assetName)
502
+ for (const [policyId, assets] of Object.entries(value)) {
503
+ if (policyId === 'ada')
504
+ continue;
505
+ for (const [assetName, quantity] of Object.entries(assets)) {
506
+ amounts.push({
507
+ unit: `${policyId}${assetName}`,
508
+ quantity: quantity.toString()
509
+ });
510
+ }
511
+ }
512
+ return amounts;
513
+ }
514
+ }
515
+ exports.OgmiosBackend = OgmiosBackend;
516
+ //# sourceMappingURL=ogmios-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogmios-backend.js","sourceRoot":"","sources":["ogmios-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardano-client.d.ts","sourceRoot":"","sources":["cardano-client.ts"],"names":[],"mappings":"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"}