@cardano-sdk/tx-construction 0.17.13 → 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.
Files changed (59) 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 +3 -2
  11. package/dist/cjs/tx-builder/TxBuilder.d.ts.map +1 -1
  12. package/dist/cjs/tx-builder/TxBuilder.js +86 -25
  13. package/dist/cjs/tx-builder/TxBuilder.js.map +1 -1
  14. package/dist/cjs/tx-builder/index.d.ts +0 -1
  15. package/dist/cjs/tx-builder/index.d.ts.map +1 -1
  16. package/dist/cjs/tx-builder/index.js +0 -1
  17. package/dist/cjs/tx-builder/index.js.map +1 -1
  18. package/dist/cjs/tx-builder/initializeTx.d.ts.map +1 -1
  19. package/dist/cjs/tx-builder/initializeTx.js +13 -11
  20. package/dist/cjs/tx-builder/initializeTx.js.map +1 -1
  21. package/dist/cjs/tx-builder/types.d.ts +10 -16
  22. package/dist/cjs/tx-builder/types.d.ts.map +1 -1
  23. package/dist/cjs/tx-builder/types.js.map +1 -1
  24. package/dist/cjs/types.d.ts +4 -5
  25. package/dist/cjs/types.d.ts.map +1 -1
  26. package/dist/esm/computeScriptDataHash.d.ts +5 -0
  27. package/dist/esm/computeScriptDataHash.d.ts.map +1 -0
  28. package/dist/esm/computeScriptDataHash.js +44 -0
  29. package/dist/esm/computeScriptDataHash.js.map +1 -0
  30. package/dist/esm/index.d.ts +1 -0
  31. package/dist/esm/index.d.ts.map +1 -1
  32. package/dist/esm/index.js +1 -0
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  35. package/dist/esm/tx-builder/TxBuilder.d.ts +3 -2
  36. package/dist/esm/tx-builder/TxBuilder.d.ts.map +1 -1
  37. package/dist/esm/tx-builder/TxBuilder.js +87 -26
  38. package/dist/esm/tx-builder/TxBuilder.js.map +1 -1
  39. package/dist/esm/tx-builder/index.d.ts +0 -1
  40. package/dist/esm/tx-builder/index.d.ts.map +1 -1
  41. package/dist/esm/tx-builder/index.js +0 -1
  42. package/dist/esm/tx-builder/index.js.map +1 -1
  43. package/dist/esm/tx-builder/initializeTx.d.ts.map +1 -1
  44. package/dist/esm/tx-builder/initializeTx.js +14 -12
  45. package/dist/esm/tx-builder/initializeTx.js.map +1 -1
  46. package/dist/esm/tx-builder/types.d.ts +10 -16
  47. package/dist/esm/tx-builder/types.d.ts.map +1 -1
  48. package/dist/esm/tx-builder/types.js.map +1 -1
  49. package/dist/esm/types.d.ts +4 -5
  50. package/dist/esm/types.d.ts.map +1 -1
  51. package/package.json +8 -8
  52. package/dist/cjs/tx-builder/finalizeTx.d.ts +0 -4
  53. package/dist/cjs/tx-builder/finalizeTx.d.ts.map +0 -1
  54. package/dist/cjs/tx-builder/finalizeTx.js +0 -45
  55. package/dist/cjs/tx-builder/finalizeTx.js.map +0 -1
  56. package/dist/esm/tx-builder/finalizeTx.d.ts +0 -4
  57. package/dist/esm/tx-builder/finalizeTx.d.ts.map +0 -1
  58. package/dist/esm/tx-builder/finalizeTx.js +0 -41
  59. package/dist/esm/tx-builder/finalizeTx.js.map +0 -1
@@ -0,0 +1,44 @@
1
+ import * as Crypto from '@cardano-sdk/crypto';
2
+ import { Serialization } from '@cardano-sdk/core';
3
+ import { Hash32ByteBase16 } from '@cardano-sdk/crypto';
4
+ import { HexBlob } from '@cardano-sdk/util';
5
+ const CBOR_EMPTY_LIST = new Uint8Array([0x80]);
6
+ const CBOR_EMPTY_MAP = new Uint8Array([0xa0]);
7
+ const getCborEncodedArray = (items) => {
8
+ const writer = new Serialization.CborWriter();
9
+ writer.writeStartArray(items.length);
10
+ for (const item of items) {
11
+ writer.writeEncodedValue(Buffer.from(item.toCbor(), 'hex'));
12
+ }
13
+ return writer.encode();
14
+ };
15
+ const hashScriptData = (costModels, redemeers, datums) => {
16
+ const writer = new Serialization.CborWriter();
17
+ if (datums && datums.length > 0 && (!redemeers || redemeers.length === 0)) {
18
+ writer.writeEncodedValue(CBOR_EMPTY_LIST);
19
+ writer.writeEncodedValue(getCborEncodedArray(datums));
20
+ writer.writeEncodedValue(CBOR_EMPTY_MAP);
21
+ }
22
+ else {
23
+ if (!redemeers || redemeers.length === 0)
24
+ return undefined;
25
+ writer.writeEncodedValue(getCborEncodedArray(redemeers));
26
+ if (datums && datums.length > 0)
27
+ writer.writeEncodedValue(getCborEncodedArray(datums));
28
+ writer.writeEncodedValue(Buffer.from(costModels.languageViewsEncoding(), 'hex'));
29
+ }
30
+ return Hash32ByteBase16.fromHexBlob(HexBlob.fromBytes(Crypto.blake2b(Crypto.blake2b.BYTES).update(writer.encode()).digest()));
31
+ };
32
+ export const computeScriptDataHash = (costModels, usedLanguages, redeemers, datums) => {
33
+ if ((!redeemers || redeemers.length === 0) && (!datums || datums.length === 0))
34
+ return undefined;
35
+ const requiredCostModels = new Serialization.Costmdls();
36
+ for (const language of usedLanguages) {
37
+ const costModel = costModels.get(language);
38
+ if (costModel) {
39
+ requiredCostModels.insert(new Serialization.CostModel(language, costModel));
40
+ }
41
+ }
42
+ return hashScriptData(requiredCostModels, redeemers?.map((r) => Serialization.Redeemer.fromCore(r)), datums?.map((d) => Serialization.PlutusData.fromCore(d)));
43
+ };
44
+ //# 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/esm/index.js CHANGED
@@ -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.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,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.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,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"}