@rosen-bridge/rosen-extractor 4.0.0 → 4.1.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/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +29 -15
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.js +29 -11
- package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +3 -3
- package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +3 -3
- package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.js +3 -3
- package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +3 -3
- package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.js +3 -3
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +1 -1
- package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.js +5 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -75,19 +75,20 @@ export class ErgoNodeRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
75
75
|
const token = this.tokens.search(ERGO_CHAIN, {
|
|
76
76
|
[this.tokens.getIdKey(ERGO_CHAIN)]: lockedToken.tokenId,
|
|
77
77
|
});
|
|
78
|
-
if (token.length > 0)
|
|
78
|
+
if (token.length > 0 && Object.hasOwn(token[0], toChain)) {
|
|
79
79
|
return {
|
|
80
|
-
from:
|
|
80
|
+
from: lockedToken.tokenId,
|
|
81
81
|
to: this.tokens.getID(token[0], toChain),
|
|
82
82
|
amount: lockedToken.amount.toString(),
|
|
83
83
|
};
|
|
84
|
+
}
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
// try to build transformation using locked Erg
|
|
87
88
|
const erg = this.tokens.search(ERGO_CHAIN, {
|
|
88
89
|
[this.tokens.getIdKey(ERGO_CHAIN)]: ERGO_NATIVE_TOKEN,
|
|
89
90
|
});
|
|
90
|
-
if (erg.length > 0) {
|
|
91
|
+
if (erg.length > 0 && Object.hasOwn(erg[0], toChain)) {
|
|
91
92
|
return {
|
|
92
93
|
from: ERGO_NATIVE_TOKEN,
|
|
93
94
|
to: this.tokens.getID(erg[0], toChain),
|
|
@@ -100,4 +101,4 @@ export class ErgoNodeRosenExtractor extends AbstractRosenDataExtractor {
|
|
|
100
101
|
}
|
|
101
102
|
};
|
|
102
103
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJnb05vZGVSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvZXJnby9FcmdvTm9kZVJvc2VuRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sMEJBQTBCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBRW5ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSwwQkFBMkM7SUFDckYsWUFBWSxDQUFTO0lBRXJCLFlBQ0UsV0FBbUIsRUFDbkIsTUFBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQzthQUNqRCxZQUFZLEVBQUU7YUFDZCxlQUFlLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxHQUFHLENBQUMsV0FBNEIsRUFBeUIsRUFBRTtRQUM1RCxNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLEVBQUUsR0FBRyxDQUFDO1FBQ25FLElBQUk7WUFDRixLQUFLLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JDLE1BQU0sWUFBWSxHQUFHLCtCQUErQixHQUFHLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBQ2pFLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEVBQUU7b0JBQ3JFLE1BQU0sRUFBRSxHQUFHLFFB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b3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgRVJHT19DSEFJTiwgRVJHT19OQVRJVkVfVE9LRU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBOb2RlT3V0cHV0Qm94LCBOb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFJvc2VuVG9rZW5zIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWRkcmVzcywgQ29uc3RhbnQgfSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuXG5leHBvcnQgY2xhc3MgRXJnb05vZGVSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPE5vZGVUcmFuc2FjdGlvbj4ge1xuICBsb2NrRXJnb1RyZWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NrQWRkcmVzczogc3RyaW5nLFxuICAgIHRva2VuczogUm9zZW5Ub2tlbnMsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXJcbiAgKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmxvY2tFcmdvVHJlZSA9IEFkZHJlc3MuZnJvbV9iYXNlNTgobG9ja0FkZHJlc3MpXG4gICAgICAudG9fZXJnb190cmVlKClcbiAgICAgIC50b19iYXNlMTZfYnl0ZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgZnJvbSBnaXZlbiBsb2NrIHRyYW5zYWN0aW9uIGluIE5vZGUgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBOb2RlIGZvcm1hdFxuICAgKi9cbiAgZ2V0ID0gKHRyYW5zYWN0aW9uOiBOb2RlVHJhbnNhY3Rpb24pOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dYDtcbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBib3ggb2YgdHJhbnNhY3Rpb24ub3V0cHV0cykge1xuICAgICAgICBjb25zdCBib3hCYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBmb3VuZCBpbiBib3ggWyR7Ym94LmJveElkfV1gO1xuICAgICAgICBpZiAoYm94LmVyZ29UcmVlID09PSB0aGlzLmxvY2tFcmdvVHJlZSAmJiBib3guYWRkaXRpb25hbFJlZ2lzdGVycz8uUjQpIHtcbiAgICAgICAgICBjb25zdCBSNCA9IENvbnN0YW50LmRlY29kZV9mcm9tX2Jhc2UxNihib3guYWRkaXRpb25hbFJlZ2lzdGVycy5SNCk7XG4gICAgICAgICAgaWYgKFI0KSB7XG4gICAgICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSBSNC50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgaWYgKFI0U2VyaWFsaXplZC5sZW5ndGggPj0gNSkge1xuICAgICAgICAgICAgICBjb25zdCB0b0NoYWluID0gQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzBdKS50b1N0cmluZygpO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGFzc2V0VHJhbnNmb3JtYXRpb24gPSB0aGlzLmdldEFzc2V0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgICAgICAgICAgYm94LFxuICAgICAgICAgICAgICAgIHRvQ2hhaW5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKGFzc2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdG9DaGFpbjogdG9DaGFpbixcbiAgICAgICAgICAgICAgICAgIHRvQWRkcmVzczogQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzFdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgYnJpZGdlRmVlOiBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWRbM10pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICBuZXR3b3JrRmVlOiBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWRbMl0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICBmcm9tQWRkcmVzczogQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzRdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLmZyb20sXG4gICAgICAgICAgICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLnRvLFxuICAgICAgICAgICAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICAgIGJveEJhc2VFcnJvciArXG4gICAgICAgICAgICAgICAgICBgOiBsZW5ndGggb2YgZGF0YSBpbiBSNCBpcyBsZXNzIHRoYW4gZXhwZWN0ZWQgWyR7UjRTZXJpYWxpemVkLmxlbmd0aH0gPCA1XWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGJveC5lcmdvVHJlZSAhPT0gdGhpcy5sb2NrRXJnb1RyZWUpXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgYm94QmFzZUVycm9yICtcbiAgICAgICAgICAgICAgICBgOiBpbnZhbGlkIGVyZ28gdHJlZSBbJHtib3guZXJnb1RyZWV9ICE9PSAke3RoaXMubG9ja0VyZ29UcmVlfV1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGVsc2UgdGhpcy5sb2dnZXIuZGVidWcoYm94QmFzZUVycm9yICsgYDogbm8gUjRgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGJhc2VFcnJvciArIGA6IE5vIHZhbGlkIHJvc2VuIGRhdGEgZm91bmQgaW4gYW55IG91dHB1dCBib3ggcmVnaXN0ZXJzYFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgRXJnbyByb3NlbiBkYXRhOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgYW5kIGJ1aWxkcyB0b2tlbiB0cmFuc2Zvcm1hdGlvbiBmcm9tIE5vZGVPdXRwdXRCb3ggYW5kIHRva2VuTWFwXG4gICAqIEBwYXJhbSBib3ggdHJhbnNhY3Rpb24gb3V0cHV0XG4gICAqIEBwYXJhbSB0b0NoYWluIGV2ZW50IHRhcmdldCBjaGFpblxuICAgKi9cbiAgZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbiA9IChcbiAgICBib3g6IE5vZGVPdXRwdXRCb3gsXG4gICAgdG9DaGFpbjogc3RyaW5nXG4gICk6IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgdG9rZW5zXG4gICAgaWYgKGJveC5hc3NldHMgJiYgYm94LmFzc2V0cy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGxvY2tlZFRva2VuIG9mIGJveC5hc3NldHMpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5zZWFyY2goRVJHT19DSEFJTiwge1xuICAgICAgICAgIFt0aGlzLnRva2Vucy5nZXRJZEtleShFUkdPX0NIQUlOKV06IGxvY2tlZFRva2VuLnRva2VuSWQsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMClcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZnJvbTogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIEVSR09fQ0hBSU4pLFxuICAgICAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCB0b0NoYWluKSxcbiAgICAgICAgICAgIGFtb3VudDogbG9ja2VkVG9rZW4uYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIEVyZ1xuICAgIGNvbnN0IGVyZyA9IHRoaXMudG9rZW5zLnNlYXJjaChFUkdPX0NIQUlOLCB7XG4gICAgICBbdGhpcy50b2tlbnMuZ2V0SWRLZXkoRVJHT19DSEFJTildOiBFUkdPX05BVElWRV9UT0tFTixcbiAgICB9KTtcbiAgICBpZiAoZXJnLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZyb206IEVSR09fTkFUSVZFX1RPS0VOLFxuICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQoZXJnWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBib3gudmFsdWUudG9TdHJpbmcoKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgTm8gcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb24gZm91bmQgZm9yIGJveCBbJHtcbiAgICAgICAgICBib3guYm94SWRcbiAgICAgICAgfV06IGJveCBhc3NldHM6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoYm94LmFzc2V0cyl9YFxuICAgICAgKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJnb05vZGVSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvZXJnby9FcmdvTm9kZVJvc2VuRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sMEJBQTBCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBRW5ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSwwQkFBMkM7SUFDckYsWUFBWSxDQUFTO0lBRXJCLFlBQ0UsV0FBbUIsRUFDbkIsTUFBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQzthQUNqRCxZQUFZLEVBQUU7YUFDZCxlQUFlLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxHQUFHLENBQUMsV0FBNEIsRUFBeUIsRUFBRTtRQUM1RCxNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLEVBQUUsR0FBRyxDQUFDO1FBQ25FLElBQUk7WUFDRixLQUFLLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JDLE1BQU0sWUFBWSxHQUFHLCtCQUErQixHQUFHLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBQ2pFLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEVBQUU7b0JBQ3JFLE1BQU0sRUFBRSxHQUFHLFFB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Q0FBQztZQUNGLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgRVJHT19DSEFJTiwgRVJHT19OQVRJVkVfVE9LRU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBOb2RlT3V0cHV0Qm94LCBOb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFJvc2VuVG9rZW5zIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWRkcmVzcywgQ29uc3RhbnQgfSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuXG5leHBvcnQgY2xhc3MgRXJnb05vZGVSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPE5vZGVUcmFuc2FjdGlvbj4ge1xuICBsb2NrRXJnb1RyZWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NrQWRkcmVzczogc3RyaW5nLFxuICAgIHRva2VuczogUm9zZW5Ub2tlbnMsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXJcbiAgKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmxvY2tFcmdvVHJlZSA9IEFkZHJlc3MuZnJvbV9iYXNlNTgobG9ja0FkZHJlc3MpXG4gICAgICAudG9fZXJnb190cmVlKClcbiAgICAgIC50b19iYXNlMTZfYnl0ZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgZnJvbSBnaXZlbiBsb2NrIHRyYW5zYWN0aW9uIGluIE5vZGUgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBOb2RlIGZvcm1hdFxuICAgKi9cbiAgZ2V0ID0gKHRyYW5zYWN0aW9uOiBOb2RlVHJhbnNhY3Rpb24pOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dYDtcbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBib3ggb2YgdHJhbnNhY3Rpb24ub3V0cHV0cykge1xuICAgICAgICBjb25zdCBib3hCYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBmb3VuZCBpbiBib3ggWyR7Ym94LmJveElkfV1gO1xuICAgICAgICBpZiAoYm94LmVyZ29UcmVlID09PSB0aGlzLmxvY2tFcmdvVHJlZSAmJiBib3guYWRkaXRpb25hbFJlZ2lzdGVycz8uUjQpIHtcbiAgICAgICAgICBjb25zdCBSNCA9IENvbnN0YW50LmRlY29kZV9mcm9tX2Jhc2UxNihib3guYWRkaXRpb25hbFJlZ2lzdGVycy5SNCk7XG4gICAgICAgICAgaWYgKFI0KSB7XG4gICAgICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSBSNC50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgaWYgKFI0U2VyaWFsaXplZC5sZW5ndGggPj0gNSkge1xuICAgICAgICAgICAgICBjb25zdCB0b0NoYWluID0gQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzBdKS50b1N0cmluZygpO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGFzc2V0VHJhbnNmb3JtYXRpb24gPSB0aGlzLmdldEFzc2V0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgICAgICAgICAgYm94LFxuICAgICAgICAgICAgICAgIHRvQ2hhaW5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKGFzc2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdG9DaGFpbjogdG9DaGFpbixcbiAgICAgICAgICAgICAgICAgIHRvQWRkcmVzczogQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzFdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgYnJpZGdlRmVlOiBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWRbM10pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICBuZXR3b3JrRmVlOiBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWRbMl0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICBmcm9tQWRkcmVzczogQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzRdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLmZyb20sXG4gICAgICAgICAgICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLnRvLFxuICAgICAgICAgICAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICAgIGJveEJhc2VFcnJvciArXG4gICAgICAgICAgICAgICAgICBgOiBsZW5ndGggb2YgZGF0YSBpbiBSNCBpcyBsZXNzIHRoYW4gZXhwZWN0ZWQgWyR7UjRTZXJpYWxpemVkLmxlbmd0aH0gPCA1XWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGJveC5lcmdvVHJlZSAhPT0gdGhpcy5sb2NrRXJnb1RyZWUpXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgYm94QmFzZUVycm9yICtcbiAgICAgICAgICAgICAgICBgOiBpbnZhbGlkIGVyZ28gdHJlZSBbJHtib3guZXJnb1RyZWV9ICE9PSAke3RoaXMubG9ja0VyZ29UcmVlfV1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGVsc2UgdGhpcy5sb2dnZXIuZGVidWcoYm94QmFzZUVycm9yICsgYDogbm8gUjRgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGJhc2VFcnJvciArIGA6IE5vIHZhbGlkIHJvc2VuIGRhdGEgZm91bmQgaW4gYW55IG91dHB1dCBib3ggcmVnaXN0ZXJzYFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgRXJnbyByb3NlbiBkYXRhOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgYW5kIGJ1aWxkcyB0b2tlbiB0cmFuc2Zvcm1hdGlvbiBmcm9tIE5vZGVPdXRwdXRCb3ggYW5kIHRva2VuTWFwXG4gICAqIEBwYXJhbSBib3ggdHJhbnNhY3Rpb24gb3V0cHV0XG4gICAqIEBwYXJhbSB0b0NoYWluIGV2ZW50IHRhcmdldCBjaGFpblxuICAgKi9cbiAgZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbiA9IChcbiAgICBib3g6IE5vZGVPdXRwdXRCb3gsXG4gICAgdG9DaGFpbjogc3RyaW5nXG4gICk6IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgdG9rZW5zXG4gICAgaWYgKGJveC5hc3NldHMgJiYgYm94LmFzc2V0cy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGxvY2tlZFRva2VuIG9mIGJveC5hc3NldHMpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vucy5zZWFyY2goRVJHT19DSEFJTiwge1xuICAgICAgICAgIFt0aGlzLnRva2Vucy5nZXRJZEtleShFUkdPX0NIQUlOKV06IGxvY2tlZFRva2VuLnRva2VuSWQsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmcm9tOiBsb2NrZWRUb2tlbi50b2tlbklkLFxuICAgICAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCB0b0NoYWluKSxcbiAgICAgICAgICAgIGFtb3VudDogbG9ja2VkVG9rZW4uYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgRXJnXG4gICAgY29uc3QgZXJnID0gdGhpcy50b2tlbnMuc2VhcmNoKEVSR09fQ0hBSU4sIHtcbiAgICAgIFt0aGlzLnRva2Vucy5nZXRJZEtleShFUkdPX0NIQUlOKV06IEVSR09fTkFUSVZFX1RPS0VOLFxuICAgIH0pO1xuICAgIGlmIChlcmcubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKGVyZ1swXSwgdG9DaGFpbikpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZyb206IEVSR09fTkFUSVZFX1RPS0VOLFxuICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQoZXJnWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBib3gudmFsdWUudG9TdHJpbmcoKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgTm8gcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb24gZm91bmQgZm9yIGJveCBbJHtcbiAgICAgICAgICBib3guYm94SWRcbiAgICAgICAgfV06IGJveCBhc3NldHM6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoYm94LmFzc2V0cyl9YFxuICAgICAgKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufVxuIl19
|