@rosen-bridge/rosen-extractor 6.2.0 → 6.2.2

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 (28) hide show
  1. package/dist/lib/getRosenData/Utils.d.ts +59 -0
  2. package/dist/lib/getRosenData/Utils.d.ts.map +1 -0
  3. package/dist/lib/getRosenData/Utils.js +96 -0
  4. package/dist/lib/getRosenData/abstract/AbstractRosenDataExtractor.d.ts +20 -14
  5. package/dist/lib/getRosenData/abstract/types.d.ts +13 -13
  6. package/dist/lib/getRosenData/bitcoin/BitcoinEsploraRosenExtractor.d.ts +24 -15
  7. package/dist/lib/getRosenData/bitcoin/BitcoinRosenExtractor.d.ts +22 -15
  8. package/dist/lib/getRosenData/bitcoin/BitcoinRpcRosenExtractor.d.ts +22 -15
  9. package/dist/lib/getRosenData/bitcoin/types.d.ts +66 -66
  10. package/dist/lib/getRosenData/bitcoin/utils.d.ts +1 -1
  11. package/dist/lib/getRosenData/cardano/CardanoBlockFrostRosenExtractor.d.ts +16 -13
  12. package/dist/lib/getRosenData/cardano/CardanoGraphQLRosenExtractor.d.ts +16 -13
  13. package/dist/lib/getRosenData/cardano/CardanoKoiosRosenExtractor.d.ts +16 -13
  14. package/dist/lib/getRosenData/cardano/CardanoOgmiosRosenExtractor.d.ts +16 -13
  15. package/dist/lib/getRosenData/cardano/CardanoRosenExtractor.d.ts +16 -13
  16. package/dist/lib/getRosenData/cardano/types.d.ts +110 -90
  17. package/dist/lib/getRosenData/cardano/utils.d.ts +10 -8
  18. package/dist/lib/getRosenData/const.d.ts +9 -9
  19. package/dist/lib/getRosenData/ergo/ErgoNodeRosenExtractor.d.ts +22 -15
  20. package/dist/lib/getRosenData/ergo/ErgoRosenExtractor.d.ts +13 -9
  21. package/dist/lib/getRosenData/ergo/types.d.ts +24 -24
  22. package/dist/lib/getRosenData/evm/EvmEthersRosenExtractor.d.ts +15 -9
  23. package/dist/lib/getRosenData/evm/EvmRosenExtractor.d.ts +15 -9
  24. package/dist/lib/getRosenData/evm/EvmRpcRosenExtractor.d.ts +25 -19
  25. package/dist/lib/getRosenData/evm/utils.d.ts +5 -5
  26. package/dist/lib/index.d.ts +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +2 -2
@@ -0,0 +1,59 @@
1
+ import { Metadatum } from '@cardano-ogmios/schema';
2
+ import { ListObject, MetadataObject } from './cardano/types';
3
+ declare class Utils {
4
+ static JsonBI: {
5
+ parse: (
6
+ text: string,
7
+ reviver?: ((this: any, key: string, value: any) => any) | undefined
8
+ ) => any;
9
+ stringify: {
10
+ (
11
+ value: any,
12
+ replacer?: ((this: any, key: string, value: any) => any) | undefined,
13
+ space?: string | number | undefined
14
+ ): string;
15
+ (
16
+ value: any,
17
+ replacer?: (string | number)[] | null | undefined,
18
+ space?: string | number | undefined
19
+ ): string;
20
+ };
21
+ };
22
+ /**
23
+ * extracts int value from Metadatum object
24
+ * @param val
25
+ * @returns : int value or undefined if parameter is not an int
26
+ */
27
+ static getIntValue: (val: Metadatum) => string | undefined;
28
+ /**
29
+ * extracts string value from Metadatum object
30
+ * @param val
31
+ * @returns : string value or undefined if parameter is not a string
32
+ */
33
+ static getStringValue: (val: Metadatum) => string | undefined;
34
+ /**
35
+ * extracts list value from Metadatum object
36
+ * @param val
37
+ * @returns : list value or undefined if parameter is not a list
38
+ */
39
+ static getListValue: (val: Metadatum) => ListObject | undefined;
40
+ /**
41
+ * extracts one of int or string from Metadatum object
42
+ * @param val
43
+ * @returns : native value or undefined if parameter is not a string or int
44
+ */
45
+ static getNativeValue: (val: Metadatum) => string | undefined;
46
+ /**
47
+ * extracts dictionary from Metadatum object
48
+ * @param val
49
+ * @returns : dictionary value or undefined if parameter is not a dict
50
+ */
51
+ static getDictValue: (val: Metadatum) => MetadataObject;
52
+ /**
53
+ * Convert a Metadatum to a json
54
+ * @param val
55
+ */
56
+ static ObjectToJson: (val: Metadatum) => MetadataObject;
57
+ }
58
+ export default Utils;
59
+ //# sourceMappingURL=Utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../lib/getRosenData/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAGV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAc,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGzE,cAAM,KAAK;IACT,MAAM,CAAC,MAAM;;;;;;MAGV;IAEH;;;;OAIG;IACH,MAAM,CAAC,WAAW,QAAS,SAAS,wBAIlC;IAEF;;;;OAIG;IACH,MAAM,CAAC,cAAc,QAAS,SAAS,wBAIrC;IAEF;;;;OAIG;IACH,MAAM,CAAC,YAAY,QAAS,SAAS,KAAG,UAAU,GAAG,SAAS,CAa5D;IAEF;;;;OAIG;IACH,MAAM,CAAC,cAAc,QAAS,SAAS,wBAKrC;IAEF;;;;OAIG;IACH,MAAM,CAAC,YAAY,QAAS,SAAS,KAAG,cAAc,CAoBpD;IAEF;;;OAGG;IACH,MAAM,CAAC,YAAY,QAAS,SAAS,oBAMnC;CACH;AAED,eAAe,KAAK,CAAC"}
@@ -0,0 +1,96 @@
1
+ import JSONBigInt from 'json-bigint';
2
+ class Utils {
3
+ static JsonBI = JSONBigInt({
4
+ useNativeBigInt: true,
5
+ alwaysParseAsBig: true,
6
+ });
7
+ /**
8
+ * extracts int value from Metadatum object
9
+ * @param val
10
+ * @returns : int value or undefined if parameter is not an int
11
+ */
12
+ static getIntValue = (val) => {
13
+ return Object.prototype.hasOwnProperty.call(val, 'int')
14
+ ? val.int.toString()
15
+ : undefined;
16
+ };
17
+ /**
18
+ * extracts string value from Metadatum object
19
+ * @param val
20
+ * @returns : string value or undefined if parameter is not a string
21
+ */
22
+ static getStringValue = (val) => {
23
+ return Object.prototype.hasOwnProperty.call(val, 'string')
24
+ ? val.string
25
+ : undefined;
26
+ };
27
+ /**
28
+ * extracts list value from Metadatum object
29
+ * @param val
30
+ * @returns : list value or undefined if parameter is not a list
31
+ */
32
+ static getListValue = (val) => {
33
+ if (Object.prototype.hasOwnProperty.call(val, 'list')) {
34
+ const list = val.list;
35
+ const res = [];
36
+ list.forEach((item) => {
37
+ const val = this.ObjectToJson(item);
38
+ if (val) {
39
+ res.push(val);
40
+ }
41
+ });
42
+ return res;
43
+ }
44
+ return undefined;
45
+ };
46
+ /**
47
+ * extracts one of int or string from Metadatum object
48
+ * @param val
49
+ * @returns : native value or undefined if parameter is not a string or int
50
+ */
51
+ static getNativeValue = (val) => {
52
+ const intVal = this.getIntValue(val);
53
+ if (intVal) return intVal;
54
+ const stringVal = this.getStringValue(val);
55
+ if (stringVal) return stringVal;
56
+ };
57
+ /**
58
+ * extracts dictionary from Metadatum object
59
+ * @param val
60
+ * @returns : dictionary value or undefined if parameter is not a dict
61
+ */
62
+ static getDictValue = (val) => {
63
+ if (Object.prototype.hasOwnProperty.call(val, 'map')) {
64
+ const list = val.map;
65
+ const res = {};
66
+ list.forEach((item) => {
67
+ const key = this.getNativeValue(item.k);
68
+ if (key) {
69
+ res[key] = this.ObjectToJson(item.v);
70
+ }
71
+ });
72
+ return res;
73
+ } else if (Object.prototype.hasOwnProperty.call(val, 'list')) {
74
+ const list = val.list;
75
+ const res = [];
76
+ list.map((item) => {
77
+ res.push(this.getDictValue(item));
78
+ });
79
+ return res;
80
+ }
81
+ return this.getNativeValue(val);
82
+ };
83
+ /**
84
+ * Convert a Metadatum to a json
85
+ * @param val
86
+ */
87
+ static ObjectToJson = (val) => {
88
+ const nativeValue = this.getNativeValue(val);
89
+ if (nativeValue) return nativeValue;
90
+ const listValue = this.getListValue(val);
91
+ if (listValue) return listValue;
92
+ return this.getDictValue(val);
93
+ };
94
+ }
95
+ export default Utils;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZ2V0Um9zZW5EYXRhL1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUVyQyxNQUFNLEtBQUs7SUFDVCxNQUFNLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUN6QixlQUFlLEVBQUUsSUFBSTtRQUNyQixnQkFBZ0IsRUFBRSxJQUFJO0tBQ3ZCLENBQUMsQ0FBQztJQUVIOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBYyxFQUFFLEVBQUU7UUFDdEMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQztZQUNyRCxDQUFDLENBQUUsR0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDN0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsR0FBRyxDQUFDLEdBQWMsRUFBRSxFQUFFO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7WUFDeEQsQ0FBQyxDQUFFLEdBQW9CLENBQUMsTUFBTTtZQUM5QixDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBYyxFQUEwQixFQUFFO1FBQy9ELElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUNyRCxNQUFNLElBQUksR0FBSSxHQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxHQUFlLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BDLElBQUksR0FBRyxFQUFFO29CQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2Y7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsR0FBRyxDQUFDLEdBQWMsRUFBRSxFQUFFO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxNQUFNO1lBQUUsT0FBTyxNQUFNLENBQUM7UUFDMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQWMsRUFBa0IsRUFBRTtRQUN2RCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEdBQUksR0FBVyxDQUFDLEdBQUcsQ0FBQztZQUM5QixNQUFNLEdBQUcsR0FBZSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN0QztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLENBQUM7U0FDWjthQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUM1RCxNQUFNLElBQUksR0FBSSxHQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxHQUFlLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBYyxFQUFFLEVBQUU7UUFDdkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLFdBQVc7WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7O0FBR0osZUFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnQsXG4gIExpc3QsXG4gIE1ldGFkYXR1bSxcbiAgU3RyaW5nIGFzIE9nbWlvc1N0cmluZyxcbiAgTWFwLFxufSBmcm9tICdAY2FyZGFuby1vZ21pb3Mvc2NoZW1hJztcbmltcG9ydCB7IEpzb25PYmplY3QsIExpc3RPYmplY3QsIE1ldGFkYXRhT2JqZWN0IH0gZnJvbSAnLi9jYXJkYW5vL3R5cGVzJztcbmltcG9ydCBKU09OQmlnSW50IGZyb20gJ2pzb24tYmlnaW50JztcblxuY2xhc3MgVXRpbHMge1xuICBzdGF0aWMgSnNvbkJJID0gSlNPTkJpZ0ludCh7XG4gICAgdXNlTmF0aXZlQmlnSW50OiB0cnVlLFxuICAgIGFsd2F5c1BhcnNlQXNCaWc6IHRydWUsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyBpbnQgdmFsdWUgZnJvbSBNZXRhZGF0dW0gb2JqZWN0XG4gICAqIEBwYXJhbSB2YWxcbiAgICogQHJldHVybnMgOiBpbnQgdmFsdWUgb3IgdW5kZWZpbmVkIGlmIHBhcmFtZXRlciBpcyBub3QgYW4gaW50XG4gICAqL1xuICBzdGF0aWMgZ2V0SW50VmFsdWUgPSAodmFsOiBNZXRhZGF0dW0pID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwgJ2ludCcpXG4gICAgICA/ICh2YWwgYXMgSW50KS5pbnQudG9TdHJpbmcoKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIHN0cmluZyB2YWx1ZSBmcm9tIE1ldGFkYXR1bSBvYmplY3RcbiAgICogQHBhcmFtIHZhbFxuICAgKiBAcmV0dXJucyA6IHN0cmluZyB2YWx1ZSBvciB1bmRlZmluZWQgaWYgcGFyYW1ldGVyIGlzIG5vdCBhIHN0cmluZ1xuICAgKi9cbiAgc3RhdGljIGdldFN0cmluZ1ZhbHVlID0gKHZhbDogTWV0YWRhdHVtKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsICdzdHJpbmcnKVxuICAgICAgPyAodmFsIGFzIE9nbWlvc1N0cmluZykuc3RyaW5nXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgbGlzdCB2YWx1ZSBmcm9tIE1ldGFkYXR1bSBvYmplY3RcbiAgICogQHBhcmFtIHZhbFxuICAgKiBAcmV0dXJucyA6IGxpc3QgdmFsdWUgb3IgdW5kZWZpbmVkIGlmIHBhcmFtZXRlciBpcyBub3QgYSBsaXN0XG4gICAqL1xuICBzdGF0aWMgZ2V0TGlzdFZhbHVlID0gKHZhbDogTWV0YWRhdHVtKTogTGlzdE9iamVjdCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsICdsaXN0JykpIHtcbiAgICAgIGNvbnN0IGxpc3QgPSAodmFsIGFzIExpc3QpLmxpc3Q7XG4gICAgICBjb25zdCByZXM6IExpc3RPYmplY3QgPSBbXTtcbiAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLk9iamVjdFRvSnNvbihpdGVtKTtcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHJlcy5wdXNoKHZhbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgb25lIG9mIGludCBvciBzdHJpbmcgZnJvbSBNZXRhZGF0dW0gb2JqZWN0XG4gICAqIEBwYXJhbSB2YWxcbiAgICogQHJldHVybnMgOiBuYXRpdmUgdmFsdWUgb3IgdW5kZWZpbmVkIGlmIHBhcmFtZXRlciBpcyBub3QgYSBzdHJpbmcgb3IgaW50XG4gICAqL1xuICBzdGF0aWMgZ2V0TmF0aXZlVmFsdWUgPSAodmFsOiBNZXRhZGF0dW0pID0+IHtcbiAgICBjb25zdCBpbnRWYWwgPSB0aGlzLmdldEludFZhbHVlKHZhbCk7XG4gICAgaWYgKGludFZhbCkgcmV0dXJuIGludFZhbDtcbiAgICBjb25zdCBzdHJpbmdWYWwgPSB0aGlzLmdldFN0cmluZ1ZhbHVlKHZhbCk7XG4gICAgaWYgKHN0cmluZ1ZhbCkgcmV0dXJuIHN0cmluZ1ZhbDtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdHMgZGljdGlvbmFyeSBmcm9tIE1ldGFkYXR1bSBvYmplY3RcbiAgICogQHBhcmFtIHZhbFxuICAgKiBAcmV0dXJucyA6IGRpY3Rpb25hcnkgdmFsdWUgb3IgdW5kZWZpbmVkIGlmIHBhcmFtZXRlciBpcyBub3QgYSBkaWN0XG4gICAqL1xuICBzdGF0aWMgZ2V0RGljdFZhbHVlID0gKHZhbDogTWV0YWRhdHVtKTogTWV0YWRhdGFPYmplY3QgPT4ge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCAnbWFwJykpIHtcbiAgICAgIGNvbnN0IGxpc3QgPSAodmFsIGFzIE1hcCkubWFwO1xuICAgICAgY29uc3QgcmVzOiBKc29uT2JqZWN0ID0ge307XG4gICAgICBsaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXROYXRpdmVWYWx1ZShpdGVtLmspO1xuICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgcmVzW2tleV0gPSB0aGlzLk9iamVjdFRvSnNvbihpdGVtLnYpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfSBlbHNlIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCAnbGlzdCcpKSB7XG4gICAgICBjb25zdCBsaXN0ID0gKHZhbCBhcyBMaXN0KS5saXN0O1xuICAgICAgY29uc3QgcmVzOiBMaXN0T2JqZWN0ID0gW107XG4gICAgICBsaXN0Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICByZXMucHVzaCh0aGlzLmdldERpY3RWYWx1ZShpdGVtKSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldE5hdGl2ZVZhbHVlKHZhbCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBNZXRhZGF0dW0gdG8gYSBqc29uXG4gICAqIEBwYXJhbSB2YWxcbiAgICovXG4gIHN0YXRpYyBPYmplY3RUb0pzb24gPSAodmFsOiBNZXRhZGF0dW0pID0+IHtcbiAgICBjb25zdCBuYXRpdmVWYWx1ZSA9IHRoaXMuZ2V0TmF0aXZlVmFsdWUodmFsKTtcbiAgICBpZiAobmF0aXZlVmFsdWUpIHJldHVybiBuYXRpdmVWYWx1ZTtcbiAgICBjb25zdCBsaXN0VmFsdWUgPSB0aGlzLmdldExpc3RWYWx1ZSh2YWwpO1xuICAgIGlmIChsaXN0VmFsdWUpIHJldHVybiBsaXN0VmFsdWU7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGljdFZhbHVlKHZhbCk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IFV0aWxzO1xuIl19
@@ -2,18 +2,24 @@ import { RosenTokens, TokenMap } from '@rosen-bridge/tokens';
2
2
  import { RosenData } from './types';
3
3
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
4
4
  export default abstract class AbstractRosenDataExtractor<TransactionType> {
5
- abstract readonly chain: string;
6
- protected readonly logger: AbstractLogger;
7
- protected readonly tokens: TokenMap;
8
- protected readonly lockAddress: string;
9
- constructor(lockAddress: string, tokens: RosenTokens, logger?: AbstractLogger);
10
- /**
11
- * extracts RosenData from given lock transaction and wrap the amount
12
- */
13
- get: (transaction: TransactionType) => RosenData | undefined;
14
- /**
15
- * extracts RosenData from given lock transaction
16
- */
17
- abstract extractRawData: (transaction: TransactionType) => RosenData | undefined;
5
+ abstract readonly chain: string;
6
+ protected readonly logger: AbstractLogger;
7
+ protected readonly tokens: TokenMap;
8
+ protected readonly lockAddress: string;
9
+ constructor(
10
+ lockAddress: string,
11
+ tokens: RosenTokens,
12
+ logger?: AbstractLogger
13
+ );
14
+ /**
15
+ * extracts RosenData from given lock transaction and wrap the amount
16
+ */
17
+ get: (transaction: TransactionType) => RosenData | undefined;
18
+ /**
19
+ * extracts RosenData from given lock transaction
20
+ */
21
+ abstract extractRawData: (
22
+ transaction: TransactionType
23
+ ) => RosenData | undefined;
18
24
  }
19
- //# sourceMappingURL=AbstractRosenDataExtractor.d.ts.map
25
+ //# sourceMappingURL=AbstractRosenDataExtractor.d.ts.map
@@ -1,18 +1,18 @@
1
1
  interface RosenData {
2
- toChain: string;
3
- toAddress: string;
4
- bridgeFee: string;
5
- networkFee: string;
6
- fromAddress: string;
7
- sourceChainTokenId: string;
8
- amount: string;
9
- targetChainTokenId: string;
10
- sourceTxId: string;
2
+ toChain: string;
3
+ toAddress: string;
4
+ bridgeFee: string;
5
+ networkFee: string;
6
+ fromAddress: string;
7
+ sourceChainTokenId: string;
8
+ amount: string;
9
+ targetChainTokenId: string;
10
+ sourceTxId: string;
11
11
  }
12
12
  interface TokenTransformation {
13
- from: string;
14
- to: string;
15
- amount: string;
13
+ from: string;
14
+ to: string;
15
+ amount: string;
16
16
  }
17
17
  export { RosenData, TokenTransformation };
18
- //# sourceMappingURL=types.d.ts.map
18
+ //# sourceMappingURL=types.d.ts.map
@@ -4,19 +4,28 @@ import { BitcoinEsploraTransaction, EsploraTxOutput } from './types';
4
4
  import { RosenTokens } from '@rosen-bridge/tokens';
5
5
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
6
6
  export declare class BitcoinEsploraRosenExtractor extends AbstractRosenDataExtractor<BitcoinEsploraTransaction> {
7
- readonly chain = "bitcoin";
8
- protected lockScriptPubKey: string;
9
- constructor(lockAddress: string, tokens: RosenTokens, 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: BitcoinEsploraTransaction) => 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;
7
+ readonly chain = 'bitcoin';
8
+ protected lockScriptPubKey: string;
9
+ constructor(
10
+ lockAddress: string,
11
+ tokens: RosenTokens,
12
+ logger?: AbstractLogger
13
+ );
14
+ /**
15
+ * extracts RosenData from given lock transaction in Esplora format
16
+ * @param transaction the lock transaction in Esplora format
17
+ */
18
+ extractRawData: (
19
+ transaction: BitcoinEsploraTransaction
20
+ ) => RosenData | undefined;
21
+ /**
22
+ * extracts and builds token transformation from UTXO and tokenMap
23
+ * @param box transaction output
24
+ * @param toChain event target chain
25
+ */
26
+ getAssetTransformation: (
27
+ box: EsploraTxOutput,
28
+ toChain: string
29
+ ) => TokenTransformation | undefined;
21
30
  }
22
- //# sourceMappingURL=BitcoinEsploraRosenExtractor.d.ts.map
31
+ //# sourceMappingURL=BitcoinEsploraRosenExtractor.d.ts.map
@@ -4,19 +4,26 @@ import { BitcoinTxOutput } from './types';
4
4
  import { RosenTokens } from '@rosen-bridge/tokens';
5
5
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
6
6
  export declare class BitcoinRosenExtractor extends AbstractRosenDataExtractor<string> {
7
- readonly chain = "bitcoin";
8
- protected lockScriptPubKey: string;
9
- constructor(lockAddress: string, tokens: RosenTokens, logger?: AbstractLogger);
10
- /**
11
- * extracts RosenData from given lock transaction in BitcoinTx format
12
- * @param serializedTransaction stringified transaction in BitcoinTx 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: BitcoinTxOutput, toChain: string) => TokenTransformation | undefined;
7
+ readonly chain = 'bitcoin';
8
+ protected lockScriptPubKey: string;
9
+ constructor(
10
+ lockAddress: string,
11
+ tokens: RosenTokens,
12
+ logger?: AbstractLogger
13
+ );
14
+ /**
15
+ * extracts RosenData from given lock transaction in BitcoinTx format
16
+ * @param serializedTransaction stringified transaction in BitcoinTx format
17
+ */
18
+ extractRawData: (serializedTransaction: string) => RosenData | undefined;
19
+ /**
20
+ * extracts and builds token transformation from UTXO and tokenMap
21
+ * @param box transaction output
22
+ * @param toChain event target chain
23
+ */
24
+ getAssetTransformation: (
25
+ box: BitcoinTxOutput,
26
+ toChain: string
27
+ ) => TokenTransformation | undefined;
21
28
  }
22
- //# sourceMappingURL=BitcoinRosenExtractor.d.ts.map
29
+ //# sourceMappingURL=BitcoinRosenExtractor.d.ts.map
@@ -4,19 +4,26 @@ import { BitcoinRpcTransaction, BitcoinRpcTxOutput } from './types';
4
4
  import { RosenTokens } from '@rosen-bridge/tokens';
5
5
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
6
6
  export declare class BitcoinRpcRosenExtractor extends AbstractRosenDataExtractor<BitcoinRpcTransaction> {
7
- readonly chain = "bitcoin";
8
- protected lockScriptPubKey: string;
9
- constructor(lockAddress: string, tokens: RosenTokens, logger?: AbstractLogger);
10
- /**
11
- * extracts RosenData from given lock transaction in Rpc format
12
- * @param transaction the lock transaction in Rpc format
13
- */
14
- extractRawData: (transaction: BitcoinRpcTransaction) => 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: BitcoinRpcTxOutput, toChain: string) => TokenTransformation | undefined;
7
+ readonly chain = 'bitcoin';
8
+ protected lockScriptPubKey: string;
9
+ constructor(
10
+ lockAddress: string,
11
+ tokens: RosenTokens,
12
+ logger?: AbstractLogger
13
+ );
14
+ /**
15
+ * extracts RosenData from given lock transaction in Rpc format
16
+ * @param transaction the lock transaction in Rpc format
17
+ */
18
+ extractRawData: (transaction: BitcoinRpcTransaction) => RosenData | undefined;
19
+ /**
20
+ * extracts and builds token transformation from UTXO and tokenMap
21
+ * @param box transaction output
22
+ * @param toChain event target chain
23
+ */
24
+ getAssetTransformation: (
25
+ box: BitcoinRpcTxOutput,
26
+ toChain: string
27
+ ) => TokenTransformation | undefined;
21
28
  }
22
- //# sourceMappingURL=BitcoinRpcRosenExtractor.d.ts.map
29
+ //# sourceMappingURL=BitcoinRpcRosenExtractor.d.ts.map
@@ -1,89 +1,89 @@
1
1
  export interface OpReturnData {
2
- toChain: string;
3
- toAddress: string;
4
- bridgeFee: string;
5
- networkFee: string;
2
+ toChain: string;
3
+ toAddress: string;
4
+ bridgeFee: string;
5
+ networkFee: string;
6
6
  }
7
7
  export interface EsploraTxInput {
8
- txid: string;
9
- vout: number;
10
- prevout: {
11
- scriptpubkey: string;
12
- scriptpubkey_asm: string;
13
- scriptpubkey_type: string;
14
- scriptpubkey_address: string;
15
- value: number;
16
- };
17
- scriptsig: string;
18
- scriptsig_asm: string;
19
- is_coinbase: false;
20
- sequence: number;
21
- }
22
- export interface EsploraTxOutput {
8
+ txid: string;
9
+ vout: number;
10
+ prevout: {
23
11
  scriptpubkey: string;
24
12
  scriptpubkey_asm: string;
25
13
  scriptpubkey_type: string;
26
14
  scriptpubkey_address: string;
27
15
  value: number;
16
+ };
17
+ scriptsig: string;
18
+ scriptsig_asm: string;
19
+ is_coinbase: false;
20
+ sequence: number;
21
+ }
22
+ export interface EsploraTxOutput {
23
+ scriptpubkey: string;
24
+ scriptpubkey_asm: string;
25
+ scriptpubkey_type: string;
26
+ scriptpubkey_address: string;
27
+ value: number;
28
28
  }
29
29
  export interface BitcoinEsploraTransaction {
30
- txid: string;
31
- version: number;
32
- locktime: number;
33
- vin: Array<EsploraTxInput>;
34
- vout: Array<EsploraTxOutput>;
35
- size: number;
36
- weight: number;
37
- fee: number;
38
- status: {
39
- confirmed: true;
40
- block_height: number;
41
- block_hash: string;
42
- block_time: number;
43
- };
30
+ txid: string;
31
+ version: number;
32
+ locktime: number;
33
+ vin: Array<EsploraTxInput>;
34
+ vout: Array<EsploraTxOutput>;
35
+ size: number;
36
+ weight: number;
37
+ fee: number;
38
+ status: {
39
+ confirmed: true;
40
+ block_height: number;
41
+ block_hash: string;
42
+ block_time: number;
43
+ };
44
44
  }
45
45
  export interface BitcoinTxInput {
46
- txId: string;
47
- index: number;
48
- scriptPubKey: string;
46
+ txId: string;
47
+ index: number;
48
+ scriptPubKey: string;
49
49
  }
50
50
  export interface BitcoinTxOutput {
51
- scriptPubKey: string;
52
- value: bigint;
51
+ scriptPubKey: string;
52
+ value: bigint;
53
53
  }
54
54
  export interface BitcoinTx {
55
- id: string;
56
- inputs: BitcoinTxInput[];
57
- outputs: BitcoinTxOutput[];
55
+ id: string;
56
+ inputs: BitcoinTxInput[];
57
+ outputs: BitcoinTxOutput[];
58
58
  }
59
59
  export interface BitcoinRpcTxInput {
60
- txid: string;
61
- vout: number;
62
- scriptSig: {
63
- asm: string;
64
- hex: string;
65
- };
66
- txinwitness: Array<string>;
67
- sequence: number;
60
+ txid: string;
61
+ vout: number;
62
+ scriptSig: {
63
+ asm: string;
64
+ hex: string;
65
+ };
66
+ txinwitness: Array<string>;
67
+ sequence: number;
68
68
  }
69
69
  export interface BitcoinRpcTxOutput {
70
- value: number;
71
- n: number;
72
- scriptPubKey: {
73
- asm: string;
74
- hex: string;
75
- };
70
+ value: number;
71
+ n: number;
72
+ scriptPubKey: {
73
+ asm: string;
74
+ hex: string;
75
+ };
76
76
  }
77
77
  export interface BitcoinRpcTransaction {
78
- txid: string;
79
- hash: string;
80
- version: number;
81
- size: number;
82
- vsize: number;
83
- weight: number;
84
- locktime: number;
85
- vin: Array<BitcoinRpcTxInput>;
86
- vout: Array<BitcoinRpcTxOutput>;
87
- hex: string;
78
+ txid: string;
79
+ hash: string;
80
+ version: number;
81
+ size: number;
82
+ vsize: number;
83
+ weight: number;
84
+ locktime: number;
85
+ vin: Array<BitcoinRpcTxInput>;
86
+ vout: Array<BitcoinRpcTxOutput>;
87
+ hex: string;
88
88
  }
89
- //# sourceMappingURL=types.d.ts.map
89
+ //# sourceMappingURL=types.d.ts.map
@@ -4,4 +4,4 @@ import { OpReturnData } from './types';
4
4
  * @param scriptPubKeyHex
5
5
  */
6
6
  export declare const parseRosenData: (scriptPubKeyHex: string) => OpReturnData;
7
- //# sourceMappingURL=utils.d.ts.map
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -2,17 +2,20 @@ import { RosenData, TokenTransformation } from '../abstract/types';
2
2
  import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
3
3
  import { BlockFrostOutputBox, BlockFrostTransaction } from './types';
4
4
  export declare class CardanoBlockFrostRosenExtractor extends AbstractRosenDataExtractor<BlockFrostTransaction> {
5
- readonly chain = "cardano";
6
- /**
7
- * extracts RosenData from given lock transaction in blockfrost format
8
- * @param transaction the lock transaction in blockfrost format
9
- */
10
- extractRawData: (transaction: BlockFrostTransaction) => RosenData | undefined;
11
- /**
12
- * extracts and builds token transformation from UTXO and tokenMap
13
- * @param box transaction output
14
- * @param toChain event target chain
15
- */
16
- getAssetTransformation: (box: BlockFrostOutputBox, toChain: string) => TokenTransformation | undefined;
5
+ readonly chain = 'cardano';
6
+ /**
7
+ * extracts RosenData from given lock transaction in blockfrost format
8
+ * @param transaction the lock transaction in blockfrost format
9
+ */
10
+ extractRawData: (transaction: BlockFrostTransaction) => RosenData | undefined;
11
+ /**
12
+ * extracts and builds token transformation from UTXO and tokenMap
13
+ * @param box transaction output
14
+ * @param toChain event target chain
15
+ */
16
+ getAssetTransformation: (
17
+ box: BlockFrostOutputBox,
18
+ toChain: string
19
+ ) => TokenTransformation | undefined;
17
20
  }
18
- //# sourceMappingURL=CardanoBlockFrostRosenExtractor.d.ts.map
21
+ //# sourceMappingURL=CardanoBlockFrostRosenExtractor.d.ts.map
@@ -2,17 +2,20 @@ import { RosenData, TokenTransformation } from '../abstract/types';
2
2
  import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
3
3
  import { GraphQLTransaction, GraphQLTxOutput } from './types';
4
4
  export declare class CardanoGraphQLRosenExtractor extends AbstractRosenDataExtractor<GraphQLTransaction> {
5
- readonly chain = "cardano";
6
- /**
7
- * extracts RosenData from given lock transaction in graphql format
8
- * @param transaction the lock transaction in graphql format
9
- */
10
- extractRawData: (transaction: GraphQLTransaction) => RosenData | undefined;
11
- /**
12
- * extracts and builds token transformation from UTXO and tokenMap
13
- * @param box transaction output
14
- * @param toChain event target chain
15
- */
16
- getAssetTransformation: (box: GraphQLTxOutput, toChain: string) => TokenTransformation | undefined;
5
+ readonly chain = 'cardano';
6
+ /**
7
+ * extracts RosenData from given lock transaction in graphql format
8
+ * @param transaction the lock transaction in graphql format
9
+ */
10
+ extractRawData: (transaction: GraphQLTransaction) => RosenData | undefined;
11
+ /**
12
+ * extracts and builds token transformation from UTXO and tokenMap
13
+ * @param box transaction output
14
+ * @param toChain event target chain
15
+ */
16
+ getAssetTransformation: (
17
+ box: GraphQLTxOutput,
18
+ toChain: string
19
+ ) => TokenTransformation | undefined;
17
20
  }
18
- //# sourceMappingURL=CardanoGraphQLRosenExtractor.d.ts.map
21
+ //# sourceMappingURL=CardanoGraphQLRosenExtractor.d.ts.map
@@ -2,17 +2,20 @@ import { RosenData, TokenTransformation } from '../abstract/types';
2
2
  import AbstractRosenDataExtractor from '../abstract/AbstractRosenDataExtractor';
3
3
  import { KoiosTransaction, Utxo } from './types';
4
4
  export declare class CardanoKoiosRosenExtractor extends AbstractRosenDataExtractor<KoiosTransaction> {
5
- readonly chain = "cardano";
6
- /**
7
- * extracts RosenData from given lock transaction in Koios format
8
- * @param transaction the lock transaction in Koios format
9
- */
10
- extractRawData: (transaction: KoiosTransaction) => RosenData | undefined;
11
- /**
12
- * extracts and builds token transformation from UTXO and tokenMap
13
- * @param box transaction output
14
- * @param toChain event target chain
15
- */
16
- getAssetTransformation: (box: Utxo, toChain: string) => TokenTransformation | undefined;
5
+ readonly chain = 'cardano';
6
+ /**
7
+ * extracts RosenData from given lock transaction in Koios format
8
+ * @param transaction the lock transaction in Koios format
9
+ */
10
+ extractRawData: (transaction: KoiosTransaction) => RosenData | undefined;
11
+ /**
12
+ * extracts and builds token transformation from UTXO and tokenMap
13
+ * @param box transaction output
14
+ * @param toChain event target chain
15
+ */
16
+ getAssetTransformation: (
17
+ box: Utxo,
18
+ toChain: string
19
+ ) => TokenTransformation | undefined;
17
20
  }
18
- //# sourceMappingURL=CardanoKoiosRosenExtractor.d.ts.map
21
+ //# sourceMappingURL=CardanoKoiosRosenExtractor.d.ts.map