@rosen-bridge/rosen-extractor 10.1.1 → 11.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/getRosenData/abstract/abstractRosenDataExtractor.d.ts +7 -6
  3. package/dist/getRosenData/abstract/abstractRosenDataExtractor.d.ts.map +1 -1
  4. package/dist/getRosenData/abstract/abstractRosenDataExtractor.js +18 -12
  5. package/dist/getRosenData/bitcoin/bitcoinEsploraRosenExtractor.d.ts +2 -2
  6. package/dist/getRosenData/bitcoin/bitcoinEsploraRosenExtractor.d.ts.map +1 -1
  7. package/dist/getRosenData/bitcoin/bitcoinEsploraRosenExtractor.js +4 -4
  8. package/dist/getRosenData/bitcoin/bitcoinRosenExtractor.d.ts +2 -2
  9. package/dist/getRosenData/bitcoin/bitcoinRosenExtractor.d.ts.map +1 -1
  10. package/dist/getRosenData/bitcoin/bitcoinRosenExtractor.js +4 -4
  11. package/dist/getRosenData/bitcoin/bitcoinRpcRosenExtractor.d.ts +2 -2
  12. package/dist/getRosenData/bitcoin/bitcoinRpcRosenExtractor.d.ts.map +1 -1
  13. package/dist/getRosenData/bitcoin/bitcoinRpcRosenExtractor.js +4 -4
  14. package/dist/getRosenData/bitcoin-runes/bitcoinRunesEsploraRosenExtractor.d.ts +2 -2
  15. package/dist/getRosenData/bitcoin-runes/bitcoinRunesEsploraRosenExtractor.d.ts.map +1 -1
  16. package/dist/getRosenData/bitcoin-runes/bitcoinRunesEsploraRosenExtractor.js +4 -4
  17. package/dist/getRosenData/bitcoin-runes/bitcoinRunesRosenExtractor.d.ts +2 -2
  18. package/dist/getRosenData/bitcoin-runes/bitcoinRunesRosenExtractor.d.ts.map +1 -1
  19. package/dist/getRosenData/bitcoin-runes/bitcoinRunesRosenExtractor.js +4 -4
  20. package/dist/getRosenData/bitcoin-runes/bitcoinRunesRpcRosenExtractor.d.ts +2 -2
  21. package/dist/getRosenData/bitcoin-runes/bitcoinRunesRpcRosenExtractor.d.ts.map +1 -1
  22. package/dist/getRosenData/bitcoin-runes/bitcoinRunesRpcRosenExtractor.js +4 -4
  23. package/dist/getRosenData/cardano/cardanoBlockFrostRosenExtractor.d.ts +1 -1
  24. package/dist/getRosenData/cardano/cardanoBlockFrostRosenExtractor.d.ts.map +1 -1
  25. package/dist/getRosenData/cardano/cardanoBlockFrostRosenExtractor.js +13 -7
  26. package/dist/getRosenData/cardano/cardanoKoiosRosenExtractor.d.ts +1 -1
  27. package/dist/getRosenData/cardano/cardanoKoiosRosenExtractor.d.ts.map +1 -1
  28. package/dist/getRosenData/cardano/cardanoKoiosRosenExtractor.js +14 -6
  29. package/dist/getRosenData/cardano/cardanoOgmiosRosenExtractor.d.ts +2 -2
  30. package/dist/getRosenData/cardano/cardanoOgmiosRosenExtractor.d.ts.map +1 -1
  31. package/dist/getRosenData/cardano/cardanoOgmiosRosenExtractor.js +17 -5
  32. package/dist/getRosenData/cardano/cardanoRosenExtractor.d.ts +1 -1
  33. package/dist/getRosenData/cardano/cardanoRosenExtractor.d.ts.map +1 -1
  34. package/dist/getRosenData/cardano/cardanoRosenExtractor.js +5 -6
  35. package/dist/getRosenData/cardano/types.d.ts +5 -2
  36. package/dist/getRosenData/cardano/types.d.ts.map +1 -1
  37. package/dist/getRosenData/cardano/types.js +1 -1
  38. package/dist/getRosenData/doge/dogeEsploraRosenExtractor.d.ts +2 -2
  39. package/dist/getRosenData/doge/dogeEsploraRosenExtractor.d.ts.map +1 -1
  40. package/dist/getRosenData/doge/dogeEsploraRosenExtractor.js +4 -4
  41. package/dist/getRosenData/doge/dogeRosenExtractor.d.ts +2 -2
  42. package/dist/getRosenData/doge/dogeRosenExtractor.d.ts.map +1 -1
  43. package/dist/getRosenData/doge/dogeRosenExtractor.js +4 -4
  44. package/dist/getRosenData/doge/dogeRpcRosenExtractor.d.ts +2 -2
  45. package/dist/getRosenData/doge/dogeRpcRosenExtractor.d.ts.map +1 -1
  46. package/dist/getRosenData/doge/dogeRpcRosenExtractor.js +4 -4
  47. package/dist/getRosenData/ergo/ergoNodeRosenExtractor.d.ts +2 -2
  48. package/dist/getRosenData/ergo/ergoNodeRosenExtractor.d.ts.map +1 -1
  49. package/dist/getRosenData/ergo/ergoNodeRosenExtractor.js +4 -4
  50. package/dist/getRosenData/ergo/ergoRosenExtractor.d.ts +2 -2
  51. package/dist/getRosenData/ergo/ergoRosenExtractor.d.ts.map +1 -1
  52. package/dist/getRosenData/ergo/ergoRosenExtractor.js +6 -6
  53. package/dist/getRosenData/evm/evmEthersRosenExtractor.d.ts +2 -2
  54. package/dist/getRosenData/evm/evmEthersRosenExtractor.d.ts.map +1 -1
  55. package/dist/getRosenData/evm/evmEthersRosenExtractor.js +6 -6
  56. package/dist/getRosenData/evm/evmRosenExtractor.d.ts +2 -2
  57. package/dist/getRosenData/evm/evmRosenExtractor.d.ts.map +1 -1
  58. package/dist/getRosenData/evm/evmRosenExtractor.js +6 -6
  59. package/dist/getRosenData/evm/evmRpcRosenExtractor.d.ts +2 -2
  60. package/dist/getRosenData/evm/evmRpcRosenExtractor.d.ts.map +1 -1
  61. package/dist/getRosenData/evm/evmRpcRosenExtractor.js +4 -4
  62. package/dist/index.d.ts +0 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +1 -2
  65. package/package.json +5 -6
@@ -7,15 +7,15 @@ import { parseAggregatedData } from './utils';
7
7
  export class BitcoinRunesRosenExtractor extends AbstractRosenDataExtractor {
8
8
  chain = BITCOIN_RUNES_CHAIN;
9
9
  lockScriptPubKey;
10
- constructor(lockAddress, tokens, logger) {
11
- super(lockAddress, tokens, logger);
10
+ constructor(lockAddress, tokens, logger, storeRawData = true) {
11
+ super(lockAddress, tokens, logger, storeRawData);
12
12
  this.lockScriptPubKey = address.toOutputScript(lockAddress).toString('hex');
13
13
  }
14
14
  /**
15
15
  * extracts RosenData from given lock transaction in BitcoinRunesTx format
16
16
  * @param serializedTransaction stringified transaction in BitcoinRunesTx format
17
17
  */
18
- extractRawData = (serializedTransaction) => {
18
+ extractData = (serializedTransaction) => {
19
19
  let transaction;
20
20
  try {
21
21
  transaction = JsonBigInt.parse(serializedTransaction);
@@ -138,4 +138,4 @@ export class BitcoinRunesRosenExtractor extends AbstractRosenDataExtractor {
138
138
  return undefined;
139
139
  };
140
140
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Y29pblJ1bmVzUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2JpdGNvaW4tcnVuZXMvYml0Y29pblJ1bmVzUm9zZW5FeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLFVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUVuRCxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU5QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMEJBQWtDO0lBQ3ZFLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztJQUMzQixnQkFBZ0IsQ0FBUztJQUVuQyxZQUFZLFdBQW1CLEVBQUUsTUFBZ0IsRUFBRSxNQUF1QjtRQUN4RSxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUFDLHFCQUE2QixFQUF5QixFQUFFO1FBQ3hFLElBQUksV0FBMkIsQ0FBQztRQUNoQyxJQUFJLENBQUM7WUFDSCxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYiwwRkFBMEYsQ0FBQyxFQUFFLENB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Q04sQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyB9IGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcbmltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuaW1wb3J0IHsgUm9zZW5EYXRhLCBUb2tlblRyYW5zZm9ybWF0aW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L2Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IEJJVENPSU5fUlVORVNfQ0hBSU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IG1pblV0eG9WYWx1ZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEJpdGNvaW5SdW5lc1R4T3V0cHV0LCBCaXRjb2luUnVuZXNUeCwgTG9ja0RhdGFDaHVuayB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgcGFyc2VBZ2dyZWdhdGVkRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQml0Y29pblJ1bmVzUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxzdHJpbmc+IHtcbiAgcmVhZG9ubHkgY2hhaW4gPSBCSVRDT0lOX1JVTkVTX0NIQUlOO1xuICBwcm90ZWN0ZWQgbG9ja1NjcmlwdFB1YktleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGxvY2tBZGRyZXNzOiBzdHJpbmcsIHRva2VuczogVG9rZW5NYXAsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmxvY2tTY3JpcHRQdWJLZXkgPSBhZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGxvY2tBZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBCaXRjb2luUnVuZXNUeCBmb3JtYXRcbiAgICogQHBhcmFtIHNlcmlhbGl6ZWRUcmFuc2FjdGlvbiBzdHJpbmdpZmllZCB0cmFuc2FjdGlvbiBpbiBCaXRjb2luUnVuZXNUeCBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbjogc3RyaW5nKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IEJpdGNvaW5SdW5lc1R4O1xuICAgIHRyeSB7XG4gICAgICB0cmFuc2FjdGlvbiA9IEpzb25CaWdJbnQucGFyc2Uoc2VyaWFsaXplZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gcGFyc2UgdHJhbnNhY3Rpb24ganNvbiB0byBCaXRjb2luUnVuZXNUeCBmb3JtYXQgd2hpbGUgZXh0cmFjdGluZyByb3NlbiBkYXRhOiAke2V9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGlzIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dYDtcbiAgICB0cnkge1xuICAgICAgLy8gdmFsaWRhdGUgbnVtYmVyIG9mIG91dHB1dCBib3hlc1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRyYW5zYWN0aW9uLm91dHB1dHM7XG4gICAgICBpZiAob3V0cHV0cy5sZW5ndGggPCA1KSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEluc3VmZmljaWVudCBudW1iZXIgb2YgYm94ZXNgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgLy8gdmFsaWRhdGUgZGF0YSBjb25kaXRpb25zXG4gICAgICBjb25zdCBsb2NrRGF0YUNodW5rcyA9IHRoaXMuZ2V0TG9ja0RhdGFDaHVua3Mob3V0cHV0cyk7XG4gICAgICBjb25zdCBsb2NrRGF0YSA9IHRoaXMubG9ja0RhdGFGcm9tQ2h1bmtzKGxvY2tEYXRhQ2h1bmtzKTtcblxuICAgICAgaWYgKCFsb2NrRGF0YSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBGYWlsZWQgdG8gZXh0cmFjdCByb3NlbiBkYXRhIGZyb20gdXR4b3NgLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyB2YWxpZGF0ZSBsb2NrIGNvbmRpdGlvbnNcbiAgICAgIGxldCB2YWxpZExvY2sgPSBmYWxzZTtcbiAgICAgIGxldCBhc3NldFRyYW5zZm9ybWF0aW9uOiBUb2tlblRyYW5zZm9ybWF0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvdXRwdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChvdXRwdXRzW2ldLnNjcmlwdFB1YktleSA9PT0gdGhpcy5sb2NrU2NyaXB0UHViS2V5KSB7XG4gICAgICAgICAgYXNzZXRUcmFuc2Zvcm1hdGlvbiA9IHRoaXMuZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbihcbiAgICAgICAgICAgIG91dHB1dHNbaV0sXG4gICAgICAgICAgICBsb2NrRGF0YS50b0NoYWluLFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGFzc2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICAgICAgICAgIHZhbGlkTG9jayA9IHRydWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghdmFsaWRMb2NrIHx8ICFhc3NldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IEZhaWxlZCB0byBmaW5kIHJvc2VuIGFzc2V0IHRyYW5zZm9ybWF0aW9uYCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJvbUFkZHJlc3MgPSBgYm94OiR7dHJhbnNhY3Rpb24uaW5wdXRzWzBdLnR4SWR9LiR7dHJhbnNhY3Rpb24uaW5wdXRzWzBdLmluZGV4fWA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0NoYWluOiBsb2NrRGF0YS50b0NoYWluLFxuICAgICAgICB0b0FkZHJlc3M6IGxvY2tEYXRhLnRvQWRkcmVzcyxcbiAgICAgICAgYnJpZGdlRmVlOiBsb2NrRGF0YS5icmlkZ2VGZWUsXG4gICAgICAgIG5ldHdvcmtGZWU6IGxvY2tEYXRhLm5ldHdvcmtGZWUsXG4gICAgICAgIGZyb21BZGRyZXNzOiBmcm9tQWRkcmVzcyxcbiAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLmZyb20sXG4gICAgICAgIGFtb3VudDogYXNzZXRUcmFuc2Zvcm1hdGlvbi5hbW91bnQsXG4gICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi50byxcbiAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgIHJhd0RhdGE6IG91dHB1dHNcbiAgICAgICAgICAubWFwKChvdXRwdXQpID0+IGAke291dHB1dC5zY3JpcHRQdWJLZXl9OiR7b3V0cHV0LnZhbHVlfWApXG4gICAgICAgICAgLmpvaW4oJywnKSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIFJ1bmVzIHJvc2VuIGRhdGEgZnJvbSBCaXRjb2luUnVuZXNUeDogJHtlfWAsXG4gICAgICApO1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLnN0YWNrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGUuc3RhY2spO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgY2h1bmtzIGZyb20gdHggb3V0cHV0c1xuICAgKiBAcGFyYW0gb3V0cHV0c1xuICAgKiBAcmV0dXJuIGFycmF5IG9mIExvY2tEYXRhQ2h1bmtcbiAgICovXG4gIHByb3RlY3RlZCBnZXRMb2NrRGF0YUNodW5rcyA9IChcbiAgICBvdXRwdXRzOiBCaXRjb2luUnVuZXNUeE91dHB1dFtdLFxuICApOiBMb2NrRGF0YUNodW5rW10gPT4ge1xuICAgIGNvbnN0IGxvY2tEYXRhQ2h1bmtzOiBMb2NrRGF0YUNodW5rW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDsgaSsrKSB7XG4gICAgICAvLyB0aGUgZmlyc3QgMyBib3hlcyBhcmUgZXhwZWN0ZWQgdG8gYmUgY2hhbmdlLCBPUF9SRVRVUk4gYW5kIGxvY2sgYWRkcmVzcywgd2hpY2ggc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGZvciBkYXRhIGNodW5rc1xuICAgICAgZm9yIChsZXQgYm94SW5kZXggPSAzOyBib3hJbmRleCA8IG91dHB1dHMubGVuZ3RoOyBib3hJbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IG91dHB1dHNbYm94SW5kZXhdO1xuXG4gICAgICAgIGlmIChvdXRwdXQudmFsdWUgIT09IEJpZ0ludChtaW5VdHhvVmFsdWUpICsgQmlnSW50KGkpKSBjb250aW51ZTsgLy8gd3JvbmcgZGF0YSBpbmRleFxuICAgICAgICBpZiAob3V0cHV0LnNjcmlwdFB1YktleS5zbGljZSgwLCA0KSAhPT0gJzAwMTQnKSBjb250aW51ZTsgLy8gbm90IGEgbmF0aXZlLXNlZ3dpdCB1dHhvXG5cbiAgICAgICAgbG9ja0RhdGFDaHVua3MucHVzaCh7XG4gICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgZGF0YTogb3V0cHV0LnNjcmlwdFB1YktleS5zbGljZSg0KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YUNodW5rcztcbiAgfTtcblxuICAvKipcbiAgICogY29tYmluZXMgbG9jayBkYXRhIGNodW5rcyBpbnRvIGxvY2sgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIGxvY2tEYXRhQ2h1bmtzXG4gICAqIEByZXR1cm4gbG9jayBkYXRhIG9iamVjdCBvciB1bmRlZmluZWRcbiAgICovXG4gIHByb3RlY3RlZCBsb2NrRGF0YUZyb21DaHVua3MgPSAoXG4gICAgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXSxcbiAgKTogTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGxldCBsb2NrRGF0YTogTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfCB1bmRlZmluZWQ7XG5cbiAgICB0cnkge1xuICAgICAgbG9ja0RhdGEgPSBwYXJzZUFnZ3JlZ2F0ZWREYXRhKFxuICAgICAgICBsb2NrRGF0YUNodW5rcy5tYXAoKGNodW5rKSA9PiBjaHVuay5kYXRhKS5qb2luKCcnKSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBGYWlsZWQgdG8gZXh0cmFjdCBkYXRhIGZyb20gY2h1bmtzIFske0pzb25CaWdJbnQuc3RyaW5naWZ5KFxuICAgICAgICAgIGxvY2tEYXRhQ2h1bmtzLFxuICAgICAgICApfV06ICR7ZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9ja0RhdGE7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIGFuZCBidWlsZHMgdG9rZW4gdHJhbnNmb3JtYXRpb24gZnJvbSBVVFhPIGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBCaXRjb2luUnVuZXNUeE91dHB1dCxcbiAgICB0b0NoYWluOiBzdHJpbmcsXG4gICk6IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgYXNzZXRzXG4gICAgZm9yIChjb25zdCBhc3NldCBvZiBib3gucnVuZXMpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnMuc2VhcmNoKEJJVENPSU5fUlVORVNfQ0hBSU4sIHtcbiAgICAgICAgdG9rZW5JZDogYXNzZXQucnVuZUlkLFxuICAgICAgfSk7XG4gICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmcm9tOiB0aGlzLnRva2Vucy5nZXRJRCh0b2tlblswXSwgQklUQ09JTl9SVU5FU19DSEFJTiksXG4gICAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCB0b0NoYWluKSxcbiAgICAgICAgICBhbW91bnQ6IGFzc2V0LnF1YW50aXR5LnRvU3RyaW5nKCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG59XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Y29pblJ1bmVzUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2JpdGNvaW4tcnVuZXMvYml0Y29pblJ1bmVzUm9zZW5FeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLFVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUVuRCxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU5QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMEJBQWtDO0lBQ3ZFLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztJQUMzQixnQkFBZ0IsQ0FBUztJQUVuQyxZQUNFLFdBQW1CLEVBQ25CLE1BQWdCLEVBQ2hCLE1BQXVCLEVBQ3ZCLFlBQVksR0FBRyxJQUFJO1FBRW5CLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsR0FBRyxDQUFDLHFCQUE2QixFQUF5QixFQUFFO1FBQ3JFLElBQUksV0FBMkIsQ0FBQztRQUNoQyxJQUFJLENBQUM7WUFDSCxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJ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QUFRLENBQUMsUUFBUSxFQUFFO2lCQUNsQyxDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyB9IGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcbmltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuaW1wb3J0IHsgUm9zZW5EYXRhLCBUb2tlblRyYW5zZm9ybWF0aW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L2Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IEJJVENPSU5fUlVORVNfQ0hBSU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IG1pblV0eG9WYWx1ZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEJpdGNvaW5SdW5lc1R4T3V0cHV0LCBCaXRjb2luUnVuZXNUeCwgTG9ja0RhdGFDaHVuayB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgcGFyc2VBZ2dyZWdhdGVkRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQml0Y29pblJ1bmVzUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxzdHJpbmc+IHtcbiAgcmVhZG9ubHkgY2hhaW4gPSBCSVRDT0lOX1JVTkVTX0NIQUlOO1xuICBwcm90ZWN0ZWQgbG9ja1NjcmlwdFB1YktleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvY2tBZGRyZXNzOiBzdHJpbmcsXG4gICAgdG9rZW5zOiBUb2tlbk1hcCxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgICBzdG9yZVJhd0RhdGEgPSB0cnVlLFxuICApIHtcbiAgICBzdXBlcihsb2NrQWRkcmVzcywgdG9rZW5zLCBsb2dnZXIsIHN0b3JlUmF3RGF0YSk7XG4gICAgdGhpcy5sb2NrU2NyaXB0UHViS2V5ID0gYWRkcmVzcy50b091dHB1dFNjcmlwdChsb2NrQWRkcmVzcykudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gQml0Y29pblJ1bmVzVHggZm9ybWF0XG4gICAqIEBwYXJhbSBzZXJpYWxpemVkVHJhbnNhY3Rpb24gc3RyaW5naWZpZWQgdHJhbnNhY3Rpb24gaW4gQml0Y29pblJ1bmVzVHggZm9ybWF0XG4gICAqL1xuICBleHRyYWN0RGF0YSA9IChzZXJpYWxpemVkVHJhbnNhY3Rpb246IHN0cmluZyk6IFJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgbGV0IHRyYW5zYWN0aW9uOiBCaXRjb2luUnVuZXNUeDtcbiAgICB0cnkge1xuICAgICAgdHJhbnNhY3Rpb24gPSBKc29uQmlnSW50LnBhcnNlKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGpzb24gdG8gQml0Y29pblJ1bmVzVHggZm9ybWF0IHdoaWxlIGV4dHJhY3Rpbmcgcm9zZW4gZGF0YTogJHtlfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBpcyBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24uaWR9XWA7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHZhbGlkYXRlIG51bWJlciBvZiBvdXRwdXQgYm94ZXNcbiAgICAgIGNvbnN0IG91dHB1dHMgPSB0cmFuc2FjdGlvbi5vdXRwdXRzO1xuICAgICAgaWYgKG91dHB1dHMubGVuZ3RoIDwgNSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhiYXNlRXJyb3IgKyBgOiBJbnN1ZmZpY2llbnQgbnVtYmVyIG9mIGJveGVzYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkYXRlIGRhdGEgY29uZGl0aW9uc1xuICAgICAgY29uc3QgbG9ja0RhdGFDaHVua3MgPSB0aGlzLmdldExvY2tEYXRhQ2h1bmtzKG91dHB1dHMpO1xuICAgICAgY29uc3QgbG9ja0RhdGEgPSB0aGlzLmxvY2tEYXRhRnJvbUNodW5rcyhsb2NrRGF0YUNodW5rcyk7XG5cbiAgICAgIGlmICghbG9ja0RhdGEpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGV4dHJhY3Qgcm9zZW4gZGF0YSBmcm9tIHV0eG9zYCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgLy8gdmFsaWRhdGUgbG9jayBjb25kaXRpb25zXG4gICAgICBsZXQgdmFsaWRMb2NrID0gZmFsc2U7XG4gICAgICBsZXQgYXNzZXRUcmFuc2Zvcm1hdGlvbjogVG9rZW5UcmFuc2Zvcm1hdGlvbiB8IHVuZGVmaW5lZDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAob3V0cHV0c1tpXS5zY3JpcHRQdWJLZXkgPT09IHRoaXMubG9ja1NjcmlwdFB1YktleSkge1xuICAgICAgICAgIGFzc2V0VHJhbnNmb3JtYXRpb24gPSB0aGlzLmdldEFzc2V0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgICAgICBvdXRwdXRzW2ldLFxuICAgICAgICAgICAgbG9ja0RhdGEudG9DaGFpbixcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChhc3NldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgICAgICAgICB2YWxpZExvY2sgPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIXZhbGlkTG9jayB8fCAhYXNzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBGYWlsZWQgdG8gZmluZCByb3NlbiBhc3NldCB0cmFuc2Zvcm1hdGlvbmAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZyb21BZGRyZXNzID0gYGJveDoke3RyYW5zYWN0aW9uLmlucHV0c1swXS50eElkfS4ke3RyYW5zYWN0aW9uLmlucHV0c1swXS5pbmRleH1gO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdG9DaGFpbjogbG9ja0RhdGEudG9DaGFpbixcbiAgICAgICAgdG9BZGRyZXNzOiBsb2NrRGF0YS50b0FkZHJlc3MsXG4gICAgICAgIGJyaWRnZUZlZTogbG9ja0RhdGEuYnJpZGdlRmVlLFxuICAgICAgICBuZXR3b3JrRmVlOiBsb2NrRGF0YS5uZXR3b3JrRmVlLFxuICAgICAgICBmcm9tQWRkcmVzczogZnJvbUFkZHJlc3MsXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi5mcm9tLFxuICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24udG8sXG4gICAgICAgIHNvdXJjZVR4SWQ6IHRyYW5zYWN0aW9uLmlkLFxuICAgICAgICByYXdEYXRhOiBvdXRwdXRzXG4gICAgICAgICAgLm1hcCgob3V0cHV0KSA9PiBgJHtvdXRwdXQuc2NyaXB0UHViS2V5fToke291dHB1dC52YWx1ZX1gKVxuICAgICAgICAgIC5qb2luKCcsJyksXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBSdW5lcyByb3NlbiBkYXRhIGZyb20gQml0Y29pblJ1bmVzVHg6ICR7ZX1gLFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGNodW5rcyBmcm9tIHR4IG91dHB1dHNcbiAgICogQHBhcmFtIG91dHB1dHNcbiAgICogQHJldHVybiBhcnJheSBvZiBMb2NrRGF0YUNodW5rXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0TG9ja0RhdGFDaHVua3MgPSAoXG4gICAgb3V0cHV0czogQml0Y29pblJ1bmVzVHhPdXRwdXRbXSxcbiAgKTogTG9ja0RhdGFDaHVua1tdID0+IHtcbiAgICBjb25zdCBsb2NrRGF0YUNodW5rczogTG9ja0RhdGFDaHVua1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgLy8gdGhlIGZpcnN0IDMgYm94ZXMgYXJlIGV4cGVjdGVkIHRvIGJlIGNoYW5nZSwgT1BfUkVUVVJOIGFuZCBsb2NrIGFkZHJlc3MsIHdoaWNoIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBmb3IgZGF0YSBjaHVua3NcbiAgICAgIGZvciAobGV0IGJveEluZGV4ID0gMzsgYm94SW5kZXggPCBvdXRwdXRzLmxlbmd0aDsgYm94SW5kZXgrKykge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzW2JveEluZGV4XTtcblxuICAgICAgICBpZiAob3V0cHV0LnZhbHVlICE9PSBCaWdJbnQobWluVXR4b1ZhbHVlKSArIEJpZ0ludChpKSkgY29udGludWU7IC8vIHdyb25nIGRhdGEgaW5kZXhcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRQdWJLZXkuc2xpY2UoMCwgNCkgIT09ICcwMDE0JykgY29udGludWU7IC8vIG5vdCBhIG5hdGl2ZS1zZWd3aXQgdXR4b1xuXG4gICAgICAgIGxvY2tEYXRhQ2h1bmtzLnB1c2goe1xuICAgICAgICAgIGluZGV4OiBpLFxuICAgICAgICAgIGRhdGE6IG91dHB1dC5zY3JpcHRQdWJLZXkuc2xpY2UoNCksXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbG9ja0RhdGFDaHVua3M7XG4gIH07XG5cbiAgLyoqXG4gICAqIGNvbWJpbmVzIGxvY2sgZGF0YSBjaHVua3MgaW50byBsb2NrIGRhdGEgb2JqZWN0XG4gICAqIEBwYXJhbSBsb2NrRGF0YUNodW5rc1xuICAgKiBAcmV0dXJuIGxvY2sgZGF0YSBvYmplY3Qgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgbG9ja0RhdGFGcm9tQ2h1bmtzID0gKFxuICAgIGxvY2tEYXRhQ2h1bmtzOiBMb2NrRGF0YUNodW5rW10sXG4gICk6IE1pbmltYWxPbkNoYWluUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgbG9ja0RhdGE6IE1pbmltYWxPbkNoYWluUm9zZW5EYXRhIHwgdW5kZWZpbmVkO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxvY2tEYXRhID0gcGFyc2VBZ2dyZWdhdGVkRGF0YShcbiAgICAgICAgbG9ja0RhdGFDaHVua3MubWFwKChjaHVuaykgPT4gY2h1bmsuZGF0YSkuam9pbignJyksXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRmFpbGVkIHRvIGV4dHJhY3QgZGF0YSBmcm9tIGNodW5rcyBbJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICBsb2NrRGF0YUNodW5rcyxcbiAgICAgICAgKX1dOiAke2V9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxvY2tEYXRhO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBhbmQgYnVpbGRzIHRva2VuIHRyYW5zZm9ybWF0aW9uIGZyb20gVVRYTyBhbmQgdG9rZW5NYXBcbiAgICogQHBhcmFtIGJveCB0cmFuc2FjdGlvbiBvdXRwdXRcbiAgICogQHBhcmFtIHRvQ2hhaW4gZXZlbnQgdGFyZ2V0IGNoYWluXG4gICAqL1xuICBnZXRBc3NldFRyYW5zZm9ybWF0aW9uID0gKFxuICAgIGJveDogQml0Y29pblJ1bmVzVHhPdXRwdXQsXG4gICAgdG9DaGFpbjogc3RyaW5nLFxuICApOiBUb2tlblRyYW5zZm9ybWF0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIGFzc2V0c1xuICAgIGZvciAoY29uc3QgYXNzZXQgb2YgYm94LnJ1bmVzKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChCSVRDT0lOX1JVTkVTX0NIQUlOLCB7XG4gICAgICAgIHRva2VuSWQ6IGFzc2V0LnJ1bmVJZCxcbiAgICAgIH0pO1xuICAgICAgaWYgKHRva2VuLmxlbmd0aCA+IDAgJiYgT2JqZWN0Lmhhc093bih0b2tlblswXSwgdG9DaGFpbikpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZnJvbTogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIEJJVENPSU5fUlVORVNfQ0hBSU4pLFxuICAgICAgICAgIHRvOiB0aGlzLnRva2Vucy5nZXRJRCh0b2tlblswXSwgdG9DaGFpbiksXG4gICAgICAgICAgYW1vdW50OiBhc3NldC5xdWFudGl0eS50b1N0cmluZygpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xufVxuIl19
@@ -8,12 +8,12 @@ import { MinimalOnChainRosenData } from '../../types';
8
8
  export declare class BitcoinRunesRpcRosenExtractor extends AbstractRosenDataExtractor<BitcoinRpcTransaction> {
9
9
  readonly chain = "bitcoin-runes";
10
10
  protected lockScriptPubKey: string;
11
- constructor(lockAddress: string, tokens: TokenMap, logger?: AbstractLogger);
11
+ constructor(lockAddress: string, tokens: TokenMap, logger?: AbstractLogger, storeRawData?: boolean);
12
12
  /**
13
13
  * extracts RosenData from given lock transaction in Rpc format
14
14
  * @param transaction the lock transaction in Rpc format
15
15
  */
16
- extractRawData: (transaction: BitcoinRpcTransaction) => RosenData | undefined;
16
+ extractData: (transaction: BitcoinRpcTransaction) => RosenData | undefined;
17
17
  /**
18
18
  * extracts RosenData chunks from tx outputs
19
19
  * @param outputs
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoinRunesRpcRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/bitcoin-runes/bitcoinRunesRpcRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,qBAAa,6BAA8B,SAAQ,0BAA0B,CAAC,qBAAqB,CAAC;IAClG,QAAQ,CAAC,KAAK,mBAAuB;IACrC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAK1E;;;OAGG;IACH,cAAc,GACZ,aAAa,qBAAqB,KACjC,SAAS,GAAG,SAAS,CAqDtB;IAEF;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,GACzB,SAAS,kBAAkB,EAAE,KAC5B,aAAa,EAAE,CAoBhB;IAEF;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,GAC1B,gBAAgB,aAAa,EAAE,KAC9B,uBAAuB,GAAG,SAAS,CAgBpC;IAEF;;;;OAIG;IACH,SAAS,CAAC,YAAY,GAAI,SAAS,kBAAkB,EAAE,KAAG,OAAO,CAO/D;CACH"}
1
+ {"version":3,"file":"bitcoinRunesRpcRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/bitcoin-runes/bitcoinRunesRpcRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,qBAAa,6BAA8B,SAAQ,0BAA0B,CAAC,qBAAqB,CAAC;IAClG,QAAQ,CAAC,KAAK,mBAAuB;IACrC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAGjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,cAAc,EACvB,YAAY,UAAO;IAMrB;;;OAGG;IACH,WAAW,GAAI,aAAa,qBAAqB,KAAG,SAAS,GAAG,SAAS,CAqDvE;IAEF;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,GACzB,SAAS,kBAAkB,EAAE,KAC5B,aAAa,EAAE,CAoBhB;IAEF;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,GAC1B,gBAAgB,aAAa,EAAE,KAC9B,uBAAuB,GAAG,SAAS,CAgBpC;IAEF;;;;OAIG;IACH,SAAS,CAAC,YAAY,GAAI,SAAS,kBAAkB,EAAE,KAAG,OAAO,CAO/D;CACH"}
@@ -7,15 +7,15 @@ import { minUtxoValue } from './constants';
7
7
  export class BitcoinRunesRpcRosenExtractor extends AbstractRosenDataExtractor {
8
8
  chain = BITCOIN_RUNES_CHAIN;
9
9
  lockScriptPubKey;
10
- constructor(lockAddress, tokens, logger) {
11
- super(lockAddress, tokens, logger);
10
+ constructor(lockAddress, tokens, logger, storeRawData = true) {
11
+ super(lockAddress, tokens, logger, storeRawData);
12
12
  this.lockScriptPubKey = address.toOutputScript(lockAddress).toString('hex');
13
13
  }
14
14
  /**
15
15
  * extracts RosenData from given lock transaction in Rpc format
16
16
  * @param transaction the lock transaction in Rpc format
17
17
  */
18
- extractRawData = (transaction) => {
18
+ extractData = (transaction) => {
19
19
  const baseError = `No rosen data is found for tx [${transaction.txid}]`;
20
20
  try {
21
21
  // validate number of output boxes
@@ -114,4 +114,4 @@ export class BitcoinRunesRpcRosenExtractor extends AbstractRosenDataExtractor {
114
114
  return false;
115
115
  };
116
116
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Y29pblJ1bmVzUnBjUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2JpdGNvaW4tcnVuZXMvYml0Y29pblJ1bmVzUnBjUm9zZW5FeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTywwQkFBMEIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxNQUFNLE9BQU8sNkJBQThCLFNBQVEsMEJBQWlEO0lBQ3pGLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztJQUMzQixnQkFBZ0IsQ0FBUztJQUVuQyxZQUFZLFdBQW1CLEVBQUUsTUFBZ0IsRUFBRSxNQUF1QjtRQUN4RSxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUNmLFdBQWtDLEVBQ1gsRUFBRTtRQUN6QixNQUFNLFNBQVMsR0FBRyxrQ0FBa0MsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ3hFLElBQUksQ0FBQztZQUNILGtDQUFrQztZQUNsQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2pDLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FB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WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3NlbkRhdGEgfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvYWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgQklUQ09JTl9SVU5FU19DSEFJTiB9IGZyb20gJy4uL2NvbnN0JztcbmltcG9ydCB7IEJpdGNvaW5ScGNUcmFuc2FjdGlvbiwgQml0Y29pblJwY1R4T3V0cHV0IH0gZnJvbSAnLi4vYml0Y29pbi90eXBlcyc7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgYWRkcmVzcyB9IGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0IHsgcGFyc2VBZ2dyZWdhdGVkRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEpzb25CaWdJbnQgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQgeyBMb2NrRGF0YUNodW5rIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IG1pblV0eG9WYWx1ZSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIEJpdGNvaW5SdW5lc1JwY1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8Qml0Y29pblJwY1RyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gQklUQ09JTl9SVU5FU19DSEFJTjtcbiAgcHJvdGVjdGVkIGxvY2tTY3JpcHRQdWJLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihsb2NrQWRkcmVzczogc3RyaW5nLCB0b2tlbnM6IFRva2VuTWFwLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHN1cGVyKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlcik7XG4gICAgdGhpcy5sb2NrU2NyaXB0UHViS2V5ID0gYWRkcmVzcy50b091dHB1dFNjcmlwdChsb2NrQWRkcmVzcykudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gUnBjIGZvcm1hdFxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gdGhlIGxvY2sgdHJhbnNhY3Rpb24gaW4gUnBjIGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAoXG4gICAgdHJhbnNhY3Rpb246IEJpdGNvaW5ScGNUcmFuc2FjdGlvbixcbiAgKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBpcyBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24udHhpZH1dYDtcbiAgICB0cnkge1xuICAgICAgLy8gdmFsaWRhdGUgbnVtYmVyIG9mIG91dHB1dCBib3hlc1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRyYW5zYWN0aW9uLnZvdXQ7XG4gICAgICBpZiAob3V0cHV0cy5sZW5ndGggPCA1KSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEluc3VmZmljaWVudCBudW1iZXIgb2YgYm94ZXNgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgLy8gdmFsaWRhdGUgbG9jayBjb25kaXRpb25zXG4gICAgICBjb25zdCB2YWxpZExvY2sgPSB0aGlzLnZhbGlkYXRlTG9jayhvdXRwdXRzKTtcblxuICAgICAgaWYgKCF2YWxpZExvY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGZpbmQgcm9zZW4gbG9jayB1dHhvYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkYXRlIGRhdGEgY29uZGl0aW9uc1xuICAgICAgY29uc3QgbG9ja0RhdGFDaHVua3MgPSB0aGlzLmdldExvY2tEYXRhQ2h1bmtzKG91dHB1dHMpO1xuICAgICAgY29uc3QgbG9ja0RhdGEgPSB0aGlzLmxvY2tEYXRhRnJvbUNodW5rcyhsb2NrRGF0YUNodW5rcyk7XG5cbiAgICAgIGlmICghbG9ja0RhdGEpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGV4dHJhY3Qgcm9zZW4gZGF0YSBmcm9tIHV0eG9zYCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJvbUFkZHJlc3MgPSBgYm94OiR7dHJhbnNhY3Rpb24udmluWzBdLnR4aWR9LiR7dHJhbnNhY3Rpb24udmluWzBdLnZvdXR9YDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvQ2hhaW46IGxvY2tEYXRhLnRvQ2hhaW4sXG4gICAgICAgIHRvQWRkcmVzczogbG9ja0RhdGEudG9BZGRyZXNzLFxuICAgICAgICBicmlkZ2VGZWU6IGxvY2tEYXRhLmJyaWRnZUZlZSxcbiAgICAgICAgbmV0d29ya0ZlZTogbG9ja0RhdGEubmV0d29ya0ZlZSxcbiAgICAgICAgZnJvbUFkZHJlc3M6IGZyb21BZGRyZXNzLFxuICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6ICcnLFxuICAgICAgICBhbW91bnQ6ICcnLFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6ICcnLFxuICAgICAgICBzb3VyY2VUeElkOiB0cmFuc2FjdGlvbi50eGlkLFxuICAgICAgICByYXdEYXRhOiBvdXRwdXRzXG4gICAgICAgICAgLm1hcCgob3V0cHV0KSA9PiBgJHtvdXRwdXQuc2NyaXB0UHViS2V5LmhleH06JHtvdXRwdXQudmFsdWV9YClcbiAgICAgICAgICAuam9pbignLCcpLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgUnVuZXMgcm9zZW4gZGF0YSBmcm9tIFJwYzogJHtlfWAsXG4gICAgICApO1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLnN0YWNrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGUuc3RhY2spO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgY2h1bmtzIGZyb20gdHggb3V0cHV0c1xuICAgKiBAcGFyYW0gb3V0cHV0c1xuICAgKiBAcmV0dXJuIGFycmF5IG9mIExvY2tEYXRhQ2h1bmtcbiAgICovXG4gIHByb3RlY3RlZCBnZXRMb2NrRGF0YUNodW5rcyA9IChcbiAgICBvdXRwdXRzOiBCaXRjb2luUnBjVHhPdXRwdXRbXSxcbiAgKTogTG9ja0RhdGFDaHVua1tdID0+IHtcbiAgICBjb25zdCBsb2NrRGF0YUNodW5rczogTG9ja0RhdGFDaHVua1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgLy8gdGhlIGZpcnN0IDMgYm94ZXMgYXJlIGV4cGVjdGVkIHRvIGJlIGNoYW5nZSwgT1BfUkVUVVJOIGFuZCBsb2NrIGFkZHJlc3MsIHdoaWNoIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBmb3IgZGF0YSBjaHVua3NcbiAgICAgIGZvciAobGV0IGJveEluZGV4ID0gMzsgYm94SW5kZXggPCBvdXRwdXRzLmxlbmd0aDsgYm94SW5kZXgrKykge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzW2JveEluZGV4XTtcblxuICAgICAgICBpZiAob3V0cHV0LnZhbHVlICogMTAgKiogOCAhPT0gbWluVXR4b1ZhbHVlICsgaSkgY29udGludWU7IC8vIHdyb25nIGRhdGEgaW5kZXhcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRQdWJLZXkuaGV4LnNsaWNlKDAsIDQpICE9PSAnMDAxNCcpIGNvbnRpbnVlOyAvLyBub3QgYSBuYXRpdmUtc2Vnd2l0IHV0eG9cblxuICAgICAgICBsb2NrRGF0YUNodW5rcy5wdXNoKHtcbiAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICBkYXRhOiBvdXRwdXQuc2NyaXB0UHViS2V5LmhleC5zbGljZSg0KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YUNodW5rcztcbiAgfTtcblxuICAvKipcbiAgICogY29tYmluZXMgbG9jayBkYXRhIGNodW5rcyBpbnRvIGxvY2sgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIGxvY2tEYXRhQ2h1bmtzXG4gICAqIEByZXR1cm4gbG9jayBkYXRhIG9iamVjdCBvciB1bmRlZmluZWRcbiAgICovXG4gIHByb3RlY3RlZCBsb2NrRGF0YUZyb21DaHVua3MgPSAoXG4gICAgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXSxcbiAgKTogTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGxldCBsb2NrRGF0YTogTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfCB1bmRlZmluZWQ7XG5cbiAgICB0cnkge1xuICAgICAgbG9ja0RhdGEgPSBwYXJzZUFnZ3JlZ2F0ZWREYXRhKFxuICAgICAgICBsb2NrRGF0YUNodW5rcy5tYXAoKGNodW5rKSA9PiBjaHVuay5kYXRhKS5qb2luKCcnKSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBGYWlsZWQgdG8gZXh0cmFjdCBkYXRhIGZyb20gY2h1bmtzIFske0pzb25CaWdJbnQuc3RyaW5naWZ5KFxuICAgICAgICAgIGxvY2tEYXRhQ2h1bmtzLFxuICAgICAgICApfV06ICR7ZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9ja0RhdGE7XG4gIH07XG5cbiAgLyoqXG4gICAqIGNoZWNrIGxvY2sgYm94IGV4aXN0cyBpbiB0aGUgdHggb3V0cHV0c1xuICAgKiBAcGFyYW0gb3V0cHV0c1xuICAgKiBAcmV0dXJuIGJvb2xlYW5cbiAgICovXG4gIHByb3RlY3RlZCB2YWxpZGF0ZUxvY2sgPSAob3V0cHV0czogQml0Y29pblJwY1R4T3V0cHV0W10pOiBib29sZWFuID0+IHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dHB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChvdXRwdXRzW2ldLnNjcmlwdFB1YktleS5oZXggPT09IHRoaXMubG9ja1NjcmlwdFB1YktleSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Y29pblJ1bmVzUnBjUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2JpdGNvaW4tcnVuZXMvYml0Y29pblJ1bmVzUnBjUm9zZW5FeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTywwQkFBMEIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxNQUFNLE9BQU8sNkJBQThCLFNBQVEsMEJBQWlEO0lBQ3pGLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztJQUMzQixnQkFBZ0IsQ0FBUztJQUVuQyxZQUNFLFdBQW1CLEVBQ25CLE1BQWdCLEVBQ2hCLE1BQXVCLEVBQ3ZCLFlBQVksR0FBRyxJQUFJO1FBRW5CLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsR0FBRyxDQUFDLFdBQWtDLEVBQXlCLEVBQUU7UUFDMUUsTUFBTSxTQUFTLEdBQUcsa0NBQWtDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUN4RSxJQUFJLENBQUM7WUFDSCxrQ0FBa0M7WUFDbEMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNqQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsMkJBQTJCO1lBQzNCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFN0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUNsRSxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsMkJBQTJCO1lBQzNCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFekQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLFNBQVMsR0FBRywyQ0FBMkMsQ0FDeEQsQ0FBQztnQkFDRixPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hGLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUN6QixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7Z0JBQzdCLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztnQkFDN0IsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO2dCQUMvQixXQUFXLEVBQUUsV0FBVztnQkFDeEIsa0JBQWtCLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1Ysa0JBQWtCLEVBQUUsRUFBRTtnQkFDdEIsVUFBVSxFQUFFLFdBQVcsQ0FBQyxJQUFJO2dCQUM1QixPQUFPLEVBQUUsT0FBTztxQkFDYixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO3FCQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2IsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsOERBQThELENBQUMsRUFBRSxDQUNsRSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNPLGlCQUFpQixHQUFHLENBQzVCLE9BQTZCLEVBQ1osRUFBRTtRQUNuQixNQUFNLGNBQWMsR0FBb0IsRUFBRSxDQUFDO1FBRTNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQiwwSEFBMEg7WUFDMUgsS0FBSyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDN0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUVqQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxZQUFZLEdBQUcsQ0FBQztvQkFBRSxTQUFTLENBQUMsbUJBQW1CO2dCQUM5RSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTTtvQkFBRSxTQUFTLENBQUMsMkJBQTJCO2dCQUV6RixjQUFjLENBQUMsSUFBSSxDQUFDO29CQUNsQixLQUFLLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDdkMsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDTyxrQkFBa0IsR0FBRyxDQUM3QixjQUErQixFQUNNLEVBQUU7UUFDdkMsSUFBSSxRQUE2QyxDQUFDO1FBRWxELElBQUksQ0FBQztZQUNILFFBQVEsR0FBRyxtQkFBbUIsQ0FDNUIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDbkQsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsdUNBQXVDLFVBQVUsQ0FBQyxTQUFTLENBQ3pELGNBQWMsQ0FDZixNQUFNLENBQUMsRUFBRSxDQUNYLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNPLFlBQVksR0FBRyxDQUFDLE9BQTZCLEVBQVcsRUFBRTtRQUNsRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzFELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L2Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IEJJVENPSU5fUlVORVNfQ0hBSU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBCaXRjb2luUnBjVHJhbnNhY3Rpb24sIEJpdGNvaW5ScGNUeE91dHB1dCB9IGZyb20gJy4uL2JpdGNvaW4vdHlwZXMnO1xuaW1wb3J0IHsgVG9rZW5NYXAgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Rva2Vucyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IGFkZHJlc3MgfSBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCB7IHBhcnNlQWdncmVnYXRlZERhdGEgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuaW1wb3J0IHsgTG9ja0RhdGFDaHVuayB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBtaW5VdHhvVmFsdWUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBCaXRjb2luUnVuZXNScGNSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPEJpdGNvaW5ScGNUcmFuc2FjdGlvbj4ge1xuICByZWFkb25seSBjaGFpbiA9IEJJVENPSU5fUlVORVNfQ0hBSU47XG4gIHByb3RlY3RlZCBsb2NrU2NyaXB0UHViS2V5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9ja0FkZHJlc3M6IHN0cmluZyxcbiAgICB0b2tlbnM6IFRva2VuTWFwLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyLFxuICAgIHN0b3JlUmF3RGF0YSA9IHRydWUsXG4gICkge1xuICAgIHN1cGVyKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlciwgc3RvcmVSYXdEYXRhKTtcbiAgICB0aGlzLmxvY2tTY3JpcHRQdWJLZXkgPSBhZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGxvY2tBZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBScGMgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBScGMgZm9ybWF0XG4gICAqL1xuICBleHRyYWN0RGF0YSA9ICh0cmFuc2FjdGlvbjogQml0Y29pblJwY1RyYW5zYWN0aW9uKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBpcyBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24udHhpZH1dYDtcbiAgICB0cnkge1xuICAgICAgLy8gdmFsaWRhdGUgbnVtYmVyIG9mIG91dHB1dCBib3hlc1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRyYW5zYWN0aW9uLnZvdXQ7XG4gICAgICBpZiAob3V0cHV0cy5sZW5ndGggPCA1KSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEluc3VmZmljaWVudCBudW1iZXIgb2YgYm94ZXNgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgLy8gdmFsaWRhdGUgbG9jayBjb25kaXRpb25zXG4gICAgICBjb25zdCB2YWxpZExvY2sgPSB0aGlzLnZhbGlkYXRlTG9jayhvdXRwdXRzKTtcblxuICAgICAgaWYgKCF2YWxpZExvY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGZpbmQgcm9zZW4gbG9jayB1dHhvYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkYXRlIGRhdGEgY29uZGl0aW9uc1xuICAgICAgY29uc3QgbG9ja0RhdGFDaHVua3MgPSB0aGlzLmdldExvY2tEYXRhQ2h1bmtzKG91dHB1dHMpO1xuICAgICAgY29uc3QgbG9ja0RhdGEgPSB0aGlzLmxvY2tEYXRhRnJvbUNodW5rcyhsb2NrRGF0YUNodW5rcyk7XG5cbiAgICAgIGlmICghbG9ja0RhdGEpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGV4dHJhY3Qgcm9zZW4gZGF0YSBmcm9tIHV0eG9zYCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJvbUFkZHJlc3MgPSBgYm94OiR7dHJhbnNhY3Rpb24udmluWzBdLnR4aWR9LiR7dHJhbnNhY3Rpb24udmluWzBdLnZvdXR9YDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvQ2hhaW46IGxvY2tEYXRhLnRvQ2hhaW4sXG4gICAgICAgIHRvQWRkcmVzczogbG9ja0RhdGEudG9BZGRyZXNzLFxuICAgICAgICBicmlkZ2VGZWU6IGxvY2tEYXRhLmJyaWRnZUZlZSxcbiAgICAgICAgbmV0d29ya0ZlZTogbG9ja0RhdGEubmV0d29ya0ZlZSxcbiAgICAgICAgZnJvbUFkZHJlc3M6IGZyb21BZGRyZXNzLFxuICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6ICcnLFxuICAgICAgICBhbW91bnQ6ICcnLFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6ICcnLFxuICAgICAgICBzb3VyY2VUeElkOiB0cmFuc2FjdGlvbi50eGlkLFxuICAgICAgICByYXdEYXRhOiBvdXRwdXRzXG4gICAgICAgICAgLm1hcCgob3V0cHV0KSA9PiBgJHtvdXRwdXQuc2NyaXB0UHViS2V5LmhleH06JHtvdXRwdXQudmFsdWV9YClcbiAgICAgICAgICAuam9pbignLCcpLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgUnVuZXMgcm9zZW4gZGF0YSBmcm9tIFJwYzogJHtlfWAsXG4gICAgICApO1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLnN0YWNrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGUuc3RhY2spO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgY2h1bmtzIGZyb20gdHggb3V0cHV0c1xuICAgKiBAcGFyYW0gb3V0cHV0c1xuICAgKiBAcmV0dXJuIGFycmF5IG9mIExvY2tEYXRhQ2h1bmtcbiAgICovXG4gIHByb3RlY3RlZCBnZXRMb2NrRGF0YUNodW5rcyA9IChcbiAgICBvdXRwdXRzOiBCaXRjb2luUnBjVHhPdXRwdXRbXSxcbiAgKTogTG9ja0RhdGFDaHVua1tdID0+IHtcbiAgICBjb25zdCBsb2NrRGF0YUNodW5rczogTG9ja0RhdGFDaHVua1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgLy8gdGhlIGZpcnN0IDMgYm94ZXMgYXJlIGV4cGVjdGVkIHRvIGJlIGNoYW5nZSwgT1BfUkVUVVJOIGFuZCBsb2NrIGFkZHJlc3MsIHdoaWNoIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBmb3IgZGF0YSBjaHVua3NcbiAgICAgIGZvciAobGV0IGJveEluZGV4ID0gMzsgYm94SW5kZXggPCBvdXRwdXRzLmxlbmd0aDsgYm94SW5kZXgrKykge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzW2JveEluZGV4XTtcblxuICAgICAgICBpZiAob3V0cHV0LnZhbHVlICogMTAgKiogOCAhPT0gbWluVXR4b1ZhbHVlICsgaSkgY29udGludWU7IC8vIHdyb25nIGRhdGEgaW5kZXhcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRQdWJLZXkuaGV4LnNsaWNlKDAsIDQpICE9PSAnMDAxNCcpIGNvbnRpbnVlOyAvLyBub3QgYSBuYXRpdmUtc2Vnd2l0IHV0eG9cblxuICAgICAgICBsb2NrRGF0YUNodW5rcy5wdXNoKHtcbiAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICBkYXRhOiBvdXRwdXQuc2NyaXB0UHViS2V5LmhleC5zbGljZSg0KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YUNodW5rcztcbiAgfTtcblxuICAvKipcbiAgICogY29tYmluZXMgbG9jayBkYXRhIGNodW5rcyBpbnRvIGxvY2sgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIGxvY2tEYXRhQ2h1bmtzXG4gICAqIEByZXR1cm4gbG9jayBkYXRhIG9iamVjdCBvciB1bmRlZmluZWRcbiAgICovXG4gIHByb3RlY3RlZCBsb2NrRGF0YUZyb21DaHVua3MgPSAoXG4gICAgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXSxcbiAgKTogTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGxldCBsb2NrRGF0YTogTWluaW1hbE9uQ2hhaW5Sb3NlbkRhdGEgfCB1bmRlZmluZWQ7XG5cbiAgICB0cnkge1xuICAgICAgbG9ja0RhdGEgPSBwYXJzZUFnZ3JlZ2F0ZWREYXRhKFxuICAgICAgICBsb2NrRGF0YUNodW5rcy5tYXAoKGNodW5rKSA9PiBjaHVuay5kYXRhKS5qb2luKCcnKSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBGYWlsZWQgdG8gZXh0cmFjdCBkYXRhIGZyb20gY2h1bmtzIFske0pzb25CaWdJbnQuc3RyaW5naWZ5KFxuICAgICAgICAgIGxvY2tEYXRhQ2h1bmtzLFxuICAgICAgICApfV06ICR7ZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9ja0RhdGE7XG4gIH07XG5cbiAgLyoqXG4gICAqIGNoZWNrIGxvY2sgYm94IGV4aXN0cyBpbiB0aGUgdHggb3V0cHV0c1xuICAgKiBAcGFyYW0gb3V0cHV0c1xuICAgKiBAcmV0dXJuIGJvb2xlYW5cbiAgICovXG4gIHByb3RlY3RlZCB2YWxpZGF0ZUxvY2sgPSAob3V0cHV0czogQml0Y29pblJwY1R4T3V0cHV0W10pOiBib29sZWFuID0+IHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dHB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChvdXRwdXRzW2ldLnNjcmlwdFB1YktleS5oZXggPT09IHRoaXMubG9ja1NjcmlwdFB1YktleSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xufVxuIl19
@@ -7,7 +7,7 @@ export declare class CardanoBlockFrostRosenExtractor extends AbstractRosenDataEx
7
7
  * extracts RosenData from given lock transaction in blockfrost format
8
8
  * @param transaction the lock transaction in blockfrost format
9
9
  */
10
- extractRawData: (transaction: BlockFrostTransaction) => RosenData | undefined;
10
+ extractData: (transaction: BlockFrostTransaction) => RosenData | undefined;
11
11
  /**
12
12
  * extracts and builds token transformation from UTXO and tokenMap
13
13
  * @param box transaction output
@@ -1 +1 @@
1
- {"version":3,"file":"cardanoBlockFrostRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoBlockFrostRosenExtractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIrE,qBAAa,+BAAgC,SAAQ,0BAA0B,CAAC,qBAAqB,CAAC;IACpG,QAAQ,CAAC,KAAK,aAAiB;IAC/B;;;OAGG;IACH,cAAc,GACZ,aAAa,qBAAqB,KACjC,SAAS,GAAG,SAAS,CAwDtB;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,mBAAmB,EACxB,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAsChC;CACH"}
1
+ {"version":3,"file":"cardanoBlockFrostRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoBlockFrostRosenExtractor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrE,qBAAa,+BAAgC,SAAQ,0BAA0B,CAAC,qBAAqB,CAAC;IACpG,QAAQ,CAAC,KAAK,aAAiB;IAC/B;;;OAGG;IACH,WAAW,GAAI,aAAa,qBAAqB,KAAG,SAAS,GAAG,SAAS,CAwEvE;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,mBAAmB,EACxB,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAsChC;CACH"}
@@ -1,7 +1,8 @@
1
+ import JsonBigInt from '@rosen-bridge/json-bigint';
1
2
  import { isPlainObject } from 'lodash-es';
3
+ import * as wasm from '@emurgo/cardano-serialization-lib-nodejs';
2
4
  import AbstractRosenDataExtractor from '../abstract/abstractRosenDataExtractor';
3
5
  import { CARDANO_CHAIN, CARDANO_NATIVE_TOKEN } from '../const';
4
- import JsonBigInt from '@rosen-bridge/json-bigint';
5
6
  import { getCardanoTokenId, parseRosenData } from './utils';
6
7
  export class CardanoBlockFrostRosenExtractor extends AbstractRosenDataExtractor {
7
8
  chain = CARDANO_CHAIN;
@@ -9,15 +10,21 @@ export class CardanoBlockFrostRosenExtractor extends AbstractRosenDataExtractor
9
10
  * extracts RosenData from given lock transaction in blockfrost format
10
11
  * @param transaction the lock transaction in blockfrost format
11
12
  */
12
- extractRawData = (transaction) => {
13
+ extractData = (transaction) => {
13
14
  const baseError = `No rosen data found for tx [${transaction.utxos.hash}]`;
14
- const metadata = transaction.metadata;
15
+ const metadata = transaction.metadataCbor;
15
16
  try {
16
17
  if (metadata.length === 0) {
17
18
  this.logger.debug(baseError + `: No metadata`);
18
19
  return undefined;
19
20
  }
20
- const data = metadata.find((data) => data.label === '0')?.json_metadata;
21
+ const metaDataCbor = metadata.find((data) => data.label === '0')?.metadata;
22
+ if (!metaDataCbor)
23
+ return undefined;
24
+ const wasmMetadatumObject = wasm.GeneralTransactionMetadata.from_hex(metaDataCbor).get(wasm.BigNum.from_str('0'));
25
+ if (!wasmMetadatumObject)
26
+ throw new Error(`ImpossibleBehavior: Found metadata with label "0" in tx [${transaction.utxos.hash}] but failed to read it from CSL object`);
27
+ const data = JSON.parse(wasm.decode_metadatum_to_json_str(wasmMetadatumObject, wasm.MetadataJsonSchema.NoConversions));
21
28
  const rosenData = parseRosenData(data);
22
29
  if (rosenData) {
23
30
  const lockOutputs = transaction.utxos.outputs.filter((output) => output.address === this.lockAddress);
@@ -31,8 +38,7 @@ export class CardanoBlockFrostRosenExtractor extends AbstractRosenDataExtractor
31
38
  amount: assetTransformation.amount,
32
39
  targetChainTokenId: assetTransformation.to,
33
40
  sourceTxId: transaction.utxos.hash,
34
- // TODO: save rawData in CBOR (local:ergo/rosen-bridge/utils#293)
35
- rawData: JsonBigInt.stringify(data),
41
+ rawData: metaDataCbor,
36
42
  };
37
43
  }
38
44
  else
@@ -93,4 +99,4 @@ export class CardanoBlockFrostRosenExtractor extends AbstractRosenDataExtractor
93
99
  }
94
100
  };
95
101
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGFub0Jsb2NrRnJvc3RSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvY2FyZGFuby9jYXJkYW5vQmxvY2tGcm9zdFJvc2VuRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsT0FBTywwQkFBMEIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9ELE9BQU8sVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFNUQsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLDBCQUFpRDtJQUMzRixLQUFLLEdBQUcsYUFBYSxDQUFDO0lBQy9COzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUNmLFdBQWtDLEVBQ1gsRUFBRTtRQUN6QixNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ3RDLElBQUksQ0FBQztZQUNILElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsRUFBRSxhQUFhLENBQUM7WUFDeEUsTUFBTSxTQUFTLEdBQUcsY0FBYyxD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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgUm9zZW5EYXRhLCBUb2tlblRyYW5zZm9ybWF0aW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L2Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IENBUkRBTk9fQ0hBSU4sIENBUkRBTk9fTkFUSVZFX1RPS0VOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IHsgQmxvY2tGcm9zdE91dHB1dEJveCwgQmxvY2tGcm9zdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IGdldENhcmRhbm9Ub2tlbklkLCBwYXJzZVJvc2VuRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2FyZGFub0Jsb2NrRnJvc3RSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPEJsb2NrRnJvc3RUcmFuc2FjdGlvbj4ge1xuICByZWFkb25seSBjaGFpbiA9IENBUkRBTk9fQ0hBSU47XG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgZnJvbSBnaXZlbiBsb2NrIHRyYW5zYWN0aW9uIGluIGJsb2NrZnJvc3QgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBibG9ja2Zyb3N0IGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAoXG4gICAgdHJhbnNhY3Rpb246IEJsb2NrRnJvc3RUcmFuc2FjdGlvbixcbiAgKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24udXR4b3MuaGFzaH1dYDtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRyYW5zYWN0aW9uLm1ldGFkYXRhO1xuICAgIHRyeSB7XG4gICAgICBpZiAobWV0YWRhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IE5vIG1ldGFkYXRhYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhID0gbWV0YWRhdGEuZmluZCgoZGF0YSkgPT4gZGF0YS5sYWJlbCA9PT0gJzAnKT8uanNvbl9tZXRhZGF0YTtcbiAgICAgIGNvbnN0IHJvc2VuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKGRhdGEpO1xuICAgICAgaWYgKHJvc2VuRGF0YSkge1xuICAgICAgICBjb25zdCBsb2NrT3V0cHV0cyA9IHRyYW5zYWN0aW9uLnV0eG9zLm91dHB1dHMuZmlsdGVyKFxuICAgICAgICAgIChvdXRwdXQpID0+IG91dHB1dC5hZGRyZXNzID09PSB0aGlzLmxvY2tBZGRyZXNzLFxuICAgICAgICApO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxvY2tPdXRwdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3Qgb3V0cHV0ID0gbG9ja091dHB1dHNbaV07XG4gICAgICAgICAgY29uc3QgYXNzZXRUcmFuc2Zvcm1hdGlvbiA9IHRoaXMuZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbihcbiAgICAgICAgICAgIG91dHB1dCxcbiAgICAgICAgICAgIHJvc2VuRGF0YS50b0NoYWluLFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGFzc2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnJvc2VuRGF0YSxcbiAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLmZyb20sXG4gICAgICAgICAgICAgIGFtb3VudDogYXNzZXRUcmFuc2Zvcm1hdGlvbi5hbW91bnQsXG4gICAgICAgICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi50byxcbiAgICAgICAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24udXR4b3MuaGFzaCxcbiAgICAgICAgICAgICAgLy8gVE9ETzogc2F2ZSByYXdEYXRhIGluIENCT1IgKGxvY2FsOmVyZ28vcm9zZW4tYnJpZGdlL3V0aWxzIzI5MylcbiAgICAgICAgICAgICAgcmF3RGF0YTogSnNvbkJpZ0ludC5zdHJpbmdpZnkoZGF0YSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZVxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAgIGBObyByb3NlbiBhc3NldCB0cmFuc2Zvcm1hdGlvbiBmb3VuZCBmb3IgYm94IFske1xuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnV0eG9zLmhhc2hcbiAgICAgICAgICAgICAgfS4ke2l9XTogYm94IGFzc2V0czogJHtKc29uQmlnSW50LnN0cmluZ2lmeShvdXRwdXQuYW1vdW50KX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBObyB2YWxpZCB0cmFuc2Zvcm1hdGlvbiBmb3VuZCBpbiBhbnkgb3V0cHV0IGJveGVzYCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgK1xuICAgICAgICAgICAgYDogSW5jb21wbGV0ZSBtZXRhZGF0YS4gaXNQbGFpbjogJHtpc1BsYWluT2JqZWN0KFxuICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgKX0sIGRhdGE6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoZGF0YSl9YCxcbiAgICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgQ2FyZGFubyByb3NlbiBkYXRhIGZyb20gQmxvY2tGcm9zdDogJHtlfWAsXG4gICAgICApO1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLnN0YWNrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGUuc3RhY2spO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBhbmQgYnVpbGRzIHRva2VuIHRyYW5zZm9ybWF0aW9uIGZyb20gVVRYTyBhbmQgdG9rZW5NYXBcbiAgICogQHBhcmFtIGJveCB0cmFuc2FjdGlvbiBvdXRwdXRcbiAgICogQHBhcmFtIHRvQ2hhaW4gZXZlbnQgdGFyZ2V0IGNoYWluXG4gICAqL1xuICBnZXRBc3NldFRyYW5zZm9ybWF0aW9uID0gKFxuICAgIGJveDogQmxvY2tGcm9zdE91dHB1dEJveCxcbiAgICB0b0NoYWluOiBzdHJpbmcsXG4gICk6IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgYXNzZXRzXG4gICAgZm9yIChjb25zdCBhc3NldCBvZiBib3guYW1vdW50KSB7XG4gICAgICBpZiAoYXNzZXQudW5pdCA9PT0gJ2xvdmVsYWNlJykgY29udGludWU7XG4gICAgICBjb25zdCBwb2xpY3lJZCA9IGFzc2V0LnVuaXQuc2xpY2UoMCwgNTYpO1xuICAgICAgY29uc3QgYXNzZXROYW1lID0gYXNzZXQudW5pdC5zbGljZSg1Nik7XG4gICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICAgIHRva2VuSWQ6IGdldENhcmRhbm9Ub2tlbklkKHBvbGljeUlkLCBhc3NldE5hbWUpLFxuICAgICAgfSk7XG4gICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmcm9tOiB0aGlzLnRva2Vucy5nZXRJRCh0b2tlblswXSwgQ0FSREFOT19DSEFJTiksXG4gICAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCB0b0NoYWluKSxcbiAgICAgICAgICBhbW91bnQ6IGFzc2V0LnF1YW50aXR5LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgQURBXG4gICAgY29uc3QgbG92ZWxhY2UgPSB0aGlzLnRva2Vucy5zZWFyY2goQ0FSREFOT19DSEFJTiwge1xuICAgICAgdG9rZW5JZDogQ0FSREFOT19OQVRJVkVfVE9LRU4sXG4gICAgfSk7XG4gICAgaWYgKGxvdmVsYWNlLmxlbmd0aCA+IDAgJiYgT2JqZWN0Lmhhc093bihsb3ZlbGFjZVswXSwgdG9DaGFpbikpIHtcbiAgICAgIGNvbnN0IGJveExvdmVsYWNlQW1vdW50ID0gYm94LmFtb3VudC5maW5kKFxuICAgICAgICAoYXNzZXQpID0+IGFzc2V0LnVuaXQgPT09ICdsb3ZlbGFjZScsXG4gICAgICApO1xuICAgICAgaWYgKCFib3hMb3ZlbGFjZUFtb3VudClcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgYEltcG9zc2libGVCZWhhdmlvcjogRm91bmQgYmxvY2tmcm9zdCB0eCBvdXRwdXQgd2l0aCBubyBsb3ZlbGFjZSBhbW91bnRgLFxuICAgICAgICApO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKGxvdmVsYWNlWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBib3hMb3ZlbGFjZUFtb3VudC5xdWFudGl0eSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGFub0Jsb2NrRnJvc3RSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvY2FyZGFuby9jYXJkYW5vQmxvY2tGcm9zdFJvc2VuRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLElBQUksTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1RCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsMEJBQWlEO0lBQzNGLEtBQUssR0FBRyxhQUFhLENBQUM7SUFDL0I7OztPQUdHO0lBQ0gsV0FBVyxHQUFHLENBQUMsV0FBa0MsRUFBeUIsRUFBRTtRQUMxRSxNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQztZQUNILElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDaEMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUM3QixF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QixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN2QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQ3JDLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCO2dCQUNwQixNQUFNLEtBQUssQ0FDVCx3RUFBd0UsQ0FDekUsQ0FBQztZQUVKLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLG9CQUFvQjtnQkFDMUIsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM7Z0JBQzNDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO2FBQ25DLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuaW1wb3J0IHsgaXNQbGFpbk9iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgKiBhcyB3YXNtIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0IHsgUm9zZW5EYXRhLCBUb2tlblRyYW5zZm9ybWF0aW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L2Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IENBUkRBTk9fQ0hBSU4sIENBUkRBTk9fTkFUSVZFX1RPS0VOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IHsgQmxvY2tGcm9zdE91dHB1dEJveCwgQmxvY2tGcm9zdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRDYXJkYW5vVG9rZW5JZCwgcGFyc2VSb3NlbkRhdGEgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIENhcmRhbm9CbG9ja0Zyb3N0Um9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxCbG9ja0Zyb3N0VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgY2hhaW4gPSBDQVJEQU5PX0NIQUlOO1xuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBibG9ja2Zyb3N0IGZvcm1hdFxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gdGhlIGxvY2sgdHJhbnNhY3Rpb24gaW4gYmxvY2tmcm9zdCBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3REYXRhID0gKHRyYW5zYWN0aW9uOiBCbG9ja0Zyb3N0VHJhbnNhY3Rpb24pOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi51dHhvcy5oYXNofV1gO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdHJhbnNhY3Rpb24ubWV0YWRhdGFDYm9yO1xuICAgIHRyeSB7XG4gICAgICBpZiAobWV0YWRhdGEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IE5vIG1ldGFkYXRhYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBjb25zdCBtZXRhRGF0YUNib3IgPSBtZXRhZGF0YS5maW5kKFxuICAgICAgICAoZGF0YSkgPT4gZGF0YS5sYWJlbCA9PT0gJzAnLFxuICAgICAgKT8ubWV0YWRhdGE7XG4gICAgICBpZiAoIW1ldGFEYXRhQ2JvcikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHdhc21NZXRhZGF0dW1PYmplY3QgPSB3YXNtLkdlbmVyYWxUcmFuc2FjdGlvbk1ldGFkYXRhLmZyb21faGV4KFxuICAgICAgICBtZXRhRGF0YUNib3IsXG4gICAgICApLmdldCh3YXNtLkJpZ051bS5mcm9tX3N0cignMCcpKTtcbiAgICAgIGlmICghd2FzbU1ldGFkYXR1bU9iamVjdClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBJbXBvc3NpYmxlQmVoYXZpb3I6IEZvdW5kIG1ldGFkYXRhIHdpdGggbGFiZWwgXCIwXCIgaW4gdHggWyR7dHJhbnNhY3Rpb24udXR4b3MuaGFzaH1dIGJ1dCBmYWlsZWQgdG8gcmVhZCBpdCBmcm9tIENTTCBvYmplY3RgLFxuICAgICAgICApO1xuXG4gICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShcbiAgICAgICAgd2FzbS5kZWNvZGVfbWV0YWRhdHVtX3RvX2pzb25fc3RyKFxuICAgICAgICAgIHdhc21NZXRhZGF0dW1PYmplY3QsXG4gICAgICAgICAgd2FzbS5NZXRhZGF0YUpzb25TY2hlbWEuTm9Db252ZXJzaW9ucyxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICBjb25zdCByb3NlbkRhdGEgPSBwYXJzZVJvc2VuRGF0YShkYXRhKTtcbiAgICAgIGlmIChyb3NlbkRhdGEpIHtcbiAgICAgICAgY29uc3QgbG9ja091dHB1dHMgPSB0cmFuc2FjdGlvbi51dHhvcy5vdXRwdXRzLmZpbHRlcihcbiAgICAgICAgICAob3V0cHV0KSA9PiBvdXRwdXQuYWRkcmVzcyA9PT0gdGhpcy5sb2NrQWRkcmVzcyxcbiAgICAgICAgKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb2NrT3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IG91dHB1dCA9IGxvY2tPdXRwdXRzW2ldO1xuICAgICAgICAgIGNvbnN0IGFzc2V0VHJhbnNmb3JtYXRpb24gPSB0aGlzLmdldEFzc2V0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgICAgICBvdXRwdXQsXG4gICAgICAgICAgICByb3NlbkRhdGEudG9DaGFpbixcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChhc3NldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5yb3NlbkRhdGEsXG4gICAgICAgICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi5mcm9tLFxuICAgICAgICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24udG8sXG4gICAgICAgICAgICAgIHNvdXJjZVR4SWQ6IHRyYW5zYWN0aW9uLnV0eG9zLmhhc2gsXG4gICAgICAgICAgICAgIHJhd0RhdGE6IG1ldGFEYXRhQ2JvcixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgYE5vIHJvc2VuIGFzc2V0IHRyYW5zZm9ybWF0aW9uIGZvdW5kIGZvciBib3ggWyR7XG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24udXR4b3MuaGFzaFxuICAgICAgICAgICAgICB9LiR7aX1dOiBib3ggYXNzZXRzOiAke0pzb25CaWdJbnQuc3RyaW5naWZ5KG91dHB1dC5hbW91bnQpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IE5vIHZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kIGluIGFueSBvdXRwdXQgYm94ZXNgLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArXG4gICAgICAgICAgICBgOiBJbmNvbXBsZXRlIG1ldGFkYXRhLiBpc1BsYWluOiAke2lzUGxhaW5PYmplY3QoXG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICApfSwgZGF0YTogJHtKc29uQmlnSW50LnN0cmluZ2lmeShkYXRhKX1gLFxuICAgICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBDYXJkYW5vIHJvc2VuIGRhdGEgZnJvbSBCbG9ja0Zyb3N0OiAke2V9YCxcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIGFuZCBidWlsZHMgdG9rZW4gdHJhbnNmb3JtYXRpb24gZnJvbSBVVFhPIGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBCbG9ja0Zyb3N0T3V0cHV0Qm94LFxuICAgIHRvQ2hhaW46IHN0cmluZyxcbiAgKTogVG9rZW5UcmFuc2Zvcm1hdGlvbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgLy8gdHJ5IHRvIGJ1aWxkIHRyYW5zZm9ybWF0aW9uIHVzaW5nIGxvY2tlZCBhc3NldHNcbiAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGJveC5hbW91bnQpIHtcbiAgICAgIGlmIChhc3NldC51bml0ID09PSAnbG92ZWxhY2UnKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHBvbGljeUlkID0gYXNzZXQudW5pdC5zbGljZSgwLCA1Nik7XG4gICAgICBjb25zdCBhc3NldE5hbWUgPSBhc3NldC51bml0LnNsaWNlKDU2KTtcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnMuc2VhcmNoKENBUkRBTk9fQ0hBSU4sIHtcbiAgICAgICAgdG9rZW5JZDogZ2V0Q2FyZGFub1Rva2VuSWQocG9saWN5SWQsIGFzc2V0TmFtZSksXG4gICAgICB9KTtcbiAgICAgIGlmICh0b2tlbi5sZW5ndGggPiAwICYmIE9iamVjdC5oYXNPd24odG9rZW5bMF0sIHRvQ2hhaW4pKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGZyb206IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCBDQVJEQU5PX0NIQUlOKSxcbiAgICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIHRvQ2hhaW4pLFxuICAgICAgICAgIGFtb3VudDogYXNzZXQucXVhbnRpdHksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gdHJ5IHRvIGJ1aWxkIHRyYW5zZm9ybWF0aW9uIHVzaW5nIGxvY2tlZCBBREFcbiAgICBjb25zdCBsb3ZlbGFjZSA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICB0b2tlbklkOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICB9KTtcbiAgICBpZiAobG92ZWxhY2UubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKGxvdmVsYWNlWzBdLCB0b0NoYWluKSkge1xuICAgICAgY29uc3QgYm94TG92ZWxhY2VBbW91bnQgPSBib3guYW1vdW50LmZpbmQoXG4gICAgICAgIChhc3NldCkgPT4gYXNzZXQudW5pdCA9PT0gJ2xvdmVsYWNlJyxcbiAgICAgICk7XG4gICAgICBpZiAoIWJveExvdmVsYWNlQW1vdW50KVxuICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICBgSW1wb3NzaWJsZUJlaGF2aW9yOiBGb3VuZCBibG9ja2Zyb3N0IHR4IG91dHB1dCB3aXRoIG5vIGxvdmVsYWNlIGFtb3VudGAsXG4gICAgICAgICk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZyb206IENBUkRBTk9fTkFUSVZFX1RPS0VOLFxuICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQobG92ZWxhY2VbMF0sIHRvQ2hhaW4pLFxuICAgICAgICBhbW91bnQ6IGJveExvdmVsYWNlQW1vdW50LnF1YW50aXR5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -8,7 +8,7 @@ export declare class CardanoKoiosRosenExtractor extends AbstractRosenDataExtract
8
8
  * extracts RosenData from given lock transaction in Koios format
9
9
  * @param transaction the lock transaction in Koios format
10
10
  */
11
- extractRawData: (transaction: KoiosCborTransaction) => RosenData | undefined;
11
+ extractData: (transaction: KoiosCborTransaction) => RosenData | undefined;
12
12
  /**
13
13
  * extracts and builds token transformation from UTXO and tokenMap
14
14
  * @param box transaction output
@@ -1 +1 @@
1
- {"version":3,"file":"cardanoKoiosRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoKoiosRosenExtractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,OAAO,EACL,qBAAqB,EAKtB,MAAM,0CAA0C,CAAC;AAElD,qBAAa,0BAA2B,SAAQ,0BAA0B,CAAC,oBAAoB,CAAC;IAC9F,QAAQ,CAAC,KAAK,aAAiB;IAE/B;;;OAGG;IACH,cAAc,GACZ,aAAa,oBAAoB,KAChC,SAAS,GAAG,SAAS,CA4DtB;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,qBAAqB,EAC1B,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAsChC;CACH"}
1
+ {"version":3,"file":"cardanoKoiosRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoKoiosRosenExtractor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EACL,qBAAqB,EAMtB,MAAM,0CAA0C,CAAC;AAElD,qBAAa,0BAA2B,SAAQ,0BAA0B,CAAC,oBAAoB,CAAC;IAC9F,QAAQ,CAAC,KAAK,aAAiB;IAE/B;;;OAGG;IACH,WAAW,GAAI,aAAa,oBAAoB,KAAG,SAAS,GAAG,SAAS,CAsEtE;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,qBAAqB,EAC1B,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAsChC;CACH"}
@@ -1,16 +1,16 @@
1
+ import JsonBigInt from '@rosen-bridge/json-bigint';
1
2
  import { isPlainObject } from 'lodash-es';
2
3
  import AbstractRosenDataExtractor from '../abstract/abstractRosenDataExtractor';
3
4
  import { CARDANO_CHAIN, CARDANO_NATIVE_TOKEN } from '../const';
4
- import JsonBigInt from '@rosen-bridge/json-bigint';
5
5
  import { getCardanoTokenId, parseRosenData } from './utils';
6
- import { decode_metadatum_to_json_str, BigNum, GeneralTransactionMetadata, MetadataJsonSchema, } from '@emurgo/cardano-serialization-lib-nodejs';
6
+ import { decode_metadatum_to_json_str, BigNum, GeneralTransactionMetadata, MetadataJsonSchema, Transaction, } from '@emurgo/cardano-serialization-lib-nodejs';
7
7
  export class CardanoKoiosRosenExtractor extends AbstractRosenDataExtractor {
8
8
  chain = CARDANO_CHAIN;
9
9
  /**
10
10
  * extracts RosenData from given lock transaction in Koios format
11
11
  * @param transaction the lock transaction in Koios format
12
12
  */
13
- extractRawData = (transaction) => {
13
+ extractData = (transaction) => {
14
14
  const baseError = `No rosen data found for tx [${transaction.tx_hash}]`;
15
15
  if (!transaction.auxiliary_data)
16
16
  return undefined;
@@ -25,14 +25,22 @@ export class CardanoKoiosRosenExtractor extends AbstractRosenDataExtractor {
25
25
  for (const output of lockOutputs) {
26
26
  const assetTransformation = this.getAssetTransformation(output, rosenData.toChain);
27
27
  if (assetTransformation) {
28
+ let rawData = '';
29
+ if (this.storeRawData) {
30
+ rawData = Transaction.from_hex(transaction.cbor)
31
+ .auxiliary_data()
32
+ ?.metadata()
33
+ ?.to_hex();
34
+ if (!rawData)
35
+ throw new Error(`ImpossibleBehavior: Rosen data is successfully extracted for tx [${transaction.tx_hash}] but failed to get metadata from transaction CBOR`);
36
+ }
28
37
  return {
29
38
  ...rosenData,
30
39
  sourceChainTokenId: assetTransformation.from,
31
40
  amount: assetTransformation.amount,
32
41
  targetChainTokenId: assetTransformation.to,
33
42
  sourceTxId: transaction.tx_hash,
34
- // TODO: save rawData in CBOR (local:ergo/rosen-bridge/utils#293)
35
- rawData: JsonBigInt.stringify(data),
43
+ rawData: rawData,
36
44
  };
37
45
  }
38
46
  }
@@ -94,4 +102,4 @@ export class CardanoKoiosRosenExtractor extends AbstractRosenDataExtractor {
94
102
  }
95
103
  };
96
104
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2NhcmRhbm8vY2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUxQyxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0QsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RCxPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLE1BQU0sRUFDTiwwQkFBMEIsRUFDMUIsa0JBQWtCLEdBQ25CLE1BQU0sMENBQTBDLENBQUM7QUFFbEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDBCQUFnRDtJQUNyRixLQUFLLEdBQUcsYUFBYSxDQUFDO0lBRS9COzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUNmLFdBQWlDLEVBQ1YsRUFBRTtRQUN6QixNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLE9BQU8sR0FBRyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQztZQUNILElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDcEUsTUFBTSxjQUFjLEdBQUcsMEJBQTBCLENBQUMsU0FBUyxDQUN6RCxVQUFVLENBQUMsU0FBUyxDQUFD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QUFDLE1BQU0sQ0FDWCxFQUFFLENBQ0osQ0FBQztZQUNGLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhaW5PYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgUm9zZW5EYXRhLCBUb2tlblRyYW5zZm9ybWF0aW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L2Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IENBUkRBTk9fQ0hBSU4sIENBUkRBTk9fTkFUSVZFX1RPS0VOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IHsgS29pb3NDYm9yVHJhbnNhY3Rpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuaW1wb3J0IHsgZ2V0Q2FyZGFub1Rva2VuSWQsIHBhcnNlUm9zZW5EYXRhIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbk91dHB1dEpTT04sXG4gIGRlY29kZV9tZXRhZGF0dW1fdG9fanNvbl9zdHIsXG4gIEJpZ051bSxcbiAgR2VuZXJhbFRyYW5zYWN0aW9uTWV0YWRhdGEsXG4gIE1ldGFkYXRhSnNvblNjaGVtYSxcbn0gZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5cbmV4cG9ydCBjbGFzcyBDYXJkYW5vS29pb3NSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPEtvaW9zQ2JvclRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gQ0FSREFOT19DSEFJTjtcblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBLb2lvcyBmb3JtYXRcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIHRoZSBsb2NrIHRyYW5zYWN0aW9uIGluIEtvaW9zIGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAoXG4gICAgdHJhbnNhY3Rpb246IEtvaW9zQ2JvclRyYW5zYWN0aW9uLFxuICApOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi50eF9oYXNofV1gO1xuICAgIGlmICghdHJhbnNhY3Rpb24uYXV4aWxpYXJ5X2RhdGEpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0cmFuc2FjdGlvbi5hdXhpbGlhcnlfZGF0YS5tZXRhZGF0YTtcbiAgICB0cnkge1xuICAgICAgaWYgKG1ldGFkYXRhICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtZXRhZGF0YSwgJzAnKSkge1xuICAgICAgICBjb25zdCBtZXRhZGF0YU9iamVjdCA9IEdlbmVyYWxUcmFuc2FjdGlvbk1ldGFkYXRhLmZyb21fanNvbihcbiAgICAgICAgICBKc29uQmlnSW50LnN0cmluZ2lmeShtZXRhZGF0YSksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBKc29uQmlnSW50LnBhcnNlKFxuICAgICAgICAgIGRlY29kZV9tZXRhZGF0dW1fdG9fanNvbl9zdHIoXG4gICAgICAgICAgICBtZXRhZGF0YU9iamVjdC5nZXQoQmlnTnVtLmZyb21fc3RyKCcwJykpISxcbiAgICAgICAgICAgIE1ldGFkYXRhSnNvblNjaGVtYS5Ob0NvbnZlcnNpb25zLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJvc2VuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKGRhdGEpO1xuICAgICAgICBpZiAocm9zZW5EYXRhKSB7XG4gICAgICAgICAgY29uc3QgbG9ja091dHB1dHMgPSB0cmFuc2FjdGlvbi5ib2R5Lm91dHB1dHMuZmlsdGVyKFxuICAgICAgICAgICAgKG91dHB1dCkgPT4gb3V0cHV0LmFkZHJlc3MgPT09IHRoaXMubG9ja0FkZHJlc3MsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiBsb2NrT3V0cHV0cykge1xuICAgICAgICAgICAgY29uc3QgYXNzZXRUcmFuc2Zvcm1hdGlvbiA9IHRoaXMuZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbihcbiAgICAgICAgICAgICAgb3V0cHV0LFxuICAgICAgICAgICAgICByb3NlbkRhdGEudG9DaGFpbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoYXNzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnJvc2VuRGF0YSxcbiAgICAgICAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uZnJvbSxcbiAgICAgICAgICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICAgICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi50byxcbiAgICAgICAgICAgICAgICBzb3VyY2VUeElkOiB0cmFuc2FjdGlvbi50eF9oYXNoLFxuICAgICAgICAgICAgICAgIC8vIFRPRE86IHNhdmUgcmF3RGF0YSBpbiBDQk9SIChsb2NhbDplcmdvL3Jvc2VuLWJyaWRnZS91dGlscyMyOTMpXG4gICAgICAgICAgICAgICAgcmF3RGF0YTogSnNvbkJpZ0ludC5zdHJpbmdpZnkoZGF0YSksXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICsgYDogTm8gdmFsaWQgdHJhbnNmb3JtYXRpb24gZm91bmQgaW4gYW55IG91dHB1dCBib3hlc2AsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBiYXNlRXJyb3IgK1xuICAgICAgICAgICAgICBgOiBJbmNvbXBsZXRlIG1ldGFkYXRhLiBpc1BsYWluOiAke2lzUGxhaW5PYmplY3QoXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgKX0sIGRhdGE6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoZGF0YSl9YCxcbiAgICAgICAgICApO1xuICAgICAgfSBlbHNlXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IEludmFsaWQgbWV0YWRhdGE6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkobWV0YWRhdGEpfWAsXG4gICAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIENhcmRhbm8gcm9zZW4gZGF0YSBmcm9tIEtvaW9zOiAke2V9YCxcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIGFuZCBidWlsZHMgdG9rZW4gdHJhbnNmb3JtYXRpb24gZnJvbSBVVFhPIGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBUcmFuc2FjdGlvbk91dHB1dEpTT04sXG4gICAgdG9DaGFpbjogc3RyaW5nLFxuICApOiBUb2tlblRyYW5zZm9ybWF0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIGFzc2V0c1xuICAgIGlmIChib3guYW1vdW50Lm11bHRpYXNzZXQpIHtcbiAgICAgIGNvbnN0IGFzc2V0cyA9IGJveC5hbW91bnQubXVsdGlhc3NldDtcbiAgICAgIGZvciAoY29uc3QgcG9saWN5SWQgb2YgT2JqZWN0LmtleXMoYXNzZXRzKSkge1xuICAgICAgICBmb3IgKGNvbnN0IGFzc2V0TmFtZSBvZiBPYmplY3Qua2V5cyhhc3NldHNbcG9saWN5SWRdKSkge1xuICAgICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnMuc2VhcmNoKENBUkRBTk9fQ0hBSU4sIHtcbiAgICAgICAgICAgIHRva2VuSWQ6IGdldENhcmRhbm9Ub2tlbklkKHBvbGljeUlkLCBhc3NldE5hbWUpLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmICh0b2tlbi5sZW5ndGggPiAwICYmIE9iamVjdC5oYXNPd24odG9rZW5bMF0sIHRvQ2hhaW4pKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBmcm9tOiB0aGlzLnRva2Vucy5nZXRJRCh0b2tlblswXSwgQ0FSREFOT19DSEFJTiksXG4gICAgICAgICAgICAgIHRvOiB0aGlzLnRva2Vucy5nZXRJRCh0b2tlblswXSwgdG9DaGFpbiksXG4gICAgICAgICAgICAgIGFtb3VudDogYXNzZXRzW3BvbGljeUlkXVthc3NldE5hbWVdLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgQURBXG4gICAgY29uc3QgbG92ZWxhY2UgPSB0aGlzLnRva2Vucy5zZWFyY2goQ0FSREFOT19DSEFJTiwge1xuICAgICAgdG9rZW5JZDogQ0FSREFOT19OQVRJVkVfVE9LRU4sXG4gICAgfSk7XG4gICAgaWYgKGxvdmVsYWNlLmxlbmd0aCA+IDAgJiYgT2JqZWN0Lmhhc093bihsb3ZlbGFjZVswXSwgdG9DaGFpbikpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZyb206IENBUkRBTk9fTkFUSVZFX1RPS0VOLFxuICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQobG92ZWxhY2VbMF0sIHRvQ2hhaW4pLFxuICAgICAgICBhbW91bnQ6IGJveC5hbW91bnQuY29pbixcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgTm8gcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb24gZm91bmQgZm9yIGJveCB3aXRoIGFzc2V0czogJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICBib3guYW1vdW50LFxuICAgICAgICApfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2NhcmRhbm8vY2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUxQyxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RCxPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLE1BQU0sRUFDTiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLDBDQUEwQyxDQUFDO0FBRWxELE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBZ0Q7SUFDckYsS0FBSyxHQUFHLGFBQWEsQ0FBQztJQUUvQjs7O09BR0c7SUFDSCxXQUFXLEdBQUcsQ0FBQyxXQUFpQyxFQUF5QixFQUFFO1FBQ3pFLE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsT0FBTyxHQUFHLENBQUM7UUFDeEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDckQsSUFBSSxDQUFDO1lBQ0gsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNwRSxNQUFNLGNBQWMsR0FBRywwQkFBMEIsQ0FBQyxTQUFTLENBQ3pELFVBQVUsQ0FB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QUM7WUFDL0QsT0FBTztnQkFDTCxJQUFJLEVBQUUsb0JBQW9CO2dCQUMxQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztnQkFDM0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSTthQUN4QixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiw0REFBNEQsVUFBVSxDQUFDLFNBQVMsQ0FDOUUsR0FBRyxDQUFDLE1BQU0sQ0FDWCxFQUFFLENBQ0osQ0FBQztZQUNGLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBKc29uQmlnSW50IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuaW1wb3J0IHsgaXNQbGFpbk9iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvYWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgQ0FSREFOT19DSEFJTiwgQ0FSREFOT19OQVRJVkVfVE9LRU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBLb2lvc0Nib3JUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2FyZGFub1Rva2VuSWQsIHBhcnNlUm9zZW5EYXRhIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbk91dHB1dEpTT04sXG4gIGRlY29kZV9tZXRhZGF0dW1fdG9fanNvbl9zdHIsXG4gIEJpZ051bSxcbiAgR2VuZXJhbFRyYW5zYWN0aW9uTWV0YWRhdGEsXG4gIE1ldGFkYXRhSnNvblNjaGVtYSxcbiAgVHJhbnNhY3Rpb24sXG59IGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuXG5leHBvcnQgY2xhc3MgQ2FyZGFub0tvaW9zUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxLb2lvc0Nib3JUcmFuc2FjdGlvbj4ge1xuICByZWFkb25seSBjaGFpbiA9IENBUkRBTk9fQ0hBSU47XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gS29pb3MgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBLb2lvcyBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3REYXRhID0gKHRyYW5zYWN0aW9uOiBLb2lvc0Nib3JUcmFuc2FjdGlvbik6IFJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgYmFzZUVycm9yID0gYE5vIHJvc2VuIGRhdGEgZm91bmQgZm9yIHR4IFske3RyYW5zYWN0aW9uLnR4X2hhc2h9XWA7XG4gICAgaWYgKCF0cmFuc2FjdGlvbi5hdXhpbGlhcnlfZGF0YSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRyYW5zYWN0aW9uLmF1eGlsaWFyeV9kYXRhLm1ldGFkYXRhO1xuICAgIHRyeSB7XG4gICAgICBpZiAobWV0YWRhdGEgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1ldGFkYXRhLCAnMCcpKSB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhT2JqZWN0ID0gR2VuZXJhbFRyYW5zYWN0aW9uTWV0YWRhdGEuZnJvbV9qc29uKFxuICAgICAgICAgIEpzb25CaWdJbnQuc3RyaW5naWZ5KG1ldGFkYXRhKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IEpzb25CaWdJbnQucGFyc2UoXG4gICAgICAgICAgZGVjb2RlX21ldGFkYXR1bV90b19qc29uX3N0cihcbiAgICAgICAgICAgIG1ldGFkYXRhT2JqZWN0LmdldChCaWdOdW0uZnJvbV9zdHIoJzAnKSkhLFxuICAgICAgICAgICAgTWV0YWRhdGFKc29uU2NoZW1hLk5vQ29udmVyc2lvbnMsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgcm9zZW5EYXRhID0gcGFyc2VSb3NlbkRhdGEoZGF0YSk7XG4gICAgICAgIGlmIChyb3NlbkRhdGEpIHtcbiAgICAgICAgICBjb25zdCBsb2NrT3V0cHV0cyA9IHRyYW5zYWN0aW9uLmJvZHkub3V0cHV0cy5maWx0ZXIoXG4gICAgICAgICAgICAob3V0cHV0KSA9PiBvdXRwdXQuYWRkcmVzcyA9PT0gdGhpcy5sb2NrQWRkcmVzcyxcbiAgICAgICAgICApO1xuICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIGxvY2tPdXRwdXRzKSB7XG4gICAgICAgICAgICBjb25zdCBhc3NldFRyYW5zZm9ybWF0aW9uID0gdGhpcy5nZXRBc3NldFRyYW5zZm9ybWF0aW9uKFxuICAgICAgICAgICAgICBvdXRwdXQsXG4gICAgICAgICAgICAgIHJvc2VuRGF0YS50b0NoYWluLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChhc3NldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgICAgICAgICAgIGxldCByYXdEYXRhOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgICAgICAgICAgICAgaWYgKHRoaXMuc3RvcmVSYXdEYXRhKSB7XG4gICAgICAgICAgICAgICAgcmF3RGF0YSA9IFRyYW5zYWN0aW9uLmZyb21faGV4KHRyYW5zYWN0aW9uLmNib3IpXG4gICAgICAgICAgICAgICAgICAuYXV4aWxpYXJ5X2RhdGEoKVxuICAgICAgICAgICAgICAgICAgPy5tZXRhZGF0YSgpXG4gICAgICAgICAgICAgICAgICA/LnRvX2hleCgpO1xuICAgICAgICAgICAgICAgIGlmICghcmF3RGF0YSlcbiAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYEltcG9zc2libGVCZWhhdmlvcjogUm9zZW4gZGF0YSBpcyBzdWNjZXNzZnVsbHkgZXh0cmFjdGVkIGZvciB0eCBbJHt0cmFuc2FjdGlvbi50eF9oYXNofV0gYnV0IGZhaWxlZCB0byBnZXQgbWV0YWRhdGEgZnJvbSB0cmFuc2FjdGlvbiBDQk9SYCxcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5yb3NlbkRhdGEsXG4gICAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLmZyb20sXG4gICAgICAgICAgICAgICAgYW1vdW50OiBhc3NldFRyYW5zZm9ybWF0aW9uLmFtb3VudCxcbiAgICAgICAgICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24udG8sXG4gICAgICAgICAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24udHhfaGFzaCxcbiAgICAgICAgICAgICAgICByYXdEYXRhOiByYXdEYXRhLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGJhc2VFcnJvciArIGA6IE5vIHZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kIGluIGFueSBvdXRwdXQgYm94ZXNgLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZVxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgICAgYDogSW5jb21wbGV0ZSBtZXRhZGF0YS4gaXNQbGFpbjogJHtpc1BsYWluT2JqZWN0KFxuICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICl9LCBkYXRhOiAke0pzb25CaWdJbnQuc3RyaW5naWZ5KGRhdGEpfWAsXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBJbnZhbGlkIG1ldGFkYXRhOiAke0pzb25CaWdJbnQuc3RyaW5naWZ5KG1ldGFkYXRhKX1gLFxuICAgICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBDYXJkYW5vIHJvc2VuIGRhdGEgZnJvbSBLb2lvczogJHtlfWAsXG4gICAgICApO1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLnN0YWNrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGUuc3RhY2spO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBhbmQgYnVpbGRzIHRva2VuIHRyYW5zZm9ybWF0aW9uIGZyb20gVVRYTyBhbmQgdG9rZW5NYXBcbiAgICogQHBhcmFtIGJveCB0cmFuc2FjdGlvbiBvdXRwdXRcbiAgICogQHBhcmFtIHRvQ2hhaW4gZXZlbnQgdGFyZ2V0IGNoYWluXG4gICAqL1xuICBnZXRBc3NldFRyYW5zZm9ybWF0aW9uID0gKFxuICAgIGJveDogVHJhbnNhY3Rpb25PdXRwdXRKU09OLFxuICAgIHRvQ2hhaW46IHN0cmluZyxcbiAgKTogVG9rZW5UcmFuc2Zvcm1hdGlvbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgLy8gdHJ5IHRvIGJ1aWxkIHRyYW5zZm9ybWF0aW9uIHVzaW5nIGxvY2tlZCBhc3NldHNcbiAgICBpZiAoYm94LmFtb3VudC5tdWx0aWFzc2V0KSB7XG4gICAgICBjb25zdCBhc3NldHMgPSBib3guYW1vdW50Lm11bHRpYXNzZXQ7XG4gICAgICBmb3IgKGNvbnN0IHBvbGljeUlkIG9mIE9iamVjdC5rZXlzKGFzc2V0cykpIHtcbiAgICAgICAgZm9yIChjb25zdCBhc3NldE5hbWUgb2YgT2JqZWN0LmtleXMoYXNzZXRzW3BvbGljeUlkXSkpIHtcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICAgICAgICB0b2tlbklkOiBnZXRDYXJkYW5vVG9rZW5JZChwb2xpY3lJZCwgYXNzZXROYW1lKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZnJvbTogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIENBUkRBTk9fQ0hBSU4pLFxuICAgICAgICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIHRvQ2hhaW4pLFxuICAgICAgICAgICAgICBhbW91bnQ6IGFzc2V0c1twb2xpY3lJZF1bYXNzZXROYW1lXS50b1N0cmluZygpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIEFEQVxuICAgIGNvbnN0IGxvdmVsYWNlID0gdGhpcy50b2tlbnMuc2VhcmNoKENBUkRBTk9fQ0hBSU4sIHtcbiAgICAgIHRva2VuSWQ6IENBUkRBTk9fTkFUSVZFX1RPS0VOLFxuICAgIH0pO1xuICAgIGlmIChsb3ZlbGFjZS5sZW5ndGggPiAwICYmIE9iamVjdC5oYXNPd24obG92ZWxhY2VbMF0sIHRvQ2hhaW4pKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKGxvdmVsYWNlWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBib3guYW1vdW50LmNvaW4sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYE5vIHJvc2VuIGFzc2V0IHRyYW5zZm9ybWF0aW9uIGZvdW5kIGZvciBib3ggd2l0aCBhc3NldHM6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoXG4gICAgICAgICAgYm94LmFtb3VudCxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -1,13 +1,13 @@
1
+ import { Transaction, TransactionOutput } from '@cardano-ogmios/schema';
1
2
  import { RosenData, TokenTransformation } from '../abstract/types';
2
3
  import AbstractRosenDataExtractor from '../abstract/abstractRosenDataExtractor';
3
- import { Transaction, TransactionOutput } from '@cardano-ogmios/schema';
4
4
  export declare class CardanoOgmiosRosenExtractor extends AbstractRosenDataExtractor<Transaction> {
5
5
  readonly chain = "cardano";
6
6
  /**
7
7
  * extracts RosenData from given lock transaction in Ogmios format
8
8
  * @param transaction the lock transaction in Koios format
9
9
  */
10
- extractRawData: (transaction: Transaction) => RosenData | undefined;
10
+ extractData: (transaction: Transaction) => RosenData | undefined;
11
11
  /**
12
12
  * extracts and builds token transformation from TxOut and tokenMap
13
13
  * @param box transaction output
@@ -1 +1 @@
1
- {"version":3,"file":"cardanoOgmiosRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoOgmiosRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAEL,WAAW,EACX,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAIhC,qBAAa,2BAA4B,SAAQ,0BAA0B,CAAC,WAAW,CAAC;IACtF,QAAQ,CAAC,KAAK,aAAiB;IAC/B;;;OAGG;IACH,cAAc,GAAI,aAAa,WAAW,KAAG,SAAS,GAAG,SAAS,CAuDhE;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,iBAAiB,EACtB,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAuChC;CACH"}
1
+ {"version":3,"file":"cardanoOgmiosRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoOgmiosRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAIhF,qBAAa,2BAA4B,SAAQ,0BAA0B,CAAC,WAAW,CAAC;IACtF,QAAQ,CAAC,KAAK,aAAiB;IAC/B;;;OAGG;IACH,WAAW,GAAI,aAAa,WAAW,KAAG,SAAS,GAAG,SAAS,CAuE7D;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,iBAAiB,EACtB,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAuChC;CACH"}
@@ -1,6 +1,7 @@
1
+ import JsonBigInt from '@rosen-bridge/json-bigint';
2
+ import * as wasm from '@emurgo/cardano-serialization-lib-nodejs';
1
3
  import AbstractRosenDataExtractor from '../abstract/abstractRosenDataExtractor';
2
4
  import { CARDANO_CHAIN, CARDANO_NATIVE_TOKEN } from '../const';
3
- import JsonBigInt from '@rosen-bridge/json-bigint';
4
5
  import { getCardanoTokenId, parseRosenData } from './utils';
5
6
  export class CardanoOgmiosRosenExtractor extends AbstractRosenDataExtractor {
6
7
  chain = CARDANO_CHAIN;
@@ -8,7 +9,7 @@ export class CardanoOgmiosRosenExtractor extends AbstractRosenDataExtractor {
8
9
  * extracts RosenData from given lock transaction in Ogmios format
9
10
  * @param transaction the lock transaction in Koios format
10
11
  */
11
- extractRawData = (transaction) => {
12
+ extractData = (transaction) => {
12
13
  const baseError = `No rosen data found for tx [${transaction.id}]`;
13
14
  const metadata = transaction.metadata;
14
15
  try {
@@ -22,14 +23,25 @@ export class CardanoOgmiosRosenExtractor extends AbstractRosenDataExtractor {
22
23
  for (const output of lockOutputs) {
23
24
  const assetTransformation = this.getAssetTransformation(output, rosenData.toChain);
24
25
  if (assetTransformation) {
26
+ let rawData = '';
27
+ if (this.storeRawData) {
28
+ if (!transaction.cbor) {
29
+ throw Error('Unable to extract raw-data, enable the transaction cbor in ogmios client (--include-cbor or --include-transaction-cbor) or turn off the raw data extraction');
30
+ }
31
+ rawData = wasm.Transaction.from_hex(transaction.cbor)
32
+ .auxiliary_data()
33
+ ?.metadata()
34
+ ?.to_hex();
35
+ if (!rawData)
36
+ throw new Error(`ImpossibleBehavior: Rosen data is successfully extracted for tx [${transaction.id}] but failed to get metadata from transaction CBOR`);
37
+ }
25
38
  return {
26
39
  ...rosenData,
27
40
  sourceChainTokenId: assetTransformation.from,
28
41
  amount: assetTransformation.amount,
29
42
  targetChainTokenId: assetTransformation.to,
30
43
  sourceTxId: transaction.id,
31
- // TODO: save rawData in CBOR (local:ergo/rosen-bridge/utils#293)
32
- rawData: JsonBigInt.stringify(data),
44
+ rawData: rawData,
33
45
  };
34
46
  }
35
47
  }
@@ -96,4 +108,4 @@ export class CardanoOgmiosRosenExtractor extends AbstractRosenDataExtractor {
96
108
  }
97
109
  };
98
110
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGFub09nbWlvc1Jvc2VuRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2dldFJvc2VuRGF0YS9jYXJkYW5vL2NhcmRhbm9PZ21pb3NSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFNL0QsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsMEJBQXVDO0lBQzdFLEtBQUssR0FBRyxhQUFhLENBQUM7SUFDL0I7OztPQUdHO0lBQ0gsY0FBYyxHQUFHLENBQUMsV0FBd0IsRUFBeUIsRUFBRTtRQUNuRSxNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLEVBQUUsR0FBRyxDQUFDO1FBQ25FLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDdEMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUM3QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBc0IsQ0FBQztvQkFDOUMsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2QyxJQUFJLFNBQVMsRUFBRSxDQUFDO3dCQUNkLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUM1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LGFBQWEsQ0FBQzt3QkFDaEQsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM7d0JBQ3hDLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFO3FCQUMvQyxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELCtDQUErQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDakQsT0FBTyxFQUFFLG9CQUFvQjtTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTztnQkFDTCxJQUFJLEVBQUUsb0JBQW9CO2dCQUMxQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztnQkFDM0MsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTthQUN2QyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixtRUFBbUUsVUFBVSxDQUFDLFNBQVMsQ0FDckYsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2pCLEVBQUUsQ0FDSixDQUFDO1lBQ0YsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhLCBUb2tlblRyYW5zZm9ybWF0aW9uIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L2Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IENBUkRBTk9fQ0hBSU4sIENBUkRBTk9fTkFUSVZFX1RPS0VOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IHtcbiAgT2JqZWN0Tm9TY2hlbWEsXG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbk91dHB1dCxcbn0gZnJvbSAnQGNhcmRhbm8tb2dtaW9zL3NjaGVtYSc7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IGdldENhcmRhbm9Ub2tlbklkLCBwYXJzZVJvc2VuRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2FyZGFub09nbWlvc1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgY2hhaW4gPSBDQVJEQU5PX0NIQUlOO1xuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBPZ21pb3MgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBLb2lvcyBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IFJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgYmFzZUVycm9yID0gYE5vIHJvc2VuIGRhdGEgZm91bmQgZm9yIHR4IFske3RyYW5zYWN0aW9uLmlkfV1gO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdHJhbnNhY3Rpb24ubWV0YWRhdGE7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgICBjb25zdCBibG9iID0gbWV0YWRhdGEubGFiZWxzO1xuICAgICAgICBpZiAoYmxvYiAmJiBibG9iWycwJ10gJiYgYmxvYlsnMCddLmpzb24pIHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gYmxvYlsnMCddLmpzb24gYXMgT2JqZWN0Tm9TY2hlbWE7XG4gICAgICAgICAgY29uc3Qgcm9zZW5EYXRhID0gcGFyc2VSb3NlbkRhdGEoZGF0YSk7XG4gICAgICAgICAgaWYgKHJvc2VuRGF0YSkge1xuICAgICAgICAgICAgY29uc3QgbG9ja091dHB1dHMgPSB0cmFuc2FjdGlvbi5vdXRwdXRzLmZpbHRlcihcbiAgICAgICAgICAgICAgKG91dHB1dCkgPT4gb3V0cHV0LmFkZHJlc3MgPT09IHRoaXMubG9ja0FkZHJlc3MsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZm9yIChjb25zdCBvdXRwdXQgb2YgbG9ja091dHB1dHMpIHtcbiAgICAgICAgICAgICAgY29uc3QgYXNzZXRUcmFuc2Zvcm1hdGlvbiA9IHRoaXMuZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbihcbiAgICAgICAgICAgICAgICBvdXRwdXQsXG4gICAgICAgICAgICAgICAgcm9zZW5EYXRhLnRvQ2hhaW4sXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmIChhc3NldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIC4uLnJvc2VuRGF0YSxcbiAgICAgICAgICAgICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi5mcm9tLFxuICAgICAgICAgICAgICAgICAgYW1vdW50OiBhc3NldFRyYW5zZm9ybWF0aW9uLmFtb3VudCxcbiAgICAgICAgICAgICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi50byxcbiAgICAgICAgICAgICAgICAgIHNvdXJjZVR4SWQ6IHRyYW5zYWN0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgLy8gVE9ETzogc2F2ZSByYXdEYXRhIGluIENCT1IgKGxvY2FsOmVyZ28vcm9zZW4tYnJpZGdlL3V0aWxzIzI5MylcbiAgICAgICAgICAgICAgICAgIHJhd0RhdGE6IEpzb25CaWdJbnQuc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBObyB2YWxpZCB0cmFuc2Zvcm1hdGlvbiBmb3VuZCBpbiBhbnkgb3V0cHV0IGJveGVzYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgICAgICBgOiBJbmNvbXBsZXRlIG1ldGFkYXRhOiAke0pzb25CaWdJbnQuc3RyaW5naWZ5KG1ldGFkYXRhKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBJbnZhbGlkIGJsb2I6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkobWV0YWRhdGEpfWAsXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBJbnZhbGlkIG1ldGFkYXRhOiAke0pzb25CaWdJbnQuc3RyaW5naWZ5KG1ldGFkYXRhKX1gLFxuICAgICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBDYXJkYW5vIHJvc2VuIGRhdGEgZnJvbSBPZ21pb3M6ICR7ZX1gLFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgYW5kIGJ1aWxkcyB0b2tlbiB0cmFuc2Zvcm1hdGlvbiBmcm9tIFR4T3V0IGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBUcmFuc2FjdGlvbk91dHB1dCxcbiAgICB0b0NoYWluOiBzdHJpbmcsXG4gICk6IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgYXNzZXRzXG4gICAgY29uc3QgYXNzZXRzID0gYm94LnZhbHVlO1xuICAgIGZvciAoY29uc3QgcG9saWN5SWQgb2YgT2JqZWN0LmtleXMoYXNzZXRzKSkge1xuICAgICAgaWYgKHBvbGljeUlkID09PSBDQVJEQU5PX05BVElWRV9UT0tFTikgY29udGludWU7XG4gICAgICAvLyBhY2NvcmRpbmcgdG8gb2dtaW9zIHY2IGRvY3MgYXNzZXRzIGFyZSBzdG9yZXMgYXNcbiAgICAgIC8vICAgICAgW3BvbGljeUlkXToge1thc3NldE5hbWVdOiBhbW91bnR9XG4gICAgICBmb3IgKGNvbnN0IGFzc2V0TmFtZSBvZiBPYmplY3Qua2V5cyhhc3NldHNbcG9saWN5SWRdKSkge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICAgICAgdG9rZW5JZDogZ2V0Q2FyZGFub1Rva2VuSWQocG9saWN5SWQsIGFzc2V0TmFtZSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmcm9tOiB0aGlzLnRva2Vucy5nZXRJRCh0b2tlblswXSwgQ0FSREFOT19DSEFJTiksXG4gICAgICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIHRvQ2hhaW4pLFxuICAgICAgICAgICAgYW1vdW50OiBhc3NldHNbcG9saWN5SWRdW2Fzc2V0TmFtZV0udG9TdHJpbmcoKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdHJ5IHRvIGJ1aWxkIHRyYW5zZm9ybWF0aW9uIHVzaW5nIGxvY2tlZCBBREFcbiAgICBjb25zdCBsb3ZlbGFjZSA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICB0b2tlbklkOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICB9KTtcbiAgICBpZiAobG92ZWxhY2UubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKGxvdmVsYWNlWzBdLCB0b0NoYWluKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZnJvbTogQ0FSREFOT19OQVRJVkVfVE9LRU4sXG4gICAgICAgIHRvOiB0aGlzLnRva2Vucy5nZXRJRChsb3ZlbGFjZVswXSwgdG9DaGFpbiksXG4gICAgICAgIGFtb3VudDogYXNzZXRzLmFkYS5sb3ZlbGFjZS50b1N0cmluZygpLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBObyByb3NlbiBhc3NldCB0cmFuc2Zvcm1hdGlvbiBmb3VuZCBmb3IgT2dtaW9zIGJveCB3aXRoIGFzc2V0czogJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICBib3gudmFsdWUuYXNzZXRzLFxuICAgICAgICApfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGFub09nbWlvc1Jvc2VuRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2dldFJvc2VuRGF0YS9jYXJkYW5vL2NhcmRhbm9PZ21pb3NSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLFVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEtBQUssSUFBSSxNQUFNLDBDQUEwQyxDQUFDO0FBRWpFLE9BQU8sMEJBQTBCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTVELE1BQU0sT0FBTywyQkFBNEIsU0FBUSwwQkFBdUM7SUFDN0UsS0FBSyxHQUFHLGFBQWEsQ0FBQztJQUMvQjs7O09BR0c7SUFDSCxXQUFXLEdBQUcsQ0FBQyxXQUF3QixFQUF5QixFQUFFO1FBQ2hFLE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsRUFBRSxHQUFHLENBQUM7UUFDbkUsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUN0QyxJQUFJLENBQUM7WUFDSCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQzdCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFzQixDQUFDO29CQUM5QyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3ZDLElBQUksU0FBUyxFQUFFLENBQUM7d0JBQ2QsTUFBTSxX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LENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztnQkFDM0MsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTthQUN2QyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixtRUFBbUUsVUFBVSxDQUFDLFNBQVMsQ0FDckYsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2pCLEVBQUUsQ0FDSixDQUFDO1lBQ0YsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgT2JqZWN0Tm9TY2hlbWEsXG4gIFRyYW5zYWN0aW9uLFxuICBUcmFuc2FjdGlvbk91dHB1dCxcbn0gZnJvbSAnQGNhcmRhbm8tb2dtaW9zL3NjaGVtYSc7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCAqIGFzIHdhc20gZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvYWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgQ0FSREFOT19DSEFJTiwgQ0FSREFOT19OQVRJVkVfVE9LRU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBnZXRDYXJkYW5vVG9rZW5JZCwgcGFyc2VSb3NlbkRhdGEgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIENhcmRhbm9PZ21pb3NSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPFRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gQ0FSREFOT19DSEFJTjtcbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gT2dtaW9zIGZvcm1hdFxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gdGhlIGxvY2sgdHJhbnNhY3Rpb24gaW4gS29pb3MgZm9ybWF0XG4gICAqL1xuICBleHRyYWN0RGF0YSA9ICh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dYDtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRyYW5zYWN0aW9uLm1ldGFkYXRhO1xuICAgIHRyeSB7XG4gICAgICBpZiAobWV0YWRhdGEpIHtcbiAgICAgICAgY29uc3QgYmxvYiA9IG1ldGFkYXRhLmxhYmVscztcbiAgICAgICAgaWYgKGJsb2IgJiYgYmxvYlsnMCddICYmIGJsb2JbJzAnXS5qc29uKSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IGJsb2JbJzAnXS5qc29uIGFzIE9iamVjdE5vU2NoZW1hO1xuICAgICAgICAgIGNvbnN0IHJvc2VuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKGRhdGEpO1xuICAgICAgICAgIGlmIChyb3NlbkRhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2tPdXRwdXRzID0gdHJhbnNhY3Rpb24ub3V0cHV0cy5maWx0ZXIoXG4gICAgICAgICAgICAgIChvdXRwdXQpID0+IG91dHB1dC5hZGRyZXNzID09PSB0aGlzLmxvY2tBZGRyZXNzLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIGxvY2tPdXRwdXRzKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGFzc2V0VHJhbnNmb3JtYXRpb24gPSB0aGlzLmdldEFzc2V0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgICAgICAgICAgb3V0cHV0LFxuICAgICAgICAgICAgICAgIHJvc2VuRGF0YS50b0NoYWluLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBpZiAoYXNzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgICAgICAgICAgICAgIGxldCByYXdEYXRhOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdG9yZVJhd0RhdGEpIHtcbiAgICAgICAgICAgICAgICAgIGlmICghdHJhbnNhY3Rpb24uY2Jvcikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAnVW5hYmxlIHRvIGV4dHJhY3QgcmF3LWRhdGEsIGVuYWJsZSB0aGUgdHJhbnNhY3Rpb24gY2JvciBpbiBvZ21pb3MgY2xpZW50ICgtLWluY2x1ZGUtY2JvciBvciAtLWluY2x1ZGUtdHJhbnNhY3Rpb24tY2Jvcikgb3IgdHVybiBvZmYgdGhlIHJhdyBkYXRhIGV4dHJhY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmF3RGF0YSA9IHdhc20uVHJhbnNhY3Rpb24uZnJvbV9oZXgodHJhbnNhY3Rpb24uY2JvcilcbiAgICAgICAgICAgICAgICAgICAgLmF1eGlsaWFyeV9kYXRhKClcbiAgICAgICAgICAgICAgICAgICAgPy5tZXRhZGF0YSgpXG4gICAgICAgICAgICAgICAgICAgID8udG9faGV4KCk7XG4gICAgICAgICAgICAgICAgICBpZiAoIXJhd0RhdGEpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICBgSW1wb3NzaWJsZUJlaGF2aW9yOiBSb3NlbiBkYXRhIGlzIHN1Y2Nlc3NmdWxseSBleHRyYWN0ZWQgZm9yIHR4IFske3RyYW5zYWN0aW9uLmlkfV0gYnV0IGZhaWxlZCB0byBnZXQgbWV0YWRhdGEgZnJvbSB0cmFuc2FjdGlvbiBDQk9SYCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4ucm9zZW5EYXRhLFxuICAgICAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLmZyb20sXG4gICAgICAgICAgICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLnRvLFxuICAgICAgICAgICAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgICAgICAgICByYXdEYXRhOiByYXdEYXRhLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBObyB2YWxpZCB0cmFuc2Zvcm1hdGlvbiBmb3VuZCBpbiBhbnkgb3V0cHV0IGJveGVzYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgICAgICBgOiBJbmNvbXBsZXRlIG1ldGFkYXRhOiAke0pzb25CaWdJbnQuc3RyaW5naWZ5KG1ldGFkYXRhKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBJbnZhbGlkIGJsb2I6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkobWV0YWRhdGEpfWAsXG4gICAgICAgICAgKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBiYXNlRXJyb3IgKyBgOiBJbnZhbGlkIG1ldGFkYXRhOiAke0pzb25CaWdJbnQuc3RyaW5naWZ5KG1ldGFkYXRhKX1gLFxuICAgICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBDYXJkYW5vIHJvc2VuIGRhdGEgZnJvbSBPZ21pb3M6ICR7ZX1gLFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgYW5kIGJ1aWxkcyB0b2tlbiB0cmFuc2Zvcm1hdGlvbiBmcm9tIFR4T3V0IGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBUcmFuc2FjdGlvbk91dHB1dCxcbiAgICB0b0NoYWluOiBzdHJpbmcsXG4gICk6IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIHRyeSB0byBidWlsZCB0cmFuc2Zvcm1hdGlvbiB1c2luZyBsb2NrZWQgYXNzZXRzXG4gICAgY29uc3QgYXNzZXRzID0gYm94LnZhbHVlO1xuICAgIGZvciAoY29uc3QgcG9saWN5SWQgb2YgT2JqZWN0LmtleXMoYXNzZXRzKSkge1xuICAgICAgaWYgKHBvbGljeUlkID09PSBDQVJEQU5PX05BVElWRV9UT0tFTikgY29udGludWU7XG4gICAgICAvLyBhY2NvcmRpbmcgdG8gb2dtaW9zIHY2IGRvY3MgYXNzZXRzIGFyZSBzdG9yZXMgYXNcbiAgICAgIC8vICAgICAgW3BvbGljeUlkXToge1thc3NldE5hbWVdOiBhbW91bnR9XG4gICAgICBmb3IgKGNvbnN0IGFzc2V0TmFtZSBvZiBPYmplY3Qua2V5cyhhc3NldHNbcG9saWN5SWRdKSkge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICAgICAgdG9rZW5JZDogZ2V0Q2FyZGFub1Rva2VuSWQocG9saWN5SWQsIGFzc2V0TmFtZSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmcm9tOiB0aGlzLnRva2Vucy5nZXRJRCh0b2tlblswXSwgQ0FSREFOT19DSEFJTiksXG4gICAgICAgICAgICB0bzogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIHRvQ2hhaW4pLFxuICAgICAgICAgICAgYW1vdW50OiBhc3NldHNbcG9saWN5SWRdW2Fzc2V0TmFtZV0udG9TdHJpbmcoKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdHJ5IHRvIGJ1aWxkIHRyYW5zZm9ybWF0aW9uIHVzaW5nIGxvY2tlZCBBREFcbiAgICBjb25zdCBsb3ZlbGFjZSA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICB0b2tlbklkOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICB9KTtcbiAgICBpZiAobG92ZWxhY2UubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKGxvdmVsYWNlWzBdLCB0b0NoYWluKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZnJvbTogQ0FSREFOT19OQVRJVkVfVE9LRU4sXG4gICAgICAgIHRvOiB0aGlzLnRva2Vucy5nZXRJRChsb3ZlbGFjZVswXSwgdG9DaGFpbiksXG4gICAgICAgIGFtb3VudDogYXNzZXRzLmFkYS5sb3ZlbGFjZS50b1N0cmluZygpLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBObyByb3NlbiBhc3NldCB0cmFuc2Zvcm1hdGlvbiBmb3VuZCBmb3IgT2dtaW9zIGJveCB3aXRoIGFzc2V0czogJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICBib3gudmFsdWUuYXNzZXRzLFxuICAgICAgICApfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -7,7 +7,7 @@ export declare class CardanoRosenExtractor extends AbstractRosenDataExtractor<st
7
7
  * extracts RosenData from given lock transaction in CardanoTx format
8
8
  * @param serializedTransaction stringified transaction in CardanoTx format
9
9
  */
10
- extractRawData: (serializedTransaction: string) => RosenData | undefined;
10
+ extractData: (serializedTransaction: string) => RosenData | undefined;
11
11
  /**
12
12
  * extracts and builds token transformation from CardanoBoxCandidate and tokenMap
13
13
  * @param box transaction output in CardanoBoxCandidate format
@@ -1 +1 @@
1
- {"version":3,"file":"cardanoRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAa,MAAM,SAAS,CAAC;AAKzD,qBAAa,qBAAsB,SAAQ,0BAA0B,CAAC,MAAM,CAAC;IAC3E,QAAQ,CAAC,KAAK,aAAiB;IAC/B;;;OAGG;IACH,cAAc,GAAI,uBAAuB,MAAM,KAAG,SAAS,GAAG,SAAS,CAmDrE;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,mBAAmB,EACxB,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAkChC;CACH"}
1
+ {"version":3,"file":"cardanoRosenExtractor.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/cardano/cardanoRosenExtractor.ts"],"names":[],"mappings":"AACA,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAa,MAAM,SAAS,CAAC;AAIzD,qBAAa,qBAAsB,SAAQ,0BAA0B,CAAC,MAAM,CAAC;IAC3E,QAAQ,CAAC,KAAK,aAAiB;IAC/B;;;OAGG;IACH,WAAW,GAAI,uBAAuB,MAAM,KAAG,SAAS,GAAG,SAAS,CAkDlE;IAEF;;;;OAIG;IACH,sBAAsB,GACpB,KAAK,mBAAmB,EACxB,SAAS,MAAM,KACd,mBAAmB,GAAG,SAAS,CAkChC;CACH"}