@cardano-sdk/tx-construction 0.18.0 → 0.18.1

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.
@@ -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"}