@rosen-bridge/rosen-extractor 6.2.2 → 7.0.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 (67) hide show
  1. package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts +15 -21
  2. package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts.map +1 -1
  3. package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.js +2 -3
  4. package/dist/lib/getRosenData/abstract/types.d.ts +13 -13
  5. package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts +16 -25
  6. package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +1 -1
  7. package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +2 -2
  8. package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts +16 -23
  9. package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +1 -1
  10. package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.js +2 -2
  11. package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts +16 -23
  12. package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts.map +1 -1
  13. package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.js +5 -4
  14. package/dist/lib/getRosenData/bitcoin/types.d.ts +66 -66
  15. package/dist/lib/getRosenData/bitcoin/utils.d.ts +1 -1
  16. package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts +13 -16
  17. package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +2 -2
  18. package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts +13 -16
  19. package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +2 -2
  20. package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts +13 -16
  21. package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.js +2 -2
  22. package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts +13 -16
  23. package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +2 -2
  24. package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts +13 -16
  25. package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.js +2 -2
  26. package/dist/lib/getRosenData/cardano/types.d.ts +90 -110
  27. package/dist/lib/getRosenData/cardano/utils.d.ts +8 -10
  28. package/dist/lib/getRosenData/const.d.ts +11 -9
  29. package/dist/lib/getRosenData/const.d.ts.map +1 -1
  30. package/dist/lib/getRosenData/const.js +6 -2
  31. package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.d.ts +22 -0
  32. package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.d.ts.map +1 -0
  33. package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.js +104 -0
  34. package/dist/lib/getRosenData/doge/DogeRosenExtractor.d.ts +22 -0
  35. package/dist/lib/getRosenData/doge/DogeRosenExtractor.d.ts.map +1 -0
  36. package/dist/lib/getRosenData/doge/DogeRosenExtractor.js +112 -0
  37. package/dist/lib/getRosenData/doge/types.d.ts +59 -0
  38. package/dist/lib/getRosenData/doge/types.d.ts.map +1 -0
  39. package/dist/lib/getRosenData/doge/types.js +2 -0
  40. package/dist/lib/getRosenData/doge/utils.d.ts +13 -0
  41. package/dist/lib/getRosenData/doge/utils.d.ts.map +1 -0
  42. package/dist/lib/getRosenData/doge/utils.js +58 -0
  43. package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts +16 -23
  44. package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +1 -1
  45. package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.js +3 -3
  46. package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts +10 -14
  47. package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts.map +1 -1
  48. package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.js +1 -1
  49. package/dist/lib/getRosenData/ergo/types.d.ts +24 -24
  50. package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts +10 -16
  51. package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts.map +1 -1
  52. package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.js +1 -1
  53. package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts +10 -16
  54. package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts.map +1 -1
  55. package/dist/lib/getRosenData/evm/EvmRosenExtractor.js +1 -1
  56. package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts +20 -26
  57. package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts.map +1 -1
  58. package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.js +3 -3
  59. package/dist/lib/getRosenData/evm/utils.d.ts +5 -5
  60. package/dist/lib/index.d.ts +3 -1
  61. package/dist/lib/index.d.ts.map +1 -1
  62. package/dist/lib/index.js +3 -1
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/package.json +2 -2
  65. package/dist/lib/getRosenData/Utils.d.ts +0 -59
  66. package/dist/lib/getRosenData/Utils.d.ts.map +0 -1
  67. package/dist/lib/getRosenData/Utils.js +0 -96
@@ -71,7 +71,7 @@ export class CardanoRosenExtractor extends AbstractRosenDataExtractor {
71
71
  }
72
72
  // try to build transformation using locked ADA
73
73
  const lovelace = this.tokens.search(CARDANO_CHAIN, {
74
- [this.tokens.getIdKey(CARDANO_CHAIN)]: CARDANO_NATIVE_TOKEN,
74
+ tokenId: CARDANO_NATIVE_TOKEN,
75
75
  });
76
76
  if (lovelace.length > 0 && Object.hasOwn(lovelace[0], toChain)) {
77
77
  return {
@@ -86,4 +86,4 @@ export class CardanoRosenExtractor extends AbstractRosenDataExtractor {
86
86
  }
87
87
  };
88
88
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZGFub1Jvc2VuRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2dldFJvc2VuRGF0YS9jYXJkYW5vL0NhcmRhbm9Sb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBR2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsMEJBQWtDO0lBQ2xFLEtBQUssR0FBRyxhQUFhLENBQUM7SUFDL0I7OztPQUdHO0lBQ0gsY0FBYyxHQUFHLENBQUMscUJBQTZCLEVBQXlCLEVBQUU7UUFDeEUsSUFBSSxXQUFzQixDQUFDO1FBQzNCLElBQUk7WUFDRixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3ZEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUNiLHFGQUFxRixDQUFDLEVBQUUsQ0FDekYsQ0FBQztTQUNIO1FBQ0QsSUFBSTtZQUNGLE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDbkUsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLFNBQVMsRUFBRTtnQkFDYixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDNUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFD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QU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTthQUM3QixDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLDRFQUE0RSxVQUFVLENBQUMsU0FBUyxDQUM5RixHQUFHLENBQUMsTUFBTSxDQUNYLEVBQUUsQ0FDSixDQUFDO1lBQ0YsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvciBmcm9tICcuLi9hYnN0cmFjdC9BYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3Rvcic7XG5pbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgeyBDYXJkYW5vQm94Q2FuZGlkYXRlLCBDYXJkYW5vVHggfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IENBUkRBTk9fQ0hBSU4sIENBUkRBTk9fTkFUSVZFX1RPS0VOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IEpzb25CaWdJbnQgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQgeyBwYXJzZVJvc2VuRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2FyZGFub1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8c3RyaW5nPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gQ0FSREFOT19DSEFJTjtcbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gQ2FyZGFub1R4IGZvcm1hdFxuICAgKiBAcGFyYW0gc2VyaWFsaXplZFRyYW5zYWN0aW9uIHN0cmluZ2lmaWVkIHRyYW5zYWN0aW9uIGluIENhcmRhbm9UeCBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbjogc3RyaW5nKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IENhcmRhbm9UeDtcbiAgICB0cnkge1xuICAgICAgdHJhbnNhY3Rpb24gPSBKc29uQmlnSW50LnBhcnNlKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGpzb24gdG8gQ2FyZGFub1R4IGZvcm1hdCB3aGlsZSBleHRyYWN0aW5nIHJvc2VuIGRhdGE6ICR7ZX1gXG4gICAgICApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgYmFzZUVycm9yID0gYE5vIHJvc2VuIGRhdGEgZm91bmQgZm9yIHR4IFske3RyYW5zYWN0aW9uLmlkfV1gO1xuICAgICAgY29uc3QgZGF0YSA9IHRyYW5zYWN0aW9uLm1ldGFkYXRhPy5bJzAnXTtcbiAgICAgIGNvbnN0IHJvc2VuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKGRhdGEpO1xuICAgICAgaWYgKHJvc2VuRGF0YSkge1xuICAgICAgICBjb25zdCBsb2NrT3V0cHV0cyA9IHRyYW5zYWN0aW9uLm91dHB1dHMuZmlsdGVyKFxuICAgICAgICAgIChvdXRwdXQpID0+IG91dHB1dC5hZGRyZXNzID09PSB0aGlzLmxvY2tBZGRyZXNzXG4gICAgICAgICk7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIGxvY2tPdXRwdXRzKSB7XG4gICAgICAgICAgY29uc3QgYXNzZXRUcmFuc2Zvcm1hdGlvbiA9IHRoaXMuZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbihcbiAgICAgICAgICAgIG91dHB1dCxcbiAgICAgICAgICAgIHJvc2VuRGF0YS50b0NoYWluXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoYXNzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4ucm9zZW5EYXRhLFxuICAgICAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uZnJvbSxcbiAgICAgICAgICAgICAgYW1vdW50OiBhc3NldFRyYW5zZm9ybWF0aW9uLmFtb3VudCxcbiAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLnRvLFxuICAgICAgICAgICAgICBzb3VyY2VUeElkOiB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IE5vIHZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kIGluIGFueSBvdXRwdXQgYm94ZXNgXG4gICAgICAgICk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgIGA6IEluY29tcGxldGUgbWV0YWRhdGE6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoXG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLm1ldGFkYXRhXG4gICAgICAgICAgICApfWBcbiAgICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXh0cmFjdGluZyByb3NlbiBkYXRhOiAke2V9YCk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIGFuZCBidWlsZHMgdG9rZW4gdHJhbnNmb3JtYXRpb24gZnJvbSBDYXJkYW5vQm94Q2FuZGlkYXRlIGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dCBpbiBDYXJkYW5vQm94Q2FuZGlkYXRlIGZvcm1hdFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBDYXJkYW5vQm94Q2FuZGlkYXRlLFxuICAgIHRvQ2hhaW46IHN0cmluZ1xuICApOiBUb2tlblRyYW5zZm9ybWF0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIGFzc2V0c1xuICAgIGlmIChib3guYXNzZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3QgYXNzZXQgb2YgYm94LmFzc2V0cykge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICAgICAgYXNzZXROYW1lOiBhc3NldC5hc3NldF9uYW1lLFxuICAgICAgICAgIHBvbGljeUlkOiBhc3NldC5wb2xpY3lfaWQsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZnJvbTogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIENBUkRBTk9fQ0hBSU4pLFxuICAgICAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCB0b0NoYWluKSxcbiAgICAgICAgICAgIGFtb3VudDogYXNzZXQucXVhbnRpdHksXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIEFEQVxuICAgIGNvbnN0IGxvdmVsYWNlID0gdGhpcy50b2tlbnMuc2VhcmNoKENBUkRBTk9fQ0hBSU4sIHtcbiAgICAgIFt0aGlzLnRva2Vucy5nZXRJZEtleShDQVJEQU5PX0NIQUlOKV06IENBUkRBTk9fTkFUSVZFX1RPS0VOLFxuICAgIH0pO1xuICAgIGlmIChsb3ZlbGFjZS5sZW5ndGggPiAwICYmIE9iamVjdC5oYXNPd24obG92ZWxhY2VbMF0sIHRvQ2hhaW4pKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKGxvdmVsYWNlWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBib3gudmFsdWUudG9TdHJpbmcoKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgTm8gcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb24gZm91bmQgZm9yIENhcmRhbm9Cb3hDYW5kaWRhdGUgd2l0aCBhc3NldHM6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoXG4gICAgICAgICAgYm94LmFzc2V0c1xuICAgICAgICApfWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZGFub1Jvc2VuRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2dldFJvc2VuRGF0YS9jYXJkYW5vL0NhcmRhbm9Sb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBR2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsMEJBQWtDO0lBQ2xFLEtBQUssR0FBRyxhQUFhLENBQUM7SUFDL0I7OztPQUdHO0lBQ0gsY0FBYyxHQUFHLENBQUMscUJBQTZCLEVBQXlCLEVBQUU7UUFDeEUsSUFBSSxXQUFzQixDQUFDO1FBQzNCLElBQUk7WUFDRixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3ZEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUNiLHFGQUFxRixDQUFDLEVBQUUsQ0FDekYsQ0FBQztTQUNIO1FBQ0QsSUFBSTtZQUNGLE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDbkUsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLFNBQVMsRUFBRTtnQkFDYixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDNUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFD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QUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLDRFQUE0RSxVQUFVLENBQUMsU0FBUyxDQUM5RixHQUFHLENBQUMsTUFBTSxDQUNYLEVBQUUsQ0FDSixDQUFDO1lBQ0YsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvciBmcm9tICcuLi9hYnN0cmFjdC9BYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3Rvcic7XG5pbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgeyBDYXJkYW5vQm94Q2FuZGlkYXRlLCBDYXJkYW5vVHggfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IENBUkRBTk9fQ0hBSU4sIENBUkRBTk9fTkFUSVZFX1RPS0VOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IEpzb25CaWdJbnQgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQgeyBwYXJzZVJvc2VuRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2FyZGFub1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8c3RyaW5nPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gQ0FSREFOT19DSEFJTjtcbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gQ2FyZGFub1R4IGZvcm1hdFxuICAgKiBAcGFyYW0gc2VyaWFsaXplZFRyYW5zYWN0aW9uIHN0cmluZ2lmaWVkIHRyYW5zYWN0aW9uIGluIENhcmRhbm9UeCBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbjogc3RyaW5nKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IENhcmRhbm9UeDtcbiAgICB0cnkge1xuICAgICAgdHJhbnNhY3Rpb24gPSBKc29uQmlnSW50LnBhcnNlKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGpzb24gdG8gQ2FyZGFub1R4IGZvcm1hdCB3aGlsZSBleHRyYWN0aW5nIHJvc2VuIGRhdGE6ICR7ZX1gXG4gICAgICApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgYmFzZUVycm9yID0gYE5vIHJvc2VuIGRhdGEgZm91bmQgZm9yIHR4IFske3RyYW5zYWN0aW9uLmlkfV1gO1xuICAgICAgY29uc3QgZGF0YSA9IHRyYW5zYWN0aW9uLm1ldGFkYXRhPy5bJzAnXTtcbiAgICAgIGNvbnN0IHJvc2VuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKGRhdGEpO1xuICAgICAgaWYgKHJvc2VuRGF0YSkge1xuICAgICAgICBjb25zdCBsb2NrT3V0cHV0cyA9IHRyYW5zYWN0aW9uLm91dHB1dHMuZmlsdGVyKFxuICAgICAgICAgIChvdXRwdXQpID0+IG91dHB1dC5hZGRyZXNzID09PSB0aGlzLmxvY2tBZGRyZXNzXG4gICAgICAgICk7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIGxvY2tPdXRwdXRzKSB7XG4gICAgICAgICAgY29uc3QgYXNzZXRUcmFuc2Zvcm1hdGlvbiA9IHRoaXMuZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbihcbiAgICAgICAgICAgIG91dHB1dCxcbiAgICAgICAgICAgIHJvc2VuRGF0YS50b0NoYWluXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoYXNzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4ucm9zZW5EYXRhLFxuICAgICAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uZnJvbSxcbiAgICAgICAgICAgICAgYW1vdW50OiBhc3NldFRyYW5zZm9ybWF0aW9uLmFtb3VudCxcbiAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBhc3NldFRyYW5zZm9ybWF0aW9uLnRvLFxuICAgICAgICAgICAgICBzb3VyY2VUeElkOiB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IE5vIHZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kIGluIGFueSBvdXRwdXQgYm94ZXNgXG4gICAgICAgICk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgIGA6IEluY29tcGxldGUgbWV0YWRhdGE6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoXG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLm1ldGFkYXRhXG4gICAgICAgICAgICApfWBcbiAgICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXh0cmFjdGluZyByb3NlbiBkYXRhOiAke2V9YCk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIGFuZCBidWlsZHMgdG9rZW4gdHJhbnNmb3JtYXRpb24gZnJvbSBDYXJkYW5vQm94Q2FuZGlkYXRlIGFuZCB0b2tlbk1hcFxuICAgKiBAcGFyYW0gYm94IHRyYW5zYWN0aW9uIG91dHB1dCBpbiBDYXJkYW5vQm94Q2FuZGlkYXRlIGZvcm1hdFxuICAgKiBAcGFyYW0gdG9DaGFpbiBldmVudCB0YXJnZXQgY2hhaW5cbiAgICovXG4gIGdldEFzc2V0VHJhbnNmb3JtYXRpb24gPSAoXG4gICAgYm94OiBDYXJkYW5vQm94Q2FuZGlkYXRlLFxuICAgIHRvQ2hhaW46IHN0cmluZ1xuICApOiBUb2tlblRyYW5zZm9ybWF0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIGFzc2V0c1xuICAgIGlmIChib3guYXNzZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3QgYXNzZXQgb2YgYm94LmFzc2V0cykge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLnNlYXJjaChDQVJEQU5PX0NIQUlOLCB7XG4gICAgICAgICAgYXNzZXROYW1lOiBhc3NldC5hc3NldF9uYW1lLFxuICAgICAgICAgIHBvbGljeUlkOiBhc3NldC5wb2xpY3lfaWQsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodG9rZW4ubGVuZ3RoID4gMCAmJiBPYmplY3QuaGFzT3duKHRva2VuWzBdLCB0b0NoYWluKSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZnJvbTogdGhpcy50b2tlbnMuZ2V0SUQodG9rZW5bMF0sIENBUkRBTk9fQ0hBSU4pLFxuICAgICAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHRva2VuWzBdLCB0b0NoYWluKSxcbiAgICAgICAgICAgIGFtb3VudDogYXNzZXQucXVhbnRpdHksXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0cnkgdG8gYnVpbGQgdHJhbnNmb3JtYXRpb24gdXNpbmcgbG9ja2VkIEFEQVxuICAgIGNvbnN0IGxvdmVsYWNlID0gdGhpcy50b2tlbnMuc2VhcmNoKENBUkRBTk9fQ0hBSU4sIHtcbiAgICAgIHRva2VuSWQ6IENBUkRBTk9fTkFUSVZFX1RPS0VOLFxuICAgIH0pO1xuICAgIGlmIChsb3ZlbGFjZS5sZW5ndGggPiAwICYmIE9iamVjdC5oYXNPd24obG92ZWxhY2VbMF0sIHRvQ2hhaW4pKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBDQVJEQU5PX05BVElWRV9UT0tFTixcbiAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKGxvdmVsYWNlWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBib3gudmFsdWUudG9TdHJpbmcoKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgTm8gcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb24gZm91bmQgZm9yIENhcmRhbm9Cb3hDYW5kaWRhdGUgd2l0aCBhc3NldHM6ICR7SnNvbkJpZ0ludC5zdHJpbmdpZnkoXG4gICAgICAgICAgYm94LmFzc2V0c1xuICAgICAgICApfWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -1,146 +1,126 @@
1
1
  import { components } from '@blockfrost/openapi';
2
2
  interface PaymentAddr {
3
- bech32: string;
4
- cred: string;
3
+ bech32: string;
4
+ cred: string;
5
5
  }
6
6
  interface Asset {
7
- policy_id: string;
8
- asset_name: string;
9
- quantity: string;
7
+ policy_id: string;
8
+ asset_name: string;
9
+ quantity: string;
10
10
  }
11
11
  interface Utxo {
12
- payment_addr: PaymentAddr;
13
- stake_addr?: string | null;
14
- tx_hash: string;
15
- tx_index: number;
16
- value: string;
17
- asset_list: Array<Asset>;
12
+ payment_addr: PaymentAddr;
13
+ stake_addr?: string | null;
14
+ tx_hash: string;
15
+ tx_index: number;
16
+ value: string;
17
+ asset_list: Array<Asset>;
18
18
  }
19
19
  interface Metadata {
20
- [key: string]: Record<string, unknown>;
20
+ [key: string]: Record<string, unknown>;
21
21
  }
22
22
  interface KoiosTransaction {
23
- tx_hash: string;
24
- block_hash: string;
25
- inputs: Array<Utxo>;
26
- outputs: Array<Utxo>;
27
- metadata?: Metadata;
23
+ tx_hash: string;
24
+ block_hash: string;
25
+ inputs: Array<Utxo>;
26
+ outputs: Array<Utxo>;
27
+ metadata?: Metadata;
28
28
  }
29
29
  interface CardanoRosenData {
30
- toChain: string;
31
- toAddress: string;
32
- bridgeFee: string;
33
- networkFee: string;
34
- fromAddress: string;
30
+ toChain: string;
31
+ toAddress: string;
32
+ bridgeFee: string;
33
+ networkFee: string;
34
+ fromAddress: string;
35
35
  }
36
36
  interface CardanoMetadataRosenData {
37
- to: string;
38
- networkFee: string;
39
- bridgeFee: string;
40
- toAddress: string;
41
- fromAddress: string[];
37
+ to: string;
38
+ networkFee: string;
39
+ bridgeFee: string;
40
+ toAddress: string;
41
+ fromAddress: string[];
42
42
  }
43
43
  type ListObject = Array<MetadataObject>;
44
44
  type NativeValue = string | undefined;
45
45
  interface JsonObject {
46
- [key: string]: MetadataObject;
46
+ [key: string]: MetadataObject;
47
47
  }
48
48
  type MetadataObject = JsonObject | ListObject | NativeValue;
49
49
  interface CardanoAsset {
50
- policy_id: string;
51
- asset_name: string;
52
- quantity: string;
50
+ policy_id: string;
51
+ asset_name: string;
52
+ quantity: string;
53
53
  }
54
54
  interface CardanoUtxo {
55
- txId: string;
56
- index: number;
57
- value: bigint;
58
- assets: Array<CardanoAsset>;
55
+ txId: string;
56
+ index: number;
57
+ value: bigint;
58
+ assets: Array<CardanoAsset>;
59
59
  }
60
60
  interface CardanoBoxCandidate {
61
- address: string;
62
- value: bigint;
63
- assets: Array<CardanoAsset>;
61
+ address: string;
62
+ value: bigint;
63
+ assets: Array<CardanoAsset>;
64
64
  }
65
65
  type CardanoMetadata = Record<string, string | Record<string, any>>;
66
66
  interface CardanoTx {
67
- id: string;
68
- inputs: CardanoUtxo[];
69
- outputs: CardanoBoxCandidate[];
70
- fee: bigint;
71
- metadata?: CardanoMetadata;
67
+ id: string;
68
+ inputs: CardanoUtxo[];
69
+ outputs: CardanoBoxCandidate[];
70
+ fee: bigint;
71
+ metadata?: CardanoMetadata;
72
72
  }
73
73
  interface BlockFrostTransaction {
74
- utxos: components['schemas']['tx_content_utxo'];
75
- metadata: components['schemas']['tx_content_metadata'];
74
+ utxos: components['schemas']['tx_content_utxo'];
75
+ metadata: components['schemas']['tx_content_metadata'];
76
76
  }
77
- type BlockFrostOutputBox =
78
- components['schemas']['tx_content_utxo']['outputs'][0];
77
+ type BlockFrostOutputBox = components['schemas']['tx_content_utxo']['outputs'][0];
79
78
  type GraphQLBlockTxsQuery = {
80
- __typename?: 'Query';
81
- blocks: Array<{
82
- __typename?: 'Block';
83
- transactions: Array<{
84
- __typename?: 'Transaction';
85
- hash: any;
86
- fee: any;
87
- inputs: Array<{
88
- __typename?: 'TransactionInput';
89
- sourceTxIndex: number;
90
- sourceTxHash: any;
91
- value: any;
92
- tokens: Array<{
93
- __typename?: 'Token';
94
- quantity: string;
95
- asset: {
96
- __typename?: 'Asset';
97
- assetName?: any | null;
98
- policyId: any;
99
- };
79
+ __typename?: 'Query';
80
+ blocks: Array<{
81
+ __typename?: 'Block';
82
+ transactions: Array<{
83
+ __typename?: 'Transaction';
84
+ hash: any;
85
+ fee: any;
86
+ inputs: Array<{
87
+ __typename?: 'TransactionInput';
88
+ sourceTxIndex: number;
89
+ sourceTxHash: any;
90
+ value: any;
91
+ tokens: Array<{
92
+ __typename?: 'Token';
93
+ quantity: string;
94
+ asset: {
95
+ __typename?: 'Asset';
96
+ assetName?: any | null;
97
+ policyId: any;
98
+ };
99
+ } | null>;
100
+ }>;
101
+ outputs: Array<{
102
+ __typename?: 'TransactionOutput';
103
+ address: string;
104
+ value: any;
105
+ tokens: Array<{
106
+ __typename?: 'Token';
107
+ quantity: string;
108
+ asset: {
109
+ __typename?: 'Asset';
110
+ assetName?: any | null;
111
+ policyId: any;
112
+ };
113
+ }>;
114
+ } | null>;
115
+ metadata?: Array<{
116
+ __typename?: 'TransactionMetadata';
117
+ key: string;
118
+ value: any;
119
+ } | null> | null;
100
120
  } | null>;
101
- }>;
102
- outputs: Array<{
103
- __typename?: 'TransactionOutput';
104
- address: string;
105
- value: any;
106
- tokens: Array<{
107
- __typename?: 'Token';
108
- quantity: string;
109
- asset: {
110
- __typename?: 'Asset';
111
- assetName?: any | null;
112
- policyId: any;
113
- };
114
- }>;
115
- } | null>;
116
- metadata?: Array<{
117
- __typename?: 'TransactionMetadata';
118
- key: string;
119
- value: any;
120
- } | null> | null;
121
121
  } | null>;
122
- } | null>;
123
122
  };
124
- type GraphQLTransaction = NonNullable<
125
- NonNullable<GraphQLBlockTxsQuery['blocks'][0]>['transactions'][0]
126
- >;
123
+ type GraphQLTransaction = NonNullable<NonNullable<GraphQLBlockTxsQuery['blocks'][0]>['transactions'][0]>;
127
124
  type GraphQLTxOutput = NonNullable<GraphQLTransaction['outputs'][0]>;
128
- export {
129
- Utxo,
130
- KoiosTransaction,
131
- CardanoRosenData,
132
- CardanoMetadataRosenData,
133
- Metadata,
134
- MetadataObject,
135
- JsonObject,
136
- ListObject,
137
- NativeValue,
138
- CardanoMetadata,
139
- CardanoTx,
140
- CardanoBoxCandidate,
141
- BlockFrostTransaction,
142
- BlockFrostOutputBox,
143
- GraphQLTransaction,
144
- GraphQLTxOutput,
145
- };
146
- //# sourceMappingURL=types.d.ts.map
125
+ export { Utxo, KoiosTransaction, CardanoRosenData, CardanoMetadataRosenData, Metadata, MetadataObject, JsonObject, ListObject, NativeValue, CardanoMetadata, CardanoTx, CardanoBoxCandidate, BlockFrostTransaction, BlockFrostOutputBox, GraphQLTransaction, GraphQLTxOutput, };
126
+ //# sourceMappingURL=types.d.ts.map
@@ -3,13 +3,11 @@
3
3
  * @param data
4
4
  * @returns Rosen data or undefined if metadata is invalid
5
5
  */
6
- export declare const parseRosenData: (data: any) =>
7
- | {
8
- toChain: any;
9
- toAddress: any;
10
- bridgeFee: any;
11
- networkFee: any;
12
- fromAddress: any;
13
- }
14
- | undefined;
15
- //# sourceMappingURL=utils.d.ts.map
6
+ export declare const parseRosenData: (data: any) => {
7
+ toChain: any;
8
+ toAddress: any;
9
+ bridgeFee: any;
10
+ networkFee: any;
11
+ fromAddress: any;
12
+ } | undefined;
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -1,10 +1,12 @@
1
- export declare const CARDANO_NATIVE_TOKEN = 'ada';
2
- export declare const ERGO_NATIVE_TOKEN = 'erg';
3
- export declare const BITCOIN_NATIVE_TOKEN = 'btc';
4
- export declare const BITCOIN_CHAIN = 'bitcoin';
5
- export declare const ETHEREUM_CHAIN = 'ethereum';
6
- export declare const ETHEREUM_NATIVE_TOKEN = 'eth';
7
- export declare const CARDANO_CHAIN = 'cardano';
8
- export declare const ERGO_CHAIN = 'ergo';
1
+ export declare const CARDANO_NATIVE_TOKEN = "ada";
2
+ export declare const ERGO_NATIVE_TOKEN = "erg";
3
+ export declare const BITCOIN_NATIVE_TOKEN = "btc";
4
+ export declare const BITCOIN_CHAIN = "bitcoin";
5
+ export declare const ETHEREUM_CHAIN = "ethereum";
6
+ export declare const BINANCE_CHAIN = "binance";
7
+ export declare const CARDANO_CHAIN = "cardano";
8
+ export declare const ERGO_CHAIN = "ergo";
9
+ export declare const DOGE_CHAIN = "doge";
10
+ export declare const DOGE_NATIVE_TOKEN = "doge";
9
11
  export declare const SUPPORTED_CHAINS: string[];
10
- //# sourceMappingURL=const.d.ts.map
12
+ //# sourceMappingURL=const.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,gBAAgB,UAK5B,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,gBAAgB,UAO5B,CAAC"}
@@ -3,13 +3,17 @@ export const ERGO_NATIVE_TOKEN = 'erg';
3
3
  export const BITCOIN_NATIVE_TOKEN = 'btc';
4
4
  export const BITCOIN_CHAIN = 'bitcoin';
5
5
  export const ETHEREUM_CHAIN = 'ethereum';
6
- export const ETHEREUM_NATIVE_TOKEN = 'eth';
6
+ export const BINANCE_CHAIN = 'binance';
7
7
  export const CARDANO_CHAIN = 'cardano';
8
8
  export const ERGO_CHAIN = 'ergo';
9
+ export const DOGE_CHAIN = 'doge';
10
+ export const DOGE_NATIVE_TOKEN = 'doge';
9
11
  export const SUPPORTED_CHAINS = [
10
12
  ERGO_CHAIN,
11
13
  CARDANO_CHAIN,
12
14
  BITCOIN_CHAIN,
13
15
  ETHEREUM_CHAIN,
16
+ BINANCE_CHAIN,
17
+ DOGE_CHAIN,
14
18
  ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2NvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLFVBQVU7SUFDVixhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENBUkRBTk9fTkFUSVZFX1RPS0VOID0gJ2FkYSc7XG5leHBvcnQgY29uc3QgRVJHT19OQVRJVkVfVE9LRU4gPSAnZXJnJztcbmV4cG9ydCBjb25zdCBCSVRDT0lOX05BVElWRV9UT0tFTiA9ICdidGMnO1xuZXhwb3J0IGNvbnN0IEJJVENPSU5fQ0hBSU4gPSAnYml0Y29pbic7XG5leHBvcnQgY29uc3QgRVRIRVJFVU1fQ0hBSU4gPSAnZXRoZXJldW0nO1xuZXhwb3J0IGNvbnN0IEVUSEVSRVVNX05BVElWRV9UT0tFTiA9ICdldGgnO1xuZXhwb3J0IGNvbnN0IENBUkRBTk9fQ0hBSU4gPSAnY2FyZGFubyc7XG5leHBvcnQgY29uc3QgRVJHT19DSEFJTiA9ICdlcmdvJztcbmV4cG9ydCBjb25zdCBTVVBQT1JURURfQ0hBSU5TID0gW1xuICBFUkdPX0NIQUlOLFxuICBDQVJEQU5PX0NIQUlOLFxuICBCSVRDT0lOX0NIQUlOLFxuICBFVEhFUkVVTV9DSEFJTixcbl07XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2NvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixVQUFVO0lBQ1YsYUFBYTtJQUNiLGFBQWE7SUFDYixjQUFjO0lBQ2QsYUFBYTtJQUNiLFVBQVU7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENBUkRBTk9fTkFUSVZFX1RPS0VOID0gJ2FkYSc7XG5leHBvcnQgY29uc3QgRVJHT19OQVRJVkVfVE9LRU4gPSAnZXJnJztcbmV4cG9ydCBjb25zdCBCSVRDT0lOX05BVElWRV9UT0tFTiA9ICdidGMnO1xuZXhwb3J0IGNvbnN0IEJJVENPSU5fQ0hBSU4gPSAnYml0Y29pbic7XG5leHBvcnQgY29uc3QgRVRIRVJFVU1fQ0hBSU4gPSAnZXRoZXJldW0nO1xuZXhwb3J0IGNvbnN0IEJJTkFOQ0VfQ0hBSU4gPSAnYmluYW5jZSc7XG5leHBvcnQgY29uc3QgQ0FSREFOT19DSEFJTiA9ICdjYXJkYW5vJztcbmV4cG9ydCBjb25zdCBFUkdPX0NIQUlOID0gJ2VyZ28nO1xuZXhwb3J0IGNvbnN0IERPR0VfQ0hBSU4gPSAnZG9nZSc7XG5leHBvcnQgY29uc3QgRE9HRV9OQVRJVkVfVE9LRU4gPSAnZG9nZSc7XG5leHBvcnQgY29uc3QgU1VQUE9SVEVEX0NIQUlOUyA9IFtcbiAgRVJHT19DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgQklUQ09JTl9DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG4gIEJJTkFOQ0VfQ0hBSU4sXG4gIERPR0VfQ0hBSU4sXG5dO1xuIl19
@@ -0,0 +1,22 @@
1
+ import { RosenData, TokenTransformation } from '../abstract/types';
2
+ import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
3
+ import { DogeEsploraTransaction, EsploraTxOutput } from './types';
4
+ import { TokenMap } from '@rosen-bridge/tokens';
5
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
6
+ export declare class DogeEsploraRosenExtractor extends AbstractRosenDataExtractor<DogeEsploraTransaction> {
7
+ readonly chain = "doge";
8
+ protected lockScriptPubKey: string;
9
+ constructor(lockAddress: string, tokens: TokenMap, logger?: AbstractLogger);
10
+ /**
11
+ * extracts RosenData from given lock transaction in Esplora format
12
+ * @param transaction the lock transaction in Esplora format
13
+ */
14
+ extractRawData: (transaction: DogeEsploraTransaction) => RosenData | undefined;
15
+ /**
16
+ * extracts and builds token transformation from UTXO and tokenMap
17
+ * @param box transaction output
18
+ * @param toChain event target chain
19
+ */
20
+ getAssetTransformation: (box: EsploraTxOutput, toChain: string) => TokenTransformation | undefined;
21
+ }
22
+ //# sourceMappingURL=DogeEsploraRosenExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DogeEsploraRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/doge/DogeEsploraRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,yBAA0B,SAAQ,0BAA0B,CAAC,sBAAsB,CAAC;IAC/F,QAAQ,CAAC,KAAK,UAAc;IAC5B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAK1E;;;OAGG;IACH,cAAc,gBACC,sBAAsB,KAClC,SAAS,GAAG,SAAS,CA6EtB;IAEF;;;;OAIG;IACH,sBAAsB,QACf,eAAe,WACX,MAAM,KACd,mBAAmB,GAAG,SAAS,CAehC;CACH"}
@@ -0,0 +1,104 @@
1
+ import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
2
+ import { DOGE_CHAIN, DOGE_NATIVE_TOKEN } from '../const';
3
+ import { parseRosenData, addressToOutputScript } from './utils';
4
+ export class DogeEsploraRosenExtractor extends AbstractRosenDataExtractor {
5
+ chain = DOGE_CHAIN;
6
+ lockScriptPubKey;
7
+ constructor(lockAddress, tokens, logger) {
8
+ super(lockAddress, tokens, logger);
9
+ this.lockScriptPubKey = addressToOutputScript(lockAddress);
10
+ }
11
+ /**
12
+ * extracts RosenData from given lock transaction in Esplora format
13
+ * @param transaction the lock transaction in Esplora format
14
+ */
15
+ extractRawData = (transaction) => {
16
+ const baseError = `No rosen data found for tx [${transaction.txid}]`;
17
+ try {
18
+ const outputs = transaction.vout;
19
+ if (outputs.length < 2) {
20
+ this.logger.debug(baseError + `: Insufficient number of boxes`);
21
+ return undefined;
22
+ }
23
+ let validData = false; // an OP_RETURN box with valid data is found
24
+ let validLock = false; // a lock box is found with available asset transformation
25
+ // parse rosen data from OP_RETURN box
26
+ let opReturnData;
27
+ for (let i = 0; i < outputs.length; i++) {
28
+ const output = outputs[i];
29
+ if (output.scriptpubkey.slice(0, 2) !== '6a')
30
+ continue; // not an OP_RETURN utxo
31
+ try {
32
+ opReturnData = parseRosenData(output.scriptpubkey);
33
+ validData = true;
34
+ break;
35
+ }
36
+ catch (e) {
37
+ this.logger.debug(`Failed to extract data from OP_RETURN box [${transaction.txid}.${i}]: ${e}`);
38
+ }
39
+ }
40
+ if (!validData || !opReturnData) {
41
+ this.logger.debug(baseError + `: No OP_RETURN box with valid data is found`);
42
+ return undefined;
43
+ }
44
+ // find target chain token id
45
+ let assetTransformation;
46
+ for (let i = 0; i < outputs.length; i++) {
47
+ const output = outputs[i];
48
+ if (output.scriptpubkey !== this.lockScriptPubKey)
49
+ continue; // utxo address is not lock address
50
+ assetTransformation = this.getAssetTransformation(output, opReturnData.toChain);
51
+ if (assetTransformation) {
52
+ validLock = true;
53
+ break;
54
+ }
55
+ }
56
+ if (!validLock || !assetTransformation) {
57
+ this.logger.debug(baseError + `: Failed to find rosen asset transformation`);
58
+ return undefined;
59
+ }
60
+ const fromAddress = `box:${transaction.vin[0].txid}.${transaction.vin[0].vout}`;
61
+ return {
62
+ toChain: opReturnData.toChain,
63
+ toAddress: opReturnData.toAddress,
64
+ bridgeFee: opReturnData.bridgeFee,
65
+ networkFee: opReturnData.networkFee,
66
+ fromAddress: fromAddress,
67
+ sourceChainTokenId: assetTransformation.from,
68
+ amount: assetTransformation.amount,
69
+ targetChainTokenId: assetTransformation.to,
70
+ sourceTxId: transaction.txid,
71
+ };
72
+ }
73
+ catch (e) {
74
+ this.logger.debug(`An error occurred while getting Doge rosen data from Esplora: ${e}`);
75
+ if (e instanceof Error && e.stack) {
76
+ this.logger.debug(e.stack);
77
+ }
78
+ }
79
+ return undefined;
80
+ };
81
+ /**
82
+ * extracts and builds token transformation from UTXO and tokenMap
83
+ * @param box transaction output
84
+ * @param toChain event target chain
85
+ */
86
+ getAssetTransformation = (box, toChain) => {
87
+ // try to build transformation using locked DOGE
88
+ const wrappedDoge = this.tokens.search(DOGE_CHAIN, {
89
+ tokenId: DOGE_NATIVE_TOKEN,
90
+ });
91
+ if (wrappedDoge.length > 0 && Object.hasOwn(wrappedDoge[0], toChain)) {
92
+ const dogeAmount = box.value;
93
+ return {
94
+ from: DOGE_NATIVE_TOKEN,
95
+ to: this.tokens.getID(wrappedDoge[0], toChain),
96
+ amount: dogeAmount.toString(),
97
+ };
98
+ }
99
+ else {
100
+ return undefined;
101
+ }
102
+ };
103
+ }
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9nZUVzcGxvcmFSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvZG9nZS9Eb2dlRXNwbG9yYVJvc2VuRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sMEJBQTBCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwwQkFBa0Q7SUFDdEYsS0FBSyxHQUFHLFVBQVUsQ0FBQztJQUNsQixnQkFBZ0IsQ0FBUztJQUVuQyxZQUFZLFdBQW1CLEVBQUUsTUFBZ0IsRUFBRSxNQUF1QjtRQUN4RSxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUNmLFdBQW1DLEVBQ1osRUFBRTtRQUN6QixNQUFNLFNBQVMsR0FBRywrQkFBK0IsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ3JFLElBQUk7WUFDRixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2pDLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUVELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLDRDQUE0QztZQUNuRSxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMs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LE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxzQkFBc0IsR0FBRyxDQUN2QixHQUFvQixFQUNwQixPQUFlLEVBQ2tCLEVBQUU7UUFDbkMsZ0RBQWdEO1FBQ2hELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNqRCxPQUFPLEVBQUUsaUJBQWlCO1NBQzNCLENBQUMsQ0FBQztRQUNILElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDcEUsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixPQUFPO2dCQUNMLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO2dCQUM5QyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRTthQUM5QixDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3NlbkRhdGEsIFRva2VuVHJhbnNmb3JtYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC90eXBlcyc7XG5pbXBvcnQgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3IgZnJvbSAnLi4vYWJzdHJhY3QvQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3InO1xuaW1wb3J0IHsgRE9HRV9DSEFJTiwgRE9HRV9OQVRJVkVfVE9LRU4gfSBmcm9tICcuLi9jb25zdCc7XG5pbXBvcnQgeyBEb2dlRXNwbG9yYVRyYW5zYWN0aW9uLCBFc3Bsb3JhVHhPdXRwdXQsIE9wUmV0dXJuRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVG9rZW5NYXAgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Rva2Vucyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IHBhcnNlUm9zZW5EYXRhLCBhZGRyZXNzVG9PdXRwdXRTY3JpcHQgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIERvZ2VFc3Bsb3JhUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxEb2dlRXNwbG9yYVRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gRE9HRV9DSEFJTjtcbiAgcHJvdGVjdGVkIGxvY2tTY3JpcHRQdWJLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihsb2NrQWRkcmVzczogc3RyaW5nLCB0b2tlbnM6IFRva2VuTWFwLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHN1cGVyKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlcik7XG4gICAgdGhpcy5sb2NrU2NyaXB0UHViS2V5ID0gYWRkcmVzc1RvT3V0cHV0U2NyaXB0KGxvY2tBZGRyZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgZnJvbSBnaXZlbiBsb2NrIHRyYW5zYWN0aW9uIGluIEVzcGxvcmEgZm9ybWF0XG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBFc3Bsb3JhIGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAoXG4gICAgdHJhbnNhY3Rpb246IERvZ2VFc3Bsb3JhVHJhbnNhY3Rpb25cbiAgKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24udHhpZH1dYDtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRyYW5zYWN0aW9uLnZvdXQ7XG4gICAgICBpZiAob3V0cHV0cy5sZW5ndGggPCAyKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEluc3VmZmljaWVudCBudW1iZXIgb2YgYm94ZXNgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgbGV0IHZhbGlkRGF0YSA9IGZhbHNlOyAvLyBhbiBPUF9SRVRVUk4gYm94IHdpdGggdmFsaWQgZGF0YSBpcyBmb3VuZFxuICAgICAgbGV0IHZhbGlkTG9jayA9IGZhbHNlOyAvLyBhIGxvY2sgYm94IGlzIGZvdW5kIHdpdGggYXZhaWxhYmxlIGFzc2V0IHRyYW5zZm9ybWF0aW9uXG5cbiAgICAgIC8vIHBhcnNlIHJvc2VuIGRhdGEgZnJvbSBPUF9SRVRVUk4gYm94XG4gICAgICBsZXQgb3BSZXR1cm5EYXRhOiBPcFJldHVybkRhdGEgfCB1bmRlZmluZWQ7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dHB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1tpXTtcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRwdWJrZXkuc2xpY2UoMCwgMikgIT09ICc2YScpIGNvbnRpbnVlOyAvLyBub3QgYW4gT1BfUkVUVVJOIHV0eG9cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG9wUmV0dXJuRGF0YSA9IHBhcnNlUm9zZW5EYXRhKG91dHB1dC5zY3JpcHRwdWJrZXkpO1xuICAgICAgICAgIHZhbGlkRGF0YSA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBGYWlsZWQgdG8gZXh0cmFjdCBkYXRhIGZyb20gT1BfUkVUVVJOIGJveCBbJHt0cmFuc2FjdGlvbi50eGlkfS4ke2l9XTogJHtlfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIXZhbGlkRGF0YSB8fCAhb3BSZXR1cm5EYXRhKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IE5vIE9QX1JFVFVSTiBib3ggd2l0aCB2YWxpZCBkYXRhIGlzIGZvdW5kYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyBmaW5kIHRhcmdldCBjaGFpbiB0b2tlbiBpZFxuICAgICAgbGV0IGFzc2V0VHJhbnNmb3JtYXRpb246IFRva2VuVHJhbnNmb3JtYXRpb24gfCB1bmRlZmluZWQ7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dHB1dHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1tpXTtcbiAgICAgICAgaWYgKG91dHB1dC5zY3JpcHRwdWJrZXkgIT09IHRoaXMubG9ja1NjcmlwdFB1YktleSkgY29udGludWU7IC8vIHV0eG8gYWRkcmVzcyBpcyBub3QgbG9jayBhZGRyZXNzXG4gICAgICAgIGFzc2V0VHJhbnNmb3JtYXRpb24gPSB0aGlzLmdldEFzc2V0VHJhbnNmb3JtYXRpb24oXG4gICAgICAgICAgb3V0cHV0LFxuICAgICAgICAgIG9wUmV0dXJuRGF0YS50b0NoYWluXG4gICAgICAgICk7XG4gICAgICAgIGlmIChhc3NldFRyYW5zZm9ybWF0aW9uKSB7XG4gICAgICAgICAgdmFsaWRMb2NrID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCF2YWxpZExvY2sgfHwgIWFzc2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGZpbmQgcm9zZW4gYXNzZXQgdHJhbnNmb3JtYXRpb25gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZyb21BZGRyZXNzID0gYGJveDoke3RyYW5zYWN0aW9uLnZpblswXS50eGlkfS4ke3RyYW5zYWN0aW9uLnZpblswXS52b3V0fWA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0NoYWluOiBvcFJldHVybkRhdGEudG9DaGFpbixcbiAgICAgICAgdG9BZGRyZXNzOiBvcFJldHVybkRhdGEudG9BZGRyZXNzLFxuICAgICAgICBicmlkZ2VGZWU6IG9wUmV0dXJuRGF0YS5icmlkZ2VGZWUsXG4gICAgICAgIG5ldHdvcmtGZWU6IG9wUmV0dXJuRGF0YS5uZXR3b3JrRmVlLFxuICAgICAgICBmcm9tQWRkcmVzczogZnJvbUFkZHJlc3MsXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogYXNzZXRUcmFuc2Zvcm1hdGlvbi5mcm9tLFxuICAgICAgICBhbW91bnQ6IGFzc2V0VHJhbnNmb3JtYXRpb24uYW1vdW50LFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IGFzc2V0VHJhbnNmb3JtYXRpb24udG8sXG4gICAgICAgIHNvdXJjZVR4SWQ6IHRyYW5zYWN0aW9uLnR4aWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBEb2dlIHJvc2VuIGRhdGEgZnJvbSBFc3Bsb3JhOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgYW5kIGJ1aWxkcyB0b2tlbiB0cmFuc2Zvcm1hdGlvbiBmcm9tIFVUWE8gYW5kIHRva2VuTWFwXG4gICAqIEBwYXJhbSBib3ggdHJhbnNhY3Rpb24gb3V0cHV0XG4gICAqIEBwYXJhbSB0b0NoYWluIGV2ZW50IHRhcmdldCBjaGFpblxuICAgKi9cbiAgZ2V0QXNzZXRUcmFuc2Zvcm1hdGlvbiA9IChcbiAgICBib3g6IEVzcGxvcmFUeE91dHB1dCxcbiAgICB0b0NoYWluOiBzdHJpbmdcbiAgKTogVG9rZW5UcmFuc2Zvcm1hdGlvbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgLy8gdHJ5IHRvIGJ1aWxkIHRyYW5zZm9ybWF0aW9uIHVzaW5nIGxvY2tlZCBET0dFXG4gICAgY29uc3Qgd3JhcHBlZERvZ2UgPSB0aGlzLnRva2Vucy5zZWFyY2goRE9HRV9DSEFJTiwge1xuICAgICAgdG9rZW5JZDogRE9HRV9OQVRJVkVfVE9LRU4sXG4gICAgfSk7XG4gICAgaWYgKHdyYXBwZWREb2dlLmxlbmd0aCA+IDAgJiYgT2JqZWN0Lmhhc093bih3cmFwcGVkRG9nZVswXSwgdG9DaGFpbikpIHtcbiAgICAgIGNvbnN0IGRvZ2VBbW91bnQgPSBib3gudmFsdWU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBET0dFX05BVElWRV9UT0tFTixcbiAgICAgICAgdG86IHRoaXMudG9rZW5zLmdldElEKHdyYXBwZWREb2dlWzBdLCB0b0NoYWluKSxcbiAgICAgICAgYW1vdW50OiBkb2dlQW1vdW50LnRvU3RyaW5nKCksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { RosenData, TokenTransformation } from '../abstract/types';
2
+ import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
3
+ import { DogeTxOutput } from './types';
4
+ import { TokenMap } from '@rosen-bridge/tokens';
5
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
6
+ export declare class DogeRosenExtractor extends AbstractRosenDataExtractor<string> {
7
+ readonly chain = "doge";
8
+ protected lockScriptPubKey: string;
9
+ constructor(lockAddress: string, tokens: TokenMap, logger?: AbstractLogger);
10
+ /**
11
+ * extracts RosenData from given lock transaction in DogeTx format
12
+ * @param serializedTransaction stringified transaction in DogeTx format
13
+ */
14
+ extractRawData: (serializedTransaction: string) => RosenData | undefined;
15
+ /**
16
+ * extracts and builds token transformation from UTXO and tokenMap
17
+ * @param box transaction output
18
+ * @param toChain event target chain
19
+ */
20
+ getAssetTransformation: (box: DogeTxOutput, toChain: string) => TokenTransformation | undefined;
21
+ }
22
+ //# sourceMappingURL=DogeRosenExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DogeRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/doge/DogeRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAU,YAAY,EAAgB,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,qBAAa,kBAAmB,SAAQ,0BAA0B,CAAC,MAAM,CAAC;IACxE,QAAQ,CAAC,KAAK,UAAc;IAC5B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAK1E;;;OAGG;IACH,cAAc,0BAA2B,MAAM,KAAG,SAAS,GAAG,SAAS,CAqFrE;IAEF;;;;OAIG;IACH,sBAAsB,QACf,YAAY,WACR,MAAM,KACd,mBAAmB,GAAG,SAAS,CAehC;CACH"}