@rosen-bridge/bitcoin-scanner 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @rosen-bridge/bitcoin-scanner
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Use @rosen-clients/rate-limited-axios instead of @rosen-bridge/rate-limited-axios
8
+
9
+ ### Patch Changes
10
+
11
+ - Update dependencies
12
+ - @rosen-bridge/abstract-scanner@0.2.0
13
+
3
14
  ## 0.1.0
4
15
 
5
16
  - This package was **integrated** from `@rosen-bridge/bitcoin-esplora-scanner` and `@rosen-bridge/bitcoin-rpc-scanner`.
@@ -1,4 +1,4 @@
1
- import axios from '@rosen-bridge/rate-limited-axios';
1
+ import axios from '@rosen-clients/rate-limited-axios';
2
2
  import { AbstractNetworkConnector, } from '@rosen-bridge/scanner-interfaces';
3
3
  import { randomBytes } from 'crypto';
4
4
  export class BitcoinRpcNetwork extends AbstractNetworkConnector {
@@ -85,4 +85,4 @@ export class BitcoinRpcNetwork extends AbstractNetworkConnector {
85
85
  return blockTxs;
86
86
  };
87
87
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQml0Y29pblJwY05ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbmV0d29yay9CaXRjb2luUnBjTmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQWdCLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUNMLHdCQUF3QixHQUV6QixNQUFNLGtDQUFrQyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFckMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHdCQUErQztJQUNuRSxHQUFHLENBQVM7SUFDWixPQUFPLENBQVM7SUFDekIsTUFBTSxDQUFRO0lBRXRCLFlBQ0UsR0FBVyxFQUNYLE9BQWUsRUFDZixJQUdDO1FBRUQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtZQUMvQyxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpFOzs7O09BSUc7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFrQixFQUFFO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLG9DQUFvQztRQUNwQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsY0FBYztZQUN0QixFQUFFLEVBQUUsU0FBUztZQUNiLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNqQixDQUFDLENBQUM7UUFDSCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUztZQUN6QyxNQUFNLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUMscUNBQXFDO1FBQ3JDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBZ0IsRUFBRSxFQUFFO1lBQ3BFLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsRUFBRSxFQUFFLFNBQVM7WUFDYixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQzFCLENBQUMsQ0FBQztRQUNILElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTO1lBQzNDLE1BQU0sS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDM0UsTUFBTSxXQUFXLEdBQWdCLG1CQUFtQixDQUFDLElBQUk7YUFDdEQsTUFBcUIsQ0FBQztRQUN6QixPQUFPO1lBQ0wsVUFBVSxFQUFFLFdBQVcsQ0FBQyxpQkFBaUI7WUFDekMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUUsV0FBVyxDQUFDLElBQUk7WUFDM0IsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1NBQ3pCLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLElBQXFCLEVBQUU7UUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBZ0IsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sRUFBRSxtQkFBbUI7WUFDM0IsRUFBRSxFQUFFLFFBQVE7WUFDWixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUMsQ0FBQztRQUNILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUTtZQUM3QixNQUFNLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1FBQzNFLE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixDQUFDLE1BQU0sQ0FBQztJQUMzRCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsV0FBVyxHQUFHLEtBQUssRUFDakIsU0FBaUIsRUFDc0IsRUFBRTtRQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsVUFBVTtZQUNsQixFQUFFLEVBQUUsUUFBUTtZQUNaLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxtRUFBbUU7U0FDNUYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVE7WUFDeEMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FDWixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFDeEIsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBheGlvcywgeyBBeGlvcyB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvcmF0ZS1saW1pdGVkLWF4aW9zJztcbmltcG9ydCB7XG4gIEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcixcbiAgQmxvY2ssXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJpdGNvaW5ScGNUcmFuc2FjdGlvbiwgQmxvY2tIZWFkZXIsIEpzb25ScGNSZXN1bHQgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGNsYXNzIEJpdGNvaW5ScGNOZXR3b3JrIGV4dGVuZHMgQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPEJpdGNvaW5ScGNUcmFuc2FjdGlvbj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVvdXQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBjbGllbnQ6IEF4aW9zO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHRpbWVvdXQ6IG51bWJlcixcbiAgICBhdXRoPzoge1xuICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgfSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLnRpbWVvdXQgPSB0aW1lb3V0O1xuICAgIHRoaXMuY2xpZW50ID0gYXhpb3MuY3JlYXRlKHtcbiAgICAgIGJhc2VVUkw6IHRoaXMudXJsLFxuICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBhdXRoOiBhdXRoLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJhbmRvbUlkID0gKCkgPT4gcmFuZG9tQnl0ZXMoMzIpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAvKipcbiAgICogUmV0dXJucyBibG9jayBhdCBoZWlnaHRcbiAgICogQHBhcmFtIGhlaWdodFxuICAgKiBAcmV0dXJucyBCbG9ja1xuICAgKi9cbiAgZ2V0QmxvY2tBdEhlaWdodCA9IGFzeW5jIChoZWlnaHQ6IG51bWJlcik6IFByb21pc2U8QmxvY2s+ID0+IHtcbiAgICBjb25zdCByYW5kb21JZDEgPSB0aGlzLmdlbmVyYXRlUmFuZG9tSWQoKTtcbiAgICAvLyBnZXQgYmxvY2sgaGFzaCB1c2luZyBibG9jayBoZWlnaHRcbiAgICBjb25zdCBibG9ja0hhc2hSZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8SnNvblJwY1Jlc3VsdD4oJycsIHtcbiAgICAgIG1ldGhvZDogJ2dldGJsb2NraGFzaCcsXG4gICAgICBpZDogcmFuZG9tSWQxLFxuICAgICAgcGFyYW1zOiBbaGVpZ2h0XSxcbiAgICB9KTtcbiAgICBpZiAoYmxvY2tIYXNoUmVzcG9uc2UuZGF0YS5pZCAhPT0gcmFuZG9tSWQxKVxuICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWRCZWhhdmlvcjogUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWQgYXJlIGRpZmZlcmVudGApO1xuICAgIGNvbnN0IGJsb2NrSGFzaCA9IGJsb2NrSGFzaFJlc3BvbnNlLmRhdGEucmVzdWx0O1xuXG4gICAgY29uc3QgcmFuZG9tSWQyID0gdGhpcy5nZW5lcmF0ZVJhbmRvbUlkKCk7XG4gICAgLy8gZ2V0IGJsb2NrIGhlYWRlcnMgdXNpbmcgYmxvY2sgaGFzaFxuICAgIGNvbnN0IGJsb2NrSGVhZGVyUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEpzb25ScGNSZXN1bHQ+KCcnLCB7XG4gICAgICBtZXRob2Q6ICdnZXRibG9ja2hlYWRlcicsXG4gICAgICBpZDogcmFuZG9tSWQyLFxuICAgICAgcGFyYW1zOiBbYmxvY2tIYXNoLCB0cnVlXSxcbiAgICB9KTtcbiAgICBpZiAoYmxvY2tIZWFkZXJSZXNwb25zZS5kYXRhLmlkICE9PSByYW5kb21JZDIpXG4gICAgICB0aHJvdyBFcnJvcihgVW5leHBlY3RlZEJlaGF2aW9yOiBSZXF1ZXN0IGFuZCByZXNwb25zZSBpZCBhcmUgZGlmZmVyZW50YCk7XG4gICAgY29uc3QgYmxvY2tIZWFkZXI6IEJsb2NrSGVhZGVyID0gYmxvY2tIZWFkZXJSZXNwb25zZS5kYXRhXG4gICAgICAucmVzdWx0IGFzIEJsb2NrSGVhZGVyO1xuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnRIYXNoOiBibG9ja0hlYWRlci5wcmV2aW91c2Jsb2NraGFzaCxcbiAgICAgIGhhc2g6IGJsb2NrSGVhZGVyLmhhc2gsXG4gICAgICBoZWlnaHQ6IGJsb2NrSGVhZGVyLmhlaWdodCxcbiAgICAgIHRpbWVzdGFtcDogYmxvY2tIZWFkZXIudGltZSxcbiAgICAgIHR4Q291bnQ6IGJsb2NrSGVhZGVyLm5UeCxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgbmV0d29yayBoZWlnaHRcbiAgICogQHJldHVybnMgY3VycmVudCBoZWlnaHRcbiAgICovXG4gIGdldEN1cnJlbnRIZWlnaHQgPSBhc3luYyAoKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgICBjb25zdCByYW5kb21JZCA9IHRoaXMuZ2VuZXJhdGVSYW5kb21JZCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8SnNvblJwY1Jlc3VsdD4oJycsIHtcbiAgICAgIG1ldGhvZDogJ2dldGJsb2NrY2hhaW5pbmZvJyxcbiAgICAgIGlkOiByYW5kb21JZCxcbiAgICAgIHBhcmFtczogW10sXG4gICAgfSk7XG4gICAgaWYgKHJlc3VsdC5kYXRhLmlkICE9PSByYW5kb21JZClcbiAgICAgIHRocm93IEVycm9yKGBVbmV4cGVjdGVkQmVoYXZpb3I6IFJlcXVlc3QgYW5kIHJlc3BvbnNlIGlkIGFyZSBkaWZmZXJlbnRgKTtcbiAgICByZXR1cm4gKHJlc3VsdC5kYXRhLnJlc3VsdCBhcyB7IGJsb2NrczogbnVtYmVyIH0pLmJsb2NrcztcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIHRyYW5zYWN0aW9ucyBpbiBhIGJsb2NrIHdpdGggc3BlY2lmaWVkIGhhc2hcbiAgICogQHBhcmFtIGJsb2NrSGFzaFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0QmxvY2tUeHMgPSBhc3luYyAoXG4gICAgYmxvY2tIYXNoOiBzdHJpbmcsXG4gICk6IFByb21pc2U8QXJyYXk8Qml0Y29pblJwY1RyYW5zYWN0aW9uPj4gPT4ge1xuICAgIGNvbnN0IHJhbmRvbUlkID0gdGhpcy5nZW5lcmF0ZVJhbmRvbUlkKCk7XG4gICAgY29uc3QgYmxvY2tIYXNoUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEpzb25ScGNSZXN1bHQ+KCcnLCB7XG4gICAgICBtZXRob2Q6ICdnZXRibG9jaycsXG4gICAgICBpZDogcmFuZG9tSWQsXG4gICAgICBwYXJhbXM6IFtibG9ja0hhc2gsIDJdLCAvLyB2ZXJib3NpdHkgc2hvdWxkIGJlIDIgaW4gb3JkZXIgdG8gcmV0cmlldmUgZnVsbCB0cmFuc2FjdGlvbiBpbmZvXG4gICAgfSk7XG4gICAgaWYgKGJsb2NrSGFzaFJlc3BvbnNlLmRhdGEuaWQgIT09IHJhbmRvbUlkKVxuICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWRCZWhhdmlvcjogUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWQgYXJlIGRpZmZlcmVudGApO1xuICAgIGNvbnN0IGJsb2NrVHhzID0gKFxuICAgICAgYmxvY2tIYXNoUmVzcG9uc2UuZGF0YS5yZXN1bHQgYXMgeyB0eDogQXJyYXk8Qml0Y29pblJwY1RyYW5zYWN0aW9uPiB9XG4gICAgKS50eDtcblxuICAgIHJldHVybiBibG9ja1R4cztcbiAgfTtcbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQml0Y29pblJwY05ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbmV0d29yay9CaXRjb2luUnBjTmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQWdCLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUNMLHdCQUF3QixHQUV6QixNQUFNLGtDQUFrQyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFckMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHdCQUErQztJQUNuRSxHQUFHLENBQVM7SUFDWixPQUFPLENBQVM7SUFDekIsTUFBTSxDQUFRO0lBRXRCLFlBQ0UsR0FBVyxFQUNYLE9BQWUsRUFDZixJQUdDO1FBRUQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtZQUMvQyxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpFOzs7O09BSUc7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFrQixFQUFFO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLG9DQUFvQztRQUNwQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsY0FBYztZQUN0QixFQUFFLEVBQUUsU0FBUztZQUNiLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNqQixDQUFDLENBQUM7UUFDSCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUztZQUN6QyxNQUFNLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUMscUNBQXFDO1FBQ3JDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBZ0IsRUFBRSxFQUFFO1lBQ3BFLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsRUFBRSxFQUFFLFNBQVM7WUFDYixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQzFCLENBQUMsQ0FBQztRQUNILElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTO1lBQzNDLE1BQU0sS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDM0UsTUFBTSxXQUFXLEdBQWdCLG1CQUFtQixDQUFDLElBQUk7YUFDdEQsTUFBcUIsQ0FBQztRQUN6QixPQUFPO1lBQ0wsVUFBVSxFQUFFLFdBQVcsQ0FBQyxpQkFBaUI7WUFDekMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUUsV0FBVyxDQUFDLElBQUk7WUFDM0IsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1NBQ3pCLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLElBQXFCLEVBQUU7UUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBZ0IsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sRUFBRSxtQkFBbUI7WUFDM0IsRUFBRSxFQUFFLFFBQVE7WUFDWixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUMsQ0FBQztRQUNILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUTtZQUM3QixNQUFNLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1FBQzNFLE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixDQUFDLE1BQU0sQ0FBQztJQUMzRCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsV0FBVyxHQUFHLEtBQUssRUFDakIsU0FBaUIsRUFDc0IsRUFBRTtRQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsVUFBVTtZQUNsQixFQUFFLEVBQUUsUUFBUTtZQUNaLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxtRUFBbUU7U0FDNUYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVE7WUFDeEMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FDWixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFDeEIsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBheGlvcywgeyBBeGlvcyB9IGZyb20gJ0Byb3Nlbi1jbGllbnRzL3JhdGUtbGltaXRlZC1heGlvcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3IsXG4gIEJsb2NrLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCaXRjb2luUnBjVHJhbnNhY3Rpb24sIEJsb2NrSGVhZGVyLCBKc29uUnBjUmVzdWx0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5cbmV4cG9ydCBjbGFzcyBCaXRjb2luUnBjTmV0d29yayBleHRlbmRzIEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcjxCaXRjb2luUnBjVHJhbnNhY3Rpb24+IHtcbiAgcHJpdmF0ZSByZWFkb25seSB1cmw6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0aW1lb3V0OiBudW1iZXI7XG4gIHByaXZhdGUgY2xpZW50OiBBeGlvcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0aW1lb3V0OiBudW1iZXIsXG4gICAgYXV0aD86IHtcbiAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIH0sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy51cmwgPSB1cmw7XG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgICB0aGlzLmNsaWVudCA9IGF4aW9zLmNyZWF0ZSh7XG4gICAgICBiYXNlVVJMOiB0aGlzLnVybCxcbiAgICAgIHRpbWVvdXQ6IHRoaXMudGltZW91dCxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYXV0aDogYXV0aCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVSYW5kb21JZCA9ICgpID0+IHJhbmRvbUJ5dGVzKDMyKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYmxvY2sgYXQgaGVpZ2h0XG4gICAqIEBwYXJhbSBoZWlnaHRcbiAgICogQHJldHVybnMgQmxvY2tcbiAgICovXG4gIGdldEJsb2NrQXRIZWlnaHQgPSBhc3luYyAoaGVpZ2h0OiBudW1iZXIpOiBQcm9taXNlPEJsb2NrPiA9PiB7XG4gICAgY29uc3QgcmFuZG9tSWQxID0gdGhpcy5nZW5lcmF0ZVJhbmRvbUlkKCk7XG4gICAgLy8gZ2V0IGJsb2NrIGhhc2ggdXNpbmcgYmxvY2sgaGVpZ2h0XG4gICAgY29uc3QgYmxvY2tIYXNoUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEpzb25ScGNSZXN1bHQ+KCcnLCB7XG4gICAgICBtZXRob2Q6ICdnZXRibG9ja2hhc2gnLFxuICAgICAgaWQ6IHJhbmRvbUlkMSxcbiAgICAgIHBhcmFtczogW2hlaWdodF0sXG4gICAgfSk7XG4gICAgaWYgKGJsb2NrSGFzaFJlc3BvbnNlLmRhdGEuaWQgIT09IHJhbmRvbUlkMSlcbiAgICAgIHRocm93IEVycm9yKGBVbmV4cGVjdGVkQmVoYXZpb3I6IFJlcXVlc3QgYW5kIHJlc3BvbnNlIGlkIGFyZSBkaWZmZXJlbnRgKTtcbiAgICBjb25zdCBibG9ja0hhc2ggPSBibG9ja0hhc2hSZXNwb25zZS5kYXRhLnJlc3VsdDtcblxuICAgIGNvbnN0IHJhbmRvbUlkMiA9IHRoaXMuZ2VuZXJhdGVSYW5kb21JZCgpO1xuICAgIC8vIGdldCBibG9jayBoZWFkZXJzIHVzaW5nIGJsb2NrIGhhc2hcbiAgICBjb25zdCBibG9ja0hlYWRlclJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdDxKc29uUnBjUmVzdWx0PignJywge1xuICAgICAgbWV0aG9kOiAnZ2V0YmxvY2toZWFkZXInLFxuICAgICAgaWQ6IHJhbmRvbUlkMixcbiAgICAgIHBhcmFtczogW2Jsb2NrSGFzaCwgdHJ1ZV0sXG4gICAgfSk7XG4gICAgaWYgKGJsb2NrSGVhZGVyUmVzcG9uc2UuZGF0YS5pZCAhPT0gcmFuZG9tSWQyKVxuICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWRCZWhhdmlvcjogUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWQgYXJlIGRpZmZlcmVudGApO1xuICAgIGNvbnN0IGJsb2NrSGVhZGVyOiBCbG9ja0hlYWRlciA9IGJsb2NrSGVhZGVyUmVzcG9uc2UuZGF0YVxuICAgICAgLnJlc3VsdCBhcyBCbG9ja0hlYWRlcjtcbiAgICByZXR1cm4ge1xuICAgICAgcGFyZW50SGFzaDogYmxvY2tIZWFkZXIucHJldmlvdXNibG9ja2hhc2gsXG4gICAgICBoYXNoOiBibG9ja0hlYWRlci5oYXNoLFxuICAgICAgaGVpZ2h0OiBibG9ja0hlYWRlci5oZWlnaHQsXG4gICAgICB0aW1lc3RhbXA6IGJsb2NrSGVhZGVyLnRpbWUsXG4gICAgICB0eENvdW50OiBibG9ja0hlYWRlci5uVHgsXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IG5ldHdvcmsgaGVpZ2h0XG4gICAqIEByZXR1cm5zIGN1cnJlbnQgaGVpZ2h0XG4gICAqL1xuICBnZXRDdXJyZW50SGVpZ2h0ID0gYXN5bmMgKCk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gICAgY29uc3QgcmFuZG9tSWQgPSB0aGlzLmdlbmVyYXRlUmFuZG9tSWQoKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEpzb25ScGNSZXN1bHQ+KCcnLCB7XG4gICAgICBtZXRob2Q6ICdnZXRibG9ja2NoYWluaW5mbycsXG4gICAgICBpZDogcmFuZG9tSWQsXG4gICAgICBwYXJhbXM6IFtdLFxuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZGF0YS5pZCAhPT0gcmFuZG9tSWQpXG4gICAgICB0aHJvdyBFcnJvcihgVW5leHBlY3RlZEJlaGF2aW9yOiBSZXF1ZXN0IGFuZCByZXNwb25zZSBpZCBhcmUgZGlmZmVyZW50YCk7XG4gICAgcmV0dXJuIChyZXN1bHQuZGF0YS5yZXN1bHQgYXMgeyBibG9ja3M6IG51bWJlciB9KS5ibG9ja3M7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cmFuc2FjdGlvbnMgaW4gYSBibG9jayB3aXRoIHNwZWNpZmllZCBoYXNoXG4gICAqIEBwYXJhbSBibG9ja0hhc2hcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldEJsb2NrVHhzID0gYXN5bmMgKFxuICAgIGJsb2NrSGFzaDogc3RyaW5nLFxuICApOiBQcm9taXNlPEFycmF5PEJpdGNvaW5ScGNUcmFuc2FjdGlvbj4+ID0+IHtcbiAgICBjb25zdCByYW5kb21JZCA9IHRoaXMuZ2VuZXJhdGVSYW5kb21JZCgpO1xuICAgIGNvbnN0IGJsb2NrSGFzaFJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdDxKc29uUnBjUmVzdWx0PignJywge1xuICAgICAgbWV0aG9kOiAnZ2V0YmxvY2snLFxuICAgICAgaWQ6IHJhbmRvbUlkLFxuICAgICAgcGFyYW1zOiBbYmxvY2tIYXNoLCAyXSwgLy8gdmVyYm9zaXR5IHNob3VsZCBiZSAyIGluIG9yZGVyIHRvIHJldHJpZXZlIGZ1bGwgdHJhbnNhY3Rpb24gaW5mb1xuICAgIH0pO1xuICAgIGlmIChibG9ja0hhc2hSZXNwb25zZS5kYXRhLmlkICE9PSByYW5kb21JZClcbiAgICAgIHRocm93IEVycm9yKGBVbmV4cGVjdGVkQmVoYXZpb3I6IFJlcXVlc3QgYW5kIHJlc3BvbnNlIGlkIGFyZSBkaWZmZXJlbnRgKTtcbiAgICBjb25zdCBibG9ja1R4cyA9IChcbiAgICAgIGJsb2NrSGFzaFJlc3BvbnNlLmRhdGEucmVzdWx0IGFzIHsgdHg6IEFycmF5PEJpdGNvaW5ScGNUcmFuc2FjdGlvbj4gfVxuICAgICkudHg7XG5cbiAgICByZXR1cm4gYmxvY2tUeHM7XG4gIH07XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import axios from '@rosen-bridge/rate-limited-axios';
1
+ import axios from '@rosen-clients/rate-limited-axios';
2
2
  import { AbstractNetworkConnector, } from '@rosen-bridge/scanner-interfaces';
3
3
  import { randomBytes } from 'crypto';
4
4
  export class DogeRpcNetwork extends AbstractNetworkConnector {
@@ -85,4 +85,4 @@ export class DogeRpcNetwork extends AbstractNetworkConnector {
85
85
  return blockTxs;
86
86
  };
87
87
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9nZVJwY05ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbmV0d29yay9Eb2dlUnBjTmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQWdCLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUNMLHdCQUF3QixHQUV6QixNQUFNLGtDQUFrQyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFckMsTUFBTSxPQUFPLGNBQWUsU0FBUSx3QkFBNEM7SUFDN0QsR0FBRyxDQUFTO0lBQ1osT0FBTyxDQUFTO0lBQ3pCLE1BQU0sQ0FBUTtJQUV0QixZQUNFLEdBQVcsRUFDWCxPQUFlLEVBQ2YsSUFHQztRQUVELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7WUFDL0MsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRTs7OztPQUlHO0lBQ0gsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBa0IsRUFBRTtRQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxvQ0FBb0M7UUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFnQixFQUFFLEVBQUU7WUFDbEUsTUFBTSxFQUFFLGNBQWM7WUFDdEIsRUFBRSxFQUFFLFNBQVM7WUFDYixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVM7WUFDekMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRWhELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLHFDQUFxQztRQUNyQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNyRSxNQUFNLEVBQUUsVUFBVTtZQUNsQixFQUFFLEVBQUUsU0FBUztZQUNiLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVM7WUFDNUMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBcUIsb0JBQW9CLENBQUMsSUFBSTthQUM3RCxNQUEwQixDQUFDO1FBRTlCLE9BQU87WUFDTCxVQUFVLEVBQUUsWUFBWSxDQUFDLGlCQUFpQjtZQUMxQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDdkIsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQzNCLFNBQVMsRUFBRSxZQUFZLENBQUMsSUFBSTtZQUM1QixPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNO1NBQ2hDLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLElBQXFCLEVBQUU7UUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBZ0IsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sRUFBRSxtQkFBbUI7WUFDM0IsRUFBRSxFQUFFLFFBQVE7WUFDWixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUMsQ0FBQztRQUNILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUTtZQUM3QixNQUFNLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1FBQzNFLE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixDQUFDLE1BQU0sQ0FBQztJQUMzRCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsV0FBVyxHQUFHLEtBQUssRUFDakIsU0FBaUIsRUFDbUIsRUFBRTtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsVUFBVTtZQUNsQixFQUFFLEVBQUUsUUFBUTtZQUNaLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxtRUFBbUU7U0FDNUYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVE7WUFDeEMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FDWixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFDeEIsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBheGlvcywgeyBBeGlvcyB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvcmF0ZS1saW1pdGVkLWF4aW9zJztcbmltcG9ydCB7XG4gIEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcixcbiAgQmxvY2ssXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IERvZ2VScGNUcmFuc2FjdGlvbiwgSnNvblJwY1Jlc3VsdCwgRG9nZUJsb2NrU3VtbWFyeSB9IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHsgcmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuXG5leHBvcnQgY2xhc3MgRG9nZVJwY05ldHdvcmsgZXh0ZW5kcyBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8RG9nZVJwY1RyYW5zYWN0aW9uPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyO1xuICBwcml2YXRlIGNsaWVudDogQXhpb3M7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdGltZW91dDogbnVtYmVyLFxuICAgIGF1dGg/OiB7XG4gICAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICB9LFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudXJsID0gdXJsO1xuICAgIHRoaXMudGltZW91dCA9IHRpbWVvdXQ7XG4gICAgdGhpcy5jbGllbnQgPSBheGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogdGhpcy51cmwsXG4gICAgICB0aW1lb3V0OiB0aGlzLnRpbWVvdXQsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGF1dGg6IGF1dGgsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlUmFuZG9tSWQgPSAoKSA9PiByYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGJsb2NrIGF0IGhlaWdodFxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEByZXR1cm5zIEJsb2NrXG4gICAqL1xuICBnZXRCbG9ja0F0SGVpZ2h0ID0gYXN5bmMgKGhlaWdodDogbnVtYmVyKTogUHJvbWlzZTxCbG9jaz4gPT4ge1xuICAgIGNvbnN0IHJhbmRvbUlkMSA9IHRoaXMuZ2VuZXJhdGVSYW5kb21JZCgpO1xuICAgIC8vIGdldCBibG9jayBoYXNoIHVzaW5nIGJsb2NrIGhlaWdodFxuICAgIGNvbnN0IGJsb2NrSGFzaFJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdDxKc29uUnBjUmVzdWx0PignJywge1xuICAgICAgbWV0aG9kOiAnZ2V0YmxvY2toYXNoJyxcbiAgICAgIGlkOiByYW5kb21JZDEsXG4gICAgICBwYXJhbXM6IFtoZWlnaHRdLFxuICAgIH0pO1xuICAgIGlmIChibG9ja0hhc2hSZXNwb25zZS5kYXRhLmlkICE9PSByYW5kb21JZDEpXG4gICAgICB0aHJvdyBFcnJvcihgVW5leHBlY3RlZEJlaGF2aW9yOiBSZXF1ZXN0IGFuZCByZXNwb25zZSBpZCBhcmUgZGlmZmVyZW50YCk7XG4gICAgY29uc3QgYmxvY2tIYXNoID0gYmxvY2tIYXNoUmVzcG9uc2UuZGF0YS5yZXN1bHQ7XG5cbiAgICBjb25zdCByYW5kb21JZDIgPSB0aGlzLmdlbmVyYXRlUmFuZG9tSWQoKTtcbiAgICAvLyBnZXQgYmxvY2sgaGVhZGVycyB1c2luZyBibG9jayBoYXNoXG4gICAgY29uc3QgYmxvY2tTdW1tYXJ5UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEpzb25ScGNSZXN1bHQ+KCcnLCB7XG4gICAgICBtZXRob2Q6ICdnZXRibG9jaycsXG4gICAgICBpZDogcmFuZG9tSWQyLFxuICAgICAgcGFyYW1zOiBbYmxvY2tIYXNoLCAxXSxcbiAgICB9KTtcbiAgICBpZiAoYmxvY2tTdW1tYXJ5UmVzcG9uc2UuZGF0YS5pZCAhPT0gcmFuZG9tSWQyKVxuICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWRCZWhhdmlvcjogUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWQgYXJlIGRpZmZlcmVudGApO1xuICAgIGNvbnN0IGJsb2NrU3VtbWFyeTogRG9nZUJsb2NrU3VtbWFyeSA9IGJsb2NrU3VtbWFyeVJlc3BvbnNlLmRhdGFcbiAgICAgIC5yZXN1bHQgYXMgRG9nZUJsb2NrU3VtbWFyeTtcblxuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnRIYXNoOiBibG9ja1N1bW1hcnkucHJldmlvdXNibG9ja2hhc2gsXG4gICAgICBoYXNoOiBibG9ja1N1bW1hcnkuaGFzaCxcbiAgICAgIGhlaWdodDogYmxvY2tTdW1tYXJ5LmhlaWdodCxcbiAgICAgIHRpbWVzdGFtcDogYmxvY2tTdW1tYXJ5LnRpbWUsXG4gICAgICB0eENvdW50OiBibG9ja1N1bW1hcnkudHgubGVuZ3RoLFxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudCBuZXR3b3JrIGhlaWdodFxuICAgKiBAcmV0dXJucyBjdXJyZW50IGhlaWdodFxuICAgKi9cbiAgZ2V0Q3VycmVudEhlaWdodCA9IGFzeW5jICgpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICAgIGNvbnN0IHJhbmRvbUlkID0gdGhpcy5nZW5lcmF0ZVJhbmRvbUlkKCk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdDxKc29uUnBjUmVzdWx0PignJywge1xuICAgICAgbWV0aG9kOiAnZ2V0YmxvY2tjaGFpbmluZm8nLFxuICAgICAgaWQ6IHJhbmRvbUlkLFxuICAgICAgcGFyYW1zOiBbXSxcbiAgICB9KTtcbiAgICBpZiAocmVzdWx0LmRhdGEuaWQgIT09IHJhbmRvbUlkKVxuICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWRCZWhhdmlvcjogUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWQgYXJlIGRpZmZlcmVudGApO1xuICAgIHJldHVybiAocmVzdWx0LmRhdGEucmVzdWx0IGFzIHsgYmxvY2tzOiBudW1iZXIgfSkuYmxvY2tzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdHJhbnNhY3Rpb25zIGluIGEgYmxvY2sgd2l0aCBzcGVjaWZpZWQgaGFzaFxuICAgKiBAcGFyYW0gYmxvY2tIYXNoXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRCbG9ja1R4cyA9IGFzeW5jIChcbiAgICBibG9ja0hhc2g6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxBcnJheTxEb2dlUnBjVHJhbnNhY3Rpb24+PiA9PiB7XG4gICAgY29uc3QgcmFuZG9tSWQgPSB0aGlzLmdlbmVyYXRlUmFuZG9tSWQoKTtcbiAgICBjb25zdCBibG9ja0hhc2hSZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8SnNvblJwY1Jlc3VsdD4oJycsIHtcbiAgICAgIG1ldGhvZDogJ2dldGJsb2NrJyxcbiAgICAgIGlkOiByYW5kb21JZCxcbiAgICAgIHBhcmFtczogW2Jsb2NrSGFzaCwgMl0sIC8vIHZlcmJvc2l0eSBzaG91bGQgYmUgMiBpbiBvcmRlciB0byByZXRyaWV2ZSBmdWxsIHRyYW5zYWN0aW9uIGluZm9cbiAgICB9KTtcbiAgICBpZiAoYmxvY2tIYXNoUmVzcG9uc2UuZGF0YS5pZCAhPT0gcmFuZG9tSWQpXG4gICAgICB0aHJvdyBFcnJvcihgVW5leHBlY3RlZEJlaGF2aW9yOiBSZXF1ZXN0IGFuZCByZXNwb25zZSBpZCBhcmUgZGlmZmVyZW50YCk7XG4gICAgY29uc3QgYmxvY2tUeHMgPSAoXG4gICAgICBibG9ja0hhc2hSZXNwb25zZS5kYXRhLnJlc3VsdCBhcyB7IHR4OiBBcnJheTxEb2dlUnBjVHJhbnNhY3Rpb24+IH1cbiAgICApLnR4O1xuXG4gICAgcmV0dXJuIGJsb2NrVHhzO1xuICB9O1xufVxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9nZVJwY05ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbmV0d29yay9Eb2dlUnBjTmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQWdCLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUNMLHdCQUF3QixHQUV6QixNQUFNLGtDQUFrQyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFckMsTUFBTSxPQUFPLGNBQWUsU0FBUSx3QkFBNEM7SUFDN0QsR0FBRyxDQUFTO0lBQ1osT0FBTyxDQUFTO0lBQ3pCLE1BQU0sQ0FBUTtJQUV0QixZQUNFLEdBQVcsRUFDWCxPQUFlLEVBQ2YsSUFHQztRQUVELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7WUFDL0MsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRTs7OztPQUlHO0lBQ0gsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBa0IsRUFBRTtRQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxvQ0FBb0M7UUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFnQixFQUFFLEVBQUU7WUFDbEUsTUFBTSxFQUFFLGNBQWM7WUFDdEIsRUFBRSxFQUFFLFNBQVM7WUFDYixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVM7WUFDekMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRWhELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLHFDQUFxQztRQUNyQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNyRSxNQUFNLEVBQUUsVUFBVTtZQUNsQixFQUFFLEVBQUUsU0FBUztZQUNiLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVM7WUFDNUMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBcUIsb0JBQW9CLENBQUMsSUFBSTthQUM3RCxNQUEwQixDQUFDO1FBRTlCLE9BQU87WUFDTCxVQUFVLEVBQUUsWUFBWSxDQUFDLGlCQUFpQjtZQUMxQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDdkIsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQzNCLFNBQVMsRUFBRSxZQUFZLENBQUMsSUFBSTtZQUM1QixPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNO1NBQ2hDLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLElBQXFCLEVBQUU7UUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBZ0IsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sRUFBRSxtQkFBbUI7WUFDM0IsRUFBRSxFQUFFLFFBQVE7WUFDWixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUMsQ0FBQztRQUNILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUTtZQUM3QixNQUFNLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1FBQzNFLE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUE2QixDQUFDLE1BQU0sQ0FBQztJQUMzRCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsV0FBVyxHQUFHLEtBQUssRUFDakIsU0FBaUIsRUFDbUIsRUFBRTtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWdCLEVBQUUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsVUFBVTtZQUNsQixFQUFFLEVBQUUsUUFBUTtZQUNaLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxtRUFBbUU7U0FDNUYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVE7WUFDeEMsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FDWixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFDeEIsQ0FBQyxFQUFFLENBQUM7UUFFTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBheGlvcywgeyBBeGlvcyB9IGZyb20gJ0Byb3Nlbi1jbGllbnRzL3JhdGUtbGltaXRlZC1heGlvcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3IsXG4gIEJsb2NrLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEb2dlUnBjVHJhbnNhY3Rpb24sIEpzb25ScGNSZXN1bHQsIERvZ2VCbG9ja1N1bW1hcnkgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGNsYXNzIERvZ2VScGNOZXR3b3JrIGV4dGVuZHMgQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPERvZ2VScGNUcmFuc2FjdGlvbj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVvdXQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBjbGllbnQ6IEF4aW9zO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHRpbWVvdXQ6IG51bWJlcixcbiAgICBhdXRoPzoge1xuICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgfSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLnRpbWVvdXQgPSB0aW1lb3V0O1xuICAgIHRoaXMuY2xpZW50ID0gYXhpb3MuY3JlYXRlKHtcbiAgICAgIGJhc2VVUkw6IHRoaXMudXJsLFxuICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBhdXRoOiBhdXRoLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJhbmRvbUlkID0gKCkgPT4gcmFuZG9tQnl0ZXMoMzIpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAvKipcbiAgICogUmV0dXJucyBibG9jayBhdCBoZWlnaHRcbiAgICogQHBhcmFtIGhlaWdodFxuICAgKiBAcmV0dXJucyBCbG9ja1xuICAgKi9cbiAgZ2V0QmxvY2tBdEhlaWdodCA9IGFzeW5jIChoZWlnaHQ6IG51bWJlcik6IFByb21pc2U8QmxvY2s+ID0+IHtcbiAgICBjb25zdCByYW5kb21JZDEgPSB0aGlzLmdlbmVyYXRlUmFuZG9tSWQoKTtcbiAgICAvLyBnZXQgYmxvY2sgaGFzaCB1c2luZyBibG9jayBoZWlnaHRcbiAgICBjb25zdCBibG9ja0hhc2hSZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8SnNvblJwY1Jlc3VsdD4oJycsIHtcbiAgICAgIG1ldGhvZDogJ2dldGJsb2NraGFzaCcsXG4gICAgICBpZDogcmFuZG9tSWQxLFxuICAgICAgcGFyYW1zOiBbaGVpZ2h0XSxcbiAgICB9KTtcbiAgICBpZiAoYmxvY2tIYXNoUmVzcG9uc2UuZGF0YS5pZCAhPT0gcmFuZG9tSWQxKVxuICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWRCZWhhdmlvcjogUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWQgYXJlIGRpZmZlcmVudGApO1xuICAgIGNvbnN0IGJsb2NrSGFzaCA9IGJsb2NrSGFzaFJlc3BvbnNlLmRhdGEucmVzdWx0O1xuXG4gICAgY29uc3QgcmFuZG9tSWQyID0gdGhpcy5nZW5lcmF0ZVJhbmRvbUlkKCk7XG4gICAgLy8gZ2V0IGJsb2NrIGhlYWRlcnMgdXNpbmcgYmxvY2sgaGFzaFxuICAgIGNvbnN0IGJsb2NrU3VtbWFyeVJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdDxKc29uUnBjUmVzdWx0PignJywge1xuICAgICAgbWV0aG9kOiAnZ2V0YmxvY2snLFxuICAgICAgaWQ6IHJhbmRvbUlkMixcbiAgICAgIHBhcmFtczogW2Jsb2NrSGFzaCwgMV0sXG4gICAgfSk7XG4gICAgaWYgKGJsb2NrU3VtbWFyeVJlc3BvbnNlLmRhdGEuaWQgIT09IHJhbmRvbUlkMilcbiAgICAgIHRocm93IEVycm9yKGBVbmV4cGVjdGVkQmVoYXZpb3I6IFJlcXVlc3QgYW5kIHJlc3BvbnNlIGlkIGFyZSBkaWZmZXJlbnRgKTtcbiAgICBjb25zdCBibG9ja1N1bW1hcnk6IERvZ2VCbG9ja1N1bW1hcnkgPSBibG9ja1N1bW1hcnlSZXNwb25zZS5kYXRhXG4gICAgICAucmVzdWx0IGFzIERvZ2VCbG9ja1N1bW1hcnk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFyZW50SGFzaDogYmxvY2tTdW1tYXJ5LnByZXZpb3VzYmxvY2toYXNoLFxuICAgICAgaGFzaDogYmxvY2tTdW1tYXJ5Lmhhc2gsXG4gICAgICBoZWlnaHQ6IGJsb2NrU3VtbWFyeS5oZWlnaHQsXG4gICAgICB0aW1lc3RhbXA6IGJsb2NrU3VtbWFyeS50aW1lLFxuICAgICAgdHhDb3VudDogYmxvY2tTdW1tYXJ5LnR4Lmxlbmd0aCxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgbmV0d29yayBoZWlnaHRcbiAgICogQHJldHVybnMgY3VycmVudCBoZWlnaHRcbiAgICovXG4gIGdldEN1cnJlbnRIZWlnaHQgPSBhc3luYyAoKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgICBjb25zdCByYW5kb21JZCA9IHRoaXMuZ2VuZXJhdGVSYW5kb21JZCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8SnNvblJwY1Jlc3VsdD4oJycsIHtcbiAgICAgIG1ldGhvZDogJ2dldGJsb2NrY2hhaW5pbmZvJyxcbiAgICAgIGlkOiByYW5kb21JZCxcbiAgICAgIHBhcmFtczogW10sXG4gICAgfSk7XG4gICAgaWYgKHJlc3VsdC5kYXRhLmlkICE9PSByYW5kb21JZClcbiAgICAgIHRocm93IEVycm9yKGBVbmV4cGVjdGVkQmVoYXZpb3I6IFJlcXVlc3QgYW5kIHJlc3BvbnNlIGlkIGFyZSBkaWZmZXJlbnRgKTtcbiAgICByZXR1cm4gKHJlc3VsdC5kYXRhLnJlc3VsdCBhcyB7IGJsb2NrczogbnVtYmVyIH0pLmJsb2NrcztcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIHRyYW5zYWN0aW9ucyBpbiBhIGJsb2NrIHdpdGggc3BlY2lmaWVkIGhhc2hcbiAgICogQHBhcmFtIGJsb2NrSGFzaFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0QmxvY2tUeHMgPSBhc3luYyAoXG4gICAgYmxvY2tIYXNoOiBzdHJpbmcsXG4gICk6IFByb21pc2U8QXJyYXk8RG9nZVJwY1RyYW5zYWN0aW9uPj4gPT4ge1xuICAgIGNvbnN0IHJhbmRvbUlkID0gdGhpcy5nZW5lcmF0ZVJhbmRvbUlkKCk7XG4gICAgY29uc3QgYmxvY2tIYXNoUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEpzb25ScGNSZXN1bHQ+KCcnLCB7XG4gICAgICBtZXRob2Q6ICdnZXRibG9jaycsXG4gICAgICBpZDogcmFuZG9tSWQsXG4gICAgICBwYXJhbXM6IFtibG9ja0hhc2gsIDJdLCAvLyB2ZXJib3NpdHkgc2hvdWxkIGJlIDIgaW4gb3JkZXIgdG8gcmV0cmlldmUgZnVsbCB0cmFuc2FjdGlvbiBpbmZvXG4gICAgfSk7XG4gICAgaWYgKGJsb2NrSGFzaFJlc3BvbnNlLmRhdGEuaWQgIT09IHJhbmRvbUlkKVxuICAgICAgdGhyb3cgRXJyb3IoYFVuZXhwZWN0ZWRCZWhhdmlvcjogUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWQgYXJlIGRpZmZlcmVudGApO1xuICAgIGNvbnN0IGJsb2NrVHhzID0gKFxuICAgICAgYmxvY2tIYXNoUmVzcG9uc2UuZGF0YS5yZXN1bHQgYXMgeyB0eDogQXJyYXk8RG9nZVJwY1RyYW5zYWN0aW9uPiB9XG4gICAgKS50eDtcblxuICAgIHJldHVybiBibG9ja1R4cztcbiAgfTtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import axios from '@rosen-bridge/rate-limited-axios';
1
+ import axios from '@rosen-clients/rate-limited-axios';
2
2
  import { AbstractNetworkConnector, } from '@rosen-bridge/scanner-interfaces';
3
3
  export class EsploraNetwork extends AbstractNetworkConnector {
4
4
  url;
@@ -61,4 +61,4 @@ export class EsploraNetwork extends AbstractNetworkConnector {
61
61
  return blockTxs;
62
62
  };
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXNwbG9yYU5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbmV0d29yay9Fc3Bsb3JhTmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQWdCLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUNMLHdCQUF3QixHQUV6QixNQUFNLGtDQUFrQyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxjQUFlLFNBQVEsd0JBQW1EO0lBQ3BFLEdBQUcsQ0FBUztJQUNaLE9BQU8sQ0FBUztJQUNoQix1QkFBdUIsR0FBRyxFQUFFLENBQUM7SUFDdEMsTUFBTSxDQUFRO0lBQ2QsU0FBUyxDQUFTO0lBRTFCLFlBQVksR0FBVyxFQUFFLE9BQWUsRUFBRSxTQUFrQjtRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRztZQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1NBQ2hELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLE1BQU0sQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQWtCLEVBQUU7UUFDMUQsb0NBQW9DO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLENBQ2hCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxpQkFBaUIsTUFBTSxFQUFFLENBQUMsQ0FDMUUsQ0FBQyxJQUFJLENBQUM7UUFFUCxxQ0FBcUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsQ0FDbEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDbkIsR0FBRyxJQUFJLENBQUMsU0FBUyxVQUFVLFNBQVMsRUFBRSxDQUN2QyxDQUNGLENBQUMsSUFBSSxDQUFDO1FBQ1AsT0FBTztZQUNMLFVBQVUsRUFBRSxXQUFXLENBQUMsaUJBQWlCO1lBQ3pDLElBQUksRUFBRSxXQUFXLENBQUMsRUFBRTtZQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07WUFDMUIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQ2hDLE9BQU8sRUFBRSxXQUFXLENBQUMsUUFBUTtTQUM5QixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsZ0JBQWdCLEdBQUcsR0FBb0IsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNO2FBQ2YsR0FBRyxDQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsb0JBQW9CLENBQUM7YUFDbEQsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNILFdBQVcsR0FBRyxLQUFLLEVBQ2pCLFNBQWlCLEVBQzBCLEVBQUU7UUFDN0MsTUFBTSxPQUFPLEdBQUcsQ0FDZCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNuQixHQUFHLElBQUksQ0FBQyxTQUFTLFVBQVUsU0FBUyxFQUFFLENBQ3ZDLENBQ0YsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRWhCLE1BQU0sUUFBUSxHQUFxQyxFQUFFLENBQUM7UUFDdEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRWYsT0FBTyxNQUFNLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsQ0FDVixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNuQixHQUFHLElBQUksQ0FBQyxTQUFTLFVBQVUsU0FBUyxRQUFRLE1BQU0sRUFBRSxDQUNyRCxDQUNGLENBQUMsSUFBSSxDQUFDO1lBQ1AsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDekMsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zLCB7IEF4aW9zIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9yYXRlLWxpbWl0ZWQtYXhpb3MnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yLFxuICBCbG9jayxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQml0Y29pbkVzcGxvcmFUcmFuc2FjdGlvbiwgRXNwbG9yYUJsb2NrIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgRXNwbG9yYU5ldHdvcmsgZXh0ZW5kcyBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8Qml0Y29pbkVzcGxvcmFUcmFuc2FjdGlvbj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVvdXQ6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBFU1BMT1JBX0JMT0NLX1RYU19MSU1JVCA9IDI1O1xuICBwcml2YXRlIGNsaWVudDogQXhpb3M7XG4gIHByaXZhdGUgYXBpUHJlZml4OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IodXJsOiBzdHJpbmcsIHRpbWVvdXQ6IG51bWJlciwgYXBpUHJlZml4Pzogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLnRpbWVvdXQgPSB0aW1lb3V0O1xuICAgIHRoaXMuY2xpZW50ID0gYXhpb3MuY3JlYXRlKHtcbiAgICAgIGJhc2VVUkw6IHRoaXMudXJsLFxuICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgfSk7XG4gICAgdGhpcy5hcGlQcmVmaXggPSBhcGlQcmVmaXggfHwgJy9hcGknO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYmxvY2sgYXQgaGVpZ2h0XG4gICAqIEBwYXJhbSBoZWlnaHRcbiAgICogQHJldHVybnMgQmxvY2tcbiAgICovXG4gIGdldEJsb2NrQXRIZWlnaHQgPSBhc3luYyAoaGVpZ2h0OiBudW1iZXIpOiBQcm9taXNlPEJsb2NrPiA9PiB7XG4gICAgLy8gZ2V0IGJsb2NrIGhhc2ggdXNpbmcgYmxvY2sgaGVpZ2h0XG4gICAgY29uc3QgYmxvY2tIYXNoID0gKFxuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuZ2V0PHN0cmluZz4oYCR7dGhpcy5hcGlQcmVmaXh9L2Jsb2NrLWhlaWdodC8ke2hlaWdodH1gKVxuICAgICkuZGF0YTtcblxuICAgIC8vIGdldCBibG9jayBoZWFkZXJzIHVzaW5nIGJsb2NrIGhhc2hcbiAgICBjb25zdCBibG9ja0hlYWRlciA9IChcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LmdldDxFc3Bsb3JhQmxvY2s+KFxuICAgICAgICBgJHt0aGlzLmFwaVByZWZpeH0vYmxvY2svJHtibG9ja0hhc2h9YCxcbiAgICAgIClcbiAgICApLmRhdGE7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudEhhc2g6IGJsb2NrSGVhZGVyLnByZXZpb3VzYmxvY2toYXNoLFxuICAgICAgaGFzaDogYmxvY2tIZWFkZXIuaWQsXG4gICAgICBoZWlnaHQ6IGJsb2NrSGVhZGVyLmhlaWdodCxcbiAgICAgIHRpbWVzdGFtcDogYmxvY2tIZWFkZXIudGltZXN0YW1wLFxuICAgICAgdHhDb3VudDogYmxvY2tIZWFkZXIudHhfY291bnQsXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IG5ldHdvcmsgaGVpZ2h0XG4gICAqIEByZXR1cm5zIGN1cnJlbnQgaGVpZ2h0XG4gICAqL1xuICBnZXRDdXJyZW50SGVpZ2h0ID0gKCk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50XG4gICAgICAuZ2V0PG51bWJlcj4oYCR7dGhpcy5hcGlQcmVmaXh9L2Jsb2Nrcy90aXAvaGVpZ2h0YClcbiAgICAgIC50aGVuKChyZXMpID0+IHJlcy5kYXRhKTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIHRyYW5zYWN0aW9ucyBpbiBhIGJsb2NrIHdpdGggc3BlY2lmaWVkIGhhc2hcbiAgICogQHBhcmFtIGJsb2NrSGFzaFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0QmxvY2tUeHMgPSBhc3luYyAoXG4gICAgYmxvY2tIYXNoOiBzdHJpbmcsXG4gICk6IFByb21pc2U8QXJyYXk8Qml0Y29pbkVzcGxvcmFUcmFuc2FjdGlvbj4+ID0+IHtcbiAgICBjb25zdCB0eENvdW50ID0gKFxuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuZ2V0PEVzcGxvcmFCbG9jaz4oXG4gICAgICAgIGAke3RoaXMuYXBpUHJlZml4fS9ibG9jay8ke2Jsb2NrSGFzaH1gLFxuICAgICAgKVxuICAgICkuZGF0YS50eF9jb3VudDtcblxuICAgIGNvbnN0IGJsb2NrVHhzOiBBcnJheTxCaXRjb2luRXNwbG9yYVRyYW5zYWN0aW9uPiA9IFtdO1xuICAgIGxldCBvZmZzZXQgPSAwO1xuXG4gICAgd2hpbGUgKG9mZnNldCA8IHR4Q291bnQpIHtcbiAgICAgIGNvbnN0IHR4cyA9IChcbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQuZ2V0PEFycmF5PEJpdGNvaW5Fc3Bsb3JhVHJhbnNhY3Rpb24+PihcbiAgICAgICAgICBgJHt0aGlzLmFwaVByZWZpeH0vYmxvY2svJHtibG9ja0hhc2h9L3R4cy8ke29mZnNldH1gLFxuICAgICAgICApXG4gICAgICApLmRhdGE7XG4gICAgICBibG9ja1R4cy5wdXNoKC4uLnR4cyk7XG4gICAgICBvZmZzZXQgKz0gdGhpcy5FU1BMT1JBX0JMT0NLX1RYU19MSU1JVDtcbiAgICB9XG5cbiAgICByZXR1cm4gYmxvY2tUeHM7XG4gIH07XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXNwbG9yYU5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbmV0d29yay9Fc3Bsb3JhTmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQWdCLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUNMLHdCQUF3QixHQUV6QixNQUFNLGtDQUFrQyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxjQUFlLFNBQVEsd0JBQW1EO0lBQ3BFLEdBQUcsQ0FBUztJQUNaLE9BQU8sQ0FBUztJQUNoQix1QkFBdUIsR0FBRyxFQUFFLENBQUM7SUFDdEMsTUFBTSxDQUFRO0lBQ2QsU0FBUyxDQUFTO0lBRTFCLFlBQVksR0FBVyxFQUFFLE9BQWUsRUFBRSxTQUFrQjtRQUMxRCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRztZQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO1NBQ2hELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLE1BQU0sQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQWtCLEVBQUU7UUFDMUQsb0NBQW9DO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLENBQ2hCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxpQkFBaUIsTUFBTSxFQUFFLENBQUMsQ0FDMUUsQ0FBQyxJQUFJLENBQUM7UUFFUCxxQ0FBcUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsQ0FDbEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDbkIsR0FBRyxJQUFJLENBQUMsU0FBUyxVQUFVLFNBQVMsRUFBRSxDQUN2QyxDQUNGLENBQUMsSUFBSSxDQUFDO1FBQ1AsT0FBTztZQUNMLFVBQVUsRUFBRSxXQUFXLENBQUMsaUJBQWlCO1lBQ3pDLElBQUksRUFBRSxXQUFXLENBQUMsRUFBRTtZQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07WUFDMUIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQ2hDLE9BQU8sRUFBRSxXQUFXLENBQUMsUUFBUTtTQUM5QixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsZ0JBQWdCLEdBQUcsR0FBb0IsRUFBRTtRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNO2FBQ2YsR0FBRyxDQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsb0JBQW9CLENBQUM7YUFDbEQsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNILFdBQVcsR0FBRyxLQUFLLEVBQ2pCLFNBQWlCLEVBQzBCLEVBQUU7UUFDN0MsTUFBTSxPQUFPLEdBQUcsQ0FDZCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNuQixHQUFHLElBQUksQ0FBQyxTQUFTLFVBQVUsU0FBUyxFQUFFLENBQ3ZDLENBQ0YsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRWhCLE1BQU0sUUFBUSxHQUFxQyxFQUFFLENBQUM7UUFDdEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRWYsT0FBTyxNQUFNLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsQ0FDVixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNuQixHQUFHLElBQUksQ0FBQyxTQUFTLFVBQVUsU0FBUyxRQUFRLE1BQU0sRUFBRSxDQUNyRCxDQUNGLENBQUMsSUFBSSxDQUFDO1lBQ1AsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDekMsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zLCB7IEF4aW9zIH0gZnJvbSAnQHJvc2VuLWNsaWVudHMvcmF0ZS1saW1pdGVkLWF4aW9zJztcbmltcG9ydCB7XG4gIEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcixcbiAgQmxvY2ssXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJpdGNvaW5Fc3Bsb3JhVHJhbnNhY3Rpb24sIEVzcGxvcmFCbG9jayB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIEVzcGxvcmFOZXR3b3JrIGV4dGVuZHMgQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPEJpdGNvaW5Fc3Bsb3JhVHJhbnNhY3Rpb24+IHtcbiAgcHJpdmF0ZSByZWFkb25seSB1cmw6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0aW1lb3V0OiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgRVNQTE9SQV9CTE9DS19UWFNfTElNSVQgPSAyNTtcbiAgcHJpdmF0ZSBjbGllbnQ6IEF4aW9zO1xuICBwcml2YXRlIGFwaVByZWZpeDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHVybDogc3RyaW5nLCB0aW1lb3V0OiBudW1iZXIsIGFwaVByZWZpeD86IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy51cmwgPSB1cmw7XG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgICB0aGlzLmNsaWVudCA9IGF4aW9zLmNyZWF0ZSh7XG4gICAgICBiYXNlVVJMOiB0aGlzLnVybCxcbiAgICAgIHRpbWVvdXQ6IHRoaXMudGltZW91dCxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgIH0pO1xuICAgIHRoaXMuYXBpUHJlZml4ID0gYXBpUHJlZml4IHx8ICcvYXBpJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGJsb2NrIGF0IGhlaWdodFxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEByZXR1cm5zIEJsb2NrXG4gICAqL1xuICBnZXRCbG9ja0F0SGVpZ2h0ID0gYXN5bmMgKGhlaWdodDogbnVtYmVyKTogUHJvbWlzZTxCbG9jaz4gPT4ge1xuICAgIC8vIGdldCBibG9jayBoYXNoIHVzaW5nIGJsb2NrIGhlaWdodFxuICAgIGNvbnN0IGJsb2NrSGFzaCA9IChcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LmdldDxzdHJpbmc+KGAke3RoaXMuYXBpUHJlZml4fS9ibG9jay1oZWlnaHQvJHtoZWlnaHR9YClcbiAgICApLmRhdGE7XG5cbiAgICAvLyBnZXQgYmxvY2sgaGVhZGVycyB1c2luZyBibG9jayBoYXNoXG4gICAgY29uc3QgYmxvY2tIZWFkZXIgPSAoXG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5nZXQ8RXNwbG9yYUJsb2NrPihcbiAgICAgICAgYCR7dGhpcy5hcGlQcmVmaXh9L2Jsb2NrLyR7YmxvY2tIYXNofWAsXG4gICAgICApXG4gICAgKS5kYXRhO1xuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnRIYXNoOiBibG9ja0hlYWRlci5wcmV2aW91c2Jsb2NraGFzaCxcbiAgICAgIGhhc2g6IGJsb2NrSGVhZGVyLmlkLFxuICAgICAgaGVpZ2h0OiBibG9ja0hlYWRlci5oZWlnaHQsXG4gICAgICB0aW1lc3RhbXA6IGJsb2NrSGVhZGVyLnRpbWVzdGFtcCxcbiAgICAgIHR4Q291bnQ6IGJsb2NrSGVhZGVyLnR4X2NvdW50LFxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudCBuZXR3b3JrIGhlaWdodFxuICAgKiBAcmV0dXJucyBjdXJyZW50IGhlaWdodFxuICAgKi9cbiAgZ2V0Q3VycmVudEhlaWdodCA9ICgpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICAgIHJldHVybiB0aGlzLmNsaWVudFxuICAgICAgLmdldDxudW1iZXI+KGAke3RoaXMuYXBpUHJlZml4fS9ibG9ja3MvdGlwL2hlaWdodGApXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cmFuc2FjdGlvbnMgaW4gYSBibG9jayB3aXRoIHNwZWNpZmllZCBoYXNoXG4gICAqIEBwYXJhbSBibG9ja0hhc2hcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldEJsb2NrVHhzID0gYXN5bmMgKFxuICAgIGJsb2NrSGFzaDogc3RyaW5nLFxuICApOiBQcm9taXNlPEFycmF5PEJpdGNvaW5Fc3Bsb3JhVHJhbnNhY3Rpb24+PiA9PiB7XG4gICAgY29uc3QgdHhDb3VudCA9IChcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LmdldDxFc3Bsb3JhQmxvY2s+KFxuICAgICAgICBgJHt0aGlzLmFwaVByZWZpeH0vYmxvY2svJHtibG9ja0hhc2h9YCxcbiAgICAgIClcbiAgICApLmRhdGEudHhfY291bnQ7XG5cbiAgICBjb25zdCBibG9ja1R4czogQXJyYXk8Qml0Y29pbkVzcGxvcmFUcmFuc2FjdGlvbj4gPSBbXTtcbiAgICBsZXQgb2Zmc2V0ID0gMDtcblxuICAgIHdoaWxlIChvZmZzZXQgPCB0eENvdW50KSB7XG4gICAgICBjb25zdCB0eHMgPSAoXG4gICAgICAgIGF3YWl0IHRoaXMuY2xpZW50LmdldDxBcnJheTxCaXRjb2luRXNwbG9yYVRyYW5zYWN0aW9uPj4oXG4gICAgICAgICAgYCR7dGhpcy5hcGlQcmVmaXh9L2Jsb2NrLyR7YmxvY2tIYXNofS90eHMvJHtvZmZzZXR9YCxcbiAgICAgICAgKVxuICAgICAgKS5kYXRhO1xuICAgICAgYmxvY2tUeHMucHVzaCguLi50eHMpO1xuICAgICAgb2Zmc2V0ICs9IHRoaXMuRVNQTE9SQV9CTE9DS19UWFNfTElNSVQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJsb2NrVHhzO1xuICB9O1xufVxuIl19
package/package.json CHANGED
@@ -1,13 +1,20 @@
1
1
  {
2
2
  "name": "@rosen-bridge/bitcoin-scanner",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "A Bitcoin blockchain scanner based on Esplora or Rpc Block Explorer API",
5
- "repository": "https://github.com/rosen-bridge/scanner",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/rosen-bridge/scanner.git"
8
+ },
6
9
  "license": "MIT",
7
10
  "author": "Rosen Team",
8
11
  "type": "module",
9
12
  "main": "dist/index.js",
10
13
  "types": "dist/index.d.ts",
14
+ "files": [
15
+ "dist",
16
+ "CHANGELOG.md"
17
+ ],
11
18
  "scripts": {
12
19
  "build": "tsc --build tsconfig.build.json",
13
20
  "coverage": "npm run test -- --coverage",
@@ -28,8 +35,8 @@
28
35
  "node": ">=22.18.0"
29
36
  },
30
37
  "dependencies": {
31
- "@rosen-bridge/abstract-scanner": "^0.1.0",
32
- "@rosen-bridge/rate-limited-axios": "^0.2.1",
33
- "@rosen-bridge/scanner-interfaces": "^0.2.0"
38
+ "@rosen-bridge/abstract-scanner": "^0.2.0",
39
+ "@rosen-bridge/scanner-interfaces": "^0.2.0",
40
+ "@rosen-clients/rate-limited-axios": "^1.0.0"
34
41
  }
35
42
  }
package/.eslintignore DELETED
@@ -1 +0,0 @@
1
- dist
package/lib/index.ts DELETED
@@ -1,8 +0,0 @@
1
- export { BitcoinEsploraScanner } from './scanner/BitcoinEsploraScanner';
2
- export * from './types';
3
- export { DogeEsploraScanner } from './scanner/DogeEsploraScanner';
4
- export { EsploraNetwork } from './network/EsploraNetwork';
5
- export * from './scanner/BitcoinRpcScanner';
6
- export * from './scanner/DogeRpcScanner';
7
- export * from './network/BitcoinRpcNetwork';
8
- export * from './network/DogeRpcNetwork';
@@ -1,111 +0,0 @@
1
- import axios, { Axios } from '@rosen-bridge/rate-limited-axios';
2
- import {
3
- AbstractNetworkConnector,
4
- Block,
5
- } from '@rosen-bridge/scanner-interfaces';
6
- import { BitcoinRpcTransaction, BlockHeader, JsonRpcResult } from '../types';
7
-
8
- import { randomBytes } from 'crypto';
9
-
10
- export class BitcoinRpcNetwork extends AbstractNetworkConnector<BitcoinRpcTransaction> {
11
- private readonly url: string;
12
- private readonly timeout: number;
13
- private client: Axios;
14
-
15
- constructor(
16
- url: string,
17
- timeout: number,
18
- auth?: {
19
- username: string;
20
- password: string;
21
- },
22
- ) {
23
- super();
24
- this.url = url;
25
- this.timeout = timeout;
26
- this.client = axios.create({
27
- baseURL: this.url,
28
- timeout: this.timeout,
29
- headers: { 'Content-Type': 'application/json' },
30
- auth: auth,
31
- });
32
- }
33
-
34
- private generateRandomId = () => randomBytes(32).toString('hex');
35
-
36
- /**
37
- * Returns block at height
38
- * @param height
39
- * @returns Block
40
- */
41
- getBlockAtHeight = async (height: number): Promise<Block> => {
42
- const randomId1 = this.generateRandomId();
43
- // get block hash using block height
44
- const blockHashResponse = await this.client.post<JsonRpcResult>('', {
45
- method: 'getblockhash',
46
- id: randomId1,
47
- params: [height],
48
- });
49
- if (blockHashResponse.data.id !== randomId1)
50
- throw Error(`UnexpectedBehavior: Request and response id are different`);
51
- const blockHash = blockHashResponse.data.result;
52
-
53
- const randomId2 = this.generateRandomId();
54
- // get block headers using block hash
55
- const blockHeaderResponse = await this.client.post<JsonRpcResult>('', {
56
- method: 'getblockheader',
57
- id: randomId2,
58
- params: [blockHash, true],
59
- });
60
- if (blockHeaderResponse.data.id !== randomId2)
61
- throw Error(`UnexpectedBehavior: Request and response id are different`);
62
- const blockHeader: BlockHeader = blockHeaderResponse.data
63
- .result as BlockHeader;
64
- return {
65
- parentHash: blockHeader.previousblockhash,
66
- hash: blockHeader.hash,
67
- height: blockHeader.height,
68
- timestamp: blockHeader.time,
69
- txCount: blockHeader.nTx,
70
- };
71
- };
72
-
73
- /**
74
- * Returns current network height
75
- * @returns current height
76
- */
77
- getCurrentHeight = async (): Promise<number> => {
78
- const randomId = this.generateRandomId();
79
- const result = await this.client.post<JsonRpcResult>('', {
80
- method: 'getblockchaininfo',
81
- id: randomId,
82
- params: [],
83
- });
84
- if (result.data.id !== randomId)
85
- throw Error(`UnexpectedBehavior: Request and response id are different`);
86
- return (result.data.result as { blocks: number }).blocks;
87
- };
88
-
89
- /**
90
- * Return transactions in a block with specified hash
91
- * @param blockHash
92
- * @returns
93
- */
94
- getBlockTxs = async (
95
- blockHash: string,
96
- ): Promise<Array<BitcoinRpcTransaction>> => {
97
- const randomId = this.generateRandomId();
98
- const blockHashResponse = await this.client.post<JsonRpcResult>('', {
99
- method: 'getblock',
100
- id: randomId,
101
- params: [blockHash, 2], // verbosity should be 2 in order to retrieve full transaction info
102
- });
103
- if (blockHashResponse.data.id !== randomId)
104
- throw Error(`UnexpectedBehavior: Request and response id are different`);
105
- const blockTxs = (
106
- blockHashResponse.data.result as { tx: Array<BitcoinRpcTransaction> }
107
- ).tx;
108
-
109
- return blockTxs;
110
- };
111
- }
@@ -1,112 +0,0 @@
1
- import axios, { Axios } from '@rosen-bridge/rate-limited-axios';
2
- import {
3
- AbstractNetworkConnector,
4
- Block,
5
- } from '@rosen-bridge/scanner-interfaces';
6
- import { DogeRpcTransaction, JsonRpcResult, DogeBlockSummary } from '../types';
7
-
8
- import { randomBytes } from 'crypto';
9
-
10
- export class DogeRpcNetwork extends AbstractNetworkConnector<DogeRpcTransaction> {
11
- private readonly url: string;
12
- private readonly timeout: number;
13
- private client: Axios;
14
-
15
- constructor(
16
- url: string,
17
- timeout: number,
18
- auth?: {
19
- username: string;
20
- password: string;
21
- },
22
- ) {
23
- super();
24
- this.url = url;
25
- this.timeout = timeout;
26
- this.client = axios.create({
27
- baseURL: this.url,
28
- timeout: this.timeout,
29
- headers: { 'Content-Type': 'application/json' },
30
- auth: auth,
31
- });
32
- }
33
-
34
- private generateRandomId = () => randomBytes(32).toString('hex');
35
-
36
- /**
37
- * Returns block at height
38
- * @param height
39
- * @returns Block
40
- */
41
- getBlockAtHeight = async (height: number): Promise<Block> => {
42
- const randomId1 = this.generateRandomId();
43
- // get block hash using block height
44
- const blockHashResponse = await this.client.post<JsonRpcResult>('', {
45
- method: 'getblockhash',
46
- id: randomId1,
47
- params: [height],
48
- });
49
- if (blockHashResponse.data.id !== randomId1)
50
- throw Error(`UnexpectedBehavior: Request and response id are different`);
51
- const blockHash = blockHashResponse.data.result;
52
-
53
- const randomId2 = this.generateRandomId();
54
- // get block headers using block hash
55
- const blockSummaryResponse = await this.client.post<JsonRpcResult>('', {
56
- method: 'getblock',
57
- id: randomId2,
58
- params: [blockHash, 1],
59
- });
60
- if (blockSummaryResponse.data.id !== randomId2)
61
- throw Error(`UnexpectedBehavior: Request and response id are different`);
62
- const blockSummary: DogeBlockSummary = blockSummaryResponse.data
63
- .result as DogeBlockSummary;
64
-
65
- return {
66
- parentHash: blockSummary.previousblockhash,
67
- hash: blockSummary.hash,
68
- height: blockSummary.height,
69
- timestamp: blockSummary.time,
70
- txCount: blockSummary.tx.length,
71
- };
72
- };
73
-
74
- /**
75
- * Returns current network height
76
- * @returns current height
77
- */
78
- getCurrentHeight = async (): Promise<number> => {
79
- const randomId = this.generateRandomId();
80
- const result = await this.client.post<JsonRpcResult>('', {
81
- method: 'getblockchaininfo',
82
- id: randomId,
83
- params: [],
84
- });
85
- if (result.data.id !== randomId)
86
- throw Error(`UnexpectedBehavior: Request and response id are different`);
87
- return (result.data.result as { blocks: number }).blocks;
88
- };
89
-
90
- /**
91
- * Return transactions in a block with specified hash
92
- * @param blockHash
93
- * @returns
94
- */
95
- getBlockTxs = async (
96
- blockHash: string,
97
- ): Promise<Array<DogeRpcTransaction>> => {
98
- const randomId = this.generateRandomId();
99
- const blockHashResponse = await this.client.post<JsonRpcResult>('', {
100
- method: 'getblock',
101
- id: randomId,
102
- params: [blockHash, 2], // verbosity should be 2 in order to retrieve full transaction info
103
- });
104
- if (blockHashResponse.data.id !== randomId)
105
- throw Error(`UnexpectedBehavior: Request and response id are different`);
106
- const blockTxs = (
107
- blockHashResponse.data.result as { tx: Array<DogeRpcTransaction> }
108
- ).tx;
109
-
110
- return blockTxs;
111
- };
112
- }
@@ -1,92 +0,0 @@
1
- import axios, { Axios } from '@rosen-bridge/rate-limited-axios';
2
- import {
3
- AbstractNetworkConnector,
4
- Block,
5
- } from '@rosen-bridge/scanner-interfaces';
6
- import { BitcoinEsploraTransaction, EsploraBlock } from '../types';
7
-
8
- export class EsploraNetwork extends AbstractNetworkConnector<BitcoinEsploraTransaction> {
9
- private readonly url: string;
10
- private readonly timeout: number;
11
- private readonly ESPLORA_BLOCK_TXS_LIMIT = 25;
12
- private client: Axios;
13
- private apiPrefix: string;
14
-
15
- constructor(url: string, timeout: number, apiPrefix?: string) {
16
- super();
17
- this.url = url;
18
- this.timeout = timeout;
19
- this.client = axios.create({
20
- baseURL: this.url,
21
- timeout: this.timeout,
22
- headers: { 'Content-Type': 'application/json' },
23
- });
24
- this.apiPrefix = apiPrefix || '/api';
25
- }
26
-
27
- /**
28
- * Returns block at height
29
- * @param height
30
- * @returns Block
31
- */
32
- getBlockAtHeight = async (height: number): Promise<Block> => {
33
- // get block hash using block height
34
- const blockHash = (
35
- await this.client.get<string>(`${this.apiPrefix}/block-height/${height}`)
36
- ).data;
37
-
38
- // get block headers using block hash
39
- const blockHeader = (
40
- await this.client.get<EsploraBlock>(
41
- `${this.apiPrefix}/block/${blockHash}`,
42
- )
43
- ).data;
44
- return {
45
- parentHash: blockHeader.previousblockhash,
46
- hash: blockHeader.id,
47
- height: blockHeader.height,
48
- timestamp: blockHeader.timestamp,
49
- txCount: blockHeader.tx_count,
50
- };
51
- };
52
-
53
- /**
54
- * Returns current network height
55
- * @returns current height
56
- */
57
- getCurrentHeight = (): Promise<number> => {
58
- return this.client
59
- .get<number>(`${this.apiPrefix}/blocks/tip/height`)
60
- .then((res) => res.data);
61
- };
62
-
63
- /**
64
- * Return transactions in a block with specified hash
65
- * @param blockHash
66
- * @returns
67
- */
68
- getBlockTxs = async (
69
- blockHash: string,
70
- ): Promise<Array<BitcoinEsploraTransaction>> => {
71
- const txCount = (
72
- await this.client.get<EsploraBlock>(
73
- `${this.apiPrefix}/block/${blockHash}`,
74
- )
75
- ).data.tx_count;
76
-
77
- const blockTxs: Array<BitcoinEsploraTransaction> = [];
78
- let offset = 0;
79
-
80
- while (offset < txCount) {
81
- const txs = (
82
- await this.client.get<Array<BitcoinEsploraTransaction>>(
83
- `${this.apiPrefix}/block/${blockHash}/txs/${offset}`,
84
- )
85
- ).data;
86
- blockTxs.push(...txs);
87
- offset += this.ESPLORA_BLOCK_TXS_LIMIT;
88
- }
89
-
90
- return blockTxs;
91
- };
92
- }
@@ -1,15 +0,0 @@
1
- import { GeneralScanner, ScannerConfig } from '@rosen-bridge/abstract-scanner';
2
- import { BitcoinEsploraTransaction } from '../types';
3
- export class BitcoinEsploraScanner extends GeneralScanner<BitcoinEsploraTransaction> {
4
- constructor(config: ScannerConfig<BitcoinEsploraTransaction>) {
5
- super(
6
- 'bitcoin',
7
- config.dataSource,
8
- config.initialHeight,
9
- config.network,
10
- config.blockRetrieveGap,
11
- config.logger,
12
- config.suffix,
13
- );
14
- }
15
- }
@@ -1,16 +0,0 @@
1
- import { GeneralScanner, ScannerConfig } from '@rosen-bridge/abstract-scanner';
2
- import { BitcoinRpcTransaction } from '../types';
3
-
4
- export class BitcoinRpcScanner extends GeneralScanner<BitcoinRpcTransaction> {
5
- constructor(config: ScannerConfig<BitcoinRpcTransaction>) {
6
- super(
7
- 'bitcoin',
8
- config.dataSource,
9
- config.initialHeight,
10
- config.network,
11
- config.blockRetrieveGap,
12
- config.logger,
13
- config.suffix,
14
- );
15
- }
16
- }
@@ -1,15 +0,0 @@
1
- import { GeneralScanner, ScannerConfig } from '@rosen-bridge/abstract-scanner';
2
- import { BitcoinEsploraTransaction } from '../types';
3
- export class DogeEsploraScanner extends GeneralScanner<BitcoinEsploraTransaction> {
4
- constructor(config: ScannerConfig<BitcoinEsploraTransaction>) {
5
- super(
6
- 'doge',
7
- config.dataSource,
8
- config.initialHeight,
9
- config.network,
10
- config.blockRetrieveGap,
11
- config.logger,
12
- config.suffix,
13
- );
14
- }
15
- }
@@ -1,16 +0,0 @@
1
- import { GeneralScanner, ScannerConfig } from '@rosen-bridge/abstract-scanner';
2
- import { DogeRpcTransaction } from '../types';
3
-
4
- export class DogeRpcScanner extends GeneralScanner<DogeRpcTransaction> {
5
- constructor(config: ScannerConfig<DogeRpcTransaction>) {
6
- super(
7
- 'doge',
8
- config.dataSource,
9
- config.initialHeight,
10
- config.network,
11
- config.blockRetrieveGap,
12
- config.logger,
13
- config.suffix,
14
- );
15
- }
16
- }