@helios-lang/effect 0.1.9 → 0.1.11

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.
@@ -1,10 +1,18 @@
1
- import { Effect, Schema } from "effect";
1
+ import { Effect, Encoding, Schema } from "effect";
2
2
  import * as Bytes from "../internal/Bytes.js";
3
3
  import * as Cbor from "../Cbor.js";
4
+ import { Data } from "../Uplc";
4
5
  export function isValid(txId) {
5
6
  return txId.length == 64 && /^[0-9a-fA-F]+$/.test(txId);
6
7
  }
7
8
  export const TxId = Schema.String.pipe(Schema.filter((id) => isValid(id) || "Invalid Cardano TxId"), Schema.brand("TxId"));
9
+ export const FromUplcData = Schema.transform(Data.EnumVariant(0, {
10
+ bytes: Data.ByteArray
11
+ }), TxId, {
12
+ strict: true,
13
+ decode: ({ bytes }) => Encoding.encodeHex(bytes),
14
+ encode: (hex) => ({ bytes: Bytes.toUint8Array(hex) })
15
+ });
8
16
  export function make(txId) {
9
17
  return Schema.decode(TxId)(Bytes.toHex(txId));
10
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TxId.js","sourceRoot":"","sources":["../../src/Ledger/TxId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,sBAAsB,CAAC,EACpE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,CAAA;AAID,MAAM,UAAU,IAAI,CAAC,IAAqB;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAsB,EAA2B,EAAE,CACxE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EACpB,MAAM,CAAC,QAAQ,CACb,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAChE,CACF,CAAA;AAEH,MAAM,UAAU,MAAM,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"TxId.js","sourceRoot":"","sources":["../../src/Ledger/TxId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,sBAAsB,CAAC,EACpE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,CAAA;AAID,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAC1C,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;IAClB,KAAK,EAAE,IAAI,CAAC,SAAS;CACtB,CAAC,EACF,IAAI,EACJ;IACE,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;IAChD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;CACtD,CACF,CAAA;AAED,MAAM,UAAU,IAAI,CAAC,IAAqB;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAsB,EAA2B,EAAE,CACxE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EACpB,MAAM,CAAC,QAAQ,CACb,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAChE,CACF,CAAA;AAEH,MAAM,UAAU,MAAM,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Effect, Schema } from "effect";
2
2
  import * as Cbor from "../Cbor.js";
3
+ import * as Uplc from "../Uplc";
3
4
  import * as TxId from "./TxId.js";
4
5
  export function isValid(txOutputId) {
5
6
  if (txOutputId.length < 65) {
@@ -20,6 +21,21 @@ export const TxOutputId = Schema.transform(Schema.String, Schema.String.pipe(Sch
20
21
  export function make(txId, utxoIdx) {
21
22
  return (txId + utxoIdx.toString());
22
23
  }
24
+ export const FromUplcData = Schema.transform(Uplc.Data.EnumVariant(0, {
25
+ txId: TxId.FromUplcData,
26
+ utxoIdx: Uplc.Data.Int
27
+ }), TxOutputId, {
28
+ strict: true,
29
+ decode: ({ txId, utxoIdx }) => {
30
+ return make(txId, utxoIdx);
31
+ },
32
+ encode: (txOutputId) => {
33
+ return {
34
+ txId: txId(txOutputId),
35
+ utxoIdx: utxoIdx(txOutputId)
36
+ };
37
+ }
38
+ });
23
39
  export const decode = (bytes) => Cbor.decodeTuple([TxId.decode, Cbor.decodeInt])(bytes).pipe(Effect.map(([txId, utxoIdx]) => make(txId, utxoIdx)));
24
40
  export function encode(txOutputId) {
25
41
  return Cbor.encodeTuple([
@@ -1 +1 @@
1
- {"version":3,"file":"TxOutputId.js","sourceRoot":"","sources":["../../src/Ledger/TxOutputId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,MAAM,UAAU,OAAO,CAAC,UAAkB;IACxC,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAE9C,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CACxC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,4BAA4B,CAAC,EAC1E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAC3B,EACD;IACE,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACjB,CACF,CAAA;AAID,MAAM,UAAU,IAAI,CAAC,IAAe,EAAE,OAAwB;IAC5D,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAe,CAAA;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAiC,EAAE,CAC9E,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CACzD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACrD,CAAA;AAEH,MAAM,UAAU,MAAM,CAAC,UAAsB;IAC3C,OAAO,IAAI,CAAC,WAAW,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACpC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,UAAsB;IAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,UAAsB;IACzC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAc,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,UAAsB;IAC5C,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"TxOutputId.js","sourceRoot":"","sources":["../../src/Ledger/TxOutputId.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helios-lang/effect",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "types/index.d.ts",