@cardano-sdk/projection 0.6.9 → 0.6.10

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.
@@ -1,2 +1,3 @@
1
1
  export declare const computeCompactTxId: (blockHeight: number, txIndex: number) => number;
2
+ export declare const logError: (error: unknown) => void;
2
3
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/util.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,WAAW,MAAM,WAAoC,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/util.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,WAAW,MAAM,WAAoC,CAAC;AAE5G,eAAO,MAAM,QAAQ,UAAW,OAAO,SAItC,CAAC"}
@@ -1,2 +1,8 @@
1
+ import { dummyLogger } from 'ts-log';
1
2
  export const computeCompactTxId = (blockHeight, txIndex) => blockHeight * 100000 + txIndex;
3
+ export const logError = (error) => {
4
+ const logger = dummyLogger;
5
+ const message = error instanceof Error ? error.message : `Internal error: ${error}`;
6
+ logger.error(message);
7
+ };
2
8
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/util.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,OAAe,EAAE,EAAE,CAAC,WAAW,GAAG,MAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,WAAW,EAAE,MAAM,QAAQ,CAAC;AAM7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,OAAe,EAAE,EAAE,CAAC,WAAW,GAAG,MAAO,GAAG,OAAO,CAAC;AAE5G,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE;IACzC,MAAM,MAAM,GAAW,WAAW,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,KAAK,EAAE,CAAC;IACpF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withHandles.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IAQf,kBAAkB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA6CD,eAAO,MAAM,WAAW,2BACG,iBAAiB,6CAiBvC,CAAC"}
1
+ {"version":3,"file":"withHandles.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IAQf,kBAAkB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAsED,eAAO,MAAM,WAAW,2BACG,iBAAiB,6CAiBvC,CAAC"}
@@ -1,6 +1,30 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
+ import { CustomError } from 'ts-custom-error';
3
+ import { logError } from './util';
2
4
  import { map } from 'rxjs';
3
5
  const handleFromAssetId = (assetId) => Buffer.from(Cardano.AssetId.getAssetName(assetId), 'hex').toString('utf8');
6
+ const isValidHandle = (handle) => {
7
+ const pattern = /^[\w.-]+$/;
8
+ return pattern.test(handle);
9
+ };
10
+ class HandleParsingError extends CustomError {
11
+ constructor(handle, message = 'Invalid handle') {
12
+ super(`${message}: ${handle}`);
13
+ }
14
+ }
15
+ const mapHandleToData = (assetId, data) => {
16
+ const handle = handleFromAssetId(assetId);
17
+ if (!isValidHandle(handle))
18
+ throw new HandleParsingError(handle);
19
+ const { datum, address, policyId } = data;
20
+ return {
21
+ assetId,
22
+ datum,
23
+ handle,
24
+ latestOwnerAddress: address || null,
25
+ policyId
26
+ };
27
+ };
4
28
  const getOutputHandles = (outputs, policyIds) => {
5
29
  const handles = {};
6
30
  for (const { address, value, datum } of outputs) {
@@ -10,14 +34,13 @@ const getOutputHandles = (outputs, policyIds) => {
10
34
  const policyId = Cardano.AssetId.getPolicyId(assetId);
11
35
  if (!policyIds.includes(policyId))
12
36
  continue;
13
- const handle = handleFromAssetId(assetId);
14
- handles[handle] = {
15
- assetId,
16
- datum,
17
- handle,
18
- latestOwnerAddress: address,
19
- policyId
20
- };
37
+ try {
38
+ const handleData = mapHandleToData(assetId, { address, datum, policyId });
39
+ handles[handleData.handle] = handleData;
40
+ }
41
+ catch (error) {
42
+ logError(error);
43
+ }
21
44
  }
22
45
  }
23
46
  return handles;
@@ -31,13 +54,13 @@ const getBurnedHandles = (mint, policyIds) => {
31
54
  const policyId = Cardano.AssetId.getPolicyId(assetId);
32
55
  if (!policyIds.includes(policyId))
33
56
  continue;
34
- const handle = handleFromAssetId(assetId);
35
- handles[handle] = {
36
- assetId,
37
- handle,
38
- latestOwnerAddress: null,
39
- policyId
40
- };
57
+ try {
58
+ const handleData = mapHandleToData(assetId, { policyId });
59
+ handles[handleData.handle] = handleData;
60
+ }
61
+ catch (error) {
62
+ logError(error);
63
+ }
41
64
  }
42
65
  }
43
66
  return handles;
@@ -1 +1 @@
1
- {"version":3,"file":"withHandles.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAqB3B,MAAM,iBAAiB,GAAG,CAAC,OAAwB,EAAE,EAAE,CACrD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,gBAAgB,GAAG,CAAC,OAAwB,EAAE,SAAyC,EAAE,EAAE;IAC/F,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;QAC/C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;YAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,GAAG;gBAChB,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,kBAAkB,EAAE,OAAO;gBAC3B,QAAQ;aACT,CAAC;SACH;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAkC,EAAE,SAAyC,EAAE,EAAE;IACzG,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;QAEhD,IAAI,QAAQ,GAAG,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,GAAG;gBAChB,OAAO;gBACP,MAAM;gBACN,kBAAkB,EAAE,IAAI;gBACxB,QAAQ;aACT,CAAC;SACH;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GACtB,CAAU,EAAE,SAAS,EAAqB,EAA4C,EAAE,CACxF,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACV,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CACrC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,OAAO;QACV,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC;QACvC,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;KACrC,CAAC,EACF,EAA4B,CAC7B,CAAC;IACF,OAAO;QACL,GAAG,GAAG;QACN,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"withHandles.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"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"}