@my-packages-changeit/watcher-data-extractor 13.0.10
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 +394 -0
- package/README.md +74 -0
- package/dist/actions/collateralAction.d.ts +25 -0
- package/dist/actions/collateralAction.d.ts.map +1 -0
- package/dist/actions/collateralAction.js +34 -0
- package/dist/actions/commitmentAction.d.ts +43 -0
- package/dist/actions/commitmentAction.d.ts.map +1 -0
- package/dist/actions/commitmentAction.js +138 -0
- package/dist/actions/eventTriggerAction.d.ts +29 -0
- package/dist/actions/eventTriggerAction.d.ts.map +1 -0
- package/dist/actions/eventTriggerAction.js +101 -0
- package/dist/actions/permitAction.d.ts +73 -0
- package/dist/actions/permitAction.d.ts.map +1 -0
- package/dist/actions/permitAction.js +187 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/entities/collateralEntity.d.ts +8 -0
- package/dist/entities/collateralEntity.d.ts.map +1 -0
- package/dist/entities/collateralEntity.js +34 -0
- package/dist/entities/commitmentEntity.d.ts +19 -0
- package/dist/entities/commitmentEntity.d.ts.map +1 -0
- package/dist/entities/commitmentEntity.js +93 -0
- package/dist/entities/eventTriggerEntity.d.ts +24 -0
- package/dist/entities/eventTriggerEntity.d.ts.map +1 -0
- package/dist/entities/eventTriggerEntity.js +113 -0
- package/dist/entities/permitEntity.d.ts +14 -0
- package/dist/entities/permitEntity.d.ts.map +1 -0
- package/dist/entities/permitEntity.js +68 -0
- package/dist/extractor/collateralExtractor.d.ts +31 -0
- package/dist/extractor/collateralExtractor.d.ts.map +1 -0
- package/dist/extractor/collateralExtractor.js +72 -0
- package/dist/extractor/commitmentExtractor.d.ts +46 -0
- package/dist/extractor/commitmentExtractor.d.ts.map +1 -0
- package/dist/extractor/commitmentExtractor.js +125 -0
- package/dist/extractor/eventTriggerExtractor.d.ts +57 -0
- package/dist/extractor/eventTriggerExtractor.d.ts.map +1 -0
- package/dist/extractor/eventTriggerExtractor.js +215 -0
- package/dist/extractor/permitExtractor.d.ts +150 -0
- package/dist/extractor/permitExtractor.d.ts.map +1 -0
- package/dist/extractor/permitExtractor.js +235 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/interfaces/extractedCollateral.d.ts +9 -0
- package/dist/interfaces/extractedCollateral.d.ts.map +1 -0
- package/dist/interfaces/extractedCollateral.js +2 -0
- package/dist/interfaces/extractedCommitment.d.ts +11 -0
- package/dist/interfaces/extractedCommitment.d.ts.map +1 -0
- package/dist/interfaces/extractedCommitment.js +2 -0
- package/dist/interfaces/extractedEventTrigger.d.ts +22 -0
- package/dist/interfaces/extractedEventTrigger.d.ts.map +1 -0
- package/dist/interfaces/extractedEventTrigger.js +2 -0
- package/dist/interfaces/extractedPermit.d.ts +12 -0
- package/dist/interfaces/extractedPermit.d.ts.map +1 -0
- package/dist/interfaces/extractedPermit.js +2 -0
- package/dist/interfaces/types.d.ts +25 -0
- package/dist/interfaces/types.d.ts.map +1 -0
- package/dist/interfaces/types.js +2 -0
- package/dist/migrations/index.d.ts +7 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +45 -0
- package/dist/migrations/postgres/1688554842087-migration.d.ts +7 -0
- package/dist/migrations/postgres/1688554842087-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1688554842087-migration.js +82 -0
- package/dist/migrations/postgres/1689175974257-migration.d.ts +7 -0
- package/dist/migrations/postgres/1689175974257-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1689175974257-migration.js +50 -0
- package/dist/migrations/postgres/1699874447928-migration.d.ts +7 -0
- package/dist/migrations/postgres/1699874447928-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1699874447928-migration.js +36 -0
- package/dist/migrations/postgres/1706610773315-migration.d.ts +7 -0
- package/dist/migrations/postgres/1706610773315-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1706610773315-migration.js +69 -0
- package/dist/migrations/postgres/1709388482275-migration.d.ts +7 -0
- package/dist/migrations/postgres/1709388482275-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1709388482275-migration.js +29 -0
- package/dist/migrations/postgres/1737785036299-migration.d.ts +7 -0
- package/dist/migrations/postgres/1737785036299-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1737785036299-migration.js +32 -0
- package/dist/migrations/postgres/1746354253000-migration.d.ts +7 -0
- package/dist/migrations/postgres/1746354253000-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1746354253000-migration.js +15 -0
- package/dist/migrations/postgres/1758958886549-migration.d.ts +7 -0
- package/dist/migrations/postgres/1758958886549-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1758958886549-migration.js +30 -0
- package/dist/migrations/postgres/1766843825000-migration.d.ts +7 -0
- package/dist/migrations/postgres/1766843825000-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1766843825000-migration.js +42 -0
- package/dist/migrations/sqlite/1688555766601-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1688555766601-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1688555766601-migration.js +79 -0
- package/dist/migrations/sqlite/1689175103163-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1689175103163-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1689175103163-migration.js +392 -0
- package/dist/migrations/sqlite/1699872205117-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1699872205117-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1699872205117-migration.js +192 -0
- package/dist/migrations/sqlite/1706610773176-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1706610773176-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1706610773176-migration.js +421 -0
- package/dist/migrations/sqlite/1709388134975-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1709388134975-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1709388134975-migration.js +28 -0
- package/dist/migrations/sqlite/1737547743177-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1737547743177-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1737547743177-migration.js +204 -0
- package/dist/migrations/sqlite/1746354254000-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1746354254000-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1746354254000-migration.js +15 -0
- package/dist/migrations/sqlite/1761774736153-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1761774736153-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1761774736153-migration.js +204 -0
- package/dist/migrations/sqlite/1762768664031-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1762768664031-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1762768664031-migration.js +204 -0
- package/dist/migrations/sqlite/1766843824000-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1766843824000-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1766843824000-migration.js +109 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/utils.d.ts +25 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +29 -0
- package/package.json +50 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
|
|
2
|
+
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
3
|
+
import { DataSource, SelectQueryBuilder } from '@rosen-bridge/extended-typeorm';
|
|
4
|
+
import { BlockInfo, Transaction } from '@rosen-bridge/scanner-interfaces';
|
|
5
|
+
import { V1 } from '@rosen-clients/ergo-explorer';
|
|
6
|
+
import PermitAction from '../actions/permitAction';
|
|
7
|
+
import PermitEntity from '../entities/permitEntity';
|
|
8
|
+
import { ExtractedPermit } from '../interfaces/extractedPermit';
|
|
9
|
+
declare class PermitExtractor extends AbstractExtractor<Transaction, PermitEntity> {
|
|
10
|
+
readonly logger: AbstractLogger;
|
|
11
|
+
id: string;
|
|
12
|
+
private readonly dataSource;
|
|
13
|
+
readonly actions: PermitAction;
|
|
14
|
+
private readonly permitErgoTree;
|
|
15
|
+
private readonly RWT;
|
|
16
|
+
readonly explorerApi: {
|
|
17
|
+
v0: {
|
|
18
|
+
getApiV0AddressesP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0AddressesP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").AddressInfo>;
|
|
19
|
+
getApiV0AddressesP1Transactions: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0AddressesP1TransactionsParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").ItemsTransactionInfo>;
|
|
20
|
+
getApiV0AddressesAssetholdersP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0AddressesAssetholdersP1Params) => Promise<string[]>;
|
|
21
|
+
getApiV0AddressesBalances: (params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0AddressesBalancesParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").ItemsBalanceInfo>;
|
|
22
|
+
getApiV0AssetsIssuingboxes: (params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0AssetsIssuingboxesParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").ItemsOutputInfo>;
|
|
23
|
+
getApiV0AssetsP1Issuingbox: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").OutputInfo[]>;
|
|
24
|
+
getApiV0Blocks: (params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0BlocksParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").ItemsBlockInfo>;
|
|
25
|
+
getApiV0BlocksP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").BlockSummary>;
|
|
26
|
+
getApiV0BlocksAtP1: (p1: number) => Promise<string[]>;
|
|
27
|
+
getApiV0DexTokensP1Unspentsellorders: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0DexTokensP1UnspentsellordersParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").DexSellOrderInfo[]>;
|
|
28
|
+
getApiV0DexTokensP1Unspentbuyorders: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0DexTokensP1UnspentbuyordersParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").DexBuyOrderInfo[]>;
|
|
29
|
+
getApiV0TransactionsP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").TransactionSummary>;
|
|
30
|
+
getApiV0TransactionsUnconfirmedP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").UTransactionSummary>;
|
|
31
|
+
getApiV0TransactionsUnconfirmedByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0TransactionsUnconfirmedByaddressP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").ItemsUTransactionInfo>;
|
|
32
|
+
getApiV0TransactionsUnconfirmed: (params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0TransactionsUnconfirmedParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").ItemsUTransactionInfo>;
|
|
33
|
+
getApiV0TransactionsSinceP1: (p1: number, params?: import("@rosen-clients/ergo-explorer/dist/v0/types").GetApiV0TransactionsSinceP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").TransactionInfo[]>;
|
|
34
|
+
postApiV0TransactionsSend: (postApiV0TransactionsSendBody: import("@rosen-clients/ergo-explorer/dist/v0/types").PostApiV0TransactionsSendBody) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").TxIdResponse>;
|
|
35
|
+
getApiV0TransactionsBoxesP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").OutputInfo>;
|
|
36
|
+
getApiV0TransactionsBoxesByergotreeP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").OutputInfo[]>;
|
|
37
|
+
getApiV0TransactionsBoxesByergotreeUnspentP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").OutputInfo[]>;
|
|
38
|
+
getApiV0TransactionsBoxesByaddressP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").OutputInfo[]>;
|
|
39
|
+
getApiV0TransactionsBoxesByaddressUnspentP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").OutputInfo[]>;
|
|
40
|
+
getApiV0Info: () => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").BlockChainInfo>;
|
|
41
|
+
getApiV0InfoSupply: () => Promise<string>;
|
|
42
|
+
getApiV0Stats: () => Promise<import("@rosen-clients/ergo-explorer/dist/v0/types").StatsSummary>;
|
|
43
|
+
getApiV0DocsOpenapi: () => Promise<string>;
|
|
44
|
+
};
|
|
45
|
+
v1: {
|
|
46
|
+
getApiV1TransactionsP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").TransactionInfo>;
|
|
47
|
+
getApiV1TransactionsByinputsscripttemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1TransactionsByinputsscripttemplatehashP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsTransactionInfo>;
|
|
48
|
+
getApiV1TransactionsByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1TransactionsByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListTransactionInfo>;
|
|
49
|
+
getApiV1BoxesUnspentBylastepochsStream: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentBylastepochsStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListOutputInfo>;
|
|
50
|
+
getApiV1BoxesUnspentByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListOutputInfo>;
|
|
51
|
+
getApiV1BoxesUnspentStream: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListOutputInfo>;
|
|
52
|
+
getApiV1BoxesByergotreetemplatehashP1Stream: (p1: string, params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesByergotreetemplatehashP1StreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListOutputInfo>;
|
|
53
|
+
getApiV1BoxesUnspentByergotreetemplatehashP1Stream: (p1: string, params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentByergotreetemplatehashP1StreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListOutputInfo>;
|
|
54
|
+
getApiV1BoxesUnspentBytokenidP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentBytokenidP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
55
|
+
getApiV1BoxesBytokenidP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesBytokenidP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
56
|
+
getApiV1BoxesP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").OutputInfo>;
|
|
57
|
+
getApiV1BoxesByergotreeP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesByergotreeP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
58
|
+
getApiV1BoxesByergotreetemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesByergotreetemplatehashP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
59
|
+
getApiV1BoxesUnspentByergotreeP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentByergotreeP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
60
|
+
getApiV1BoxesUnspentByergotreetemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentByergotreetemplatehashP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
61
|
+
getApiV1BoxesByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesByaddressP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
62
|
+
getApiV1BoxesUnspentUnconfirmedByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentUnconfirmedByaddressP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").MOutputInfo[]>;
|
|
63
|
+
getApiV1BoxesUnspentByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesUnspentByaddressP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
64
|
+
getApiV1BoxesByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BoxesByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListOutputInfo>;
|
|
65
|
+
postApiV1BoxesUnspentSearchUnion: (boxAssetsQuery: import("@rosen-clients/ergo-explorer/dist/v1/types").BoxAssetsQuery, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").PostApiV1BoxesUnspentSearchUnionParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
66
|
+
postApiV1BoxesUnspentSearch: (boxQuery: import("@rosen-clients/ergo-explorer/dist/v1/types").BoxQuery, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").PostApiV1BoxesUnspentSearchParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
67
|
+
postApiV1BoxesSearch: (boxQuery: import("@rosen-clients/ergo-explorer/dist/v1/types").BoxQuery, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").PostApiV1BoxesSearchParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsOutputInfo>;
|
|
68
|
+
getApiV1Tokens: (params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1TokensParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsTokenInfo>;
|
|
69
|
+
getApiV1TokensSearch: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1TokensSearchParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsTokenInfo>;
|
|
70
|
+
getApiV1TokensBysymbolP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").TokenInfo[]>;
|
|
71
|
+
getApiV1TokensP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").TokenInfo>;
|
|
72
|
+
getApiV1Assets: (params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1AssetsParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsTokenInfo>;
|
|
73
|
+
getApiV1AssetsSearchBytokenid: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1AssetsSearchBytokenidParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsAssetInfo>;
|
|
74
|
+
getApiV1EpochsParams: () => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").EpochInfo>;
|
|
75
|
+
getApiV1AddressesP1Transactions: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1AddressesP1TransactionsParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsTransactionInfo>;
|
|
76
|
+
getApiV1AddressesP1BalanceConfirmed: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1AddressesP1BalanceConfirmedParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").Balance>;
|
|
77
|
+
getApiV1AddressesP1BalanceTotal: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").TotalBalance>;
|
|
78
|
+
getApiV1Blocks: (params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BlocksParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsBlockInfo>;
|
|
79
|
+
getApiV1BlocksP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").BlockSummary>;
|
|
80
|
+
getApiV1BlocksHeaders: (params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BlocksHeadersParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsBlockHeader>;
|
|
81
|
+
getApiV1BlocksByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BlocksByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListBlockInfo>;
|
|
82
|
+
getApiV1BlocksStreamSummary: (params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1BlocksStreamSummaryParams) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListBlockSummaryV1>;
|
|
83
|
+
postApiV1MempoolTransactionsSubmit: (postApiV1MempoolTransactionsSubmitBody: import("@rosen-clients/ergo-explorer/dist/v1/types").PostApiV1MempoolTransactionsSubmitBody) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").TxIdResponse>;
|
|
84
|
+
getApiV1MempoolTransactionsByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/v1/types").GetApiV1MempoolTransactionsByaddressP1Params) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ItemsUTransactionInfo>;
|
|
85
|
+
getApiV1MempoolBoxesUnspent: () => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ListOutputInfo>;
|
|
86
|
+
getApiV1Info: () => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").NetworkState>;
|
|
87
|
+
getApiV1Networkstate: () => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").NetworkState>;
|
|
88
|
+
getApiV1Networkstats: () => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").NetworkStats>;
|
|
89
|
+
postApiV1ErgotreeConvert: (ergoTreeConversionRequest: import("@rosen-clients/ergo-explorer/dist/v1/types").ErgoTreeConversionRequest) => Promise<import("@rosen-clients/ergo-explorer/dist/v1/types").ErgoTreeHuman>;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
constructor(id: string, dataSource: DataSource, address: string, RWT: string, explorerUrl: string, logger?: AbstractLogger);
|
|
93
|
+
getId: () => string;
|
|
94
|
+
/**
|
|
95
|
+
* gets block id and transactions corresponding to the block and saves if they are valid rosen
|
|
96
|
+
* transactions and in case of success return true and in case of failure returns false
|
|
97
|
+
* @param block
|
|
98
|
+
* @param txs
|
|
99
|
+
*/
|
|
100
|
+
processTransactions: (txs: Array<Transaction>, block: BlockInfo) => Promise<boolean>;
|
|
101
|
+
forkBlock: (hash: string) => Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Initializes the database with older permits related to the address
|
|
104
|
+
*/
|
|
105
|
+
initializeData: (initialBlock: BlockInfo) => Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Validate all remaining permits in the database
|
|
108
|
+
* update the correct ones and remove the invalid ones
|
|
109
|
+
* @param unchangedStoredBoxIds
|
|
110
|
+
* @param initialHeight
|
|
111
|
+
*/
|
|
112
|
+
validateOldStoredPermits: (unchangedStoredBoxIds: Array<string>, initialHeight: number) => Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Return extracted permit from a box
|
|
115
|
+
* @param boxId
|
|
116
|
+
*/
|
|
117
|
+
getPermitWithBoxId: (boxId: string) => Promise<ExtractedPermit | undefined>;
|
|
118
|
+
/**
|
|
119
|
+
* Return all unspent permits
|
|
120
|
+
* @param initialHeight
|
|
121
|
+
* @returns
|
|
122
|
+
*/
|
|
123
|
+
getAllUnspentPermits: (initialHeight: number) => Promise<Array<ExtractedPermit>>;
|
|
124
|
+
/**
|
|
125
|
+
* Returns block information of tx
|
|
126
|
+
* @param txId
|
|
127
|
+
*/
|
|
128
|
+
getTxBlock: (txId: string) => Promise<{
|
|
129
|
+
id: string;
|
|
130
|
+
height: number;
|
|
131
|
+
}>;
|
|
132
|
+
/**
|
|
133
|
+
* Extract permit data from json boxes
|
|
134
|
+
* and filter to fit in a specified height range
|
|
135
|
+
* @param boxes
|
|
136
|
+
* @param toHeight
|
|
137
|
+
* @param heightDifference
|
|
138
|
+
* @returns extracted permit
|
|
139
|
+
*/
|
|
140
|
+
extractPermitData: (boxes: Array<V1.OutputInfo>) => Promise<ExtractedPermit[]>;
|
|
141
|
+
/**
|
|
142
|
+
* Builds a query that returns used blocks by selecting the `block` column from the `PermitEntity` repository,
|
|
143
|
+
* filtered by the provided `extractorId`
|
|
144
|
+
*
|
|
145
|
+
* @returns A query builder selecting used blocks
|
|
146
|
+
*/
|
|
147
|
+
createUsedBlocksQuery: () => SelectQueryBuilder<PermitEntity>;
|
|
148
|
+
}
|
|
149
|
+
export default PermitExtractor;
|
|
150
|
+
//# sourceMappingURL=permitExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permitExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/permitExtractor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAkC,EAAE,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,cAAM,eAAgB,SAAQ,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC;IACxE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,QAAQ,CAAC,WAAW;;oDAtBqB,CAAC;gEAIJ,CAAC;gEAEmB,CAAC;8CAG5B,CAAC;+CAGF,CAAA;;mCAMO,CAAC;;;qEAepC,CAAF;oEAMI,CAAC;;;2EAY0C,CAAC;oDAO/B,CAAC;4DAKL,CAAC;;;;;;;;;;;;;;iFAiCJ,CADL;;;;;;;gEA4CyB,CAAC;yDAIzB,CAAH;;0DAI+D,CAAC;sEAIL,CAAC;iEAMvD,CAAC;6EAGiD,CAAC;yDAOrD,CAAC;2EAM6B,CAAC;gEAI7B,CAAR;;0IAmBA,CAJC;yHAQqB,CAAC;kHAInB,CAAA;mCASY,CAAC;;;;mCAYO,CAAC;;;gEASL,CAAC;oEAUgB,CAAC;;mCAUD,CAAC;;0CAOD,CAAC;;gDAQ9B,CAAN;;uEAUM,CAAL;;;;;;;MAjQkB;gBAGnB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAiBzB,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,GACjB,KAAK,KAAK,CAAC,WAAW,CAAC,EACvB,OAAO,SAAS,KACf,OAAO,CAAC,OAAO,CAAC,CAoEjB;IAEF,SAAS,GAAU,MAAM,MAAM,mBAE7B;IAEF;;OAEG;IACH,cAAc,GAAU,cAAc,SAAS,mBA0B7C;IAEF;;;;;OAKG;IACH,wBAAwB,GACtB,uBAAuB,KAAK,CAAC,MAAM,CAAC,EACpC,eAAe,MAAM,mBAmBrB;IAEF;;;OAGG;IACH,kBAAkB,GAChB,OAAO,MAAM,KACZ,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAQrC;IAEF;;;;OAIG;IACH,oBAAoB,GAClB,eAAe,MAAM,KACpB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAuBhC;IAEF;;;OAGG;IACH,UAAU,GAAU,MAAM,MAAM;;;OAM9B;IAEF;;;;;;;OAOG;IACH,iBAAiB,GAAU,OAAO,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,gCA4BpD;IAEF;;;;;OAKG;IACH,qBAAqB,QAAO,kBAAkB,CAAC,YAAY,CAAC,CACT;CACpD;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { Buffer } from 'buffer';
|
|
2
|
+
import * as wasm from 'ergo-lib-wasm-nodejs';
|
|
3
|
+
import * as ergoLib from 'ergo-lib-wasm-nodejs';
|
|
4
|
+
import { difference } from 'lodash-es';
|
|
5
|
+
import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
|
|
6
|
+
import { DummyLogger } from '@rosen-bridge/abstract-logger';
|
|
7
|
+
import ergoExplorerClientFactory from '@rosen-clients/ergo-explorer';
|
|
8
|
+
import PermitAction from '../actions/permitAction';
|
|
9
|
+
import { DefaultApiLimit } from '../constants';
|
|
10
|
+
import { JsonBI } from '../utils';
|
|
11
|
+
class PermitExtractor extends AbstractExtractor {
|
|
12
|
+
logger;
|
|
13
|
+
id;
|
|
14
|
+
dataSource;
|
|
15
|
+
actions;
|
|
16
|
+
permitErgoTree;
|
|
17
|
+
RWT;
|
|
18
|
+
explorerApi;
|
|
19
|
+
constructor(id, dataSource, address, RWT, explorerUrl, logger) {
|
|
20
|
+
super();
|
|
21
|
+
this.id = id;
|
|
22
|
+
this.dataSource = dataSource;
|
|
23
|
+
this.permitErgoTree = wasm.Address.from_base58(address)
|
|
24
|
+
.to_ergo_tree()
|
|
25
|
+
.to_base16_bytes();
|
|
26
|
+
this.RWT = RWT;
|
|
27
|
+
this.logger = logger ? logger : new DummyLogger();
|
|
28
|
+
this.actions = new PermitAction(dataSource, this.logger.child('PermitAction'));
|
|
29
|
+
this.explorerApi = ergoExplorerClientFactory(explorerUrl);
|
|
30
|
+
}
|
|
31
|
+
getId = () => this.id;
|
|
32
|
+
/**
|
|
33
|
+
* gets block id and transactions corresponding to the block and saves if they are valid rosen
|
|
34
|
+
* transactions and in case of success return true and in case of failure returns false
|
|
35
|
+
* @param block
|
|
36
|
+
* @param txs
|
|
37
|
+
*/
|
|
38
|
+
processTransactions = (txs, block) => {
|
|
39
|
+
return new Promise((resolve, reject) => {
|
|
40
|
+
try {
|
|
41
|
+
const boxes = [];
|
|
42
|
+
const spendIds = [];
|
|
43
|
+
txs.forEach((transaction) => {
|
|
44
|
+
for (const output of transaction.outputs) {
|
|
45
|
+
try {
|
|
46
|
+
if (output.additionalRegisters &&
|
|
47
|
+
output.additionalRegisters.R4 &&
|
|
48
|
+
output.assets &&
|
|
49
|
+
output.assets.length > 0 &&
|
|
50
|
+
output.assets[0].tokenId === this.RWT &&
|
|
51
|
+
output.ergoTree === this.permitErgoTree) {
|
|
52
|
+
const boxOutput = wasm.ErgoBox.from_json(JsonBI.stringify(output));
|
|
53
|
+
const r4 = boxOutput.register_value(wasm.NonMandatoryRegisterId.R4);
|
|
54
|
+
if (r4) {
|
|
55
|
+
const R4Serialized = r4.to_byte_array();
|
|
56
|
+
if (R4Serialized.length >= 1) {
|
|
57
|
+
boxes.push({
|
|
58
|
+
boxId: output.boxId,
|
|
59
|
+
boxSerialized: Buffer.from(boxOutput.sigma_serialize_bytes()).toString('base64'),
|
|
60
|
+
WID: Buffer.from(R4Serialized).toString('hex'),
|
|
61
|
+
txId: output.transactionId,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// empty
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// process inputs
|
|
72
|
+
for (const input of transaction.inputs) {
|
|
73
|
+
spendIds.push(input.boxId);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
this.actions
|
|
77
|
+
.storePermits(boxes, block, this.getId())
|
|
78
|
+
.then(() => {
|
|
79
|
+
this.actions
|
|
80
|
+
.spendPermits(spendIds, block, this.getId())
|
|
81
|
+
.then(() => {
|
|
82
|
+
resolve(true);
|
|
83
|
+
});
|
|
84
|
+
})
|
|
85
|
+
.catch((e) => {
|
|
86
|
+
this.logger.error(`Error in storing permits of the block ${block}: ${e}`);
|
|
87
|
+
reject(e);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
this.logger.error(`block ${block} doesn't save in the database with error: ${e}`);
|
|
92
|
+
reject(e);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
forkBlock = async (hash) => {
|
|
97
|
+
await this.actions.deleteBlock(hash, this.getId());
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Initializes the database with older permits related to the address
|
|
101
|
+
*/
|
|
102
|
+
initializeData = async (initialBlock) => {
|
|
103
|
+
let allStoredBoxIds = await this.actions.getAllPermitBoxIds(this.getId());
|
|
104
|
+
// Extract unspent permits
|
|
105
|
+
const unspentPermits = await this.getAllUnspentPermits(initialBlock.height);
|
|
106
|
+
const unspentBoxIds = unspentPermits.map((box) => box.boxId);
|
|
107
|
+
// Storing extracted permits
|
|
108
|
+
for (const permit of unspentPermits) {
|
|
109
|
+
if (allStoredBoxIds.includes(permit.boxId)) {
|
|
110
|
+
await this.actions.updatePermit(permit, this.getId());
|
|
111
|
+
this.logger.info(`Updated the existing unspent permit with boxId, [${permit.boxId}]`);
|
|
112
|
+
this.logger.debug(`Updated permit [${JSON.stringify(permit)}]`);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
await this.actions.insertPermit(permit, this.getId());
|
|
116
|
+
this.logger.info(`Inserted new unspent permit with boxId, [${permit.boxId}]`);
|
|
117
|
+
this.logger.debug(`Inserted permit [${JSON.stringify(permit)}]`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Remove updated permits from existing permits in database
|
|
121
|
+
allStoredBoxIds = difference(allStoredBoxIds, unspentBoxIds);
|
|
122
|
+
// Validating remained permits
|
|
123
|
+
// TODO: Fix validation process
|
|
124
|
+
// await this.validateOldStoredPermits(allStoredBoxIds, initialHeight);
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Validate all remaining permits in the database
|
|
128
|
+
* update the correct ones and remove the invalid ones
|
|
129
|
+
* @param unchangedStoredBoxIds
|
|
130
|
+
* @param initialHeight
|
|
131
|
+
*/
|
|
132
|
+
validateOldStoredPermits = async (unchangedStoredBoxIds, initialHeight) => {
|
|
133
|
+
for (const boxId of unchangedStoredBoxIds) {
|
|
134
|
+
const permit = await this.getPermitWithBoxId(boxId);
|
|
135
|
+
if (permit && permit.spendBlock && permit.spendHeight) {
|
|
136
|
+
if (permit.spendHeight < initialHeight)
|
|
137
|
+
await this.actions.updateSpendBlock(boxId, this.getId(), permit.spendBlock, permit.spendHeight);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
await this.actions.removePermit(boxId, this.getId());
|
|
141
|
+
this.logger.info(`Removed invalid box [${boxId}] in initialization validation`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Return extracted permit from a box
|
|
147
|
+
* @param boxId
|
|
148
|
+
*/
|
|
149
|
+
getPermitWithBoxId = async (boxId) => {
|
|
150
|
+
try {
|
|
151
|
+
const box = await this.explorerApi.v1.getApiV1BoxesP1(boxId);
|
|
152
|
+
return (await this.extractPermitData([box]))[0];
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
this.logger.warn(`Permit with boxId ${boxId} does not exist`);
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Return all unspent permits
|
|
161
|
+
* @param initialHeight
|
|
162
|
+
* @returns
|
|
163
|
+
*/
|
|
164
|
+
getAllUnspentPermits = async (initialHeight) => {
|
|
165
|
+
let extractedBoxes = [];
|
|
166
|
+
let offset = 0, total = DefaultApiLimit;
|
|
167
|
+
while (offset < total) {
|
|
168
|
+
const boxes = await this.explorerApi.v1.getApiV1BoxesUnspentByergotreeP1(this.permitErgoTree, { offset: offset, limit: DefaultApiLimit });
|
|
169
|
+
if (!boxes.items) {
|
|
170
|
+
this.logger.warn('Explorer api output items should not be undefined.');
|
|
171
|
+
throw new Error('Incorrect explorer api output');
|
|
172
|
+
}
|
|
173
|
+
const filteredBoxes = await this.extractPermitData(boxes.items.filter((box) => box.creationHeight && box.creationHeight < initialHeight));
|
|
174
|
+
extractedBoxes = [...extractedBoxes, ...filteredBoxes];
|
|
175
|
+
total = boxes.total;
|
|
176
|
+
offset += DefaultApiLimit;
|
|
177
|
+
}
|
|
178
|
+
return extractedBoxes;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Returns block information of tx
|
|
182
|
+
* @param txId
|
|
183
|
+
*/
|
|
184
|
+
getTxBlock = async (txId) => {
|
|
185
|
+
const tx = await this.explorerApi.v1.getApiV1TransactionsP1(txId);
|
|
186
|
+
return {
|
|
187
|
+
id: tx.blockId,
|
|
188
|
+
height: tx.inclusionHeight,
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* Extract permit data from json boxes
|
|
193
|
+
* and filter to fit in a specified height range
|
|
194
|
+
* @param boxes
|
|
195
|
+
* @param toHeight
|
|
196
|
+
* @param heightDifference
|
|
197
|
+
* @returns extracted permit
|
|
198
|
+
*/
|
|
199
|
+
extractPermitData = async (boxes) => {
|
|
200
|
+
const extractedBoxes = [];
|
|
201
|
+
for (const boxJson of boxes) {
|
|
202
|
+
const box = ergoLib.ErgoBox.from_json(JsonBI.stringify(boxJson));
|
|
203
|
+
const r4 = box.register_value(4);
|
|
204
|
+
if (r4) {
|
|
205
|
+
const R4Serialized = r4.to_byte_array();
|
|
206
|
+
let spendBlock, spendHeight;
|
|
207
|
+
if (boxJson.spentTransactionId) {
|
|
208
|
+
const block = await this.getTxBlock(boxJson.spentTransactionId);
|
|
209
|
+
spendBlock = block.id;
|
|
210
|
+
spendHeight = block.height;
|
|
211
|
+
}
|
|
212
|
+
extractedBoxes.push({
|
|
213
|
+
boxId: box.box_id().to_str(),
|
|
214
|
+
boxSerialized: Buffer.from(box.sigma_serialize_bytes()).toString('base64'),
|
|
215
|
+
block: boxJson.blockId,
|
|
216
|
+
height: boxJson.settlementHeight,
|
|
217
|
+
WID: Buffer.from(R4Serialized).toString('hex'),
|
|
218
|
+
txId: box.tx_id().to_str(),
|
|
219
|
+
spendBlock: spendBlock,
|
|
220
|
+
spendHeight: spendHeight,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return extractedBoxes;
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Builds a query that returns used blocks by selecting the `block` column from the `PermitEntity` repository,
|
|
228
|
+
* filtered by the provided `extractorId`
|
|
229
|
+
*
|
|
230
|
+
* @returns A query builder selecting used blocks
|
|
231
|
+
*/
|
|
232
|
+
createUsedBlocksQuery = () => this.actions.createUsedBlocksQuery(this.getId());
|
|
233
|
+
}
|
|
234
|
+
export default PermitExtractor;
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWl0RXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9wZXJtaXRFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEtBQUssSUFBSSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzVFLE9BQU8seUJBQWlDLE1BQU0sOEJBQThCLENBQUM7QUFFN0UsT0FBTyxZQUFZLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE1BQU0sZUFBZ0IsU0FBUSxpQkFBNEM7SUFDL0QsTUFBTSxDQUFpQjtJQUNoQyxFQUFFLENBQVM7SUFDTSxVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFlO0lBQ2QsY0FBYyxDQUFTO0lBQ3ZCLEdBQUcsQ0FBUztJQUNwQixXQUFXLENBQUM7SUFFckIsWUFDRSxFQUFVLEVBQ1YsVUFBc0IsRUFDdEIsT0FBZSxFQUNmLEdBQVcsRUFDWCxXQUFtQixFQUNuQixNQUF1QjtRQUV2QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7YUFD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QUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQzlELFFBQVEsQ0FDVDtvQkFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3RCLE1BQU0sRUFBRSxPQUFPLENBQUMsZ0JBQWdCO29CQUNoQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO29CQUM5QyxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRTtvQkFDMUIsVUFBVSxFQUFFLFVBQVU7b0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gscUJBQXFCLEdBQUcsR0FBcUMsRUFBRSxDQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0NBQ3BEO0FBRUQsZUFBZSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuaW1wb3J0ICogYXMgd2FzbSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIFNlbGVjdFF1ZXJ5QnVpbGRlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5pbXBvcnQgeyBCbG9ja0luZm8sIFRyYW5zYWN0aW9uIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuaW1wb3J0IGVyZ29FeHBsb3JlckNsaWVudEZhY3RvcnksIHsgVjEgfSBmcm9tICdAcm9zZW4tY2xpZW50cy9lcmdvLWV4cGxvcmVyJztcblxuaW1wb3J0IFBlcm1pdEFjdGlvbiBmcm9tICcuLi9hY3Rpb25zL3Blcm1pdEFjdGlvbic7XG5pbXBvcnQgeyBEZWZhdWx0QXBpTGltaXQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IFBlcm1pdEVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9wZXJtaXRFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdGVkUGVybWl0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRQZXJtaXQnO1xuaW1wb3J0IHsgSnNvbkJJIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jbGFzcyBQZXJtaXRFeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvbiwgUGVybWl0RW50aXR5PiB7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgYWN0aW9uczogUGVybWl0QWN0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IHBlcm1pdEVyZ29UcmVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgUldUOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4cGxvcmVyQXBpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBhZGRyZXNzOiBzdHJpbmcsXG4gICAgUldUOiBzdHJpbmcsXG4gICAgZXhwbG9yZXJVcmw6IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLnBlcm1pdEVyZ29UcmVlID0gd2FzbS5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpXG4gICAgICAudG9fZXJnb190cmVlKClcbiAgICAgIC50b19iYXNlMTZfYnl0ZXMoKTtcbiAgICB0aGlzLlJXVCA9IFJXVDtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICAgIHRoaXMuYWN0aW9ucyA9IG5ldyBQZXJtaXRBY3Rpb24oXG4gICAgICBkYXRhU291cmNlLFxuICAgICAgdGhpcy5sb2dnZXIuY2hpbGQoJ1Blcm1pdEFjdGlvbicpLFxuICAgICk7XG4gICAgdGhpcy5leHBsb3JlckFwaSA9IGVyZ29FeHBsb3JlckNsaWVudEZhY3RvcnkoZXhwbG9yZXJVcmwpO1xuICB9XG5cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvbj4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWRQZXJtaXQ+ID0gW107XG4gICAgICAgIGNvbnN0IHNwZW5kSWRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIHR4cy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIHRyYW5zYWN0aW9uLm91dHB1dHMpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWRkaXRpb25hbFJlZ2lzdGVycyAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI0ICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0cyAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5hc3NldHMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5hc3NldHNbMF0udG9rZW5JZCA9PT0gdGhpcy5SV1QgJiZcbiAgICAgICAgICAgICAgICBvdXRwdXQuZXJnb1RyZWUgPT09IHRoaXMucGVybWl0RXJnb1RyZWVcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYm94T3V0cHV0ID0gd2FzbS5FcmdvQm94LmZyb21fanNvbihcbiAgICAgICAgICAgICAgICAgIEpzb25CSS5zdHJpbmdpZnkob3V0cHV0KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHI0ID0gYm94T3V0cHV0LnJlZ2lzdGVyX3ZhbHVlKFxuICAgICAgICAgICAgICAgICAgd2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKHI0KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSByNC50b19ieXRlX2FycmF5KCk7XG4gICAgICAgICAgICAgICAgICBpZiAoUjRTZXJpYWxpemVkLmxlbmd0aCA+PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGJveGVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgIGJveElkOiBvdXRwdXQuYm94SWQsXG4gICAgICAgICAgICAgICAgICAgICAgYm94U2VyaWFsaXplZDogQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICBib3hPdXRwdXQuc2lnbWFfc2VyaWFsaXplX2J5dGVzKCksXG4gICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICAgICAgICAgICAgICAgICAgV0lEOiBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWQpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgICAgICAgICAgICAgICB0eElkOiBvdXRwdXQudHJhbnNhY3Rpb25JZCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgLy8gZW1wdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gcHJvY2VzcyBpbnB1dHNcbiAgICAgICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIHRyYW5zYWN0aW9uLmlucHV0cykge1xuICAgICAgICAgICAgc3BlbmRJZHMucHVzaChpbnB1dC5ib3hJZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVQZXJtaXRzKGJveGVzLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgICAgICAuc3BlbmRQZXJtaXRzKHNwZW5kSWRzLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICBgRXJyb3IgaW4gc3RvcmluZyBwZXJtaXRzIG9mIHRoZSBibG9jayAke2Jsb2NrfTogJHtlfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICBgYmxvY2sgJHtibG9ja30gZG9lc24ndCBzYXZlIGluIHRoZSBkYXRhYmFzZSB3aXRoIGVycm9yOiAke2V9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGZvcmtCbG9jayA9IGFzeW5jIChoYXNoOiBzdHJpbmcpID0+IHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvbnMuZGVsZXRlQmxvY2soaGFzaCwgdGhpcy5nZXRJZCgpKTtcbiAgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGRhdGFiYXNlIHdpdGggb2xkZXIgcGVybWl0cyByZWxhdGVkIHRvIHRoZSBhZGRyZXNzXG4gICAqL1xuICBpbml0aWFsaXplRGF0YSA9IGFzeW5jIChpbml0aWFsQmxvY2s6IEJsb2NrSW5mbykgPT4ge1xuICAgIGxldCBhbGxTdG9yZWRCb3hJZHMgPSBhd2FpdCB0aGlzLmFjdGlvbnMuZ2V0QWxsUGVybWl0Qm94SWRzKHRoaXMuZ2V0SWQoKSk7XG4gICAgLy8gRXh0cmFjdCB1bnNwZW50IHBlcm1pdHNcbiAgICBjb25zdCB1bnNwZW50UGVybWl0cyA9IGF3YWl0IHRoaXMuZ2V0QWxsVW5zcGVudFBlcm1pdHMoaW5pdGlhbEJsb2NrLmhlaWdodCk7XG4gICAgY29uc3QgdW5zcGVudEJveElkcyA9IHVuc3BlbnRQZXJtaXRzLm1hcCgoYm94KSA9PiBib3guYm94SWQpO1xuICAgIC8vIFN0b3JpbmcgZXh0cmFjdGVkIHBlcm1pdHNcbiAgICBmb3IgKGNvbnN0IHBlcm1pdCBvZiB1bnNwZW50UGVybWl0cykge1xuICAgICAgaWYgKGFsbFN0b3JlZEJveElkcy5pbmNsdWRlcyhwZXJtaXQuYm94SWQpKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYWN0aW9ucy51cGRhdGVQZXJtaXQocGVybWl0LCB0aGlzLmdldElkKCkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBVcGRhdGVkIHRoZSBleGlzdGluZyB1bnNwZW50IHBlcm1pdCB3aXRoIGJveElkLCBbJHtwZXJtaXQuYm94SWR9XWAsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBVcGRhdGVkIHBlcm1pdCBbJHtKU09OLnN0cmluZ2lmeShwZXJtaXQpfV1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5pbnNlcnRQZXJtaXQocGVybWl0LCB0aGlzLmdldElkKCkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBJbnNlcnRlZCBuZXcgdW5zcGVudCBwZXJtaXQgd2l0aCBib3hJZCwgWyR7cGVybWl0LmJveElkfV1gLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgSW5zZXJ0ZWQgcGVybWl0IFske0pTT04uc3RyaW5naWZ5KHBlcm1pdCl9XWApO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBSZW1vdmUgdXBkYXRlZCBwZXJtaXRzIGZyb20gZXhpc3RpbmcgcGVybWl0cyBpbiBkYXRhYmFzZVxuICAgIGFsbFN0b3JlZEJveElkcyA9IGRpZmZlcmVuY2UoYWxsU3RvcmVkQm94SWRzLCB1bnNwZW50Qm94SWRzKTtcbiAgICAvLyBWYWxpZGF0aW5nIHJlbWFpbmVkIHBlcm1pdHNcbiAgICAvLyBUT0RPOiBGaXggdmFsaWRhdGlvbiBwcm9jZXNzXG4gICAgLy8gYXdhaXQgdGhpcy52YWxpZGF0ZU9sZFN0b3JlZFBlcm1pdHMoYWxsU3RvcmVkQm94SWRzLCBpbml0aWFsSGVpZ2h0KTtcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGUgYWxsIHJlbWFpbmluZyBwZXJtaXRzIGluIHRoZSBkYXRhYmFzZVxuICAgKiB1cGRhdGUgdGhlIGNvcnJlY3Qgb25lcyBhbmQgcmVtb3ZlIHRoZSBpbnZhbGlkIG9uZXNcbiAgICogQHBhcmFtIHVuY2hhbmdlZFN0b3JlZEJveElkc1xuICAgKiBAcGFyYW0gaW5pdGlhbEhlaWdodFxuICAgKi9cbiAgdmFsaWRhdGVPbGRTdG9yZWRQZXJtaXRzID0gYXN5bmMgKFxuICAgIHVuY2hhbmdlZFN0b3JlZEJveElkczogQXJyYXk8c3RyaW5nPixcbiAgICBpbml0aWFsSGVpZ2h0OiBudW1iZXIsXG4gICkgPT4ge1xuICAgIGZvciAoY29uc3QgYm94SWQgb2YgdW5jaGFuZ2VkU3RvcmVkQm94SWRzKSB7XG4gICAgICBjb25zdCBwZXJtaXQgPSBhd2FpdCB0aGlzLmdldFBlcm1pdFdpdGhCb3hJZChib3hJZCk7XG4gICAgICBpZiAocGVybWl0ICYmIHBlcm1pdC5zcGVuZEJsb2NrICYmIHBlcm1pdC5zcGVuZEhlaWdodCkge1xuICAgICAgICBpZiAocGVybWl0LnNwZW5kSGVpZ2h0IDwgaW5pdGlhbEhlaWdodClcbiAgICAgICAgICBhd2FpdCB0aGlzLmFjdGlvbnMudXBkYXRlU3BlbmRCbG9jayhcbiAgICAgICAgICAgIGJveElkLFxuICAgICAgICAgICAgdGhpcy5nZXRJZCgpLFxuICAgICAgICAgICAgcGVybWl0LnNwZW5kQmxvY2ssXG4gICAgICAgICAgICBwZXJtaXQuc3BlbmRIZWlnaHQsXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5yZW1vdmVQZXJtaXQoYm94SWQsIHRoaXMuZ2V0SWQoKSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFJlbW92ZWQgaW52YWxpZCBib3ggWyR7Ym94SWR9XSBpbiBpbml0aWFsaXphdGlvbiB2YWxpZGF0aW9uYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybiBleHRyYWN0ZWQgcGVybWl0IGZyb20gYSBib3hcbiAgICogQHBhcmFtIGJveElkXG4gICAqL1xuICBnZXRQZXJtaXRXaXRoQm94SWQgPSBhc3luYyAoXG4gICAgYm94SWQ6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxFeHRyYWN0ZWRQZXJtaXQgfCB1bmRlZmluZWQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm94ID0gYXdhaXQgdGhpcy5leHBsb3JlckFwaS52MS5nZXRBcGlWMUJveGVzUDEoYm94SWQpO1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmV4dHJhY3RQZXJtaXREYXRhKFtib3hdKSlbMF07XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKGBQZXJtaXQgd2l0aCBib3hJZCAke2JveElkfSBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgdW5zcGVudCBwZXJtaXRzXG4gICAqIEBwYXJhbSBpbml0aWFsSGVpZ2h0XG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRBbGxVbnNwZW50UGVybWl0cyA9IGFzeW5jIChcbiAgICBpbml0aWFsSGVpZ2h0OiBudW1iZXIsXG4gICk6IFByb21pc2U8QXJyYXk8RXh0cmFjdGVkUGVybWl0Pj4gPT4ge1xuICAgIGxldCBleHRyYWN0ZWRCb3hlczogQXJyYXk8RXh0cmFjdGVkUGVybWl0PiA9IFtdO1xuICAgIGxldCBvZmZzZXQgPSAwLFxuICAgICAgdG90YWwgPSBEZWZhdWx0QXBpTGltaXQ7XG4gICAgd2hpbGUgKG9mZnNldCA8IHRvdGFsKSB7XG4gICAgICBjb25zdCBib3hlcyA9IGF3YWl0IHRoaXMuZXhwbG9yZXJBcGkudjEuZ2V0QXBpVjFCb3hlc1Vuc3BlbnRCeWVyZ290cmVlUDEoXG4gICAgICAgIHRoaXMucGVybWl0RXJnb1RyZWUsXG4gICAgICAgIHsgb2Zmc2V0OiBvZmZzZXQsIGxpbWl0OiBEZWZhdWx0QXBpTGltaXQgfSxcbiAgICAgICk7XG4gICAgICBpZiAoIWJveGVzLml0ZW1zKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ0V4cGxvcmVyIGFwaSBvdXRwdXQgaXRlbXMgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQuJyk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IGV4cGxvcmVyIGFwaSBvdXRwdXQnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpbHRlcmVkQm94ZXMgPSBhd2FpdCB0aGlzLmV4dHJhY3RQZXJtaXREYXRhKFxuICAgICAgICBib3hlcy5pdGVtcy5maWx0ZXIoXG4gICAgICAgICAgKGJveCkgPT4gYm94LmNyZWF0aW9uSGVpZ2h0ICYmIGJveC5jcmVhdGlvbkhlaWdodCA8IGluaXRpYWxIZWlnaHQsXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgZXh0cmFjdGVkQm94ZXMgPSBbLi4uZXh0cmFjdGVkQm94ZXMsIC4uLmZpbHRlcmVkQm94ZXNdO1xuICAgICAgdG90YWwgPSBib3hlcy50b3RhbDtcbiAgICAgIG9mZnNldCArPSBEZWZhdWx0QXBpTGltaXQ7XG4gICAgfVxuICAgIHJldHVybiBleHRyYWN0ZWRCb3hlcztcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJucyBibG9jayBpbmZvcm1hdGlvbiBvZiB0eFxuICAgKiBAcGFyYW0gdHhJZFxuICAgKi9cbiAgZ2V0VHhCbG9jayA9IGFzeW5jICh0eElkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHRoaXMuZXhwbG9yZXJBcGkudjEuZ2V0QXBpVjFUcmFuc2FjdGlvbnNQMSh0eElkKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHR4LmJsb2NrSWQsXG4gICAgICBoZWlnaHQ6IHR4LmluY2x1c2lvbkhlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0IHBlcm1pdCBkYXRhIGZyb20ganNvbiBib3hlc1xuICAgKiBhbmQgZmlsdGVyIHRvIGZpdCBpbiBhIHNwZWNpZmllZCBoZWlnaHQgcmFuZ2VcbiAgICogQHBhcmFtIGJveGVzXG4gICAqIEBwYXJhbSB0b0hlaWdodFxuICAgKiBAcGFyYW0gaGVpZ2h0RGlmZmVyZW5jZVxuICAgKiBAcmV0dXJucyBleHRyYWN0ZWQgcGVybWl0XG4gICAqL1xuICBleHRyYWN0UGVybWl0RGF0YSA9IGFzeW5jIChib3hlczogQXJyYXk8VjEuT3V0cHV0SW5mbz4pID0+IHtcbiAgICBjb25zdCBleHRyYWN0ZWRCb3hlczogQXJyYXk8RXh0cmFjdGVkUGVybWl0PiA9IFtdO1xuICAgIGZvciAoY29uc3QgYm94SnNvbiBvZiBib3hlcykge1xuICAgICAgY29uc3QgYm94ID0gZXJnb0xpYi5FcmdvQm94LmZyb21fanNvbihKc29uQkkuc3RyaW5naWZ5KGJveEpzb24pKTtcbiAgICAgIGNvbnN0IHI0ID0gYm94LnJlZ2lzdGVyX3ZhbHVlKDQpO1xuICAgICAgaWYgKHI0KSB7XG4gICAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IHI0LnRvX2J5dGVfYXJyYXkoKTtcbiAgICAgICAgbGV0IHNwZW5kQmxvY2ssIHNwZW5kSGVpZ2h0O1xuICAgICAgICBpZiAoYm94SnNvbi5zcGVudFRyYW5zYWN0aW9uSWQpIHtcbiAgICAgICAgICBjb25zdCBibG9jayA9IGF3YWl0IHRoaXMuZ2V0VHhCbG9jayhib3hKc29uLnNwZW50VHJhbnNhY3Rpb25JZCk7XG4gICAgICAgICAgc3BlbmRCbG9jayA9IGJsb2NrLmlkO1xuICAgICAgICAgIHNwZW5kSGVpZ2h0ID0gYmxvY2suaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGV4dHJhY3RlZEJveGVzLnB1c2goe1xuICAgICAgICAgIGJveElkOiBib3guYm94X2lkKCkudG9fc3RyKCksXG4gICAgICAgICAgYm94U2VyaWFsaXplZDogQnVmZmVyLmZyb20oYm94LnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpKS50b1N0cmluZyhcbiAgICAgICAgICAgICdiYXNlNjQnLFxuICAgICAgICAgICksXG4gICAgICAgICAgYmxvY2s6IGJveEpzb24uYmxvY2tJZCxcbiAgICAgICAgICBoZWlnaHQ6IGJveEpzb24uc2V0dGxlbWVudEhlaWdodCxcbiAgICAgICAgICBXSUQ6IEJ1ZmZlci5mcm9tKFI0U2VyaWFsaXplZCkudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgICAgIHR4SWQ6IGJveC50eF9pZCgpLnRvX3N0cigpLFxuICAgICAgICAgIHNwZW5kQmxvY2s6IHNwZW5kQmxvY2ssXG4gICAgICAgICAgc3BlbmRIZWlnaHQ6IHNwZW5kSGVpZ2h0LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV4dHJhY3RlZEJveGVzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBxdWVyeSB0aGF0IHJldHVybnMgdXNlZCBibG9ja3MgYnkgc2VsZWN0aW5nIHRoZSBgYmxvY2tgIGNvbHVtbiBmcm9tIHRoZSBgUGVybWl0RW50aXR5YCByZXBvc2l0b3J5LFxuICAgKiBmaWx0ZXJlZCBieSB0aGUgcHJvdmlkZWQgYGV4dHJhY3RvcklkYFxuICAgKlxuICAgKiBAcmV0dXJucyBBIHF1ZXJ5IGJ1aWxkZXIgc2VsZWN0aW5nIHVzZWQgYmxvY2tzXG4gICAqL1xuICBjcmVhdGVVc2VkQmxvY2tzUXVlcnkgPSAoKTogU2VsZWN0UXVlcnlCdWlsZGVyPFBlcm1pdEVudGl0eT4gPT5cbiAgICB0aGlzLmFjdGlvbnMuY3JlYXRlVXNlZEJsb2Nrc1F1ZXJ5KHRoaXMuZ2V0SWQoKSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBlcm1pdEV4dHJhY3RvcjtcbiJdfQ==
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import CollateralEntity from './entities/collateralEntity';
|
|
2
|
+
import CommitmentEntity from './entities/commitmentEntity';
|
|
3
|
+
import EventTriggerEntity from './entities/eventTriggerEntity';
|
|
4
|
+
import PermitEntity from './entities/permitEntity';
|
|
5
|
+
import { CollateralExtractor } from './extractor/collateralExtractor';
|
|
6
|
+
import CommitmentExtractor from './extractor/commitmentExtractor';
|
|
7
|
+
import EventTriggerExtractor from './extractor/eventTriggerExtractor';
|
|
8
|
+
import PermitExtractor from './extractor/permitExtractor';
|
|
9
|
+
export { migrations } from './migrations/index';
|
|
10
|
+
export { PermitExtractor, EventTriggerExtractor, CommitmentExtractor, CollateralExtractor, CommitmentEntity, EventTriggerEntity, PermitEntity, CollateralEntity, };
|
|
11
|
+
export * from './types';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,CAAC;AACF,cAAc,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import CollateralEntity from './entities/collateralEntity';
|
|
2
|
+
import CommitmentEntity from './entities/commitmentEntity';
|
|
3
|
+
import EventTriggerEntity from './entities/eventTriggerEntity';
|
|
4
|
+
import PermitEntity from './entities/permitEntity';
|
|
5
|
+
import { CollateralExtractor } from './extractor/collateralExtractor';
|
|
6
|
+
import CommitmentExtractor from './extractor/commitmentExtractor';
|
|
7
|
+
import EventTriggerExtractor from './extractor/eventTriggerExtractor';
|
|
8
|
+
import PermitExtractor from './extractor/permitExtractor';
|
|
9
|
+
export { migrations } from './migrations/index';
|
|
10
|
+
export { PermitExtractor, EventTriggerExtractor, CommitmentExtractor, CollateralExtractor, CommitmentEntity, EventTriggerEntity, PermitEntity, CollateralEntity, };
|
|
11
|
+
export * from './types';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxnQkFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLGdCQUFnQixNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sa0JBQWtCLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxZQUFZLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxtQkFBbUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLHFCQUFxQixNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sZUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGdCQUFnQixHQUNqQixDQUFDO0FBQ0YsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29sbGF0ZXJhbEVudGl0eSBmcm9tICcuL2VudGl0aWVzL2NvbGxhdGVyYWxFbnRpdHknO1xuaW1wb3J0IENvbW1pdG1lbnRFbnRpdHkgZnJvbSAnLi9lbnRpdGllcy9jb21taXRtZW50RW50aXR5JztcbmltcG9ydCBFdmVudFRyaWdnZXJFbnRpdHkgZnJvbSAnLi9lbnRpdGllcy9ldmVudFRyaWdnZXJFbnRpdHknO1xuaW1wb3J0IFBlcm1pdEVudGl0eSBmcm9tICcuL2VudGl0aWVzL3Blcm1pdEVudGl0eSc7XG5pbXBvcnQgeyBDb2xsYXRlcmFsRXh0cmFjdG9yIH0gZnJvbSAnLi9leHRyYWN0b3IvY29sbGF0ZXJhbEV4dHJhY3Rvcic7XG5pbXBvcnQgQ29tbWl0bWVudEV4dHJhY3RvciBmcm9tICcuL2V4dHJhY3Rvci9jb21taXRtZW50RXh0cmFjdG9yJztcbmltcG9ydCBFdmVudFRyaWdnZXJFeHRyYWN0b3IgZnJvbSAnLi9leHRyYWN0b3IvZXZlbnRUcmlnZ2VyRXh0cmFjdG9yJztcbmltcG9ydCBQZXJtaXRFeHRyYWN0b3IgZnJvbSAnLi9leHRyYWN0b3IvcGVybWl0RXh0cmFjdG9yJztcblxuZXhwb3J0IHsgbWlncmF0aW9ucyB9IGZyb20gJy4vbWlncmF0aW9ucy9pbmRleCc7XG5leHBvcnQge1xuICBQZXJtaXRFeHRyYWN0b3IsXG4gIEV2ZW50VHJpZ2dlckV4dHJhY3RvcixcbiAgQ29tbWl0bWVudEV4dHJhY3RvcixcbiAgQ29sbGF0ZXJhbEV4dHJhY3RvcixcbiAgQ29tbWl0bWVudEVudGl0eSxcbiAgRXZlbnRUcmlnZ2VyRW50aXR5LFxuICBQZXJtaXRFbnRpdHksXG4gIENvbGxhdGVyYWxFbnRpdHksXG59O1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractEntityData } from '@rosen-bridge/abstract-extractor';
|
|
2
|
+
export interface ExtractedCollateral extends AbstractEntityData {
|
|
3
|
+
txId: string;
|
|
4
|
+
wid: string;
|
|
5
|
+
rwtCount: bigint;
|
|
6
|
+
spendBlock?: string | null;
|
|
7
|
+
spendHeight?: number | null;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=extractedCollateral.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractedCollateral.d.ts","sourceRoot":"","sources":["../../lib/interfaces/extractedCollateral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdGVkQ29sbGF0ZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbnRlcmZhY2VzL2V4dHJhY3RlZENvbGxhdGVyYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0RW50aXR5RGF0YSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYWN0ZWRDb2xsYXRlcmFsIGV4dGVuZHMgQWJzdHJhY3RFbnRpdHlEYXRhIHtcbiAgdHhJZDogc3RyaW5nO1xuICB3aWQ6IHN0cmluZztcbiAgcnd0Q291bnQ6IGJpZ2ludDtcbiAgc3BlbmRCbG9jaz86IHN0cmluZyB8IG51bGw7XG4gIHNwZW5kSGVpZ2h0PzogbnVtYmVyIHwgbnVsbDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractedCommitment.d.ts","sourceRoot":"","sources":["../../lib/interfaces/extractedCommitment.ts"],"names":[],"mappings":"AAAA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdGVkQ29tbWl0bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbnRlcmZhY2VzL2V4dHJhY3RlZENvbW1pdG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBleHRyYWN0ZWRDb21taXRtZW50IHtcbiAgdHhJZDogc3RyaW5nO1xuICBXSUQ6IHN0cmluZztcbiAgY29tbWl0bWVudDogc3RyaW5nO1xuICBldmVudElkOiBzdHJpbmc7XG4gIGJveElkOiBzdHJpbmc7XG4gIGJveFNlcmlhbGl6ZWQ6IHN0cmluZztcbiAgcnd0Q291bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHsgZXh0cmFjdGVkQ29tbWl0bWVudCB9O1xuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface ExtractedEventTrigger {
|
|
2
|
+
eventId: string;
|
|
3
|
+
txId: string;
|
|
4
|
+
identifier: string;
|
|
5
|
+
serialized: string;
|
|
6
|
+
fromChain: string;
|
|
7
|
+
toChain: string;
|
|
8
|
+
fromAddress: string;
|
|
9
|
+
toAddress: string;
|
|
10
|
+
amount: string;
|
|
11
|
+
bridgeFee: string;
|
|
12
|
+
networkFee: string;
|
|
13
|
+
sourceChainTokenId: string;
|
|
14
|
+
targetChainTokenId: string;
|
|
15
|
+
sourceBlockId: string;
|
|
16
|
+
sourceTxId: string;
|
|
17
|
+
WIDsCount: number;
|
|
18
|
+
WIDsHash: string;
|
|
19
|
+
sourceChainHeight: number;
|
|
20
|
+
}
|
|
21
|
+
export { ExtractedEventTrigger };
|
|
22
|
+
//# sourceMappingURL=extractedEventTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractedEventTrigger.d.ts","sourceRoot":"","sources":["../../lib/interfaces/extractedEventTrigger.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdGVkRXZlbnRUcmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2ludGVyZmFjZXMvZXh0cmFjdGVkRXZlbnRUcmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIHtcbiAgZXZlbnRJZDogc3RyaW5nO1xuICB0eElkOiBzdHJpbmc7XG4gIGlkZW50aWZpZXI6IHN0cmluZztcbiAgc2VyaWFsaXplZDogc3RyaW5nO1xuICBmcm9tQ2hhaW46IHN0cmluZztcbiAgdG9DaGFpbjogc3RyaW5nO1xuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuICB0b0FkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIGJyaWRnZUZlZTogc3RyaW5nO1xuICBuZXR3b3JrRmVlOiBzdHJpbmc7XG4gIHNvdXJjZUNoYWluVG9rZW5JZDogc3RyaW5nO1xuICB0YXJnZXRDaGFpblRva2VuSWQ6IHN0cmluZztcbiAgc291cmNlQmxvY2tJZDogc3RyaW5nO1xuICBzb3VyY2VUeElkOiBzdHJpbmc7XG4gIFdJRHNDb3VudDogbnVtYmVyO1xuICBXSURzSGFzaDogc3RyaW5nO1xuICBzb3VyY2VDaGFpbkhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgeyBFeHRyYWN0ZWRFdmVudFRyaWdnZXIgfTtcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface ExtractedPermit {
|
|
2
|
+
boxId: string;
|
|
3
|
+
boxSerialized: string;
|
|
4
|
+
WID: string;
|
|
5
|
+
txId: string;
|
|
6
|
+
block?: string;
|
|
7
|
+
height?: number;
|
|
8
|
+
spendBlock?: string;
|
|
9
|
+
spendHeight?: number;
|
|
10
|
+
}
|
|
11
|
+
export { ExtractedPermit };
|
|
12
|
+
//# sourceMappingURL=extractedPermit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractedPermit.d.ts","sourceRoot":"","sources":["../../lib/interfaces/extractedPermit.ts"],"names":[],"mappings":"AAAA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdGVkUGVybWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2ludGVyZmFjZXMvZXh0cmFjdGVkUGVybWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgRXh0cmFjdGVkUGVybWl0IHtcbiAgYm94SWQ6IHN0cmluZztcbiAgYm94U2VyaWFsaXplZDogc3RyaW5nO1xuICBXSUQ6IHN0cmluZztcbiAgdHhJZDogc3RyaW5nO1xuICBibG9jaz86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBzcGVuZEJsb2NrPzogc3RyaW5nO1xuICBzcGVuZEhlaWdodD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHsgRXh0cmFjdGVkUGVybWl0IH07XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type Asset = {
|
|
2
|
+
tokenId: string;
|
|
3
|
+
index: number;
|
|
4
|
+
amount: bigint;
|
|
5
|
+
name: string;
|
|
6
|
+
};
|
|
7
|
+
export interface ErgoBoxJson {
|
|
8
|
+
boxId: string;
|
|
9
|
+
address: string;
|
|
10
|
+
value: bigint;
|
|
11
|
+
blockId: string;
|
|
12
|
+
settlementHeight: number;
|
|
13
|
+
assets: Array<Asset>;
|
|
14
|
+
}
|
|
15
|
+
export interface AddressBoxes {
|
|
16
|
+
items: Array<ErgoBoxJson>;
|
|
17
|
+
total: number;
|
|
18
|
+
}
|
|
19
|
+
export interface SpendInfo {
|
|
20
|
+
boxId: string;
|
|
21
|
+
txId: string;
|
|
22
|
+
index?: number;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/interfaces/types.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW50ZXJmYWNlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBBc3NldCA9IHtcbiAgdG9rZW5JZDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBhbW91bnQ6IGJpZ2ludDtcbiAgbmFtZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBFcmdvQm94SnNvbiB7XG4gIGJveElkOiBzdHJpbmc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgdmFsdWU6IGJpZ2ludDtcbiAgYmxvY2tJZDogc3RyaW5nO1xuICBzZXR0bGVtZW50SGVpZ2h0OiBudW1iZXI7XG4gIGFzc2V0czogQXJyYXk8QXNzZXQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3NCb3hlcyB7XG4gIGl0ZW1zOiBBcnJheTxFcmdvQm94SnNvbj47XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BlbmRJbmZvIHtcbiAgYm94SWQ6IHN0cmluZztcbiAgdHhJZDogc3RyaW5nO1xuICBpbmRleD86IG51bWJlcjtcbn1cbiJdfQ==
|