@rosen-bridge/rosen-extractor 8.0.1 → 9.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 (181) hide show
  1. package/dist/getRosenData/abstract/AbstractRosenDataExtractor.d.ts.map +1 -0
  2. package/dist/getRosenData/abstract/AbstractRosenDataExtractor.js +32 -0
  3. package/dist/getRosenData/abstract/types.d.ts.map +1 -0
  4. package/dist/getRosenData/abstract/types.js +2 -0
  5. package/dist/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +1 -0
  6. package/dist/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +105 -0
  7. package/dist/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +1 -0
  8. package/dist/getRosenData/bitcoin/BitcoinRosenExtractor.js +113 -0
  9. package/dist/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts.map +1 -0
  10. package/dist/getRosenData/bitcoin/BitcoinRpcRosenExtractor.js +106 -0
  11. package/dist/{lib/getRosenData/doge → getRosenData/bitcoin}/types.d.ts.map +1 -1
  12. package/dist/getRosenData/bitcoin/types.js +2 -0
  13. package/dist/getRosenData/bitcoin/utils.d.ts.map +1 -0
  14. package/dist/getRosenData/bitcoin/utils.js +17 -0
  15. package/dist/{lib/getRosenData/runes/RunesEsploraRosenExtractor.d.ts → getRosenData/bitcoin-runes/BitcoinRunesEsploraRosenExtractor.d.ts} +2 -2
  16. package/dist/getRosenData/bitcoin-runes/BitcoinRunesEsploraRosenExtractor.d.ts.map +1 -0
  17. package/dist/getRosenData/bitcoin-runes/BitcoinRunesEsploraRosenExtractor.js +114 -0
  18. package/dist/{lib/getRosenData/runes/RunesRosenExtractor.d.ts → getRosenData/bitcoin-runes/BitcoinRunesRosenExtractor.d.ts} +2 -2
  19. package/dist/getRosenData/bitcoin-runes/BitcoinRunesRosenExtractor.d.ts.map +1 -0
  20. package/dist/getRosenData/bitcoin-runes/BitcoinRunesRosenExtractor.js +121 -0
  21. package/dist/{lib/getRosenData/runes/RunesRpcRosenExtractor.d.ts → getRosenData/bitcoin-runes/BitcoinRunesRpcRosenExtractor.d.ts} +2 -2
  22. package/dist/getRosenData/bitcoin-runes/BitcoinRunesRpcRosenExtractor.d.ts.map +1 -0
  23. package/dist/getRosenData/bitcoin-runes/BitcoinRunesRpcRosenExtractor.js +114 -0
  24. package/dist/getRosenData/bitcoin-runes/constants.d.ts.map +1 -0
  25. package/dist/getRosenData/bitcoin-runes/constants.js +2 -0
  26. package/dist/getRosenData/bitcoin-runes/types.d.ts.map +1 -0
  27. package/dist/getRosenData/bitcoin-runes/types.js +2 -0
  28. package/dist/getRosenData/bitcoin-runes/utils.d.ts.map +1 -0
  29. package/dist/getRosenData/bitcoin-runes/utils.js +9 -0
  30. package/dist/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts.map +1 -0
  31. package/dist/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +94 -0
  32. package/dist/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts.map +1 -0
  33. package/dist/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +92 -0
  34. package/dist/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts.map +1 -0
  35. package/dist/getRosenData/cardano/CardanoKoiosRosenExtractor.js +95 -0
  36. package/dist/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts.map +1 -0
  37. package/dist/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +97 -0
  38. package/dist/getRosenData/cardano/CardanoRosenExtractor.d.ts.map +1 -0
  39. package/dist/getRosenData/cardano/CardanoRosenExtractor.js +88 -0
  40. package/dist/getRosenData/cardano/types.d.ts.map +1 -0
  41. package/dist/getRosenData/cardano/types.js +2 -0
  42. package/dist/getRosenData/cardano/utils.d.ts.map +1 -0
  43. package/dist/getRosenData/cardano/utils.js +32 -0
  44. package/dist/{lib/getRosenData → getRosenData}/const.d.ts +1 -1
  45. package/dist/getRosenData/const.d.ts.map +1 -0
  46. package/dist/getRosenData/const.js +21 -0
  47. package/dist/getRosenData/doge/DogeEsploraRosenExtractor.d.ts.map +1 -0
  48. package/dist/getRosenData/doge/DogeEsploraRosenExtractor.js +104 -0
  49. package/dist/getRosenData/doge/DogeRosenExtractor.d.ts.map +1 -0
  50. package/dist/getRosenData/doge/DogeRosenExtractor.js +112 -0
  51. package/dist/getRosenData/doge/DogeRpcRosenExtractor.d.ts.map +1 -0
  52. package/dist/getRosenData/doge/DogeRpcRosenExtractor.js +105 -0
  53. package/dist/getRosenData/doge/types.d.ts.map +1 -0
  54. package/dist/getRosenData/doge/types.js +2 -0
  55. package/dist/getRosenData/doge/utils.d.ts.map +1 -0
  56. package/dist/getRosenData/doge/utils.js +58 -0
  57. package/dist/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +1 -0
  58. package/dist/getRosenData/ergo/ErgoNodeRosenExtractor.js +105 -0
  59. package/dist/getRosenData/ergo/ErgoRosenExtractor.d.ts.map +1 -0
  60. package/dist/getRosenData/ergo/ErgoRosenExtractor.js +33 -0
  61. package/dist/getRosenData/ergo/types.d.ts.map +1 -0
  62. package/dist/getRosenData/ergo/types.js +2 -0
  63. package/dist/getRosenData/evm/EvmEthersRosenExtractor.d.ts.map +1 -0
  64. package/dist/getRosenData/evm/EvmEthersRosenExtractor.js +54 -0
  65. package/dist/getRosenData/evm/EvmRosenExtractor.d.ts.map +1 -0
  66. package/dist/getRosenData/evm/EvmRosenExtractor.js +31 -0
  67. package/dist/getRosenData/evm/EvmRpcRosenExtractor.d.ts.map +1 -0
  68. package/dist/getRosenData/evm/EvmRpcRosenExtractor.js +123 -0
  69. package/dist/getRosenData/evm/utils.d.ts.map +1 -0
  70. package/dist/getRosenData/evm/utils.js +9 -0
  71. package/dist/{lib/index.d.ts → index.d.ts} +3 -3
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +25 -0
  74. package/dist/types.d.ts.map +1 -0
  75. package/dist/types.js +2 -0
  76. package/dist/utils.d.ts.map +1 -0
  77. package/dist/utils.js +31 -0
  78. package/package.json +11 -16
  79. package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts.map +0 -1
  80. package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.js +0 -32
  81. package/dist/lib/getRosenData/abstract/types.d.ts.map +0 -1
  82. package/dist/lib/getRosenData/abstract/types.js +0 -2
  83. package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts.map +0 -1
  84. package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.js +0 -105
  85. package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts.map +0 -1
  86. package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.js +0 -113
  87. package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts.map +0 -1
  88. package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.js +0 -106
  89. package/dist/lib/getRosenData/bitcoin/types.d.ts.map +0 -1
  90. package/dist/lib/getRosenData/bitcoin/types.js +0 -2
  91. package/dist/lib/getRosenData/bitcoin/utils.d.ts.map +0 -1
  92. package/dist/lib/getRosenData/bitcoin/utils.js +0 -17
  93. package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts.map +0 -1
  94. package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.js +0 -94
  95. package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts.map +0 -1
  96. package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.js +0 -92
  97. package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts.map +0 -1
  98. package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.js +0 -95
  99. package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts.map +0 -1
  100. package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.js +0 -97
  101. package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts.map +0 -1
  102. package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.js +0 -88
  103. package/dist/lib/getRosenData/cardano/types.d.ts.map +0 -1
  104. package/dist/lib/getRosenData/cardano/types.js +0 -2
  105. package/dist/lib/getRosenData/cardano/utils.d.ts.map +0 -1
  106. package/dist/lib/getRosenData/cardano/utils.js +0 -32
  107. package/dist/lib/getRosenData/const.d.ts.map +0 -1
  108. package/dist/lib/getRosenData/const.js +0 -21
  109. package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.d.ts.map +0 -1
  110. package/dist/lib/getRosenData/doge/DogeEsploraRosenExtractor.js +0 -104
  111. package/dist/lib/getRosenData/doge/DogeRosenExtractor.d.ts.map +0 -1
  112. package/dist/lib/getRosenData/doge/DogeRosenExtractor.js +0 -112
  113. package/dist/lib/getRosenData/doge/DogeRpcRosenExtractor.d.ts.map +0 -1
  114. package/dist/lib/getRosenData/doge/DogeRpcRosenExtractor.js +0 -105
  115. package/dist/lib/getRosenData/doge/types.js +0 -2
  116. package/dist/lib/getRosenData/doge/utils.d.ts.map +0 -1
  117. package/dist/lib/getRosenData/doge/utils.js +0 -58
  118. package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts.map +0 -1
  119. package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.js +0 -105
  120. package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts.map +0 -1
  121. package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.js +0 -33
  122. package/dist/lib/getRosenData/ergo/types.d.ts.map +0 -1
  123. package/dist/lib/getRosenData/ergo/types.js +0 -2
  124. package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts.map +0 -1
  125. package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.js +0 -54
  126. package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts.map +0 -1
  127. package/dist/lib/getRosenData/evm/EvmRosenExtractor.js +0 -31
  128. package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts.map +0 -1
  129. package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.js +0 -123
  130. package/dist/lib/getRosenData/evm/utils.d.ts.map +0 -1
  131. package/dist/lib/getRosenData/evm/utils.js +0 -9
  132. package/dist/lib/getRosenData/runes/RunesEsploraRosenExtractor.d.ts.map +0 -1
  133. package/dist/lib/getRosenData/runes/RunesEsploraRosenExtractor.js +0 -113
  134. package/dist/lib/getRosenData/runes/RunesRosenExtractor.d.ts.map +0 -1
  135. package/dist/lib/getRosenData/runes/RunesRosenExtractor.js +0 -120
  136. package/dist/lib/getRosenData/runes/RunesRpcRosenExtractor.d.ts.map +0 -1
  137. package/dist/lib/getRosenData/runes/RunesRpcRosenExtractor.js +0 -113
  138. package/dist/lib/getRosenData/runes/constants.d.ts.map +0 -1
  139. package/dist/lib/getRosenData/runes/constants.js +0 -2
  140. package/dist/lib/getRosenData/runes/types.d.ts.map +0 -1
  141. package/dist/lib/getRosenData/runes/types.js +0 -2
  142. package/dist/lib/getRosenData/runes/utils.d.ts.map +0 -1
  143. package/dist/lib/getRosenData/runes/utils.js +0 -9
  144. package/dist/lib/index.d.ts.map +0 -1
  145. package/dist/lib/index.js +0 -25
  146. package/dist/lib/types.d.ts.map +0 -1
  147. package/dist/lib/types.js +0 -2
  148. package/dist/lib/utils.d.ts.map +0 -1
  149. package/dist/lib/utils.js +0 -31
  150. package/dist/tsconfig.tsbuildinfo +0 -1
  151. /package/dist/{lib/getRosenData → getRosenData}/abstract/AbstractRosenDataExtractor.d.ts +0 -0
  152. /package/dist/{lib/getRosenData → getRosenData}/abstract/types.d.ts +0 -0
  153. /package/dist/{lib/getRosenData → getRosenData}/bitcoin/BitcoinEsploraRosenExtractor.d.ts +0 -0
  154. /package/dist/{lib/getRosenData → getRosenData}/bitcoin/BitcoinRosenExtractor.d.ts +0 -0
  155. /package/dist/{lib/getRosenData → getRosenData}/bitcoin/BitcoinRpcRosenExtractor.d.ts +0 -0
  156. /package/dist/{lib/getRosenData → getRosenData}/bitcoin/types.d.ts +0 -0
  157. /package/dist/{lib/getRosenData → getRosenData}/bitcoin/utils.d.ts +0 -0
  158. /package/dist/{lib/getRosenData/runes → getRosenData/bitcoin-runes}/constants.d.ts +0 -0
  159. /package/dist/{lib/getRosenData/runes → getRosenData/bitcoin-runes}/types.d.ts +0 -0
  160. /package/dist/{lib/getRosenData/runes → getRosenData/bitcoin-runes}/utils.d.ts +0 -0
  161. /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoBlockFrostRosenExtractor.d.ts +0 -0
  162. /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoGraphQLRosenExtractor.d.ts +0 -0
  163. /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoKoiosRosenExtractor.d.ts +0 -0
  164. /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoOgmiosRosenExtractor.d.ts +0 -0
  165. /package/dist/{lib/getRosenData → getRosenData}/cardano/CardanoRosenExtractor.d.ts +0 -0
  166. /package/dist/{lib/getRosenData → getRosenData}/cardano/types.d.ts +0 -0
  167. /package/dist/{lib/getRosenData → getRosenData}/cardano/utils.d.ts +0 -0
  168. /package/dist/{lib/getRosenData → getRosenData}/doge/DogeEsploraRosenExtractor.d.ts +0 -0
  169. /package/dist/{lib/getRosenData → getRosenData}/doge/DogeRosenExtractor.d.ts +0 -0
  170. /package/dist/{lib/getRosenData → getRosenData}/doge/DogeRpcRosenExtractor.d.ts +0 -0
  171. /package/dist/{lib/getRosenData → getRosenData}/doge/types.d.ts +0 -0
  172. /package/dist/{lib/getRosenData → getRosenData}/doge/utils.d.ts +0 -0
  173. /package/dist/{lib/getRosenData → getRosenData}/ergo/ErgoNodeRosenExtractor.d.ts +0 -0
  174. /package/dist/{lib/getRosenData → getRosenData}/ergo/ErgoRosenExtractor.d.ts +0 -0
  175. /package/dist/{lib/getRosenData → getRosenData}/ergo/types.d.ts +0 -0
  176. /package/dist/{lib/getRosenData → getRosenData}/evm/EvmEthersRosenExtractor.d.ts +0 -0
  177. /package/dist/{lib/getRosenData → getRosenData}/evm/EvmRosenExtractor.d.ts +0 -0
  178. /package/dist/{lib/getRosenData → getRosenData}/evm/EvmRpcRosenExtractor.d.ts +0 -0
  179. /package/dist/{lib/getRosenData → getRosenData}/evm/utils.d.ts +0 -0
  180. /package/dist/{lib/types.d.ts → types.d.ts} +0 -0
  181. /package/dist/{lib/utils.d.ts → utils.d.ts} +0 -0
@@ -1,33 +0,0 @@
1
- import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
2
- import { Transaction } from 'ergo-lib-wasm-nodejs';
3
- import { ErgoNodeRosenExtractor } from './ErgoNodeRosenExtractor';
4
- import JsonBigInt from '@rosen-bridge/json-bigint';
5
- import { ERGO_CHAIN } from '../const';
6
- export class ErgoRosenExtractor extends AbstractRosenDataExtractor {
7
- chain = ERGO_CHAIN;
8
- nodeExtractor;
9
- constructor(lockAddress, tokens, logger) {
10
- super(lockAddress, tokens, logger);
11
- this.nodeExtractor = new ErgoNodeRosenExtractor(lockAddress, tokens, logger);
12
- }
13
- /**
14
- * extracts RosenData from given lock transaction in wasm sigma serialized bytes
15
- * @param serializedTransaction the sigma serialized bytes of transaction
16
- */
17
- extractRawData = (serializedTransaction) => {
18
- let transaction;
19
- try {
20
- transaction = Transaction.sigma_parse_bytes(Buffer.from(serializedTransaction, 'hex'));
21
- }
22
- catch (e) {
23
- this.logger.debug(`An error occurred while deserializing Ergo tx to extract rosen data: ${e}`);
24
- if (e instanceof Error && e.stack) {
25
- this.logger.debug(e.stack);
26
- }
27
- return undefined;
28
- }
29
- const nodeTx = JsonBigInt.parse(transaction.to_json());
30
- return this.nodeExtractor.extractRawData(nodeTx);
31
- };
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJnb1Jvc2VuRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2dldFJvc2VuRGF0YS9lcmdvL0VyZ29Sb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBR2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLFVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwwQkFBa0M7SUFDL0QsS0FBSyxHQUFHLFVBQVUsQ0FBQztJQUNwQixhQUFhLENBQXlCO0lBRTlDLFlBQVksV0FBbUIsRUFBRSxNQUFnQixFQUFFLE1BQXVCO1FBQ3hFLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsQ0FDN0MsV0FBVyxFQUNYLE1BQU0sRUFDTixNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FBQyxxQkFBNkIsRUFBeUIsRUFBRTtRQUN4RSxJQUFJLFdBQXdCLENBQUM7UUFDN0IsSUFBSTtZQUNGLFdBQVcsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQzFDLENBQUM7U0FDSDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2Ysd0VBQXdFLENBQUMsRUFBRSxDQUM1RSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QjtZQUNELE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQW9CLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvc2VuRGF0YSB9IGZyb20gJy4uL2Fic3RyYWN0L3R5cGVzJztcbmltcG9ydCBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvciBmcm9tICcuLi9hYnN0cmFjdC9BYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3Rvcic7XG5pbXBvcnQgeyBOb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IEVyZ29Ob2RlUm9zZW5FeHRyYWN0b3IgfSBmcm9tICcuL0VyZ29Ob2RlUm9zZW5FeHRyYWN0b3InO1xuaW1wb3J0IEpzb25CaWdJbnQgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQgeyBFUkdPX0NIQUlOIH0gZnJvbSAnLi4vY29uc3QnO1xuXG5leHBvcnQgY2xhc3MgRXJnb1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8c3RyaW5nPiB7XG4gIHJlYWRvbmx5IGNoYWluID0gRVJHT19DSEFJTjtcbiAgcHJpdmF0ZSBub2RlRXh0cmFjdG9yOiBFcmdvTm9kZVJvc2VuRXh0cmFjdG9yO1xuXG4gIGNvbnN0cnVjdG9yKGxvY2tBZGRyZXNzOiBzdHJpbmcsIHRva2VuczogVG9rZW5NYXAsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLm5vZGVFeHRyYWN0b3IgPSBuZXcgRXJnb05vZGVSb3NlbkV4dHJhY3RvcihcbiAgICAgIGxvY2tBZGRyZXNzLFxuICAgICAgdG9rZW5zLFxuICAgICAgbG9nZ2VyXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBSb3NlbkRhdGEgZnJvbSBnaXZlbiBsb2NrIHRyYW5zYWN0aW9uIGluIHdhc20gc2lnbWEgc2VyaWFsaXplZCBieXRlc1xuICAgKiBAcGFyYW0gc2VyaWFsaXplZFRyYW5zYWN0aW9uIHRoZSBzaWdtYSBzZXJpYWxpemVkIGJ5dGVzIG9mIHRyYW5zYWN0aW9uXG4gICAqL1xuICBleHRyYWN0UmF3RGF0YSA9IChzZXJpYWxpemVkVHJhbnNhY3Rpb246IHN0cmluZyk6IFJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgbGV0IHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbjtcbiAgICB0cnkge1xuICAgICAgdHJhbnNhY3Rpb24gPSBUcmFuc2FjdGlvbi5zaWdtYV9wYXJzZV9ieXRlcyhcbiAgICAgICAgQnVmZmVyLmZyb20oc2VyaWFsaXplZFRyYW5zYWN0aW9uLCAnaGV4JylcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBkZXNlcmlhbGl6aW5nIEVyZ28gdHggdG8gZXh0cmFjdCByb3NlbiBkYXRhOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IG5vZGVUeCA9IEpzb25CaWdJbnQucGFyc2UodHJhbnNhY3Rpb24udG9fanNvbigpKSBhcyBOb2RlVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHRoaXMubm9kZUV4dHJhY3Rvci5leHRyYWN0UmF3RGF0YShub2RlVHgpO1xuICB9O1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/ergo/types.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1B,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5B,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2VyZ28vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBOb2RlQXNzZXQge1xuICB0b2tlbklkOiBzdHJpbmc7XG4gIGFtb3VudDogYmlnaW50O1xufVxuXG5pbnRlcmZhY2UgTm9kZUFkZGl0aW9uYWxSZWdpc3RlcnMge1xuICBSND86IHN0cmluZztcbiAgUjU/OiBzdHJpbmc7XG4gIFI2Pzogc3RyaW5nO1xuICBSNz86IHN0cmluZztcbiAgUjg/OiBzdHJpbmc7XG4gIFI5Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTm9kZU91dHB1dEJveCB7XG4gIGJveElkOiBzdHJpbmc7XG4gIHZhbHVlOiBiaWdpbnQ7XG4gIGVyZ29UcmVlOiBzdHJpbmc7XG4gIGNyZWF0aW9uSGVpZ2h0OiBiaWdpbnQgfCBudW1iZXI7XG4gIGFzc2V0cz86IEFycmF5PE5vZGVBc3NldD47XG4gIGFkZGl0aW9uYWxSZWdpc3RlcnM/OiBOb2RlQWRkaXRpb25hbFJlZ2lzdGVycztcbiAgdHJhbnNhY3Rpb25JZDogc3RyaW5nO1xuICBpbmRleDogYmlnaW50IHwgbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTm9kZUlucHV0Qm94IHtcbiAgYm94SWQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE5vZGVEYXRhSW5wdXQge1xuICBib3hJZDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTm9kZVRyYW5zYWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgaW5wdXRzOiBBcnJheTxOb2RlSW5wdXRCb3g+O1xuICBkYXRhSW5wdXRzOiBBcnJheTxOb2RlRGF0YUlucHV0PjtcbiAgb3V0cHV0czogQXJyYXk8Tm9kZU91dHB1dEJveD47XG4gIHNpemU/OiBiaWdpbnQ7XG59XG5cbmV4cG9ydCB7IE5vZGVPdXRwdXRCb3gsIE5vZGVUcmFuc2FjdGlvbiB9O1xuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmEthersRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/EvmEthersRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAe,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,uBAAwB,SAAQ,0BAA0B,CAAC,mBAAmB,CAAC;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC7C,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBAGlC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAezB;;;OAGG;IACH,cAAc,UAAW,mBAAmB,KAAG,SAAS,GAAG,SAAS,CAuBlE;IAEF;;;OAGG;IACH,qBAAqB,aAOnB;CACH"}
@@ -1,54 +0,0 @@
1
- import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
2
- import { Transaction } from 'ethers';
3
- import { EvmRpcRosenExtractor } from './EvmRpcRosenExtractor';
4
- export class EvmEthersRosenExtractor extends AbstractRosenDataExtractor {
5
- chain;
6
- rpcExtractor;
7
- supportedTokens;
8
- constructor(lockAddress, tokens, chain, nativeToken, logger) {
9
- super(lockAddress, tokens, logger);
10
- this.chain = chain;
11
- this.rpcExtractor = new EvmRpcRosenExtractor(lockAddress, tokens, chain, nativeToken, logger);
12
- this.updateSupportedTokens();
13
- this.tokens.registerCallback(this.updateSupportedTokens);
14
- }
15
- /**
16
- * extracts RosenData from given lock transaction in ethers TransactionResponse format
17
- * @param txRes the lock transaction in ethers TransactionResponse format
18
- */
19
- extractRawData = (txRes) => {
20
- let transaction;
21
- try {
22
- const toAddress = txRes.to?.toLowerCase();
23
- if (toAddress &&
24
- (toAddress === this.lockAddress ||
25
- this.supportedTokens.includes(toAddress))) {
26
- transaction = Transaction.from(txRes);
27
- }
28
- else {
29
- return undefined;
30
- }
31
- }
32
- catch (e) {
33
- this.logger.debug(`An error occurred while deserializing ${this.chain} tx to extract rosen data: ${e}`);
34
- if (e instanceof Error && e.stack) {
35
- this.logger.debug(e.stack);
36
- }
37
- return undefined;
38
- }
39
- return this.rpcExtractor.extractRawData(transaction);
40
- };
41
- /**
42
- * update supported tokens
43
- * @param tokens
44
- */
45
- updateSupportedTokens = () => {
46
- const newSupportedTokens = [];
47
- this.tokens.getConfig().forEach((tokenSet) => {
48
- if (Object.hasOwn(tokenSet, this.chain))
49
- newSupportedTokens.push(tokenSet[this.chain].tokenId);
50
- });
51
- this.supportedTokens = newSupportedTokens;
52
- };
53
- }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1FdGhlcnNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sUUFBUSxDQUFDO0FBRzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSwwQkFBK0M7SUFDakYsS0FBSyxDQUFTO0lBQ2IsWUFBWSxDQUF1QjtJQUNuQyxlQUFlLENBQVc7SUFFcEMsWUFDRSxXQUFtQixFQUNuQixNQUFnQixFQUNoQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLG9CQUFvQixDQUMxQyxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FBQyxLQUEwQixFQUF5QixFQUFFO1FBQ3JFLElBQUksV0FBd0IsQ0FBQztRQUM3QixJQUFJO1lBQ0YsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUMxQyxJQUNFLFNBQVM7Z0JBQ1QsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFdBQVc7b0JBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQzNDO2dCQUNBLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHlDQUF5QyxJQUFJLENBQUMsS0FBSyw4QkFBOEIsQ0FBQyxFQUFFLENBQ3JGLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILHFCQUFxQixHQUFHLEdBQUcsRUFBRTtRQUMzQixNQUFNLGtCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzNDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDckMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDO0lBQzVDLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblJlc3BvbnNlIH0gZnJvbSAnZXRoZXJzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBFdm1ScGNSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vRXZtUnBjUm9zZW5FeHRyYWN0b3InO1xuXG5leHBvcnQgY2xhc3MgRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gIHJlYWRvbmx5IGNoYWluOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBycGNFeHRyYWN0b3I6IEV2bVJwY1Jvc2VuRXh0cmFjdG9yO1xuICBwcm90ZWN0ZWQgc3VwcG9ydGVkVG9rZW5zOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBsb2NrQWRkcmVzczogc3RyaW5nLFxuICAgIHRva2VuczogVG9rZW5NYXAsXG4gICAgY2hhaW46IHN0cmluZyxcbiAgICBuYXRpdmVUb2tlbjogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyXG4gICkge1xuICAgIHN1cGVyKGxvY2tBZGRyZXNzLCB0b2tlbnMsIGxvZ2dlcik7XG4gICAgdGhpcy5jaGFpbiA9IGNoYWluO1xuICAgIHRoaXMucnBjRXh0cmFjdG9yID0gbmV3IEV2bVJwY1Jvc2VuRXh0cmFjdG9yKFxuICAgICAgbG9ja0FkZHJlc3MsXG4gICAgICB0b2tlbnMsXG4gICAgICBjaGFpbixcbiAgICAgIG5hdGl2ZVRva2VuLFxuICAgICAgbG9nZ2VyXG4gICAgKTtcbiAgICB0aGlzLnVwZGF0ZVN1cHBvcnRlZFRva2VucygpO1xuICAgIHRoaXMudG9rZW5zLnJlZ2lzdGVyQ2FsbGJhY2sodGhpcy51cGRhdGVTdXBwb3J0ZWRUb2tlbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBmcm9tIGdpdmVuIGxvY2sgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uUmVzcG9uc2UgZm9ybWF0XG4gICAqIEBwYXJhbSB0eFJlcyB0aGUgbG9jayB0cmFuc2FjdGlvbiBpbiBldGhlcnMgVHJhbnNhY3Rpb25SZXNwb25zZSBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKHR4UmVzOiBUcmFuc2FjdGlvblJlc3BvbnNlKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBsZXQgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b0FkZHJlc3MgPSB0eFJlcy50bz8udG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChcbiAgICAgICAgdG9BZGRyZXNzICYmXG4gICAgICAgICh0b0FkZHJlc3MgPT09IHRoaXMubG9ja0FkZHJlc3MgfHxcbiAgICAgICAgICB0aGlzLnN1cHBvcnRlZFRva2Vucy5pbmNsdWRlcyh0b0FkZHJlc3MpKVxuICAgICAgKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZnJvbSh0eFJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGVzZXJpYWxpemluZyAke3RoaXMuY2hhaW59IHR4IHRvIGV4dHJhY3Qgcm9zZW4gZGF0YTogJHtlfWBcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ycGNFeHRyYWN0b3IuZXh0cmFjdFJhd0RhdGEodHJhbnNhY3Rpb24pO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1cGRhdGUgc3VwcG9ydGVkIHRva2Vuc1xuICAgKiBAcGFyYW0gdG9rZW5zXG4gICAqL1xuICB1cGRhdGVTdXBwb3J0ZWRUb2tlbnMgPSAoKSA9PiB7XG4gICAgY29uc3QgbmV3U3VwcG9ydGVkVG9rZW5zOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMudG9rZW5zLmdldENvbmZpZygpLmZvckVhY2goKHRva2VuU2V0KSA9PiB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093bih0b2tlblNldCwgdGhpcy5jaGFpbikpXG4gICAgICAgIG5ld1N1cHBvcnRlZFRva2Vucy5wdXNoKHRva2VuU2V0W3RoaXMuY2hhaW5dLnRva2VuSWQpO1xuICAgIH0pO1xuICAgIHRoaXMuc3VwcG9ydGVkVG9rZW5zID0gbmV3U3VwcG9ydGVkVG9rZW5zO1xuICB9O1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/EvmRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,qBAAa,iBAAkB,SAAQ,0BAA0B,CAAC,MAAM,CAAC;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;gBAG3C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAazB;;;OAGG;IACH,cAAc,0BAA2B,MAAM,KAAG,SAAS,GAAG,SAAS,CAcrE;CACH"}
@@ -1,31 +0,0 @@
1
- import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
2
- import { Transaction } from 'ethers';
3
- import { EvmRpcRosenExtractor } from './EvmRpcRosenExtractor';
4
- export class EvmRosenExtractor extends AbstractRosenDataExtractor {
5
- chain;
6
- rpcExtractor;
7
- constructor(lockAddress, tokens, chain, nativeToken, logger) {
8
- super(lockAddress, tokens, logger);
9
- this.chain = chain;
10
- this.rpcExtractor = new EvmRpcRosenExtractor(lockAddress, tokens, chain, nativeToken, logger);
11
- }
12
- /**
13
- * extracts RosenData from given lock transaction in ethers Transaction format
14
- * @param serializedTransaction signed serialized transaction in ethers Transaction format
15
- */
16
- extractRawData = (serializedTransaction) => {
17
- let transaction;
18
- try {
19
- transaction = Transaction.from('0x' + serializedTransaction);
20
- }
21
- catch (e) {
22
- this.logger.debug(`An error occurred while deserializing ${this.chain} tx to extract rosen data: ${e}`);
23
- if (e instanceof Error && e.stack) {
24
- this.logger.debug(e.stack);
25
- }
26
- return undefined;
27
- }
28
- return this.rpcExtractor.extractRawData(transaction);
29
- };
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1Sb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDBCQUFrQztJQUM5RCxLQUFLLENBQVM7SUFDYixZQUFZLENBQXVCO0lBRTdDLFlBQ0UsV0FBbUIsRUFDbkIsTUFBZ0IsRUFDaEIsS0FBYSxFQUNiLFdBQW1CLEVBQ25CLE1BQXVCO1FBRXZCLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxvQkFBb0IsQ0FDMUMsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsV0FBVyxFQUNYLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUFDLHFCQUE2QixFQUF5QixFQUFFO1FBQ3hFLElBQUksV0FBd0IsQ0FBQztRQUM3QixJQUFJO1lBQ0YsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDLENBQUM7U0FDOUQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHlDQUF5QyxJQUFJLENBQUMsS0FBSyw4QkFBOEIsQ0FBQyxFQUFFLENBQ3JGLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnZXRoZXJzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBFdm1ScGNSb3NlbkV4dHJhY3RvciB9IGZyb20gJy4vRXZtUnBjUm9zZW5FeHRyYWN0b3InO1xuXG5leHBvcnQgY2xhc3MgRXZtUm9zZW5FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdFJvc2VuRGF0YUV4dHJhY3RvcjxzdHJpbmc+IHtcbiAgcmVhZG9ubHkgY2hhaW46IHN0cmluZztcbiAgcHJvdGVjdGVkIHJwY0V4dHJhY3RvcjogRXZtUnBjUm9zZW5FeHRyYWN0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9ja0FkZHJlc3M6IHN0cmluZyxcbiAgICB0b2tlbnM6IFRva2VuTWFwLFxuICAgIGNoYWluOiBzdHJpbmcsXG4gICAgbmF0aXZlVG9rZW46IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlclxuICApIHtcbiAgICBzdXBlcihsb2NrQWRkcmVzcywgdG9rZW5zLCBsb2dnZXIpO1xuICAgIHRoaXMuY2hhaW4gPSBjaGFpbjtcbiAgICB0aGlzLnJwY0V4dHJhY3RvciA9IG5ldyBFdm1ScGNSb3NlbkV4dHJhY3RvcihcbiAgICAgIGxvY2tBZGRyZXNzLFxuICAgICAgdG9rZW5zLFxuICAgICAgY2hhaW4sXG4gICAgICBuYXRpdmVUb2tlbixcbiAgICAgIGxvZ2dlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBldGhlcnMgVHJhbnNhY3Rpb24gZm9ybWF0XG4gICAqIEBwYXJhbSBzZXJpYWxpemVkVHJhbnNhY3Rpb24gc2lnbmVkIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uIGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAoc2VyaWFsaXplZFRyYW5zYWN0aW9uOiBzdHJpbmcpOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGxldCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG4gICAgdHJ5IHtcbiAgICAgIHRyYW5zYWN0aW9uID0gVHJhbnNhY3Rpb24uZnJvbSgnMHgnICsgc2VyaWFsaXplZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGRlc2VyaWFsaXppbmcgJHt0aGlzLmNoYWlufSB0eCB0byBleHRyYWN0IHJvc2VuIGRhdGE6ICR7ZX1gXG4gICAgICApO1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLnN0YWNrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGUuc3RhY2spO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucnBjRXh0cmFjdG9yLmV4dHJhY3RSYXdEYXRhKHRyYW5zYWN0aW9uKTtcbiAgfTtcbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmRpcRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/EvmRpcRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,qBAAa,oBAAqB,SAAQ,0BAA0B,CAAC,WAAW,CAAC;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;gBAG5B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAOzB;;;;;;;;;;;;;OAaG;IACH,cAAc,gBAAiB,WAAW,KAAG,SAAS,GAAG,SAAS,CA+GhE;CACH"}
@@ -1,123 +0,0 @@
1
- import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
2
- import { parseCallData } from './utils';
3
- export class EvmRpcRosenExtractor extends AbstractRosenDataExtractor {
4
- chain;
5
- nativeToken;
6
- constructor(lockAddress, tokens, chain, nativeToken, logger) {
7
- super(lockAddress, tokens, logger);
8
- this.chain = chain;
9
- this.nativeToken = nativeToken;
10
- }
11
- /**
12
- * extracts RosenData from given lock transaction in ethers Transaction object
13
- * checks:
14
- * Native token transfer:
15
- * 1. `to` must be the lock address
16
- * 2. the entire calldata must represent a valid CallDataRosenData
17
- * ERC20 transfer:
18
- * 1. `to` address is one of the supported assets
19
- * 2. first four bytes of the call data indicate `transfer` function call: a9059cbb
20
- * 3. bytes from 5 to 37 must be the lock address
21
- * 4. bytes from 37 to 69 show the amount
22
- * 5. bytes after 69 must represent a valid CallDataRosenData
23
- * @param transaction the lock transaction in ethers Transaction object
24
- */
25
- extractRawData = (transaction) => {
26
- const baseError = `No rosen data found for tx [${transaction.hash}]`;
27
- try {
28
- if (transaction.from == null || transaction.hash == null) {
29
- this.logger.debug(baseError +
30
- `transaction 'from' ([${transaction.from}]) or 'hash' ([${transaction.hash}]) is unexpected (probably unsigned transaction is passed)`);
31
- return undefined;
32
- }
33
- if (transaction.to == null) {
34
- this.logger.debug(baseError + `: 'to' address is empty.`);
35
- return undefined;
36
- }
37
- let rosenData;
38
- const callData = transaction.data.substring(2);
39
- let token;
40
- let rosenDataRaw;
41
- let tokenAddress;
42
- let amount;
43
- let sourceTokenId, targetTokenId;
44
- if (transaction.to.toLowerCase() == this.lockAddress) {
45
- // transaction must be a native token transfer
46
- rosenDataRaw = callData;
47
- tokenAddress = this.nativeToken;
48
- amount = transaction.value.toString();
49
- const tokens = this.tokens.search(this.chain, {
50
- tokenId: this.nativeToken,
51
- });
52
- if (tokens.length == 1) {
53
- sourceTokenId = this.nativeToken;
54
- token = tokens[0];
55
- }
56
- else {
57
- this.logger.debug(baseError +
58
- `: native token [${this.nativeToken}] is not available in source chian's tokens map.`);
59
- return undefined;
60
- }
61
- }
62
- else {
63
- // transaction must be an ERC-20 token transfer
64
- if (callData.substring(0, 8) != 'a9059cbb') {
65
- this.logger.debug(baseError + `: Not a valid ERC20 transfer transaction.`);
66
- return undefined;
67
- }
68
- if (BigInt('0x' + callData.substring(8, 72)).toString(16) !=
69
- this.lockAddress.substring(2)) {
70
- this.logger.debug(baseError + `: 'to' address is not the lock address.`);
71
- return undefined;
72
- }
73
- amount = BigInt('0x' + callData.slice(72, 72 + 64)).toString();
74
- rosenDataRaw = callData.substring(72 + 64);
75
- tokenAddress = transaction.to.toLowerCase();
76
- const tokens = this.tokens.search(this.chain, {
77
- tokenId: tokenAddress,
78
- });
79
- if (tokens.length != 1) {
80
- this.logger.debug(baseError +
81
- `: token [${tokenAddress}] is not supported on chain: [${this.chain}].`);
82
- return undefined;
83
- }
84
- token = tokens[0];
85
- sourceTokenId = tokenAddress.toLowerCase();
86
- }
87
- try {
88
- rosenData = parseCallData(rosenDataRaw);
89
- }
90
- catch (e) {
91
- this.logger.debug(baseError + `: Failed to extract data from call data: ${e}`);
92
- return undefined;
93
- }
94
- try {
95
- targetTokenId = this.tokens.getID(token, rosenData.toChain);
96
- }
97
- catch (e) {
98
- this.logger.debug(baseError +
99
- `: token [${tokenAddress}] is not supported on chain: [${rosenData.toChain}].`);
100
- return undefined;
101
- }
102
- return {
103
- toChain: rosenData.toChain,
104
- toAddress: rosenData.toAddress,
105
- bridgeFee: rosenData.bridgeFee,
106
- networkFee: rosenData.networkFee,
107
- fromAddress: transaction.from.toLowerCase(),
108
- sourceChainTokenId: sourceTokenId,
109
- amount: amount,
110
- targetChainTokenId: targetTokenId,
111
- sourceTxId: transaction.hash,
112
- };
113
- }
114
- catch (e) {
115
- this.logger.debug(`An error occurred while getting EVM rosen data from RPC: ${e}`);
116
- if (e instanceof Error && e.stack) {
117
- this.logger.debug(e.stack);
118
- }
119
- return undefined;
120
- }
121
- };
122
- }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtUnBjUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS9Fdm1ScGNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBSWhGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDBCQUF1QztJQUN0RSxLQUFLLENBQVM7SUFDYixXQUFXLENBQVM7SUFFOUIsWUFDRSxXQUFtQixFQUNuQixNQUFnQixFQUNoQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsTUFBdUI7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxjQUFjLEdBQUcsQ0FBQyxXQUF3QixFQUF5QixFQUFFO1FBQ25FLE1BQU0sU0FBUyxHQUFHLCtCQUErQixXQUFXLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDckUsSUFBSTtZQUNGLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLFNBQVM7b0JBQ1Asd0JBQXdCLFdBQVcsQ0FBQyxJQUFJLGtCQUFrQixXQUFXLENBQUMsSUFBSSw0REFBNEQsQ0FDekksQ0FBQztnQkFDRixPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUNELElBQUksV0FBVyxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFD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QUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7WUFDRCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnZXRoZXJzJztcbmltcG9ydCB7IFRva2VuTWFwLCBSb3NlbkNoYWluVG9rZW4gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Rva2Vucyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IHBhcnNlQ2FsbERhdGEgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEV2bVJwY1Jvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgY2hhaW46IHN0cmluZztcbiAgcHJvdGVjdGVkIG5hdGl2ZVRva2VuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9ja0FkZHJlc3M6IHN0cmluZyxcbiAgICB0b2tlbnM6IFRva2VuTWFwLFxuICAgIGNoYWluOiBzdHJpbmcsXG4gICAgbmF0aXZlVG9rZW46IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlclxuICApIHtcbiAgICBzdXBlcihsb2NrQWRkcmVzcywgdG9rZW5zLCBsb2dnZXIpO1xuICAgIHRoaXMuY2hhaW4gPSBjaGFpbjtcbiAgICB0aGlzLm5hdGl2ZVRva2VuID0gbmF0aXZlVG9rZW47XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBldGhlcnMgVHJhbnNhY3Rpb24gb2JqZWN0XG4gICAqIGNoZWNrczpcbiAgICogICAgIE5hdGl2ZSB0b2tlbiB0cmFuc2ZlcjpcbiAgICogICAgICAgICAxLiBgdG9gIG11c3QgYmUgdGhlIGxvY2sgYWRkcmVzc1xuICAgKiAgICAgICAgIDIuIHRoZSBlbnRpcmUgY2FsbGRhdGEgbXVzdCByZXByZXNlbnQgYSB2YWxpZCBDYWxsRGF0YVJvc2VuRGF0YVxuICAgKiAgICAgRVJDMjAgdHJhbnNmZXI6XG4gICAqICAgICAgICAgMS4gYHRvYCBhZGRyZXNzIGlzIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGFzc2V0c1xuICAgKiAgICAgICAgIDIuIGZpcnN0IGZvdXIgYnl0ZXMgb2YgdGhlIGNhbGwgZGF0YSBpbmRpY2F0ZSBgdHJhbnNmZXJgIGZ1bmN0aW9uIGNhbGw6IGE5MDU5Y2JiXG4gICAqICAgICAgICAgMy4gYnl0ZXMgZnJvbSA1IHRvIDM3IG11c3QgYmUgdGhlIGxvY2sgYWRkcmVzc1xuICAgKiAgICAgICAgIDQuIGJ5dGVzIGZyb20gMzcgdG8gNjkgc2hvdyB0aGUgYW1vdW50XG4gICAqICAgICAgICAgNS4gYnl0ZXMgYWZ0ZXIgNjkgbXVzdCByZXByZXNlbnQgYSB2YWxpZCBDYWxsRGF0YVJvc2VuRGF0YVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gdGhlIGxvY2sgdHJhbnNhY3Rpb24gaW4gZXRoZXJzIFRyYW5zYWN0aW9uIG9iamVjdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogUm9zZW5EYXRhIHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBiYXNlRXJyb3IgPSBgTm8gcm9zZW4gZGF0YSBmb3VuZCBmb3IgdHggWyR7dHJhbnNhY3Rpb24uaGFzaH1dYDtcbiAgICB0cnkge1xuICAgICAgaWYgKHRyYW5zYWN0aW9uLmZyb20gPT0gbnVsbCB8fCB0cmFuc2FjdGlvbi5oYXNoID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgIGB0cmFuc2FjdGlvbiAnZnJvbScgKFske3RyYW5zYWN0aW9uLmZyb219XSkgb3IgJ2hhc2gnIChbJHt0cmFuc2FjdGlvbi5oYXNofV0pIGlzIHVuZXhwZWN0ZWQgKHByb2JhYmx5IHVuc2lnbmVkIHRyYW5zYWN0aW9uIGlzIHBhc3NlZClgXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBpZiAodHJhbnNhY3Rpb24udG8gPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhiYXNlRXJyb3IgKyBgOiAndG8nIGFkZHJlc3MgaXMgZW1wdHkuYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBsZXQgcm9zZW5EYXRhO1xuICAgICAgY29uc3QgY2FsbERhdGEgPSB0cmFuc2FjdGlvbi5kYXRhLnN1YnN0cmluZygyKTtcbiAgICAgIGxldCB0b2tlbjogUmVjb3JkPHN0cmluZywgUm9zZW5DaGFpblRva2VuPjtcbiAgICAgIGxldCByb3NlbkRhdGFSYXc7XG4gICAgICBsZXQgdG9rZW5BZGRyZXNzO1xuICAgICAgbGV0IGFtb3VudDtcbiAgICAgIGxldCBzb3VyY2VUb2tlbklkLCB0YXJnZXRUb2tlbklkO1xuXG4gICAgICBpZiAodHJhbnNhY3Rpb24udG8udG9Mb3dlckNhc2UoKSA9PSB0aGlzLmxvY2tBZGRyZXNzKSB7XG4gICAgICAgIC8vIHRyYW5zYWN0aW9uIG11c3QgYmUgYSBuYXRpdmUgdG9rZW4gdHJhbnNmZXJcbiAgICAgICAgcm9zZW5EYXRhUmF3ID0gY2FsbERhdGE7XG4gICAgICAgIHRva2VuQWRkcmVzcyA9IHRoaXMubmF0aXZlVG9rZW47XG4gICAgICAgIGFtb3VudCA9IHRyYW5zYWN0aW9uLnZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHRva2VucyA9IHRoaXMudG9rZW5zLnNlYXJjaCh0aGlzLmNoYWluLCB7XG4gICAgICAgICAgdG9rZW5JZDogdGhpcy5uYXRpdmVUb2tlbixcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0b2tlbnMubGVuZ3RoID09IDEpIHtcbiAgICAgICAgICBzb3VyY2VUb2tlbklkID0gdGhpcy5uYXRpdmVUb2tlbjtcbiAgICAgICAgICB0b2tlbiA9IHRva2Vuc1swXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGJhc2VFcnJvciArXG4gICAgICAgICAgICAgIGA6IG5hdGl2ZSB0b2tlbiBbJHt0aGlzLm5hdGl2ZVRva2VufV0gaXMgbm90IGF2YWlsYWJsZSBpbiBzb3VyY2UgY2hpYW4ncyB0b2tlbnMgbWFwLmBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRyYW5zYWN0aW9uIG11c3QgYmUgYW4gRVJDLTIwIHRva2VuIHRyYW5zZmVyXG4gICAgICAgIGlmIChjYWxsRGF0YS5zdWJzdHJpbmcoMCwgOCkgIT0gJ2E5MDU5Y2JiJykge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICsgYDogTm90IGEgdmFsaWQgRVJDMjAgdHJhbnNmZXIgdHJhbnNhY3Rpb24uYFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgQmlnSW50KCcweCcgKyBjYWxsRGF0YS5zdWJzdHJpbmcoOCwgNzIpKS50b1N0cmluZygxNikgIT1cbiAgICAgICAgICB0aGlzLmxvY2tBZGRyZXNzLnN1YnN0cmluZygyKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGJhc2VFcnJvciArIGA6ICd0bycgYWRkcmVzcyBpcyBub3QgdGhlIGxvY2sgYWRkcmVzcy5gXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGFtb3VudCA9IEJpZ0ludCgnMHgnICsgY2FsbERhdGEuc2xpY2UoNzIsIDcyICsgNjQpKS50b1N0cmluZygpO1xuICAgICAgICByb3NlbkRhdGFSYXcgPSBjYWxsRGF0YS5zdWJzdHJpbmcoNzIgKyA2NCk7XG4gICAgICAgIHRva2VuQWRkcmVzcyA9IHRyYW5zYWN0aW9uLnRvLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHRva2VucyA9IHRoaXMudG9rZW5zLnNlYXJjaCh0aGlzLmNoYWluLCB7XG4gICAgICAgICAgdG9rZW5JZDogdG9rZW5BZGRyZXNzLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggIT0gMSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYmFzZUVycm9yICtcbiAgICAgICAgICAgICAgYDogdG9rZW4gWyR7dG9rZW5BZGRyZXNzfV0gaXMgbm90IHN1cHBvcnRlZCBvbiBjaGFpbjogWyR7dGhpcy5jaGFpbn1dLmBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdG9rZW4gPSB0b2tlbnNbMF07XG4gICAgICAgIHNvdXJjZVRva2VuSWQgPSB0b2tlbkFkZHJlc3MudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJvc2VuRGF0YSA9IHBhcnNlQ2FsbERhdGEocm9zZW5EYXRhUmF3KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGV4dHJhY3QgZGF0YSBmcm9tIGNhbGwgZGF0YTogJHtlfWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgdGFyZ2V0VG9rZW5JZCA9IHRoaXMudG9rZW5zLmdldElEKHRva2VuLCByb3NlbkRhdGEudG9DaGFpbik7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArXG4gICAgICAgICAgICBgOiB0b2tlbiBbJHt0b2tlbkFkZHJlc3N9XSBpcyBub3Qgc3VwcG9ydGVkIG9uIGNoYWluOiBbJHtyb3NlbkRhdGEudG9DaGFpbn1dLmBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvQ2hhaW46IHJvc2VuRGF0YS50b0NoYWluLFxuICAgICAgICB0b0FkZHJlc3M6IHJvc2VuRGF0YS50b0FkZHJlc3MsXG4gICAgICAgIGJyaWRnZUZlZTogcm9zZW5EYXRhLmJyaWRnZUZlZSxcbiAgICAgICAgbmV0d29ya0ZlZTogcm9zZW5EYXRhLm5ldHdvcmtGZWUsXG4gICAgICAgIGZyb21BZGRyZXNzOiB0cmFuc2FjdGlvbi5mcm9tLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogc291cmNlVG9rZW5JZCxcbiAgICAgICAgYW1vdW50OiBhbW91bnQsXG4gICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogdGFyZ2V0VG9rZW5JZCxcbiAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24uaGFzaCxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIEVWTSByb3NlbiBkYXRhIGZyb20gUlBDOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/evm/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,aAAa,aAAc,MAAM,KAAG,uBAEhD,CAAC"}
@@ -1,9 +0,0 @@
1
- import { parseRosenData } from '../../utils';
2
- /**
3
- * extracts rosen data from transaction's remaining call data
4
- * @param callData
5
- */
6
- export const parseCallData = (callData) => {
7
- return parseRosenData(callData);
8
- };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL2V2bS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzdDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQWdCLEVBQTJCLEVBQUU7SUFDekUsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VSb3NlbkRhdGEgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBleHRyYWN0cyByb3NlbiBkYXRhIGZyb20gdHJhbnNhY3Rpb24ncyByZW1haW5pbmcgY2FsbCBkYXRhXG4gKiBAcGFyYW0gY2FsbERhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlQ2FsbERhdGEgPSAoY2FsbERhdGE6IHN0cmluZyk6IE1pbmltYWxPbkNoYWluUm9zZW5EYXRhID0+IHtcbiAgcmV0dXJuIHBhcnNlUm9zZW5EYXRhKGNhbGxEYXRhKTtcbn07XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"RunesEsploraRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/runes/RunesEsploraRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,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,0BAA2B,SAAQ,0BAA0B,CAAC,yBAAyB,CAAC;IACnG,QAAQ,CAAC,KAAK,mBAAe;IAC7B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAK1E;;;OAGG;IACH,cAAc,gBACC,yBAAyB,KACrC,SAAS,GAAG,SAAS,CAgDtB;IAEF;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,YAChB,eAAe,EAAE,KACzB,aAAa,EAAE,CAmBhB;IAEF;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,mBACV,aAAa,EAAE,KAC9B,uBAAuB,GAAG,SAAS,CAgBpC;IAEF;;;;OAIG;IACH,SAAS,CAAC,YAAY,YAAa,eAAe,EAAE,KAAG,OAAO,CAO5D;CACH"}
@@ -1,113 +0,0 @@
1
- import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
2
- import { RUNES_CHAIN } from '../const';
3
- import { address } from 'bitcoinjs-lib';
4
- import { parseAggregatedData } from './utils';
5
- import JsonBigInt from '@rosen-bridge/json-bigint';
6
- import { minUtxoValue } from './constants';
7
- export class RunesEsploraRosenExtractor extends AbstractRosenDataExtractor {
8
- chain = RUNES_CHAIN;
9
- lockScriptPubKey;
10
- constructor(lockAddress, tokens, logger) {
11
- super(lockAddress, tokens, logger);
12
- this.lockScriptPubKey = address.toOutputScript(lockAddress).toString('hex');
13
- }
14
- /**
15
- * extracts RosenData from given lock transaction in Esplora format
16
- * @param transaction the lock transaction in Esplora format
17
- */
18
- extractRawData = (transaction) => {
19
- const baseError = `No rosen data is found for tx [${transaction.txid}]`;
20
- try {
21
- // validate number of output boxes
22
- const outputs = transaction.vout;
23
- if (outputs.length < 5) {
24
- this.logger.debug(baseError + `: Insufficient number of boxes`);
25
- return undefined;
26
- }
27
- // validate lock conditions
28
- const validLock = this.validateLock(outputs);
29
- if (!validLock) {
30
- this.logger.debug(baseError + `: Failed to find rosen lock utxo`);
31
- return undefined;
32
- }
33
- // validate data conditions
34
- const lockDataChunks = this.getLockDataChunks(outputs);
35
- const lockData = this.lockDataFromChunks(lockDataChunks);
36
- if (!lockData) {
37
- this.logger.debug(baseError + `: Failed to extract rosen data from utxos`);
38
- return undefined;
39
- }
40
- const fromAddress = `box:${transaction.vin[0].txid}.${transaction.vin[0].vout}`;
41
- return {
42
- toChain: lockData.toChain,
43
- toAddress: lockData.toAddress,
44
- bridgeFee: lockData.bridgeFee,
45
- networkFee: lockData.networkFee,
46
- fromAddress: fromAddress,
47
- sourceChainTokenId: '',
48
- amount: '',
49
- targetChainTokenId: '',
50
- sourceTxId: transaction.txid,
51
- };
52
- }
53
- catch (e) {
54
- this.logger.debug(`An error occurred while getting Runes rosen data from Esplora: ${e}`);
55
- if (e instanceof Error && e.stack) {
56
- this.logger.debug(e.stack);
57
- }
58
- }
59
- return undefined;
60
- };
61
- /**
62
- * extracts RosenData chunks from tx outputs
63
- * @param outputs
64
- * @return array of LockDataChunk
65
- */
66
- getLockDataChunks = (outputs) => {
67
- const lockDataChunks = [];
68
- for (let i = 0; i < 4; i++) {
69
- for (let boxIndex = 0; boxIndex < outputs.length; boxIndex++) {
70
- const output = outputs[boxIndex];
71
- if (output.value !== minUtxoValue + i)
72
- continue; // wrong data index
73
- if (output.scriptpubkey.slice(0, 4) !== '0014')
74
- continue; // not a native-segwit utxo
75
- lockDataChunks.push({
76
- index: i,
77
- data: output.scriptpubkey.slice(4),
78
- });
79
- break;
80
- }
81
- }
82
- return lockDataChunks;
83
- };
84
- /**
85
- * combines lock data chunks into lock data object
86
- * @param lockDataChunks
87
- * @return lock data object or undefined
88
- */
89
- lockDataFromChunks = (lockDataChunks) => {
90
- let lockData;
91
- try {
92
- lockData = parseAggregatedData(lockDataChunks.map((chunk) => chunk.data).join(''));
93
- }
94
- catch (e) {
95
- this.logger.debug(`Failed to extract data from chunks [${JsonBigInt.stringify(lockDataChunks)}]: ${e}`);
96
- }
97
- return lockData;
98
- };
99
- /**
100
- * check lock box exists in the tx outputs
101
- * @param outputs
102
- * @return boolean
103
- */
104
- validateLock = (outputs) => {
105
- for (let i = 0; i < outputs.length; i++) {
106
- if (outputs[i].scriptpubkey === this.lockScriptPubKey) {
107
- return true;
108
- }
109
- }
110
- return false;
111
- };
112
- }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVuZXNFc3Bsb3JhUm9zZW5FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL3J1bmVzL1J1bmVzRXNwbG9yYVJvc2VuRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sMEJBQTBCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUl2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QyxPQUFPLFVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBcUQ7SUFDMUYsS0FBSyxHQUFHLFdBQVcsQ0FBQztJQUNuQixnQkFBZ0IsQ0FBUztJQUVuQyxZQUFZLFdBQW1CLEVBQUUsTUFBZ0IsRUFBRSxNQUF1QjtRQUN4RSxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsR0FBRyxDQUNmLFdBQXNDLEVBQ2YsRUFBRTtRQUN6QixNQUFNLFNBQVMsR0FBRyxrQ0FBa0MsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ3hFLElBQUk7WUFDRixrQ0FBa0M7WUFDbEMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNqQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixJQUFJLENBQUMsTUFBTSxD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LGNBQStCLEVBQ00sRUFBRTtRQUN2QyxJQUFJLFFBQTZDLENBQUM7UUFFbEQsSUFBSTtZQUNGLFFBQVEsR0FBRyxtQkFBbUIsQ0FDNUIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDbkQsQ0FBQztTQUNIO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix1Q0FBdUMsVUFBVSxDQUFDLFNBQVMsQ0FDekQsY0FBYyxDQUNmLE1BQU0sQ0FBQyxFQUFFLENBQ1gsQ0FBQztTQUNIO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNPLFlBQVksR0FBRyxDQUFDLE9BQTBCLEVBQVcsRUFBRTtRQUMvRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNyRCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFJVTkVTX0NIQUlOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IHsgQml0Y29pbkVzcGxvcmFUcmFuc2FjdGlvbiwgRXNwbG9yYVR4T3V0cHV0IH0gZnJvbSAnLi4vYml0Y29pbi90eXBlcyc7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgYWRkcmVzcyB9IGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0IHsgcGFyc2VBZ2dyZWdhdGVkRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEpzb25CaWdJbnQgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQgeyBMb2NrRGF0YUNodW5rIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IG1pblV0eG9WYWx1ZSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFJ1bmVzRXNwbG9yYVJvc2VuRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RSb3NlbkRhdGFFeHRyYWN0b3I8Qml0Y29pbkVzcGxvcmFUcmFuc2FjdGlvbj4ge1xuICByZWFkb25seSBjaGFpbiA9IFJVTkVTX0NIQUlOO1xuICBwcm90ZWN0ZWQgbG9ja1NjcmlwdFB1YktleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGxvY2tBZGRyZXNzOiBzdHJpbmcsIHRva2VuczogVG9rZW5NYXAsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmxvY2tTY3JpcHRQdWJLZXkgPSBhZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGxvY2tBZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBFc3Bsb3JhIGZvcm1hdFxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gdGhlIGxvY2sgdHJhbnNhY3Rpb24gaW4gRXNwbG9yYSBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RSYXdEYXRhID0gKFxuICAgIHRyYW5zYWN0aW9uOiBCaXRjb2luRXNwbG9yYVRyYW5zYWN0aW9uXG4gICk6IFJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgYmFzZUVycm9yID0gYE5vIHJvc2VuIGRhdGEgaXMgZm91bmQgZm9yIHR4IFske3RyYW5zYWN0aW9uLnR4aWR9XWA7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHZhbGlkYXRlIG51bWJlciBvZiBvdXRwdXQgYm94ZXNcbiAgICAgIGNvbnN0IG91dHB1dHMgPSB0cmFuc2FjdGlvbi52b3V0O1xuICAgICAgaWYgKG91dHB1dHMubGVuZ3RoIDwgNSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhiYXNlRXJyb3IgKyBgOiBJbnN1ZmZpY2llbnQgbnVtYmVyIG9mIGJveGVzYCk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkYXRlIGxvY2sgY29uZGl0aW9uc1xuICAgICAgY29uc3QgdmFsaWRMb2NrID0gdGhpcy52YWxpZGF0ZUxvY2sob3V0cHV0cyk7XG4gICAgICBpZiAoIXZhbGlkTG9jaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhiYXNlRXJyb3IgKyBgOiBGYWlsZWQgdG8gZmluZCByb3NlbiBsb2NrIHV0eG9gKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgLy8gdmFsaWRhdGUgZGF0YSBjb25kaXRpb25zXG4gICAgICBjb25zdCBsb2NrRGF0YUNodW5rcyA9IHRoaXMuZ2V0TG9ja0RhdGFDaHVua3Mob3V0cHV0cyk7XG4gICAgICBjb25zdCBsb2NrRGF0YSA9IHRoaXMubG9ja0RhdGFGcm9tQ2h1bmtzKGxvY2tEYXRhQ2h1bmtzKTtcbiAgICAgIGlmICghbG9ja0RhdGEpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYmFzZUVycm9yICsgYDogRmFpbGVkIHRvIGV4dHJhY3Qgcm9zZW4gZGF0YSBmcm9tIHV0eG9zYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmcm9tQWRkcmVzcyA9IGBib3g6JHt0cmFuc2FjdGlvbi52aW5bMF0udHhpZH0uJHt0cmFuc2FjdGlvbi52aW5bMF0udm91dH1gO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdG9DaGFpbjogbG9ja0RhdGEudG9DaGFpbixcbiAgICAgICAgdG9BZGRyZXNzOiBsb2NrRGF0YS50b0FkZHJlc3MsXG4gICAgICAgIGJyaWRnZUZlZTogbG9ja0RhdGEuYnJpZGdlRmVlLFxuICAgICAgICBuZXR3b3JrRmVlOiBsb2NrRGF0YS5uZXR3b3JrRmVlLFxuICAgICAgICBmcm9tQWRkcmVzczogZnJvbUFkZHJlc3MsXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogJycsXG4gICAgICAgIGFtb3VudDogJycsXG4gICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogJycsXG4gICAgICAgIHNvdXJjZVR4SWQ6IHRyYW5zYWN0aW9uLnR4aWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBSdW5lcyByb3NlbiBkYXRhIGZyb20gRXNwbG9yYTogJHtlfWBcbiAgICAgICk7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZS5zdGFjayk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIFJvc2VuRGF0YSBjaHVua3MgZnJvbSB0eCBvdXRwdXRzXG4gICAqIEBwYXJhbSBvdXRwdXRzXG4gICAqIEByZXR1cm4gYXJyYXkgb2YgTG9ja0RhdGFDaHVua1xuICAgKi9cbiAgcHJvdGVjdGVkIGdldExvY2tEYXRhQ2h1bmtzID0gKFxuICAgIG91dHB1dHM6IEVzcGxvcmFUeE91dHB1dFtdXG4gICk6IExvY2tEYXRhQ2h1bmtbXSA9PiB7XG4gICAgY29uc3QgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgIGZvciAobGV0IGJveEluZGV4ID0gMDsgYm94SW5kZXggPCBvdXRwdXRzLmxlbmd0aDsgYm94SW5kZXgrKykge1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzW2JveEluZGV4XTtcblxuICAgICAgICBpZiAob3V0cHV0LnZhbHVlICE9PSBtaW5VdHhvVmFsdWUgKyBpKSBjb250aW51ZTsgLy8gd3JvbmcgZGF0YSBpbmRleFxuICAgICAgICBpZiAob3V0cHV0LnNjcmlwdHB1YmtleS5zbGljZSgwLCA0KSAhPT0gJzAwMTQnKSBjb250aW51ZTsgLy8gbm90IGEgbmF0aXZlLXNlZ3dpdCB1dHhvXG5cbiAgICAgICAgbG9ja0RhdGFDaHVua3MucHVzaCh7XG4gICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgZGF0YTogb3V0cHV0LnNjcmlwdHB1YmtleS5zbGljZSg0KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YUNodW5rcztcbiAgfTtcblxuICAvKipcbiAgICogY29tYmluZXMgbG9jayBkYXRhIGNodW5rcyBpbnRvIGxvY2sgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIGxvY2tEYXRhQ2h1bmtzXG4gICAqIEByZXR1cm4gbG9jayBkYXRhIG9iamVjdCBvciB1bmRlZmluZWRcbiAgICovXG4gIHByb3RlY3RlZCBsb2NrRGF0YUZyb21DaHVua3MgPSAoXG4gICAgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXVxuICApOiBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgbGV0IGxvY2tEYXRhOiBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB8IHVuZGVmaW5lZDtcblxuICAgIHRyeSB7XG4gICAgICBsb2NrRGF0YSA9IHBhcnNlQWdncmVnYXRlZERhdGEoXG4gICAgICAgIGxvY2tEYXRhQ2h1bmtzLm1hcCgoY2h1bmspID0+IGNodW5rLmRhdGEpLmpvaW4oJycpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRmFpbGVkIHRvIGV4dHJhY3QgZGF0YSBmcm9tIGNodW5rcyBbJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICBsb2NrRGF0YUNodW5rc1xuICAgICAgICApfV06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YTtcbiAgfTtcblxuICAvKipcbiAgICogY2hlY2sgbG9jayBib3ggZXhpc3RzIGluIHRoZSB0eCBvdXRwdXRzXG4gICAqIEBwYXJhbSBvdXRwdXRzXG4gICAqIEByZXR1cm4gYm9vbGVhblxuICAgKi9cbiAgcHJvdGVjdGVkIHZhbGlkYXRlTG9jayA9IChvdXRwdXRzOiBFc3Bsb3JhVHhPdXRwdXRbXSk6IGJvb2xlYW4gPT4ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG91dHB1dHNbaV0uc2NyaXB0cHVia2V5ID09PSB0aGlzLmxvY2tTY3JpcHRQdWJLZXkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"RunesRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/runes/RunesRosenExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAa,MAAM,kBAAkB,CAAC;AAC9D,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,mBAAoB,SAAQ,0BAA0B,CAAC,MAAM,CAAC;IACzE,QAAQ,CAAC,KAAK,mBAAe;IAC7B,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,CAyDrE;IAEF;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,YAChB,eAAe,EAAE,KACzB,aAAa,EAAE,CAmBhB;IAEF;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,mBACV,aAAa,EAAE,KAC9B,uBAAuB,GAAG,SAAS,CAgBpC;IAEF;;;;OAIG;IACH,SAAS,CAAC,YAAY,YAAa,eAAe,EAAE,KAAG,OAAO,CAO5D;CACH"}
@@ -1,120 +0,0 @@
1
- import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
2
- import { RUNES_CHAIN } from '../const';
3
- import { address } from 'bitcoinjs-lib';
4
- import { parseAggregatedData } from './utils';
5
- import JsonBigInt from '@rosen-bridge/json-bigint';
6
- import { minUtxoValue } from './constants';
7
- export class RunesRosenExtractor extends AbstractRosenDataExtractor {
8
- chain = RUNES_CHAIN;
9
- lockScriptPubKey;
10
- constructor(lockAddress, tokens, logger) {
11
- super(lockAddress, tokens, logger);
12
- this.lockScriptPubKey = address.toOutputScript(lockAddress).toString('hex');
13
- }
14
- /**
15
- * extracts RosenData from given lock transaction in BitcoinTx format
16
- * @param serializedTransaction stringified transaction in BitcoinTx format
17
- */
18
- extractRawData = (serializedTransaction) => {
19
- let transaction;
20
- try {
21
- transaction = JsonBigInt.parse(serializedTransaction);
22
- }
23
- catch (e) {
24
- throw new Error(`Failed to parse transaction json to BitcoinTx format while extracting rosen data: ${e}`);
25
- }
26
- const baseError = `No rosen data is found for tx [${transaction.id}]`;
27
- try {
28
- // validate number of output boxes
29
- const outputs = transaction.outputs;
30
- if (outputs.length < 5) {
31
- this.logger.debug(baseError + `: Insufficient number of boxes`);
32
- return undefined;
33
- }
34
- // validate lock conditions
35
- const validLock = this.validateLock(outputs);
36
- if (!validLock) {
37
- this.logger.debug(baseError + `: Failed to find rosen lock utxo`);
38
- return undefined;
39
- }
40
- // validate data conditions
41
- const lockDataChunks = this.getLockDataChunks(outputs);
42
- const lockData = this.lockDataFromChunks(lockDataChunks);
43
- if (!lockData) {
44
- this.logger.debug(baseError + `: Failed to extract rosen data from utxos`);
45
- return undefined;
46
- }
47
- const fromAddress = `box:${transaction.inputs[0].txId}.${transaction.inputs[0].index}`;
48
- return {
49
- toChain: lockData.toChain,
50
- toAddress: lockData.toAddress,
51
- bridgeFee: lockData.bridgeFee,
52
- networkFee: lockData.networkFee,
53
- fromAddress: fromAddress,
54
- sourceChainTokenId: '',
55
- amount: '',
56
- targetChainTokenId: '',
57
- sourceTxId: transaction.id,
58
- };
59
- }
60
- catch (e) {
61
- this.logger.debug(`An error occurred while getting Runes rosen data from BitcoinTx: ${e}`);
62
- if (e instanceof Error && e.stack) {
63
- this.logger.debug(e.stack);
64
- }
65
- }
66
- return undefined;
67
- };
68
- /**
69
- * extracts RosenData chunks from tx outputs
70
- * @param outputs
71
- * @return array of LockDataChunk
72
- */
73
- getLockDataChunks = (outputs) => {
74
- const lockDataChunks = [];
75
- for (let i = 0; i < 4; i++) {
76
- for (let boxIndex = 0; boxIndex < outputs.length; boxIndex++) {
77
- const output = outputs[boxIndex];
78
- if (output.value !== BigInt(minUtxoValue) + BigInt(i))
79
- continue; // wrong data index
80
- if (output.scriptPubKey.slice(0, 4) !== '0014')
81
- continue; // not a native-segwit utxo
82
- lockDataChunks.push({
83
- index: i,
84
- data: output.scriptPubKey.slice(4),
85
- });
86
- break;
87
- }
88
- }
89
- return lockDataChunks;
90
- };
91
- /**
92
- * combines lock data chunks into lock data object
93
- * @param lockDataChunks
94
- * @return lock data object or undefined
95
- */
96
- lockDataFromChunks = (lockDataChunks) => {
97
- let lockData;
98
- try {
99
- lockData = parseAggregatedData(lockDataChunks.map((chunk) => chunk.data).join(''));
100
- }
101
- catch (e) {
102
- this.logger.debug(`Failed to extract data from chunks [${JsonBigInt.stringify(lockDataChunks)}]: ${e}`);
103
- }
104
- return lockData;
105
- };
106
- /**
107
- * check lock box exists in the tx outputs
108
- * @param outputs
109
- * @return boolean
110
- */
111
- validateLock = (outputs) => {
112
- for (let i = 0; i < outputs.length; i++) {
113
- if (outputs[i].scriptPubKey === this.lockScriptPubKey) {
114
- return true;
115
- }
116
- }
117
- return false;
118
- };
119
- }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVuZXNSb3NlbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9nZXRSb3NlbkRhdGEvcnVuZXMvUnVuZXNSb3NlbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLDBCQUEwQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsMEJBQWtDO0lBQ2hFLEtBQUssR0FBRyxXQUFXLENBQUM7SUFDbkIsZ0JBQWdCLENBQVM7SUFFbkMsWUFBWSxXQUFtQixFQUFFLE1BQWdCLEVBQUUsTUFBdUI7UUFDeEUsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLEdBQUcsQ0FBQyxxQkFBNkIsRUFBeUIsRUFBRTtRQUN4RSxJQUFJLFdBQXNCLENBQUM7UUFDM0IsSUFBSTtZQUNGLFdBQVcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDdkQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQ2IscUZBQXFGLENBQUMsRUFBRSxDQUN6RixDQUFDO1NBQ0g7UUFDRCxNQUFNLFNBQVMsR0FBRyxrQ0FB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QkFDbEIsS0FBSyxFQUFFLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDbkMsQ0FBQyxDQUFDO2dCQUNILE1BQU07YUFDUDtTQUNGO1FBRUQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNPLGtCQUFrQixHQUFHLENBQzdCLGNBQStCLEVBQ00sRUFBRTtRQUN2QyxJQUFJLFFBQTZDLENBQUM7UUFFbEQsSUFBSTtZQUNGLFFBQVEsR0FBRyxtQkFBbUIsQ0FDNUIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDbkQsQ0FBQztTQUNIO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix1Q0FBdUMsVUFBVSxDQUFDLFNBQVMsQ0FDekQsY0FBYyxDQUNmLE1BQU0sQ0FBQyxFQUFFLENBQ1gsQ0FBQztTQUNIO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNPLFlBQVksR0FBRyxDQUFDLE9BQTBCLEVBQVcsRUFBRTtRQUMvRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNyRCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZW5EYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3QvdHlwZXMnO1xuaW1wb3J0IEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yIGZyb20gJy4uL2Fic3RyYWN0L0Fic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yJztcbmltcG9ydCB7IFJVTkVTX0NIQUlOIH0gZnJvbSAnLi4vY29uc3QnO1xuaW1wb3J0IHsgQml0Y29pblR4T3V0cHV0LCBCaXRjb2luVHggfSBmcm9tICcuLi9iaXRjb2luL3R5cGVzJztcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS90b2tlbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBhZGRyZXNzIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgeyBwYXJzZUFnZ3JlZ2F0ZWREYXRhIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgSnNvbkJpZ0ludCBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IExvY2tEYXRhQ2h1bmsgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE1pbmltYWxPbkNoYWluUm9zZW5EYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgbWluVXR4b1ZhbHVlIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgUnVuZXNSb3NlbkV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0Um9zZW5EYXRhRXh0cmFjdG9yPHN0cmluZz4ge1xuICByZWFkb25seSBjaGFpbiA9IFJVTkVTX0NIQUlOO1xuICBwcm90ZWN0ZWQgbG9ja1NjcmlwdFB1YktleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGxvY2tBZGRyZXNzOiBzdHJpbmcsIHRva2VuczogVG9rZW5NYXAsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgc3VwZXIobG9ja0FkZHJlc3MsIHRva2VucywgbG9nZ2VyKTtcbiAgICB0aGlzLmxvY2tTY3JpcHRQdWJLZXkgPSBhZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGxvY2tBZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGZyb20gZ2l2ZW4gbG9jayB0cmFuc2FjdGlvbiBpbiBCaXRjb2luVHggZm9ybWF0XG4gICAqIEBwYXJhbSBzZXJpYWxpemVkVHJhbnNhY3Rpb24gc3RyaW5naWZpZWQgdHJhbnNhY3Rpb24gaW4gQml0Y29pblR4IGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdFJhd0RhdGEgPSAoc2VyaWFsaXplZFRyYW5zYWN0aW9uOiBzdHJpbmcpOiBSb3NlbkRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICAgIGxldCB0cmFuc2FjdGlvbjogQml0Y29pblR4O1xuICAgIHRyeSB7XG4gICAgICB0cmFuc2FjdGlvbiA9IEpzb25CaWdJbnQucGFyc2Uoc2VyaWFsaXplZFRyYW5zYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gcGFyc2UgdHJhbnNhY3Rpb24ganNvbiB0byBCaXRjb2luVHggZm9ybWF0IHdoaWxlIGV4dHJhY3Rpbmcgcm9zZW4gZGF0YTogJHtlfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGJhc2VFcnJvciA9IGBObyByb3NlbiBkYXRhIGlzIGZvdW5kIGZvciB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dYDtcbiAgICB0cnkge1xuICAgICAgLy8gdmFsaWRhdGUgbnVtYmVyIG9mIG91dHB1dCBib3hlc1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IHRyYW5zYWN0aW9uLm91dHB1dHM7XG4gICAgICBpZiAob3V0cHV0cy5sZW5ndGggPCA1KSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEluc3VmZmljaWVudCBudW1iZXIgb2YgYm94ZXNgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgLy8gdmFsaWRhdGUgbG9jayBjb25kaXRpb25zXG4gICAgICBjb25zdCB2YWxpZExvY2sgPSB0aGlzLnZhbGlkYXRlTG9jayhvdXRwdXRzKTtcbiAgICAgIGlmICghdmFsaWRMb2NrKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGJhc2VFcnJvciArIGA6IEZhaWxlZCB0byBmaW5kIHJvc2VuIGxvY2sgdXR4b2ApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyB2YWxpZGF0ZSBkYXRhIGNvbmRpdGlvbnNcbiAgICAgIGNvbnN0IGxvY2tEYXRhQ2h1bmtzID0gdGhpcy5nZXRMb2NrRGF0YUNodW5rcyhvdXRwdXRzKTtcbiAgICAgIGNvbnN0IGxvY2tEYXRhID0gdGhpcy5sb2NrRGF0YUZyb21DaHVua3MobG9ja0RhdGFDaHVua3MpO1xuXG4gICAgICBpZiAoIWxvY2tEYXRhKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGJhc2VFcnJvciArIGA6IEZhaWxlZCB0byBleHRyYWN0IHJvc2VuIGRhdGEgZnJvbSB1dHhvc2BcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJvbUFkZHJlc3MgPSBgYm94OiR7dHJhbnNhY3Rpb24uaW5wdXRzWzBdLnR4SWR9LiR7dHJhbnNhY3Rpb24uaW5wdXRzWzBdLmluZGV4fWA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0NoYWluOiBsb2NrRGF0YS50b0NoYWluLFxuICAgICAgICB0b0FkZHJlc3M6IGxvY2tEYXRhLnRvQWRkcmVzcyxcbiAgICAgICAgYnJpZGdlRmVlOiBsb2NrRGF0YS5icmlkZ2VGZWUsXG4gICAgICAgIG5ldHdvcmtGZWU6IGxvY2tEYXRhLm5ldHdvcmtGZWUsXG4gICAgICAgIGZyb21BZGRyZXNzOiBmcm9tQWRkcmVzcyxcbiAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiAnJyxcbiAgICAgICAgYW1vdW50OiAnJyxcbiAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiAnJyxcbiAgICAgICAgc291cmNlVHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBSdW5lcyByb3NlbiBkYXRhIGZyb20gQml0Y29pblR4OiAke2V9YFxuICAgICAgKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlLnN0YWNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgUm9zZW5EYXRhIGNodW5rcyBmcm9tIHR4IG91dHB1dHNcbiAgICogQHBhcmFtIG91dHB1dHNcbiAgICogQHJldHVybiBhcnJheSBvZiBMb2NrRGF0YUNodW5rXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0TG9ja0RhdGFDaHVua3MgPSAoXG4gICAgb3V0cHV0czogQml0Y29pblR4T3V0cHV0W11cbiAgKTogTG9ja0RhdGFDaHVua1tdID0+IHtcbiAgICBjb25zdCBsb2NrRGF0YUNodW5rczogTG9ja0RhdGFDaHVua1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgZm9yIChsZXQgYm94SW5kZXggPSAwOyBib3hJbmRleCA8IG91dHB1dHMubGVuZ3RoOyBib3hJbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IG91dHB1dHNbYm94SW5kZXhdO1xuXG4gICAgICAgIGlmIChvdXRwdXQudmFsdWUgIT09IEJpZ0ludChtaW5VdHhvVmFsdWUpICsgQmlnSW50KGkpKSBjb250aW51ZTsgLy8gd3JvbmcgZGF0YSBpbmRleFxuICAgICAgICBpZiAob3V0cHV0LnNjcmlwdFB1YktleS5zbGljZSgwLCA0KSAhPT0gJzAwMTQnKSBjb250aW51ZTsgLy8gbm90IGEgbmF0aXZlLXNlZ3dpdCB1dHhvXG5cbiAgICAgICAgbG9ja0RhdGFDaHVua3MucHVzaCh7XG4gICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgZGF0YTogb3V0cHV0LnNjcmlwdFB1YktleS5zbGljZSg0KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YUNodW5rcztcbiAgfTtcblxuICAvKipcbiAgICogY29tYmluZXMgbG9jayBkYXRhIGNodW5rcyBpbnRvIGxvY2sgZGF0YSBvYmplY3RcbiAgICogQHBhcmFtIGxvY2tEYXRhQ2h1bmtzXG4gICAqIEByZXR1cm4gbG9jayBkYXRhIG9iamVjdCBvciB1bmRlZmluZWRcbiAgICovXG4gIHByb3RlY3RlZCBsb2NrRGF0YUZyb21DaHVua3MgPSAoXG4gICAgbG9ja0RhdGFDaHVua3M6IExvY2tEYXRhQ2h1bmtbXVxuICApOiBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgbGV0IGxvY2tEYXRhOiBNaW5pbWFsT25DaGFpblJvc2VuRGF0YSB8IHVuZGVmaW5lZDtcblxuICAgIHRyeSB7XG4gICAgICBsb2NrRGF0YSA9IHBhcnNlQWdncmVnYXRlZERhdGEoXG4gICAgICAgIGxvY2tEYXRhQ2h1bmtzLm1hcCgoY2h1bmspID0+IGNodW5rLmRhdGEpLmpvaW4oJycpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRmFpbGVkIHRvIGV4dHJhY3QgZGF0YSBmcm9tIGNodW5rcyBbJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICBsb2NrRGF0YUNodW5rc1xuICAgICAgICApfV06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBsb2NrRGF0YTtcbiAgfTtcblxuICAvKipcbiAgICogY2hlY2sgbG9jayBib3ggZXhpc3RzIGluIHRoZSB0eCBvdXRwdXRzXG4gICAqIEBwYXJhbSBvdXRwdXRzXG4gICAqIEByZXR1cm4gYm9vbGVhblxuICAgKi9cbiAgcHJvdGVjdGVkIHZhbGlkYXRlTG9jayA9IChvdXRwdXRzOiBCaXRjb2luVHhPdXRwdXRbXSk6IGJvb2xlYW4gPT4ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG91dHB1dHNbaV0uc2NyaXB0UHViS2V5ID09PSB0aGlzLmxvY2tTY3JpcHRQdWJLZXkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"RunesRpcRosenExtractor.d.ts","sourceRoot":"","sources":["../../../../lib/getRosenData/runes/RunesRpcRosenExtractor.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,sBAAuB,SAAQ,0BAA0B,CAAC,qBAAqB,CAAC;IAC3F,QAAQ,CAAC,KAAK,mBAAe;IAC7B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEvB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,cAAc;IAK1E;;;OAGG;IACH,cAAc,gBACC,qBAAqB,KACjC,SAAS,GAAG,SAAS,CAkDtB;IAEF;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,YAChB,kBAAkB,EAAE,KAC5B,aAAa,EAAE,CAmBhB;IAEF;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,mBACV,aAAa,EAAE,KAC9B,uBAAuB,GAAG,SAAS,CAgBpC;IAEF;;;;OAIG;IACH,SAAS,CAAC,YAAY,YAAa,kBAAkB,EAAE,KAAG,OAAO,CAO/D;CACH"}