@rosen-bridge/raw-data-provider 0.0.1-7b38188a

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 (81) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +24 -0
  3. package/dist/abstractRawDataProvider.d.ts +48 -0
  4. package/dist/abstractRawDataProvider.d.ts.map +1 -0
  5. package/dist/abstractRawDataProvider.js +111 -0
  6. package/dist/actions/index.d.ts +2 -0
  7. package/dist/actions/index.d.ts.map +1 -0
  8. package/dist/actions/index.js +2 -0
  9. package/dist/actions/rawDataProviderStateEntityAction.d.ts +42 -0
  10. package/dist/actions/rawDataProviderStateEntityAction.d.ts.map +1 -0
  11. package/dist/actions/rawDataProviderStateEntityAction.js +69 -0
  12. package/dist/constants.d.ts +2 -0
  13. package/dist/constants.d.ts.map +1 -0
  14. package/dist/constants.js +2 -0
  15. package/dist/entities/index.d.ts +2 -0
  16. package/dist/entities/index.d.ts.map +1 -0
  17. package/dist/entities/index.js +2 -0
  18. package/dist/entities/rawDataProviderStateEntity.d.ts +6 -0
  19. package/dist/entities/rawDataProviderStateEntity.d.ts.map +1 -0
  20. package/dist/entities/rawDataProviderStateEntity.js +32 -0
  21. package/dist/index.d.ts +5 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +5 -0
  24. package/dist/migrations/index.d.ts +7 -0
  25. package/dist/migrations/index.d.ts.map +1 -0
  26. package/dist/migrations/index.js +7 -0
  27. package/dist/migrations/postgres/1762178180934-migration.d.ts +7 -0
  28. package/dist/migrations/postgres/1762178180934-migration.d.ts.map +1 -0
  29. package/dist/migrations/postgres/1762178180934-migration.js +18 -0
  30. package/dist/migrations/postgres/index.d.ts +2 -0
  31. package/dist/migrations/postgres/index.d.ts.map +1 -0
  32. package/dist/migrations/postgres/index.js +2 -0
  33. package/dist/migrations/sqlite/1762178166781-migration.d.ts +7 -0
  34. package/dist/migrations/sqlite/1762178166781-migration.d.ts.map +1 -0
  35. package/dist/migrations/sqlite/1762178166781-migration.js +18 -0
  36. package/dist/migrations/sqlite/index.d.ts +2 -0
  37. package/dist/migrations/sqlite/index.d.ts.map +1 -0
  38. package/dist/migrations/sqlite/index.js +2 -0
  39. package/dist/providers/bitcoin/bitcoinEsploraRawDataProvider.d.ts +25 -0
  40. package/dist/providers/bitcoin/bitcoinEsploraRawDataProvider.d.ts.map +1 -0
  41. package/dist/providers/bitcoin/bitcoinEsploraRawDataProvider.js +52 -0
  42. package/dist/providers/bitcoin/bitcoinRpcRawDataProvider.d.ts +23 -0
  43. package/dist/providers/bitcoin/bitcoinRpcRawDataProvider.d.ts.map +1 -0
  44. package/dist/providers/bitcoin/bitcoinRpcRawDataProvider.js +49 -0
  45. package/dist/providers/bitcoin/index.d.ts +3 -0
  46. package/dist/providers/bitcoin/index.d.ts.map +1 -0
  47. package/dist/providers/bitcoin/index.js +3 -0
  48. package/dist/providers/cardano/cardanoKoiosRawDataProvider.d.ts +108 -0
  49. package/dist/providers/cardano/cardanoKoiosRawDataProvider.d.ts.map +1 -0
  50. package/dist/providers/cardano/cardanoKoiosRawDataProvider.js +36 -0
  51. package/dist/providers/cardano/index.d.ts +2 -0
  52. package/dist/providers/cardano/index.d.ts.map +1 -0
  53. package/dist/providers/cardano/index.js +2 -0
  54. package/dist/providers/doge/dogeRpcRawDataProvider.d.ts +22 -0
  55. package/dist/providers/doge/dogeRpcRawDataProvider.d.ts.map +1 -0
  56. package/dist/providers/doge/dogeRpcRawDataProvider.js +45 -0
  57. package/dist/providers/doge/index.d.ts +2 -0
  58. package/dist/providers/doge/index.d.ts.map +1 -0
  59. package/dist/providers/doge/index.js +2 -0
  60. package/dist/providers/ergo/ergoExplorerRawDataProvider.d.ts +96 -0
  61. package/dist/providers/ergo/ergoExplorerRawDataProvider.d.ts.map +1 -0
  62. package/dist/providers/ergo/ergoExplorerRawDataProvider.js +44 -0
  63. package/dist/providers/ergo/ergoNodeRawDataProvider.d.ts +149 -0
  64. package/dist/providers/ergo/ergoNodeRawDataProvider.d.ts.map +1 -0
  65. package/dist/providers/ergo/ergoNodeRawDataProvider.js +44 -0
  66. package/dist/providers/ergo/index.d.ts +3 -0
  67. package/dist/providers/ergo/index.d.ts.map +1 -0
  68. package/dist/providers/ergo/index.js +3 -0
  69. package/dist/providers/evm/evmRawDataProvider.d.ts +23 -0
  70. package/dist/providers/evm/evmRawDataProvider.d.ts.map +1 -0
  71. package/dist/providers/evm/evmRawDataProvider.js +46 -0
  72. package/dist/providers/evm/index.d.ts +2 -0
  73. package/dist/providers/evm/index.d.ts.map +1 -0
  74. package/dist/providers/evm/index.js +2 -0
  75. package/dist/providers/index.d.ts +6 -0
  76. package/dist/providers/index.d.ts.map +1 -0
  77. package/dist/providers/index.js +6 -0
  78. package/dist/types.d.ts +28 -0
  79. package/dist/types.d.ts.map +1 -0
  80. package/dist/types.js +2 -0
  81. package/package.json +58 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,20 @@
1
+ # @rosen-bridge/raw-data-provider
2
+
3
+ ## 0.0.1-7b38188a
4
+
5
+ ### Patch Changes
6
+
7
+ - Update dependencies
8
+ - @rosen-bridge/abstract-logger@4.0.0
9
+
10
+ - Update dependencies
11
+ - Update dependencies
12
+ - Update dependencies
13
+ - Update dependencies
14
+ - @rosen-bridge/bitcoin-runes-observation-extractor@2.0.0-7b38188a
15
+ - @rosen-bridge/bitcoin-observation-extractor@7.0.0-7b38188a
16
+ - @rosen-bridge/cardano-observation-extractor@2.0.0-7b38188a
17
+ - @rosen-bridge/ergo-observation-extractor@1.0.0-7b38188a
18
+ - @rosen-bridge/evm-observation-extractor@6.0.0-7b38188a
19
+ - @rosen-bridge/abstract-observation-extractor@1.0.0-7b38188a
20
+ - @rosen-bridge/bitcoin-scanner@1.0.0-7b38188a
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # @rosen-bridge/raw-data-provider
2
+
3
+ ## Table of contents
4
+
5
+ - [Introduction](#introduction)
6
+ - [Installation](#installation)
7
+
8
+ ## Introduction
9
+
10
+ This package populates missing rawData values for extractors records stored in the database.
11
+
12
+ ## Installation
13
+
14
+ npm:
15
+
16
+ ```sh
17
+ npm i @rosen-bridge/raw-data-provider
18
+ ```
19
+
20
+ yarn:
21
+
22
+ ```sh
23
+ yarn add @rosen-bridge/raw-data-provider
24
+ ```
@@ -0,0 +1,48 @@
1
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
+ import { AbstractObservationExtractor, ObservationEntity } from '@rosen-bridge/abstract-observation-extractor';
3
+ import { DataSource } from '@rosen-bridge/extended-typeorm';
4
+ import { RawDataProviderStateEntityAction } from './actions/rawDataProviderStateEntityAction';
5
+ import { RawDataProviderStateEntity } from './entities';
6
+ export declare abstract class AbstractRawDataProvider<TxType> {
7
+ protected chain: string;
8
+ protected dataSource: DataSource;
9
+ protected extractor: AbstractObservationExtractor<TxType>;
10
+ protected logger: AbstractLogger;
11
+ protected action: RawDataProviderStateEntityAction;
12
+ constructor(chain: string, dataSource: DataSource, extractor: AbstractObservationExtractor<TxType>, logger?: AbstractLogger);
13
+ /**
14
+ * Retrieves the current RawDataProviderStateEntity for the configured chain.
15
+ *
16
+ * @returns The existing or newly created RawDataProviderStateEntity
17
+ */
18
+ protected fetchOrCreateStateForChain: () => Promise<RawDataProviderStateEntity>;
19
+ /**
20
+ * Iterates through observations of the current chain and fills their rawData field.
21
+ * Updates the syncedHeight after each processed observation until the chain is fully synced.
22
+ *
23
+ * @returns void
24
+ */
25
+ fillRawData: () => Promise<void>;
26
+ /**
27
+ * fetch transactions related to the input observation parameter
28
+ *
29
+ * @param observation
30
+ * @returns { Promise<TxType[]> }
31
+ */
32
+ protected abstract fetchObservationTxs: (observation: ObservationEntity) => Promise<TxType[] | undefined>;
33
+ /**
34
+ * Process observation and write rawData
35
+ *
36
+ * @param observation
37
+ * @return {boolean} determining result of process done successfully or no
38
+ */
39
+ protected processObservation: (observation: ObservationEntity) => Promise<boolean>;
40
+ /**
41
+ * Fills the raw data field for all ObservationEntity records of the current chain of input RawDataProviderStateEntity
42
+ *
43
+ * @param state
44
+ * @returns
45
+ */
46
+ protected fillObservationsRawData: (state: RawDataProviderStateEntity) => Promise<RawDataProviderStateEntity>;
47
+ }
48
+ //# sourceMappingURL=abstractRawDataProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractRawDataProvider.d.ts","sourceRoot":"","sources":["../lib/abstractRawDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EAClB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,8BAAsB,uBAAuB,CAAC,MAAM;IAIhD,SAAS,CAAC,KAAK,EAAE,MAAM;IACvB,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,SAAS,CAAC,SAAS,EAAE,4BAA4B,CAAC,MAAM,CAAC;IACzD,SAAS,CAAC,MAAM,EAAE,cAAc;IANlC,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC;gBAGvC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,4BAA4B,CAAC,MAAM,CAAC,EAC/C,MAAM,GAAE,cAAkC;IAQtD;;;;OAIG;IACH,SAAS,CAAC,0BAA0B,QACxB,OAAO,CAAC,0BAA0B,CAAC,CAuB3C;IAEJ;;;;;OAKG;IACH,WAAW,QAAa,OAAO,CAAC,IAAI,CAAC,CAwBnC;IAEF;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CACtC,WAAW,EAAE,iBAAiB,KAC3B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACnC;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,GAAU,aAAa,iBAAiB,sBAgBlE;IAEF;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,GAC/B,OAAO,0BAA0B,KAChC,OAAO,CAAC,0BAA0B,CAAC,CAiCpC;CACH"}
@@ -0,0 +1,111 @@
1
+ import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
+ import { RawDataProviderStateEntityAction } from './actions/rawDataProviderStateEntityAction';
3
+ export class AbstractRawDataProvider {
4
+ chain;
5
+ dataSource;
6
+ extractor;
7
+ logger;
8
+ action;
9
+ constructor(chain, dataSource, extractor, logger = new DummyLogger()) {
10
+ this.chain = chain;
11
+ this.dataSource = dataSource;
12
+ this.extractor = extractor;
13
+ this.logger = logger;
14
+ this.action = new RawDataProviderStateEntityAction(dataSource, logger.child('RawDataProviderStateEntityAction'));
15
+ }
16
+ /**
17
+ * Retrieves the current RawDataProviderStateEntity for the configured chain.
18
+ *
19
+ * @returns The existing or newly created RawDataProviderStateEntity
20
+ */
21
+ fetchOrCreateStateForChain = async () => {
22
+ let state = await this.action.fetchByChain(this.chain);
23
+ if (!state) {
24
+ const latestChainObservation = await this.action.fetchLatestObservationByChain(this.chain);
25
+ let lastHeight = 0;
26
+ if (!latestChainObservation) {
27
+ this.logger.warn(`Not find any ObservationEntity for the ${this.chain} chain`);
28
+ }
29
+ else {
30
+ lastHeight = latestChainObservation.height;
31
+ }
32
+ state = await this.action.store({
33
+ chain: this.chain,
34
+ lastHeight: lastHeight,
35
+ syncedHeight: 0,
36
+ });
37
+ this.logger.debug(`Created RawDataProviderStateEntity on [${this.chain}] chain at height ${lastHeight}`);
38
+ }
39
+ return state;
40
+ };
41
+ /**
42
+ * Iterates through observations of the current chain and fills their rawData field.
43
+ * Updates the syncedHeight after each processed observation until the chain is fully synced.
44
+ *
45
+ * @returns void
46
+ */
47
+ fillRawData = async () => {
48
+ this.logger.info(`RawDataProvider Starting raw-data filling for [${this.chain}] chain`);
49
+ let state = await this.fetchOrCreateStateForChain();
50
+ while (state.syncedHeight < state.lastHeight) {
51
+ this.logger.debug(`RawDataProvider Fetching observations for [${this.chain}] chain from height > ${state.syncedHeight}`);
52
+ try {
53
+ const result = await this.fillObservationsRawData(state);
54
+ state = result;
55
+ }
56
+ catch (err) {
57
+ this.logger.error(`RawDataProvider Error: ${err}`);
58
+ if (err instanceof Error && err.stack)
59
+ this.logger.error(err.stack);
60
+ break;
61
+ }
62
+ }
63
+ this.logger.info(`RawDataProvider Finished filling raw-data for [${this.chain}] chain`);
64
+ };
65
+ /**
66
+ * Process observation and write rawData
67
+ *
68
+ * @param observation
69
+ * @return {boolean} determining result of process done successfully or no
70
+ */
71
+ processObservation = async (observation) => {
72
+ try {
73
+ const block = { height: observation.height, hash: observation.block };
74
+ const txs = await this.fetchObservationTxs(observation);
75
+ if (!txs)
76
+ throw new Error(`Transaction [${observation.sourceTxId}] not found or invalid response from ${this.chain} chain.`);
77
+ this.extractor.processTransactions(txs, block);
78
+ }
79
+ catch (err) {
80
+ this.logger.error(`Processing of observation for ${this.chain} failed: ${err}`);
81
+ return false;
82
+ }
83
+ return true;
84
+ };
85
+ /**
86
+ * Fills the raw data field for all ObservationEntity records of the current chain of input RawDataProviderStateEntity
87
+ *
88
+ * @param state
89
+ * @returns
90
+ */
91
+ fillObservationsRawData = async (state) => {
92
+ const observations = await this.action.fetchChainObservations(this.chain, state.syncedHeight, this.extractor.getId());
93
+ if (observations.length === 0)
94
+ throw new Error(`ImpossibleBehavior: No more observations found for [${this.chain}] chain`);
95
+ for (const observation of observations) {
96
+ this.logger.debug(`RawDataProvider Updating rawData for observation at height ${observation.height} for [${this.chain}] chain`);
97
+ const isSuccess = await this.processObservation(observation);
98
+ if (isSuccess) {
99
+ this.logger.debug(`RawDataProvider successfully processed observation at height ${observation.height} for [${this.chain}] chain`);
100
+ }
101
+ else {
102
+ throw new Error(`RawDataProvider failed to process observation at height ${observation.height} for [${this.chain}] chain`);
103
+ }
104
+ state.syncedHeight = observation.height;
105
+ await this.action.store(state);
106
+ this.logger.debug(`RawDataProvider syncedHeight updated to ${observation.height} for [${this.chain}] chain`);
107
+ }
108
+ return state;
109
+ };
110
+ }
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RSYXdEYXRhUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvYWJzdHJhY3RSYXdEYXRhUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU81RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUc5RixNQUFNLE9BQWdCLHVCQUF1QjtJQUkvQjtJQUNBO0lBQ0E7SUFDQTtJQU5GLE1BQU0sQ0FBbUM7SUFFbkQsWUFDWSxLQUFhLEVBQ2IsVUFBc0IsRUFDdEIsU0FBK0MsRUFDL0MsU0FBeUIsSUFBSSxXQUFXLEVBQUU7UUFIMUMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDL0MsV0FBTSxHQUFOLE1BQU0sQ0FBb0M7UUFFcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdDQUFnQyxDQUNoRCxVQUFVLEVBQ1YsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDTywwQkFBMEIsR0FDbEMsS0FBSyxJQUF5QyxFQUFFO1FBQzlDLElBQUksS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sc0JBQXNCLEdBQzFCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCwwQ0FBMEMsSUFBSSxDQUFDLEtBQUssUUFBUSxDQUM3RCxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7WUFDN0MsQ0FBQztZQUNELEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixZQUFZLEVBQUUsQ0FBQzthQUNoQixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwwQ0FBMEMsSUFBSSxDQUFDLEtBQUsscUJBQXFCLFVBQVUsRUFBRSxDQUN0RixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxXQUFXLEdBQUcsS0FBSyxJQUFtQixFQUFFO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLGtEQUFrRCxJQUFJLENBQUMsS0FBSyxTQUFTLENBQ3RFLENBQUM7UUFFRixJQUFJLEtBQUssR0FDUCxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQzFDLE9BQU8sS0FBSyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsOENBQThDLElBQUksQ0FBQyxLQUFLLHlCQUF5QixLQUFLLENBQUMsWUFBWSxFQUFFLENBQ3RHLENBQUM7WUFDRixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pELEtBQUssR0FBRyxNQUFNLENBQUM7WUFDakIsQ0FBQztZQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ25ELElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSztvQkFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BFLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLGtEQUFrRCxJQUFJLENBQUMsS0FBSyxTQUFTLENBQ3RFLENBQUM7SUFDSixDQUFDLENBQUM7SUFXRjs7Ozs7T0FLRztJQUNPLGtCQUFrQixHQUFHLEtBQUssRUFBRSxXQUE4QixFQUFFLEVBQUU7UUFDdEUsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RFLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxHQUFHO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0JBQWdCLFdBQVcsQ0FBQyxVQUFVLHdDQUF3QyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQ2xHLENBQUM7WUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGlDQUFpQyxJQUFJLENBQUMsS0FBSyxZQUFZLEdBQUcsRUFBRSxDQUM3RCxDQUFDO1lBQ0YsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNPLHVCQUF1QixHQUFHLEtBQUssRUFDdkMsS0FBaUMsRUFDSSxFQUFFO1FBQ3ZDLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDM0QsSUFBSSxDQUFDLEtBQUssRUFDVixLQUFLLENBQUMsWUFBWSxFQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUN2QixDQUFDO1FBRUYsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDYix1REFBdUQsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUMzRSxDQUFDO1FBRUosS0FBSyxNQUFNLFdBQVcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiw4REFBOEQsV0FBVyxDQUFDLE1BQU0sU0FBUyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQzdHLENBQUM7WUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3RCxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGdFQUFnRSxXQUFXLENBQUMsTUFBTSxTQUFTLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FDL0csQ0FBQztZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxXQUFXLENBQUMsTUFBTSxTQUFTLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FDMUcsQ0FBQztZQUNKLENBQUM7WUFDRCxLQUFLLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDeEMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwyQ0FBMkMsV0FBVyxDQUFDLE1BQU0sU0FBUyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQzFGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0T2JzZXJ2YXRpb25FeHRyYWN0b3IsXG4gIE9ic2VydmF0aW9uRW50aXR5LFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LW9ic2VydmF0aW9uLWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcblxuaW1wb3J0IHsgUmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHlBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvcmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHlBY3Rpb24nO1xuaW1wb3J0IHsgUmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHkgfSBmcm9tICcuL2VudGl0aWVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UmF3RGF0YVByb3ZpZGVyPFR4VHlwZT4ge1xuICBwcm90ZWN0ZWQgYWN0aW9uOiBSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eUFjdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgY2hhaW46IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBwcm90ZWN0ZWQgZXh0cmFjdG9yOiBBYnN0cmFjdE9ic2VydmF0aW9uRXh0cmFjdG9yPFR4VHlwZT4sXG4gICAgcHJvdGVjdGVkIGxvZ2dlcjogQWJzdHJhY3RMb2dnZXIgPSBuZXcgRHVtbXlMb2dnZXIoKSxcbiAgKSB7XG4gICAgdGhpcy5hY3Rpb24gPSBuZXcgUmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHlBY3Rpb24oXG4gICAgICBkYXRhU291cmNlLFxuICAgICAgbG9nZ2VyLmNoaWxkKCdSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eUFjdGlvbicpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5IGZvciB0aGUgY29uZmlndXJlZCBjaGFpbi5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGV4aXN0aW5nIG9yIG5ld2x5IGNyZWF0ZWQgUmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHlcbiAgICovXG4gIHByb3RlY3RlZCBmZXRjaE9yQ3JlYXRlU3RhdGVGb3JDaGFpbiA9XG4gICAgYXN5bmMgKCk6IFByb21pc2U8UmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHk+ID0+IHtcbiAgICAgIGxldCBzdGF0ZSA9IGF3YWl0IHRoaXMuYWN0aW9uLmZldGNoQnlDaGFpbih0aGlzLmNoYWluKTtcbiAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgY29uc3QgbGF0ZXN0Q2hhaW5PYnNlcnZhdGlvbiA9XG4gICAgICAgICAgYXdhaXQgdGhpcy5hY3Rpb24uZmV0Y2hMYXRlc3RPYnNlcnZhdGlvbkJ5Q2hhaW4odGhpcy5jaGFpbik7XG4gICAgICAgIGxldCBsYXN0SGVpZ2h0ID0gMDtcbiAgICAgICAgaWYgKCFsYXRlc3RDaGFpbk9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICAgIGBOb3QgZmluZCBhbnkgT2JzZXJ2YXRpb25FbnRpdHkgZm9yIHRoZSAke3RoaXMuY2hhaW59IGNoYWluYCxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxhc3RIZWlnaHQgPSBsYXRlc3RDaGFpbk9ic2VydmF0aW9uLmhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZSA9IGF3YWl0IHRoaXMuYWN0aW9uLnN0b3JlKHtcbiAgICAgICAgICBjaGFpbjogdGhpcy5jaGFpbixcbiAgICAgICAgICBsYXN0SGVpZ2h0OiBsYXN0SGVpZ2h0LFxuICAgICAgICAgIHN5bmNlZEhlaWdodDogMCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBDcmVhdGVkIFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5IG9uIFske3RoaXMuY2hhaW59XSBjaGFpbiBhdCBoZWlnaHQgJHtsYXN0SGVpZ2h0fWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfTtcblxuICAvKipcbiAgICogSXRlcmF0ZXMgdGhyb3VnaCBvYnNlcnZhdGlvbnMgb2YgdGhlIGN1cnJlbnQgY2hhaW4gYW5kIGZpbGxzIHRoZWlyIHJhd0RhdGEgZmllbGQuXG4gICAqIFVwZGF0ZXMgdGhlIHN5bmNlZEhlaWdodCBhZnRlciBlYWNoIHByb2Nlc3NlZCBvYnNlcnZhdGlvbiB1bnRpbCB0aGUgY2hhaW4gaXMgZnVsbHkgc3luY2VkLlxuICAgKlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBmaWxsUmF3RGF0YSA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgYFJhd0RhdGFQcm92aWRlciBTdGFydGluZyByYXctZGF0YSBmaWxsaW5nIGZvciBbJHt0aGlzLmNoYWlufV0gY2hhaW5gLFxuICAgICk7XG5cbiAgICBsZXQgc3RhdGU6IFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5ID1cbiAgICAgIGF3YWl0IHRoaXMuZmV0Y2hPckNyZWF0ZVN0YXRlRm9yQ2hhaW4oKTtcbiAgICB3aGlsZSAoc3RhdGUuc3luY2VkSGVpZ2h0IDwgc3RhdGUubGFzdEhlaWdodCkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBSYXdEYXRhUHJvdmlkZXIgRmV0Y2hpbmcgb2JzZXJ2YXRpb25zIGZvciBbJHt0aGlzLmNoYWlufV0gY2hhaW4gZnJvbSBoZWlnaHQgPiAke3N0YXRlLnN5bmNlZEhlaWdodH1gLFxuICAgICAgKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZmlsbE9ic2VydmF0aW9uc1Jhd0RhdGEoc3RhdGUpO1xuICAgICAgICBzdGF0ZSA9IHJlc3VsdDtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgUmF3RGF0YVByb3ZpZGVyIEVycm9yOiAke2Vycn1gKTtcbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yICYmIGVyci5zdGFjaykgdGhpcy5sb2dnZXIuZXJyb3IoZXJyLnN0YWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgIGBSYXdEYXRhUHJvdmlkZXIgRmluaXNoZWQgZmlsbGluZyByYXctZGF0YSBmb3IgWyR7dGhpcy5jaGFpbn1dIGNoYWluYCxcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmZXRjaCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byB0aGUgaW5wdXQgb2JzZXJ2YXRpb24gcGFyYW1ldGVyXG4gICAqXG4gICAqIEBwYXJhbSBvYnNlcnZhdGlvblxuICAgKiBAcmV0dXJucyB7IFByb21pc2U8VHhUeXBlW10+IH1cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBmZXRjaE9ic2VydmF0aW9uVHhzOiAoXG4gICAgb2JzZXJ2YXRpb246IE9ic2VydmF0aW9uRW50aXR5LFxuICApID0+IFByb21pc2U8VHhUeXBlW10gfCB1bmRlZmluZWQ+O1xuICAvKipcbiAgICogUHJvY2VzcyBvYnNlcnZhdGlvbiBhbmQgd3JpdGUgcmF3RGF0YVxuICAgKlxuICAgKiBAcGFyYW0gb2JzZXJ2YXRpb25cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gZGV0ZXJtaW5pbmcgcmVzdWx0IG9mIHByb2Nlc3MgZG9uZSBzdWNjZXNzZnVsbHkgb3Igbm9cbiAgICovXG4gIHByb3RlY3RlZCBwcm9jZXNzT2JzZXJ2YXRpb24gPSBhc3luYyAob2JzZXJ2YXRpb246IE9ic2VydmF0aW9uRW50aXR5KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJsb2NrID0geyBoZWlnaHQ6IG9ic2VydmF0aW9uLmhlaWdodCwgaGFzaDogb2JzZXJ2YXRpb24uYmxvY2sgfTtcbiAgICAgIGNvbnN0IHR4cyA9IGF3YWl0IHRoaXMuZmV0Y2hPYnNlcnZhdGlvblR4cyhvYnNlcnZhdGlvbik7XG4gICAgICBpZiAoIXR4cylcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBUcmFuc2FjdGlvbiBbJHtvYnNlcnZhdGlvbi5zb3VyY2VUeElkfV0gbm90IGZvdW5kIG9yIGludmFsaWQgcmVzcG9uc2UgZnJvbSAke3RoaXMuY2hhaW59IGNoYWluLmAsXG4gICAgICAgICk7XG4gICAgICB0aGlzLmV4dHJhY3Rvci5wcm9jZXNzVHJhbnNhY3Rpb25zKHR4cywgYmxvY2spO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBQcm9jZXNzaW5nIG9mIG9ic2VydmF0aW9uIGZvciAke3RoaXMuY2hhaW59IGZhaWxlZDogJHtlcnJ9YCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGaWxscyB0aGUgcmF3IGRhdGEgZmllbGQgZm9yIGFsbCBPYnNlcnZhdGlvbkVudGl0eSByZWNvcmRzIG9mIHRoZSBjdXJyZW50IGNoYWluIG9mIGlucHV0IFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5XG4gICAqXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJvdGVjdGVkIGZpbGxPYnNlcnZhdGlvbnNSYXdEYXRhID0gYXN5bmMgKFxuICAgIHN0YXRlOiBSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eSxcbiAgKTogUHJvbWlzZTxSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eT4gPT4ge1xuICAgIGNvbnN0IG9ic2VydmF0aW9ucyA9IGF3YWl0IHRoaXMuYWN0aW9uLmZldGNoQ2hhaW5PYnNlcnZhdGlvbnMoXG4gICAgICB0aGlzLmNoYWluLFxuICAgICAgc3RhdGUuc3luY2VkSGVpZ2h0LFxuICAgICAgdGhpcy5leHRyYWN0b3IuZ2V0SWQoKSxcbiAgICApO1xuXG4gICAgaWYgKG9ic2VydmF0aW9ucy5sZW5ndGggPT09IDApXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbXBvc3NpYmxlQmVoYXZpb3I6IE5vIG1vcmUgb2JzZXJ2YXRpb25zIGZvdW5kIGZvciBbJHt0aGlzLmNoYWlufV0gY2hhaW5gLFxuICAgICAgKTtcblxuICAgIGZvciAoY29uc3Qgb2JzZXJ2YXRpb24gb2Ygb2JzZXJ2YXRpb25zKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYFJhd0RhdGFQcm92aWRlciBVcGRhdGluZyByYXdEYXRhIGZvciBvYnNlcnZhdGlvbiBhdCBoZWlnaHQgJHtvYnNlcnZhdGlvbi5oZWlnaHR9IGZvciBbJHt0aGlzLmNoYWlufV0gY2hhaW5gLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGlzU3VjY2VzcyA9IGF3YWl0IHRoaXMucHJvY2Vzc09ic2VydmF0aW9uKG9ic2VydmF0aW9uKTtcbiAgICAgIGlmIChpc1N1Y2Nlc3MpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFJhd0RhdGFQcm92aWRlciBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIG9ic2VydmF0aW9uIGF0IGhlaWdodCAke29ic2VydmF0aW9uLmhlaWdodH0gZm9yIFske3RoaXMuY2hhaW59XSBjaGFpbmAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFJhd0RhdGFQcm92aWRlciBmYWlsZWQgdG8gcHJvY2VzcyBvYnNlcnZhdGlvbiBhdCBoZWlnaHQgJHtvYnNlcnZhdGlvbi5oZWlnaHR9IGZvciBbJHt0aGlzLmNoYWlufV0gY2hhaW5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgc3RhdGUuc3luY2VkSGVpZ2h0ID0gb2JzZXJ2YXRpb24uaGVpZ2h0O1xuICAgICAgYXdhaXQgdGhpcy5hY3Rpb24uc3RvcmUoc3RhdGUpO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBSYXdEYXRhUHJvdmlkZXIgc3luY2VkSGVpZ2h0IHVwZGF0ZWQgdG8gJHtvYnNlcnZhdGlvbi5oZWlnaHR9IGZvciBbJHt0aGlzLmNoYWlufV0gY2hhaW5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { RawDataProviderStateEntityAction } from './rawDataProviderStateEntityAction';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { RawDataProviderStateEntityAction } from './rawDataProviderStateEntityAction';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5QWN0aW9uIH0gZnJvbSAnLi9yYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eUFjdGlvbic7XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
+ import { ObservationEntity } from '@rosen-bridge/abstract-observation-extractor';
3
+ import { DataSource, Repository } from '@rosen-bridge/extended-typeorm';
4
+ import { RawDataProviderStateEntity } from '../entities';
5
+ export declare class RawDataProviderStateEntityAction {
6
+ protected dataSource: DataSource;
7
+ protected logger: AbstractLogger;
8
+ protected readonly repository: Repository<RawDataProviderStateEntity>;
9
+ protected readonly observationRepository: Repository<ObservationEntity>;
10
+ constructor(dataSource: DataSource, logger?: AbstractLogger);
11
+ /**
12
+ * Stores one RawDataProviderStateEntity in the database
13
+ *
14
+ * @param rawDataProviderEntities
15
+ * @returns {RawDataProviderStateEntity} saved instance
16
+ */
17
+ store: (rawDataProviderEntity: RawDataProviderStateEntity) => Promise<RawDataProviderStateEntity>;
18
+ /**
19
+ * Retrieves the RawDataProviderStateEntity of specific chain
20
+ *
21
+ * @param chain
22
+ * @returns {RawDataProviderStateEntity | null} Chain-related state, or null if not found
23
+ */
24
+ fetchByChain: (chain: string) => Promise<RawDataProviderStateEntity | null>;
25
+ /**
26
+ * Retrieves the latest ObservationEntity for the specified chain
27
+ *
28
+ * @param chain
29
+ * @returns {ObservationEntity | null} Latest related observation, or null if not found
30
+ */
31
+ fetchLatestObservationByChain: (chain: string) => Promise<ObservationEntity | null>;
32
+ /**
33
+ * Fetches a batch of ObservationEntity records for the given chain
34
+ *
35
+ * @param chain
36
+ * @param offsetHeight
37
+ * @param length
38
+ * @returns {ObservationEntity[]} Chain-related observations
39
+ */
40
+ fetchChainObservations: (chain: string, offsetHeight: number, extractorId: string, length?: number) => Promise<ObservationEntity[]>;
41
+ }
42
+ //# sourceMappingURL=rawDataProviderStateEntityAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawDataProviderStateEntityAction.d.ts","sourceRoot":"","sources":["../../lib/actions/rawDataProviderStateEntityAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EACL,UAAU,EAEV,UAAU,EACX,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,gCAAgC;IAKzC,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,SAAS,CAAC,MAAM,EAAE,cAAc;IALlC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAG5D,UAAU,EAAE,UAAU,EACtB,MAAM,GAAE,cAAkC;IAMtD;;;;;OAKG;IACH,KAAK,GACH,uBAAuB,0BAA0B,KAChD,OAAO,CAAC,0BAA0B,CAAC,CAMpC;IAEF;;;;;OAKG;IACH,YAAY,GACV,OAAO,MAAM,KACZ,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAE3C;IAEF;;;;;OAKG;IACH,6BAA6B,GAC3B,OAAO,MAAM,KACZ,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAKlC;IAEF;;;;;;;OAOG;IACH,sBAAsB,GACpB,OAAO,MAAM,EACb,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,SAAQ,MAA+B,KACtC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAU7B;CACH"}
@@ -0,0 +1,69 @@
1
+ import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
+ import { ObservationEntity } from '@rosen-bridge/abstract-observation-extractor';
3
+ import { MoreThan, } from '@rosen-bridge/extended-typeorm';
4
+ import { OBSERVATION_BATCH_SIZE } from '../constants';
5
+ import { RawDataProviderStateEntity } from '../entities';
6
+ export class RawDataProviderStateEntityAction {
7
+ dataSource;
8
+ logger;
9
+ repository;
10
+ observationRepository;
11
+ constructor(dataSource, logger = new DummyLogger()) {
12
+ this.dataSource = dataSource;
13
+ this.logger = logger;
14
+ this.repository = dataSource.getRepository(RawDataProviderStateEntity);
15
+ this.observationRepository = dataSource.getRepository(ObservationEntity);
16
+ }
17
+ /**
18
+ * Stores one RawDataProviderStateEntity in the database
19
+ *
20
+ * @param rawDataProviderEntities
21
+ * @returns {RawDataProviderStateEntity} saved instance
22
+ */
23
+ store = async (rawDataProviderEntity) => {
24
+ const state = await this.repository.save(rawDataProviderEntity);
25
+ this.logger.debug(`raw-data for chain state [${JSON.stringify(rawDataProviderEntity)}] stored in database`);
26
+ return state;
27
+ };
28
+ /**
29
+ * Retrieves the RawDataProviderStateEntity of specific chain
30
+ *
31
+ * @param chain
32
+ * @returns {RawDataProviderStateEntity | null} Chain-related state, or null if not found
33
+ */
34
+ fetchByChain = async (chain) => {
35
+ return await this.repository.findOne({ where: { chain: chain } });
36
+ };
37
+ /**
38
+ * Retrieves the latest ObservationEntity for the specified chain
39
+ *
40
+ * @param chain
41
+ * @returns {ObservationEntity | null} Latest related observation, or null if not found
42
+ */
43
+ fetchLatestObservationByChain = async (chain) => {
44
+ return await this.observationRepository.findOne({
45
+ where: { fromChain: chain, rawData: '' },
46
+ order: { height: 'DESC' },
47
+ });
48
+ };
49
+ /**
50
+ * Fetches a batch of ObservationEntity records for the given chain
51
+ *
52
+ * @param chain
53
+ * @param offsetHeight
54
+ * @param length
55
+ * @returns {ObservationEntity[]} Chain-related observations
56
+ */
57
+ fetchChainObservations = async (chain, offsetHeight, extractorId, length = OBSERVATION_BATCH_SIZE) => {
58
+ return await this.observationRepository.find({
59
+ where: {
60
+ fromChain: chain,
61
+ height: MoreThan(offsetHeight),
62
+ extractor: extractorId,
63
+ },
64
+ order: { height: 'ASC' },
65
+ take: length,
66
+ });
67
+ };
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHlBY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9yYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eUFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pGLE9BQU8sRUFFTCxRQUFRLEdBRVQsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpELE1BQU0sT0FBTyxnQ0FBZ0M7SUFLL0I7SUFDQTtJQUxPLFVBQVUsQ0FBeUM7SUFDbkQscUJBQXFCLENBQWdDO0lBRXhFLFlBQ1ksVUFBc0IsRUFDdEIsU0FBeUIsSUFBSSxXQUFXLEVBQUU7UUFEMUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUVwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssR0FBRyxLQUFLLEVBQ1gscUJBQWlELEVBQ1osRUFBRTtRQUN2QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsNkJBQTZCLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsc0JBQXNCLENBQ3pGLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsWUFBWSxHQUFHLEtBQUssRUFDbEIsS0FBYSxFQUMrQixFQUFFO1FBQzlDLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCw2QkFBNkIsR0FBRyxLQUFLLEVBQ25DLEtBQWEsRUFDc0IsRUFBRTtRQUNyQyxPQUFPLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztZQUM5QyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDeEMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7Ozs7OztPQU9HO0lBQ0gsc0JBQXNCLEdBQUcsS0FBSyxFQUM1QixLQUFhLEVBQ2IsWUFBb0IsRUFDcEIsV0FBbUIsRUFDbkIsU0FBaUIsc0JBQXNCLEVBQ1QsRUFBRTtRQUNoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUMzQyxLQUFLLEVBQUU7Z0JBQ0wsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLE1BQU0sRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDO2dCQUM5QixTQUFTLEVBQUUsV0FBVzthQUN2QjtZQUNELEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxFQUFFLE1BQU07U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IE9ic2VydmF0aW9uRW50aXR5IH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1vYnNlcnZhdGlvbi1leHRyYWN0b3InO1xuaW1wb3J0IHtcbiAgRGF0YVNvdXJjZSxcbiAgTW9yZVRoYW4sXG4gIFJlcG9zaXRvcnksXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5cbmltcG9ydCB7IE9CU0VSVkFUSU9OX0JBVENIX1NJWkUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHkgfSBmcm9tICcuLi9lbnRpdGllcyc7XG5cbmV4cG9ydCBjbGFzcyBSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eUFjdGlvbiB7XG4gIHByb3RlY3RlZCByZWFkb25seSByZXBvc2l0b3J5OiBSZXBvc2l0b3J5PFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5PjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9ic2VydmF0aW9uUmVwb3NpdG9yeTogUmVwb3NpdG9yeTxPYnNlcnZhdGlvbkVudGl0eT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgcHJvdGVjdGVkIGxvZ2dlcjogQWJzdHJhY3RMb2dnZXIgPSBuZXcgRHVtbXlMb2dnZXIoKSxcbiAgKSB7XG4gICAgdGhpcy5yZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5KTtcbiAgICB0aGlzLm9ic2VydmF0aW9uUmVwb3NpdG9yeSA9IGRhdGFTb3VyY2UuZ2V0UmVwb3NpdG9yeShPYnNlcnZhdGlvbkVudGl0eSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcmVzIG9uZSBSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eSBpbiB0aGUgZGF0YWJhc2VcbiAgICpcbiAgICogQHBhcmFtIHJhd0RhdGFQcm92aWRlckVudGl0aWVzXG4gICAqIEByZXR1cm5zIHtSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eX0gc2F2ZWQgaW5zdGFuY2VcbiAgICovXG4gIHN0b3JlID0gYXN5bmMgKFxuICAgIHJhd0RhdGFQcm92aWRlckVudGl0eTogUmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHksXG4gICk6IFByb21pc2U8UmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHk+ID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeS5zYXZlKHJhd0RhdGFQcm92aWRlckVudGl0eSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgcmF3LWRhdGEgZm9yIGNoYWluIHN0YXRlIFske0pTT04uc3RyaW5naWZ5KHJhd0RhdGFQcm92aWRlckVudGl0eSl9XSBzdG9yZWQgaW4gZGF0YWJhc2VgLFxuICAgICk7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIFJhd0RhdGFQcm92aWRlclN0YXRlRW50aXR5IG9mIHNwZWNpZmljIGNoYWluXG4gICAqXG4gICAqIEBwYXJhbSBjaGFpblxuICAgKiBAcmV0dXJucyB7UmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHkgfCBudWxsfSBDaGFpbi1yZWxhdGVkIHN0YXRlLCBvciBudWxsIGlmIG5vdCBmb3VuZFxuICAgKi9cbiAgZmV0Y2hCeUNoYWluID0gYXN5bmMgKFxuICAgIGNoYWluOiBzdHJpbmcsXG4gICk6IFByb21pc2U8UmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHkgfCBudWxsPiA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucmVwb3NpdG9yeS5maW5kT25lKHsgd2hlcmU6IHsgY2hhaW46IGNoYWluIH0gfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgbGF0ZXN0IE9ic2VydmF0aW9uRW50aXR5IGZvciB0aGUgc3BlY2lmaWVkIGNoYWluXG4gICAqXG4gICAqIEBwYXJhbSBjaGFpblxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YXRpb25FbnRpdHkgfCBudWxsfSBMYXRlc3QgcmVsYXRlZCBvYnNlcnZhdGlvbiwgb3IgbnVsbCBpZiBub3QgZm91bmRcbiAgICovXG4gIGZldGNoTGF0ZXN0T2JzZXJ2YXRpb25CeUNoYWluID0gYXN5bmMgKFxuICAgIGNoYWluOiBzdHJpbmcsXG4gICk6IFByb21pc2U8T2JzZXJ2YXRpb25FbnRpdHkgfCBudWxsPiA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMub2JzZXJ2YXRpb25SZXBvc2l0b3J5LmZpbmRPbmUoe1xuICAgICAgd2hlcmU6IHsgZnJvbUNoYWluOiBjaGFpbiwgcmF3RGF0YTogJycgfSxcbiAgICAgIG9yZGVyOiB7IGhlaWdodDogJ0RFU0MnIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgYSBiYXRjaCBvZiBPYnNlcnZhdGlvbkVudGl0eSByZWNvcmRzIGZvciB0aGUgZ2l2ZW4gY2hhaW5cbiAgICpcbiAgICogQHBhcmFtIGNoYWluXG4gICAqIEBwYXJhbSBvZmZzZXRIZWlnaHRcbiAgICogQHBhcmFtIGxlbmd0aFxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YXRpb25FbnRpdHlbXX0gQ2hhaW4tcmVsYXRlZCBvYnNlcnZhdGlvbnNcbiAgICovXG4gIGZldGNoQ2hhaW5PYnNlcnZhdGlvbnMgPSBhc3luYyAoXG4gICAgY2hhaW46IHN0cmluZyxcbiAgICBvZmZzZXRIZWlnaHQ6IG51bWJlcixcbiAgICBleHRyYWN0b3JJZDogc3RyaW5nLFxuICAgIGxlbmd0aDogbnVtYmVyID0gT0JTRVJWQVRJT05fQkFUQ0hfU0laRSxcbiAgKTogUHJvbWlzZTxPYnNlcnZhdGlvbkVudGl0eVtdPiA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMub2JzZXJ2YXRpb25SZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgd2hlcmU6IHtcbiAgICAgICAgZnJvbUNoYWluOiBjaGFpbixcbiAgICAgICAgaGVpZ2h0OiBNb3JlVGhhbihvZmZzZXRIZWlnaHQpLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcklkLFxuICAgICAgfSxcbiAgICAgIG9yZGVyOiB7IGhlaWdodDogJ0FTQycgfSxcbiAgICAgIHRha2U6IGxlbmd0aCxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export declare const OBSERVATION_BATCH_SIZE = 10;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const OBSERVATION_BATCH_SIZE = 10;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgT0JTRVJWQVRJT05fQkFUQ0hfU0laRSA9IDEwO1xuIl19
@@ -0,0 +1,2 @@
1
+ export { RawDataProviderStateEntity } from './rawDataProviderStateEntity';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { RawDataProviderStateEntity } from './rawDataProviderStateEntity';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZW50aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eSB9IGZyb20gJy4vcmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHknO1xuIl19
@@ -0,0 +1,6 @@
1
+ export declare class RawDataProviderStateEntity {
2
+ chain: string;
3
+ lastHeight: number;
4
+ syncedHeight: number;
5
+ }
6
+ //# sourceMappingURL=rawDataProviderStateEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawDataProviderStateEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/rawDataProviderStateEntity.ts"],"names":[],"mappings":"AAEA,qBACa,0BAA0B;IAErC,KAAK,EAAE,MAAM,CAAC;IAGd,UAAU,EAAE,MAAM,CAAC;IAGnB,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,32 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Entity, Column, PrimaryColumn } from '@rosen-bridge/extended-typeorm';
11
+ let RawDataProviderStateEntity = class RawDataProviderStateEntity {
12
+ chain;
13
+ lastHeight;
14
+ syncedHeight;
15
+ };
16
+ __decorate([
17
+ PrimaryColumn({ type: 'varchar' }),
18
+ __metadata("design:type", String)
19
+ ], RawDataProviderStateEntity.prototype, "chain", void 0);
20
+ __decorate([
21
+ Column({ type: 'integer' }),
22
+ __metadata("design:type", Number)
23
+ ], RawDataProviderStateEntity.prototype, "lastHeight", void 0);
24
+ __decorate([
25
+ Column({ type: 'integer' }),
26
+ __metadata("design:type", Number)
27
+ ], RawDataProviderStateEntity.prototype, "syncedHeight", void 0);
28
+ RawDataProviderStateEntity = __decorate([
29
+ Entity('raw_data_provider_state_entity')
30
+ ], RawDataProviderStateEntity);
31
+ export { RawDataProviderStateEntity };
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZW50aXRpZXMvcmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHeEUsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFFckMsS0FBSyxDQUFTO0lBR2QsVUFBVSxDQUFTO0lBR25CLFlBQVksQ0FBUztDQUN0QixDQUFBO0FBUEM7SUFEQyxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7O3lEQUNyQjtBQUdkO0lBREMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDOzs4REFDVDtBQUduQjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7Z0VBQ1A7QUFSViwwQkFBMEI7SUFEdEMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDO0dBQzVCLDBCQUEwQixDQVN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eSwgQ29sdW1uLCBQcmltYXJ5Q29sdW1uIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcblxuQEVudGl0eSgncmF3X2RhdGFfcHJvdmlkZXJfc3RhdGVfZW50aXR5JylcbmV4cG9ydCBjbGFzcyBSYXdEYXRhUHJvdmlkZXJTdGF0ZUVudGl0eSB7XG4gIEBQcmltYXJ5Q29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIGNoYWluOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICdpbnRlZ2VyJyB9KVxuICBsYXN0SGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6ICdpbnRlZ2VyJyB9KVxuICBzeW5jZWRIZWlnaHQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export { AbstractRawDataProvider } from './abstractRawDataProvider';
2
+ export { RawDataProviderStateEntity } from './entities';
3
+ export { migrations } from './migrations';
4
+ export * from './providers';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,cAAc,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export { AbstractRawDataProvider } from './abstractRawDataProvider';
2
+ export { RawDataProviderStateEntity } from './entities';
3
+ export { migrations } from './migrations';
4
+ export * from './providers';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBYnN0cmFjdFJhd0RhdGFQcm92aWRlciB9IGZyb20gJy4vYWJzdHJhY3RSYXdEYXRhUHJvdmlkZXInO1xuZXhwb3J0IHsgUmF3RGF0YVByb3ZpZGVyU3RhdGVFbnRpdHkgfSBmcm9tICcuL2VudGl0aWVzJztcbmV4cG9ydCB7IG1pZ3JhdGlvbnMgfSBmcm9tICcuL21pZ3JhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
@@ -0,0 +1,7 @@
1
+ import { Migration1762178180934 } from './postgres';
2
+ import { Migration1762178166781 } from './sqlite';
3
+ export declare const migrations: {
4
+ postgres: (typeof Migration1762178180934)[];
5
+ sqlite: (typeof Migration1762178166781)[];
6
+ };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,UAAU;;;CAGtB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Migration1762178180934 } from './postgres';
2
+ import { Migration1762178166781 } from './sqlite';
3
+ export const migrations = {
4
+ postgres: [Migration1762178180934],
5
+ sqlite: [Migration1762178166781],
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWlncmF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixRQUFRLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztJQUNsQyxNQUFNLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztDQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWlncmF0aW9uMTc2MjE3ODE4MDkzNCB9IGZyb20gJy4vcG9zdGdyZXMnO1xuaW1wb3J0IHsgTWlncmF0aW9uMTc2MjE3ODE2Njc4MSB9IGZyb20gJy4vc3FsaXRlJztcblxuZXhwb3J0IGNvbnN0IG1pZ3JhdGlvbnMgPSB7XG4gIHBvc3RncmVzOiBbTWlncmF0aW9uMTc2MjE3ODE4MDkzNF0sXG4gIHNxbGl0ZTogW01pZ3JhdGlvbjE3NjIxNzgxNjY3ODFdLFxufTtcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { MigrationInterface, QueryRunner } from '@rosen-bridge/extended-typeorm';
2
+ export declare class Migration1762178180934 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=1762178180934-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1762178180934-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/postgres/1762178180934-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACZ,MAAM,gCAAgC,CAAC;AAExC,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -0,0 +1,18 @@
1
+ export class Migration1762178180934 {
2
+ name = 'Migration1762178180934';
3
+ async up(queryRunner) {
4
+ await queryRunner.query(`
5
+ CREATE TABLE "raw_data_provider_state_entity" (
6
+ "chain" varchar PRIMARY KEY NOT NULL,
7
+ "lastHeight" integer NOT NULL,
8
+ "syncedHeight" integer NOT NULL
9
+ )
10
+ `);
11
+ }
12
+ async down(queryRunner) {
13
+ await queryRunner.query(`
14
+ DROP TABLE "raw_data_provider_state_entity"
15
+ `);
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTc2MjE3ODE4MDkzNC1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9wb3N0Z3Jlcy8xNzYyMTc4MTgwOTM0LW1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUV6QixLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO1FBQ3RDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7O1NBTW5CLENBQUMsQ0FBQztJQUNULENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ3hDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7U0FFbkIsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTWlncmF0aW9uSW50ZXJmYWNlLFxuICBRdWVyeVJ1bm5lcixcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcblxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvbjE3NjIxNzgxODA5MzQgaW1wbGVtZW50cyBNaWdyYXRpb25JbnRlcmZhY2Uge1xuICBuYW1lID0gJ01pZ3JhdGlvbjE3NjIxNzgxODA5MzQnO1xuXG4gIHB1YmxpYyBhc3luYyB1cChxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBDUkVBVEUgVEFCTEUgXCJyYXdfZGF0YV9wcm92aWRlcl9zdGF0ZV9lbnRpdHlcIiAoXG4gICAgICAgICAgICAgICAgXCJjaGFpblwiIHZhcmNoYXIgUFJJTUFSWSBLRVkgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJsYXN0SGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInN5bmNlZEhlaWdodFwiIGludGVnZXIgTk9UIE5VTExcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBEUk9QIFRBQkxFIFwicmF3X2RhdGFfcHJvdmlkZXJfc3RhdGVfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { Migration1762178180934 } from './1762178180934-migration';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/migrations/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Migration1762178180934 } from './1762178180934-migration';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9wb3N0Z3Jlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE1pZ3JhdGlvbjE3NjIxNzgxODA5MzQgfSBmcm9tICcuLzE3NjIxNzgxODA5MzQtbWlncmF0aW9uJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { MigrationInterface, QueryRunner } from '@rosen-bridge/extended-typeorm';
2
+ export declare class Migration1762178166781 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=1762178166781-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1762178166781-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/sqlite/1762178166781-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACZ,MAAM,gCAAgC,CAAC;AAExC,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -0,0 +1,18 @@
1
+ export class Migration1762178166781 {
2
+ name = 'Migration1762178166781';
3
+ async up(queryRunner) {
4
+ await queryRunner.query(`
5
+ CREATE TABLE "raw_data_provider_state_entity" (
6
+ "chain" varchar PRIMARY KEY NOT NULL,
7
+ "lastHeight" integer NOT NULL,
8
+ "syncedHeight" integer NOT NULL
9
+ )
10
+ `);
11
+ }
12
+ async down(queryRunner) {
13
+ await queryRunner.query(`
14
+ DROP TABLE "raw_data_provider_state_entity"
15
+ `);
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTc2MjE3ODE2Njc4MS1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9zcWxpdGUvMTc2MjE3ODE2Njc4MS1taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxJQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFekIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUF3QjtRQUN0QyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7OztTQU1uQixDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF3QjtRQUN4QyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7O1NBRW5CLENBQUMsQ0FBQztJQUNULENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1pZ3JhdGlvbkludGVyZmFjZSxcbiAgUXVlcnlSdW5uZXIsXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5cbmV4cG9ydCBjbGFzcyBNaWdyYXRpb24xNzYyMTc4MTY2NzgxIGltcGxlbWVudHMgTWlncmF0aW9uSW50ZXJmYWNlIHtcbiAgbmFtZSA9ICdNaWdyYXRpb24xNzYyMTc4MTY2NzgxJztcblxuICBwdWJsaWMgYXN5bmMgdXAocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQ1JFQVRFIFRBQkxFIFwicmF3X2RhdGFfcHJvdmlkZXJfc3RhdGVfZW50aXR5XCIgKFxuICAgICAgICAgICAgICAgIFwiY2hhaW5cIiB2YXJjaGFyIFBSSU1BUlkgS0VZIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwibGFzdEhlaWdodFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzeW5jZWRIZWlnaHRcIiBpbnRlZ2VyIE5PVCBOVUxMXG4gICAgICAgICAgICApXG4gICAgICAgIGApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvd24ocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgRFJPUCBUQUJMRSBcInJhd19kYXRhX3Byb3ZpZGVyX3N0YXRlX2VudGl0eVwiXG4gICAgICAgIGApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { Migration1762178166781 } from './1762178166781-migration';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/migrations/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Migration1762178166781 } from './1762178166781-migration';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9zcWxpdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNaWdyYXRpb24xNzYyMTc4MTY2NzgxIH0gZnJvbSAnLi8xNzYyMTc4MTY2NzgxLW1pZ3JhdGlvbic7XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
+ import { ObservationEntity } from '@rosen-bridge/abstract-observation-extractor';
3
+ import { BitcoinEsploraObservationExtractor } from '@rosen-bridge/bitcoin-observation-extractor';
4
+ import { BitcoinRunesEsploraObservationExtractor } from '@rosen-bridge/bitcoin-runes-observation-extractor';
5
+ import { BitcoinEsploraTransaction } from '@rosen-bridge/bitcoin-scanner';
6
+ import { DataSource } from '@rosen-bridge/extended-typeorm';
7
+ import { AbstractRawDataProvider } from '../../abstractRawDataProvider';
8
+ import { EsploraConnectionInfoInterface } from '../../types';
9
+ export declare class BitcoinEsploraRawDataProvider extends AbstractRawDataProvider<BitcoinEsploraTransaction> {
10
+ protected dataSource: DataSource;
11
+ protected extractor: BitcoinEsploraObservationExtractor | BitcoinRunesEsploraObservationExtractor;
12
+ protected esploraConnectionInfo: EsploraConnectionInfoInterface;
13
+ protected logger: AbstractLogger;
14
+ ESPLORA_BLOCK_TXS_LIMIT: number;
15
+ protected client: import("@rosen-clients/rate-limited-axios").Axios;
16
+ constructor(dataSource: DataSource, extractor: BitcoinEsploraObservationExtractor | BitcoinRunesEsploraObservationExtractor, esploraConnectionInfo: EsploraConnectionInfoInterface, logger: AbstractLogger);
17
+ /**
18
+ * fetch bitcoin transactions related to the input observation parameter
19
+ *
20
+ * @param observation
21
+ * @returns { Promise<BitcoinEsploraTransaction[]> }
22
+ */
23
+ protected fetchObservationTxs: (observation: ObservationEntity) => Promise<BitcoinEsploraTransaction[] | undefined>;
24
+ }
25
+ //# sourceMappingURL=bitcoinEsploraRawDataProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoinEsploraRawDataProvider.d.ts","sourceRoot":"","sources":["../../../lib/providers/bitcoin/bitcoinEsploraRawDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACjG,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAC5G,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAE7D,qBAAa,6BAA8B,SAAQ,uBAAuB,CAAC,yBAAyB,CAAC;IAMjG,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,SAAS,CAAC,SAAS,EACf,kCAAkC,GAClC,uCAAuC;IAC3C,SAAS,CAAC,qBAAqB,EAAE,8BAA8B;IAC/D,SAAS,CAAC,MAAM,EAAE,cAAc;IAVlC,uBAAuB,SAAM;IAE7B,SAAS,CAAC,MAAM,oDAAC;gBAGL,UAAU,EAAE,UAAU,EACtB,SAAS,EACf,kCAAkC,GAClC,uCAAuC,EACjC,qBAAqB,EAAE,8BAA8B,EACrD,MAAM,EAAE,cAAc;IAclC;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,GAC3B,aAAa,iBAAiB,KAC7B,OAAO,CAAC,yBAAyB,EAAE,GAAG,SAAS,CAAC,CA6BjD;CACH"}