@cardano-sdk/tx-construction 0.18.0 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/cjs/computeScriptDataHash.d.ts +5 -0
  2. package/dist/cjs/computeScriptDataHash.d.ts.map +1 -0
  3. package/dist/cjs/computeScriptDataHash.js +71 -0
  4. package/dist/cjs/computeScriptDataHash.js.map +1 -0
  5. package/dist/cjs/index.d.ts +1 -0
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +1 -0
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  10. package/dist/cjs/tx-builder/TxBuilder.d.ts +1 -0
  11. package/dist/cjs/tx-builder/TxBuilder.d.ts.map +1 -1
  12. package/dist/cjs/tx-builder/TxBuilder.js +18 -2
  13. package/dist/cjs/tx-builder/TxBuilder.js.map +1 -1
  14. package/dist/cjs/tx-builder/types.d.ts +9 -1
  15. package/dist/cjs/tx-builder/types.d.ts.map +1 -1
  16. package/dist/cjs/tx-builder/types.js +11 -1
  17. package/dist/cjs/tx-builder/types.js.map +1 -1
  18. package/dist/esm/computeScriptDataHash.d.ts +5 -0
  19. package/dist/esm/computeScriptDataHash.d.ts.map +1 -0
  20. package/dist/esm/computeScriptDataHash.js +44 -0
  21. package/dist/esm/computeScriptDataHash.js.map +1 -0
  22. package/dist/esm/index.d.ts +1 -0
  23. package/dist/esm/index.d.ts.map +1 -1
  24. package/dist/esm/index.js +1 -0
  25. package/dist/esm/index.js.map +1 -1
  26. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  27. package/dist/esm/tx-builder/TxBuilder.d.ts +1 -0
  28. package/dist/esm/tx-builder/TxBuilder.d.ts.map +1 -1
  29. package/dist/esm/tx-builder/TxBuilder.js +19 -3
  30. package/dist/esm/tx-builder/TxBuilder.js.map +1 -1
  31. package/dist/esm/tx-builder/types.d.ts +9 -1
  32. package/dist/esm/tx-builder/types.d.ts.map +1 -1
  33. package/dist/esm/tx-builder/types.js +9 -0
  34. package/dist/esm/tx-builder/types.js.map +1 -1
  35. package/package.json +8 -8
@@ -0,0 +1,5 @@
1
+ import * as Crypto from '@cardano-sdk/crypto';
2
+ import { Cardano } from '@cardano-sdk/core';
3
+ import { Hash32ByteBase16 } from '@cardano-sdk/crypto';
4
+ export declare const computeScriptDataHash: (costModels: Cardano.CostModels, usedLanguages: Cardano.PlutusLanguageVersion[], redeemers?: Cardano.Redeemer[], datums?: Cardano.PlutusData[]) => Crypto.Hash32ByteBase16 | undefined;
5
+ //# sourceMappingURL=computeScriptDataHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeScriptDataHash.d.ts","sourceRoot":"","sources":["../../src/computeScriptDataHash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA8FvD,eAAO,MAAM,qBAAqB,kDAEjB,QAAQ,qBAAqB,EAAE,cAClC,QAAQ,QAAQ,EAAE,WACrB,QAAQ,UAAU,EAAE,KAC5B,uBAAuB,GAAG,SAkB5B,CAAC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.computeScriptDataHash = void 0;
27
+ const Crypto = __importStar(require("@cardano-sdk/crypto"));
28
+ const core_1 = require("@cardano-sdk/core");
29
+ const crypto_1 = require("@cardano-sdk/crypto");
30
+ const util_1 = require("@cardano-sdk/util");
31
+ const CBOR_EMPTY_LIST = new Uint8Array([0x80]);
32
+ const CBOR_EMPTY_MAP = new Uint8Array([0xa0]);
33
+ const getCborEncodedArray = (items) => {
34
+ const writer = new core_1.Serialization.CborWriter();
35
+ writer.writeStartArray(items.length);
36
+ for (const item of items) {
37
+ writer.writeEncodedValue(Buffer.from(item.toCbor(), 'hex'));
38
+ }
39
+ return writer.encode();
40
+ };
41
+ const hashScriptData = (costModels, redemeers, datums) => {
42
+ const writer = new core_1.Serialization.CborWriter();
43
+ if (datums && datums.length > 0 && (!redemeers || redemeers.length === 0)) {
44
+ writer.writeEncodedValue(CBOR_EMPTY_LIST);
45
+ writer.writeEncodedValue(getCborEncodedArray(datums));
46
+ writer.writeEncodedValue(CBOR_EMPTY_MAP);
47
+ }
48
+ else {
49
+ if (!redemeers || redemeers.length === 0)
50
+ return undefined;
51
+ writer.writeEncodedValue(getCborEncodedArray(redemeers));
52
+ if (datums && datums.length > 0)
53
+ writer.writeEncodedValue(getCborEncodedArray(datums));
54
+ writer.writeEncodedValue(Buffer.from(costModels.languageViewsEncoding(), 'hex'));
55
+ }
56
+ return crypto_1.Hash32ByteBase16.fromHexBlob(util_1.HexBlob.fromBytes(Crypto.blake2b(Crypto.blake2b.BYTES).update(writer.encode()).digest()));
57
+ };
58
+ const computeScriptDataHash = (costModels, usedLanguages, redeemers, datums) => {
59
+ if ((!redeemers || redeemers.length === 0) && (!datums || datums.length === 0))
60
+ return undefined;
61
+ const requiredCostModels = new core_1.Serialization.Costmdls();
62
+ for (const language of usedLanguages) {
63
+ const costModel = costModels.get(language);
64
+ if (costModel) {
65
+ requiredCostModels.insert(new core_1.Serialization.CostModel(language, costModel));
66
+ }
67
+ }
68
+ return hashScriptData(requiredCostModels, redeemers?.map((r) => core_1.Serialization.Redeemer.fromCore(r)), datums?.map((d) => core_1.Serialization.PlutusData.fromCore(d)));
69
+ };
70
+ exports.computeScriptDataHash = computeScriptDataHash;
71
+ //# sourceMappingURL=computeScriptDataHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeScriptDataHash.js","sourceRoot":"","sources":["../../src/computeScriptDataHash.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export * from './output-validation';
5
5
  export * from './tx-builder';
6
6
  export * from './ensureValidityInterval';
7
7
  export * from './types';
8
+ export * from './computeScriptDataHash';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAClG,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAClG,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -23,4 +23,5 @@ __exportStar(require("./output-validation"), exports);
23
23
  __exportStar(require("./tx-builder"), exports);
24
24
  __exportStar(require("./ensureValidityInterval"), exports);
25
25
  __exportStar(require("./types"), exports);
26
+ __exportStar(require("./computeScriptDataHash"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2EAAkG;AAAjE,wIAAA,0BAA0B,OAAA;AAC3D,yCAAuB;AACvB,oDAAkC;AAClC,sDAAoC;AACpC,+CAA6B;AAC7B,2DAAyC;AACzC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2EAAkG;AAAjE,wIAAA,0BAA0B,OAAA;AAC3D,yCAAuB;AACvB,oDAAkC;AAClC,sDAAoC;AACpC,+CAA6B;AAC7B,2DAAyC;AACzC,0CAAwB;AACxB,0DAAwC"}