@rosen-bridge/cardano-observation-extractor 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @rosen-bridge/cardano-observation-extractor
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - The observation extractor have been updated to follow the format defined in `abstract-observation-extractor`
8
+ - Update rosen-extractor version to the 10.1.0
9
+
10
+ ### Patch Changes
11
+
12
+ - Fix package-lock and move typescript and types/node into root
13
+ - Update eslint and plugins:
14
+ - Apply new rules such as sort imports and file name
15
+ - Update dependencies
16
+ - @rosen-bridge/extended-typeorm@1.0.1
17
+ - @rosen-clients/rate-limited-axios@1.1.0
18
+ - @rosen-bridge/rosen-extractor@10.1.1
19
+ - @rosen-bridge/tokens@4.0.1
20
+ - @rosen-bridge/abstract-logger@3.0.1
21
+ - @rosen-bridge/json-bigint@1.1.0
22
+ - @rosen-clients/ergo-explorer@2.1.0
23
+ - @rosen-clients/ergo-node@3.1.0
24
+ - @rosen-bridge/abstract-observation-extractor@0.2.0
25
+
26
+ ## 0.1.2
27
+
28
+ ### Patch Changes
29
+
30
+ - Update dependencies
31
+ - @rosen-bridge/abstract-observation-extractor@0.1.2
32
+ - @rosen-bridge/abstract-extractor@2.1.1
33
+ - @rosen-bridge/extended-typeorm@1.0.0
34
+ - @rosen-bridge/tokens@4.0.0
35
+ - @rosen-bridge/rosen-extractor@10.0.0
36
+ - @rosen-bridge/abstract-logger@3.0.0
37
+
3
38
  ## 0.1.1
4
39
 
5
40
  ### Patch Changes
@@ -1,40 +1,23 @@
1
- import { DataSource } from '@rosen-bridge/extended-typeorm';
1
+ import { components } from '@blockfrost/openapi';
2
2
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
3
+ import { AbstractObservationExtractor } from '@rosen-bridge/abstract-observation-extractor';
4
+ import { DataSource } from '@rosen-bridge/extended-typeorm';
3
5
  import { TokenMap } from '@rosen-bridge/tokens';
4
- import { components } from '@blockfrost/openapi';
5
- import { Block } from '@rosen-bridge/scanner-interfaces';
6
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
7
6
  interface BlockFrostTransaction {
8
7
  utxos: components['schemas']['tx_content_utxo'];
9
8
  metadata: components['schemas']['tx_content_metadata'];
10
9
  }
11
- export declare class CardanoBlockFrostObservationExtractor extends AbstractExtractor<BlockFrostTransaction> {
12
- readonly logger: AbstractLogger;
13
- private readonly actions;
14
- private readonly extractor;
15
- static readonly FROM_CHAIN: string;
16
- constructor(dataSource: DataSource, tokens: TokenMap, address: string, logger?: AbstractLogger);
10
+ export declare class CardanoBlockFrostObservationExtractor extends AbstractObservationExtractor<BlockFrostTransaction> {
11
+ readonly FROM_CHAIN: string;
12
+ constructor(lockAddress: string, dataSource: DataSource, tokens: TokenMap, logger?: AbstractLogger);
17
13
  /**
18
14
  * get Id for current extractor
19
15
  */
20
16
  getId: () => string;
21
17
  /**
22
- * gets block id and transactions corresponding to the block and saves if they are valid rosen
23
- * transactions and in case of success return true and in case of failure returns false
24
- * @param block
25
- * @param txs
26
- */
27
- processTransactions: (txs: Array<BlockFrostTransaction>, block: Block) => Promise<boolean>;
28
- /**
29
- * fork one block and remove all stored information for this block
30
- * @param hash: block hash
31
- */
32
- forkBlock: (hash: string) => Promise<void>;
33
- /**
34
- * Extractor box initialization
35
- * No action needed in cardano extractors
18
+ * gets transaction id from TransactionType
36
19
  */
37
- initializeBoxes: () => Promise<void>;
20
+ getTxId: (tx: BlockFrostTransaction) => string;
38
21
  }
39
22
  export {};
40
23
  //# sourceMappingURL=blockfrost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blockfrost.d.ts","sourceRoot":"","sources":["../../lib/extractor/blockfrost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAMrE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAChD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;CACxD;AAED,qBAAa,qCAAsC,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IACjG,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAa;gBAG7C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc;IAYzB;;OAEG;IACH,KAAK,eAAwC;IAE7C;;;;;OAKG;IACH,mBAAmB,GACjB,KAAK,KAAK,CAAC,qBAAqB,CAAC,EACjC,OAAO,KAAK,KACX,OAAO,CAAC,OAAO,CAAC,CAyCjB;IAEF;;;OAGG;IACH,SAAS,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAE7C;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH"}
1
+ {"version":3,"file":"blockfrost.d.ts","sourceRoot":"","sources":["../../lib/extractor/blockfrost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAChD,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;CACxD;AAED,qBAAa,qCAAsC,SAAQ,4BAA4B,CAAC,qBAAqB,CAAC;IAC5G,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAa;gBAGtC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,cAAc;IAUzB;;OAEG;IACH,KAAK,eAAwC;IAE7C;;OAEG;IACH,OAAO,GAAI,IAAI,qBAAqB,YAAmB;CACxD"}
@@ -1,82 +1,17 @@
1
- import { Buffer } from 'buffer';
2
- import { blake2b } from 'blakejs';
3
- import { DummyLogger } from '@rosen-bridge/abstract-logger';
1
+ import { AbstractObservationExtractor } from '@rosen-bridge/abstract-observation-extractor';
4
2
  import { CardanoBlockFrostRosenExtractor } from '@rosen-bridge/rosen-extractor';
5
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
6
- import { ObservationEntityAction, } from '@rosen-bridge/abstract-observation-extractor';
7
- export class CardanoBlockFrostObservationExtractor extends AbstractExtractor {
8
- logger;
9
- actions;
10
- extractor;
11
- static FROM_CHAIN = 'cardano';
12
- constructor(dataSource, tokens, address, logger) {
13
- super();
14
- this.logger = logger ? logger : new DummyLogger();
15
- this.actions = new ObservationEntityAction(dataSource, this.logger);
16
- this.extractor = new CardanoBlockFrostRosenExtractor(address, tokens, this.logger);
3
+ export class CardanoBlockFrostObservationExtractor extends AbstractObservationExtractor {
4
+ FROM_CHAIN = 'cardano';
5
+ constructor(lockAddress, dataSource, tokens, logger) {
6
+ super(dataSource, tokens, new CardanoBlockFrostRosenExtractor(lockAddress, tokens, logger), logger);
17
7
  }
18
8
  /**
19
9
  * get Id for current extractor
20
10
  */
21
11
  getId = () => 'cardano-blockfrost-extractor';
22
12
  /**
23
- * gets block id and transactions corresponding to the block and saves if they are valid rosen
24
- * transactions and in case of success return true and in case of failure returns false
25
- * @param block
26
- * @param txs
13
+ * gets transaction id from TransactionType
27
14
  */
28
- processTransactions = (txs, block) => {
29
- return new Promise((resolve, reject) => {
30
- try {
31
- const observations = [];
32
- txs.forEach((transaction) => {
33
- const data = this.extractor.get(transaction);
34
- if (data) {
35
- const requestId = Buffer.from(blake2b(transaction.utxos.hash, undefined, 32)).toString('hex');
36
- observations.push({
37
- fromChain: CardanoBlockFrostObservationExtractor.FROM_CHAIN,
38
- toChain: data.toChain,
39
- amount: data.amount,
40
- sourceChainTokenId: data.sourceChainTokenId,
41
- targetChainTokenId: data.targetChainTokenId,
42
- sourceTxId: data.sourceTxId,
43
- bridgeFee: data.bridgeFee,
44
- networkFee: data.networkFee,
45
- sourceBlockId: block.hash,
46
- requestId: requestId,
47
- toAddress: data.toAddress,
48
- fromAddress: data.fromAddress,
49
- });
50
- }
51
- });
52
- this.actions
53
- .storeObservations(observations, block, this.getId())
54
- .then((status) => {
55
- resolve(status);
56
- })
57
- .catch((e) => {
58
- this.logger.error(`An error occurred during store observations: ${e}`);
59
- reject(e);
60
- });
61
- }
62
- catch (e) {
63
- reject(e);
64
- }
65
- });
66
- };
67
- /**
68
- * fork one block and remove all stored information for this block
69
- * @param hash: block hash
70
- */
71
- forkBlock = async (hash) => {
72
- await this.actions.deleteBlockObservation(hash, this.getId());
73
- };
74
- /**
75
- * Extractor box initialization
76
- * No action needed in cardano extractors
77
- */
78
- initializeBoxes = async () => {
79
- return;
80
- };
15
+ getTxId = (tx) => tx.utxos.hash;
81
16
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tmcm9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9leHRyYWN0b3IvYmxvY2tmcm9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsdUJBQXVCLEdBRXhCLE1BQU0sOENBQThDLENBQUM7QUFPdEQsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLGlCQUF3QztJQUN4RixNQUFNLENBQWlCO0lBQ2YsT0FBTyxDQUEwQjtJQUNqQyxTQUFTLENBQWtDO0lBQzVELE1BQU0sQ0FBVSxVQUFVLEdBQVcsU0FBUyxDQUFDO0lBRS9DLFlBQ0UsVUFBc0IsRUFDdEIsTUFBZ0IsRUFDaEIsT0FBZSxFQUNmLE1BQXVCO1FBRXZCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksdUJBQXVCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksK0JBQStCLENBQ2xELE9BQU8sRUFDUCxNQUFNLEVBQ04sSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO0lBRTdDOzs7OztPQUtHO0lBQ0gsbUJBQW1CLEdBQUcsQ0FDcEIsR0FBaUMsRUFDakMsS0FBWSxFQUNNLEVBQUU7UUFDcEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxZQUFZLEdBQWdDLEVBQUUsQ0FBQztnQkFDckQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUMxQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDVCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUMzQixPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUMvQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDbEIsWUFBWSxDQUFDLElBQUksQ0FBQzs0QkFDaEIsU0FBUyxFQUFFLHFDQUFxQyxDQUFDLFVBQVU7NEJBQzNELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzs0QkFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNOzRCQUNuQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCOzRCQUMzQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCOzRCQUMzQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7NEJBQzNCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzs0QkFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVOzRCQUMzQixhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUk7NEJBQ3pCLFNBQVMsRUFBRSxTQUFTOzRCQUNwQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7NEJBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzt5QkFDOUIsQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLE9BQU87cUJBQ1QsaUJBQWlCLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ3BELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGdEQUFnRCxDQUFDLEVBQUUsQ0FDcEQsQ0FBQztvQkFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBaUIsRUFBRTtRQUNoRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuaW1wb3J0IHsgYmxha2UyYiB9IGZyb20gJ2JsYWtlanMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgVG9rZW5NYXAgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Rva2Vucyc7XG5pbXBvcnQgeyBDYXJkYW5vQmxvY2tGcm9zdFJvc2VuRXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9yb3Nlbi1leHRyYWN0b3InO1xuaW1wb3J0IHsgY29tcG9uZW50cyB9IGZyb20gJ0BibG9ja2Zyb3N0L29wZW5hcGknO1xuaW1wb3J0IHsgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcbmltcG9ydCB7XG4gIE9ic2VydmF0aW9uRW50aXR5QWN0aW9uLFxuICBFeHRyYWN0ZWRPYnNlcnZhdGlvbixcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1vYnNlcnZhdGlvbi1leHRyYWN0b3InO1xuXG5pbnRlcmZhY2UgQmxvY2tGcm9zdFRyYW5zYWN0aW9uIHtcbiAgdXR4b3M6IGNvbXBvbmVudHNbJ3NjaGVtYXMnXVsndHhfY29udGVudF91dHhvJ107XG4gIG1ldGFkYXRhOiBjb21wb25lbnRzWydzY2hlbWFzJ11bJ3R4X2NvbnRlbnRfbWV0YWRhdGEnXTtcbn1cblxuZXhwb3J0IGNsYXNzIENhcmRhbm9CbG9ja0Zyb3N0T2JzZXJ2YXRpb25FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEV4dHJhY3RvcjxCbG9ja0Zyb3N0VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zOiBPYnNlcnZhdGlvbkVudGl0eUFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBleHRyYWN0b3I6IENhcmRhbm9CbG9ja0Zyb3N0Um9zZW5FeHRyYWN0b3I7XG4gIHN0YXRpYyByZWFkb25seSBGUk9NX0NIQUlOOiBzdHJpbmcgPSAnY2FyZGFubyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICB0b2tlbnM6IFRva2VuTWFwLFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICAgIHRoaXMuYWN0aW9ucyA9IG5ldyBPYnNlcnZhdGlvbkVudGl0eUFjdGlvbihkYXRhU291cmNlLCB0aGlzLmxvZ2dlcik7XG4gICAgdGhpcy5leHRyYWN0b3IgPSBuZXcgQ2FyZGFub0Jsb2NrRnJvc3RSb3NlbkV4dHJhY3RvcihcbiAgICAgIGFkZHJlc3MsXG4gICAgICB0b2tlbnMsXG4gICAgICB0aGlzLmxvZ2dlcixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBJZCBmb3IgY3VycmVudCBleHRyYWN0b3JcbiAgICovXG4gIGdldElkID0gKCkgPT4gJ2NhcmRhbm8tYmxvY2tmcm9zdC1leHRyYWN0b3InO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTxCbG9ja0Zyb3N0VHJhbnNhY3Rpb24+LFxuICAgIGJsb2NrOiBCbG9jayxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG9ic2VydmF0aW9uczogQXJyYXk8RXh0cmFjdGVkT2JzZXJ2YXRpb24+ID0gW107XG4gICAgICAgIHR4cy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmV4dHJhY3Rvci5nZXQodHJhbnNhY3Rpb24pO1xuICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0SWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgYmxha2UyYih0cmFuc2FjdGlvbi51dHhvcy5oYXNoLCB1bmRlZmluZWQsIDMyKSxcbiAgICAgICAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICAgICAgb2JzZXJ2YXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICBmcm9tQ2hhaW46IENhcmRhbm9CbG9ja0Zyb3N0T2JzZXJ2YXRpb25FeHRyYWN0b3IuRlJPTV9DSEFJTixcbiAgICAgICAgICAgICAgdG9DaGFpbjogZGF0YS50b0NoYWluLFxuICAgICAgICAgICAgICBhbW91bnQ6IGRhdGEuYW1vdW50LFxuICAgICAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IGRhdGEuc291cmNlQ2hhaW5Ub2tlbklkLFxuICAgICAgICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IGRhdGEudGFyZ2V0Q2hhaW5Ub2tlbklkLFxuICAgICAgICAgICAgICBzb3VyY2VUeElkOiBkYXRhLnNvdXJjZVR4SWQsXG4gICAgICAgICAgICAgIGJyaWRnZUZlZTogZGF0YS5icmlkZ2VGZWUsXG4gICAgICAgICAgICAgIG5ldHdvcmtGZWU6IGRhdGEubmV0d29ya0ZlZSxcbiAgICAgICAgICAgICAgc291cmNlQmxvY2tJZDogYmxvY2suaGFzaCxcbiAgICAgICAgICAgICAgcmVxdWVzdElkOiByZXF1ZXN0SWQsXG4gICAgICAgICAgICAgIHRvQWRkcmVzczogZGF0YS50b0FkZHJlc3MsXG4gICAgICAgICAgICAgIGZyb21BZGRyZXNzOiBkYXRhLmZyb21BZGRyZXNzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3Rpb25zXG4gICAgICAgICAgLnN0b3JlT2JzZXJ2YXRpb25zKG9ic2VydmF0aW9ucywgYmxvY2ssIHRoaXMuZ2V0SWQoKSlcbiAgICAgICAgICAudGhlbigoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHN0YXR1cyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIG9ic2VydmF0aW9uczogJHtlfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGZvcmsgb25lIGJsb2NrIGFuZCByZW1vdmUgYWxsIHN0b3JlZCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBibG9ja1xuICAgKiBAcGFyYW0gaGFzaDogYmxvY2sgaGFzaFxuICAgKi9cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9ja09ic2VydmF0aW9uKGhhc2gsIHRoaXMuZ2V0SWQoKSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RvciBib3ggaW5pdGlhbGl6YXRpb25cbiAgICogTm8gYWN0aW9uIG5lZWRlZCBpbiBjYXJkYW5vIGV4dHJhY3RvcnNcbiAgICovXG4gIGluaXRpYWxpemVCb3hlcyA9IGFzeW5jICgpID0+IHtcbiAgICByZXR1cm47XG4gIH07XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tmcm9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9leHRyYWN0b3IvYmxvY2tmcm9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUU1RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVFoRixNQUFNLE9BQU8scUNBQXNDLFNBQVEsNEJBQW1EO0lBQ25HLFVBQVUsR0FBVyxTQUFTLENBQUM7SUFFeEMsWUFDRSxXQUFtQixFQUNuQixVQUFzQixFQUN0QixNQUFnQixFQUNoQixNQUF1QjtRQUV2QixLQUFLLENBQ0gsVUFBVSxFQUNWLE1BQU0sRUFDTixJQUFJLCtCQUErQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQ2hFLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO0lBRTdDOztPQUVHO0lBQ0gsT0FBTyxHQUFHLENBQUMsRUFBeUIsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Q0FDeEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wb25lbnRzIH0gZnJvbSAnQGJsb2NrZnJvc3Qvb3BlbmFwaSc7XG5cbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RPYnNlcnZhdGlvbkV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3Qtb2JzZXJ2YXRpb24tZXh0cmFjdG9yJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQ2FyZGFub0Jsb2NrRnJvc3RSb3NlbkV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvcm9zZW4tZXh0cmFjdG9yJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuXG5pbnRlcmZhY2UgQmxvY2tGcm9zdFRyYW5zYWN0aW9uIHtcbiAgdXR4b3M6IGNvbXBvbmVudHNbJ3NjaGVtYXMnXVsndHhfY29udGVudF91dHhvJ107XG4gIG1ldGFkYXRhOiBjb21wb25lbnRzWydzY2hlbWFzJ11bJ3R4X2NvbnRlbnRfbWV0YWRhdGEnXTtcbn1cblxuZXhwb3J0IGNsYXNzIENhcmRhbm9CbG9ja0Zyb3N0T2JzZXJ2YXRpb25FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdE9ic2VydmF0aW9uRXh0cmFjdG9yPEJsb2NrRnJvc3RUcmFuc2FjdGlvbj4ge1xuICByZWFkb25seSBGUk9NX0NIQUlOOiBzdHJpbmcgPSAnY2FyZGFubyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9ja0FkZHJlc3M6IHN0cmluZyxcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIHRva2VuczogVG9rZW5NYXAsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgZGF0YVNvdXJjZSxcbiAgICAgIHRva2VucyxcbiAgICAgIG5ldyBDYXJkYW5vQmxvY2tGcm9zdFJvc2VuRXh0cmFjdG9yKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlciksXG4gICAgICBsb2dnZXIsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+ICdjYXJkYW5vLWJsb2NrZnJvc3QtZXh0cmFjdG9yJztcblxuICAvKipcbiAgICogZ2V0cyB0cmFuc2FjdGlvbiBpZCBmcm9tIFRyYW5zYWN0aW9uVHlwZVxuICAgKi9cbiAgZ2V0VHhJZCA9ICh0eDogQmxvY2tGcm9zdFRyYW5zYWN0aW9uKSA9PiB0eC51dHhvcy5oYXNoO1xufVxuIl19
@@ -1,35 +1,18 @@
1
- import { DataSource } from '@rosen-bridge/extended-typeorm';
2
1
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
+ import { AbstractObservationExtractor } from '@rosen-bridge/abstract-observation-extractor';
3
+ import { DataSource } from '@rosen-bridge/extended-typeorm';
3
4
  import { TokenMap } from '@rosen-bridge/tokens';
4
- import { Block } from '@rosen-bridge/scanner-interfaces';
5
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
6
5
  import { KoiosTransaction } from '../interfaces/koiosTransaction';
7
- export declare class CardanoKoiosObservationExtractor extends AbstractExtractor<KoiosTransaction> {
8
- readonly logger: AbstractLogger;
9
- private readonly actions;
10
- private readonly extractor;
11
- static readonly FROM_CHAIN: string;
12
- constructor(dataSource: DataSource, tokens: TokenMap, address: string, logger?: AbstractLogger);
6
+ export declare class CardanoKoiosObservationExtractor extends AbstractObservationExtractor<KoiosTransaction> {
7
+ readonly FROM_CHAIN: string;
8
+ constructor(lockAddress: string, dataSource: DataSource, tokens: TokenMap, logger?: AbstractLogger);
13
9
  /**
14
10
  * get Id for current extractor
15
11
  */
16
12
  getId: () => string;
17
13
  /**
18
- * gets block id and transactions corresponding to the block and saves if they are valid rosen
19
- * transactions and in case of success return true and in case of failure returns false
20
- * @param block
21
- * @param txs
22
- */
23
- processTransactions: (txs: Array<KoiosTransaction>, block: Block) => Promise<boolean>;
24
- /**
25
- * fork one block and remove all stored information for this block
26
- * @param hash: block hash
27
- */
28
- forkBlock: (hash: string) => Promise<void>;
29
- /**
30
- * Extractor box initialization
31
- * No action needed in cardano extractors
14
+ * gets transaction id from TransactionType
32
15
  */
33
- initializeBoxes: () => Promise<void>;
16
+ getTxId: (tx: KoiosTransaction) => string;
34
17
  }
35
18
  //# sourceMappingURL=koios.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"koios.d.ts","sourceRoot":"","sources":["../../lib/extractor/koios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAKrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,qBAAa,gCAAiC,SAAQ,iBAAiB,CAAC,gBAAgB,CAAC;IACvF,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAa;gBAG7C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc;IAYzB;;OAEG;IACH,KAAK,eAAmC;IAExC;;;;;OAKG;IACH,mBAAmB,GACjB,KAAK,KAAK,CAAC,gBAAgB,CAAC,EAC5B,OAAO,KAAK,KACX,OAAO,CAAC,OAAO,CAAC,CAyCjB;IAEF;;;OAGG;IACH,SAAS,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAE7C;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH"}
1
+ {"version":3,"file":"koios.d.ts","sourceRoot":"","sources":["../../lib/extractor/koios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,qBAAa,gCAAiC,SAAQ,4BAA4B,CAAC,gBAAgB,CAAC;IAClG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAa;gBAGtC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,cAAc;IAUzB;;OAEG;IACH,KAAK,eAAmC;IAExC;;OAEG;IACH,OAAO,GAAI,IAAI,gBAAgB,YAAgB;CAChD"}
@@ -1,82 +1,17 @@
1
- import { Buffer } from 'buffer';
2
- import { blake2b } from 'blakejs';
3
- import { DummyLogger } from '@rosen-bridge/abstract-logger';
1
+ import { AbstractObservationExtractor } from '@rosen-bridge/abstract-observation-extractor';
4
2
  import { CardanoKoiosRosenExtractor } from '@rosen-bridge/rosen-extractor';
5
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
6
- import { ObservationEntityAction, } from '@rosen-bridge/abstract-observation-extractor';
7
- export class CardanoKoiosObservationExtractor extends AbstractExtractor {
8
- logger;
9
- actions;
10
- extractor;
11
- static FROM_CHAIN = 'cardano';
12
- constructor(dataSource, tokens, address, logger) {
13
- super();
14
- this.logger = logger ? logger : new DummyLogger();
15
- this.actions = new ObservationEntityAction(dataSource, this.logger);
16
- this.extractor = new CardanoKoiosRosenExtractor(address, tokens, this.logger);
3
+ export class CardanoKoiosObservationExtractor extends AbstractObservationExtractor {
4
+ FROM_CHAIN = 'cardano';
5
+ constructor(lockAddress, dataSource, tokens, logger) {
6
+ super(dataSource, tokens, new CardanoKoiosRosenExtractor(lockAddress, tokens, logger), logger);
17
7
  }
18
8
  /**
19
9
  * get Id for current extractor
20
10
  */
21
11
  getId = () => 'cardano-koios-extractor';
22
12
  /**
23
- * gets block id and transactions corresponding to the block and saves if they are valid rosen
24
- * transactions and in case of success return true and in case of failure returns false
25
- * @param block
26
- * @param txs
13
+ * gets transaction id from TransactionType
27
14
  */
28
- processTransactions = (txs, block) => {
29
- return new Promise((resolve, reject) => {
30
- try {
31
- const observations = [];
32
- txs.forEach((transaction) => {
33
- const data = this.extractor.get(transaction);
34
- if (data) {
35
- const requestId = Buffer.from(blake2b(transaction.tx_hash, undefined, 32)).toString('hex');
36
- observations.push({
37
- fromChain: CardanoKoiosObservationExtractor.FROM_CHAIN,
38
- toChain: data.toChain,
39
- amount: data.amount,
40
- sourceChainTokenId: data.sourceChainTokenId,
41
- targetChainTokenId: data.targetChainTokenId,
42
- sourceTxId: data.sourceTxId,
43
- bridgeFee: data.bridgeFee,
44
- networkFee: data.networkFee,
45
- sourceBlockId: block.hash,
46
- requestId: requestId,
47
- toAddress: data.toAddress,
48
- fromAddress: data.fromAddress,
49
- });
50
- }
51
- });
52
- this.actions
53
- .storeObservations(observations, block, this.getId())
54
- .then((status) => {
55
- resolve(status);
56
- })
57
- .catch((e) => {
58
- this.logger.error(`An error occurred during store observations: ${e}`);
59
- reject(e);
60
- });
61
- }
62
- catch (e) {
63
- reject(e);
64
- }
65
- });
66
- };
67
- /**
68
- * fork one block and remove all stored information for this block
69
- * @param hash: block hash
70
- */
71
- forkBlock = async (hash) => {
72
- await this.actions.deleteBlockObservation(hash, this.getId());
73
- };
74
- /**
75
- * Extractor box initialization
76
- * No action needed in cardano extractors
77
- */
78
- initializeBoxes = async () => {
79
- return;
80
- };
15
+ getTxId = (tx) => tx.tx_hash;
81
16
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29pb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2tvaW9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSw4Q0FBOEMsQ0FBQztBQUd0RCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsaUJBQW1DO0lBQzlFLE1BQU0sQ0FBaUI7SUFDZixPQUFPLENBQTBCO0lBQ2pDLFNBQVMsQ0FBNkI7SUFDdkQsTUFBTSxDQUFVLFVBQVUsR0FBVyxTQUFTLENBQUM7SUFFL0MsWUFDRSxVQUFzQixFQUN0QixNQUFnQixFQUNoQixPQUFlLEVBQ2YsTUFBdUI7UUFFdkIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSwwQkFBMEIsQ0FDN0MsT0FBTyxFQUNQLE1BQU0sRUFDTixJQUFJLENBQUMsTUFBTSxDQUNaLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7SUFFeEM7Ozs7O09BS0c7SUFDSCxtQkFBbUIsR0FBRyxDQUNwQixHQUE0QixFQUM1QixLQUFZLEVBQ00sRUFBRTtRQUNwQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQztnQkFDSCxNQUFNLFlBQVksR0FBZ0MsRUFBRSxDQUFDO2dCQUNyRCxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7b0JBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLElBQUksRUFBRSxDQUFDO3dCQUNULE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzNCLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FDNUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUM7NEJBQ2hCLFNBQVMsRUFBRSxnQ0FBZ0MsQ0FBQyxVQUFVOzRCQUN0RCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87NEJBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTs0QkFDbkIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjs0QkFDM0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjs0QkFDM0MsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVOzRCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7NEJBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTs0QkFDM0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJOzRCQUN6QixTQUFTLEVBQUUsU0FBUzs0QkFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTOzRCQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7eUJBQzlCLENBQUMsQ0FBQztvQkFDTCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxPQUFPO3FCQUNULGlCQUFpQixDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3FCQUNwRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDZixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixnREFBZ0QsQ0FBQyxFQUFFLENBQ3BELENBQUM7b0JBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNaLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQWlCLEVBQUU7UUFDaEQsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxlQUFlLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDM0IsT0FBTztJQUNULENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSAnYnVmZmVyJztcbmltcG9ydCB7IGJsYWtlMmIgfSBmcm9tICdibGFrZWpzJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQ2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3IgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Jvc2VuLWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFic3RyYWN0RXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1leHRyYWN0b3InO1xuaW1wb3J0IHtcbiAgRXh0cmFjdGVkT2JzZXJ2YXRpb24sXG4gIE9ic2VydmF0aW9uRW50aXR5QWN0aW9uLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LW9ic2VydmF0aW9uLWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBLb2lvc1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9rb2lvc1RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIENhcmRhbm9Lb2lvc09ic2VydmF0aW9uRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RFeHRyYWN0b3I8S29pb3NUcmFuc2FjdGlvbj4ge1xuICByZWFkb25seSBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyO1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnM6IE9ic2VydmF0aW9uRW50aXR5QWN0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4dHJhY3RvcjogQ2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3I7XG4gIHN0YXRpYyByZWFkb25seSBGUk9NX0NIQUlOOiBzdHJpbmcgPSAnY2FyZGFubyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICB0b2tlbnM6IFRva2VuTWFwLFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICAgIHRoaXMuYWN0aW9ucyA9IG5ldyBPYnNlcnZhdGlvbkVudGl0eUFjdGlvbihkYXRhU291cmNlLCB0aGlzLmxvZ2dlcik7XG4gICAgdGhpcy5leHRyYWN0b3IgPSBuZXcgQ2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3IoXG4gICAgICBhZGRyZXNzLFxuICAgICAgdG9rZW5zLFxuICAgICAgdGhpcy5sb2dnZXIsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+ICdjYXJkYW5vLWtvaW9zLWV4dHJhY3Rvcic7XG5cbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgaWYgdGhleSBhcmUgdmFsaWQgcm9zZW5cbiAgICogIHRyYW5zYWN0aW9ucyBhbmQgaW4gY2FzZSBvZiBzdWNjZXNzIHJldHVybiB0cnVlIGFuZCBpbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJucyBmYWxzZVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIHR4c1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IChcbiAgICB0eHM6IEFycmF5PEtvaW9zVHJhbnNhY3Rpb24+LFxuICAgIGJsb2NrOiBCbG9jayxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG9ic2VydmF0aW9uczogQXJyYXk8RXh0cmFjdGVkT2JzZXJ2YXRpb24+ID0gW107XG4gICAgICAgIHR4cy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmV4dHJhY3Rvci5nZXQodHJhbnNhY3Rpb24pO1xuICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0SWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgYmxha2UyYih0cmFuc2FjdGlvbi50eF9oYXNoLCB1bmRlZmluZWQsIDMyKSxcbiAgICAgICAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICAgICAgb2JzZXJ2YXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICBmcm9tQ2hhaW46IENhcmRhbm9Lb2lvc09ic2VydmF0aW9uRXh0cmFjdG9yLkZST01fQ0hBSU4sXG4gICAgICAgICAgICAgIHRvQ2hhaW46IGRhdGEudG9DaGFpbixcbiAgICAgICAgICAgICAgYW1vdW50OiBkYXRhLmFtb3VudCxcbiAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBkYXRhLnNvdXJjZUNoYWluVG9rZW5JZCxcbiAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBkYXRhLnRhcmdldENoYWluVG9rZW5JZCxcbiAgICAgICAgICAgICAgc291cmNlVHhJZDogZGF0YS5zb3VyY2VUeElkLFxuICAgICAgICAgICAgICBicmlkZ2VGZWU6IGRhdGEuYnJpZGdlRmVlLFxuICAgICAgICAgICAgICBuZXR3b3JrRmVlOiBkYXRhLm5ldHdvcmtGZWUsXG4gICAgICAgICAgICAgIHNvdXJjZUJsb2NrSWQ6IGJsb2NrLmhhc2gsXG4gICAgICAgICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICAgICAgICB0b0FkZHJlc3M6IGRhdGEudG9BZGRyZXNzLFxuICAgICAgICAgICAgICBmcm9tQWRkcmVzczogZGF0YS5mcm9tQWRkcmVzcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgIC5zdG9yZU9ic2VydmF0aW9ucyhvYnNlcnZhdGlvbnMsIGJsb2NrLCB0aGlzLmdldElkKCkpXG4gICAgICAgICAgLnRoZW4oKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZShzdGF0dXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBzdG9yZSBvYnNlcnZhdGlvbnM6ICR7ZX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmb3JrIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgaW5mb3JtYXRpb24gZm9yIHRoaXMgYmxvY2tcbiAgICogQHBhcmFtIGhhc2g6IGJsb2NrIGhhc2hcbiAgICovXG4gIGZvcmtCbG9jayA9IGFzeW5jIChoYXNoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvbnMuZGVsZXRlQmxvY2tPYnNlcnZhdGlvbihoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0b3IgYm94IGluaXRpYWxpemF0aW9uXG4gICAqIE5vIGFjdGlvbiBuZWVkZWQgaW4gY2FyZGFubyBleHRyYWN0b3JzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29pb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2tvaW9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRTVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSzNFLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSw0QkFBOEM7SUFDekYsVUFBVSxHQUFXLFNBQVMsQ0FBQztJQUV4QyxZQUNFLFdBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLE1BQWdCLEVBQ2hCLE1BQXVCO1FBRXZCLEtBQUssQ0FDSCxVQUFVLEVBQ1YsTUFBTSxFQUNOLElBQUksMEJBQTBCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFDM0QsTUFBTSxDQUNQLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7SUFFeEM7O09BRUc7SUFDSCxPQUFPLEdBQUcsQ0FBQyxFQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO0NBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBBYnN0cmFjdE9ic2VydmF0aW9uRXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1vYnNlcnZhdGlvbi1leHRyYWN0b3InO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5pbXBvcnQgeyBDYXJkYW5vS29pb3NSb3NlbkV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvcm9zZW4tZXh0cmFjdG9yJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuXG5pbXBvcnQgeyBLb2lvc1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9rb2lvc1RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIENhcmRhbm9Lb2lvc09ic2VydmF0aW9uRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RPYnNlcnZhdGlvbkV4dHJhY3RvcjxLb2lvc1RyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IEZST01fQ0hBSU46IHN0cmluZyA9ICdjYXJkYW5vJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NrQWRkcmVzczogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgdG9rZW5zOiBUb2tlbk1hcCxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBkYXRhU291cmNlLFxuICAgICAgdG9rZW5zLFxuICAgICAgbmV3IENhcmRhbm9Lb2lvc1Jvc2VuRXh0cmFjdG9yKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlciksXG4gICAgICBsb2dnZXIsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+ICdjYXJkYW5vLWtvaW9zLWV4dHJhY3Rvcic7XG5cbiAgLyoqXG4gICAqIGdldHMgdHJhbnNhY3Rpb24gaWQgZnJvbSBUcmFuc2FjdGlvblR5cGVcbiAgICovXG4gIGdldFR4SWQgPSAodHg6IEtvaW9zVHJhbnNhY3Rpb24pID0+IHR4LnR4X2hhc2g7XG59XG4iXX0=
@@ -1,35 +1,18 @@
1
- import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
1
  import { Transaction } from '@cardano-ogmios/schema';
2
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
3
+ import { AbstractObservationExtractor } from '@rosen-bridge/abstract-observation-extractor';
3
4
  import { DataSource } from '@rosen-bridge/extended-typeorm';
4
5
  import { TokenMap } from '@rosen-bridge/tokens';
5
- import { Block } from '@rosen-bridge/scanner-interfaces';
6
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
7
- export declare class CardanoOgmiosObservationExtractor extends AbstractExtractor<Transaction> {
8
- readonly logger: AbstractLogger;
9
- private readonly actions;
10
- private readonly extractor;
11
- static readonly FROM_CHAIN: string;
12
- constructor(dataSource: DataSource, tokens: TokenMap, address: string, logger?: AbstractLogger);
6
+ export declare class CardanoOgmiosObservationExtractor extends AbstractObservationExtractor<Transaction> {
7
+ readonly FROM_CHAIN: string;
8
+ constructor(lockAddress: string, dataSource: DataSource, tokens: TokenMap, logger?: AbstractLogger);
13
9
  /**
14
10
  * get Id for current extractor
15
11
  */
16
12
  getId: () => string;
17
13
  /**
18
- * gets block id and transactions corresponding to the block and saves if they are valid rosen
19
- * transactions and in case of success return true and in case of failure returns false
20
- * @param block
21
- * @param txs
22
- */
23
- processTransactions: (txs: Array<Transaction>, block: Block) => Promise<boolean>;
24
- /**
25
- * fork one block and remove all stored information for this block
26
- * @param hash: block hash
27
- */
28
- forkBlock: (hash: string) => Promise<void>;
29
- /**
30
- * Extractor box initialization
31
- * No action needed in cardano extractors
14
+ * gets transaction id from TransactionType
32
15
  */
33
- initializeBoxes: () => Promise<void>;
16
+ getTxId: (tx: Transaction) => string;
34
17
  }
35
18
  //# sourceMappingURL=ogmios.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ogmios.d.ts","sourceRoot":"","sources":["../../lib/extractor/ogmios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAMrE,qBAAa,iCAAkC,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IACnF,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAa;gBAG7C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc;IAYzB;;OAEG;IACH,KAAK,eAAoC;IAEzC;;;;;OAKG;IACH,mBAAmB,GACjB,KAAK,KAAK,CAAC,WAAW,CAAC,EACvB,OAAO,KAAK,KACX,OAAO,CAAC,OAAO,CAAC,CAyCjB;IAEF;;;OAGG;IACH,SAAS,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAE7C;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH"}
1
+ {"version":3,"file":"ogmios.d.ts","sourceRoot":"","sources":["../../lib/extractor/ogmios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,qBAAa,iCAAkC,SAAQ,4BAA4B,CAAC,WAAW,CAAC;IAC9F,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAa;gBAGtC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,cAAc;IASzB;;OAEG;IACH,KAAK,eAAoC;IAEzC;;OAEG;IACH,OAAO,GAAI,IAAI,WAAW,YAAW;CACtC"}
@@ -1,82 +1,17 @@
1
- import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
- import { Buffer } from 'buffer';
3
- import { blake2b } from 'blakejs';
1
+ import { AbstractObservationExtractor } from '@rosen-bridge/abstract-observation-extractor';
4
2
  import { CardanoOgmiosRosenExtractor } from '@rosen-bridge/rosen-extractor';
5
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
6
- import { ObservationEntityAction, } from '@rosen-bridge/abstract-observation-extractor';
7
- export class CardanoOgmiosObservationExtractor extends AbstractExtractor {
8
- logger;
9
- actions;
10
- extractor;
11
- static FROM_CHAIN = 'cardano';
12
- constructor(dataSource, tokens, address, logger) {
13
- super();
14
- this.logger = logger ? logger : new DummyLogger();
15
- this.actions = new ObservationEntityAction(dataSource, this.logger);
16
- this.extractor = new CardanoOgmiosRosenExtractor(address, tokens, this.logger);
3
+ export class CardanoOgmiosObservationExtractor extends AbstractObservationExtractor {
4
+ FROM_CHAIN = 'cardano';
5
+ constructor(lockAddress, dataSource, tokens, logger) {
6
+ super(dataSource, tokens, new CardanoOgmiosRosenExtractor(lockAddress, tokens, logger));
17
7
  }
18
8
  /**
19
9
  * get Id for current extractor
20
10
  */
21
11
  getId = () => 'cardano-ogmios-extractor';
22
12
  /**
23
- * gets block id and transactions corresponding to the block and saves if they are valid rosen
24
- * transactions and in case of success return true and in case of failure returns false
25
- * @param block
26
- * @param txs
13
+ * gets transaction id from TransactionType
27
14
  */
28
- processTransactions = (txs, block) => {
29
- return new Promise((resolve, reject) => {
30
- try {
31
- const observations = [];
32
- for (const transaction of txs) {
33
- const data = this.extractor.get(transaction);
34
- if (data) {
35
- const requestId = Buffer.from(blake2b(transaction.id, undefined, 32)).toString('hex');
36
- observations.push({
37
- fromChain: CardanoOgmiosObservationExtractor.FROM_CHAIN,
38
- toChain: data.toChain,
39
- amount: data.amount,
40
- sourceChainTokenId: data.sourceChainTokenId,
41
- targetChainTokenId: data.targetChainTokenId,
42
- sourceTxId: data.sourceTxId,
43
- bridgeFee: data.bridgeFee,
44
- networkFee: data.networkFee,
45
- sourceBlockId: block.hash,
46
- requestId: requestId,
47
- toAddress: data.toAddress,
48
- fromAddress: data.fromAddress,
49
- });
50
- }
51
- }
52
- this.actions
53
- .storeObservations(observations, block, this.getId())
54
- .then((status) => {
55
- resolve(status);
56
- })
57
- .catch((e) => {
58
- this.logger.error(`An error occurred during store observations: ${e}`);
59
- reject(e);
60
- });
61
- }
62
- catch (e) {
63
- reject(e);
64
- }
65
- });
66
- };
67
- /**
68
- * fork one block and remove all stored information for this block
69
- * @param hash: block hash
70
- */
71
- forkBlock = async (hash) => {
72
- await this.actions.deleteBlockObservation(hash, this.getId());
73
- };
74
- /**
75
- * Extractor box initialization
76
- * No action needed in cardano extractors
77
- */
78
- initializeBoxes = async () => {
79
- return;
80
- };
15
+ getTxId = (tx) => tx.id;
81
16
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2dtaW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9vZ21pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUk1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLDhDQUE4QyxDQUFDO0FBRXRELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxpQkFBOEI7SUFDMUUsTUFBTSxDQUFpQjtJQUNmLE9BQU8sQ0FBMEI7SUFDakMsU0FBUyxDQUE4QjtJQUN4RCxNQUFNLENBQVUsVUFBVSxHQUFXLFNBQVMsQ0FBQztJQUUvQyxZQUNFLFVBQXNCLEVBQ3RCLE1BQWdCLEVBQ2hCLE9BQWUsRUFDZixNQUF1QjtRQUV2QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLDJCQUEyQixDQUM5QyxPQUFPLEVBQ1AsTUFBTSxFQUNOLElBQUksQ0FBQyxNQUFNLENBQ1osQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztJQUV6Qzs7Ozs7T0FLRztJQUNILG1CQUFtQixHQUFHLENBQ3BCLEdBQXVCLEVBQ3ZCLEtBQVksRUFDTSxFQUFFO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDO2dCQUNILE1BQU0sWUFBWSxHQUFnQyxFQUFFLENBQUM7Z0JBQ3JELEtBQUssTUFBTSxXQUFXLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLElBQUksRUFBRSxDQUFDO3dCQUNULE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzNCLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FDdkMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUM7NEJBQ2hCLFNBQVMsRUFBRSxpQ0FBaUMsQ0FBQyxVQUFVOzRCQUN2RCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87NEJBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTs0QkFDbkIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjs0QkFDM0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjs0QkFDM0MsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVOzRCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7NEJBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTs0QkFDM0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJOzRCQUN6QixTQUFTLEVBQUUsU0FBUzs0QkFDcEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTOzRCQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7eUJBQzlCLENBQUMsQ0FBQztvQkFDTCxDQUFDO2dCQUNILENBQUM7Z0JBQ0QsSUFBSSxDQUFDLE9BQU87cUJBQ1QsaUJBQWlCLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ3BELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGdEQUFnRCxDQUFDLEVBQUUsQ0FDcEQsQ0FBQztvQkFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBaUIsRUFBRTtRQUNoRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAY2FyZGFuby1vZ21pb3Mvc2NoZW1hJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgVG9rZW5NYXAgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Rva2Vucyc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuaW1wb3J0IHsgYmxha2UyYiB9IGZyb20gJ2JsYWtlanMnO1xuaW1wb3J0IHsgQ2FyZGFub09nbWlvc1Jvc2VuRXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9yb3Nlbi1leHRyYWN0b3InO1xuaW1wb3J0IHsgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcbmltcG9ydCB7XG4gIEV4dHJhY3RlZE9ic2VydmF0aW9uLFxuICBPYnNlcnZhdGlvbkVudGl0eUFjdGlvbixcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1vYnNlcnZhdGlvbi1leHRyYWN0b3InO1xuXG5leHBvcnQgY2xhc3MgQ2FyZGFub09nbWlvc09ic2VydmF0aW9uRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zOiBPYnNlcnZhdGlvbkVudGl0eUFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBleHRyYWN0b3I6IENhcmRhbm9PZ21pb3NSb3NlbkV4dHJhY3RvcjtcbiAgc3RhdGljIHJlYWRvbmx5IEZST01fQ0hBSU46IHN0cmluZyA9ICdjYXJkYW5vJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIHRva2VuczogVG9rZW5NYXAsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyID8gbG9nZ2VyIDogbmV3IER1bW15TG9nZ2VyKCk7XG4gICAgdGhpcy5hY3Rpb25zID0gbmV3IE9ic2VydmF0aW9uRW50aXR5QWN0aW9uKGRhdGFTb3VyY2UsIHRoaXMubG9nZ2VyKTtcbiAgICB0aGlzLmV4dHJhY3RvciA9IG5ldyBDYXJkYW5vT2dtaW9zUm9zZW5FeHRyYWN0b3IoXG4gICAgICBhZGRyZXNzLFxuICAgICAgdG9rZW5zLFxuICAgICAgdGhpcy5sb2dnZXIsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+ICdjYXJkYW5vLW9nbWlvcy1leHRyYWN0b3InO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvbj4sXG4gICAgYmxvY2s6IEJsb2NrLFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YXRpb25zOiBBcnJheTxFeHRyYWN0ZWRPYnNlcnZhdGlvbj4gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB0cmFuc2FjdGlvbiBvZiB0eHMpIHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5leHRyYWN0b3IuZ2V0KHRyYW5zYWN0aW9uKTtcbiAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgY29uc3QgcmVxdWVzdElkID0gQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgIGJsYWtlMmIodHJhbnNhY3Rpb24uaWQsIHVuZGVmaW5lZCwgMzIpLFxuICAgICAgICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgICAgICBvYnNlcnZhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgIGZyb21DaGFpbjogQ2FyZGFub09nbWlvc09ic2VydmF0aW9uRXh0cmFjdG9yLkZST01fQ0hBSU4sXG4gICAgICAgICAgICAgIHRvQ2hhaW46IGRhdGEudG9DaGFpbixcbiAgICAgICAgICAgICAgYW1vdW50OiBkYXRhLmFtb3VudCxcbiAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBkYXRhLnNvdXJjZUNoYWluVG9rZW5JZCxcbiAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBkYXRhLnRhcmdldENoYWluVG9rZW5JZCxcbiAgICAgICAgICAgICAgc291cmNlVHhJZDogZGF0YS5zb3VyY2VUeElkLFxuICAgICAgICAgICAgICBicmlkZ2VGZWU6IGRhdGEuYnJpZGdlRmVlLFxuICAgICAgICAgICAgICBuZXR3b3JrRmVlOiBkYXRhLm5ldHdvcmtGZWUsXG4gICAgICAgICAgICAgIHNvdXJjZUJsb2NrSWQ6IGJsb2NrLmhhc2gsXG4gICAgICAgICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICAgICAgICB0b0FkZHJlc3M6IGRhdGEudG9BZGRyZXNzLFxuICAgICAgICAgICAgICBmcm9tQWRkcmVzczogZGF0YS5mcm9tQWRkcmVzcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVPYnNlcnZhdGlvbnMob2JzZXJ2YXRpb25zLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgIC50aGVuKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoc3RhdHVzKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgc3RvcmUgb2JzZXJ2YXRpb25zOiAke2V9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogZm9yayBvbmUgYmxvY2sgYW5kIHJlbW92ZSBhbGwgc3RvcmVkIGluZm9ybWF0aW9uIGZvciB0aGlzIGJsb2NrXG4gICAqIEBwYXJhbSBoYXNoOiBibG9jayBoYXNoXG4gICAqL1xuICBmb3JrQmxvY2sgPSBhc3luYyAoaGFzaDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgYXdhaXQgdGhpcy5hY3Rpb25zLmRlbGV0ZUJsb2NrT2JzZXJ2YXRpb24oaGFzaCwgdGhpcy5nZXRJZCgpKTtcbiAgfTtcblxuICAvKipcbiAgICogRXh0cmFjdG9yIGJveCBpbml0aWFsaXphdGlvblxuICAgKiBObyBhY3Rpb24gbmVlZGVkIGluIGNhcmRhbm8gZXh0cmFjdG9yc1xuICAgKi9cbiAgaW5pdGlhbGl6ZUJveGVzID0gYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybjtcbiAgfTtcbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2dtaW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9vZ21pb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFNUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHNUUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLDRCQUF5QztJQUNyRixVQUFVLEdBQVcsU0FBUyxDQUFDO0lBRXhDLFlBQ0UsV0FBbUIsRUFDbkIsVUFBc0IsRUFDdEIsTUFBZ0IsRUFDaEIsTUFBdUI7UUFFdkIsS0FBSyxDQUNILFVBQVUsRUFDVixNQUFNLEVBQ04sSUFBSSwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO0lBRXpDOztPQUVHO0lBQ0gsT0FBTyxHQUFHLENBQUMsRUFBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0NBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAY2FyZGFuby1vZ21pb3Mvc2NoZW1hJztcblxuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBBYnN0cmFjdE9ic2VydmF0aW9uRXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1vYnNlcnZhdGlvbi1leHRyYWN0b3InO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5pbXBvcnQgeyBDYXJkYW5vT2dtaW9zUm9zZW5FeHRyYWN0b3IgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Jvc2VuLWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcblxuZXhwb3J0IGNsYXNzIENhcmRhbm9PZ21pb3NPYnNlcnZhdGlvbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0T2JzZXJ2YXRpb25FeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgRlJPTV9DSEFJTjogc3RyaW5nID0gJ2NhcmRhbm8nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvY2tBZGRyZXNzOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICB0b2tlbnM6IFRva2VuTWFwLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyLFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGRhdGFTb3VyY2UsXG4gICAgICB0b2tlbnMsXG4gICAgICBuZXcgQ2FyZGFub09nbWlvc1Jvc2VuRXh0cmFjdG9yKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlciksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+ICdjYXJkYW5vLW9nbWlvcy1leHRyYWN0b3InO1xuXG4gIC8qKlxuICAgKiBnZXRzIHRyYW5zYWN0aW9uIGlkIGZyb20gVHJhbnNhY3Rpb25UeXBlXG4gICAqL1xuICBnZXRUeElkID0gKHR4OiBUcmFuc2FjdGlvbikgPT4gdHguaWQ7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/cardano-observation-extractor",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Event observation data extractor for Cardano chain",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,33 +17,26 @@
17
17
  ],
18
18
  "scripts": {
19
19
  "build": "tsc --build tsconfig.build.json",
20
- "coverage": "npm run test -- --coverage",
20
+ "clean": "rimraf dist && rimraf tsconfig.build.tsbuildinfo",
21
21
  "lint": "eslint --fix . && npm run prettify",
22
- "prettify": "prettier --write . --ignore-path ./.gitignore",
23
- "release": "npm run test -- --run && npm run build && npm publish --access public",
24
- "test": "NODE_OPTIONS='--import tsx' vitest",
22
+ "lint:check": "eslint . && npm run prettify:check",
23
+ "prettify": "prettier --write . --ignore-path ../../../.gitignore",
24
+ "prettify:check": "prettier --check . --ignore-path ../../../.gitignore",
25
+ "release": "npm run clean && npm run build && npm publish --access public",
25
26
  "type-check": "tsc --noEmit"
26
27
  },
27
- "devDependencies": {
28
- "@rosen-bridge/abstract-scanner": "^0.1.0",
29
- "@types/node": "^22.18.0",
30
- "@vitest/coverage-istanbul": "^3.1.4",
31
- "tsx": "^4.19.4",
32
- "typescript": "^5.3.3",
33
- "vitest": "^3.1.4"
34
- },
35
28
  "dependencies": {
36
- "@blockfrost/openapi": "0.1.78",
29
+ "@blockfrost/openapi": "0.1.81",
37
30
  "@cardano-ogmios/schema": "^6.6.1",
38
31
  "@emurgo/cardano-serialization-lib-nodejs": "^13.2.1",
39
- "@rosen-bridge/abstract-extractor": "^2.1.0",
40
- "@rosen-bridge/abstract-logger": "^2.0.1",
41
- "@rosen-bridge/abstract-observation-extractor": "^0.1.1",
42
- "@rosen-bridge/extended-typeorm": "^0.2.1",
43
- "@rosen-bridge/rosen-extractor": "^9.0.0",
44
- "@rosen-bridge/scanner-interfaces": "^0.2.0",
45
- "@rosen-bridge/tokens": "^3.1.1",
46
- "blakejs": "^1.2.1"
32
+ "@rosen-bridge/abstract-logger": "^3.0.1",
33
+ "@rosen-bridge/abstract-observation-extractor": "^0.2.0",
34
+ "@rosen-bridge/extended-typeorm": "^1.0.1",
35
+ "@rosen-bridge/rosen-extractor": "^10.1.1",
36
+ "@rosen-bridge/tokens": "^4.0.1"
37
+ },
38
+ "devDependencies": {
39
+ "tsx": "^4.19.4"
47
40
  },
48
41
  "engines": {
49
42
  "node": ">=22.18.0"