@rosen-bridge/address-extractor 2.1.0 → 2.1.2
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/dist/actions/boxAction.d.ts +56 -0
- package/dist/actions/boxAction.d.ts.map +1 -0
- package/dist/actions/boxAction.js +169 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +3 -0
- package/dist/entities/boxEntity.d.ts +1 -0
- package/dist/entities/boxEntity.d.ts.map +1 -1
- package/dist/entities/boxEntity.js +6 -1
- package/dist/extractor/ergoUtxoExtractor.d.ts +114 -5
- package/dist/extractor/ergoUtxoExtractor.d.ts.map +1 -1
- package/dist/extractor/ergoUtxoExtractor.js +134 -38
- package/dist/interfaces/types.d.ts +12 -3
- package/dist/interfaces/types.d.ts.map +1 -1
- package/dist/interfaces/types.js +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +5 -3
- package/dist/migrations/postgres/1689151869889-migration.d.ts +7 -0
- package/dist/migrations/postgres/1689151869889-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1689151869889-migration.js +15 -0
- package/dist/migrations/sqlite/1689143753142-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1689143753142-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1689143753142-migration.js +85 -0
- package/dist/{network/parser.d.ts → utils.d.ts} +3 -2
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +6 -0
- package/package.json +4 -2
- package/dist/actions/db.d.ts +0 -32
- package/dist/actions/db.d.ts.map +0 -1
- package/dist/actions/db.js +0 -149
- package/dist/interfaces/ExtractedBox.d.ts +0 -8
- package/dist/interfaces/ExtractedBox.d.ts.map +0 -1
- package/dist/interfaces/ExtractedBox.js +0 -8
- package/dist/network/ergoNetworkApi.d.ts +0 -23
- package/dist/network/ergoNetworkApi.d.ts.map +0 -1
- package/dist/network/ergoNetworkApi.js +0 -55
- package/dist/network/parser.d.ts.map +0 -1
- package/dist/network/parser.js +0 -5
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
|
+
import { AbstractLogger } from '@rosen-bridge/logger-interface';
|
|
3
|
+
import { BlockEntity } from '@rosen-bridge/scanner';
|
|
4
|
+
import { ExtractedBox } from '../interfaces/types';
|
|
5
|
+
export declare class BoxEntityAction {
|
|
6
|
+
private readonly datasource;
|
|
7
|
+
readonly logger: AbstractLogger;
|
|
8
|
+
private readonly repository;
|
|
9
|
+
constructor(dataSource: DataSource, logger: AbstractLogger);
|
|
10
|
+
/**
|
|
11
|
+
* insert new box into database
|
|
12
|
+
* @param box
|
|
13
|
+
* @param extractor
|
|
14
|
+
*/
|
|
15
|
+
insertBox: (box: ExtractedBox, extractor: string) => Promise<import("typeorm").InsertResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Update an unspent box information in the database
|
|
18
|
+
* @param box
|
|
19
|
+
* @param extractor
|
|
20
|
+
*/
|
|
21
|
+
updateBox: (box: ExtractedBox, extractor: string) => Promise<import("typeorm").UpdateResult>;
|
|
22
|
+
/**
|
|
23
|
+
* It stores list of blocks in the dataSource with block id
|
|
24
|
+
* @param boxes
|
|
25
|
+
* @param spendBoxes
|
|
26
|
+
* @param block
|
|
27
|
+
* @param extractor
|
|
28
|
+
*/
|
|
29
|
+
storeBox: (boxes: Array<ExtractedBox>, spendBoxes: Array<string>, block: BlockEntity, extractor: string) => Promise<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* delete boxes in specific block from database. if box spend in this block marked as unspent
|
|
32
|
+
* and if created in this block remove it from database
|
|
33
|
+
* @param block
|
|
34
|
+
* @param extractor
|
|
35
|
+
*/
|
|
36
|
+
deleteBlockBoxes: (block: string, extractor: string) => Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns all stored box ids
|
|
39
|
+
*/
|
|
40
|
+
getAllBoxIds: (extractor: string) => Promise<Array<string>>;
|
|
41
|
+
/**
|
|
42
|
+
* Removes specified box
|
|
43
|
+
* @param boxId
|
|
44
|
+
* @param extractor
|
|
45
|
+
*/
|
|
46
|
+
removeBox: (boxId: string, extractor: string) => Promise<import("typeorm").DeleteResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Update the box spending information
|
|
49
|
+
* @param boxId
|
|
50
|
+
* @param extractor
|
|
51
|
+
* @param blockId
|
|
52
|
+
* @param blockHeight
|
|
53
|
+
*/
|
|
54
|
+
updateSpendBlock: (boxId: string, extractor: string, blockId: string, blockHeight: number) => Promise<import("typeorm").UpdateResult>;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=boxAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boxAction.d.ts","sourceRoot":"","sources":["../../lib/actions/boxAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;gBAEvC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAM1D;;;;OAIG;IACH,SAAS,QAAe,YAAY,aAAa,MAAM,6CASrD;IAEF;;;;OAIG;IACH,SAAS,QAAe,YAAY,aAAa,MAAM,6CAYrD;IAEF;;;;;;OAMG;IACH,QAAQ,UACC,MAAM,YAAY,CAAC,cACd,MAAM,MAAM,CAAC,SAClB,WAAW,aACP,MAAM,sBA6DjB;IAEF;;;;;OAKG;IACH,gBAAgB,UAAiB,MAAM,aAAa,MAAM,mBAuBxD;IAEF;;OAEG;IACH,YAAY,cAAqB,MAAM,KAAG,QAAQ,MAAM,MAAM,CAAC,CAAC,CAO9D;IAEF;;;;OAIG;IACH,SAAS,UAAiB,MAAM,aAAa,MAAM,6CAEjD;IAEF;;;;;;OAMG;IACH,gBAAgB,UACP,MAAM,aACF,MAAM,WACR,MAAM,eACF,MAAM,6CAMnB;CACH"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { In } from 'typeorm';
|
|
2
|
+
import { BoxEntity } from '../entities/boxEntity';
|
|
3
|
+
export class BoxEntityAction {
|
|
4
|
+
datasource;
|
|
5
|
+
logger;
|
|
6
|
+
repository;
|
|
7
|
+
constructor(dataSource, logger) {
|
|
8
|
+
this.datasource = dataSource;
|
|
9
|
+
this.logger = logger;
|
|
10
|
+
this.repository = dataSource.getRepository(BoxEntity);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* insert new box into database
|
|
14
|
+
* @param box
|
|
15
|
+
* @param extractor
|
|
16
|
+
*/
|
|
17
|
+
insertBox = async (box, extractor) => {
|
|
18
|
+
return this.repository.insert({
|
|
19
|
+
address: box.address,
|
|
20
|
+
boxId: box.boxId,
|
|
21
|
+
createBlock: box.blockId,
|
|
22
|
+
creationHeight: box.height,
|
|
23
|
+
serialized: box.serialized,
|
|
24
|
+
extractor: extractor,
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Update an unspent box information in the database
|
|
29
|
+
* @param box
|
|
30
|
+
* @param extractor
|
|
31
|
+
*/
|
|
32
|
+
updateBox = async (box, extractor) => {
|
|
33
|
+
return this.repository.update({ boxId: box.boxId, extractor: extractor }, {
|
|
34
|
+
address: box.address,
|
|
35
|
+
createBlock: box.blockId,
|
|
36
|
+
creationHeight: box.height,
|
|
37
|
+
serialized: box.serialized,
|
|
38
|
+
spendBlock: null,
|
|
39
|
+
spendHeight: 0,
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* It stores list of blocks in the dataSource with block id
|
|
44
|
+
* @param boxes
|
|
45
|
+
* @param spendBoxes
|
|
46
|
+
* @param block
|
|
47
|
+
* @param extractor
|
|
48
|
+
*/
|
|
49
|
+
storeBox = async (boxes, spendBoxes, block, extractor) => {
|
|
50
|
+
const boxIds = boxes.map((item) => item.boxId);
|
|
51
|
+
const dbBoxes = await this.datasource.getRepository(BoxEntity).findBy({
|
|
52
|
+
boxId: In(boxIds),
|
|
53
|
+
extractor: extractor,
|
|
54
|
+
});
|
|
55
|
+
let success = true;
|
|
56
|
+
const queryRunner = this.datasource.createQueryRunner();
|
|
57
|
+
await queryRunner.connect();
|
|
58
|
+
await queryRunner.startTransaction();
|
|
59
|
+
try {
|
|
60
|
+
for (const box of boxes) {
|
|
61
|
+
const entity = {
|
|
62
|
+
address: box.address,
|
|
63
|
+
boxId: box.boxId,
|
|
64
|
+
createBlock: block.hash,
|
|
65
|
+
creationHeight: block.height,
|
|
66
|
+
spendBlock: undefined,
|
|
67
|
+
serialized: box.serialized,
|
|
68
|
+
extractor: extractor,
|
|
69
|
+
};
|
|
70
|
+
const dbBox = dbBoxes.filter((item) => item.boxId === box.boxId);
|
|
71
|
+
if (dbBox.length > 0) {
|
|
72
|
+
this.logger.info(`Updating box ${box.boxId} and extractor ${extractor}`);
|
|
73
|
+
this.logger.debug(`Entity: ${JSON.stringify(entity)}`);
|
|
74
|
+
await queryRunner.manager
|
|
75
|
+
.getRepository(BoxEntity)
|
|
76
|
+
.createQueryBuilder()
|
|
77
|
+
.update()
|
|
78
|
+
.set(entity)
|
|
79
|
+
.where({ id: dbBox[0].id })
|
|
80
|
+
.execute();
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.logger.info(`Storing box ${box.boxId}`);
|
|
84
|
+
this.logger.debug(JSON.stringify(entity));
|
|
85
|
+
await queryRunner.manager.getRepository(BoxEntity).insert(entity);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
this.logger.debug(`Updating spendBlock for boxes ${spendBoxes}`);
|
|
89
|
+
await queryRunner.manager
|
|
90
|
+
.getRepository(BoxEntity)
|
|
91
|
+
.createQueryBuilder()
|
|
92
|
+
.update()
|
|
93
|
+
.set({ spendBlock: block.hash, spendHeight: block.height })
|
|
94
|
+
.where('boxId IN (:...boxes) AND extractor = :extractor', {
|
|
95
|
+
boxes: spendBoxes,
|
|
96
|
+
extractor: extractor,
|
|
97
|
+
})
|
|
98
|
+
.execute();
|
|
99
|
+
await queryRunner.commitTransaction();
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
this.logger.error(`An error occurred during store boxes action: ${e}`);
|
|
103
|
+
await queryRunner.rollbackTransaction();
|
|
104
|
+
success = false;
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
await queryRunner.release();
|
|
108
|
+
}
|
|
109
|
+
return success;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* delete boxes in specific block from database. if box spend in this block marked as unspent
|
|
113
|
+
* and if created in this block remove it from database
|
|
114
|
+
* @param block
|
|
115
|
+
* @param extractor
|
|
116
|
+
*/
|
|
117
|
+
deleteBlockBoxes = async (block, extractor) => {
|
|
118
|
+
this.logger.info(`Deleting boxes in block ${block} and extractor ${extractor}`);
|
|
119
|
+
await this.datasource
|
|
120
|
+
.createQueryBuilder()
|
|
121
|
+
.delete()
|
|
122
|
+
.from(BoxEntity)
|
|
123
|
+
.where('extractor = :extractor AND createBlock = :block', {
|
|
124
|
+
block: block,
|
|
125
|
+
extractor: extractor,
|
|
126
|
+
})
|
|
127
|
+
.execute();
|
|
128
|
+
await this.datasource
|
|
129
|
+
.getRepository(BoxEntity)
|
|
130
|
+
.createQueryBuilder()
|
|
131
|
+
.update()
|
|
132
|
+
.set({ spendBlock: null, spendHeight: 0 })
|
|
133
|
+
.where('spendBlock = :block AND extractor = :extractor', {
|
|
134
|
+
block: block,
|
|
135
|
+
extractor: extractor,
|
|
136
|
+
})
|
|
137
|
+
.execute();
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Returns all stored box ids
|
|
141
|
+
*/
|
|
142
|
+
getAllBoxIds = async (extractor) => {
|
|
143
|
+
const boxIds = await this.repository
|
|
144
|
+
.createQueryBuilder()
|
|
145
|
+
.where({ extractor: extractor })
|
|
146
|
+
.select('boxId', 'boxId')
|
|
147
|
+
.getRawMany();
|
|
148
|
+
return boxIds.map((item) => item.boxId);
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Removes specified box
|
|
152
|
+
* @param boxId
|
|
153
|
+
* @param extractor
|
|
154
|
+
*/
|
|
155
|
+
removeBox = async (boxId, extractor) => {
|
|
156
|
+
return await this.repository.delete({ boxId: boxId, extractor: extractor });
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Update the box spending information
|
|
160
|
+
* @param boxId
|
|
161
|
+
* @param extractor
|
|
162
|
+
* @param blockId
|
|
163
|
+
* @param blockHeight
|
|
164
|
+
*/
|
|
165
|
+
updateSpendBlock = async (boxId, extractor, blockId, blockHeight) => {
|
|
166
|
+
return await this.repository.update({ boxId: boxId, extractor: extractor }, { spendBlock: blockId, spendHeight: blockHeight });
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94QWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FjdGlvbnMvYm94QWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQWMsTUFBTSxTQUFTLENBQUM7QUFJckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE1BQU0sT0FBTyxlQUFlO0lBQ1QsVUFBVSxDQUFhO0lBQy9CLE1BQU0sQ0FBaUI7SUFDZixVQUFVLENBQXdCO0lBRW5ELFlBQVksVUFBc0IsRUFBRSxNQUFzQjtRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLEdBQWlCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDNUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ3BCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixXQUFXLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDeEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQzFCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtZQUMxQixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxHQUFpQixFQUFFLFNBQWlCLEVBQUUsRUFBRTtRQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMzQixFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLFNB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TSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDakMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFDdEMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FDbEQsQ0FBQztJQUNKLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIFJlcG9zaXRvcnkgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9sb2dnZXItaW50ZXJmYWNlJztcbmltcG9ydCB7IEJsb2NrRW50aXR5IH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyJztcblxuaW1wb3J0IHsgQm94RW50aXR5IH0gZnJvbSAnLi4vZW50aXRpZXMvYm94RW50aXR5JztcbmltcG9ydCB7IEV4dHJhY3RlZEJveCB9IGZyb20gJy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQm94RW50aXR5QWN0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhc291cmNlOiBEYXRhU291cmNlO1xuICByZWFkb25seSBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8Qm94RW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgdGhpcy5kYXRhc291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgICB0aGlzLnJlcG9zaXRvcnkgPSBkYXRhU291cmNlLmdldFJlcG9zaXRvcnkoQm94RW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpbnNlcnQgbmV3IGJveCBpbnRvIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBib3hcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgaW5zZXJ0Qm94ID0gYXN5bmMgKGJveDogRXh0cmFjdGVkQm94LCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiB0aGlzLnJlcG9zaXRvcnkuaW5zZXJ0KHtcbiAgICAgIGFkZHJlc3M6IGJveC5hZGRyZXNzLFxuICAgICAgYm94SWQ6IGJveC5ib3hJZCxcbiAgICAgIGNyZWF0ZUJsb2NrOiBib3guYmxvY2tJZCxcbiAgICAgIGNyZWF0aW9uSGVpZ2h0OiBib3guaGVpZ2h0LFxuICAgICAgc2VyaWFsaXplZDogYm94LnNlcmlhbGl6ZWQsXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogVXBkYXRlIGFuIHVuc3BlbnQgYm94IGluZm9ybWF0aW9uIGluIHRoZSBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYm94XG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHVwZGF0ZUJveCA9IGFzeW5jIChib3g6IEV4dHJhY3RlZEJveCwgZXh0cmFjdG9yOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgIHsgYm94SWQ6IGJveC5ib3hJZCwgZXh0cmFjdG9yOiBleHRyYWN0b3IgfSxcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogYm94LmFkZHJlc3MsXG4gICAgICAgIGNyZWF0ZUJsb2NrOiBib3guYmxvY2tJZCxcbiAgICAgICAgY3JlYXRpb25IZWlnaHQ6IGJveC5oZWlnaHQsXG4gICAgICAgIHNlcmlhbGl6ZWQ6IGJveC5zZXJpYWxpemVkLFxuICAgICAgICBzcGVuZEJsb2NrOiBudWxsLFxuICAgICAgICBzcGVuZEhlaWdodDogMCxcbiAgICAgIH1cbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJdCBzdG9yZXMgbGlzdCBvZiBibG9ja3MgaW4gdGhlIGRhdGFTb3VyY2Ugd2l0aCBibG9jayBpZFxuICAgKiBAcGFyYW0gYm94ZXNcbiAgICogQHBhcmFtIHNwZW5kQm94ZXNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlQm94ID0gYXN5bmMgKFxuICAgIGJveGVzOiBBcnJheTxFeHRyYWN0ZWRCb3g+LFxuICAgIHNwZW5kQm94ZXM6IEFycmF5PHN0cmluZz4sXG4gICAgYmxvY2s6IEJsb2NrRW50aXR5LFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nXG4gICkgPT4ge1xuICAgIGNvbnN0IGJveElkcyA9IGJveGVzLm1hcCgoaXRlbSkgPT4gaXRlbS5ib3hJZCk7XG4gICAgY29uc3QgZGJCb3hlcyA9IGF3YWl0IHRoaXMuZGF0YXNvdXJjZS5nZXRSZXBvc2l0b3J5KEJveEVudGl0eSkuZmluZEJ5KHtcbiAgICAgIGJveElkOiBJbihib3hJZHMpLFxuICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgfSk7XG4gICAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICAgIGNvbnN0IHF1ZXJ5UnVubmVyID0gdGhpcy5kYXRhc291cmNlLmNyZWF0ZVF1ZXJ5UnVubmVyKCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuY29ubmVjdCgpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBib3ggb2YgYm94ZXMpIHtcbiAgICAgICAgY29uc3QgZW50aXR5ID0ge1xuICAgICAgICAgIGFkZHJlc3M6IGJveC5hZGRyZXNzLFxuICAgICAgICAgIGJveElkOiBib3guYm94SWQsXG4gICAgICAgICAgY3JlYXRlQmxvY2s6IGJsb2NrLmhhc2gsXG4gICAgICAgICAgY3JlYXRpb25IZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICBzcGVuZEJsb2NrOiB1bmRlZmluZWQsXG4gICAgICAgICAgc2VyaWFsaXplZDogYm94LnNlcmlhbGl6ZWQsXG4gICAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRiQm94ID0gZGJCb3hlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uYm94SWQgPT09IGJveC5ib3hJZCk7XG4gICAgICAgIGlmIChkYkJveC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBVcGRhdGluZyBib3ggJHtib3guYm94SWR9IGFuZCBleHRyYWN0b3IgJHtleHRyYWN0b3J9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEVudGl0eTogJHtKU09OLnN0cmluZ2lmeShlbnRpdHkpfWApO1xuICAgICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXJcbiAgICAgICAgICAgIC5nZXRSZXBvc2l0b3J5KEJveEVudGl0eSlcbiAgICAgICAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAgICAgLnVwZGF0ZSgpXG4gICAgICAgICAgICAuc2V0KGVudGl0eSlcbiAgICAgICAgICAgIC53aGVyZSh7IGlkOiBkYkJveFswXS5pZCB9KVxuICAgICAgICAgICAgLmV4ZWN1dGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKGBTdG9yaW5nIGJveCAke2JveC5ib3hJZH1gKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhKU09OLnN0cmluZ2lmeShlbnRpdHkpKTtcbiAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoQm94RW50aXR5KS5pbnNlcnQoZW50aXR5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFVwZGF0aW5nIHNwZW5kQmxvY2sgZm9yIGJveGVzICR7c3BlbmRCb3hlc31gKTtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXJcbiAgICAgICAgLmdldFJlcG9zaXRvcnkoQm94RW50aXR5KVxuICAgICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgLnVwZGF0ZSgpXG4gICAgICAgIC5zZXQoeyBzcGVuZEJsb2NrOiBibG9jay5oYXNoLCBzcGVuZEhlaWdodDogYmxvY2suaGVpZ2h0IH0pXG4gICAgICAgIC53aGVyZSgnYm94SWQgSU4gKDouLi5ib3hlcykgQU5EIGV4dHJhY3RvciA9IDpleHRyYWN0b3InLCB7XG4gICAgICAgICAgYm94ZXM6IHNwZW5kQm94ZXMsXG4gICAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgIH0pXG4gICAgICAgIC5leGVjdXRlKCk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgc3RvcmUgYm94ZXMgYWN0aW9uOiAke2V9YCk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICBzdWNjZXNzID0gZmFsc2U7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJlbGVhc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH07XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBib3hlcyBpbiBzcGVjaWZpYyBibG9jayBmcm9tIGRhdGFiYXNlLiBpZiBib3ggc3BlbmQgaW4gdGhpcyBibG9jayBtYXJrZWQgYXMgdW5zcGVudFxuICAgKiBhbmQgaWYgY3JlYXRlZCBpbiB0aGlzIGJsb2NrIHJlbW92ZSBpdCBmcm9tIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBkZWxldGVCbG9ja0JveGVzID0gYXN5bmMgKGJsb2NrOiBzdHJpbmcsIGV4dHJhY3Rvcjogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgIGBEZWxldGluZyBib3hlcyBpbiBibG9jayAke2Jsb2NrfSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWBcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAuZGVsZXRlKClcbiAgICAgIC5mcm9tKEJveEVudGl0eSlcbiAgICAgIC53aGVyZSgnZXh0cmFjdG9yID0gOmV4dHJhY3RvciBBTkQgY3JlYXRlQmxvY2sgPSA6YmxvY2snLCB7XG4gICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgICBhd2FpdCB0aGlzLmRhdGFzb3VyY2VcbiAgICAgIC5nZXRSZXBvc2l0b3J5KEJveEVudGl0eSlcbiAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgLnVwZGF0ZSgpXG4gICAgICAuc2V0KHsgc3BlbmRCbG9jazogbnVsbCwgc3BlbmRIZWlnaHQ6IDAgfSlcbiAgICAgIC53aGVyZSgnc3BlbmRCbG9jayA9IDpibG9jayBBTkQgZXh0cmFjdG9yID0gOmV4dHJhY3RvcicsIHtcbiAgICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIH0pXG4gICAgICAuZXhlY3V0ZSgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiAgUmV0dXJucyBhbGwgc3RvcmVkIGJveCBpZHNcbiAgICovXG4gIGdldEFsbEJveElkcyA9IGFzeW5jIChleHRyYWN0b3I6IHN0cmluZyk6IFByb21pc2U8QXJyYXk8c3RyaW5nPj4gPT4ge1xuICAgIGNvbnN0IGJveElkcyA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAud2hlcmUoeyBleHRyYWN0b3I6IGV4dHJhY3RvciB9KVxuICAgICAgLnNlbGVjdCgnYm94SWQnLCAnYm94SWQnKVxuICAgICAgLmdldFJhd01hbnkoKTtcbiAgICByZXR1cm4gYm94SWRzLm1hcCgoaXRlbTogeyBib3hJZDogc3RyaW5nIH0pID0+IGl0ZW0uYm94SWQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHNwZWNpZmllZCBib3hcbiAgICogQHBhcmFtIGJveElkXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHJlbW92ZUJveCA9IGFzeW5jIChib3hJZDogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZGVsZXRlKHsgYm94SWQ6IGJveElkLCBleHRyYWN0b3I6IGV4dHJhY3RvciB9KTtcbiAgfTtcblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBib3ggc3BlbmRpbmcgaW5mb3JtYXRpb25cbiAgICogQHBhcmFtIGJveElkXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICogQHBhcmFtIGJsb2NrSWRcbiAgICogQHBhcmFtIGJsb2NrSGVpZ2h0XG4gICAqL1xuICB1cGRhdGVTcGVuZEJsb2NrID0gYXN5bmMgKFxuICAgIGJveElkOiBzdHJpbmcsXG4gICAgZXh0cmFjdG9yOiBzdHJpbmcsXG4gICAgYmxvY2tJZDogc3RyaW5nLFxuICAgIGJsb2NrSGVpZ2h0OiBudW1iZXJcbiAgKSA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICB7IGJveElkOiBib3hJZCwgZXh0cmFjdG9yOiBleHRyYWN0b3IgfSxcbiAgICAgIHsgc3BlbmRCbG9jazogYmxvY2tJZCwgc3BlbmRIZWlnaHQ6IGJsb2NrSGVpZ2h0IH1cbiAgICApO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../lib/constants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,MAAM,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const DefaultApiLimit = 100;
|
|
2
|
+
export { DefaultApiLimit };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFFNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRGVmYXVsdEFwaUxpbWl0ID0gMTAwO1xuXG5leHBvcnQgeyBEZWZhdWx0QXBpTGltaXQgfTtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boxEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/boxEntity.ts"],"names":[],"mappings":"AAEA,qBACa,SAAS;IAEpB,EAAE,EAAE,MAAM,CAAC;IAGX,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,CAAC;IAGd,WAAW,EAAE,MAAM,CAAC;IAGpB,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"boxEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/boxEntity.ts"],"names":[],"mappings":"AAEA,qBACa,SAAS;IAEpB,EAAE,EAAE,MAAM,CAAC;IAGX,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,CAAC;IAGd,WAAW,EAAE,MAAM,CAAC;IAGpB,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -16,6 +16,7 @@ let BoxEntity = class BoxEntity {
|
|
|
16
16
|
creationHeight;
|
|
17
17
|
serialized;
|
|
18
18
|
spendBlock;
|
|
19
|
+
spendHeight;
|
|
19
20
|
extractor;
|
|
20
21
|
};
|
|
21
22
|
__decorate([
|
|
@@ -46,6 +47,10 @@ __decorate([
|
|
|
46
47
|
Column({ nullable: true, type: 'text' }),
|
|
47
48
|
__metadata("design:type", Object)
|
|
48
49
|
], BoxEntity.prototype, "spendBlock", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
Column({ nullable: true }),
|
|
52
|
+
__metadata("design:type", Number)
|
|
53
|
+
], BoxEntity.prototype, "spendHeight", void 0);
|
|
49
54
|
__decorate([
|
|
50
55
|
Column(),
|
|
51
56
|
__metadata("design:type", String)
|
|
@@ -54,4 +59,4 @@ BoxEntity = __decorate([
|
|
|
54
59
|
Entity()
|
|
55
60
|
], BoxEntity);
|
|
56
61
|
export { BoxEntity };
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94RW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL2JveEVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUcxRCxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVM7SUFFcEIsRUFBRSxDQUFTO0lBR1gsT0FBTyxDQUFTO0lBR2hCLEtBQUssQ0FBUztJQUdkLFdBQVcsQ0FBUztJQUdwQixjQUFjLENBQVM7SUFHdkIsVUFBVSxDQUFTO0lBR25CLFVBQVUsQ0FBaUI7SUFHM0IsV0FBVyxDQUFVO0lBR3JCLFNBQVMsQ0FBUztDQUNuQixDQUFBO0FBMUJDO0lBQUMsc0JBQXNCLEVBQUU7O3FDQUNkO0FBRVg7SUFBQyxNQUFNLEVBQUU7OzBDQUNPO0FBRWhCO0lBQUMsTUFBTSxFQUFFOzt3Q0FDSztBQUVkO0lBQUMsTUFBTSxFQUFFOzs4Q0FDVztBQUVwQjtJQUFDLE1BQU0sRUFBRTs7aURBQ2M7QUFFdkI7SUFBQyxNQUFNLEVBQUU7OzZDQUNVO0FBRW5CO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7OzZDQUNkO0FBRTNCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzs4Q0FDTjtBQUVyQjtJQUFDLE1BQU0sRUFBRTs7NENBQ1M7QUExQlAsU0FBUztJQURyQixNQUFNLEVBQUU7R0FDSSxTQUFTLENBMkJyQjtTQTNCWSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBFbnRpdHksIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgQm94RW50aXR5IHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJveElkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGNyZWF0ZUJsb2NrOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGNyZWF0aW9uSGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIHNlcmlhbGl6ZWQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBzcGVuZEJsb2NrPzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGV4dHJhY3Rvcjogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { DataSource } from 'typeorm';
|
|
2
2
|
import * as ergoLib from 'ergo-lib-wasm-nodejs';
|
|
3
|
-
import { BoxEntityAction } from '../actions/db';
|
|
4
3
|
import { AbstractExtractor } from '@rosen-bridge/scanner';
|
|
5
4
|
import { AbstractLogger } from '@rosen-bridge/logger-interface';
|
|
6
5
|
import { BlockEntity } from '@rosen-bridge/scanner';
|
|
7
|
-
import { ExplorerApi } from '../network/ergoNetworkApi';
|
|
8
6
|
import { Transaction } from '@rosen-bridge/scanner';
|
|
7
|
+
import { ItemsOutputInfo, OutputInfo } from '@rosen-clients/ergo-explorer/dist/src/v1/types';
|
|
8
|
+
import { BoxEntityAction } from '../actions/boxAction';
|
|
9
|
+
import { ExtractedBox } from '../interfaces/types';
|
|
9
10
|
export declare class ErgoUTXOExtractor implements AbstractExtractor<Transaction> {
|
|
10
11
|
readonly logger: AbstractLogger;
|
|
11
12
|
private readonly dataSource;
|
|
@@ -14,9 +15,81 @@ export declare class ErgoUTXOExtractor implements AbstractExtractor<Transaction>
|
|
|
14
15
|
private readonly networkType;
|
|
15
16
|
private readonly ergoTree?;
|
|
16
17
|
private readonly tokens;
|
|
17
|
-
readonly
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
readonly api: {
|
|
19
|
+
v0: {
|
|
20
|
+
getApiV0AddressesP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").AddressInfo>;
|
|
21
|
+
getApiV0AddressesP1Transactions: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesP1TransactionsParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsTransactionInfo>;
|
|
22
|
+
getApiV0AddressesAssetholdersP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesAssetholdersP1Params | undefined) => Promise<string[]>;
|
|
23
|
+
getApiV0AddressesBalances: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesBalancesParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsBalanceInfo>;
|
|
24
|
+
getApiV0AssetsIssuingboxes: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AssetsIssuingboxesParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsOutputInfo>;
|
|
25
|
+
getApiV0AssetsP1Issuingbox: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
26
|
+
getApiV0Blocks: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0BlocksParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsBlockInfo>;
|
|
27
|
+
getApiV0BlocksP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").BlockSummary>;
|
|
28
|
+
getApiV0BlocksAtP1: (p1: number) => Promise<string[]>;
|
|
29
|
+
getApiV0DexTokensP1Unspentsellorders: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0DexTokensP1UnspentsellordersParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").DexSellOrderInfo[]>;
|
|
30
|
+
getApiV0DexTokensP1Unspentbuyorders: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0DexTokensP1UnspentbuyordersParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").DexBuyOrderInfo[]>;
|
|
31
|
+
getApiV0TransactionsP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").TransactionSummary>;
|
|
32
|
+
getApiV0TransactionsUnconfirmedP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").UTransactionSummary>;
|
|
33
|
+
getApiV0TransactionsUnconfirmedByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0TransactionsUnconfirmedByaddressP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsUTransactionInfo>;
|
|
34
|
+
getApiV0TransactionsUnconfirmed: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0TransactionsUnconfirmedParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsUTransactionInfo>;
|
|
35
|
+
getApiV0TransactionsSinceP1: (p1: number, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0TransactionsSinceP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").TransactionInfo[]>;
|
|
36
|
+
postApiV0TransactionsSend: (postApiV0TransactionsSendBody: import("@rosen-clients/ergo-explorer/dist/src/v0/types").PostApiV0TransactionsSendBody) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").TxIdResponse>;
|
|
37
|
+
getApiV0TransactionsBoxesP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo>;
|
|
38
|
+
getApiV0TransactionsBoxesByergotreeP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
39
|
+
getApiV0TransactionsBoxesByergotreeUnspentP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
40
|
+
getApiV0TransactionsBoxesByaddressP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
41
|
+
getApiV0TransactionsBoxesByaddressUnspentP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
42
|
+
getApiV0Info: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").BlockChainInfo>;
|
|
43
|
+
getApiV0InfoSupply: () => Promise<string>;
|
|
44
|
+
getApiV0Stats: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").StatsSummary>;
|
|
45
|
+
getApiV0DocsOpenapi: () => Promise<string>;
|
|
46
|
+
};
|
|
47
|
+
v1: {
|
|
48
|
+
getApiV1TransactionsP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TransactionInfo>;
|
|
49
|
+
getApiV1TransactionsByinputsscripttemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TransactionsByinputsscripttemplatehashP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTransactionInfo>;
|
|
50
|
+
getApiV1TransactionsByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TransactionsByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListTransactionInfo>;
|
|
51
|
+
getApiV1BoxesUnspentBylastepochsStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentBylastepochsStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
52
|
+
getApiV1BoxesUnspentByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
53
|
+
getApiV1BoxesUnspentStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
54
|
+
getApiV1BoxesByergotreetemplatehashP1Stream: (p1: string, params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByergotreetemplatehashP1StreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
55
|
+
getApiV1BoxesUnspentByergotreetemplatehashP1Stream: (p1: string, params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByergotreetemplatehashP1StreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
56
|
+
getApiV1BoxesUnspentBytokenidP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentBytokenidP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
57
|
+
getApiV1BoxesBytokenidP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesBytokenidP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
58
|
+
getApiV1BoxesP1: (p1: string) => Promise<OutputInfo>;
|
|
59
|
+
getApiV1BoxesByergotreeP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByergotreeP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
60
|
+
getApiV1BoxesByergotreetemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByergotreetemplatehashP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
61
|
+
getApiV1BoxesUnspentByergotreeP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByergotreeP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
62
|
+
getApiV1BoxesUnspentByergotreetemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByergotreetemplatehashP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
63
|
+
getApiV1BoxesByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByaddressP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
64
|
+
getApiV1BoxesUnspentByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByaddressP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
65
|
+
getApiV1BoxesByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
66
|
+
postApiV1BoxesUnspentSearchUnion: (boxAssetsQuery: import("@rosen-clients/ergo-explorer/dist/src/v1/types").BoxAssetsQuery, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1BoxesUnspentSearchUnionParams | undefined) => Promise<ItemsOutputInfo>;
|
|
67
|
+
postApiV1BoxesUnspentSearch: (boxQuery: import("@rosen-clients/ergo-explorer/dist/src/v1/types").BoxQuery, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1BoxesUnspentSearchParams | undefined) => Promise<ItemsOutputInfo>;
|
|
68
|
+
postApiV1BoxesSearch: (boxQuery: import("@rosen-clients/ergo-explorer/dist/src/v1/types").BoxQuery, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1BoxesSearchParams | undefined) => Promise<ItemsOutputInfo>;
|
|
69
|
+
getApiV1Tokens: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TokensParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTokenInfo>;
|
|
70
|
+
getApiV1TokensSearch: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TokensSearchParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTokenInfo>;
|
|
71
|
+
getApiV1TokensBysymbolP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TokenInfo[]>;
|
|
72
|
+
getApiV1TokensP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TokenInfo>;
|
|
73
|
+
getApiV1Assets: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AssetsParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTokenInfo>;
|
|
74
|
+
getApiV1AssetsSearchBytokenid: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AssetsSearchBytokenidParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsAssetInfo>;
|
|
75
|
+
getApiV1EpochsParams: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").EpochInfo>;
|
|
76
|
+
getApiV1AddressesP1Transactions: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AddressesP1TransactionsParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTransactionInfo>;
|
|
77
|
+
getApiV1AddressesP1BalanceConfirmed: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AddressesP1BalanceConfirmedParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").Balance>;
|
|
78
|
+
getApiV1AddressesP1BalanceTotal: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TotalBalance>;
|
|
79
|
+
getApiV1Blocks: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsBlockInfo>;
|
|
80
|
+
getApiV1BlocksP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").BlockSummary>;
|
|
81
|
+
getApiV1BlocksHeaders: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksHeadersParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsBlockHeader>;
|
|
82
|
+
getApiV1BlocksByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListBlockInfo>;
|
|
83
|
+
getApiV1BlocksStreamSummary: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksStreamSummaryParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListBlockSummaryV1>;
|
|
84
|
+
postApiV1MempoolTransactionsSubmit: (postApiV1MempoolTransactionsSubmitBody: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1MempoolTransactionsSubmitBody) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TxIdResponse>;
|
|
85
|
+
getApiV1MempoolTransactionsByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1MempoolTransactionsByaddressP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsUTransactionInfo>;
|
|
86
|
+
getApiV1MempoolBoxesUnspent: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
87
|
+
getApiV1Info: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").NetworkState>;
|
|
88
|
+
getApiV1Networkstate: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").NetworkState>;
|
|
89
|
+
getApiV1Networkstats: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").NetworkStats>;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
constructor(dataSource: DataSource, id: string, networkType: ergoLib.NetworkPrefix, explorerUrl: string, address?: string, tokens?: Array<string>, logger?: AbstractLogger);
|
|
20
93
|
/**
|
|
21
94
|
* get Id for current extractor
|
|
22
95
|
*/
|
|
@@ -37,5 +110,41 @@ export declare class ErgoUTXOExtractor implements AbstractExtractor<Transaction>
|
|
|
37
110
|
* Initializes the database with older boxes related to the address
|
|
38
111
|
*/
|
|
39
112
|
initializeBoxes: (initialHeight: number) => Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Validate all remaining boxes in the database
|
|
115
|
+
* update the correct ones and remove the invalid ones
|
|
116
|
+
* @param unchangedStoredBoxIds
|
|
117
|
+
* @param initialHeight
|
|
118
|
+
*/
|
|
119
|
+
validateOldStoredBoxes: (unchangedStoredBoxIds: Array<string>, initialHeight: number) => Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Return extracted information of a box
|
|
122
|
+
* @param boxId
|
|
123
|
+
*/
|
|
124
|
+
getBoxInfoWithBoxId: (boxId: string) => Promise<ExtractedBox | undefined>;
|
|
125
|
+
/**
|
|
126
|
+
* Get unspent boxes created bellow the initial height
|
|
127
|
+
* @param initialHeight
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
getUnspentBoxes: (initialHeight: number) => Promise<Array<ExtractedBox>>;
|
|
131
|
+
/**
|
|
132
|
+
* Returns block information of tx
|
|
133
|
+
* @param txId
|
|
134
|
+
*/
|
|
135
|
+
getTxBlock: (txId: string) => Promise<{
|
|
136
|
+
id: string;
|
|
137
|
+
height: number;
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* Extract needed information for storing in database from api json outputs
|
|
141
|
+
* @param boxes
|
|
142
|
+
*/
|
|
143
|
+
extractBoxData: (boxes: Array<OutputInfo>) => Promise<ExtractedBox[]>;
|
|
144
|
+
/**
|
|
145
|
+
* Returns true if box has the required token and false otherwise
|
|
146
|
+
* @param box
|
|
147
|
+
*/
|
|
148
|
+
boxHasToken: (box: OutputInfo) => boolean;
|
|
40
149
|
}
|
|
41
150
|
//# sourceMappingURL=ergoUtxoExtractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ergoUtxoExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/ergoUtxoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ergoUtxoExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/ergoUtxoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,iBAAkB,YAAW,iBAAiB,CAAC,WAAW,CAAC;IACtE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAC;gBAGX,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,CAAC,aAAa,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,MAAM,CAAC,EAAE,cAAc;IAczB;;OAEG;IACH,KAAK,eAAsB;IAE3B;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAyDjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;OAEG;IACH,eAAe,kBAAyB,MAAM,mBA2B5C;IAEF;;;;;OAKG;IACH,sBAAsB,0BACG,MAAM,MAAM,CAAC,iBACrB,MAAM,mBAmBrB;IAEF;;;OAGG;IACH,mBAAmB,UACV,MAAM,KACZ,QAAQ,YAAY,GAAG,SAAS,CAAC,CAQlC;IAEF;;;;OAIG;IACH,eAAe,kBACE,MAAM,KACpB,QAAQ,MAAM,YAAY,CAAC,CAAC,CAmC7B;IAEF;;;OAGG;IACH,UAAU,SAAgB,MAAM;;;OAM9B;IAEF;;;OAGG;IACH,cAAc,UAAiB,MAAM,UAAU,CAAC,6BA2B9C;IAEF;;;OAGG;IACH,WAAW,QAAS,UAAU,aAM5B;CACH"}
|