@cardano-sdk/core 0.23.0 → 0.24.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 (81) hide show
  1. package/dist/cjs/Asset/NftMetadata/fromMetadatum.d.ts.map +1 -1
  2. package/dist/cjs/Asset/NftMetadata/fromMetadatum.js +7 -2
  3. package/dist/cjs/Asset/NftMetadata/fromMetadatum.js.map +1 -1
  4. package/dist/cjs/Asset/util/subtractTokenMaps.d.ts +3 -2
  5. package/dist/cjs/Asset/util/subtractTokenMaps.d.ts.map +1 -1
  6. package/dist/cjs/Asset/util/subtractTokenMaps.js +53 -14
  7. package/dist/cjs/Asset/util/subtractTokenMaps.js.map +1 -1
  8. package/dist/cjs/Cardano/Address/RewardAccount.d.ts +3 -0
  9. package/dist/cjs/Cardano/Address/RewardAccount.d.ts.map +1 -1
  10. package/dist/cjs/Cardano/Address/RewardAccount.js +2 -0
  11. package/dist/cjs/Cardano/Address/RewardAccount.js.map +1 -1
  12. package/dist/cjs/Cardano/util/computeImplicitCoin.d.ts +2 -1
  13. package/dist/cjs/Cardano/util/computeImplicitCoin.d.ts.map +1 -1
  14. package/dist/cjs/Cardano/util/computeImplicitCoin.js +88 -5
  15. package/dist/cjs/Cardano/util/computeImplicitCoin.js.map +1 -1
  16. package/dist/cjs/CardanoNode/util/cardanoNodeErrors.d.ts.map +1 -1
  17. package/dist/cjs/CardanoNode/util/cardanoNodeErrors.js.map +1 -1
  18. package/dist/cjs/Serialization/TransactionBody/TransactionBody.d.ts.map +1 -1
  19. package/dist/cjs/Serialization/TransactionBody/TransactionBody.js +9 -4
  20. package/dist/cjs/Serialization/TransactionBody/TransactionBody.js.map +1 -1
  21. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  22. package/dist/cjs/util/index.d.ts +2 -0
  23. package/dist/cjs/util/index.d.ts.map +1 -1
  24. package/dist/cjs/util/index.js +2 -0
  25. package/dist/cjs/util/index.js.map +1 -1
  26. package/dist/cjs/util/slotCalc.d.ts.map +1 -1
  27. package/dist/cjs/util/slotCalc.js +10 -4
  28. package/dist/cjs/util/slotCalc.js.map +1 -1
  29. package/dist/cjs/util/tokenTransferInspector.d.ts +12 -0
  30. package/dist/cjs/util/tokenTransferInspector.d.ts.map +1 -0
  31. package/dist/cjs/util/tokenTransferInspector.js +77 -0
  32. package/dist/cjs/util/tokenTransferInspector.js.map +1 -0
  33. package/dist/cjs/util/transactionSummaryInspector.d.ts +25 -0
  34. package/dist/cjs/util/transactionSummaryInspector.d.ts.map +1 -0
  35. package/dist/cjs/util/transactionSummaryInspector.js +70 -0
  36. package/dist/cjs/util/transactionSummaryInspector.js.map +1 -0
  37. package/dist/cjs/util/txInspector.d.ts +16 -8
  38. package/dist/cjs/util/txInspector.d.ts.map +1 -1
  39. package/dist/cjs/util/txInspector.js +66 -29
  40. package/dist/cjs/util/txInspector.js.map +1 -1
  41. package/dist/esm/Asset/NftMetadata/fromMetadatum.d.ts.map +1 -1
  42. package/dist/esm/Asset/NftMetadata/fromMetadatum.js +7 -2
  43. package/dist/esm/Asset/NftMetadata/fromMetadatum.js.map +1 -1
  44. package/dist/esm/Asset/util/subtractTokenMaps.d.ts +3 -2
  45. package/dist/esm/Asset/util/subtractTokenMaps.d.ts.map +1 -1
  46. package/dist/esm/Asset/util/subtractTokenMaps.js +48 -13
  47. package/dist/esm/Asset/util/subtractTokenMaps.js.map +1 -1
  48. package/dist/esm/Cardano/Address/RewardAccount.d.ts +3 -0
  49. package/dist/esm/Cardano/Address/RewardAccount.d.ts.map +1 -1
  50. package/dist/esm/Cardano/Address/RewardAccount.js +2 -0
  51. package/dist/esm/Cardano/Address/RewardAccount.js.map +1 -1
  52. package/dist/esm/Cardano/util/computeImplicitCoin.d.ts +2 -1
  53. package/dist/esm/Cardano/util/computeImplicitCoin.d.ts.map +1 -1
  54. package/dist/esm/Cardano/util/computeImplicitCoin.js +88 -5
  55. package/dist/esm/Cardano/util/computeImplicitCoin.js.map +1 -1
  56. package/dist/esm/CardanoNode/util/cardanoNodeErrors.d.ts.map +1 -1
  57. package/dist/esm/CardanoNode/util/cardanoNodeErrors.js.map +1 -1
  58. package/dist/esm/Serialization/TransactionBody/TransactionBody.d.ts.map +1 -1
  59. package/dist/esm/Serialization/TransactionBody/TransactionBody.js +9 -4
  60. package/dist/esm/Serialization/TransactionBody/TransactionBody.js.map +1 -1
  61. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  62. package/dist/esm/util/index.d.ts +2 -0
  63. package/dist/esm/util/index.d.ts.map +1 -1
  64. package/dist/esm/util/index.js +2 -0
  65. package/dist/esm/util/index.js.map +1 -1
  66. package/dist/esm/util/slotCalc.d.ts.map +1 -1
  67. package/dist/esm/util/slotCalc.js +10 -4
  68. package/dist/esm/util/slotCalc.js.map +1 -1
  69. package/dist/esm/util/tokenTransferInspector.d.ts +12 -0
  70. package/dist/esm/util/tokenTransferInspector.d.ts.map +1 -0
  71. package/dist/esm/util/tokenTransferInspector.js +70 -0
  72. package/dist/esm/util/tokenTransferInspector.js.map +1 -0
  73. package/dist/esm/util/transactionSummaryInspector.d.ts +25 -0
  74. package/dist/esm/util/transactionSummaryInspector.d.ts.map +1 -0
  75. package/dist/esm/util/transactionSummaryInspector.js +65 -0
  76. package/dist/esm/util/transactionSummaryInspector.js.map +1 -0
  77. package/dist/esm/util/txInspector.d.ts +16 -8
  78. package/dist/esm/util/txInspector.d.ts.map +1 -1
  79. package/dist/esm/util/txInspector.js +64 -29
  80. package/dist/esm/util/txInspector.js.map +1 -1
  81. package/package.json +4 -4
@@ -1,6 +1,8 @@
1
1
  export * as util from './misc';
2
2
  export * from './slotCalc';
3
3
  export * from './txInspector';
4
+ export * from './tokenTransferInspector';
5
+ export * from './transactionSummaryInspector';
4
6
  export * from './utxo';
5
7
  export * from './calcStabilityWindow';
6
8
  export * from './coalesceValueQuantities';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,cAAc,QAAQ,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export * as util from './misc';
2
2
  export * from './slotCalc';
3
3
  export * from './txInspector';
4
+ export * from './tokenTransferInspector';
5
+ export * from './transactionSummaryInspector';
4
6
  export * from './utxo';
5
7
  export * from './calcStabilityWindow';
6
8
  export * from './coalesceValueQuantities';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,cAAc,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slotCalc.d.ts","sourceRoot":"","sources":["../../../src/util/slotCalc.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAMtE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,eAAgB,SAAQ,WAAW;CAAG;AAEnD,oBAAY,eAAe,GAAG;KAAG,GAAG,IAAI,aAAa,GAAG,UAAU,EAAE;CAAE,CAAC;AAkCvE,eAAO,MAAM,mBAAmB,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,OAUnF,CAAC;AAKF,eAAO,MAAM,kBAAkB,iBAAkB,UAAU,EAAE,cAO3C,IAAI,KAAG,IAUxB,CAAC;AAKF,eAAO,MAAM,uBAAuB,iBAAkB,UAAU,EAAE,YAOlD,IAAI,KAAG,SAmBtB,CAAC;AAoCF,eAAO,MAAM,cAAc,aA3BoB,OAAO,gBAAgB,UAAU,EAAE;;;;sCA2Bf,CAAC;AAQpE,eAAO,MAAM,qBAAqB,cAAsB,mBAAmB,gBACjD,OAAO;;;;4EAChC,CAAC;AAMF,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAMjE,oBAAY,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMnE,oBAAY,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"slotCalc.d.ts","sourceRoot":"","sources":["../../../src/util/slotCalc.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAMtE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,eAAgB,SAAQ,WAAW;CAAG;AAEnD,oBAAY,eAAe,GAAG;KAAG,GAAG,IAAI,aAAa,GAAG,UAAU,EAAE;CAAE,CAAC;AAkCvE,eAAO,MAAM,mBAAmB,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,OAUnF,CAAC;AAKF,eAAO,MAAM,kBAAkB,iBAAkB,UAAU,EAAE,cAQ3C,IAAI,KAAG,IAUxB,CAAC;AAKF,eAAO,MAAM,uBAAuB,iBAAkB,UAAU,EAAE,YAOlD,IAAI,KAAG,SAmBtB,CAAC;AA2CF,eAAO,MAAM,cAAc,aAlCoB,OAAO,gBAAgB,UAAU,EAAE;;;;sCAkCf,CAAC;AAQpE,eAAO,MAAM,qBAAqB,cAAsB,mBAAmB,gBACjD,OAAO;;;;4EAChC,CAAC;AAMF,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAMjE,oBAAY,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMnE,oBAAY,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -30,7 +30,8 @@ export const createSlotEpochCalc = memoize((eraSummaries) => {
30
30
  return (slotNo) => EpochNo(calc(slotNo).epochNo);
31
31
  });
32
32
  export const createSlotTimeCalc = (eraSummaries) => {
33
- const eraSummariesDesc = orderBy(eraSummaries, ({ start }) => start.slot, 'desc');
33
+ const eraSummariesWithoutSkippedEras = Object.values(groupBy(eraSummaries, 'start.slot')).map(last);
34
+ const eraSummariesDesc = orderBy(eraSummariesWithoutSkippedEras, ({ start }) => start.slot, 'desc');
34
35
  return (slotNo) => {
35
36
  const activeEraSummary = eraSummariesDesc.find(({ start }) => start.slot <= slotNo);
36
37
  if (!activeEraSummary) {
@@ -67,12 +68,17 @@ const epochSlotsCalcImplementation = (epochNo, eraSummaries) => {
67
68
  let atSlot = eraSummaries[0].start.slot;
68
69
  let eraSummaryIdx = 0;
69
70
  const maxEraSummaryIdx = eraSummaries.length - 1;
71
+ const checkNextEraSummary = () => eraSummaryIdx < maxEraSummaryIdx && atSlot >= eraSummaries[eraSummaryIdx + 1].start.slot;
72
+ const findNextEraSummary = () => {
73
+ while (checkNextEraSummary())
74
+ eraSummaryIdx++;
75
+ };
76
+ findNextEraSummary();
70
77
  while (atEpoch !== epochNo) {
71
78
  atSlot += eraSummaries[eraSummaryIdx].parameters.epochLength;
72
79
  atEpoch++;
73
- if (eraSummaryIdx < maxEraSummaryIdx && atSlot >= eraSummaries[eraSummaryIdx + 1].start.slot) {
74
- eraSummaryIdx++;
75
- }
80
+ if (checkNextEraSummary())
81
+ findNextEraSummary();
76
82
  }
77
83
  const eraSummary = eraSummaries[eraSummaryIdx];
78
84
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"slotCalc.js","sourceRoot":"","sources":["../../../src/util/slotCalc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAiB,IAAI,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAarC,MAAM,OAAO,eAAgB,SAAQ,WAAW;CAAG;AAInD,MAAM,uBAAuB,GAAG,CAAC,YAA0B,EAAE,EAAE;IAK7D,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAiB,CAAC;IACpH,MAAM,eAAe,GAAG,OAAO,CAAC,8BAA8B,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3F,OAAO,CAAC,MAAY,EAAE,EAAE;QACtB,MAAM,uBAAuB,GAAG,OAAO,CACrC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,EAC3D,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAC1B,CAAC;QACF,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,MAAM,IAAI,eAAe,CAAC,0BAA0B,MAAM,QAAQ,CAAC,CAAC;SACrE;QACD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,iBAA6B,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,iBAAiB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,cAAc,GAA2B,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,OAAO,IAAI,IAAI,CAAC,KAAK,CACnB,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;gBACrE,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAC3C,CAAC;SACH;QACD,OAAO,EAAE,eAAe,EAAE,iBAAkB,EAAE,OAAO,EAAE,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,mBAAmB,GAA8D,OAAO,CACnG,CAAC,YAA0B,EAAE,EAAE;IAC7B,MAAM,IAAI,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAMnD,OAAO,CAAC,MAAY,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC,CACF,CAAC;AAKF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,YAA0B,EAAE,EAAE;IAC/D,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAMlF,OAAO,CAAC,MAAY,EAAQ,EAAE;QAC5B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QACpF,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,eAAe,CAAC,0BAA0B,MAAM,QAAQ,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,IAAI,CACb,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;YACnC,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAClF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAA0B,EAAE,EAAE;IACpE,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAKxD,OAAO,CAAC,IAAU,EAAa,EAAE;QAC/B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,SAAS,GACb,eAAe,CAAC,KAAK,CAAC,IAAI;YAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC;gBACtF,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3C,MAAM,QAAQ,GAAG,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;aACtB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;aACrB;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AASF,MAAM,4BAA4B,GAAG,CAAC,OAAgB,EAAE,YAA0B,EAAE,EAAE;IACpF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACxC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjD,OAAO,OAAO,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;QAC7D,OAAO,EAAE,CAAC;QAEV,IAAI,aAAa,GAAG,gBAAgB,IAAI,MAAM,IAAI,YAAY,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YAC5F,aAAa,EAAE,CAAC;SACjB;KACF;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAE/C,OAAO;QACL,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;QACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAQpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,QAA6B,EAAE,EAAE,CAC7E,OAAO,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAC1G,CAAC"}
1
+ {"version":3,"file":"slotCalc.js","sourceRoot":"","sources":["../../../src/util/slotCalc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as Cardano from '../Cardano';
2
+ import { Inspector } from './txInspector';
3
+ export declare type TokenTransferInspection = {
4
+ fromAddress: Map<Cardano.PaymentAddress, Cardano.Value>;
5
+ toAddress: Map<Cardano.PaymentAddress, Cardano.Value>;
6
+ };
7
+ export interface TokenTransferInspectorArgs {
8
+ inputResolver: Cardano.InputResolver;
9
+ }
10
+ export declare type TokenTransferInspector = (args: TokenTransferInspectorArgs) => Inspector<TokenTransferInspection>;
11
+ export declare const tokenTransferInspector: TokenTransferInspector;
12
+ //# sourceMappingURL=tokenTransferInspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransferInspector.d.ts","sourceRoot":"","sources":["../../../src/util/tokenTransferInspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAiB,MAAM,eAAe,CAAC;AAKzD,oBAAY,uBAAuB,GAAG;IACpC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;CACtC;AAED,oBAAY,sBAAsB,GAAG,CAAC,IAAI,EAAE,0BAA0B,KAAK,SAAS,CAAC,uBAAuB,CAAC,CAAC;AAuF9G,eAAO,MAAM,sBAAsB,EAAE,sBAmBlC,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { resolveInputs } from './txInspector';
2
+ import { coalesceValueQuantities } from './coalesceValueQuantities';
3
+ import { subtractValueQuantities } from './subtractValueQuantities';
4
+ import uniq from 'lodash/uniq';
5
+ const coalesceByAddress = (elements) => {
6
+ const grouped = elements.reduce((acc, elem) => {
7
+ if (!acc.has(elem.address))
8
+ acc.set(elem.address, []);
9
+ acc.get(elem.address)?.push(elem);
10
+ return acc;
11
+ }, new Map());
12
+ const coalescedByAddress = new Map();
13
+ for (const [address, elem] of grouped) {
14
+ coalescedByAddress.set(address, coalesceValueQuantities(elem.map((x) => x.value)));
15
+ }
16
+ return coalescedByAddress;
17
+ };
18
+ const initializeAddressMap = (addresses) => new Map(addresses.map((address) => [address, { assets: new Map(), coins: 0n }]));
19
+ const updateFromAddressMap = (addressMap, key, value) => {
20
+ if (value.coins < 0n) {
21
+ addressMap.get(key).coins = value.coins;
22
+ }
23
+ for (const [assetId, quantity] of value.assets?.entries() ?? [])
24
+ if (quantity < 0n) {
25
+ addressMap.get(key).assets?.set(assetId, quantity);
26
+ }
27
+ };
28
+ const updateToAddressMap = (addressMap, key, value) => {
29
+ if (value.coins > 0n) {
30
+ addressMap.get(key).coins = value.coins;
31
+ }
32
+ for (const [assetId, quantity] of value.assets?.entries() ?? []) {
33
+ if (quantity > 0n) {
34
+ addressMap.get(key).assets?.set(assetId, quantity);
35
+ }
36
+ }
37
+ };
38
+ const computeNetDifferences = (inputs, outputs, fromAddress, toAddress) => {
39
+ for (const [key, inputValue] of inputs.entries()) {
40
+ const outputValue = outputs.get(key) ?? { assets: new Map(), coins: 0n };
41
+ const difference = subtractValueQuantities([outputValue, inputValue]);
42
+ updateFromAddressMap(fromAddress, key, difference);
43
+ updateToAddressMap(toAddress, key, difference);
44
+ }
45
+ for (const [key, outputValue] of outputs.entries()) {
46
+ if (!inputs.has(key)) {
47
+ updateToAddressMap(toAddress, key, outputValue);
48
+ }
49
+ }
50
+ };
51
+ const removeZeroBalanceEntries = (addressMap) => {
52
+ for (const [key, value] of addressMap.entries()) {
53
+ if (value.coins === 0n && value.assets?.size === 0) {
54
+ addressMap.delete(key);
55
+ }
56
+ }
57
+ };
58
+ export const tokenTransferInspector = ({ inputResolver }) => async (tx) => {
59
+ const { resolvedInputs } = await resolveInputs(tx.body.inputs, inputResolver);
60
+ const coalescedInputsByAddress = coalesceByAddress(resolvedInputs);
61
+ const coalescedOutputsByAddress = coalesceByAddress(tx.body.outputs);
62
+ const addresses = uniq([...coalescedInputsByAddress.keys(), ...coalescedOutputsByAddress.keys()]);
63
+ const fromAddress = initializeAddressMap(addresses);
64
+ const toAddress = initializeAddressMap(addresses);
65
+ computeNetDifferences(coalescedInputsByAddress, coalescedOutputsByAddress, fromAddress, toAddress);
66
+ removeZeroBalanceEntries(fromAddress);
67
+ removeZeroBalanceEntries(toAddress);
68
+ return { fromAddress, toAddress };
69
+ };
70
+ //# sourceMappingURL=tokenTransferInspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransferInspector.js","sourceRoot":"","sources":["../../../src/util/tokenTransferInspector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import * as Cardano from '../Cardano';
2
+ import { Inspector } from './txInspector';
3
+ interface TransactionSummaryInspectorArgs {
4
+ addresses: Cardano.PaymentAddress[];
5
+ rewardAccounts: Cardano.RewardAccount[];
6
+ inputResolver: Cardano.InputResolver;
7
+ protocolParameters: Cardano.ProtocolParameters;
8
+ }
9
+ export declare type TransactionSummaryInspection = {
10
+ assets: Cardano.TokenMap;
11
+ coins: Cardano.Lovelace;
12
+ collateral: Cardano.Lovelace;
13
+ deposit: Cardano.Lovelace;
14
+ returnedDeposit: Cardano.Lovelace;
15
+ fee: Cardano.Lovelace;
16
+ unresolved: {
17
+ inputs: Cardano.TxIn[];
18
+ value: Cardano.Value;
19
+ };
20
+ };
21
+ export declare type TransactionSummaryInspector = (args: TransactionSummaryInspectorArgs) => Inspector<TransactionSummaryInspection>;
22
+ export declare const getCollateral: (tx: Cardano.Tx, inputResolver: Cardano.InputResolver, addresses: Cardano.PaymentAddress[]) => Promise<Cardano.Lovelace>;
23
+ export declare const transactionSummaryInspector: TransactionSummaryInspector;
24
+ export {};
25
+ //# sourceMappingURL=transactionSummaryInspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionSummaryInspector.d.ts","sourceRoot":"","sources":["../../../src/util/transactionSummaryInspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,OAAO,EAEL,SAAS,EAOV,MAAM,eAAe,CAAC;AAOvB,UAAU,+BAA+B;IACvC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;IACrC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAChD;AAED,oBAAY,4BAA4B,GAAG;IACzC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC;IAClC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;IACtB,UAAU,EAAE;QACV,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,oBAAY,2BAA2B,GAAG,CACxC,IAAI,EAAE,+BAA+B,KAClC,SAAS,CAAC,4BAA4B,CAAC,CAAC;AAS7C,eAAO,MAAM,aAAa,OACpB,QAAQ,EAAE,iBACC,QAAQ,aAAa,aACzB,QAAQ,cAAc,EAAE,KAClC,QAAQ,QAAQ,QAAQ,CAsB1B,CAAC;AAyCF,eAAO,MAAM,2BAA2B,EAAE,2BAoCvC,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { AssetId } from '../Cardano';
2
+ import { assetsBurnedInspector, assetsMintedInspector, resolveInputs, totalAddressInputsValueInspector, totalAddressOutputsValueInspector } from './txInspector';
3
+ import { BigIntMath } from '@cardano-sdk/util';
4
+ import { coalesceTokenMaps, subtractTokenMaps } from '../Asset/util';
5
+ import { coalesceValueQuantities } from './coalesceValueQuantities';
6
+ import { computeImplicitCoin } from '../Cardano/util';
7
+ import { subtractValueQuantities } from './subtractValueQuantities';
8
+ export const getCollateral = async (tx, inputResolver, addresses) => {
9
+ if (!tx.body.collaterals || tx.body.collaterals.length === 0)
10
+ return 0n;
11
+ const resolvedCollateralInputs = (await resolveInputs(tx.body.collaterals, inputResolver)).resolvedInputs.filter((input) => addresses.includes(input.address));
12
+ const totalOwnedValueAtRisk = BigIntMath.sum(resolvedCollateralInputs.map(({ value }) => value.coins));
13
+ if (tx.body.collateralReturn) {
14
+ if (!addresses.includes(tx.body.collateralReturn.address))
15
+ return totalOwnedValueAtRisk;
16
+ return BigIntMath.max([totalOwnedValueAtRisk - tx.body.collateralReturn.value.coins, 0n]) ?? 0n;
17
+ }
18
+ return totalOwnedValueAtRisk;
19
+ };
20
+ const totalInputsValue = (resolvedInputs) => {
21
+ const receivedInputsValues = resolvedInputs.resolvedInputs.map((input) => input.value);
22
+ return coalesceValueQuantities(receivedInputsValues);
23
+ };
24
+ const totalOutputsValue = (outputs) => coalesceValueQuantities(outputs.map((output) => output.value));
25
+ const mintInspectionToTokenMap = (mintedAssets) => new Map(mintedAssets.map((asset) => [AssetId.fromParts(asset.policyId, asset.assetName), asset.quantity]));
26
+ const getImplicitAssets = async (tx) => {
27
+ const mintedAssets = mintInspectionToTokenMap(await assetsMintedInspector(tx));
28
+ const burnedAssets = mintInspectionToTokenMap(await assetsBurnedInspector(tx));
29
+ return coalesceTokenMaps([mintedAssets, burnedAssets]);
30
+ };
31
+ const getUnaccountedFunds = async (tx, resolvedInputs, implicitCoin, implicitAssets = new Map()) => {
32
+ const totalInputs = totalInputsValue(resolvedInputs);
33
+ const totalOutputs = totalOutputsValue(tx.body.outputs);
34
+ totalInputs.assets = coalesceTokenMaps([totalInputs.assets, implicitAssets]);
35
+ totalInputs.coins += implicitCoin;
36
+ return subtractValueQuantities([totalOutputs, totalInputs]);
37
+ };
38
+ export const transactionSummaryInspector = (args) => async (tx) => {
39
+ const { inputResolver, addresses, rewardAccounts, protocolParameters } = args;
40
+ const resolvedInputs = await resolveInputs(tx.body.inputs, inputResolver);
41
+ const fee = tx.body.fee;
42
+ const implicit = computeImplicitCoin(protocolParameters, { certificates: tx.body.certificates, withdrawals: tx.body.withdrawals }, rewardAccounts || []);
43
+ const collateral = await getCollateral(tx, inputResolver, addresses);
44
+ const totalOutputValue = await totalAddressOutputsValueInspector(addresses)(tx);
45
+ const totalInputValue = await totalAddressInputsValueInspector(addresses, inputResolver)(tx);
46
+ const implicitCoin = (implicit.withdrawals || 0n) + (implicit.reclaimDeposit || 0n) - (implicit.deposit || 0n);
47
+ const implicitAssets = await getImplicitAssets(tx);
48
+ const diff = {
49
+ assets: subtractTokenMaps([totalOutputValue.assets, totalInputValue.assets]),
50
+ coins: totalOutputValue.coins - totalInputValue.coins
51
+ };
52
+ return {
53
+ assets: diff.assets ?? new Map(),
54
+ coins: diff.coins,
55
+ collateral,
56
+ deposit: implicit.deposit || 0n,
57
+ fee,
58
+ returnedDeposit: implicit.reclaimDeposit || 0n,
59
+ unresolved: {
60
+ inputs: resolvedInputs.unresolvedInputs,
61
+ value: await getUnaccountedFunds(tx, resolvedInputs, implicitCoin, implicitAssets)
62
+ }
63
+ };
64
+ };
65
+ //# sourceMappingURL=transactionSummaryInspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionSummaryInspector.js","sourceRoot":"","sources":["../../../src/util/transactionSummaryInspector.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { AssetFingerprint, AssetName, Certificate, CertificateType, HydratedTx, HydratedTxIn, Lovelace, Metadatum, PolicyId, PoolRegistrationCertificate, PoolRetirementCertificate, Script, StakeAddressCertificate, StakeDelegationCertificate, Value } from '../Cardano/types';
2
- import { PaymentAddress, RewardAccount } from '../Cardano';
3
- declare type Inspector<Inspection> = (tx: HydratedTx) => Inspection;
4
- declare type Inspectors = {
1
+ import { AssetFingerprint, AssetName, Certificate, CertificateType, HydratedTxIn, Lovelace, Metadatum, PolicyId, PoolRegistrationCertificate, PoolRetirementCertificate, Script, StakeAddressCertificate, StakeDelegationCertificate, Tx, TxIn, TxOut, Value } from '../Cardano/types';
2
+ import { InputResolver, PaymentAddress, RewardAccount } from '../Cardano';
3
+ export declare type Inspector<Inspection> = (tx: Tx) => Promise<Inspection>;
4
+ export declare type Inspectors = {
5
5
  [k: string]: Inspector<unknown>;
6
6
  };
7
- declare type TxInspector<T extends Inspectors> = (tx: HydratedTx) => {
8
- [k in keyof T]: ReturnType<T[k]>;
9
- };
7
+ export declare type TxInspector<T extends Inspectors> = (tx: Tx) => Promise<{
8
+ [k in keyof T]: Awaited<ReturnType<T[k]>>;
9
+ }>;
10
10
  export declare type SendReceiveValueInspection = Value;
11
11
  export declare type DelegationInspection = StakeDelegationCertificate[];
12
12
  export declare type StakeRegistrationInspection = StakeAddressCertificate[];
@@ -30,9 +30,10 @@ export declare type MetadataInspection = Metadatum;
30
30
  interface SentInspectorArgs {
31
31
  addresses?: PaymentAddress[];
32
32
  rewardAccounts?: RewardAccount[];
33
+ inputResolver: InputResolver;
33
34
  }
34
35
  export declare type SentInspector = (args: SentInspectorArgs) => Inspector<SentInspection>;
35
- export declare type TotalAddressInputsValueInspector = (ownAddresses: PaymentAddress[], getHistoricalTxs: () => HydratedTx[]) => Inspector<SendReceiveValueInspection>;
36
+ export declare type TotalAddressInputsValueInspector = (ownAddresses: PaymentAddress[], inputResolver: InputResolver) => Inspector<SendReceiveValueInspection>;
36
37
  export declare type SendReceiveValueInspector = (ownAddresses: PaymentAddress[]) => Inspector<SendReceiveValueInspection>;
37
38
  export declare type DelegationInspector = Inspector<DelegationInspection>;
38
39
  export declare type StakeRegistrationInspector = Inspector<StakeRegistrationInspection>;
@@ -42,8 +43,15 @@ export declare type AssetsMintedInspector = Inspector<AssetsMintedInspection>;
42
43
  export declare type MetadataInspector = Inspector<MetadataInspection>;
43
44
  export declare type PoolRegistrationInspector = Inspector<PoolRegistrationInspection>;
44
45
  export declare type PoolRetirementInspector = Inspector<PoolRetirementInspection>;
46
+ declare type ResolvedInput = TxIn & TxOut;
47
+ export declare type ResolutionResult = {
48
+ resolvedInputs: ResolvedInput[];
49
+ unresolvedInputs: TxIn[];
50
+ };
51
+ export declare const resolveInputs: (txIns: TxIn[], inputResolver: InputResolver) => Promise<ResolutionResult>;
45
52
  export declare const totalAddressInputsValueInspector: TotalAddressInputsValueInspector;
46
53
  export declare const totalAddressOutputsValueInspector: SendReceiveValueInspector;
54
+ export declare const getCertificatesByType: (tx: Tx, rewardAccounts: RewardAccount[], certificateTypes?: CertificateType[]) => Certificate[];
47
55
  export declare const signedCertificatesInspector: SignedCertificatesInspector;
48
56
  export declare const sentInspector: SentInspector;
49
57
  export declare const valueSentInspector: TotalAddressInputsValueInspector;
@@ -1 +1 @@
1
- {"version":3,"file":"txInspector.d.ts","sourceRoot":"","sources":["../../../src/util/txInspector.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAEhB,SAAS,EACT,WAAW,EACX,eAAe,EACf,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,2BAA2B,EAC3B,yBAAyB,EACzB,MAAM,EAEN,uBAAuB,EACvB,0BAA0B,EAE1B,KAAK,EACN,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAwC,MAAM,YAAY,CAAC;AAMjG,aAAK,SAAS,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC;AAC5D,aAAK,UAAU,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AACtD,aAAK,WAAW,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK;KAC1D,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAGF,oBAAY,0BAA0B,GAAG,KAAK,CAAC;AAC/C,oBAAY,oBAAoB,GAAG,0BAA0B,EAAE,CAAC;AAChE,oBAAY,2BAA2B,GAAG,uBAAuB,EAAE,CAAC;AACpE,oBAAY,0BAA0B,GAAG,2BAA2B,EAAE,CAAC;AACvE,oBAAY,wBAAwB,GAAG,yBAAyB,EAAE,CAAC;AAEnE,oBAAY,oBAAoB,GAAG,QAAQ,CAAC;AAC5C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AACD,oBAAY,4BAA4B,GAAG,WAAW,EAAE,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oBAAY,sBAAsB,GAAG,WAAW,EAAE,CAAC;AAEnD,oBAAY,kBAAkB,GAAG,SAAS,CAAC;AAG3C,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AACD,oBAAY,aAAa,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC,cAAc,CAAC,CAAC;AACnF,oBAAY,gCAAgC,GAAG,CAC7C,YAAY,EAAE,cAAc,EAAE,EAC9B,gBAAgB,EAAE,MAAM,UAAU,EAAE,KACjC,SAAS,CAAC,0BAA0B,CAAC,CAAC;AAC3C,oBAAY,yBAAyB,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,SAAS,CAAC,0BAA0B,CAAC,CAAC;AAClH,oBAAY,mBAAmB,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAClE,oBAAY,0BAA0B,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAAC;AAChF,oBAAY,mBAAmB,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAClE,oBAAY,2BAA2B,GAAG,CACxC,cAAc,EAAE,aAAa,EAAE,EAC/B,gBAAgB,CAAC,EAAE,eAAe,EAAE,KACjC,SAAS,CAAC,4BAA4B,CAAC,CAAC;AAC7C,oBAAY,qBAAqB,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;AACtE,oBAAY,iBAAiB,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC9D,oBAAY,yBAAyB,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;AAC9E,oBAAY,uBAAuB,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAU1E,eAAO,MAAM,gCAAgC,EAAE,gCAQ5C,CAAC;AASJ,eAAO,MAAM,iCAAiC,EAAE,yBAG/C,CAAC;AASF,eAAO,MAAM,2BAA2B,EAAE,2BAgBvC,CAAC;AASJ,eAAO,MAAM,aAAa,EAAE,aAKxB,CAAC;AASL,eAAO,MAAM,kBAAkB,EAAE,gCAYhC,CAAC;AASF,eAAO,MAAM,sBAAsB,EAAE,gCAWpC,CAAC;AAsBF,eAAO,MAAM,mBAAmB,EAAE,mBAEjC,CAAC;AAQF,eAAO,MAAM,+BAA+B,EAAE,0BAC0C,CAAC;AAQzF,eAAO,MAAM,6BAA6B,EAAE,0BAC0C,CAAC;AAQvF,eAAO,MAAM,yBAAyB,EAAE,yBAEvC,CAAC;AAQF,eAAO,MAAM,uBAAuB,EAAE,uBAErC,CAAC;AAQF,eAAO,MAAM,mBAAmB,EAAE,mBACsE,CAAC;AAOzG,MAAM,WAAW,qBAAqB;IACpC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AASD,eAAO,MAAM,aAAa,0BACA,qBAAqB,KAAG,qBA0C/C,CAAC;AAGJ,eAAO,MAAM,qBAAqB,EAAE,qBAAyE,CAAC;AAG9G,eAAO,MAAM,qBAAqB,EAAE,qBAAyE,CAAC;AAO9G,eAAO,MAAM,iBAAiB,EAAE,iBAA+D,CAAC;AAOhG,eAAO,MAAM,iBAAiB,yDAYzB,CAAC"}
1
+ {"version":3,"file":"txInspector.d.ts","sourceRoot":"","sources":["../../../src/util/txInspector.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,44 @@
1
1
  import * as Crypto from '@cardano-sdk/crypto';
2
2
  import { AssetFingerprint, AssetId, CertificateType, ScriptType } from '../Cardano/types';
3
3
  import { BigIntMath } from '@cardano-sdk/util';
4
- import { RewardAccount, inputsWithAddresses, isAddressWithin } from '../Cardano';
4
+ import { RewardAccount, isAddressWithin } from '../Cardano';
5
5
  import { coalesceValueQuantities } from './coalesceValueQuantities';
6
6
  import { nativeScriptPolicyId } from './nativeScript';
7
7
  import { removeNegativesFromTokenMap } from '../Asset/util';
8
- import { resolveInputValue } from '../Cardano/util/resolveInputValue';
9
8
  import { subtractValueQuantities } from './subtractValueQuantities';
10
- export const totalAddressInputsValueInspector = (ownAddresses, getHistoricalTxs) => (tx) => {
11
- const receivedInputs = tx.body.inputs.filter((input) => isAddressWithin(ownAddresses)(input));
12
- const receivedInputsValues = receivedInputs
13
- .map((input) => resolveInputValue(input, getHistoricalTxs()))
14
- .filter((value) => !!value);
9
+ export const resolveInputs = async (txIns, inputResolver) => {
10
+ const resolvedInputs = [];
11
+ const unresolvedInputs = [];
12
+ for (const input of txIns) {
13
+ const resolvedInput = await inputResolver.resolveInput(input);
14
+ if (resolvedInput) {
15
+ resolvedInputs.push({
16
+ address: resolvedInput.address,
17
+ index: input.index,
18
+ txId: input.txId,
19
+ value: resolvedInput.value
20
+ });
21
+ }
22
+ else {
23
+ unresolvedInputs.push(input);
24
+ }
25
+ }
26
+ return {
27
+ resolvedInputs,
28
+ unresolvedInputs
29
+ };
30
+ };
31
+ export const totalAddressInputsValueInspector = (ownAddresses, inputResolver) => async (tx) => {
32
+ const { resolvedInputs } = await resolveInputs(tx.body.inputs, inputResolver);
33
+ const receivedInputs = resolvedInputs.filter((input) => isAddressWithin(ownAddresses)(input));
34
+ const receivedInputsValues = receivedInputs.map((input) => input.value);
15
35
  return coalesceValueQuantities(receivedInputsValues);
16
36
  };
17
- export const totalAddressOutputsValueInspector = (ownAddresses) => (tx) => {
37
+ export const totalAddressOutputsValueInspector = (ownAddresses) => async (tx) => {
18
38
  const receivedOutputs = tx.body.outputs.filter((out) => isAddressWithin(ownAddresses)(out));
19
39
  return coalesceValueQuantities(receivedOutputs.map((output) => output.value));
20
40
  };
21
- export const signedCertificatesInspector = (rewardAccounts, certificateTypes) => (tx) => {
41
+ export const getCertificatesByType = (tx, rewardAccounts, certificateTypes) => {
22
42
  if (!tx.body.certificates || tx.body.certificates.length === 0)
23
43
  return [];
24
44
  const certificates = certificateTypes
@@ -34,16 +54,26 @@ export const signedCertificatesInspector = (rewardAccounts, certificateTypes) =>
34
54
  return false;
35
55
  });
36
56
  };
37
- export const sentInspector = ({ addresses, rewardAccounts }) => (tx) => ({
38
- certificates: rewardAccounts?.length ? signedCertificatesInspector(rewardAccounts)(tx) : [],
39
- inputs: addresses?.length ? inputsWithAddresses(tx, addresses) : []
40
- });
41
- export const valueSentInspector = (ownAddresses, historicalTxs) => (tx) => {
57
+ export const signedCertificatesInspector = (rewardAccounts, certificateTypes) => async (tx) => getCertificatesByType(tx, rewardAccounts, certificateTypes);
58
+ export const sentInspector = ({ addresses, rewardAccounts, inputResolver }) => async (tx) => {
59
+ const certificates = rewardAccounts?.length ? await signedCertificatesInspector(rewardAccounts)(tx) : [];
60
+ let inputs = [];
61
+ if (addresses) {
62
+ const { resolvedInputs } = await resolveInputs(tx.body.inputs, inputResolver);
63
+ const sentInputs = resolvedInputs.filter((input) => isAddressWithin(addresses)(input));
64
+ inputs = sentInputs.map((input) => ({ address: input.address, index: input.index, txId: input.txId }));
65
+ }
66
+ return {
67
+ certificates,
68
+ inputs
69
+ };
70
+ };
71
+ export const valueSentInspector = (ownAddresses, inputResolver) => async (tx) => {
42
72
  let assets = new Map();
43
- if (sentInspector({ addresses: ownAddresses })(tx).inputs.length === 0)
73
+ if ((await sentInspector({ addresses: ownAddresses, inputResolver })(tx)).inputs.length === 0)
44
74
  return { coins: 0n };
45
- const totalOutputValue = totalAddressOutputsValueInspector(ownAddresses)(tx);
46
- const totalInputValue = totalAddressInputsValueInspector(ownAddresses, historicalTxs)(tx);
75
+ const totalOutputValue = await totalAddressOutputsValueInspector(ownAddresses)(tx);
76
+ const totalInputValue = await totalAddressInputsValueInspector(ownAddresses, inputResolver)(tx);
47
77
  const diff = subtractValueQuantities([totalInputValue, totalOutputValue]);
48
78
  if (diff.assets)
49
79
  assets = removeNegativesFromTokenMap(diff.assets);
@@ -52,10 +82,10 @@ export const valueSentInspector = (ownAddresses, historicalTxs) => (tx) => {
52
82
  coins: diff.coins < 0n ? 0n : diff.coins
53
83
  };
54
84
  };
55
- export const valueReceivedInspector = (ownAddresses, historicalTxs) => (tx) => {
85
+ export const valueReceivedInspector = (ownAddresses, inputResolver) => async (tx) => {
56
86
  let assets = new Map();
57
- const totalOutputValue = totalAddressOutputsValueInspector(ownAddresses)(tx);
58
- const totalInputValue = totalAddressInputsValueInspector(ownAddresses, historicalTxs)(tx);
87
+ const totalOutputValue = await totalAddressOutputsValueInspector(ownAddresses)(tx);
88
+ const totalInputValue = await totalAddressInputsValueInspector(ownAddresses, inputResolver)(tx);
59
89
  const diff = subtractValueQuantities([totalOutputValue, totalInputValue]);
60
90
  if (diff.assets)
61
91
  assets = removeNegativesFromTokenMap(diff.assets);
@@ -64,14 +94,14 @@ export const valueReceivedInspector = (ownAddresses, historicalTxs) => (tx) => {
64
94
  coins: diff.coins < 0n ? 0n : diff.coins
65
95
  };
66
96
  };
67
- const certificateInspector = (type) => (tx) => tx.body.certificates?.filter((cert) => cert.__typename === type) ?? [];
97
+ const certificateInspector = (type) => async (tx) => tx.body.certificates?.filter((cert) => cert.__typename === type) ?? [];
68
98
  export const delegationInspector = certificateInspector(CertificateType.StakeDelegation);
69
99
  export const stakeKeyDeregistrationInspector = certificateInspector(CertificateType.StakeDeregistration);
70
100
  export const stakeKeyRegistrationInspector = certificateInspector(CertificateType.StakeRegistration);
71
101
  export const poolRegistrationInspector = certificateInspector(CertificateType.PoolRegistration);
72
102
  export const poolRetirementInspector = certificateInspector(CertificateType.PoolRetirement);
73
- export const withdrawalInspector = (tx) => tx.body.withdrawals?.length ? BigIntMath.sum(tx.body.withdrawals.map(({ quantity }) => quantity)) : 0n;
74
- export const mintInspector = (matchQuantityCriteria) => (tx) => {
103
+ export const withdrawalInspector = async (tx) => tx.body.withdrawals?.length ? BigIntMath.sum(tx.body.withdrawals.map(({ quantity }) => quantity)) : 0n;
104
+ export const mintInspector = (matchQuantityCriteria) => async (tx) => {
75
105
  const assets = [];
76
106
  const scriptMap = new Map();
77
107
  if (!tx.body.mint)
@@ -106,10 +136,15 @@ export const mintInspector = (matchQuantityCriteria) => (tx) => {
106
136
  };
107
137
  export const assetsMintedInspector = mintInspector((quantity) => quantity > 0);
108
138
  export const assetsBurnedInspector = mintInspector((quantity) => quantity < 0);
109
- export const metadataInspector = (tx) => tx.auxiliaryData?.blob ?? new Map();
110
- export const createTxInspector = (inspectors) => (tx) => Object.keys(inspectors).reduce((result, key) => {
111
- const inspector = inspectors[key];
112
- result[key] = inspector(tx);
113
- return result;
114
- }, {});
139
+ export const metadataInspector = async (tx) => tx.auxiliaryData?.blob ?? new Map();
140
+ export const createTxInspector = (inspectors) => async (tx) => {
141
+ const results = await Promise.all(Object.entries(inspectors).map(async ([key, inspector]) => {
142
+ const result = await inspector(tx);
143
+ return { key, result };
144
+ }));
145
+ return results.reduce((acc, { key, result }) => {
146
+ acc[key] = result;
147
+ return acc;
148
+ }, {});
149
+ };
115
150
  //# sourceMappingURL=txInspector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"txInspector.js","sourceRoot":"","sources":["../../../src/util/txInspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"txInspector.js","sourceRoot":"","sources":["../../../src/util/txInspector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/core",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "description": "Core types and libraries for Cardano",
5
5
  "engines": {
6
6
  "node": ">=16.20.2"
@@ -57,8 +57,8 @@
57
57
  "dependencies": {
58
58
  "@cardano-ogmios/client": "5.6.0",
59
59
  "@cardano-ogmios/schema": "5.6.0",
60
- "@cardano-sdk/crypto": "~0.1.19",
61
- "@cardano-sdk/util": "~0.14.5",
60
+ "@cardano-sdk/crypto": "~0.1.20",
61
+ "@cardano-sdk/util": "~0.15.0",
62
62
  "@foxglove/crc": "^0.0.3",
63
63
  "@scure/base": "^1.1.1",
64
64
  "fraction.js": "4.0.1",
@@ -74,5 +74,5 @@
74
74
  "LICENSE",
75
75
  "NOTICE"
76
76
  ],
77
- "gitHead": "586e56ff6b8b4666fa62b4e11b1d87461c36b9b8"
77
+ "gitHead": "17887140f948a61653e01c781c7aa6e3e40d9e38"
78
78
  }