@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.
- package/dist/cjs/Asset/NftMetadata/fromMetadatum.d.ts.map +1 -1
- package/dist/cjs/Asset/NftMetadata/fromMetadatum.js +7 -2
- package/dist/cjs/Asset/NftMetadata/fromMetadatum.js.map +1 -1
- package/dist/cjs/Asset/util/subtractTokenMaps.d.ts +3 -2
- package/dist/cjs/Asset/util/subtractTokenMaps.d.ts.map +1 -1
- package/dist/cjs/Asset/util/subtractTokenMaps.js +53 -14
- package/dist/cjs/Asset/util/subtractTokenMaps.js.map +1 -1
- package/dist/cjs/Cardano/Address/RewardAccount.d.ts +3 -0
- package/dist/cjs/Cardano/Address/RewardAccount.d.ts.map +1 -1
- package/dist/cjs/Cardano/Address/RewardAccount.js +2 -0
- package/dist/cjs/Cardano/Address/RewardAccount.js.map +1 -1
- package/dist/cjs/Cardano/types/Certificate.d.ts +10 -0
- package/dist/cjs/Cardano/types/Certificate.d.ts.map +1 -1
- package/dist/cjs/Cardano/types/Certificate.js +23 -1
- package/dist/cjs/Cardano/types/Certificate.js.map +1 -1
- package/dist/cjs/Cardano/util/computeImplicitCoin.d.ts +3 -1
- package/dist/cjs/Cardano/util/computeImplicitCoin.d.ts.map +1 -1
- package/dist/cjs/Cardano/util/computeImplicitCoin.js +113 -11
- package/dist/cjs/Cardano/util/computeImplicitCoin.js.map +1 -1
- package/dist/cjs/Serialization/TransactionBody/TransactionBody.d.ts.map +1 -1
- package/dist/cjs/Serialization/TransactionBody/TransactionBody.js +9 -4
- package/dist/cjs/Serialization/TransactionBody/TransactionBody.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/util/index.d.ts +2 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +2 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/cjs/util/tokenTransferInspector.d.ts +12 -0
- package/dist/cjs/util/tokenTransferInspector.d.ts.map +1 -0
- package/dist/cjs/util/tokenTransferInspector.js +77 -0
- package/dist/cjs/util/tokenTransferInspector.js.map +1 -0
- package/dist/cjs/util/transactionSummaryInspector.d.ts +27 -0
- package/dist/cjs/util/transactionSummaryInspector.d.ts.map +1 -0
- package/dist/cjs/util/transactionSummaryInspector.js +70 -0
- package/dist/cjs/util/transactionSummaryInspector.js.map +1 -0
- package/dist/cjs/util/txInspector.d.ts +16 -8
- package/dist/cjs/util/txInspector.d.ts.map +1 -1
- package/dist/cjs/util/txInspector.js +66 -29
- package/dist/cjs/util/txInspector.js.map +1 -1
- package/dist/esm/Asset/NftMetadata/fromMetadatum.d.ts.map +1 -1
- package/dist/esm/Asset/NftMetadata/fromMetadatum.js +7 -2
- package/dist/esm/Asset/NftMetadata/fromMetadatum.js.map +1 -1
- package/dist/esm/Asset/util/subtractTokenMaps.d.ts +3 -2
- package/dist/esm/Asset/util/subtractTokenMaps.d.ts.map +1 -1
- package/dist/esm/Asset/util/subtractTokenMaps.js +48 -13
- package/dist/esm/Asset/util/subtractTokenMaps.js.map +1 -1
- package/dist/esm/Cardano/Address/RewardAccount.d.ts +3 -0
- package/dist/esm/Cardano/Address/RewardAccount.d.ts.map +1 -1
- package/dist/esm/Cardano/Address/RewardAccount.js +2 -0
- package/dist/esm/Cardano/Address/RewardAccount.js.map +1 -1
- package/dist/esm/Cardano/types/Certificate.d.ts +10 -0
- package/dist/esm/Cardano/types/Certificate.d.ts.map +1 -1
- package/dist/esm/Cardano/types/Certificate.js +20 -0
- package/dist/esm/Cardano/types/Certificate.js.map +1 -1
- package/dist/esm/Cardano/util/computeImplicitCoin.d.ts +3 -1
- package/dist/esm/Cardano/util/computeImplicitCoin.d.ts.map +1 -1
- package/dist/esm/Cardano/util/computeImplicitCoin.js +90 -11
- package/dist/esm/Cardano/util/computeImplicitCoin.js.map +1 -1
- package/dist/esm/Serialization/TransactionBody/TransactionBody.d.ts.map +1 -1
- package/dist/esm/Serialization/TransactionBody/TransactionBody.js +9 -4
- package/dist/esm/Serialization/TransactionBody/TransactionBody.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/util/index.d.ts +2 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +2 -0
- package/dist/esm/util/index.js.map +1 -1
- package/dist/esm/util/tokenTransferInspector.d.ts +12 -0
- package/dist/esm/util/tokenTransferInspector.d.ts.map +1 -0
- package/dist/esm/util/tokenTransferInspector.js +70 -0
- package/dist/esm/util/tokenTransferInspector.js.map +1 -0
- package/dist/esm/util/transactionSummaryInspector.d.ts +27 -0
- package/dist/esm/util/transactionSummaryInspector.d.ts.map +1 -0
- package/dist/esm/util/transactionSummaryInspector.js +65 -0
- package/dist/esm/util/transactionSummaryInspector.js.map +1 -0
- package/dist/esm/util/txInspector.d.ts +16 -8
- package/dist/esm/util/txInspector.d.ts.map +1 -1
- package/dist/esm/util/txInspector.js +64 -29
- package/dist/esm/util/txInspector.js.map +1 -1
- package/package.json +4 -4
package/dist/cjs/util/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/cjs/util/index.js
CHANGED
|
@@ -30,6 +30,8 @@ exports.metadatum = exports.util = void 0;
|
|
|
30
30
|
exports.util = __importStar(require("./misc"));
|
|
31
31
|
__exportStar(require("./slotCalc"), exports);
|
|
32
32
|
__exportStar(require("./txInspector"), exports);
|
|
33
|
+
__exportStar(require("./tokenTransferInspector"), exports);
|
|
34
|
+
__exportStar(require("./transactionSummaryInspector"), exports);
|
|
33
35
|
__exportStar(require("./utxo"), exports);
|
|
34
36
|
__exportStar(require("./calcStabilityWindow"), exports);
|
|
35
37
|
__exportStar(require("./coalesceValueQuantities"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA+B;AAC/B,6CAA2B;AAC3B,gDAA8B;AAC9B,yCAAuB;AACvB,wDAAsC;AACtC,4DAA0C;AAC1C,4DAA0C;AAC1C,iDAA+B;AAC/B,yDAAyC;AACzC,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA+B;AAC/B,6CAA2B;AAC3B,gDAA8B;AAC9B,2DAAyC;AACzC,gEAA8C;AAC9C,yCAAuB;AACvB,wDAAsC;AACtC,4DAA0C;AAC1C,4DAA0C;AAC1C,iDAA+B;AAC/B,yDAAyC;AACzC,yCAAuB"}
|
|
@@ -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,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.tokenTransferInspector = void 0;
|
|
7
|
+
const txInspector_1 = require("./txInspector");
|
|
8
|
+
const coalesceValueQuantities_1 = require("./coalesceValueQuantities");
|
|
9
|
+
const subtractValueQuantities_1 = require("./subtractValueQuantities");
|
|
10
|
+
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
11
|
+
const coalesceByAddress = (elements) => {
|
|
12
|
+
const grouped = elements.reduce((acc, elem) => {
|
|
13
|
+
if (!acc.has(elem.address))
|
|
14
|
+
acc.set(elem.address, []);
|
|
15
|
+
acc.get(elem.address)?.push(elem);
|
|
16
|
+
return acc;
|
|
17
|
+
}, new Map());
|
|
18
|
+
const coalescedByAddress = new Map();
|
|
19
|
+
for (const [address, elem] of grouped) {
|
|
20
|
+
coalescedByAddress.set(address, (0, coalesceValueQuantities_1.coalesceValueQuantities)(elem.map((x) => x.value)));
|
|
21
|
+
}
|
|
22
|
+
return coalescedByAddress;
|
|
23
|
+
};
|
|
24
|
+
const initializeAddressMap = (addresses) => new Map(addresses.map((address) => [address, { assets: new Map(), coins: 0n }]));
|
|
25
|
+
const updateFromAddressMap = (addressMap, key, value) => {
|
|
26
|
+
if (value.coins < 0n) {
|
|
27
|
+
addressMap.get(key).coins = value.coins;
|
|
28
|
+
}
|
|
29
|
+
for (const [assetId, quantity] of value.assets?.entries() ?? [])
|
|
30
|
+
if (quantity < 0n) {
|
|
31
|
+
addressMap.get(key).assets?.set(assetId, quantity);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const updateToAddressMap = (addressMap, key, value) => {
|
|
35
|
+
if (value.coins > 0n) {
|
|
36
|
+
addressMap.get(key).coins = value.coins;
|
|
37
|
+
}
|
|
38
|
+
for (const [assetId, quantity] of value.assets?.entries() ?? []) {
|
|
39
|
+
if (quantity > 0n) {
|
|
40
|
+
addressMap.get(key).assets?.set(assetId, quantity);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const computeNetDifferences = (inputs, outputs, fromAddress, toAddress) => {
|
|
45
|
+
for (const [key, inputValue] of inputs.entries()) {
|
|
46
|
+
const outputValue = outputs.get(key) ?? { assets: new Map(), coins: 0n };
|
|
47
|
+
const difference = (0, subtractValueQuantities_1.subtractValueQuantities)([outputValue, inputValue]);
|
|
48
|
+
updateFromAddressMap(fromAddress, key, difference);
|
|
49
|
+
updateToAddressMap(toAddress, key, difference);
|
|
50
|
+
}
|
|
51
|
+
for (const [key, outputValue] of outputs.entries()) {
|
|
52
|
+
if (!inputs.has(key)) {
|
|
53
|
+
updateToAddressMap(toAddress, key, outputValue);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const removeZeroBalanceEntries = (addressMap) => {
|
|
58
|
+
for (const [key, value] of addressMap.entries()) {
|
|
59
|
+
if (value.coins === 0n && value.assets?.size === 0) {
|
|
60
|
+
addressMap.delete(key);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const tokenTransferInspector = ({ inputResolver }) => async (tx) => {
|
|
65
|
+
const { resolvedInputs } = await (0, txInspector_1.resolveInputs)(tx.body.inputs, inputResolver);
|
|
66
|
+
const coalescedInputsByAddress = coalesceByAddress(resolvedInputs);
|
|
67
|
+
const coalescedOutputsByAddress = coalesceByAddress(tx.body.outputs);
|
|
68
|
+
const addresses = (0, uniq_1.default)([...coalescedInputsByAddress.keys(), ...coalescedOutputsByAddress.keys()]);
|
|
69
|
+
const fromAddress = initializeAddressMap(addresses);
|
|
70
|
+
const toAddress = initializeAddressMap(addresses);
|
|
71
|
+
computeNetDifferences(coalescedInputsByAddress, coalescedOutputsByAddress, fromAddress, toAddress);
|
|
72
|
+
removeZeroBalanceEntries(fromAddress);
|
|
73
|
+
removeZeroBalanceEntries(toAddress);
|
|
74
|
+
return { fromAddress, toAddress };
|
|
75
|
+
};
|
|
76
|
+
exports.tokenTransferInspector = tokenTransferInspector;
|
|
77
|
+
//# sourceMappingURL=tokenTransferInspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenTransferInspector.js","sourceRoot":"","sources":["../../../src/util/tokenTransferInspector.ts"],"names":[],"mappings":";;;;;;AACA,+CAAyD;AACzD,uEAAoE;AACpE,uEAAoE;AACpE,uDAA+B;AAa/B,MAAM,iBAAiB,GAAG,CACxB,QAAa,EAC+B,EAAE;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAA+B,CAAC,CAAC;IAE3C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyC,CAAC;IAE5E,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE;QACrC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAA,iDAAuB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpF;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,SAAmC,EAA8C,EAAE,CAC/G,IAAI,GAAG,CACL,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CACxE,CAAC;AAEJ,MAAM,oBAAoB,GAAG,CAC3B,UAAsD,EACtD,GAA2B,EAC3B,KAAoB,EACpB,EAAE;IACF,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE;QACpB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;KAC1C;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,IAAI,QAAQ,GAAG,EAAE,EAAE;YACjB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SACrD;AACL,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,UAAsD,EACtD,GAA2B,EAC3B,KAAoB,EACpB,EAAE;IACF,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,EAAE;QACpB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;KAC1C;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,IAAI,QAAQ,GAAG,EAAE,EAAE;YACjB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SACrD;KACF;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,MAAkD,EAClD,OAAmD,EACnD,WAAuD,EACvD,SAAqD,EACrD,EAAE;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzE,MAAM,UAAU,GAAG,IAAA,iDAAuB,EAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAEtE,oBAAoB,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;KAChD;IAGD,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;QAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;SACjD;KACF;AACH,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,UAAsD,EAAE,EAAE;IAC1F,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;QAC/C,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,EAAE;YAClD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;AACH,CAAC,CAAC;AAGK,MAAM,sBAAsB,GACjC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CACtB,KAAK,EAAE,EAAE,EAAE,EAAE;IACX,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,2BAAa,EAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE9E,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACnE,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,IAAA,cAAI,EAAC,CAAC,GAAG,wBAAwB,CAAC,IAAI,EAAE,EAAE,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElG,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAElD,qBAAqB,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAEnG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACtC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC,CAAC;AAnBS,QAAA,sBAAsB,0BAmB/B"}
|
|
@@ -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,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transactionSummaryInspector = exports.getCollateral = void 0;
|
|
4
|
+
const Cardano_1 = require("../Cardano");
|
|
5
|
+
const txInspector_1 = require("./txInspector");
|
|
6
|
+
const util_1 = require("@cardano-sdk/util");
|
|
7
|
+
const util_2 = require("../Asset/util");
|
|
8
|
+
const coalesceValueQuantities_1 = require("./coalesceValueQuantities");
|
|
9
|
+
const util_3 = require("../Cardano/util");
|
|
10
|
+
const subtractValueQuantities_1 = require("./subtractValueQuantities");
|
|
11
|
+
const getCollateral = async (tx, inputResolver, addresses) => {
|
|
12
|
+
if (!tx.body.collaterals || tx.body.collaterals.length === 0)
|
|
13
|
+
return 0n;
|
|
14
|
+
const resolvedCollateralInputs = (await (0, txInspector_1.resolveInputs)(tx.body.collaterals, inputResolver)).resolvedInputs.filter((input) => addresses.includes(input.address));
|
|
15
|
+
const totalOwnedValueAtRisk = util_1.BigIntMath.sum(resolvedCollateralInputs.map(({ value }) => value.coins));
|
|
16
|
+
if (tx.body.collateralReturn) {
|
|
17
|
+
if (!addresses.includes(tx.body.collateralReturn.address))
|
|
18
|
+
return totalOwnedValueAtRisk;
|
|
19
|
+
return util_1.BigIntMath.max([totalOwnedValueAtRisk - tx.body.collateralReturn.value.coins, 0n]) ?? 0n;
|
|
20
|
+
}
|
|
21
|
+
return totalOwnedValueAtRisk;
|
|
22
|
+
};
|
|
23
|
+
exports.getCollateral = getCollateral;
|
|
24
|
+
const totalInputsValue = (resolvedInputs) => {
|
|
25
|
+
const receivedInputsValues = resolvedInputs.resolvedInputs.map((input) => input.value);
|
|
26
|
+
return (0, coalesceValueQuantities_1.coalesceValueQuantities)(receivedInputsValues);
|
|
27
|
+
};
|
|
28
|
+
const totalOutputsValue = (outputs) => (0, coalesceValueQuantities_1.coalesceValueQuantities)(outputs.map((output) => output.value));
|
|
29
|
+
const mintInspectionToTokenMap = (mintedAssets) => new Map(mintedAssets.map((asset) => [Cardano_1.AssetId.fromParts(asset.policyId, asset.assetName), asset.quantity]));
|
|
30
|
+
const getImplicitAssets = async (tx) => {
|
|
31
|
+
const mintedAssets = mintInspectionToTokenMap(await (0, txInspector_1.assetsMintedInspector)(tx));
|
|
32
|
+
const burnedAssets = mintInspectionToTokenMap(await (0, txInspector_1.assetsBurnedInspector)(tx));
|
|
33
|
+
return (0, util_2.coalesceTokenMaps)([mintedAssets, burnedAssets]);
|
|
34
|
+
};
|
|
35
|
+
const getUnaccountedFunds = async (tx, resolvedInputs, implicitCoin, implicitAssets = new Map()) => {
|
|
36
|
+
const totalInputs = totalInputsValue(resolvedInputs);
|
|
37
|
+
const totalOutputs = totalOutputsValue(tx.body.outputs);
|
|
38
|
+
totalInputs.assets = (0, util_2.coalesceTokenMaps)([totalInputs.assets, implicitAssets]);
|
|
39
|
+
totalInputs.coins += implicitCoin;
|
|
40
|
+
return (0, subtractValueQuantities_1.subtractValueQuantities)([totalOutputs, totalInputs]);
|
|
41
|
+
};
|
|
42
|
+
const transactionSummaryInspector = (args) => async (tx) => {
|
|
43
|
+
const { inputResolver, addresses, rewardAccounts, protocolParameters, dRepKeyHash } = args;
|
|
44
|
+
const resolvedInputs = await (0, txInspector_1.resolveInputs)(tx.body.inputs, inputResolver);
|
|
45
|
+
const fee = tx.body.fee;
|
|
46
|
+
const implicit = (0, util_3.computeImplicitCoin)(protocolParameters, { certificates: tx.body.certificates, withdrawals: tx.body.withdrawals }, rewardAccounts || [], dRepKeyHash);
|
|
47
|
+
const collateral = await (0, exports.getCollateral)(tx, inputResolver, addresses);
|
|
48
|
+
const totalOutputValue = await (0, txInspector_1.totalAddressOutputsValueInspector)(addresses)(tx);
|
|
49
|
+
const totalInputValue = await (0, txInspector_1.totalAddressInputsValueInspector)(addresses, inputResolver)(tx);
|
|
50
|
+
const implicitCoin = (implicit.withdrawals || 0n) + (implicit.reclaimDeposit || 0n) - (implicit.deposit || 0n);
|
|
51
|
+
const implicitAssets = await getImplicitAssets(tx);
|
|
52
|
+
const diff = {
|
|
53
|
+
assets: (0, util_2.subtractTokenMaps)([totalOutputValue.assets, totalInputValue.assets]),
|
|
54
|
+
coins: totalOutputValue.coins - totalInputValue.coins
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
assets: diff.assets ?? new Map(),
|
|
58
|
+
coins: diff.coins,
|
|
59
|
+
collateral,
|
|
60
|
+
deposit: implicit.deposit || 0n,
|
|
61
|
+
fee,
|
|
62
|
+
returnedDeposit: implicit.reclaimDeposit || 0n,
|
|
63
|
+
unresolved: {
|
|
64
|
+
inputs: resolvedInputs.unresolvedInputs,
|
|
65
|
+
value: await getUnaccountedFunds(tx, resolvedInputs, implicitCoin, implicitAssets)
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
exports.transactionSummaryInspector = transactionSummaryInspector;
|
|
70
|
+
//# 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,
|
|
2
|
-
import { PaymentAddress, RewardAccount } from '../Cardano';
|
|
3
|
-
declare type Inspector<Inspection> = (tx:
|
|
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:
|
|
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[],
|
|
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":"AACA,OAAO,EACL,gBAAgB,EAEhB,SAAS,EACT,WAAW,EACX,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"txInspector.d.ts","sourceRoot":"","sources":["../../../src/util/txInspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.createTxInspector = exports.metadataInspector = exports.assetsBurnedInspector = exports.assetsMintedInspector = exports.mintInspector = exports.withdrawalInspector = exports.poolRetirementInspector = exports.poolRegistrationInspector = exports.stakeKeyRegistrationInspector = exports.stakeKeyDeregistrationInspector = exports.delegationInspector = exports.valueReceivedInspector = exports.valueSentInspector = exports.sentInspector = exports.signedCertificatesInspector = exports.totalAddressOutputsValueInspector = exports.totalAddressInputsValueInspector = void 0;
|
|
26
|
+
exports.createTxInspector = exports.metadataInspector = exports.assetsBurnedInspector = exports.assetsMintedInspector = exports.mintInspector = exports.withdrawalInspector = exports.poolRetirementInspector = exports.poolRegistrationInspector = exports.stakeKeyRegistrationInspector = exports.stakeKeyDeregistrationInspector = exports.delegationInspector = exports.valueReceivedInspector = exports.valueSentInspector = exports.sentInspector = exports.signedCertificatesInspector = exports.getCertificatesByType = exports.totalAddressOutputsValueInspector = exports.totalAddressInputsValueInspector = exports.resolveInputs = void 0;
|
|
27
27
|
const Crypto = __importStar(require("@cardano-sdk/crypto"));
|
|
28
28
|
const types_1 = require("../Cardano/types");
|
|
29
29
|
const util_1 = require("@cardano-sdk/util");
|
|
@@ -31,22 +31,43 @@ const Cardano_1 = require("../Cardano");
|
|
|
31
31
|
const coalesceValueQuantities_1 = require("./coalesceValueQuantities");
|
|
32
32
|
const nativeScript_1 = require("./nativeScript");
|
|
33
33
|
const util_2 = require("../Asset/util");
|
|
34
|
-
const resolveInputValue_1 = require("../Cardano/util/resolveInputValue");
|
|
35
34
|
const subtractValueQuantities_1 = require("./subtractValueQuantities");
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
.
|
|
35
|
+
const resolveInputs = async (txIns, inputResolver) => {
|
|
36
|
+
const resolvedInputs = [];
|
|
37
|
+
const unresolvedInputs = [];
|
|
38
|
+
for (const input of txIns) {
|
|
39
|
+
const resolvedInput = await inputResolver.resolveInput(input);
|
|
40
|
+
if (resolvedInput) {
|
|
41
|
+
resolvedInputs.push({
|
|
42
|
+
address: resolvedInput.address,
|
|
43
|
+
index: input.index,
|
|
44
|
+
txId: input.txId,
|
|
45
|
+
value: resolvedInput.value
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
unresolvedInputs.push(input);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
resolvedInputs,
|
|
54
|
+
unresolvedInputs
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
exports.resolveInputs = resolveInputs;
|
|
58
|
+
const totalAddressInputsValueInspector = (ownAddresses, inputResolver) => async (tx) => {
|
|
59
|
+
const { resolvedInputs } = await (0, exports.resolveInputs)(tx.body.inputs, inputResolver);
|
|
60
|
+
const receivedInputs = resolvedInputs.filter((input) => (0, Cardano_1.isAddressWithin)(ownAddresses)(input));
|
|
61
|
+
const receivedInputsValues = receivedInputs.map((input) => input.value);
|
|
41
62
|
return (0, coalesceValueQuantities_1.coalesceValueQuantities)(receivedInputsValues);
|
|
42
63
|
};
|
|
43
64
|
exports.totalAddressInputsValueInspector = totalAddressInputsValueInspector;
|
|
44
|
-
const totalAddressOutputsValueInspector = (ownAddresses) => (tx) => {
|
|
65
|
+
const totalAddressOutputsValueInspector = (ownAddresses) => async (tx) => {
|
|
45
66
|
const receivedOutputs = tx.body.outputs.filter((out) => (0, Cardano_1.isAddressWithin)(ownAddresses)(out));
|
|
46
67
|
return (0, coalesceValueQuantities_1.coalesceValueQuantities)(receivedOutputs.map((output) => output.value));
|
|
47
68
|
};
|
|
48
69
|
exports.totalAddressOutputsValueInspector = totalAddressOutputsValueInspector;
|
|
49
|
-
const
|
|
70
|
+
const getCertificatesByType = (tx, rewardAccounts, certificateTypes) => {
|
|
50
71
|
if (!tx.body.certificates || tx.body.certificates.length === 0)
|
|
51
72
|
return [];
|
|
52
73
|
const certificates = certificateTypes
|
|
@@ -62,18 +83,29 @@ const signedCertificatesInspector = (rewardAccounts, certificateTypes) => (tx) =
|
|
|
62
83
|
return false;
|
|
63
84
|
});
|
|
64
85
|
};
|
|
86
|
+
exports.getCertificatesByType = getCertificatesByType;
|
|
87
|
+
const signedCertificatesInspector = (rewardAccounts, certificateTypes) => async (tx) => (0, exports.getCertificatesByType)(tx, rewardAccounts, certificateTypes);
|
|
65
88
|
exports.signedCertificatesInspector = signedCertificatesInspector;
|
|
66
|
-
const sentInspector = ({ addresses, rewardAccounts }) => (tx) =>
|
|
67
|
-
certificates
|
|
68
|
-
inputs
|
|
69
|
-
|
|
89
|
+
const sentInspector = ({ addresses, rewardAccounts, inputResolver }) => async (tx) => {
|
|
90
|
+
const certificates = rewardAccounts?.length ? await (0, exports.signedCertificatesInspector)(rewardAccounts)(tx) : [];
|
|
91
|
+
let inputs = [];
|
|
92
|
+
if (addresses) {
|
|
93
|
+
const { resolvedInputs } = await (0, exports.resolveInputs)(tx.body.inputs, inputResolver);
|
|
94
|
+
const sentInputs = resolvedInputs.filter((input) => (0, Cardano_1.isAddressWithin)(addresses)(input));
|
|
95
|
+
inputs = sentInputs.map((input) => ({ address: input.address, index: input.index, txId: input.txId }));
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
certificates,
|
|
99
|
+
inputs
|
|
100
|
+
};
|
|
101
|
+
};
|
|
70
102
|
exports.sentInspector = sentInspector;
|
|
71
|
-
const valueSentInspector = (ownAddresses,
|
|
103
|
+
const valueSentInspector = (ownAddresses, inputResolver) => async (tx) => {
|
|
72
104
|
let assets = new Map();
|
|
73
|
-
if ((0, exports.sentInspector)({ addresses: ownAddresses })(tx).inputs.length === 0)
|
|
105
|
+
if ((await (0, exports.sentInspector)({ addresses: ownAddresses, inputResolver })(tx)).inputs.length === 0)
|
|
74
106
|
return { coins: 0n };
|
|
75
|
-
const totalOutputValue = (0, exports.totalAddressOutputsValueInspector)(ownAddresses)(tx);
|
|
76
|
-
const totalInputValue = (0, exports.totalAddressInputsValueInspector)(ownAddresses,
|
|
107
|
+
const totalOutputValue = await (0, exports.totalAddressOutputsValueInspector)(ownAddresses)(tx);
|
|
108
|
+
const totalInputValue = await (0, exports.totalAddressInputsValueInspector)(ownAddresses, inputResolver)(tx);
|
|
77
109
|
const diff = (0, subtractValueQuantities_1.subtractValueQuantities)([totalInputValue, totalOutputValue]);
|
|
78
110
|
if (diff.assets)
|
|
79
111
|
assets = (0, util_2.removeNegativesFromTokenMap)(diff.assets);
|
|
@@ -83,10 +115,10 @@ const valueSentInspector = (ownAddresses, historicalTxs) => (tx) => {
|
|
|
83
115
|
};
|
|
84
116
|
};
|
|
85
117
|
exports.valueSentInspector = valueSentInspector;
|
|
86
|
-
const valueReceivedInspector = (ownAddresses,
|
|
118
|
+
const valueReceivedInspector = (ownAddresses, inputResolver) => async (tx) => {
|
|
87
119
|
let assets = new Map();
|
|
88
|
-
const totalOutputValue = (0, exports.totalAddressOutputsValueInspector)(ownAddresses)(tx);
|
|
89
|
-
const totalInputValue = (0, exports.totalAddressInputsValueInspector)(ownAddresses,
|
|
120
|
+
const totalOutputValue = await (0, exports.totalAddressOutputsValueInspector)(ownAddresses)(tx);
|
|
121
|
+
const totalInputValue = await (0, exports.totalAddressInputsValueInspector)(ownAddresses, inputResolver)(tx);
|
|
90
122
|
const diff = (0, subtractValueQuantities_1.subtractValueQuantities)([totalOutputValue, totalInputValue]);
|
|
91
123
|
if (diff.assets)
|
|
92
124
|
assets = (0, util_2.removeNegativesFromTokenMap)(diff.assets);
|
|
@@ -96,15 +128,15 @@ const valueReceivedInspector = (ownAddresses, historicalTxs) => (tx) => {
|
|
|
96
128
|
};
|
|
97
129
|
};
|
|
98
130
|
exports.valueReceivedInspector = valueReceivedInspector;
|
|
99
|
-
const certificateInspector = (type) => (tx) => tx.body.certificates?.filter((cert) => cert.__typename === type) ?? [];
|
|
131
|
+
const certificateInspector = (type) => async (tx) => tx.body.certificates?.filter((cert) => cert.__typename === type) ?? [];
|
|
100
132
|
exports.delegationInspector = certificateInspector(types_1.CertificateType.StakeDelegation);
|
|
101
133
|
exports.stakeKeyDeregistrationInspector = certificateInspector(types_1.CertificateType.StakeDeregistration);
|
|
102
134
|
exports.stakeKeyRegistrationInspector = certificateInspector(types_1.CertificateType.StakeRegistration);
|
|
103
135
|
exports.poolRegistrationInspector = certificateInspector(types_1.CertificateType.PoolRegistration);
|
|
104
136
|
exports.poolRetirementInspector = certificateInspector(types_1.CertificateType.PoolRetirement);
|
|
105
|
-
const withdrawalInspector = (tx) => tx.body.withdrawals?.length ? util_1.BigIntMath.sum(tx.body.withdrawals.map(({ quantity }) => quantity)) : 0n;
|
|
137
|
+
const withdrawalInspector = async (tx) => tx.body.withdrawals?.length ? util_1.BigIntMath.sum(tx.body.withdrawals.map(({ quantity }) => quantity)) : 0n;
|
|
106
138
|
exports.withdrawalInspector = withdrawalInspector;
|
|
107
|
-
const mintInspector = (matchQuantityCriteria) => (tx) => {
|
|
139
|
+
const mintInspector = (matchQuantityCriteria) => async (tx) => {
|
|
108
140
|
const assets = [];
|
|
109
141
|
const scriptMap = new Map();
|
|
110
142
|
if (!tx.body.mint)
|
|
@@ -140,12 +172,17 @@ const mintInspector = (matchQuantityCriteria) => (tx) => {
|
|
|
140
172
|
exports.mintInspector = mintInspector;
|
|
141
173
|
exports.assetsMintedInspector = (0, exports.mintInspector)((quantity) => quantity > 0);
|
|
142
174
|
exports.assetsBurnedInspector = (0, exports.mintInspector)((quantity) => quantity < 0);
|
|
143
|
-
const metadataInspector = (tx) => tx.auxiliaryData?.blob ?? new Map();
|
|
175
|
+
const metadataInspector = async (tx) => tx.auxiliaryData?.blob ?? new Map();
|
|
144
176
|
exports.metadataInspector = metadataInspector;
|
|
145
|
-
const createTxInspector = (inspectors) => (tx) =>
|
|
146
|
-
const
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
177
|
+
const createTxInspector = (inspectors) => async (tx) => {
|
|
178
|
+
const results = await Promise.all(Object.entries(inspectors).map(async ([key, inspector]) => {
|
|
179
|
+
const result = await inspector(tx);
|
|
180
|
+
return { key, result };
|
|
181
|
+
}));
|
|
182
|
+
return results.reduce((acc, { key, result }) => {
|
|
183
|
+
acc[key] = result;
|
|
184
|
+
return acc;
|
|
185
|
+
}, {});
|
|
186
|
+
};
|
|
150
187
|
exports.createTxInspector = createTxInspector;
|
|
151
188
|
//# sourceMappingURL=txInspector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txInspector.js","sourceRoot":"","sources":["../../../src/util/txInspector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"txInspector.js","sourceRoot":"","sources":["../../../src/util/txInspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromMetadatum.d.ts","sourceRoot":"","sources":["../../../../src/Asset/NftMetadata/fromMetadatum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"fromMetadatum.d.ts","sourceRoot":"","sources":["../../../../src/Asset/NftMetadata/fromMetadatum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAA6B,WAAW,EAAwB,MAAM,SAAS,CAAC;AAEvF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAmGhC,eAAO,MAAM,aAAa,UACjB,KAAK,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,YACjC,QAAQ,UAAU,GAAG,SAAS,UAChC,MAAM,KACb,WAAW,GAAG,IAyChB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AssetName } from '../../Cardano';
|
|
1
2
|
import { Cardano } from '../..';
|
|
2
3
|
import { ImageMediaType, MediaType, Uri } from './types';
|
|
3
4
|
import { InvalidFileError } from './errors';
|
|
@@ -76,9 +77,13 @@ export const fromMetadatum = (asset, metadata, logger) => {
|
|
|
76
77
|
const assetMetadata = getAssetMetadata(policy, asset.name);
|
|
77
78
|
if (!assetMetadata)
|
|
78
79
|
return null;
|
|
79
|
-
const
|
|
80
|
+
const version = asString(policy.get('version')) || '1.0';
|
|
81
|
+
let name = asString(assetMetadata.get('name'));
|
|
80
82
|
const image = metadatumToString(assetMetadata.get('image'));
|
|
81
83
|
const assetId = Cardano.AssetId.fromParts(asset.policyId, asset.name);
|
|
84
|
+
if (version === '1.0' && !name) {
|
|
85
|
+
name = AssetName.toUTF8(asset.name);
|
|
86
|
+
}
|
|
82
87
|
if (!name || !image) {
|
|
83
88
|
logger.warn(missingFieldLogMessage(!name ? 'name' : 'image', assetId, true));
|
|
84
89
|
return null;
|
|
@@ -93,7 +98,7 @@ export const fromMetadatum = (asset, metadata, logger) => {
|
|
|
93
98
|
mediaType: mediaType ? ImageMediaType(mediaType) : undefined,
|
|
94
99
|
name,
|
|
95
100
|
otherProperties: mapOtherProperties(assetMetadata, ['name', 'image', 'mediaType', 'description', 'files']),
|
|
96
|
-
version
|
|
101
|
+
version
|
|
97
102
|
};
|
|
98
103
|
}
|
|
99
104
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromMetadatum.js","sourceRoot":"","sources":["../../../../src/Asset/NftMetadata/fromMetadatum.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fromMetadatum.js","sourceRoot":"","sources":["../../../../src/Asset/NftMetadata/fromMetadatum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare const
|
|
1
|
+
import * as Cardano from '../../Cardano';
|
|
2
|
+
export declare const subtractMaps: (lhs: Cardano.TokenMap | undefined, rhs: Cardano.TokenMap | undefined) => Cardano.TokenMap | undefined;
|
|
3
|
+
export declare const subtractTokenMaps: (assets: (Cardano.TokenMap | undefined)[]) => Cardano.TokenMap | undefined;
|
|
3
4
|
//# sourceMappingURL=subtractTokenMaps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtractTokenMaps.d.ts","sourceRoot":"","sources":["../../../../src/Asset/util/subtractTokenMaps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subtractTokenMaps.d.ts","sourceRoot":"","sources":["../../../../src/Asset/util/subtractTokenMaps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAUzC,eAAO,MAAM,YAAY,QAClB,QAAQ,QAAQ,GAAG,SAAS,OAC5B,QAAQ,QAAQ,GAAG,SAAS,KAChC,QAAQ,QAAQ,GAAG,SA0DrB,CAAC;AAGF,eAAO,MAAM,iBAAiB,WAAY,CAAC,QAAQ,QAAQ,GAAG,SAAS,CAAC,EAAE,KAAG,QAAQ,QAAQ,GAAG,SAI/F,CAAC"}
|