@mysten/sui 1.2.1 → 1.3.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 (190) hide show
  1. package/CHANGELOG.md +204 -84
  2. package/README.md +0 -44
  3. package/dist/cjs/bcs/bcs.d.ts +2 -2
  4. package/dist/cjs/bcs/bcs.js.map +2 -2
  5. package/dist/cjs/bcs/index.d.ts +20 -20
  6. package/dist/cjs/bcs/type-tag-serializer.js.map +1 -1
  7. package/dist/cjs/client/client.d.ts +5 -2
  8. package/dist/cjs/client/client.js +5 -0
  9. package/dist/cjs/client/client.js.map +2 -2
  10. package/dist/cjs/client/http-transport.js +14 -28
  11. package/dist/cjs/client/http-transport.js.map +1 -1
  12. package/dist/cjs/client/network.js.map +1 -1
  13. package/dist/cjs/client/rpc-websocket-client.d.ts +1 -8
  14. package/dist/cjs/client/rpc-websocket-client.js +14 -31
  15. package/dist/cjs/client/rpc-websocket-client.js.map +1 -1
  16. package/dist/cjs/cryptography/publickey.js +1 -2
  17. package/dist/cjs/cryptography/publickey.js.map +1 -1
  18. package/dist/cjs/faucet/faucet.js.map +1 -1
  19. package/dist/cjs/graphql/client.js +11 -22
  20. package/dist/cjs/graphql/client.js.map +2 -2
  21. package/dist/cjs/graphql/schemas/2024.1/index.d.ts +681 -681
  22. package/dist/cjs/graphql/schemas/2024.4/index.d.ts +682 -682
  23. package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -1
  24. package/dist/cjs/keypairs/ed25519/publickey.js.map +1 -1
  25. package/dist/cjs/keypairs/secp256k1/publickey.js.map +1 -1
  26. package/dist/cjs/keypairs/secp256r1/publickey.js.map +1 -1
  27. package/dist/cjs/multisig/publickey.js.map +1 -1
  28. package/dist/cjs/multisig/signer.js +9 -20
  29. package/dist/cjs/multisig/signer.js.map +1 -1
  30. package/dist/cjs/transactions/Arguments.d.ts +988 -0
  31. package/dist/cjs/transactions/Arguments.js +32 -0
  32. package/dist/cjs/transactions/Arguments.js.map +7 -0
  33. package/dist/cjs/transactions/Commands.d.ts +19 -72
  34. package/dist/cjs/transactions/Commands.js.map +1 -1
  35. package/dist/cjs/transactions/ObjectCache.d.ts +1 -4
  36. package/dist/cjs/transactions/ObjectCache.js +8 -19
  37. package/dist/cjs/transactions/ObjectCache.js.map +1 -1
  38. package/dist/cjs/transactions/Transaction.d.ts +47 -49
  39. package/dist/cjs/transactions/Transaction.js +25 -51
  40. package/dist/cjs/transactions/Transaction.js.map +2 -2
  41. package/dist/cjs/transactions/TransactionData.d.ts +2 -2
  42. package/dist/cjs/transactions/TransactionData.js.map +2 -2
  43. package/dist/cjs/transactions/data/internal.d.ts +447 -2128
  44. package/dist/cjs/transactions/data/internal.js +32 -29
  45. package/dist/cjs/transactions/data/internal.js.map +2 -2
  46. package/dist/cjs/transactions/data/v1.d.ts +288 -1818
  47. package/dist/cjs/transactions/data/v1.js +80 -80
  48. package/dist/cjs/transactions/data/v1.js.map +2 -2
  49. package/dist/cjs/transactions/data/v2.d.ts +24 -192
  50. package/dist/cjs/transactions/data/v2.js +3 -3
  51. package/dist/cjs/transactions/data/v2.js.map +2 -2
  52. package/dist/cjs/transactions/executor/caching.d.ts +1 -0
  53. package/dist/cjs/transactions/executor/caching.js +23 -22
  54. package/dist/cjs/transactions/executor/caching.js.map +2 -2
  55. package/dist/cjs/transactions/executor/parallel.d.ts +1 -0
  56. package/dist/cjs/transactions/executor/parallel.js +36 -60
  57. package/dist/cjs/transactions/executor/parallel.js.map +2 -2
  58. package/dist/cjs/transactions/executor/queue.js +6 -13
  59. package/dist/cjs/transactions/executor/queue.js.map +1 -1
  60. package/dist/cjs/transactions/executor/serial.d.ts +2 -1
  61. package/dist/cjs/transactions/executor/serial.js +14 -40
  62. package/dist/cjs/transactions/executor/serial.js.map +2 -2
  63. package/dist/cjs/transactions/hash.js.map +1 -1
  64. package/dist/cjs/transactions/index.d.ts +1 -0
  65. package/dist/cjs/transactions/index.js +2 -2
  66. package/dist/cjs/transactions/index.js.map +2 -2
  67. package/dist/cjs/transactions/intents/CoinWithBalance.js.map +2 -2
  68. package/dist/cjs/transactions/json-rpc-resolver.js +1 -2
  69. package/dist/cjs/transactions/json-rpc-resolver.js.map +2 -2
  70. package/dist/cjs/transactions/pure.d.ts +25 -182
  71. package/dist/cjs/transactions/pure.js +58 -12
  72. package/dist/cjs/transactions/pure.js.map +3 -3
  73. package/dist/cjs/transactions/serializer.js.map +1 -1
  74. package/dist/cjs/utils/constants.js.map +1 -1
  75. package/dist/cjs/utils/format.js.map +1 -1
  76. package/dist/cjs/utils/sui-types.js +1 -2
  77. package/dist/cjs/utils/sui-types.js.map +2 -2
  78. package/dist/cjs/utils/suins.js.map +1 -1
  79. package/dist/cjs/verify/verify.js.map +1 -1
  80. package/dist/cjs/version.d.ts +2 -2
  81. package/dist/cjs/version.js +2 -2
  82. package/dist/cjs/version.js.map +1 -1
  83. package/dist/cjs/zklogin/jwt-utils.js.map +1 -1
  84. package/dist/cjs/zklogin/publickey.js +11 -22
  85. package/dist/cjs/zklogin/publickey.js.map +1 -1
  86. package/dist/esm/bcs/bcs.d.ts +2 -2
  87. package/dist/esm/bcs/bcs.js.map +2 -2
  88. package/dist/esm/bcs/index.d.ts +20 -20
  89. package/dist/esm/bcs/type-tag-serializer.js.map +1 -1
  90. package/dist/esm/client/client.d.ts +5 -2
  91. package/dist/esm/client/client.js +5 -0
  92. package/dist/esm/client/client.js.map +2 -2
  93. package/dist/esm/client/http-transport.js +13 -27
  94. package/dist/esm/client/http-transport.js.map +1 -1
  95. package/dist/esm/client/network.js.map +1 -1
  96. package/dist/esm/client/rpc-websocket-client.d.ts +1 -8
  97. package/dist/esm/client/rpc-websocket-client.js +13 -30
  98. package/dist/esm/client/rpc-websocket-client.js.map +1 -1
  99. package/dist/esm/cryptography/publickey.js +1 -2
  100. package/dist/esm/cryptography/publickey.js.map +1 -1
  101. package/dist/esm/faucet/faucet.js.map +1 -1
  102. package/dist/esm/graphql/client.js +10 -21
  103. package/dist/esm/graphql/client.js.map +2 -2
  104. package/dist/esm/graphql/schemas/2024.1/index.d.ts +681 -681
  105. package/dist/esm/graphql/schemas/2024.4/index.d.ts +682 -682
  106. package/dist/esm/keypairs/ed25519/keypair.js.map +1 -1
  107. package/dist/esm/keypairs/ed25519/publickey.js.map +1 -1
  108. package/dist/esm/keypairs/secp256k1/publickey.js.map +1 -1
  109. package/dist/esm/keypairs/secp256r1/publickey.js.map +1 -1
  110. package/dist/esm/multisig/publickey.js.map +1 -1
  111. package/dist/esm/multisig/signer.js +8 -19
  112. package/dist/esm/multisig/signer.js.map +1 -1
  113. package/dist/esm/transactions/Arguments.d.ts +988 -0
  114. package/dist/esm/transactions/Arguments.js +12 -0
  115. package/dist/esm/transactions/Arguments.js.map +7 -0
  116. package/dist/esm/transactions/Commands.d.ts +19 -72
  117. package/dist/esm/transactions/Commands.js.map +1 -1
  118. package/dist/esm/transactions/ObjectCache.d.ts +1 -4
  119. package/dist/esm/transactions/ObjectCache.js +7 -18
  120. package/dist/esm/transactions/ObjectCache.js.map +1 -1
  121. package/dist/esm/transactions/Transaction.d.ts +47 -49
  122. package/dist/esm/transactions/Transaction.js +24 -50
  123. package/dist/esm/transactions/Transaction.js.map +2 -2
  124. package/dist/esm/transactions/TransactionData.d.ts +2 -2
  125. package/dist/esm/transactions/TransactionData.js.map +2 -2
  126. package/dist/esm/transactions/data/internal.d.ts +447 -2128
  127. package/dist/esm/transactions/data/internal.js +35 -31
  128. package/dist/esm/transactions/data/internal.js.map +2 -2
  129. package/dist/esm/transactions/data/v1.d.ts +288 -1818
  130. package/dist/esm/transactions/data/v1.js +83 -82
  131. package/dist/esm/transactions/data/v1.js.map +2 -2
  132. package/dist/esm/transactions/data/v2.d.ts +24 -192
  133. package/dist/esm/transactions/data/v2.js +4 -3
  134. package/dist/esm/transactions/data/v2.js.map +2 -2
  135. package/dist/esm/transactions/executor/caching.d.ts +1 -0
  136. package/dist/esm/transactions/executor/caching.js +22 -21
  137. package/dist/esm/transactions/executor/caching.js.map +2 -2
  138. package/dist/esm/transactions/executor/parallel.d.ts +1 -0
  139. package/dist/esm/transactions/executor/parallel.js +35 -59
  140. package/dist/esm/transactions/executor/parallel.js.map +2 -2
  141. package/dist/esm/transactions/executor/queue.js +5 -12
  142. package/dist/esm/transactions/executor/queue.js.map +1 -1
  143. package/dist/esm/transactions/executor/serial.d.ts +2 -1
  144. package/dist/esm/transactions/executor/serial.js +13 -39
  145. package/dist/esm/transactions/executor/serial.js.map +2 -2
  146. package/dist/esm/transactions/hash.js.map +1 -1
  147. package/dist/esm/transactions/index.d.ts +1 -0
  148. package/dist/esm/transactions/index.js +2 -2
  149. package/dist/esm/transactions/index.js.map +2 -2
  150. package/dist/esm/transactions/intents/CoinWithBalance.js.map +2 -2
  151. package/dist/esm/transactions/json-rpc-resolver.js +1 -2
  152. package/dist/esm/transactions/json-rpc-resolver.js.map +2 -2
  153. package/dist/esm/transactions/pure.d.ts +25 -182
  154. package/dist/esm/transactions/pure.js +48 -2
  155. package/dist/esm/transactions/pure.js.map +2 -2
  156. package/dist/esm/transactions/serializer.js.map +1 -1
  157. package/dist/esm/utils/constants.js.map +1 -1
  158. package/dist/esm/utils/format.js.map +1 -1
  159. package/dist/esm/utils/sui-types.js +1 -2
  160. package/dist/esm/utils/sui-types.js.map +2 -2
  161. package/dist/esm/utils/suins.js.map +1 -1
  162. package/dist/esm/verify/verify.js.map +1 -1
  163. package/dist/esm/version.d.ts +2 -2
  164. package/dist/esm/version.js +2 -2
  165. package/dist/esm/version.js.map +1 -1
  166. package/dist/esm/zklogin/jwt-utils.js.map +1 -1
  167. package/dist/esm/zklogin/publickey.js +10 -21
  168. package/dist/esm/zklogin/publickey.js.map +1 -1
  169. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  170. package/dist/tsconfig.tsbuildinfo +1 -1
  171. package/package.json +26 -26
  172. package/src/bcs/bcs.ts +2 -2
  173. package/src/client/client.ts +7 -4
  174. package/src/graphql/client.ts +1 -1
  175. package/src/transactions/Arguments.ts +23 -0
  176. package/src/transactions/Commands.ts +12 -12
  177. package/src/transactions/Transaction.ts +11 -11
  178. package/src/transactions/TransactionData.ts +4 -2
  179. package/src/transactions/data/internal.ts +52 -47
  180. package/src/transactions/data/v1.ts +102 -100
  181. package/src/transactions/data/v2.ts +9 -8
  182. package/src/transactions/executor/caching.ts +14 -2
  183. package/src/transactions/executor/parallel.ts +5 -1
  184. package/src/transactions/executor/serial.ts +3 -10
  185. package/src/transactions/index.ts +2 -0
  186. package/src/transactions/intents/CoinWithBalance.ts +2 -2
  187. package/src/transactions/json-rpc-resolver.ts +1 -1
  188. package/src/transactions/pure.ts +106 -4
  189. package/src/utils/sui-types.ts +1 -1
  190. package/src/version.ts +2 -2
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  array,
3
3
  boolean,
4
- custom,
4
+ check,
5
5
  integer,
6
+ lazy,
6
7
  literal,
7
8
  nullable,
8
9
  nullish,
9
10
  number,
10
11
  object,
11
12
  optional,
13
+ pipe,
12
14
  record,
13
- recursive,
14
15
  string,
15
16
  transform,
16
17
  tuple,
@@ -20,46 +21,49 @@ import {
20
21
  import { isValidSuiAddress, normalizeSuiAddress } from "../../utils/sui-types.js";
21
22
  function safeEnum(options) {
22
23
  const unionOptions = Object.entries(options).map(([key, value]) => object({ [key]: value }));
23
- return transform(union(unionOptions), (value) => ({
24
- ...value,
25
- $kind: Object.keys(value)[0]
26
- }));
24
+ return pipe(
25
+ union(unionOptions),
26
+ transform((value) => ({
27
+ ...value,
28
+ $kind: Object.keys(value)[0]
29
+ }))
30
+ );
27
31
  }
28
- const SuiAddress = transform(string(), (value) => normalizeSuiAddress(value), [
29
- custom(isValidSuiAddress)
30
- ]);
32
+ const SuiAddress = pipe(
33
+ string(),
34
+ transform((value) => normalizeSuiAddress(value)),
35
+ check(isValidSuiAddress)
36
+ );
31
37
  const ObjectID = SuiAddress;
32
38
  const BCSBytes = string();
33
- const JsonU64 = union(
34
- [string(), number([integer()])],
35
- [
36
- custom((val) => {
37
- try {
38
- BigInt(val);
39
- return BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n;
40
- } catch {
41
- return false;
42
- }
43
- }, "Invalid u64")
44
- ]
39
+ const JsonU64 = pipe(
40
+ union([string(), pipe(number(), integer())]),
41
+ check((val) => {
42
+ try {
43
+ BigInt(val);
44
+ return BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n;
45
+ } catch {
46
+ return false;
47
+ }
48
+ }, "Invalid u64")
45
49
  );
46
50
  const ObjectRef = object({
47
51
  objectId: SuiAddress,
48
52
  version: JsonU64,
49
53
  digest: string()
50
54
  });
51
- const Argument = transform(
55
+ const Argument = pipe(
52
56
  union([
53
57
  object({ GasCoin: literal(true) }),
54
- object({ Input: number([integer()]), type: optional(literal("pure")) }),
55
- object({ Input: number([integer()]), type: optional(literal("object")) }),
56
- object({ Result: number([integer()]) }),
57
- object({ NestedResult: tuple([number([integer()]), number([integer()])]) })
58
+ object({ Input: pipe(number(), integer()), type: optional(literal("pure")) }),
59
+ object({ Input: pipe(number(), integer()), type: optional(literal("object")) }),
60
+ object({ Result: pipe(number(), integer()) }),
61
+ object({ NestedResult: tuple([pipe(number(), integer()), pipe(number(), integer())]) })
58
62
  ]),
59
- (value) => ({
63
+ transform((value) => ({
60
64
  ...value,
61
65
  $kind: Object.keys(value)[0]
62
- })
66
+ }))
63
67
  // Defined manually to add `type?: 'pure' | 'object'` to Input
64
68
  );
65
69
  const GasData = object({
@@ -84,16 +88,16 @@ const OpenMoveTypeSignatureBody = union([
84
88
  literal("u64"),
85
89
  literal("u128"),
86
90
  literal("u256"),
87
- object({ vector: recursive(() => OpenMoveTypeSignatureBody) }),
91
+ object({ vector: lazy(() => OpenMoveTypeSignatureBody) }),
88
92
  object({
89
93
  datatype: object({
90
94
  package: string(),
91
95
  module: string(),
92
96
  type: string(),
93
- typeParameters: array(recursive(() => OpenMoveTypeSignatureBody))
97
+ typeParameters: array(lazy(() => OpenMoveTypeSignatureBody))
94
98
  })
95
99
  }),
96
- object({ typeParameter: number([integer()]) })
100
+ object({ typeParameter: pipe(number(), integer()) })
97
101
  ]);
98
102
  const OpenMoveTypeSignature = object({
99
103
  ref: nullable(union([literal("&"), literal("&mut")])),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/transactions/data/internal.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { EnumInputShape, EnumOutputShape } from '@mysten/bcs';\nimport type { BaseSchema, Input, Output } from 'valibot';\nimport {\n\tarray,\n\tboolean,\n\tcustom,\n\tinteger,\n\tliteral,\n\tnullable,\n\tnullish,\n\tnumber,\n\tobject,\n\toptional,\n\trecord,\n\trecursive,\n\tstring,\n\ttransform,\n\ttuple,\n\tunion,\n\tunknown,\n} from 'valibot';\n\nimport { isValidSuiAddress, normalizeSuiAddress } from '../../utils/sui-types.js';\n\ntype Merge<T> = T extends object ? { [K in keyof T]: T[K] } : never;\n\ntype EnumSchema<T extends Record<string, BaseSchema<any>>> = BaseSchema<\n\tEnumInputShape<\n\t\tMerge<{\n\t\t\t[K in keyof T]: Input<T[K]>;\n\t\t}>\n\t>,\n\tEnumOutputShape<\n\t\tMerge<{\n\t\t\t[K in keyof T]: Output<T[K]>;\n\t\t}>\n\t>\n>;\n\nexport function safeEnum<T extends Record<string, BaseSchema<any>>>(options: T): EnumSchema<T> {\n\tconst unionOptions = Object.entries(options).map(([key, value]) => object({ [key]: value }));\n\n\treturn transform(union(unionOptions), (value) => ({\n\t\t...value,\n\t\t$kind: Object.keys(value)[0] as keyof typeof value,\n\t})) as EnumSchema<T>;\n}\n\nexport const SuiAddress = transform(string(), (value) => normalizeSuiAddress(value), [\n\tcustom(isValidSuiAddress),\n]);\nexport const ObjectID = SuiAddress;\nexport const BCSBytes = string();\nexport const JsonU64 = union(\n\t[string(), number([integer()])],\n\t[\n\t\tcustom((val) => {\n\t\t\ttry {\n\t\t\t\tBigInt(val);\n\t\t\t\treturn BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n;\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}, 'Invalid u64'),\n\t],\n);\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/base_types.rs#L138\n// Implemented as a tuple in rust\nexport const ObjectRef = object({\n\tobjectId: SuiAddress,\n\tversion: JsonU64,\n\tdigest: string(),\n});\nexport type ObjectRef = Output<typeof ObjectRef>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L690-L702\nexport const Argument = transform(\n\tunion([\n\t\tobject({ GasCoin: literal(true) }),\n\t\tobject({ Input: number([integer()]), type: optional(literal('pure')) }),\n\t\tobject({ Input: number([integer()]), type: optional(literal('object')) }),\n\t\tobject({ Result: number([integer()]) }),\n\t\tobject({ NestedResult: tuple([number([integer()]), number([integer()])]) }),\n\t]),\n\t(value) => ({\n\t\t...value,\n\t\t$kind: Object.keys(value)[0] as keyof typeof value,\n\t}),\n\t// Defined manually to add `type?: 'pure' | 'object'` to Input\n) as BaseSchema<\n\t// Input\n\t| { GasCoin: true }\n\t| { Input: number; type?: 'pure' | 'object' }\n\t| { Result: number }\n\t| { NestedResult: [number, number] },\n\t// Output\n\t| { $kind: 'GasCoin'; GasCoin: true }\n\t| { $kind: 'Input'; Input: number; type?: 'pure' }\n\t| { $kind: 'Input'; Input: number; type?: 'object' }\n\t| { $kind: 'Result'; Result: number }\n\t| { $kind: 'NestedResult'; NestedResult: [number, number] }\n>;\n\nexport type Argument = Output<typeof Argument>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L1387-L1392\nexport const GasData = object({\n\tbudget: nullable(JsonU64),\n\tprice: nullable(JsonU64),\n\towner: nullable(SuiAddress),\n\tpayment: nullable(array(ObjectRef)),\n});\nexport type GasData = Output<typeof GasData>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/external-crates/move/crates/move-core-types/src/language_storage.rs#L140-L147\nexport const StructTag = object({\n\taddress: string(),\n\tmodule: string(),\n\tname: string(),\n\t// type_params in rust, should be updated to use camelCase\n\ttypeParams: array(string()),\n});\nexport type StructTag = Output<typeof StructTag>;\n\n// https://github.com/MystenLabs/sui/blob/cea8742e810142a8145fd83c4c142d61e561004a/crates/sui-graphql-rpc/schema/current_progress_schema.graphql#L1614-L1627\nexport type OpenMoveTypeSignatureBody =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: OpenMoveTypeSignatureBody }\n\t| {\n\t\t\tdatatype: {\n\t\t\t\tpackage: string;\n\t\t\t\tmodule: string;\n\t\t\t\ttype: string;\n\t\t\t\ttypeParameters: OpenMoveTypeSignatureBody[];\n\t\t\t};\n\t }\n\t| { typeParameter: number };\n\nexport const OpenMoveTypeSignatureBody: BaseSchema<OpenMoveTypeSignatureBody> = union([\n\tliteral('address'),\n\tliteral('bool'),\n\tliteral('u8'),\n\tliteral('u16'),\n\tliteral('u32'),\n\tliteral('u64'),\n\tliteral('u128'),\n\tliteral('u256'),\n\tobject({ vector: recursive(() => OpenMoveTypeSignatureBody) }),\n\tobject({\n\t\tdatatype: object({\n\t\t\tpackage: string(),\n\t\t\tmodule: string(),\n\t\t\ttype: string(),\n\t\t\ttypeParameters: array(recursive(() => OpenMoveTypeSignatureBody)),\n\t\t}),\n\t}),\n\tobject({ typeParameter: number([integer()]) }),\n]);\n\n// https://github.com/MystenLabs/sui/blob/cea8742e810142a8145fd83c4c142d61e561004a/crates/sui-graphql-rpc/schema/current_progress_schema.graphql#L1609-L1612\nexport const OpenMoveTypeSignature = object({\n\tref: nullable(union([literal('&'), literal('&mut')])),\n\tbody: OpenMoveTypeSignatureBody,\n});\nexport type OpenMoveTypeSignature = Output<typeof OpenMoveTypeSignature>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L707-L718\nconst ProgrammableMoveCall = object({\n\tpackage: ObjectID,\n\tmodule: string(),\n\tfunction: string(),\n\t// snake case in rust\n\ttypeArguments: array(string()),\n\targuments: array(Argument),\n\t_argumentTypes: optional(nullable(array(OpenMoveTypeSignature))),\n});\nexport type ProgrammableMoveCall = Output<typeof ProgrammableMoveCall>;\n\nexport const $Intent = object({\n\tname: string(),\n\tinputs: record(string(), union([Argument, array(Argument)])),\n\tdata: record(string(), unknown()),\n});\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L657-L685\nexport const Command = safeEnum({\n\tMoveCall: ProgrammableMoveCall,\n\tTransferObjects: object({\n\t\tobjects: array(Argument),\n\t\taddress: Argument,\n\t}),\n\tSplitCoins: object({\n\t\tcoin: Argument,\n\t\tamounts: array(Argument),\n\t}),\n\tMergeCoins: object({\n\t\tdestination: Argument,\n\t\tsources: array(Argument),\n\t}),\n\tPublish: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID),\n\t}),\n\tMakeMoveVec: object({\n\t\ttype: nullable(string()),\n\t\telements: array(Argument),\n\t}),\n\tUpgrade: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID),\n\t\tpackage: ObjectID,\n\t\tticket: Argument,\n\t}),\n\t$Intent,\n});\n\nexport type Command<Arg = Argument> = EnumOutputShape<{\n\tMoveCall: {\n\t\tpackage: string;\n\t\tmodule: string;\n\t\tfunction: string;\n\t\ttypeArguments: string[];\n\t\targuments: Arg[];\n\t\t_argumentTypes?: OpenMoveTypeSignature[] | null;\n\t};\n\tTransferObjects: {\n\t\tobjects: Arg[];\n\t\taddress: Arg;\n\t};\n\tSplitCoins: {\n\t\tcoin: Arg;\n\t\tamounts: Arg[];\n\t};\n\tMergeCoins: {\n\t\tdestination: Arg;\n\t\tsources: Arg[];\n\t};\n\tPublish: {\n\t\tmodules: string[];\n\t\tdependencies: string[];\n\t};\n\tMakeMoveVec: {\n\t\ttype: string | null;\n\t\telements: Arg[];\n\t};\n\tUpgrade: {\n\t\tmodules: string[];\n\t\tdependencies: string[];\n\t\tpackage: string;\n\t\tticket: Arg;\n\t};\n\t$Intent: {\n\t\tname: string;\n\t\tinputs: Record<string, Argument | Argument[]>;\n\t\tdata: Record<string, unknown>;\n\t};\n}>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L102-L114\nexport const ObjectArg = safeEnum({\n\tImmOrOwnedObject: ObjectRef,\n\tSharedObject: object({\n\t\tobjectId: ObjectID,\n\t\t// snake case in rust\n\t\tinitialSharedVersion: JsonU64,\n\t\tmutable: boolean(),\n\t}),\n\tReceiving: ObjectRef,\n});\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L75-L80\nconst CallArg = safeEnum({\n\tObject: ObjectArg,\n\tPure: object({\n\t\tbytes: BCSBytes,\n\t}),\n\tUnresolvedPure: object({\n\t\tvalue: unknown(),\n\t}),\n\tUnresolvedObject: object({\n\t\tobjectId: ObjectID,\n\t\tversion: optional(nullable(JsonU64)),\n\t\tdigest: optional(nullable(string())),\n\t\tinitialSharedVersion: optional(nullable(JsonU64)),\n\t}),\n});\nexport type CallArg = Output<typeof CallArg>;\n\nexport const NormalizedCallArg = safeEnum({\n\tObject: ObjectArg,\n\tPure: object({\n\t\tbytes: BCSBytes,\n\t}),\n});\n\nexport const TransactionExpiration = safeEnum({\n\tNone: literal(true),\n\tEpoch: JsonU64,\n});\n\nexport type TransactionExpiration = Output<typeof TransactionExpiration>;\n\nexport const TransactionData = object({\n\tversion: literal(2),\n\tsender: nullish(SuiAddress),\n\texpiration: nullish(TransactionExpiration),\n\tgasData: GasData,\n\tinputs: array(CallArg),\n\tcommands: array(Command),\n});\nexport type TransactionData = Output<typeof TransactionData>;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { EnumInputShape, EnumOutputShape } from '@mysten/bcs';\nimport type { GenericSchema, InferInput, InferOutput } from 'valibot';\nimport {\n\tarray,\n\tboolean,\n\tcheck,\n\tinteger,\n\tlazy,\n\tliteral,\n\tnullable,\n\tnullish,\n\tnumber,\n\tobject,\n\toptional,\n\tpipe,\n\trecord,\n\tstring,\n\ttransform,\n\ttuple,\n\tunion,\n\tunknown,\n} from 'valibot';\n\nimport { isValidSuiAddress, normalizeSuiAddress } from '../../utils/sui-types.js';\n\ntype Merge<T> = T extends object ? { [K in keyof T]: T[K] } : never;\n\ntype EnumSchema<T extends Record<string, GenericSchema<any>>> = GenericSchema<\n\tEnumInputShape<\n\t\tMerge<{\n\t\t\t[K in keyof T]: InferInput<T[K]>;\n\t\t}>\n\t>,\n\tEnumOutputShape<\n\t\tMerge<{\n\t\t\t[K in keyof T]: InferOutput<T[K]>;\n\t\t}>\n\t>\n>;\n\nexport function safeEnum<T extends Record<string, GenericSchema<any>>>(options: T): EnumSchema<T> {\n\tconst unionOptions = Object.entries(options).map(([key, value]) => object({ [key]: value }));\n\n\treturn pipe(\n\t\tunion(unionOptions),\n\t\ttransform((value) => ({\n\t\t\t...value,\n\t\t\t$kind: Object.keys(value)[0] as keyof typeof value,\n\t\t})),\n\t) as EnumSchema<T>;\n}\n\nexport const SuiAddress = pipe(\n\tstring(),\n\ttransform((value) => normalizeSuiAddress(value)),\n\tcheck(isValidSuiAddress),\n);\nexport const ObjectID = SuiAddress;\nexport const BCSBytes = string();\nexport const JsonU64 = pipe(\n\tunion([string(), pipe(number(), integer())]),\n\n\tcheck((val) => {\n\t\ttry {\n\t\t\tBigInt(val);\n\t\t\treturn BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}, 'Invalid u64'),\n);\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/base_types.rs#L138\n// Implemented as a tuple in rust\nexport const ObjectRef = object({\n\tobjectId: SuiAddress,\n\tversion: JsonU64,\n\tdigest: string(),\n});\nexport type ObjectRef = InferOutput<typeof ObjectRef>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L690-L702\nexport const Argument = pipe(\n\tunion([\n\t\tobject({ GasCoin: literal(true) }),\n\t\tobject({ Input: pipe(number(), integer()), type: optional(literal('pure')) }),\n\t\tobject({ Input: pipe(number(), integer()), type: optional(literal('object')) }),\n\t\tobject({ Result: pipe(number(), integer()) }),\n\t\tobject({ NestedResult: tuple([pipe(number(), integer()), pipe(number(), integer())]) }),\n\t]),\n\ttransform((value) => ({\n\t\t...value,\n\t\t$kind: Object.keys(value)[0] as keyof typeof value,\n\t})),\n\t// Defined manually to add `type?: 'pure' | 'object'` to Input\n) as GenericSchema<\n\t// Input\n\t| { GasCoin: true }\n\t| { Input: number; type?: 'pure' | 'object' }\n\t| { Result: number }\n\t| { NestedResult: [number, number] },\n\t// Output\n\t| { $kind: 'GasCoin'; GasCoin: true }\n\t| { $kind: 'Input'; Input: number; type?: 'pure' }\n\t| { $kind: 'Input'; Input: number; type?: 'object' }\n\t| { $kind: 'Result'; Result: number }\n\t| { $kind: 'NestedResult'; NestedResult: [number, number] }\n>;\n\nexport type Argument = InferOutput<typeof Argument>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L1387-L1392\nexport const GasData = object({\n\tbudget: nullable(JsonU64),\n\tprice: nullable(JsonU64),\n\towner: nullable(SuiAddress),\n\tpayment: nullable(array(ObjectRef)),\n});\nexport type GasData = InferOutput<typeof GasData>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/external-crates/move/crates/move-core-types/src/language_storage.rs#L140-L147\nexport const StructTag = object({\n\taddress: string(),\n\tmodule: string(),\n\tname: string(),\n\t// type_params in rust, should be updated to use camelCase\n\ttypeParams: array(string()),\n});\nexport type StructTag = InferOutput<typeof StructTag>;\n\n// https://github.com/MystenLabs/sui/blob/cea8742e810142a8145fd83c4c142d61e561004a/crates/sui-graphql-rpc/schema/current_progress_schema.graphql#L1614-L1627\nexport type OpenMoveTypeSignatureBody =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: OpenMoveTypeSignatureBody }\n\t| {\n\t\t\tdatatype: {\n\t\t\t\tpackage: string;\n\t\t\t\tmodule: string;\n\t\t\t\ttype: string;\n\t\t\t\ttypeParameters: OpenMoveTypeSignatureBody[];\n\t\t\t};\n\t }\n\t| { typeParameter: number };\n\nexport const OpenMoveTypeSignatureBody: GenericSchema<OpenMoveTypeSignatureBody> = union([\n\tliteral('address'),\n\tliteral('bool'),\n\tliteral('u8'),\n\tliteral('u16'),\n\tliteral('u32'),\n\tliteral('u64'),\n\tliteral('u128'),\n\tliteral('u256'),\n\tobject({ vector: lazy(() => OpenMoveTypeSignatureBody) }),\n\tobject({\n\t\tdatatype: object({\n\t\t\tpackage: string(),\n\t\t\tmodule: string(),\n\t\t\ttype: string(),\n\t\t\ttypeParameters: array(lazy(() => OpenMoveTypeSignatureBody)),\n\t\t}),\n\t}),\n\tobject({ typeParameter: pipe(number(), integer()) }),\n]);\n\n// https://github.com/MystenLabs/sui/blob/cea8742e810142a8145fd83c4c142d61e561004a/crates/sui-graphql-rpc/schema/current_progress_schema.graphql#L1609-L1612\nexport const OpenMoveTypeSignature = object({\n\tref: nullable(union([literal('&'), literal('&mut')])),\n\tbody: OpenMoveTypeSignatureBody,\n});\nexport type OpenMoveTypeSignature = InferOutput<typeof OpenMoveTypeSignature>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L707-L718\nconst ProgrammableMoveCall = object({\n\tpackage: ObjectID,\n\tmodule: string(),\n\tfunction: string(),\n\t// snake case in rust\n\ttypeArguments: array(string()),\n\targuments: array(Argument),\n\t_argumentTypes: optional(nullable(array(OpenMoveTypeSignature))),\n});\nexport type ProgrammableMoveCall = InferOutput<typeof ProgrammableMoveCall>;\n\nexport const $Intent = object({\n\tname: string(),\n\tinputs: record(string(), union([Argument, array(Argument)])),\n\tdata: record(string(), unknown()),\n});\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L657-L685\nexport const Command = safeEnum({\n\tMoveCall: ProgrammableMoveCall,\n\tTransferObjects: object({\n\t\tobjects: array(Argument),\n\t\taddress: Argument,\n\t}),\n\tSplitCoins: object({\n\t\tcoin: Argument,\n\t\tamounts: array(Argument),\n\t}),\n\tMergeCoins: object({\n\t\tdestination: Argument,\n\t\tsources: array(Argument),\n\t}),\n\tPublish: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID),\n\t}),\n\tMakeMoveVec: object({\n\t\ttype: nullable(string()),\n\t\telements: array(Argument),\n\t}),\n\tUpgrade: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID),\n\t\tpackage: ObjectID,\n\t\tticket: Argument,\n\t}),\n\t$Intent,\n});\n\nexport type Command<Arg = Argument> = EnumOutputShape<{\n\tMoveCall: {\n\t\tpackage: string;\n\t\tmodule: string;\n\t\tfunction: string;\n\t\ttypeArguments: string[];\n\t\targuments: Arg[];\n\t\t_argumentTypes?: OpenMoveTypeSignature[] | null;\n\t};\n\tTransferObjects: {\n\t\tobjects: Arg[];\n\t\taddress: Arg;\n\t};\n\tSplitCoins: {\n\t\tcoin: Arg;\n\t\tamounts: Arg[];\n\t};\n\tMergeCoins: {\n\t\tdestination: Arg;\n\t\tsources: Arg[];\n\t};\n\tPublish: {\n\t\tmodules: string[];\n\t\tdependencies: string[];\n\t};\n\tMakeMoveVec: {\n\t\ttype: string | null;\n\t\telements: Arg[];\n\t};\n\tUpgrade: {\n\t\tmodules: string[];\n\t\tdependencies: string[];\n\t\tpackage: string;\n\t\tticket: Arg;\n\t};\n\t$Intent: {\n\t\tname: string;\n\t\tinputs: Record<string, Argument | Argument[]>;\n\t\tdata: Record<string, unknown>;\n\t};\n}>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L102-L114\nexport const ObjectArg = safeEnum({\n\tImmOrOwnedObject: ObjectRef,\n\tSharedObject: object({\n\t\tobjectId: ObjectID,\n\t\t// snake case in rust\n\t\tinitialSharedVersion: JsonU64,\n\t\tmutable: boolean(),\n\t}),\n\tReceiving: ObjectRef,\n});\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L75-L80\nconst CallArg = safeEnum({\n\tObject: ObjectArg,\n\tPure: object({\n\t\tbytes: BCSBytes,\n\t}),\n\tUnresolvedPure: object({\n\t\tvalue: unknown(),\n\t}),\n\tUnresolvedObject: object({\n\t\tobjectId: ObjectID,\n\t\tversion: optional(nullable(JsonU64)),\n\t\tdigest: optional(nullable(string())),\n\t\tinitialSharedVersion: optional(nullable(JsonU64)),\n\t}),\n});\nexport type CallArg = InferOutput<typeof CallArg>;\n\nexport const NormalizedCallArg = safeEnum({\n\tObject: ObjectArg,\n\tPure: object({\n\t\tbytes: BCSBytes,\n\t}),\n});\n\nexport const TransactionExpiration = safeEnum({\n\tNone: literal(true),\n\tEpoch: JsonU64,\n});\n\nexport type TransactionExpiration = InferOutput<typeof TransactionExpiration>;\n\nexport const TransactionData = object({\n\tversion: literal(2),\n\tsender: nullish(SuiAddress),\n\texpiration: nullish(TransactionExpiration),\n\tgasData: GasData,\n\tinputs: array(CallArg),\n\tcommands: array(Command),\n});\nexport type TransactionData = InferOutput<typeof TransactionData>;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }