sui-effect 0.1.0

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 (115) hide show
  1. package/AGENTS.md +209 -0
  2. package/LICENSE +21 -0
  3. package/LLMS.md +6707 -0
  4. package/README.md +300 -0
  5. package/dist/domain/bcs.d.ts +101 -0
  6. package/dist/domain/bcs.d.ts.map +1 -0
  7. package/dist/domain/bcs.js +183 -0
  8. package/dist/domain/bcs.js.map +1 -0
  9. package/dist/domain/errors.d.ts +595 -0
  10. package/dist/domain/errors.d.ts.map +1 -0
  11. package/dist/domain/errors.js +476 -0
  12. package/dist/domain/errors.js.map +1 -0
  13. package/dist/domain/executed.d.ts +325 -0
  14. package/dist/domain/executed.d.ts.map +1 -0
  15. package/dist/domain/executed.js +253 -0
  16. package/dist/domain/executed.js.map +1 -0
  17. package/dist/domain/journal-entry.d.ts +468 -0
  18. package/dist/domain/journal-entry.d.ts.map +1 -0
  19. package/dist/domain/journal-entry.js +63 -0
  20. package/dist/domain/journal-entry.js.map +1 -0
  21. package/dist/domain/schemas.d.ts +950 -0
  22. package/dist/domain/schemas.d.ts.map +1 -0
  23. package/dist/domain/schemas.js +571 -0
  24. package/dist/domain/schemas.js.map +1 -0
  25. package/dist/domain/sui-schema.d.ts +12 -0
  26. package/dist/domain/sui-schema.d.ts.map +1 -0
  27. package/dist/domain/sui-schema.js +12 -0
  28. package/dist/domain/sui-schema.js.map +1 -0
  29. package/dist/extension.d.ts +7 -0
  30. package/dist/extension.d.ts.map +1 -0
  31. package/dist/extension.js +7 -0
  32. package/dist/extension.js.map +1 -0
  33. package/dist/index.d.ts +31 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +31 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/internal.d.ts +18 -0
  38. package/dist/internal.d.ts.map +1 -0
  39. package/dist/internal.js +18 -0
  40. package/dist/internal.js.map +1 -0
  41. package/dist/journal.d.ts +51 -0
  42. package/dist/journal.d.ts.map +1 -0
  43. package/dist/journal.js +18 -0
  44. package/dist/journal.js.map +1 -0
  45. package/dist/script.d.ts +7 -0
  46. package/dist/script.d.ts.map +1 -0
  47. package/dist/script.js +7 -0
  48. package/dist/script.js.map +1 -0
  49. package/dist/services/Journal.d.ts +76 -0
  50. package/dist/services/Journal.d.ts.map +1 -0
  51. package/dist/services/Journal.js +70 -0
  52. package/dist/services/Journal.js.map +1 -0
  53. package/dist/services/JournalKeyValueStore.d.ts +73 -0
  54. package/dist/services/JournalKeyValueStore.d.ts.map +1 -0
  55. package/dist/services/JournalKeyValueStore.js +155 -0
  56. package/dist/services/JournalKeyValueStore.js.map +1 -0
  57. package/dist/services/Script.d.ts +210 -0
  58. package/dist/services/Script.d.ts.map +1 -0
  59. package/dist/services/Script.js +441 -0
  60. package/dist/services/Script.js.map +1 -0
  61. package/dist/services/Signer.d.ts +132 -0
  62. package/dist/services/Signer.d.ts.map +1 -0
  63. package/dist/services/Signer.js +158 -0
  64. package/dist/services/Signer.js.map +1 -0
  65. package/dist/services/SubmitConfig.d.ts +175 -0
  66. package/dist/services/SubmitConfig.d.ts.map +1 -0
  67. package/dist/services/SubmitConfig.js +52 -0
  68. package/dist/services/SubmitConfig.js.map +1 -0
  69. package/dist/services/Sui.d.ts +295 -0
  70. package/dist/services/Sui.d.ts.map +1 -0
  71. package/dist/services/Sui.js +414 -0
  72. package/dist/services/Sui.js.map +1 -0
  73. package/dist/services/SuiCore.d.ts +227 -0
  74. package/dist/services/SuiCore.d.ts.map +1 -0
  75. package/dist/services/SuiCore.js +400 -0
  76. package/dist/services/SuiCore.js.map +1 -0
  77. package/dist/services/SuiCoreFake.d.ts +278 -0
  78. package/dist/services/SuiCoreFake.d.ts.map +1 -0
  79. package/dist/services/SuiCoreFake.js +1003 -0
  80. package/dist/services/SuiCoreFake.js.map +1 -0
  81. package/dist/services/SuiExtension.d.ts +208 -0
  82. package/dist/services/SuiExtension.d.ts.map +1 -0
  83. package/dist/services/SuiExtension.js +355 -0
  84. package/dist/services/SuiExtension.js.map +1 -0
  85. package/dist/services/SuiGraphQL.d.ts +98 -0
  86. package/dist/services/SuiGraphQL.d.ts.map +1 -0
  87. package/dist/services/SuiGraphQL.js +118 -0
  88. package/dist/services/SuiGraphQL.js.map +1 -0
  89. package/dist/services/Tx.d.ts +687 -0
  90. package/dist/services/Tx.d.ts.map +1 -0
  91. package/dist/services/Tx.js +1224 -0
  92. package/dist/services/Tx.js.map +1 -0
  93. package/dist/testing.d.ts +88 -0
  94. package/dist/testing.d.ts.map +1 -0
  95. package/dist/testing.js +163 -0
  96. package/dist/testing.js.map +1 -0
  97. package/dist/tx.d.ts +24 -0
  98. package/dist/tx.d.ts.map +1 -0
  99. package/dist/tx.js +24 -0
  100. package/dist/tx.js.map +1 -0
  101. package/docs/extensions.md +1685 -0
  102. package/examples/extension-template/README.md +170 -0
  103. package/examples/extension-template/package.json +44 -0
  104. package/examples/extension-template/scripts/check-package.ts +145 -0
  105. package/examples/extension-template/src/Escrow.ts +445 -0
  106. package/examples/extension-template/src/Platform.ts +136 -0
  107. package/examples/extension-template/src/errors.ts +61 -0
  108. package/examples/extension-template/src/extension.ts +63 -0
  109. package/examples/extension-template/src/index.ts +34 -0
  110. package/examples/extension-template/src/schema.ts +158 -0
  111. package/examples/extension-template/src/upstream.ts +66 -0
  112. package/examples/extension-template/test/escrow.test.ts +559 -0
  113. package/examples/extension-template/tsconfig.build.json +26 -0
  114. package/examples/extension-template/tsconfig.json +35 -0
  115. package/package.json +87 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/domain/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAU,MAAM,EAAmD,MAAM,QAAQ,CAAA;AAiBxF;;;GAGG;AACH,eAAO,MAAM,UAAU,wGAWtB,CAAA;AACD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,sGAWpB,CAAA;AACD,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C,+EAA+E;AAC/E,eAAO,MAAM,MAAM,uCAOlB,CAAA;AACD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,SAAS,uGAWrB,CAAA;AACD,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,gFAAgF;AAChF,eAAO,MAAM,QAAQ,sGAWpB,CAAA;AACD,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,UAAU,2JAAuD,CAAA;AAC9E,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,gFAAgF;AAChF,eAAO,MAAM,IAAI,+CAGhB,CAAA;AACD,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAEnC,4EAA4E;AAC5E,eAAO,MAAM,OAAO,kDAGnB,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,4EAA4E;AAC5E,eAAO,MAAM,OAAO,wCAA8C,CAAA;AAClE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,+DAA+D;AAC/D,eAAO,MAAM,YAAY,wEAAgE,CAAA;AACzF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG5D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;IAaoB,CAAA;AACtC,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,0EAA0E;AAC1E,eAAO,MAAM,OAAO;;;;;EAKlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB;;;EAG3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,wFAAwF;AACxF,eAAO,MAAM,iBAAiB;;;;;;;;;;EAO5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,6EAA6E;AAC7E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;EAUvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,mEAAmE;AACnE,eAAO,MAAM,cAAc;;;;;EAKzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,mFAAmF;AACnF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,yDAAyD;AACzD,eAAO,MAAM,wBAAwB;;;;;EAYnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,yFAAyF;AACzF,eAAO,MAAM,aAAa;;;;EAIxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,2FAA2F;AAC3F,eAAO,MAAM,KAAK;;;;;;EAMhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;EAMvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,2EAA2E;AAC3E,eAAO,MAAM,WAAW;;;;;;EAMtB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+DU,CAAA;AACtC,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;EAA6C,CAAA;AACzE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,SAAS,0CAGrB,CAAA;AACD,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,+CAA+C;AAC/C,eAAO,MAAM,OAAO,wBAA8B,CAAA;AAElD,2EAA2E;AAC3E,eAAO,MAAM,OAAO,aAAgB,CAAA;AAuEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BI,CAAA;AACtC,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM5B;;;;;;;;;;OAUG;;EAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,wDAAgD,CAAA;AAC/E,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMhB,sFAAsF;;EAEtF,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GACrB,YAAY,qBAAqB,GAAG,SAAS,KAC5C,MAAM,GAAG,SAYX,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,qBAAqB,GAAG,SAAS,KAC5C,MAAM,GAAG,SAUX,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAClB,YAAY,qBAAqB,GAAG,SAAS,KAC5C,MAAM,GAAG,SAUX,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;CACxB;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,UAAU,cAAc,EAAE,SAAS,CAAC,KAAG,SAAS,CAAC,CAAC,CAcjF,CAAA;AAEF,uGAAuG;AACvG,eAAO,MAAM,aAAa;;;;;;;EAGxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOrB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,CAAC,cAAc,KAAG,eAGxE,CAAA"}
@@ -0,0 +1,571 @@
1
+ import { Effect, Schema, SchemaGetter, SchemaIssue, SchemaTransformation } from "effect";
2
+ import { isValidStructTag, isValidSuiAddress, isValidTransactionDigest, normalizeStructTag, normalizeSuiAddress } from "@mysten/sui/utils";
3
+ const normalizeStructTagSafe = (value) => {
4
+ try {
5
+ return normalizeStructTag(value);
6
+ }
7
+ catch {
8
+ return value;
9
+ }
10
+ };
11
+ /**
12
+ * A 32-byte Sui account address, normalized to the padded lowercase `0x` form on
13
+ * decode. Rejects anything `isValidSuiAddress` rejects with a `SchemaError`.
14
+ */
15
+ export const SuiAddress = Schema.String.pipe(Schema.decode({
16
+ decode: SchemaGetter.transform((value) => normalizeSuiAddress(value)),
17
+ encode: SchemaGetter.passthrough()
18
+ }), Schema.check(Schema.makeFilter((value) => isValidSuiAddress(value) ? undefined : "Expected a 32-byte Sui address")), Schema.brand("SuiAddress"));
19
+ /**
20
+ * A 32-byte object id. Same encoding rules as {@link SuiAddress}; the brand is
21
+ * separate so an address cannot be passed where an object id is expected.
22
+ */
23
+ export const ObjectId = Schema.String.pipe(Schema.decode({
24
+ decode: SchemaGetter.transform((value) => normalizeSuiAddress(value)),
25
+ encode: SchemaGetter.passthrough()
26
+ }), Schema.check(Schema.makeFilter((value) => isValidSuiAddress(value) ? undefined : "Expected a 32-byte Sui object id")), Schema.brand("ObjectId"));
27
+ /** A base58 transaction digest. Not normalized; rejected when not 32 bytes. */
28
+ export const Digest = Schema.String.pipe(Schema.check(Schema.makeFilter((value) => isValidTransactionDigest(value) ? undefined : "Expected a base58 32-byte transaction digest")), Schema.brand("Digest"));
29
+ /**
30
+ * A fully qualified Move struct tag, normalized with `normalizeStructTag` on
31
+ * decode so `0x2::sui::SUI` and its padded form compare equal.
32
+ */
33
+ export const StructTag = Schema.String.pipe(Schema.decode({
34
+ decode: SchemaGetter.transform(normalizeStructTagSafe),
35
+ encode: SchemaGetter.passthrough()
36
+ }), Schema.check(Schema.makeFilter((value) => isValidStructTag(value) ? undefined : "Expected a fully qualified Move struct tag")), Schema.brand("StructTag"));
37
+ /** A coin type: a struct tag used as the type argument of `0x2::coin::Coin`. */
38
+ export const CoinType = Schema.String.pipe(Schema.decode({
39
+ decode: SchemaGetter.transform(normalizeStructTagSafe),
40
+ encode: SchemaGetter.passthrough()
41
+ }), Schema.check(Schema.makeFilter((value) => isValidStructTag(value) ? undefined : "Expected a fully qualified Move coin type")), Schema.brand("CoinType"));
42
+ /**
43
+ * The `type` field of an object envelope. Almost always a struct tag, but gRPC
44
+ * reports the literal `package` for a Move package object (`grpc/core.mjs`
45
+ * leaves `objectType` untouched when it has no `::`), and a package is a
46
+ * readable object like any other.
47
+ */
48
+ export const ObjectType = Schema.Union([StructTag, Schema.Literal("package")]);
49
+ /** An amount in MIST. Encoded as the decimal string every SDK response uses. */
50
+ export const Mist = Schema.BigIntFromString.pipe(Schema.check(Schema.isGreaterThanOrEqualToBigInt(0n)), Schema.brand("Mist"));
51
+ /** A Move object version. Encoded as the decimal string the SDK returns. */
52
+ export const Version = Schema.BigIntFromString.pipe(Schema.check(Schema.isGreaterThanOrEqualToBigInt(0n)), Schema.brand("Version"));
53
+ /** The network a client is pointed at. Mirrors `SuiClientTypes.Network`. */
54
+ export const Network = Schema.String.pipe(Schema.brand("Network"));
55
+ /** The four networks with a built-in default gRPC endpoint. */
56
+ export const KnownNetwork = Schema.Literals(["mainnet", "testnet", "devnet", "localnet"]);
57
+ /**
58
+ * The genesis checkpoint digest of each public network whose chain identifier
59
+ * is fixed and known. These are the digests observed on the live networks
60
+ * (`getChainIdentifier` returns the genesis checkpoint digest); the SDK ships
61
+ * no such table. `devnet` and `localnet` are regenerated, so they are absent
62
+ * and `Sui.layerNoDeps` records whatever the node reports instead of asserting.
63
+ */
64
+ export const KNOWN_CHAIN_IDS = {
65
+ mainnet: "4btiuiMPvEENsttpZC7CZ53DruC3MAgfznDbASZ7DR6S",
66
+ testnet: "69WiPg3DAQiwdxfncX6wYQ2siKwAe6L9BZthQea3JNMD"
67
+ };
68
+ /**
69
+ * An object owner. Mirrors `SuiClientTypes.ObjectOwner` exactly, including its
70
+ * `$kind` discriminant, so `Owner.match` and the SDK's own narrowing agree.
71
+ */
72
+ export const Owner = Schema.Union([
73
+ Schema.Struct({ $kind: Schema.Literal("AddressOwner"), AddressOwner: SuiAddress }),
74
+ Schema.Struct({ $kind: Schema.Literal("ObjectOwner"), ObjectOwner: ObjectId }),
75
+ Schema.Struct({
76
+ $kind: Schema.Literal("Shared"),
77
+ Shared: Schema.Struct({ initialSharedVersion: Version })
78
+ }),
79
+ Schema.Struct({ $kind: Schema.Literal("Immutable"), Immutable: Schema.Literal(true) }),
80
+ Schema.Struct({
81
+ $kind: Schema.Literal("ConsensusAddressOwner"),
82
+ ConsensusAddressOwner: Schema.Struct({ startVersion: Version, owner: SuiAddress })
83
+ }),
84
+ Schema.Struct({ $kind: Schema.Literal("Unknown") })
85
+ ]).pipe(Schema.toTaggedUnion("$kind"));
86
+ /**
87
+ * Everything the transaction builder needs to consume an object again, plus the
88
+ * type and owner so a caller can tell a shared object from an owned one.
89
+ */
90
+ export const ObjectRef = Schema.Struct({
91
+ id: ObjectId,
92
+ type: ObjectType,
93
+ version: Version,
94
+ digest: Schema.String,
95
+ owner: Owner
96
+ });
97
+ /** A coin balance for one coin type. Mirrors `SuiClientTypes.Balance`. */
98
+ export const Balance = Schema.Struct({
99
+ coinType: CoinType,
100
+ balance: Mist,
101
+ coinBalance: Mist,
102
+ addressBalance: Mist
103
+ });
104
+ /** The BCS-encoded name of a dynamic field. Mirrors `SuiClientTypes.DynamicFieldName`. */
105
+ export const DynamicFieldName = Schema.Struct({
106
+ type: Schema.String,
107
+ bcs: Schema.Uint8Array
108
+ });
109
+ /** One entry of a dynamic-field listing. Mirrors `SuiClientTypes.DynamicFieldEntry`. */
110
+ export const DynamicFieldEntry = Schema.Struct({
111
+ fieldId: ObjectId,
112
+ type: Schema.String,
113
+ name: DynamicFieldName,
114
+ valueType: Schema.String,
115
+ $kind: Schema.Literals(["DynamicField", "DynamicObject"]),
116
+ childId: Schema.optional(ObjectId)
117
+ });
118
+ /** A dynamic field with its value. Mirrors `SuiClientTypes.DynamicField`. */
119
+ export const DynamicField = Schema.Struct({
120
+ fieldId: ObjectId,
121
+ type: Schema.String,
122
+ name: DynamicFieldName,
123
+ valueType: Schema.String,
124
+ $kind: Schema.Literals(["DynamicField", "DynamicObject"]),
125
+ childId: Schema.optional(ObjectId),
126
+ value: Schema.Struct({ type: Schema.String, bcs: Schema.Uint8Array }),
127
+ version: Version,
128
+ digest: Schema.String
129
+ });
130
+ /** Gas cost breakdown. Mirrors `SuiClientTypes.GasCostSummary`. */
131
+ export const GasCostSummary = Schema.Struct({
132
+ computationCost: Mist,
133
+ storageCost: Mist,
134
+ storageRebate: Mist,
135
+ nonRefundableStorageFee: Mist
136
+ });
137
+ /** One object touched by a transaction. Mirrors `SuiClientTypes.ChangedObject`. */
138
+ export const ChangedObject = Schema.Struct({
139
+ objectId: ObjectId,
140
+ inputState: Schema.Literals(["Unknown", "DoesNotExist", "Exists"]),
141
+ inputVersion: Schema.NullOr(Version),
142
+ inputDigest: Schema.NullOr(Schema.String),
143
+ inputOwner: Schema.NullOr(Owner),
144
+ outputState: Schema.Literals([
145
+ "Unknown",
146
+ "DoesNotExist",
147
+ "ObjectWrite",
148
+ "PackageWrite",
149
+ "AccumulatorWriteV1"
150
+ ]),
151
+ outputVersion: Schema.NullOr(Version),
152
+ outputDigest: Schema.NullOr(Schema.String),
153
+ outputOwner: Schema.NullOr(Owner),
154
+ idOperation: Schema.Literals(["Unknown", "None", "Created", "Deleted"])
155
+ });
156
+ /** Mirrors `SuiClientTypes.UnchangedConsensusObject`. */
157
+ export const UnchangedConsensusObject = Schema.Struct({
158
+ kind: Schema.Literals([
159
+ "Unknown",
160
+ "ReadOnlyRoot",
161
+ "MutateConsensusStreamEnded",
162
+ "ReadConsensusStreamEnded",
163
+ "Cancelled",
164
+ "PerEpochConfig"
165
+ ]),
166
+ objectId: ObjectId,
167
+ version: Schema.NullOr(Version),
168
+ digest: Schema.NullOr(Schema.String)
169
+ });
170
+ /** A balance delta produced by a transaction. Mirrors `SuiClientTypes.BalanceChange`. */
171
+ export const BalanceChange = Schema.Struct({
172
+ coinType: CoinType,
173
+ address: SuiAddress,
174
+ amount: Schema.BigIntFromString
175
+ });
176
+ /** An emitted Move event. Mirrors `SuiClientTypes.Event`; `json` is dropped on purpose. */
177
+ export const Event = Schema.Struct({
178
+ packageId: ObjectId,
179
+ module: Schema.String,
180
+ sender: SuiAddress,
181
+ eventType: Schema.String,
182
+ bcs: Schema.Uint8Array
183
+ });
184
+ /**
185
+ * Where a Move abort happened. Mirrors `SuiClientTypes.MoveLocation`.
186
+ *
187
+ * `package` stays a plain string because the node may report a location for a
188
+ * package that no longer parses as an object id.
189
+ */
190
+ export const MoveLocation = Schema.Struct({
191
+ package: Schema.optional(Schema.String),
192
+ module: Schema.optional(Schema.String),
193
+ function: Schema.optional(Schema.Number),
194
+ functionName: Schema.optional(Schema.String),
195
+ instruction: Schema.optional(Schema.Number)
196
+ });
197
+ /** A decoded `#[error]` constant. Mirrors `SuiClientTypes.CleverError`. */
198
+ export const CleverError = Schema.Struct({
199
+ errorCode: Schema.optional(Schema.Number),
200
+ lineNumber: Schema.optional(Schema.Number),
201
+ constantName: Schema.optional(Schema.String),
202
+ constantType: Schema.optional(Schema.String),
203
+ value: Schema.optional(Schema.String)
204
+ });
205
+ /**
206
+ * Why a transaction failed on chain or in simulation. Mirrors
207
+ * `SuiClientTypes.ExecutionError` variant for variant, including its `$kind`
208
+ * discriminant, with two differences: `abortCode` is decoded to `bigint`, and
209
+ * the shared `message` and `command` fields live on the error class that
210
+ * carries the reason rather than being repeated in every variant.
211
+ */
212
+ export const ExecutionReason = Schema.Union([
213
+ Schema.Struct({
214
+ $kind: Schema.Literal("MoveAbort"),
215
+ MoveAbort: Schema.Struct({
216
+ abortCode: Schema.BigIntFromString,
217
+ location: Schema.optional(MoveLocation),
218
+ cleverError: Schema.optional(CleverError)
219
+ })
220
+ }),
221
+ Schema.Struct({
222
+ $kind: Schema.Literal("SizeError"),
223
+ SizeError: Schema.Struct({
224
+ name: Schema.String,
225
+ size: Schema.Number,
226
+ maxSize: Schema.Number
227
+ })
228
+ }),
229
+ Schema.Struct({
230
+ $kind: Schema.Literal("CommandArgumentError"),
231
+ CommandArgumentError: Schema.Struct({ argument: Schema.Number, name: Schema.String })
232
+ }),
233
+ Schema.Struct({
234
+ $kind: Schema.Literal("TypeArgumentError"),
235
+ TypeArgumentError: Schema.Struct({ typeArgument: Schema.Number, name: Schema.String })
236
+ }),
237
+ Schema.Struct({
238
+ $kind: Schema.Literal("PackageUpgradeError"),
239
+ PackageUpgradeError: Schema.Struct({
240
+ name: Schema.String,
241
+ packageId: Schema.optional(Schema.String),
242
+ digest: Schema.optional(Schema.String)
243
+ })
244
+ }),
245
+ Schema.Struct({
246
+ $kind: Schema.Literal("IndexError"),
247
+ IndexError: Schema.Struct({
248
+ index: Schema.optional(Schema.Number),
249
+ subresult: Schema.optional(Schema.Number)
250
+ })
251
+ }),
252
+ Schema.Struct({
253
+ $kind: Schema.Literal("CoinDenyListError"),
254
+ CoinDenyListError: Schema.Struct({
255
+ name: Schema.String,
256
+ coinType: Schema.String,
257
+ address: Schema.optional(Schema.String)
258
+ })
259
+ }),
260
+ Schema.Struct({
261
+ $kind: Schema.Literal("CongestedObjects"),
262
+ CongestedObjects: Schema.Struct({
263
+ name: Schema.String,
264
+ objects: Schema.Array(Schema.String)
265
+ })
266
+ }),
267
+ Schema.Struct({
268
+ $kind: Schema.Literal("ObjectIdError"),
269
+ ObjectIdError: Schema.Struct({
270
+ name: Schema.optional(Schema.String),
271
+ objectId: Schema.String
272
+ })
273
+ }),
274
+ Schema.Struct({ $kind: Schema.Literal("Unknown") })
275
+ ]).pipe(Schema.toTaggedUnion("$kind"));
276
+ /**
277
+ * Whether a transaction succeeded. Mirrors `SuiClientTypes.ExecutionStatus`
278
+ * minus its `error` payload: the failure detail is carried by `ExecutionFailed`
279
+ * and `SimulationFailed` as an {@link ExecutionReason}, so there is exactly one
280
+ * representation of an on-chain failure.
281
+ */
282
+ export const ExecutionStatus = Schema.Struct({ success: Schema.Boolean });
283
+ /** Transaction effects. Mirrors `SuiClientTypes.TransactionEffects`. */
284
+ export const TransactionEffects = Schema.Struct({
285
+ version: Schema.Number,
286
+ status: ExecutionStatus,
287
+ gasUsed: GasCostSummary,
288
+ transactionDigest: Digest,
289
+ gasObject: Schema.NullOr(ChangedObject),
290
+ eventsDigest: Schema.NullOr(Schema.String),
291
+ dependencies: Schema.Array(Schema.String),
292
+ lamportVersion: Schema.NullOr(Version),
293
+ changedObjects: Schema.Array(ChangedObject),
294
+ unchangedConsensusObjects: Schema.Array(UnchangedConsensusObject),
295
+ auxiliaryDataDigest: Schema.NullOr(Schema.String)
296
+ });
297
+ /**
298
+ * A serialized signature, as every SDK signer returns it: the base64 of the
299
+ * flag, signature and public key bytes. Branded so a signature cannot be passed
300
+ * where a digest or an address is expected.
301
+ */
302
+ export const Signature = Schema.String.pipe(Schema.check(Schema.isNonEmpty()), Schema.brand("Signature"));
303
+ /** The largest value a Move `u64` can hold. */
304
+ export const U64_MAX = 18446744073709551615n;
305
+ /** The largest value a Move `u32` can hold, which is the nonce's range. */
306
+ export const U32_MAX = 4_294_967_295;
307
+ const DECIMAL = /^(?:0|[1-9][0-9]*)$/;
308
+ /**
309
+ * The `bigint` a `u64` field carries, or `undefined` when the value is not one:
310
+ * a string that is not a plain non-negative decimal, a number that is not a
311
+ * safe non-negative integer, or anything at all outside `[0, 2^64)`.
312
+ */
313
+ const u64Of = (value) => {
314
+ if (typeof value === "number") {
315
+ if (!Number.isSafeInteger(value) || value < 0)
316
+ return undefined;
317
+ return BigInt(value);
318
+ }
319
+ const trimmed = value.trim();
320
+ if (!DECIMAL.test(trimmed))
321
+ return undefined;
322
+ const parsed = BigInt(trimmed);
323
+ return parsed > U64_MAX ? undefined : parsed;
324
+ };
325
+ /**
326
+ * A `u64` as the SDK's transaction data carries it: a decimal string or, for
327
+ * small values, a number. Decodes to `bigint` and encodes back to a string.
328
+ *
329
+ * The transformation is **checked**: `BigInt("not-a-number")` throws, and a
330
+ * throwing `transform` is a defect, which would take a malformed persisted
331
+ * journal entry straight out of the `JournalError` channel it is supposed to
332
+ * fail in. A value that is not a non-negative integer below `2^64` is a schema
333
+ * issue like any other.
334
+ */
335
+ const U64 = Schema.Union([Schema.String, Schema.Number]).pipe(Schema.decodeTo(Schema.BigInt, SchemaTransformation.transformOrFail({
336
+ decode: (value, options) => {
337
+ const parsed = u64Of(value);
338
+ return parsed === undefined
339
+ ? Effect.fail(new SchemaIssue.InvalidValue({ message: `${JSON.stringify(value)} is not a u64` }, value, options))
340
+ : Effect.succeed(parsed);
341
+ },
342
+ encode: (value, options) => value < 0n || value > U64_MAX
343
+ ? Effect.fail(new SchemaIssue.InvalidValue({ message: `${value} is outside the u64 range` }, value, options))
344
+ : Effect.succeed(value.toString())
345
+ })));
346
+ const NullableU64 = Schema.NullOr(U64);
347
+ /**
348
+ * The replay-guard nonce a `ValidDuring` or `Validity` expiration carries. It
349
+ * is a `u32` on the wire, so anything outside `[0, 2^32)` is a schema issue
350
+ * rather than bytes the validator will reject later.
351
+ */
352
+ const Nonce = Schema.Number.pipe(Schema.check(Schema.isInt(), Schema.isBetween({ minimum: 0, maximum: U32_MAX })));
353
+ /**
354
+ * When a transaction stops being valid. Mirrors the SDK's
355
+ * `TransactionExpiration` enum variant for variant, including its `$kind`
356
+ * discriminant, so our narrowing and `TransactionDataBuilder`'s agree.
357
+ *
358
+ * `ValidDuring` is what `Tx.build` sets by default, bounded by **epochs**:
359
+ * `maxTimestamp` is `null` unless `SubmitConfig.validFor` asks for one, because
360
+ * no Sui network accepts a timestamp expiration yet. Its `chain` is a replay
361
+ * guard, so bytes signed for testnet cannot land on mainnet.
362
+ */
363
+ export const TransactionExpiration = Schema.Union([
364
+ Schema.Struct({ $kind: Schema.Literal("None"), None: Schema.Literal(true) }),
365
+ Schema.Struct({ $kind: Schema.Literal("Epoch"), Epoch: U64 }),
366
+ Schema.Struct({
367
+ $kind: Schema.Literal("ValidDuring"),
368
+ ValidDuring: Schema.Struct({
369
+ minEpoch: NullableU64,
370
+ maxEpoch: NullableU64,
371
+ minTimestamp: NullableU64,
372
+ maxTimestamp: NullableU64,
373
+ chain: Schema.String,
374
+ nonce: Nonce
375
+ })
376
+ }),
377
+ Schema.Struct({
378
+ $kind: Schema.Literal("Validity"),
379
+ Validity: Schema.Struct({
380
+ allowedProposers: Schema.NullOr(Schema.Struct({ epoch: U64, proposers: Schema.Array(Schema.Number) })),
381
+ minEpoch: NullableU64,
382
+ maxEpoch: NullableU64,
383
+ minTimestamp: NullableU64,
384
+ maxTimestamp: NullableU64,
385
+ chain: Schema.String,
386
+ nonce: Nonce
387
+ })
388
+ })
389
+ ]).pipe(Schema.toTaggedUnion("$kind"));
390
+ /**
391
+ * The signed bytes of a transaction, kept so an uncertain submission can be
392
+ * reconciled or re-submitted later without rebuilding.
393
+ *
394
+ * The expiration the transaction was built with rides along, because it is what
395
+ * `Tx.reconcile` needs to decide that a transaction can no longer land.
396
+ *
397
+ * `bytes` encodes as base64, not as a numeric object, so `SuiError.toJson` of a
398
+ * `SubmissionUnknown` is JSON the operator who has to reconcile it can read.
399
+ */
400
+ export const SignedTransaction = Schema.Struct({
401
+ digest: Digest,
402
+ bytes: Schema.Uint8ArrayFromBase64,
403
+ signatures: Schema.Array(Signature),
404
+ sender: SuiAddress,
405
+ expiration: Schema.optional(TransactionExpiration),
406
+ /**
407
+ * The chain identifier the bytes were built against, recorded by `Tx.build`
408
+ * so `Tx.reconcile` can refuse to reason about a transaction with a node on
409
+ * another chain.
410
+ *
411
+ * A `ValidDuring` or `Validity` expiration already names its chain, and that
412
+ * is what is compared when it is there. This field is what an `Epoch` or
413
+ * `None` expiration — which name no chain at all — leaves behind instead, so
414
+ * a process-wide journal holding submissions from two networks cannot settle
415
+ * one of them against the other's epoch.
416
+ */
417
+ chain: Schema.optional(Schema.String)
418
+ });
419
+ /**
420
+ * Why a transaction provably never applied, and never will.
421
+ *
422
+ * `"expired"`: the expiration window was observed closed — the current epoch
423
+ * past the recorded `maxEpoch`, or `chainTime` past a recorded `maxTimestamp`
424
+ * by more than `SubmitConfig.expiryMargin` — around a `getTransaction` miss,
425
+ * twice. `"inputConsumed"`: a **different** transaction's own effects report
426
+ * that it took an object these bytes pinned at exactly the version they pinned.
427
+ *
428
+ * Shared by `NotApplied` and by the journal entry that records it, so the two
429
+ * cannot drift.
430
+ */
431
+ export const NotAppliedEvidence = Schema.Literals(["expired", "inputConsumed"]);
432
+ /**
433
+ * A transaction built into bytes and ready to sign, with the expiration the
434
+ * builder settled on recorded so `Tx.reconcile` can decide, later and without
435
+ * the builder, whether the transaction can still land.
436
+ */
437
+ export const Built = Schema.Struct({
438
+ digest: Digest,
439
+ bytes: Schema.Uint8ArrayFromBase64,
440
+ sender: SuiAddress,
441
+ gasOwner: Schema.optional(SuiAddress),
442
+ expiration: Schema.optional(TransactionExpiration),
443
+ /** The chain identifier `Tx.build` was run against. See `SignedTransaction.chain`. */
444
+ chain: Schema.optional(Schema.String)
445
+ });
446
+ /**
447
+ * The last epoch in which a transaction can still be applied, or `undefined`
448
+ * when its expiration sets no such bound (`None`, or a `ValidDuring` with no
449
+ * `maxEpoch`).
450
+ *
451
+ * An `Epoch` expiration is that epoch: the SDK's `Epoch` variant means "valid
452
+ * until the end of this epoch", so it is its own upper bound.
453
+ *
454
+ * This is the bound that matters in practice. Epochs are what the default
455
+ * expiration carries and what the validator rule is written in, and unlike a
456
+ * wall clock an epoch is a consensus fact, so `Tx.reconcile` needs no skew
457
+ * margin to reason about it. Never fails.
458
+ */
459
+ export const maxEpochOf = (expiration) => {
460
+ if (expiration === undefined)
461
+ return undefined;
462
+ switch (expiration.$kind) {
463
+ case "Epoch":
464
+ return expiration.Epoch;
465
+ case "ValidDuring":
466
+ return expiration.ValidDuring.maxEpoch ?? undefined;
467
+ case "Validity":
468
+ return expiration.Validity.maxEpoch ?? undefined;
469
+ default:
470
+ return undefined;
471
+ }
472
+ };
473
+ /**
474
+ * The wall-clock bound after which a transaction can no longer be applied, in
475
+ * milliseconds, or `undefined` when its expiration sets no such bound — which
476
+ * is `None`, `Epoch`, and the default `ValidDuring`, whose `maxTimestamp` is
477
+ * `null` unless `SubmitConfig.validFor` asks for one.
478
+ *
479
+ * `Tx.reconcile` compares it against `chainTime` with
480
+ * `SubmitConfig.expiryMargin` for skew, which the epoch bound needs none of.
481
+ * Never fails.
482
+ */
483
+ export const maxTimestampMsOf = (expiration) => {
484
+ if (expiration === undefined)
485
+ return undefined;
486
+ switch (expiration.$kind) {
487
+ case "ValidDuring":
488
+ return expiration.ValidDuring.maxTimestamp ?? undefined;
489
+ case "Validity":
490
+ return expiration.Validity.maxTimestamp ?? undefined;
491
+ default:
492
+ return undefined;
493
+ }
494
+ };
495
+ /**
496
+ * The chain identifier an expiration names, or `undefined` for the variants
497
+ * that name none (`None`, `Epoch`).
498
+ *
499
+ * This is the first half of the chain-identity guard `Tx.reconcile` applies
500
+ * before it asks a node anything: bytes built for one chain must not be
501
+ * declared expired by another chain's epoch. The second half is
502
+ * `SignedTransaction.chain`, which `Tx.build` records for the variants that
503
+ * carry no chain of their own. Never fails.
504
+ */
505
+ export const chainOf = (expiration) => {
506
+ if (expiration === undefined)
507
+ return undefined;
508
+ switch (expiration.$kind) {
509
+ case "ValidDuring":
510
+ return expiration.ValidDuring.chain;
511
+ case "Validity":
512
+ return expiration.Validity.chain;
513
+ default:
514
+ return undefined;
515
+ }
516
+ };
517
+ /**
518
+ * The fixed set of object fields sui-effect always requests: `content`, plus
519
+ * the owner, type, version and digest the SDK returns unconditionally.
520
+ */
521
+ export const ObjectEnvelope = Schema.Struct({
522
+ objectId: ObjectId,
523
+ version: Version,
524
+ digest: Schema.String,
525
+ owner: Owner,
526
+ type: ObjectType
527
+ });
528
+ /** Builds a {@link SuiObject} from a decoded envelope and its decoded content. */
529
+ export const makeSuiObject = (envelope, content) => ({
530
+ id: envelope.objectId,
531
+ version: envelope.version,
532
+ digest: envelope.digest,
533
+ type: envelope.type,
534
+ owner: envelope.owner,
535
+ content,
536
+ ref: {
537
+ id: envelope.objectId,
538
+ type: envelope.type,
539
+ version: envelope.version,
540
+ digest: envelope.digest,
541
+ owner: envelope.owner
542
+ }
543
+ });
544
+ /** The return values and mutated references of one command. Mirrors `SuiClientTypes.CommandResult`. */
545
+ export const CommandResult = Schema.Struct({
546
+ returnValues: Schema.Array(Schema.Struct({ bcs: Schema.Uint8Array })),
547
+ mutatedReferences: Schema.Array(Schema.Struct({ bcs: Schema.Uint8Array }))
548
+ });
549
+ /**
550
+ * The result of a successful simulation, with the fixed include set `Sui` asks
551
+ * for: effects, events, balance changes, object types and command results.
552
+ */
553
+ export const Simulation = Schema.Struct({
554
+ digest: Digest,
555
+ effects: TransactionEffects,
556
+ events: Schema.Array(Event),
557
+ balanceChanges: Schema.Array(BalanceChange),
558
+ objectTypes: Schema.Record(Schema.String, Schema.String),
559
+ commandResults: Schema.Array(CommandResult)
560
+ });
561
+ const UNKNOWN_REASON = ExecutionReason.cases.Unknown.make({ $kind: "Unknown" });
562
+ /**
563
+ * Decodes the SDK's `ExecutionError` into an {@link ExecutionReason}, falling
564
+ * back to `Unknown` when the node reports a variant this version does not
565
+ * model. Never fails.
566
+ */
567
+ export const executionReasonOf = (error) => {
568
+ const decoded = Schema.decodeUnknownOption(ExecutionReason)(error);
569
+ return decoded._tag === "Some" ? decoded.value : UNKNOWN_REASON;
570
+ };
571
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/domain/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The public face of the BCS bridge, namespaced the way the spec spells it:
3
+ * `SuiSchema.bcs(bcsType, expectedType)`, `SuiSchema.decode(codec, bytes)` and
4
+ * `SuiSchema.matchesType(expected, actual)`.
5
+ *
6
+ * The rest of `domain/bcs.ts` (`expectedTypeOf`) is machinery `Sui` uses and
7
+ * lives in `sui-effect/internal`.
8
+ *
9
+ * @since 0.1.0
10
+ */
11
+ export { bcs, decodeContent as decode, typeMatches as matchesType } from "./bcs.ts";
12
+ //# sourceMappingURL=sui-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui-schema.d.ts","sourceRoot":"","sources":["../../src/domain/sui-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,GAAG,EAAE,aAAa,IAAI,MAAM,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The public face of the BCS bridge, namespaced the way the spec spells it:
3
+ * `SuiSchema.bcs(bcsType, expectedType)`, `SuiSchema.decode(codec, bytes)` and
4
+ * `SuiSchema.matchesType(expected, actual)`.
5
+ *
6
+ * The rest of `domain/bcs.ts` (`expectedTypeOf`) is machinery `Sui` uses and
7
+ * lives in `sui-effect/internal`.
8
+ *
9
+ * @since 0.1.0
10
+ */
11
+ export { bcs, decodeContent as decode, typeMatches as matchesType } from "./bcs.js";
12
+ //# sourceMappingURL=sui-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui-schema.js","sourceRoot":"","sources":["../../src/domain/sui-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,GAAG,EAAE,aAAa,IAAI,MAAM,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * `sui-effect/extension`: the Promise face of an Effect service.
3
+ *
4
+ * @since 0.1.0
5
+ */
6
+ export { type ExtensionFace, fromService, type PromiseFace, SuiExtension, type SuiExtensionOptions } from "./services/SuiExtension.ts";
7
+ //# sourceMappingURL=extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,WAAW,EAChB,YAAY,EACZ,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAA"}