@cardano-sdk/core 0.23.1 → 0.25.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 (79) 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/types/Certificate.d.ts +10 -0
  13. package/dist/cjs/Cardano/types/Certificate.d.ts.map +1 -1
  14. package/dist/cjs/Cardano/types/Certificate.js +23 -1
  15. package/dist/cjs/Cardano/types/Certificate.js.map +1 -1
  16. package/dist/cjs/Cardano/util/computeImplicitCoin.d.ts +3 -1
  17. package/dist/cjs/Cardano/util/computeImplicitCoin.d.ts.map +1 -1
  18. package/dist/cjs/Cardano/util/computeImplicitCoin.js +113 -11
  19. package/dist/cjs/Cardano/util/computeImplicitCoin.js.map +1 -1
  20. package/dist/cjs/Serialization/TransactionBody/TransactionBody.d.ts.map +1 -1
  21. package/dist/cjs/Serialization/TransactionBody/TransactionBody.js +9 -4
  22. package/dist/cjs/Serialization/TransactionBody/TransactionBody.js.map +1 -1
  23. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  24. package/dist/cjs/util/index.d.ts +2 -0
  25. package/dist/cjs/util/index.d.ts.map +1 -1
  26. package/dist/cjs/util/index.js +2 -0
  27. package/dist/cjs/util/index.js.map +1 -1
  28. package/dist/cjs/util/tokenTransferInspector.d.ts +12 -0
  29. package/dist/cjs/util/tokenTransferInspector.d.ts.map +1 -0
  30. package/dist/cjs/util/tokenTransferInspector.js +77 -0
  31. package/dist/cjs/util/tokenTransferInspector.js.map +1 -0
  32. package/dist/cjs/util/transactionSummaryInspector.d.ts +27 -0
  33. package/dist/cjs/util/transactionSummaryInspector.d.ts.map +1 -0
  34. package/dist/cjs/util/transactionSummaryInspector.js +70 -0
  35. package/dist/cjs/util/transactionSummaryInspector.js.map +1 -0
  36. package/dist/cjs/util/txInspector.d.ts +16 -8
  37. package/dist/cjs/util/txInspector.d.ts.map +1 -1
  38. package/dist/cjs/util/txInspector.js +66 -29
  39. package/dist/cjs/util/txInspector.js.map +1 -1
  40. package/dist/esm/Asset/NftMetadata/fromMetadatum.d.ts.map +1 -1
  41. package/dist/esm/Asset/NftMetadata/fromMetadatum.js +7 -2
  42. package/dist/esm/Asset/NftMetadata/fromMetadatum.js.map +1 -1
  43. package/dist/esm/Asset/util/subtractTokenMaps.d.ts +3 -2
  44. package/dist/esm/Asset/util/subtractTokenMaps.d.ts.map +1 -1
  45. package/dist/esm/Asset/util/subtractTokenMaps.js +48 -13
  46. package/dist/esm/Asset/util/subtractTokenMaps.js.map +1 -1
  47. package/dist/esm/Cardano/Address/RewardAccount.d.ts +3 -0
  48. package/dist/esm/Cardano/Address/RewardAccount.d.ts.map +1 -1
  49. package/dist/esm/Cardano/Address/RewardAccount.js +2 -0
  50. package/dist/esm/Cardano/Address/RewardAccount.js.map +1 -1
  51. package/dist/esm/Cardano/types/Certificate.d.ts +10 -0
  52. package/dist/esm/Cardano/types/Certificate.d.ts.map +1 -1
  53. package/dist/esm/Cardano/types/Certificate.js +20 -0
  54. package/dist/esm/Cardano/types/Certificate.js.map +1 -1
  55. package/dist/esm/Cardano/util/computeImplicitCoin.d.ts +3 -1
  56. package/dist/esm/Cardano/util/computeImplicitCoin.d.ts.map +1 -1
  57. package/dist/esm/Cardano/util/computeImplicitCoin.js +90 -11
  58. package/dist/esm/Cardano/util/computeImplicitCoin.js.map +1 -1
  59. package/dist/esm/Serialization/TransactionBody/TransactionBody.d.ts.map +1 -1
  60. package/dist/esm/Serialization/TransactionBody/TransactionBody.js +9 -4
  61. package/dist/esm/Serialization/TransactionBody/TransactionBody.js.map +1 -1
  62. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  63. package/dist/esm/util/index.d.ts +2 -0
  64. package/dist/esm/util/index.d.ts.map +1 -1
  65. package/dist/esm/util/index.js +2 -0
  66. package/dist/esm/util/index.js.map +1 -1
  67. package/dist/esm/util/tokenTransferInspector.d.ts +12 -0
  68. package/dist/esm/util/tokenTransferInspector.d.ts.map +1 -0
  69. package/dist/esm/util/tokenTransferInspector.js +70 -0
  70. package/dist/esm/util/tokenTransferInspector.js.map +1 -0
  71. package/dist/esm/util/transactionSummaryInspector.d.ts +27 -0
  72. package/dist/esm/util/transactionSummaryInspector.d.ts.map +1 -0
  73. package/dist/esm/util/transactionSummaryInspector.js +65 -0
  74. package/dist/esm/util/transactionSummaryInspector.js.map +1 -0
  75. package/dist/esm/util/txInspector.d.ts +16 -8
  76. package/dist/esm/util/txInspector.d.ts.map +1 -1
  77. package/dist/esm/util/txInspector.js +64 -29
  78. package/dist/esm/util/txInspector.js.map +1 -1
  79. 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"}
@@ -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,27 @@
1
+ import * as Cardano from '../Cardano';
2
+ import * as Crypto from '@cardano-sdk/crypto';
3
+ import { Inspector } from './txInspector';
4
+ interface TransactionSummaryInspectorArgs {
5
+ addresses: Cardano.PaymentAddress[];
6
+ rewardAccounts: Cardano.RewardAccount[];
7
+ inputResolver: Cardano.InputResolver;
8
+ protocolParameters: Cardano.ProtocolParameters;
9
+ dRepKeyHash?: Crypto.Ed25519KeyHashHex;
10
+ }
11
+ export declare type TransactionSummaryInspection = {
12
+ assets: Cardano.TokenMap;
13
+ coins: Cardano.Lovelace;
14
+ collateral: Cardano.Lovelace;
15
+ deposit: Cardano.Lovelace;
16
+ returnedDeposit: Cardano.Lovelace;
17
+ fee: Cardano.Lovelace;
18
+ unresolved: {
19
+ inputs: Cardano.TxIn[];
20
+ value: Cardano.Value;
21
+ };
22
+ };
23
+ export declare type TransactionSummaryInspector = (args: TransactionSummaryInspectorArgs) => Inspector<TransactionSummaryInspection>;
24
+ export declare const getCollateral: (tx: Cardano.Tx, inputResolver: Cardano.InputResolver, addresses: Cardano.PaymentAddress[]) => Promise<Cardano.Lovelace>;
25
+ export declare const transactionSummaryInspector: TransactionSummaryInspector;
26
+ export {};
27
+ //# 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;AACtC,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,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;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC;CACxC;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,2BAqCvC,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, dRepKeyHash } = 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 || [], dRepKeyHash);
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?: readonly 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":"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"}
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.1",
3
+ "version": "0.25.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": "407c2a5107fc68ec42ad4bebc9390a2b53f52e83"
77
+ "gitHead": "19de370ffa237b17722b475b386f429668bb024b"
78
78
  }