@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.
- package/LICENSE +201 -0
- package/README.md +212 -0
- package/cds-plugin.js +5 -0
- package/config/preview/cardano-node/alonzo-genesis.json +196 -0
- package/config/preview/cardano-node/byron-genesis.json +117 -0
- package/config/preview/cardano-node/config.json +118 -0
- package/config/preview/cardano-node/conway-genesis.json +297 -0
- package/config/preview/cardano-node/shelley-genesis.json +68 -0
- package/config/preview/cardano-node/topology.json +19 -0
- package/db/schema.cds +1318 -0
- package/package.json +125 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +96 -0
- package/src/index.js.map +1 -0
- package/src/plugin.d.ts.map +1 -0
- package/src/plugin.js +92 -0
- package/src/plugin.js.map +1 -0
- package/srv/blockchain/backends/blockfrost-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/blockfrost-backend.js +398 -0
- package/srv/blockchain/backends/blockfrost-backend.js.map +1 -0
- package/srv/blockchain/backends/cardano-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/cardano-backend.js +12 -0
- package/srv/blockchain/backends/cardano-backend.js.map +1 -0
- package/srv/blockchain/backends/koios-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/koios-backend.js +537 -0
- package/srv/blockchain/backends/koios-backend.js.map +1 -0
- package/srv/blockchain/backends/ogmios-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/ogmios-backend.js +516 -0
- package/srv/blockchain/backends/ogmios-backend.js.map +1 -0
- package/srv/blockchain/cardano-client.d.ts.map +1 -0
- package/srv/blockchain/cardano-client.js +377 -0
- package/srv/blockchain/cardano-client.js.map +1 -0
- package/srv/blockchain/cardano-indexer.d.ts.map +1 -0
- package/srv/blockchain/cardano-indexer.js +542 -0
- package/srv/blockchain/cardano-indexer.js.map +1 -0
- package/srv/blockchain/cardano-tx-builder.d.ts.map +1 -0
- package/srv/blockchain/cardano-tx-builder.js +232 -0
- package/srv/blockchain/cardano-tx-builder.js.map +1 -0
- package/srv/blockchain/circuit-breaker.d.ts.map +1 -0
- package/srv/blockchain/circuit-breaker.js +110 -0
- package/srv/blockchain/circuit-breaker.js.map +1 -0
- package/srv/blockchain/signing/external-signer.d.ts.map +1 -0
- package/srv/blockchain/signing/external-signer.js +302 -0
- package/srv/blockchain/signing/external-signer.js.map +1 -0
- package/srv/blockchain/signing/signature-verifier.d.ts.map +1 -0
- package/srv/blockchain/signing/signature-verifier.js +249 -0
- package/srv/blockchain/signing/signature-verifier.js.map +1 -0
- package/srv/blockchain/transaction-building/buildooor-tx.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/buildooor-tx.js +636 -0
- package/srv/blockchain/transaction-building/buildooor-tx.js.map +1 -0
- package/srv/blockchain/transaction-building/cardano-tx.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/cardano-tx.js +3 -0
- package/srv/blockchain/transaction-building/cardano-tx.js.map +1 -0
- package/srv/blockchain/transaction-building/csl-tx.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/csl-tx.js +766 -0
- package/srv/blockchain/transaction-building/csl-tx.js.map +1 -0
- package/srv/blockchain/transaction-building/tx-builder-registry.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/tx-builder-registry.js +67 -0
- package/srv/blockchain/transaction-building/tx-builder-registry.js.map +1 -0
- package/srv/cardano-service.cds +179 -0
- package/srv/cardano-service.d.ts.map +1 -0
- package/srv/cardano-service.js +227 -0
- package/srv/cardano-service.js.map +1 -0
- package/srv/cardano-tx-service.cds +298 -0
- package/srv/cardano-tx-service.d.ts.map +1 -0
- package/srv/cardano-tx-service.js +646 -0
- package/srv/cardano-tx-service.js.map +1 -0
- package/srv/cardano-ui.cds +2949 -0
- package/srv/server.d.ts.map +1 -0
- package/srv/server.js +212 -0
- package/srv/server.js.map +1 -0
- package/srv/utils/backend-request-handler.d.ts.map +1 -0
- package/srv/utils/backend-request-handler.js +47 -0
- package/srv/utils/backend-request-handler.js.map +1 -0
- package/srv/utils/const.d.ts.map +1 -0
- package/srv/utils/const.js +86 -0
- package/srv/utils/const.js.map +1 -0
- package/srv/utils/error-codes.d.ts.map +1 -0
- package/srv/utils/error-codes.js +49 -0
- package/srv/utils/error-codes.js.map +1 -0
- package/srv/utils/errors.d.ts.map +1 -0
- package/srv/utils/errors.js +389 -0
- package/srv/utils/errors.js.map +1 -0
- package/srv/utils/mappers.d.ts.map +1 -0
- package/srv/utils/mappers.js +723 -0
- package/srv/utils/mappers.js.map +1 -0
- package/srv/utils/signing-helper.d.ts.map +1 -0
- package/srv/utils/signing-helper.js +128 -0
- package/srv/utils/signing-helper.js.map +1 -0
- package/srv/utils/tx-build-helper.d.ts.map +1 -0
- package/srv/utils/tx-build-helper.js +135 -0
- package/srv/utils/tx-build-helper.js.map +1 -0
- package/srv/utils/types.d.ts.map +1 -0
- package/srv/utils/types.js +36 -0
- package/srv/utils/types.js.map +1 -0
- package/srv/utils/validators.d.ts.map +1 -0
- package/srv/utils/validators.js +382 -0
- package/srv/utils/validators.js.map +1 -0
|
@@ -0,0 +1,377 @@
|
|
|
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.CardanoClient = void 0;
|
|
7
|
+
const cds_1 = __importDefault(require("@sap/cds"));
|
|
8
|
+
const cardano_backend_1 = require("./backends/cardano-backend");
|
|
9
|
+
const errors_1 = require("../utils/errors");
|
|
10
|
+
const circuit_breaker_1 = require("./circuit-breaker");
|
|
11
|
+
const ogmios_backend_1 = require("./backends/ogmios-backend");
|
|
12
|
+
const blockfrost_backend_1 = require("./backends/blockfrost-backend");
|
|
13
|
+
const koios_backend_1 = require("./backends/koios-backend");
|
|
14
|
+
const logger = cds_1.default.log('CardanoClient');
|
|
15
|
+
/**
|
|
16
|
+
* Method routing configuration - defines which backend type to prefer for each method
|
|
17
|
+
*/
|
|
18
|
+
const METHOD_ROUTING = {
|
|
19
|
+
getTransaction: { preferLive: false },
|
|
20
|
+
getAddress: { preferLive: true },
|
|
21
|
+
getAddressUtxos: { preferLive: true },
|
|
22
|
+
getAddressTransactions: { preferLive: false },
|
|
23
|
+
getNetworkInformation: { preferLive: true },
|
|
24
|
+
getTransactionMetadata: { preferLive: false },
|
|
25
|
+
getBlock: { preferLive: false },
|
|
26
|
+
getEpoch: { preferLive: false },
|
|
27
|
+
getLatestEpoch: { preferLive: true },
|
|
28
|
+
getLatestBlock: { preferLive: true },
|
|
29
|
+
getPool: { preferLive: true },
|
|
30
|
+
getDrep: { preferLive: false },
|
|
31
|
+
getAccount: { preferLive: true },
|
|
32
|
+
getProtocolParameters: { preferLive: true },
|
|
33
|
+
submitTransaction: { preferLive: true },
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* CardanoClient - Smart Multi-backend Cardano Client
|
|
37
|
+
*
|
|
38
|
+
* Routes requests to appropriate backends:
|
|
39
|
+
* - Live/State queries → Ogmios (if available)
|
|
40
|
+
* - Historical queries → Blockfrost/Koios (if available)
|
|
41
|
+
* - Automatic fallback between backends
|
|
42
|
+
*/
|
|
43
|
+
class CardanoClient {
|
|
44
|
+
config;
|
|
45
|
+
liveBackend;
|
|
46
|
+
historicalBackends = [];
|
|
47
|
+
initialized = false;
|
|
48
|
+
initPromise = null;
|
|
49
|
+
circuitBreaker;
|
|
50
|
+
network;
|
|
51
|
+
max_age_ms = 60000; // default 1 minute for temporary caching
|
|
52
|
+
/**
|
|
53
|
+
* Constructor for CardanoClient
|
|
54
|
+
* @param liveBackend - Optional backend for live/state queries (typically Ogmios)
|
|
55
|
+
* @param historicalBackends - Optional backends for historical queries (typically Blockfrost/Koios)
|
|
56
|
+
*/
|
|
57
|
+
constructor(clientConfig) {
|
|
58
|
+
this.network = clientConfig.network;
|
|
59
|
+
const backends = clientConfig.backends;
|
|
60
|
+
if (backends.includes('ogmios')) {
|
|
61
|
+
this.liveBackend = new ogmios_backend_1.OgmiosBackend(clientConfig.network, clientConfig.primaryTimeoutMs, clientConfig.ogmiosUrl);
|
|
62
|
+
}
|
|
63
|
+
if (backends.includes('blockfrost')) {
|
|
64
|
+
this.historicalBackends.push(new blockfrost_backend_1.BlockfrostBackend(clientConfig.network, clientConfig.primaryTimeoutMs, clientConfig.blockfrostApiKey));
|
|
65
|
+
}
|
|
66
|
+
if (backends.includes('koios')) {
|
|
67
|
+
this.historicalBackends.push(new koios_backend_1.KoiosBackend(clientConfig.network, clientConfig.primaryTimeoutMs, clientConfig.koiosApiKey));
|
|
68
|
+
}
|
|
69
|
+
if (!this.liveBackend && this.historicalBackends.length === 0) {
|
|
70
|
+
throw new errors_1.ConfigError('No valid backends configured for CardanoClient');
|
|
71
|
+
}
|
|
72
|
+
this.circuitBreaker = new circuit_breaker_1.CircuitBreakerManager(clientConfig.circuitBreaker);
|
|
73
|
+
logger.info('CardanoClient instance created.');
|
|
74
|
+
this.config = clientConfig;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Ensure backends are initialized
|
|
78
|
+
* @returns {Promise<void>}
|
|
79
|
+
*/
|
|
80
|
+
async ensureInitialized() {
|
|
81
|
+
if (this.initialized)
|
|
82
|
+
return;
|
|
83
|
+
// Use nullish coalescing assignment for atomic operation to prevent race conditions
|
|
84
|
+
this.initPromise ??= this.initBackends();
|
|
85
|
+
await this.initPromise;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Initialize all backends from configuration
|
|
89
|
+
* @returns {Promise<void>}
|
|
90
|
+
*/
|
|
91
|
+
async initBackends() {
|
|
92
|
+
const initErrors = [];
|
|
93
|
+
// Initialize live backend
|
|
94
|
+
if (this.liveBackend) {
|
|
95
|
+
try {
|
|
96
|
+
logger.debug(`Initializing live backend: ${this.liveBackend.name}`);
|
|
97
|
+
await this.liveBackend.init();
|
|
98
|
+
logger.debug(`Live backend initialized: ${this.liveBackend.name}`);
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
initErrors.push(new errors_1.BackendInitError(this.liveBackend.name, err));
|
|
102
|
+
logger.error(`Failed to initialize live backend: ${this.liveBackend.name}`, err);
|
|
103
|
+
this.liveBackend = undefined; // remove failed backend
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Initialize historical backends
|
|
107
|
+
const initializedHistorical = [];
|
|
108
|
+
for (const backend of this.historicalBackends) {
|
|
109
|
+
try {
|
|
110
|
+
logger.debug(`Initializing historical backend: ${backend.name}`);
|
|
111
|
+
await backend.init();
|
|
112
|
+
initializedHistorical.push(backend);
|
|
113
|
+
logger.debug(`Historical backend initialized: ${backend.name}`);
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
initErrors.push(new errors_1.BackendInitError(backend.name, err));
|
|
117
|
+
logger.error(`Failed to initialize historical backend: ${backend.name}`, err);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
this.historicalBackends = initializedHistorical;
|
|
121
|
+
if (!this.liveBackend && this.historicalBackends.length === 0) {
|
|
122
|
+
throw new errors_1.AllBackendsInitFailedError(initErrors);
|
|
123
|
+
}
|
|
124
|
+
this.initialized = true;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Wrap a promise with a timeout
|
|
128
|
+
* @param promise - the promise to wrap
|
|
129
|
+
* @param ms - timeout in milliseconds
|
|
130
|
+
* @param backendName - name of the backend (for error context)
|
|
131
|
+
* @returns {Promise<T>} the result of the promise or a timeout error
|
|
132
|
+
*/
|
|
133
|
+
withTimeout(promise, ms, backendName) {
|
|
134
|
+
let timeoutId;
|
|
135
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
136
|
+
timeoutId = setTimeout(() => reject(new errors_1.ProviderUnavailableError('Backend timeout', backendName, ms)), ms);
|
|
137
|
+
});
|
|
138
|
+
return Promise.race([promise, timeoutPromise]).finally(() => {
|
|
139
|
+
clearTimeout(timeoutId);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get timeout for specific backend
|
|
144
|
+
* @param backend CardanoBackend instance
|
|
145
|
+
* @returns {number} timeout in milliseconds
|
|
146
|
+
*/
|
|
147
|
+
getTimeoutForBackend(backend) {
|
|
148
|
+
if (backend.name === 'koios')
|
|
149
|
+
return this.config.fallbackTimeoutMs;
|
|
150
|
+
return this.config.primaryTimeoutMs;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Execute with priority-based backend selection and automatic fallback
|
|
154
|
+
* @param fn function to execute on backend
|
|
155
|
+
* @param preferLive whether to prefer live backend over historical
|
|
156
|
+
* @returns {Promise<T>} result from backend
|
|
157
|
+
*/
|
|
158
|
+
async executeWithPriority(fn, preferLive) {
|
|
159
|
+
await this.ensureInitialized();
|
|
160
|
+
const errors = [];
|
|
161
|
+
// Determine backend order based on preference
|
|
162
|
+
const primaryBackends = preferLive
|
|
163
|
+
? (this.liveBackend ? [this.liveBackend] : [])
|
|
164
|
+
: this.historicalBackends;
|
|
165
|
+
const fallbackBackends = preferLive
|
|
166
|
+
? this.historicalBackends
|
|
167
|
+
: (this.liveBackend ? [this.liveBackend] : []);
|
|
168
|
+
const allBackends = [...primaryBackends, ...fallbackBackends];
|
|
169
|
+
// Try each backend in order, respecting circuit breaker state
|
|
170
|
+
for (const backend of allBackends) {
|
|
171
|
+
if (!this.circuitBreaker.shouldAttempt(backend.name)) {
|
|
172
|
+
logger.debug(`Circuit open for ${backend.name}, skipping`);
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
const backendType = backend === this.liveBackend ? 'live' : 'historical';
|
|
177
|
+
logger.debug(`Calling backend: ${backend.name} (${backendType})`);
|
|
178
|
+
const result = await this.withTimeout(fn(backend), this.getTimeoutForBackend(backend), backend.name);
|
|
179
|
+
this.circuitBreaker.recordSuccess(backend.name);
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
const backendError = (0, errors_1.normalizeBackendError)(err, backend.name);
|
|
184
|
+
errors.push(backendError);
|
|
185
|
+
// Don't count 404s as backend failures (resource not found is a valid response)
|
|
186
|
+
if (backendError.statusCode !== 404) {
|
|
187
|
+
this.circuitBreaker.recordFailure(backend.name);
|
|
188
|
+
}
|
|
189
|
+
const logLevel = backendError.statusCode === 404 ? 'debug' : 'warn';
|
|
190
|
+
logger[logLevel](`Backend failed${backendError.statusCode === 404 ? ': resource not found' : ''}: ${backend.name} - ${backendError.message}`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
throw new errors_1.AllBackendsFailedError(errors);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Route method call to appropriate backend based on method routing configuration
|
|
197
|
+
* @param methodName name of the method being called
|
|
198
|
+
* @param fn function to execute on backend
|
|
199
|
+
* @returns {Promise<T>} result from backend
|
|
200
|
+
*/
|
|
201
|
+
route(methodName, fn) {
|
|
202
|
+
const config = METHOD_ROUTING[methodName];
|
|
203
|
+
return this.executeWithPriority(fn, config?.preferLive ?? true);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get transaction by hash with fallback between backends
|
|
207
|
+
* @param txHash transaction hash (hex)
|
|
208
|
+
* @returns {Promise<Transaction>} transaction data
|
|
209
|
+
*/
|
|
210
|
+
getTransaction(txHash) {
|
|
211
|
+
return this.route('getTransaction', b => b.getTransaction(txHash));
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Get address by bech32 address with fallback between backends
|
|
215
|
+
* @param address bech32 address
|
|
216
|
+
* @returns {Promise<Address>} address data
|
|
217
|
+
*/
|
|
218
|
+
getAddress(address) {
|
|
219
|
+
return this.route('getAddress', b => b.getAddress(address));
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Get address UTxOs with fallback between backends
|
|
223
|
+
* @param address bech32 address
|
|
224
|
+
* @returns {Promise<UTxO[]>} list of UTxOs
|
|
225
|
+
*/
|
|
226
|
+
getAddressUtxos(address) {
|
|
227
|
+
return this.route('getAddressUtxos', b => b.getAddressUtxos(address));
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get address transactions with fallback between backends
|
|
231
|
+
* @param address bech32 address
|
|
232
|
+
* @returns {Promise<Transaction[]>} list of transactions for this address
|
|
233
|
+
*/
|
|
234
|
+
getAddressTransactions(address, limit) {
|
|
235
|
+
return this.route('getAddressTransactions', b => b.getAddressTransactions(address, limit));
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get network information with fallback between backends
|
|
239
|
+
* @returns {Promise<Network>} network information
|
|
240
|
+
*/
|
|
241
|
+
getNetworkInformation() {
|
|
242
|
+
return this.route('getNetworkInformation', b => b.getNetworkInformation());
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Get transaction metadata with fallback between backends
|
|
246
|
+
* @param tx_hash transaction hash (hex)
|
|
247
|
+
* @returns {Promise<MetadataLabelTx[]>} transaction metadata
|
|
248
|
+
*/
|
|
249
|
+
getTransactionMetadata(tx_hash) {
|
|
250
|
+
return this.route('getTransactionMetadata', b => b.getTransactionMetadata(tx_hash));
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get block data with fallback between backends
|
|
254
|
+
* @param block_hash block hash (hex)
|
|
255
|
+
* @returns {Promise<BlockData>} block data
|
|
256
|
+
*/
|
|
257
|
+
getBlock(block_hash) {
|
|
258
|
+
return this.route('getBlock', b => b.getBlock(block_hash));
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Get epoch data with fallback between backends
|
|
262
|
+
* @param epochNumber epoch number
|
|
263
|
+
* @returns {Promise<EpochData>} epoch data
|
|
264
|
+
*/
|
|
265
|
+
getEpoch(epochNumber) {
|
|
266
|
+
return this.route('getEpoch', b => b.getEpoch(epochNumber));
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Get Pool data with fallback between backends
|
|
270
|
+
* @param poolId pool id
|
|
271
|
+
* @returns {Promise<PoolData>} pool data
|
|
272
|
+
*/
|
|
273
|
+
getPool(poolId) {
|
|
274
|
+
return this.route('getPool', b => b.getPool(poolId));
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Get drep data with fallback between backends
|
|
278
|
+
* @param drepId drep id
|
|
279
|
+
* @returns {Promise<DrepData>} drep data
|
|
280
|
+
*/
|
|
281
|
+
getDrep(drepId) {
|
|
282
|
+
return this.route('getDrep', b => b.getDrep(drepId));
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Get account data with fallback between backends
|
|
286
|
+
* @param stakeAddress stake address
|
|
287
|
+
* @returns {Promise<AccountData>} account data
|
|
288
|
+
*/
|
|
289
|
+
getAccount(stakeAddress) {
|
|
290
|
+
return this.route('getAccount', b => b.getAccount(stakeAddress));
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Get protocol parameters with caching (5 minute TTL)
|
|
294
|
+
* Protocol parameters rarely change (once per epoch at most), so caching improves performance
|
|
295
|
+
* @returns {Promise<LedgerProtocolParameters>} protocol parameters
|
|
296
|
+
*/
|
|
297
|
+
async getProtocolParameters() {
|
|
298
|
+
// Fetch fresh parameters
|
|
299
|
+
logger.debug('Fetching fresh protocol parameters');
|
|
300
|
+
return this.route('getProtocolParameters', b => b.getProtocolParameters());
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Shutdown all backends (for cleanup in tests)
|
|
304
|
+
*/
|
|
305
|
+
async shutdown() {
|
|
306
|
+
logger.info('Shutting down CardanoClient backends...');
|
|
307
|
+
// Shutdown live backend if it has a shutdown method
|
|
308
|
+
if (this.liveBackend && 'shutdown' in this.liveBackend && typeof this.liveBackend.shutdown === 'function') {
|
|
309
|
+
try {
|
|
310
|
+
await this.liveBackend.shutdown();
|
|
311
|
+
logger.debug(`Live backend ${this.liveBackend.name} shut down`);
|
|
312
|
+
}
|
|
313
|
+
catch (err) {
|
|
314
|
+
logger.error(`Error shutting down live backend: ${err}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Shutdown historical backends
|
|
318
|
+
for (const backend of this.historicalBackends) {
|
|
319
|
+
if ('shutdown' in backend && typeof backend.shutdown === 'function') {
|
|
320
|
+
try {
|
|
321
|
+
await backend.shutdown();
|
|
322
|
+
logger.debug(`Historical backend ${backend.name} shut down`);
|
|
323
|
+
}
|
|
324
|
+
catch (err) {
|
|
325
|
+
logger.error(`Error shutting down historical backend ${backend.name}: ${err}`);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
this.initialized = false;
|
|
330
|
+
this.initPromise = null;
|
|
331
|
+
logger.info('CardanoClient shutdown complete');
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Get latest block data with fallback between backends
|
|
335
|
+
* @returns {Promise<BlockData>} latest block data
|
|
336
|
+
*/
|
|
337
|
+
getLatestBlock() {
|
|
338
|
+
return this.route('getLatestBlock', b => b.getLatestBlock());
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Get latest epoch data with fallback between backends
|
|
342
|
+
* @returns {Promise<EpochData>} latest epoch data
|
|
343
|
+
*/
|
|
344
|
+
getLatestEpoch() {
|
|
345
|
+
return this.route('getLatestEpoch', b => b.getLatestEpoch());
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Submit transaction with fallback between backends
|
|
349
|
+
* @param signedTxCbor signed transaction in CBOR hex format
|
|
350
|
+
* @returns {Promise<string>} transaction hash
|
|
351
|
+
*/
|
|
352
|
+
submitTransaction(signedTxCbor) {
|
|
353
|
+
return this.route('submitTransaction', b => b.submitTransaction(signedTxCbor));
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Check if Ogmios backend is available for transaction evaluation
|
|
357
|
+
* @returns {boolean} true if Ogmios is the live backend
|
|
358
|
+
*/
|
|
359
|
+
hasOgmiosBackend() {
|
|
360
|
+
return this.liveBackend?.name === 'ogmios';
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Evaluate transaction script execution units (Ogmios only)
|
|
364
|
+
* @param unsignedTxCbor unsigned transaction in CBOR hex format
|
|
365
|
+
* @returns {Promise<Array<{validator: unknown, budget: {memory: number, cpu: number}}>>} evaluation results
|
|
366
|
+
*/
|
|
367
|
+
async evaluateTransaction(unsignedTxCbor) {
|
|
368
|
+
await this.ensureInitialized();
|
|
369
|
+
// Evaluation requires an EvaluatingBackend (typically Ogmios)
|
|
370
|
+
if (!this.liveBackend || !(0, cardano_backend_1.isEvaluatingBackend)(this.liveBackend)) {
|
|
371
|
+
throw new Error('Transaction evaluation requires an evaluating backend (e.g., Ogmios)');
|
|
372
|
+
}
|
|
373
|
+
return this.liveBackend.evaluateTransaction(unsignedTxCbor);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
exports.CardanoClient = CardanoClient;
|
|
377
|
+
//# sourceMappingURL=cardano-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardano-client.js","sourceRoot":"","sources":["cardano-client.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA2B;AAC3B,gEAAiF;AACjF,4CAAmL;AACnL,uDAAqF;AAerF,8DAA0D;AAC1D,sEAAkE;AAClE,4DAAwD;AAExD,MAAM,MAAM,GAAG,aAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,cAAc,GAA4C;IAC9D,cAAc,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IACrC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IAChC,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACrC,sBAAsB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7C,qBAAqB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IAC3C,sBAAsB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7C,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAC/B,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAC/B,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACpC,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACpC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IAC7B,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IAC9B,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IAChC,qBAAqB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IAC3C,iBAAiB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;CACxC,CAAC;AAmBF;;;;;;;GAOG;AACH,MAAa,aAAa;IAChB,MAAM,CAAsB;IAC5B,WAAW,CAAkB;IAC7B,kBAAkB,GAAqB,EAAE,CAAC;IAC1C,WAAW,GAAG,KAAK,CAAC;IACpB,WAAW,GAAyB,IAAI,CAAC;IACzC,cAAc,CAAwB;IAC9C,OAAO,CAAU;IACjB,UAAU,GAAW,KAAK,CAAC,CAAC,yCAAyC;IAErE;;;;OAIG;IACH,YAAa,YAAiC;QAC5C,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QAEpC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QAEvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,8BAAa,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACpH,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,sCAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1I,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,4BAAY,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QAChI,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,oBAAW,CAAC,gDAAgD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,uCAAqB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,oFAAoF;QACpF,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY;QACxB,MAAM,UAAU,GAAuB,EAAE,CAAC;QAE1C,0BAA0B;QAC1B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,IAAI,yBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;gBACjF,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,wBAAwB;YACxD,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,qBAAqB,GAAqB,EAAE,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,oCAAoC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,mCAAmC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,UAAU,CAAC,IAAI,CAAC,IAAI,yBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzD,MAAM,CAAC,KAAK,CAAC,4CAA4C,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,mCAA0B,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CACjB,OAAmB,EACnB,EAAU,EACV,WAAmB;QAEnB,IAAI,SAAwC,CAAC;QAE7C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAClD,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,iCAAwB,CAAC,iBAAiB,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAC9E,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAC1D,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAAC,OAAuB;QAClD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,mBAAmB,CAC/B,EAA2C,EAC3C,UAAmB;QAEnB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAmB,EAAE,CAAC;QAElC,8CAA8C;QAC9C,MAAM,eAAe,GAAG,UAAU;YAChC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAE5B,MAAM,gBAAgB,GAAG,UAAU;YACjC,CAAC,CAAC,IAAI,CAAC,kBAAkB;YACzB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;QAE9D,8DAA8D;QAC9D,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;gBACzE,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,KAAK,WAAW,GAAG,CAAC,CAAC;gBAElE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,EAAE,CAAC,OAAO,CAAC,EACX,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAClC,OAAO,CAAC,IAAI,CACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,IAAA,8BAAqB,EAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE1B,gFAAgF;gBAChF,IAAI,YAAY,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;gBAED,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpE,MAAM,CAAC,QAAQ,CAAC,CACd,iBAAiB,YAAY,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE,CAC5H,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,+BAAsB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACK,KAAK,CACX,UAAkB,EAClB,EAA2C;QAE3C,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,OAAe,EAAE,KAAa;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,UAAkB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,WAAmB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,YAAoB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB;QACzB,yBAAyB;QACzB,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAEvD,oDAAoD;QACpD,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1G,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9C,IAAI,UAAU,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACpE,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACzB,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,0CAA0C,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,YAAoB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,cAAsB;QAC9C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAA,qCAAmB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;CACF;AA1YD,sCA0YC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardano-indexer.d.ts","sourceRoot":"","sources":["cardano-indexer.ts"],"names":[],"mappings":"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"}
|