@rosen-bridge/rosen-extractor 5.0.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/getRosenData/Utils.d.ts +48 -0
- package/dist/lib/getRosenData/Utils.d.ts.map +1 -0
- package/dist/lib/getRosenData/Utils.js +101 -0
- package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts +6 -1
- package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.js +12 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.js +3 -2
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts +2 -1
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.js +5 -3
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts +2 -2
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/evm/EvmRosenExtractor.js +4 -4
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts +2 -2
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ import { Transaction } from 'ethers';
|
|
|
4
4
|
import { RosenTokens } from '@rosen-bridge/tokens';
|
|
5
5
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
6
6
|
export declare class EvmRpcRosenExtractor extends AbstractRosenDataExtractor<Transaction> {
|
|
7
|
-
|
|
7
|
+
readonly chain: string;
|
|
8
8
|
protected nativeToken: string;
|
|
9
9
|
constructor(lockAddress: string, tokens: RosenTokens, chain: string, nativeToken: string, logger?: AbstractLogger);
|
|
10
10
|
/**
|
|
@@ -21,6 +21,6 @@ export declare class EvmRpcRosenExtractor extends AbstractRosenDataExtractor<Tra
|
|
|
21
21
|
* 5. bytes after 69 must represent a valid CallDataRosenData
|
|
22
22
|
* @param transaction the lock transaction in ethers Transaction object
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
extractRawData: (transaction: Transaction) => RosenData | undefined;
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=EvmRpcRosenExtractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmRpcRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/EvmRpcRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,oBAAqB,SAAQ,0BAA0B,CAAC,WAAW,CAAC;IAC/E,
|
|
1
|
+
{"version":3,"file":"EvmRpcRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/EvmRpcRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,oBAAqB,SAAQ,0BAA0B,CAAC,WAAW,CAAC;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;gBAG5B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAOzB;;;;;;;;;;;;;OAaG;IACH,cAAc,gBAAiB,WAAW,KAAG,SAAS,GAAG,SAAS,CA+GhE;CACH"}
|
|
@@ -22,7 +22,7 @@ export class EvmRpcRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
22
22
|
* 5. bytes after 69 must represent a valid CallDataRosenData
|
|
23
23
|
* @param transaction the lock transaction in ethers Transaction object
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
extractRawData = (transaction) => {
|
|
26
26
|
const baseError = `No rosen data found for tx [${transaction.hash}]`;
|
|
27
27
|
try {
|
|
28
28
|
if (transaction.from == null || transaction.hash == null) {
|
|
@@ -120,4 +120,4 @@ export class EvmRpcRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
120
120
|
}
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtUnBjUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1ScGNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBSWhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDBCQUF1QztJQUNyRSxLQUFLLENBQVM7SUFDZCxXQUFXLENBQVM7SUFFOUIsWUFDRSxXQUFtQixFQUNuQixNQUFtQixFQUNuQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxHQUFHLEdBQUcsQ0FBQyxXQUF3QixFQUF5QixFQUFFO1FBQ3hELE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDckUsSUFBSTtZQUNGLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLFNBQVM7b0JBQ1Asd0JBQXdCLFdBQVcsQ0FBQyxJQUFJLGtCQUFrQixXQUFXLENBQUMsSUFBSSw0REFBNEQsQ0FDekksQ0FBQztnQkFDRixPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUNELElBQUksV0FBVyxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFD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QUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsNERBQTRELENBQUMsRUFBRSxDQUNoRSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QjtZQUNELE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3NlbkRhdGEgfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdldGhlcnMnO1xuaW1wb3J0IHsgUm9zZW5Ub2tlbnMsIFJvc2VuQ2hhaW5Ub2tlbiB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgcGFyc2VSb3NlbkRhdGEgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEV2bVJwY1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgcHJvdGVjdGVkIGNoYWluOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBuYXRpdmVUb2tlbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvY2tBZGRyZXNzOiBzdHJpbmcsXG4gICAgdG9rZW5zOiBSb3NlblRva2VucyxcbiAgICBjaGFpbjogc3RyaW5nLFxuICAgIG5hdGl2ZVRva2VuOiBzdHJpbmcsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXJcbiAgKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmNoYWluID0gY2hhaW47XG4gICAgdGhpcy5uYXRpdmVUb2tlbiA9IG5hdGl2ZVRva2VuO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uIG9iamVjdFxuICAgKiBjaGVja3M6XG4gICAqICAgICBOYXRpdmUgdG9rZW4gdHJhbnNmZXI6XG4gICAqICAgICAgICAgMS4gYHRvYCBtdXN0IGJlIHRoZSBsb2NrIGFkZHJlc3NcbiAgICogICAgICAgICAyLiB0aGUgZW50aXJlIGNhbGxkYXRhIG11c3QgcmVwcmVzZW50IGEgdmFsaWQgQ2FsbERhdGFSb3NlbkRhdGFcbiAgICogICAgIEVSQzIwIHRyYW5zZmVyOlxuICAgKiAgICAgICAgIDEuIGB0b2AgYWRkcmVzcyBpcyBvbmUgb2YgdGhlIHN1cHBvcnRlZCBhc3NldHNcbiAgICogICAgICAgICAyLiBmaXJzdCBmb3VyIGJ5dGVzIG9mIHRoZSBjYWxsIGRhdGEgaW5kaWNhdGUgYHRyYW5zZmVyYCBmdW5jdGlvbiBjYWxsOiBhOTA1OWNiYlxuICAgKiAgICAgICAgIDMuIGJ5dGVzIGZyb20gNSB0byAzNyBtdXN0IGJlIHRoZSBsb2NrIGFkZHJlc3NcbiAgICogICAgICAgICA0LiBieXRlcyBmcm9tIDM3IHRvIDY5IHNob3cgdGhlIGFtb3VudFxuICAgKiAgICAgICAgIDUuIGJ5dGVzIGFmdGVyIDY5IG11c3QgcmVwcmVzZW50IGEgdmFsaWQgQ2FsbERhdGFSb3NlbkRhdGFcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIHRoZSBsb2NrIHRyYW5zYWN0aW9uIGluIGV0aGVycyBUcmFuc2FjdGlvbiBvYmplY3RcbiAgICovXG4gIGdldCA9ICh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi5oYXNofV1gO1xuICAgIHRyeSB7XG4gICAgICBpZiAodHJhbnNhY3Rpb24uZnJvbSA9PSBudWxsIHx8IHRyYW5zYWN0aW9uLmhhc2ggPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgK1xuICAgICAgICAgICAgYHRyYW5zYWN0aW9uICdmcm9tJyAoWyR7dHJhbnNhY3Rpb24uZnJvbX1dKSBvciAnaGFzaCcgKFske3RyYW5zYWN0aW9uLmhhc2h9XSkgaXMgdW5leHBlY3RlZCAocHJvYmFibHkgdW5zaWduZWQgdHJhbnNhY3Rpb24gaXMgcGFzc2VkKWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmICh0cmFuc2FjdGlvbi50byA9PSBudWxsKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6ICd0bycgYWRkcmVzcyBpcyBlbXB0eS5gKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGxldCByb3NlbkRhdGE7XG4gICAgICBjb25zdCBjYWxsRGF0YSA9IHRyYW5zYWN0aW9uLmRhdGEuc3Vic3RyaW5nKDIpO1xuICAgICAgbGV0IHRva2VuOiBSZWNvcmQ8c3RyaW5nLCBSb3NlbkNoYWluVG9rZW4+O1xuICAgICAgbGV0IHJvc2VuRGF0YVJhdztcbiAgICAgIGxldCB0b2tlbkFkZHJlc3M7XG4gICAgICBsZXQgYW1vdW50O1xuICAgICAgbGV0IHNvdXJjZVRva2VuSWQsIHRhcmdldFRva2VuSWQ7XG5cbiAgICAgIGlmICh0cmFuc2FjdGlvbi50by50b0xvd2VyQ2FzZSgpID09IHRoaXMubG9ja0FkZHJlc3MpIHtcbiAgICAgICAgLy8gdHJhbnNhY3Rpb24gbXVzdCBiZSBhIG5hdGl2ZSB0b2tlbiB0cmFuc2ZlclxuICAgICAgICByb3NlbkRhdGFSYXcgPSBjYWxsRGF0YTtcbiAgICAgICAgdG9rZW5BZGRyZXNzID0gdGhpcy5uYXRpdmVUb2tlbjtcbiAgICAgICAgYW1vdW50ID0gdHJhbnNhY3Rpb24udmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgdG9rZW5zID0gdGhpcy50b2tlbnMuc2VhcmNoKHRoaXMuY2hhaW4sIHtcbiAgICAgICAgICBbdGhpcy50b2tlbnMuZ2V0SWRLZXkodGhpcy5jaGFpbildOiB0aGlzLm5hdGl2ZVRva2VuLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPT0gMSkge1xuICAgICAgICAgIHNvdXJjZVRva2VuSWQgPSB0aGlzLm5hdGl2ZVRva2VuO1xuICAgICAgICAgIHRva2VuID0gdG9rZW5zWzBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgICAgYDogbmF0aXZlIHRva2VuIFske3RoaXMubmF0aXZlVG9rZW59XSBpcyBub3QgYXZhaWxhYmxlIGluIHNvdXJjZSBjaGlhbidzIHRva2VucyBtYXAuYFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdHJhbnNhY3Rpb24gbXVzdCBiZSBhbiBFUkMtMjAgdG9rZW4gdHJhbnNmZXJcbiAgICAgICAgaWYgKGNhbGxEYXRhLnN1YnN0cmluZygwLCA4KSAhPSAnYTkwNTljYmInKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBOb3QgYSB2YWxpZCBFUkMyMCB0cmFuc2ZlciB0cmFuc2FjdGlvbi5gXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBCaWdJbnQoJzB4JyArIGNhbGxEYXRhLnN1YnN0cmluZyg4LCA3MikpLnRvU3RyaW5nKDE2KSAhPVxuICAgICAgICAgIHRoaXMubG9ja0FkZHJlc3Muc3Vic3RyaW5nKDIpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICsgYDogJ3RvJyBhZGRyZXNzIGlzIG5vdCB0aGUgbG9jayBhZGRyZXNzLmBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgYW1vdW50ID0gQmlnSW50KCcweCcgKyBjYWxsRGF0YS5zbGljZSg3MiwgNzIgKyA2NCkpLnRvU3RyaW5nKCk7XG4gICAgICAgIHJvc2VuRGF0YVJhdyA9IGNhbGxEYXRhLnN1YnN0cmluZyg3MiArIDY0KTtcbiAgICAgICAgdG9rZW5BZGRyZXNzID0gdHJhbnNhY3Rpb24udG8udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgdG9rZW5zID0gdGhpcy50b2tlbnMuc2VhcmNoKHRoaXMuY2hhaW4sIHtcbiAgICAgICAgICBbdGhpcy50b2tlbnMuZ2V0SWRLZXkodGhpcy5jaGFpbildOiB0b2tlbkFkZHJlc3MsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW5zLmxlbmd0aCAhPSAxKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBiYXNlRXJyb3IgK1xuICAgICAgICAgICAgICBgOiB0b2tlbiBbJHt0b2tlbkFkZHJlc3N9XSBpcyBub3Qgc3VwcG9ydGVkIG9uIGNoYWluOiBbJHt0aGlzLmNoYWlufV0uYFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB0b2tlbiA9IHRva2Vuc1swXTtcbiAgICAgICAgc291cmNlVG9rZW5JZCA9IHRva2VuQWRkcmVzcy50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgcm9zZW5EYXRhID0gcGFyc2VSb3NlbkRhdGEocm9zZW5EYXRhUmF3KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGV4dHJhY3QgZGF0YSBmcm9tIGNhbGwgZGF0YTogJHtlfWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgdGFyZ2V0VG9rZW5JZCA9IHRoaXMudG9rZW5zLmdldElEKHRva2VuLCByb3NlbkRhdGEudG9DaGFpbik7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArXG4gICAgICAgICAgICBgOiB0b2tlbiBbJHt0b2tlbkFkZHJlc3N9XSBpcyBub3Qgc3VwcG9ydGVkIG9uIGNoYWluOiBbJHtyb3NlbkRhdGEudG9DaGFpbn1dLmBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvQ2hhaW46IHJvc2VuRGF0YS50b0NoYWluLFxuICAgICAgICB0b0FkZHJlc3M6IHJvc2VuRGF0YS50b0FkZHJlc3MsXG4gICAgICAgIGJyaWRnZUZlZTogcm9zZW5EYXRhLmJyaWRnZUZlZSxcbiAgICAgICAgbmV0d29ya0ZlZTogcm9zZW5EYXRhLm5ldHdvcmtGZWUsXG4gICAgICAgIGZyb21BZGRyZXNzOiB0cmFuc2FjdGlvbi5mcm9tLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogc291cmNlVG9rZW5JZCxcbiAgICAgICAgYW1vdW50OiBhbW91bnQsXG4gICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogdGFyZ2V0VG9rZW5JZCxcbiAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24uaGFzaCxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIEVWTSByb3NlbiBkYXRhIGZyb20gUlBDOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtUnBjUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1ScGNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBSWhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDBCQUF1QztJQUN0RSxLQUFLLENBQVM7SUFDYixXQUFXLENBQVM7SUFFOUIsWUFDRSxXQUFtQixFQUNuQixNQUFtQixFQUNuQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxjQUFjLEdBQUcsQ0FBQyxXQUF3QixFQUF5QixFQUFFO1FBQ25FLE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDckUsSUFBSTtZQUNGLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLFNBQVM7b0JBQ1Asd0JBQXdCLFdBQVcsQ0FBQyxJQUFJLGtCQUFrQixXQUFXLENBQUMsSUFBSSw0REFBNEQsQ0FDekksQ0FBQztnQkFDRixPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUNELElBQUksV0FBVyxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFD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QUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsNERBQTRELENBQUMsRUFBRSxDQUNoRSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QjtZQUNELE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3NlbkRhdGEgfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdldGhlcnMnO1xuaW1wb3J0IHsgUm9zZW5Ub2tlbnMsIFJvc2VuQ2hhaW5Ub2tlbiB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgcGFyc2VSb3NlbkRhdGEgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEV2bVJwY1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgY2hhaW46IHN0cmluZztcbiAgcHJvdGVjdGVkIG5hdGl2ZVRva2VuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9ja0FkZHJlc3M6IHN0cmluZyxcbiAgICB0b2tlbnM6IFJvc2VuVG9rZW5zLFxuICAgIGNoYWluOiBzdHJpbmcsXG4gICAgbmF0aXZlVG9rZW46IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlclxuICApIHtcbiAgICBzdXBlcihsb2NrQWRkcmVzcywgdG9rZW5zLCBsb2dnZXIpO1xuICAgIHRoaXMuY2hhaW4gPSBjaGFpbjtcbiAgICB0aGlzLm5hdGl2ZVRva2VuID0gbmF0aXZlVG9rZW47XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBldGhlcnMgVHJhbnNhY3Rpb24gb2JqZWN0XG4gICAqIGNoZWNrczpcbiAgICogICAgIE5hdGl2ZSB0b2tlbiB0cmFuc2ZlcjpcbiAgICogICAgICAgICAxLiBgdG9gIG11c3QgYmUgdGhlIGxvY2sgYWRkcmVzc1xuICAgKiAgICAgICAgIDIuIHRoZSBlbnRpcmUgY2FsbGRhdGEgbXVzdCByZXByZXNlbnQgYSB2YWxpZCBDYWxsRGF0YVJvc2VuRGF0YVxuICAgKiAgICAgRVJDMjAgdHJhbnNmZXI6XG4gICAqICAgICAgICAgMS4gYHRvYCBhZGRyZXNzIGlzIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGFzc2V0c1xuICAgKiAgICAgICAgIDIuIGZpcnN0IGZvdXIgYnl0ZXMgb2YgdGhlIGNhbGwgZGF0YSBpbmRpY2F0ZSBgdHJhbnNmZXJgIGZ1bmN0aW9uIGNhbGw6IGE5MDU5Y2JiXG4gICAqICAgICAgICAgMy4gYnl0ZXMgZnJvbSA1IHRvIDM3IG11c3QgYmUgdGhlIGxvY2sgYWRkcmVzc1xuICAgKiAgICAgICAgIDQuIGJ5dGVzIGZyb20gMzcgdG8gNjkgc2hvdyB0aGUgYW1vdW50XG4gICAqICAgICAgICAgNS4gYnl0ZXMgYWZ0ZXIgNjkgbXVzdCByZXByZXNlbnQgYSB2YWxpZCBDYWxsRGF0YVJvc2VuRGF0YVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gdGhlIGxvY2sgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uIG9iamVjdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24uaGFzaH1dYDtcbiAgICB0cnkge1xuICAgICAgaWYgKHRyYW5zYWN0aW9uLmZyb20gPT0gbnVsbCB8fCB0cmFuc2FjdGlvbi5oYXNoID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgIGB0cmFuc2FjdGlvbiAnZnJvbScgKFske3RyYW5zYWN0aW9uLmZyb219XSkgb3IgJ2hhc2gnIChbJHt0cmFuc2FjdGlvbi5oYXNofV0pIGlzIHVuZXhwZWN0ZWQgKHByb2JhYmx5IHVuc2lnbmVkIHRyYW5zYWN0aW9uIGlzIHBhc3NlZClgXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBpZiAodHJhbnNhY3Rpb24udG8gPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhiYXNlRXJyb3IgKyBgOiAndG8nIGFkZHJlc3MgaXMgZW1wdHkuYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBsZXQgcm9zZW5EYXRhO1xuICAgICAgY29uc3QgY2FsbERhdGEgPSB0cmFuc2FjdGlvbi5kYXRhLnN1YnN0cmluZygyKTtcbiAgICAgIGxldCB0b2tlbjogUmVjb3JkPHN0cmluZywgUm9zZW5DaGFpblRva2VuPjtcbiAgICAgIGxldCByb3NlbkRhdGFSYXc7XG4gICAgICBsZXQgdG9rZW5BZGRyZXNzO1xuICAgICAgbGV0IGFtb3VudDtcbiAgICAgIGxldCBzb3VyY2VUb2tlbklkLCB0YXJnZXRUb2tlbklkO1xuXG4gICAgICBpZiAodHJhbnNhY3Rpb24udG8udG9Mb3dlckNhc2UoKSA9PSB0aGlzLmxvY2tBZGRyZXNzKSB7XG4gICAgICAgIC8vIHRyYW5zYWN0aW9uIG11c3QgYmUgYSBuYXRpdmUgdG9rZW4gdHJhbnNmZXJcbiAgICAgICAgcm9zZW5EYXRhUmF3ID0gY2FsbERhdGE7XG4gICAgICAgIHRva2VuQWRkcmVzcyA9IHRoaXMubmF0aXZlVG9rZW47XG4gICAgICAgIGFtb3VudCA9IHRyYW5zYWN0aW9uLnZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHRva2VucyA9IHRoaXMudG9rZW5zLnNlYXJjaCh0aGlzLmNoYWluLCB7XG4gICAgICAgICAgW3RoaXMudG9rZW5zLmdldElkS2V5KHRoaXMuY2hhaW4pXTogdGhpcy5uYXRpdmVUb2tlbixcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0b2tlbnMubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICBzb3VyY2VUb2tlbklkID0gdGhpcy5uYXRpdmVUb2tlbjtcbiAgICAgICAgICB0b2tlbiA9IHRva2Vuc1swXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGJhc2VFcnJvciArXG4gICAgICAgICAgICAgIGA6IG5hdGl2ZSB0b2tlbiBbJHt0aGlzLm5hdGl2ZVRva2VufV0gaXMgbm90IGF2YWlsYWJsZSBpbiBzb3VyY2UgY2hpYW4ncyB0b2tlbnMgbWFwLmBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRyYW5zYWN0aW9uIG11c3QgYmUgYW4gRVJDLTIwIHRva2VuIHRyYW5zZmVyXG4gICAgICAgIGlmIChjYWxsRGF0YS5zdWJzdHJpbmcoMCwgOCkgIT0gJ2E5MDU5Y2JiJykge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICsgYDogTm90IGEgdmFsaWQgRVJDMjAgdHJhbnNmZXIgdHJhbnNhY3Rpb24uYFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgQmlnSW50KCcweCcgKyBjYWxsRGF0YS5zdWJzdHJpbmcoOCwgNzIpKS50b1N0cmluZygxNikgIT1cbiAgICAgICAgICB0aGlzLmxvY2tBZGRyZXNzLnN1YnN0cmluZygyKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGJhc2VFcnJvciArIGA6ICd0bycgYWRkcmVzcyBpcyBub3QgdGhlIGxvY2sgYWRkcmVzcy5gXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGFtb3VudCA9IEJpZ0ludCgnMHgnICsgY2FsbERhdGEuc2xpY2UoNzIsIDcyICsgNjQpKS50b1N0cmluZygpO1xuICAgICAgICByb3NlbkRhdGFSYXcgPSBjYWxsRGF0YS5zdWJzdHJpbmcoNzIgKyA2NCk7XG4gICAgICAgIHRva2VuQWRkcmVzcyA9IHRyYW5zYWN0aW9uLnRvLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHRva2VucyA9IHRoaXMudG9rZW5zLnNlYXJjaCh0aGlzLmNoYWluLCB7XG4gICAgICAgICAgW3RoaXMudG9rZW5zLmdldElkS2V5KHRoaXMuY2hhaW4pXTogdG9rZW5BZGRyZXNzLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggIT0gMSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgICAgYDogdG9rZW4gWyR7dG9rZW5BZGRyZXNzfV0gaXMgbm90IHN1cHBvcnRlZCBvbiBjaGFpbjogWyR7dGhpcy5jaGFpbn1dLmBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW4gPSB0b2tlbnNbMF07XG4gICAgICAgIHNvdXJjZVRva2VuSWQgPSB0b2tlbkFkZHJlc3MudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJvc2VuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKHJvc2VuRGF0YVJhdyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IEZhaWxlZCB0byBleHRyYWN0IGRhdGEgZnJvbSBjYWxsIGRhdGE6ICR7ZX1gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHRhcmdldFRva2VuSWQgPSB0aGlzLnRva2Vucy5nZXRJRCh0b2tlbiwgcm9zZW5EYXRhLnRvQ2hhaW4pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgK1xuICAgICAgICAgICAgYDogdG9rZW4gWyR7dG9rZW5BZGRyZXNzfV0gaXMgbm90IHN1cHBvcnRlZCBvbiBjaGFpbjogWyR7cm9zZW5EYXRhLnRvQ2hhaW59XS5gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0NoYWluOiByb3NlbkRhdGEudG9DaGFpbixcbiAgICAgICAgdG9BZGRyZXNzOiByb3NlbkRhdGEudG9BZGRyZXNzLFxuICAgICAgICBicmlkZ2VGZWU6IHJvc2VuRGF0YS5icmlkZ2VGZWUsXG4gICAgICAgIG5ldHdvcmtGZWU6IHJvc2VuRGF0YS5uZXR3b3JrRmVlLFxuICAgICAgICBmcm9tQWRkcmVzczogdHJhbnNhY3Rpb24uZnJvbS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IHNvdXJjZVRva2VuSWQsXG4gICAgICAgIGFtb3VudDogYW1vdW50LFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IHRhcmdldFRva2VuSWQsXG4gICAgICAgIHNvdXJjZVR4SWQ6IHRyYW5zYWN0aW9uLmhhc2gsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBFVk0gcm9zZW4gZGF0YSBmcm9tIFJQQzogJHtlfWBcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|