@helios-lang/effect 0.4.31 → 0.4.34

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,75 @@
1
+ import { Either } from "effect";
2
+ import * as Bytes from "../../Codecs/Bytes.js";
3
+ import * as Cbor from "../../Codecs/Cbor.js";
4
+ import * as PubKey from "../Ledger/PubKey.js";
5
+ export const decode = (bytes) => Either.gen(function* () {
6
+ const pairs = yield* Cbor.decodeMap(Cbor.decodeInt, decodeHeaderValue)(bytes);
7
+ let kty;
8
+ let alg;
9
+ let crv;
10
+ let pubKey;
11
+ for (const [key, value] of pairs) {
12
+ switch (key) {
13
+ case 1n:
14
+ if (typeof value == "bigint") {
15
+ kty = value;
16
+ }
17
+ break;
18
+ case 3n:
19
+ if (typeof value == "bigint") {
20
+ alg = value;
21
+ }
22
+ break;
23
+ case -1n:
24
+ if (typeof value == "bigint") {
25
+ crv = value;
26
+ }
27
+ break;
28
+ case -2n:
29
+ if (value instanceof Uint8Array) {
30
+ pubKey = yield* PubKey.make(value).pipe(Either.mapLeft((e) => new Cbor.DecodeError(Bytes.makeStream(bytes), e.message ?? "Invalid COSE PubKey")));
31
+ }
32
+ break;
33
+ }
34
+ }
35
+ if (kty === undefined) {
36
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE PubKey: kty not set (i.e. field 1 not set)"));
37
+ }
38
+ if (kty != 1n) {
39
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), `invalid COSE PubKey: kty not set to OKP (i.e. field 1 not set to 1), got ${kty}`));
40
+ }
41
+ if (alg === undefined) {
42
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE PubKey: alg not set (i.e. field 3 not set)"));
43
+ }
44
+ if (alg != -8n) {
45
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), `invalid COSE PubKey: alg not set to EdDSA (i.e. field 3 not set to -8), got ${alg}`));
46
+ }
47
+ if (crv === undefined) {
48
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE PubKey: crv not set (i.e. field -1 not set)"));
49
+ }
50
+ if (crv != 6n) {
51
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), `invalid COSE PubKey: crv not set to Ed25519 (i.e. field -1 not set to 6), got ${crv}`));
52
+ }
53
+ if (!pubKey) {
54
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE PubKey: pubKey field not set (i.e. field -2 not set)"));
55
+ }
56
+ return pubKey;
57
+ });
58
+ export function encode(pubKey) {
59
+ return Cbor.encodeMap([
60
+ [Cbor.encodeInt(1), Cbor.encodeInt(1)],
61
+ [Cbor.encodeInt(3), Cbor.encodeInt(-8)],
62
+ [Cbor.encodeInt(-1), Cbor.encodeInt(6)],
63
+ [Cbor.encodeInt(-2), PubKey.encode(pubKey)]
64
+ ]);
65
+ }
66
+ const decodeHeaderValue = (bytes) => {
67
+ if (Cbor.isInt(bytes)) {
68
+ return Cbor.decodeInt(bytes);
69
+ }
70
+ if (Cbor.isBytes(bytes)) {
71
+ return Cbor.decodeBytes(bytes).pipe(Either.map((bs) => Uint8Array.from(bs)));
72
+ }
73
+ return Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE PubKey: unexpected header value type"));
74
+ };
75
+ //# sourceMappingURL=PubKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PubKey.js","sourceRoot":"","sources":["../../../src/Cardano/Cose/PubKey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import { Either } from "effect";
2
+ import * as Bytes from "../../Codecs/Bytes.js";
3
+ import * as Cbor from "../../Codecs/Cbor.js";
4
+ import * as Bip32 from "../../Crypto/Bip32.js";
5
+ import * as Ed25519 from "../../Crypto/Ed25519.js";
6
+ import * as Address from "../Ledger/Address.js";
7
+ import * as PubKey from "../Ledger/PubKey.js";
8
+ export function make(address, payload, bytes, kid) {
9
+ assertPubKeyAddress(address);
10
+ const sign1 = {
11
+ address,
12
+ payload: Bytes.toUint8Array(payload),
13
+ bytes: Bytes.toUint8Array(bytes)
14
+ };
15
+ if (kid !== undefined) {
16
+ return {
17
+ ...sign1,
18
+ kid: Bytes.toUint8Array(kid)
19
+ };
20
+ }
21
+ return sign1;
22
+ }
23
+ export function sign(address, privateKey, payload, kid) {
24
+ const payloadBytes = Bytes.toUint8Array(payload);
25
+ const kidBytes = kid === undefined ? undefined : Bytes.toUint8Array(kid);
26
+ const signature = Bip32.sign(privateKey)(sigStructure(address, payloadBytes, kidBytes));
27
+ return make(address, payloadBytes, signature.bytes, kidBytes);
28
+ }
29
+ export const decode = (bytes) => Either.gen(function* () {
30
+ const [protectedHeaderBytes, , payload, signatureBytes] = yield* Cbor.decodeTuple([
31
+ Cbor.decodeBytes,
32
+ Cbor.decodeMap(Cbor.decodeString, Cbor.decodeBool),
33
+ Cbor.decodeBytes,
34
+ Cbor.decodeBytes
35
+ ])(bytes);
36
+ const protectedHeader = yield* Cbor.decodeMap(decodeProtectedHeaderKey, decodeProtectedHeaderValue)(protectedHeaderBytes);
37
+ let alg;
38
+ let kid;
39
+ let addressBytes;
40
+ for (const [key, value] of protectedHeader) {
41
+ switch (key) {
42
+ case 1n:
43
+ if (typeof value == "bigint") {
44
+ alg = value;
45
+ }
46
+ break;
47
+ case 4n:
48
+ if (value instanceof Uint8Array) {
49
+ kid = value;
50
+ }
51
+ break;
52
+ case "address":
53
+ if (value instanceof Uint8Array) {
54
+ addressBytes = value;
55
+ }
56
+ break;
57
+ }
58
+ }
59
+ if (alg === undefined) {
60
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE Sign1 header: alg not set (i.e. field 1 not set)"));
61
+ }
62
+ if (alg != -8n) {
63
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), `invalid COSE Sign1 header: alg not set to EdDSA (i.e. field 1 not set to -8), got ${alg}`));
64
+ }
65
+ if (addressBytes === undefined) {
66
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE Sign1 header: address not set"));
67
+ }
68
+ const address = yield* Address.decode(addressBytes).pipe(Either.mapLeft((e) => new Cbor.DecodeError(Bytes.makeStream(bytes), e.message ?? "invalid COSE Sign1 header: invalid address format")));
69
+ if (Address.spendingCredential(address)._tag != "PubKey") {
70
+ return yield* Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE Sign1 header address: not a PubKeyHash address"));
71
+ }
72
+ return make(address, Uint8Array.from(payload), Uint8Array.from(signatureBytes), kid);
73
+ });
74
+ export function encode(sign1) {
75
+ return Cbor.encodeTuple([
76
+ Cbor.encodeBytes(encodeProtectedHeader(sign1.address, sign1.kid)),
77
+ Cbor.encodeMap([[Cbor.encodeString("hashed"), Cbor.encodeBool(false)]]),
78
+ Cbor.encodeBytes(sign1.payload),
79
+ Cbor.encodeBytes(sign1.bytes)
80
+ ]);
81
+ }
82
+ export function verify(sign1, pubKey) {
83
+ const isValid = Either.getOrThrow(Ed25519.verify(sign1.bytes, Uint8Array.from(sigStructure(sign1.address, sign1.payload, sign1.kid)), PubKey.bytes(pubKey)));
84
+ if (!isValid) {
85
+ throw new Error("invalid COSE Sign1 signature");
86
+ }
87
+ }
88
+ export function encodeProtectedHeader(address, kid) {
89
+ const pairs = [
90
+ [Cbor.encodeInt(1), Cbor.encodeInt(-8)]
91
+ ];
92
+ if (kid !== undefined) {
93
+ pairs.push([Cbor.encodeInt(4), Cbor.encodeBytes(Bytes.toArray(kid))]);
94
+ }
95
+ pairs.push([
96
+ Cbor.encodeString("address"),
97
+ Cbor.encodeBytes(Address.bytes(address))
98
+ ]);
99
+ return Cbor.encodeMap(pairs);
100
+ }
101
+ export function sigStructure(address, payload, kid) {
102
+ return Cbor.encodeTuple([
103
+ Cbor.encodeString("Signature1"),
104
+ Cbor.encodeBytes(encodeProtectedHeader(address, kid)),
105
+ Cbor.encodeBytes([]),
106
+ Cbor.encodeBytes(Bytes.toArray(payload))
107
+ ]);
108
+ }
109
+ const decodeProtectedHeaderKey = (bytes) => {
110
+ if (Cbor.isInt(bytes)) {
111
+ return Cbor.decodeInt(bytes);
112
+ }
113
+ if (Cbor.isString(bytes)) {
114
+ return Cbor.decodeString(bytes);
115
+ }
116
+ return Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE Sign1 header: unexpected key type"));
117
+ };
118
+ const decodeProtectedHeaderValue = (bytes) => {
119
+ if (Cbor.isInt(bytes)) {
120
+ return Cbor.decodeInt(bytes);
121
+ }
122
+ if (Cbor.isBytes(bytes)) {
123
+ return Cbor.decodeBytes(bytes).pipe(Either.map((bs) => Uint8Array.from(bs)));
124
+ }
125
+ return Either.left(new Cbor.DecodeError(Bytes.makeStream(bytes), "invalid COSE Sign1 header: unexpected value type"));
126
+ };
127
+ function assertPubKeyAddress(address) {
128
+ if (Address.spendingCredential(address)._tag != "PubKey") {
129
+ throw new Error("invalid COSE Sign1 header address: not a PubKeyHash address");
130
+ }
131
+ }
132
+ //# sourceMappingURL=Sign1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sign1.js","sourceRoot":"","sources":["../../../src/Cardano/Cose/Sign1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * as PubKey from "./PubKey.js";
2
+ export * as Sign1 from "./Sign1.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Cardano/Cose/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA"}
@@ -39,6 +39,9 @@ function makeBytes(isMainnet, cred) {
39
39
  }
40
40
  }
41
41
  const decodeInternal = (bytes) => Either.gen(function* () {
42
+ if (typeof bytes == "string" && bytes.startsWith("stake")) {
43
+ bytes = (yield* Bech32.decode(bytes)).bytes;
44
+ }
42
45
  const innerBytes = Cbor.isBytes(bytes)
43
46
  ? yield* Cbor.decodeBytes(bytes)
44
47
  : Bytes.toArray(bytes);
@@ -71,6 +74,9 @@ export const decode = (bytes) => decodeInternal(bytes).pipe(Either.map(({ isMain
71
74
  if (e._tag == "ParseError") {
72
75
  return new Cbor.DecodeError(Bytes.makeStream(bytes), `invalid hash (${e.message}`);
73
76
  }
77
+ else if (e._tag == "DecodeException") {
78
+ return new Cbor.DecodeError(Bytes.makeStream(bytes), `bech32 decoding failed (${e.message})`);
79
+ }
74
80
  else {
75
81
  return e;
76
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RewardAddress.js","sourceRoot":"","sources":["../../../src/Cardano/Ledger/RewardAddress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RewardAddress.js","sourceRoot":"","sources":["../../../src/Cardano/Ledger/RewardAddress.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,10 @@ import * as Params from "../Network/Params.js";
7
7
  import { Cek, Data, Script } from "../Uplc/index.js";
8
8
  import * as Address from "./Address.js";
9
9
  import * as Assets from "./Assets.js";
10
+ import * as Credential from "./Credential.js";
10
11
  import * as DCert from "./DCert.js";
11
12
  import * as NativeScript from "./NativeScript.js";
13
+ import * as PubKey from "./PubKey.js";
12
14
  import * as PubKeyHash from "./PubKeyHash.js";
13
15
  import * as Redeemer from "./Redeemer.js";
14
16
  import * as RewardAddress from "./RewardAddress.js";
@@ -53,14 +55,29 @@ export const decode = (options = {}) => (bytes) => Effect.gen(function* () {
53
55
  Cbor.decodeBool,
54
56
  Cbor.decodeNullOption(decodeMetadata)
55
57
  ])(bytes);
58
+ const resolvedRefInputs = yield* UTxO.resolveAll(options)(body.refInputs);
56
59
  const tx = {
57
60
  body: {
58
61
  ...body,
59
62
  inputs: yield* UTxO.resolveAll(options)(body.inputs),
60
63
  collateral: yield* UTxO.resolveAll(options)(body.collateral),
61
- refInputs: yield* UTxO.resolveAll(options)(body.refInputs)
64
+ refInputs: resolvedRefInputs
65
+ },
66
+ witnesses: {
67
+ ...witnesses,
68
+ v2RefScripts: [
69
+ ...witnesses.v2RefScripts,
70
+ ...resolvedRefInputs
71
+ .map((ri) => ri.output.refScript)
72
+ .filter((rs) => rs?.version == 2)
73
+ ],
74
+ v3RefScripts: [
75
+ ...witnesses.v3RefScripts,
76
+ ...resolvedRefInputs
77
+ .map((ri) => ri.output.refScript)
78
+ .filter((rs) => rs?.version == 3)
79
+ ]
62
80
  },
63
- witnesses,
64
81
  isValid,
65
82
  metadata
66
83
  };
@@ -363,22 +380,53 @@ function encodeMetadataAttr(attr) {
363
380
  export function hash(tx) {
364
381
  return Encoding.encodeHex(Crypto.Blake2b.hashSync(encodeBody({ full: false })(tx.body)));
365
382
  }
366
- const countUniqueSigners = (body) => {
383
+ const addPubKeyCredentialSigner = (set, credential) => {
384
+ if (credential._tag == "PubKey") {
385
+ set.add(credential.hash);
386
+ }
387
+ };
388
+ const collectRequiredSignerHashes = (body) => {
367
389
  const set = new Set();
368
390
  body.inputs.concat(body.collateral).forEach((utxo) => {
369
391
  const address = utxo.output.address;
370
392
  const credential = Address.spendingCredential(address);
371
- if (credential._tag == "PubKey") {
372
- set.add(credential.hash);
393
+ addPubKeyCredentialSigner(set, credential);
394
+ });
395
+ body.withdrawals.forEach(([rewardAddress]) => {
396
+ addPubKeyCredentialSigner(set, RewardAddress.credential(rewardAddress));
397
+ });
398
+ body.dcerts.forEach((dcert) => {
399
+ switch (dcert._tag) {
400
+ case "Registration":
401
+ case "Deregistration":
402
+ case "Delegation":
403
+ addPubKeyCredentialSigner(set, dcert.credential);
404
+ break;
405
+ case "RegisterPool":
406
+ set.add(dcert.id);
407
+ dcert.owners.forEach((owner) => set.add(owner));
408
+ break;
409
+ case "RetirePool":
410
+ set.add(dcert.poolId);
411
+ break;
373
412
  }
374
413
  });
375
414
  body.signers.forEach((s) => set.add(s));
376
- return set.size;
415
+ return set;
377
416
  };
417
+ const countUniqueSigners = (body) => collectRequiredSignerHashes(body).size;
418
+ const collectPresentSignerHashes = (witnesses) => new Set(witnesses.signatures.map((signature) => PubKey.hash(signature.pubKey)));
378
419
  const countNonDummySignatures = (witnesses) => {
379
420
  return witnesses.signatures.reduce((count, s) => count + (Signature.isDummy(s) ? 0 : 1), 0);
380
421
  };
381
422
  const countMissingSignatures = (tx) => countUniqueSigners(tx.body) - countNonDummySignatures(tx.witnesses);
423
+ export const validateSignatures = (tx) => Effect.gen(function* () {
424
+ const present = collectPresentSignerHashes(tx.witnesses);
425
+ const missing = Array.from(collectRequiredSignerHashes(tx.body)).filter((pkh) => !present.has(pkh));
426
+ if (missing.length > 0) {
427
+ return yield* new InvalidTx(`missing VK signatures for PubKeyHash(es): ${missing.join(", ")}`);
428
+ }
429
+ });
382
430
  /**
383
431
  * Number of bytes of CBOR encoding of Tx
384
432
  *
@@ -487,7 +535,7 @@ export const inputDatum = (inputIndex) => (tx) => {
487
535
  return datum;
488
536
  }
489
537
  };
490
- function isSmart(tx) {
538
+ export function isSmart(tx) {
491
539
  return (tx.witnesses.v1Scripts.length > 0 ||
492
540
  tx.witnesses.v2Scripts.length > 0 ||
493
541
  tx.witnesses.v2RefScripts.length > 0 ||
@@ -534,12 +582,15 @@ export class InvalidTx extends TaggedError("Cardano.Ledger.Tx.InvalidTx") {
534
582
  super({ message: `Invalid tx (${reason})` });
535
583
  }
536
584
  }
537
- export const validate = ({ strict = false, verbose: _verbose = false, logger: _logger = undefined } = {}) => (tx) => Effect.gen(function* () {
585
+ export const validate = ({ strict = false, signatures = false, verbose: _verbose = false, logger: _logger = undefined } = {}) => (tx) => Effect.gen(function* () {
538
586
  yield* validateSize(tx);
539
587
  yield* validateFee(tx);
540
588
  yield* validateConservation(tx);
541
589
  yield* validateCollateral(strict)(tx);
542
590
  yield* validateOutputs(strict)(tx);
591
+ if (signatures) {
592
+ yield* validateSignatures(tx);
593
+ }
543
594
  tx = {
544
595
  ...tx,
545
596
  isValid: true
@@ -1 +1 @@
1
- {"version":3,"file":"Tx.js","sourceRoot":"","sources":["../../../src/Cardano/Ledger/Tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tx.js","sourceRoot":"","sources":["../../../src/Cardano/Ledger/Tx.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export * as CoinSelection from "./CoinSelection.js";
2
+ export * as Cose from "./Cose/index.js";
2
3
  export * as Ledger from "./Ledger/index.js";
3
4
  export * as Network from "./Network/index.js";
5
+ export * as ScriptContext from "./ScriptContext.js";
4
6
  export * as TxBuilder from "./TxBuilder.js";
5
7
  export * as Uplc from "./Uplc/index.js";
6
8
  export * as Wallet from "./Wallet.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cardano/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Cardano/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helios-lang/effect",
3
- "version": "0.4.31",
3
+ "version": "0.4.34",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -0,0 +1,6 @@
1
+ import * as Bytes from "../../Codecs/Bytes.js";
2
+ import * as Cbor from "../../Codecs/Cbor.js";
3
+ import * as PubKey from "../Ledger/PubKey.js";
4
+ export declare const decode: (bytes: Bytes.BytesLike) => Cbor.DecodeResult<PubKey.PubKey>;
5
+ export declare function encode(pubKey: PubKey.PubKey): number[];
6
+ //# sourceMappingURL=PubKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PubKey.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Cose/PubKey.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAE7C,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,CAAC,SAAS,KACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CA6G9B,CAAA;AAEJ,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAOtD"}
@@ -0,0 +1,19 @@
1
+ import * as Bytes from "../../Codecs/Bytes.js";
2
+ import * as Cbor from "../../Codecs/Cbor.js";
3
+ import * as Bip32 from "../../Crypto/Bip32.js";
4
+ import * as Address from "../Ledger/Address.js";
5
+ import * as PubKey from "../Ledger/PubKey.js";
6
+ export type Sign1 = {
7
+ address: Address.Address;
8
+ payload: Uint8Array;
9
+ bytes: Uint8Array;
10
+ kid?: Uint8Array;
11
+ };
12
+ export declare function make(address: Address.Address, payload: Bytes.BytesLike, bytes: Bytes.BytesLike, kid?: Bytes.BytesLike): Sign1;
13
+ export declare function sign(address: Address.Address, privateKey: Bip32.SigningKey, payload: Bytes.BytesLike, kid?: Bytes.BytesLike): Sign1;
14
+ export declare const decode: (bytes: Bytes.BytesLike) => Cbor.DecodeResult<Sign1>;
15
+ export declare function encode(sign1: Sign1): number[];
16
+ export declare function verify(sign1: Sign1, pubKey: PubKey.PubKey): void;
17
+ export declare function encodeProtectedHeader(address: Address.Address, kid?: Bytes.BytesLike): number[];
18
+ export declare function sigStructure(address: Address.Address, payload: Bytes.BytesLike, kid?: Bytes.BytesLike): number[];
19
+ //# sourceMappingURL=Sign1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sign1.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Cose/Sign1.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAE9C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAE7C,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,CAAC,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,wBAAgB,IAAI,CAClB,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,GACpB,KAAK,CAiBP;AAED,wBAAgB,IAAI,CAClB,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,GACpB,KAAK,CAQP;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,CAAC,SAAS,KAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CA2FnE,CAAA;AAEJ,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAO7C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAYhE;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,GACpB,MAAM,EAAE,CAeV;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,GACpB,MAAM,EAAE,CAOV"}
@@ -0,0 +1,3 @@
1
+ export * as PubKey from "./PubKey.js";
2
+ export * as Sign1 from "./Sign1.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Cose/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RewardAddress.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Ledger/RewardAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAE9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAI7C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM7C;AAED,eAAO,MAAM,aAAa,oEAKzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,CAAA;AAEpE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iKAYxB,CAAA;AAED,wBAAgB,IAAI,CAClB,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,UAAU,CAAC,UAAU,GAC1B,aAAa,CAKf;AAqDD,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,CAAC,SAAS,KACrB,IAAI,CAAC,YAAY,CAAC,aAAa,CAa/B,CAAA;AAEH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAEpD;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAEtD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEzD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAAC,UAAU,CAExE;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,CAElE"}
1
+ {"version":3,"file":"RewardAddress.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Ledger/RewardAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAE9C,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAI7C,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM7C;AAED,eAAO,MAAM,aAAa,oEAKzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,CAAA;AAEpE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iKAYxB,CAAA;AAED,wBAAgB,IAAI,CAClB,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,UAAU,CAAC,UAAU,GAC1B,aAAa,CAKf;AAyDD,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,CAAC,SAAS,KACrB,IAAI,CAAC,YAAY,CAAC,aAAa,CAkB/B,CAAA;AAEH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAEpD;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAEtD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEzD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAAC,UAAU,CAExE;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,CAElE"}
@@ -120,6 +120,7 @@ export declare const encode: (options?: {
120
120
  }) => (tx: Tx) => number[];
121
121
  export declare function hashMetadata(metadata: Metadata): number[];
122
122
  export declare function hash(tx: Tx): TxHash.TxHash;
123
+ export declare const validateSignatures: (tx: Tx) => Effect.Effect<undefined, InvalidTx, never>;
123
124
  /**
124
125
  * Number of bytes of CBOR encoding of Tx
125
126
  *
@@ -133,6 +134,7 @@ export declare const size: (forFeeCalculation?: boolean) => (tx: Tx) => number;
133
134
  export declare const minFee: (tx: Tx) => Effect.Effect<bigint, never, Params.params>;
134
135
  export declare const minCollateral: (tx: Tx) => Effect.Effect<bigint, never, Params.params>;
135
136
  export declare const inputDatum: (inputIndex: number) => (tx: Tx) => Data.Data | undefined;
137
+ export declare function isSmart(tx: Tx): boolean;
136
138
  export declare const scriptDataHash: (tx: Tx) => Effect.Effect<number[] | undefined, never, Params.params>;
137
139
  declare const InvalidTx_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
138
140
  readonly _tag: "Cardano.Ledger.Tx.InvalidTx";
@@ -144,10 +146,11 @@ export declare class InvalidTx extends InvalidTx_base<{
144
146
  }
145
147
  export type ValidationOptions = {
146
148
  strict?: boolean | undefined;
149
+ signatures?: boolean | undefined;
147
150
  verbose?: boolean | undefined;
148
151
  logger?: Cek.Logger | undefined;
149
152
  };
150
- export declare const validate: ({ strict, verbose: _verbose, logger: _logger }?: ValidationOptions) => (tx: Tx) => Effect.Effect<Tx, InvalidTx, Params.params>;
153
+ export declare const validate: ({ strict, signatures, verbose: _verbose, logger: _logger }?: ValidationOptions) => (tx: Tx) => Effect.Effect<Tx, InvalidTx, Params.params>;
151
154
  export declare const validateOutputs: (strict: boolean) => (tx: Tx) => Effect.Effect<undefined, InvalidTx, Params.params>;
152
155
  export {};
153
156
  //# sourceMappingURL=Tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Ledger/Tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/Cardano/Ledger/Tx.ts"],"names":[],"mappings":"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"}
@@ -306,11 +306,11 @@ export declare const FromUplcData: Schema.transform<Schema.transformOrFail<Schem
306
306
  readonly fields: readonly Data.Data[];
307
307
  readonly constructor: number;
308
308
  }, never>, Schema.Option<Schema.Schema<{
309
- readonly _tag: "PubKey";
310
309
  readonly hash: string & import("effect/Brand").Brand<"PubKeyHash">;
310
+ readonly _tag: "PubKey";
311
311
  } | {
312
- readonly _tag: "Validator";
313
312
  readonly hash: string & import("effect/Brand").Brand<"ValidatorHash">;
313
+ readonly _tag: "Validator";
314
314
  }, {
315
315
  readonly bytes: Uint8Array<ArrayBufferLike>;
316
316
  } | {
@@ -853,11 +853,11 @@ export declare const FromUplcDataV3: Schema.transform<Schema.transformOrFail<Sch
853
853
  readonly fields: readonly Data.Data[];
854
854
  readonly constructor: number;
855
855
  }, never>, Schema.Option<Schema.Schema<{
856
- readonly _tag: "PubKey";
857
856
  readonly hash: string & import("effect/Brand").Brand<"PubKeyHash">;
857
+ readonly _tag: "PubKey";
858
858
  } | {
859
- readonly _tag: "Validator";
860
859
  readonly hash: string & import("effect/Brand").Brand<"ValidatorHash">;
860
+ readonly _tag: "Validator";
861
861
  }, {
862
862
  readonly bytes: Uint8Array<ArrayBufferLike>;
863
863
  } | {
@@ -18,7 +18,7 @@ export declare const makeArgs: (version: 1 | 2 | 3, tx: Tx, redeemerIndex: numbe
18
18
  readonly fields: readonly Data.Data[];
19
19
  readonly constructor: number;
20
20
  };
21
- }[], ParseResult.ParseError, Params.params | import("./Network/IsMainnet.js").IsMainnet>;
21
+ }[], ParseResult.ParseError, import("./Network/IsMainnet.js").IsMainnet | Params.params>;
22
22
  /**
23
23
  * Only use for testing!
24
24
  */
@@ -1161,6 +1161,7 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1161
1161
  dcert: import("./Ledger/DCert.js").DCert;
1162
1162
  }), Data.Data, never>, Schema.SchemaClass<{
1163
1163
  readonly _tag: "Minting";
1164
+ readonly policyIndex: number;
1164
1165
  readonly data: {
1165
1166
  readonly bytes: Uint8Array<ArrayBufferLike>;
1166
1167
  } | {
@@ -1176,7 +1177,6 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1176
1177
  readonly fields: readonly Data.Data[];
1177
1178
  readonly constructor: number;
1178
1179
  };
1179
- readonly policyIndex: number;
1180
1180
  readonly cost: {
1181
1181
  readonly cpu: bigint;
1182
1182
  readonly mem: bigint;
@@ -1249,6 +1249,7 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1249
1249
  readonly dcertIndex: number;
1250
1250
  }, {
1251
1251
  readonly _tag: "Minting";
1252
+ readonly policyIndex: number;
1252
1253
  readonly data: {
1253
1254
  readonly bytes: Uint8Array<ArrayBufferLike>;
1254
1255
  } | {
@@ -1264,7 +1265,6 @@ export declare const PurposeV3: Schema.transformOrFail<Schema.Schema<({
1264
1265
  readonly fields: readonly Data.Data[];
1265
1266
  readonly constructor: number;
1266
1267
  };
1267
- readonly policyIndex: number;
1268
1268
  readonly cost: {
1269
1269
  readonly cpu: bigint;
1270
1270
  readonly mem: bigint;
@@ -229,6 +229,6 @@ export interface BabelFeeOptions {
229
229
  */
230
230
  readonly assetClass: AssetClass.AssetClass;
231
231
  }
232
- export declare const build: (options?: BuildOptions) => (b: TxBuilder) => Effect.Effect<Tx.Tx, Error | import("effect/ParseResult").ParseError, Network.Params.params | Network.IsMainnet | Network.UTxO | BalancingWallet>;
232
+ export declare const build: (options?: BuildOptions) => (b: TxBuilder) => Effect.Effect<Tx.Tx, import("effect/ParseResult").ParseError | Error, Network.IsMainnet | Network.UTxO | Network.Params.params | BalancingWallet>;
233
233
  export {};
234
234
  //# sourceMappingURL=TxBuilder.d.ts.map
@@ -1,6 +1,8 @@
1
1
  export * as CoinSelection from "./CoinSelection.js";
2
+ export * as Cose from "./Cose/index.js";
2
3
  export * as Ledger from "./Ledger/index.js";
3
4
  export * as Network from "./Network/index.js";
5
+ export * as ScriptContext from "./ScriptContext.js";
4
6
  export * as TxBuilder from "./TxBuilder.js";
5
7
  export * as Uplc from "./Uplc/index.js";
6
8
  export * as Wallet from "./Wallet.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Cardano/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Cardano/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}