@mysten/sui 1.2.0 → 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 (200) hide show
  1. package/CHANGELOG.md +212 -84
  2. package/README.md +2 -46
  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 +48 -50
  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 +45 -61
  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 +2 -2
  79. package/dist/cjs/utils/suins.js.map +2 -2
  80. package/dist/cjs/verify/verify.js.map +1 -1
  81. package/dist/cjs/version.d.ts +2 -2
  82. package/dist/cjs/version.js +2 -2
  83. package/dist/cjs/version.js.map +1 -1
  84. package/dist/cjs/zklogin/index.d.ts +1 -1
  85. package/dist/cjs/zklogin/index.js +1 -0
  86. package/dist/cjs/zklogin/index.js.map +2 -2
  87. package/dist/cjs/zklogin/jwt-utils.js.map +1 -1
  88. package/dist/cjs/zklogin/publickey.js +11 -22
  89. package/dist/cjs/zklogin/publickey.js.map +1 -1
  90. package/dist/esm/bcs/bcs.d.ts +2 -2
  91. package/dist/esm/bcs/bcs.js.map +2 -2
  92. package/dist/esm/bcs/index.d.ts +20 -20
  93. package/dist/esm/bcs/type-tag-serializer.js.map +1 -1
  94. package/dist/esm/client/client.d.ts +5 -2
  95. package/dist/esm/client/client.js +5 -0
  96. package/dist/esm/client/client.js.map +2 -2
  97. package/dist/esm/client/http-transport.js +13 -27
  98. package/dist/esm/client/http-transport.js.map +1 -1
  99. package/dist/esm/client/network.js.map +1 -1
  100. package/dist/esm/client/rpc-websocket-client.d.ts +1 -8
  101. package/dist/esm/client/rpc-websocket-client.js +13 -30
  102. package/dist/esm/client/rpc-websocket-client.js.map +1 -1
  103. package/dist/esm/cryptography/publickey.js +1 -2
  104. package/dist/esm/cryptography/publickey.js.map +1 -1
  105. package/dist/esm/faucet/faucet.js.map +1 -1
  106. package/dist/esm/graphql/client.js +10 -21
  107. package/dist/esm/graphql/client.js.map +2 -2
  108. package/dist/esm/graphql/schemas/2024.1/index.d.ts +681 -681
  109. package/dist/esm/graphql/schemas/2024.4/index.d.ts +682 -682
  110. package/dist/esm/keypairs/ed25519/keypair.js.map +1 -1
  111. package/dist/esm/keypairs/ed25519/publickey.js.map +1 -1
  112. package/dist/esm/keypairs/secp256k1/publickey.js.map +1 -1
  113. package/dist/esm/keypairs/secp256r1/publickey.js.map +1 -1
  114. package/dist/esm/multisig/publickey.js.map +1 -1
  115. package/dist/esm/multisig/signer.js +8 -19
  116. package/dist/esm/multisig/signer.js.map +1 -1
  117. package/dist/esm/transactions/Arguments.d.ts +988 -0
  118. package/dist/esm/transactions/Arguments.js +12 -0
  119. package/dist/esm/transactions/Arguments.js.map +7 -0
  120. package/dist/esm/transactions/Commands.d.ts +19 -72
  121. package/dist/esm/transactions/Commands.js.map +1 -1
  122. package/dist/esm/transactions/ObjectCache.d.ts +1 -4
  123. package/dist/esm/transactions/ObjectCache.js +7 -18
  124. package/dist/esm/transactions/ObjectCache.js.map +1 -1
  125. package/dist/esm/transactions/Transaction.d.ts +48 -50
  126. package/dist/esm/transactions/Transaction.js +24 -50
  127. package/dist/esm/transactions/Transaction.js.map +2 -2
  128. package/dist/esm/transactions/TransactionData.d.ts +2 -2
  129. package/dist/esm/transactions/TransactionData.js.map +2 -2
  130. package/dist/esm/transactions/data/internal.d.ts +447 -2128
  131. package/dist/esm/transactions/data/internal.js +35 -31
  132. package/dist/esm/transactions/data/internal.js.map +2 -2
  133. package/dist/esm/transactions/data/v1.d.ts +288 -1818
  134. package/dist/esm/transactions/data/v1.js +83 -82
  135. package/dist/esm/transactions/data/v1.js.map +2 -2
  136. package/dist/esm/transactions/data/v2.d.ts +24 -192
  137. package/dist/esm/transactions/data/v2.js +4 -3
  138. package/dist/esm/transactions/data/v2.js.map +2 -2
  139. package/dist/esm/transactions/executor/caching.d.ts +1 -0
  140. package/dist/esm/transactions/executor/caching.js +22 -21
  141. package/dist/esm/transactions/executor/caching.js.map +2 -2
  142. package/dist/esm/transactions/executor/parallel.d.ts +1 -0
  143. package/dist/esm/transactions/executor/parallel.js +44 -60
  144. package/dist/esm/transactions/executor/parallel.js.map +2 -2
  145. package/dist/esm/transactions/executor/queue.js +5 -12
  146. package/dist/esm/transactions/executor/queue.js.map +1 -1
  147. package/dist/esm/transactions/executor/serial.d.ts +2 -1
  148. package/dist/esm/transactions/executor/serial.js +13 -39
  149. package/dist/esm/transactions/executor/serial.js.map +2 -2
  150. package/dist/esm/transactions/hash.js.map +1 -1
  151. package/dist/esm/transactions/index.d.ts +1 -0
  152. package/dist/esm/transactions/index.js +2 -2
  153. package/dist/esm/transactions/index.js.map +2 -2
  154. package/dist/esm/transactions/intents/CoinWithBalance.js.map +2 -2
  155. package/dist/esm/transactions/json-rpc-resolver.js +1 -2
  156. package/dist/esm/transactions/json-rpc-resolver.js.map +2 -2
  157. package/dist/esm/transactions/pure.d.ts +25 -182
  158. package/dist/esm/transactions/pure.js +48 -2
  159. package/dist/esm/transactions/pure.js.map +2 -2
  160. package/dist/esm/transactions/serializer.js.map +1 -1
  161. package/dist/esm/utils/constants.js.map +1 -1
  162. package/dist/esm/utils/format.js.map +1 -1
  163. package/dist/esm/utils/sui-types.js +1 -2
  164. package/dist/esm/utils/sui-types.js.map +2 -2
  165. package/dist/esm/utils/suins.js +2 -2
  166. package/dist/esm/utils/suins.js.map +2 -2
  167. package/dist/esm/verify/verify.js.map +1 -1
  168. package/dist/esm/version.d.ts +2 -2
  169. package/dist/esm/version.js +2 -2
  170. package/dist/esm/version.js.map +1 -1
  171. package/dist/esm/zklogin/index.d.ts +1 -1
  172. package/dist/esm/zklogin/index.js +2 -1
  173. package/dist/esm/zklogin/index.js.map +2 -2
  174. package/dist/esm/zklogin/jwt-utils.js.map +1 -1
  175. package/dist/esm/zklogin/publickey.js +10 -21
  176. package/dist/esm/zklogin/publickey.js.map +1 -1
  177. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  178. package/dist/tsconfig.tsbuildinfo +1 -1
  179. package/package.json +26 -26
  180. package/src/bcs/bcs.ts +2 -2
  181. package/src/client/client.ts +7 -4
  182. package/src/graphql/client.ts +1 -1
  183. package/src/transactions/Arguments.ts +23 -0
  184. package/src/transactions/Commands.ts +12 -12
  185. package/src/transactions/Transaction.ts +14 -13
  186. package/src/transactions/TransactionData.ts +4 -2
  187. package/src/transactions/data/internal.ts +52 -47
  188. package/src/transactions/data/v1.ts +102 -100
  189. package/src/transactions/data/v2.ts +9 -8
  190. package/src/transactions/executor/caching.ts +14 -2
  191. package/src/transactions/executor/parallel.ts +16 -2
  192. package/src/transactions/executor/serial.ts +3 -10
  193. package/src/transactions/index.ts +2 -0
  194. package/src/transactions/intents/CoinWithBalance.ts +2 -2
  195. package/src/transactions/json-rpc-resolver.ts +1 -1
  196. package/src/transactions/pure.ts +106 -4
  197. package/src/utils/sui-types.ts +1 -1
  198. package/src/utils/suins.ts +2 -2
  199. package/src/version.ts +2 -2
  200. package/src/zklogin/index.ts +1 -1
@@ -41,46 +41,49 @@ var import_valibot = require("valibot");
41
41
  var import_sui_types = require("../../utils/sui-types.js");
42
42
  function safeEnum(options) {
43
43
  const unionOptions = Object.entries(options).map(([key, value]) => (0, import_valibot.object)({ [key]: value }));
44
- return (0, import_valibot.transform)((0, import_valibot.union)(unionOptions), (value) => ({
45
- ...value,
46
- $kind: Object.keys(value)[0]
47
- }));
44
+ return (0, import_valibot.pipe)(
45
+ (0, import_valibot.union)(unionOptions),
46
+ (0, import_valibot.transform)((value) => ({
47
+ ...value,
48
+ $kind: Object.keys(value)[0]
49
+ }))
50
+ );
48
51
  }
49
- const SuiAddress = (0, import_valibot.transform)((0, import_valibot.string)(), (value) => (0, import_sui_types.normalizeSuiAddress)(value), [
50
- (0, import_valibot.custom)(import_sui_types.isValidSuiAddress)
51
- ]);
52
+ const SuiAddress = (0, import_valibot.pipe)(
53
+ (0, import_valibot.string)(),
54
+ (0, import_valibot.transform)((value) => (0, import_sui_types.normalizeSuiAddress)(value)),
55
+ (0, import_valibot.check)(import_sui_types.isValidSuiAddress)
56
+ );
52
57
  const ObjectID = SuiAddress;
53
58
  const BCSBytes = (0, import_valibot.string)();
54
- const JsonU64 = (0, import_valibot.union)(
55
- [(0, import_valibot.string)(), (0, import_valibot.number)([(0, import_valibot.integer)()])],
56
- [
57
- (0, import_valibot.custom)((val) => {
58
- try {
59
- BigInt(val);
60
- return BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n;
61
- } catch {
62
- return false;
63
- }
64
- }, "Invalid u64")
65
- ]
59
+ const JsonU64 = (0, import_valibot.pipe)(
60
+ (0, import_valibot.union)([(0, import_valibot.string)(), (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)())]),
61
+ (0, import_valibot.check)((val) => {
62
+ try {
63
+ BigInt(val);
64
+ return BigInt(val) >= 0 && BigInt(val) <= 18446744073709551615n;
65
+ } catch {
66
+ return false;
67
+ }
68
+ }, "Invalid u64")
66
69
  );
67
70
  const ObjectRef = (0, import_valibot.object)({
68
71
  objectId: SuiAddress,
69
72
  version: JsonU64,
70
73
  digest: (0, import_valibot.string)()
71
74
  });
72
- const Argument = (0, import_valibot.transform)(
75
+ const Argument = (0, import_valibot.pipe)(
73
76
  (0, import_valibot.union)([
74
77
  (0, import_valibot.object)({ GasCoin: (0, import_valibot.literal)(true) }),
75
- (0, import_valibot.object)({ Input: (0, import_valibot.number)([(0, import_valibot.integer)()]), type: (0, import_valibot.optional)((0, import_valibot.literal)("pure")) }),
76
- (0, import_valibot.object)({ Input: (0, import_valibot.number)([(0, import_valibot.integer)()]), type: (0, import_valibot.optional)((0, import_valibot.literal)("object")) }),
77
- (0, import_valibot.object)({ Result: (0, import_valibot.number)([(0, import_valibot.integer)()]) }),
78
- (0, import_valibot.object)({ NestedResult: (0, import_valibot.tuple)([(0, import_valibot.number)([(0, import_valibot.integer)()]), (0, import_valibot.number)([(0, import_valibot.integer)()])]) })
78
+ (0, import_valibot.object)({ Input: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()), type: (0, import_valibot.optional)((0, import_valibot.literal)("pure")) }),
79
+ (0, import_valibot.object)({ Input: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()), type: (0, import_valibot.optional)((0, import_valibot.literal)("object")) }),
80
+ (0, import_valibot.object)({ Result: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()) }),
81
+ (0, import_valibot.object)({ NestedResult: (0, import_valibot.tuple)([(0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()), (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)())]) })
79
82
  ]),
80
- (value) => ({
83
+ (0, import_valibot.transform)((value) => ({
81
84
  ...value,
82
85
  $kind: Object.keys(value)[0]
83
- })
86
+ }))
84
87
  // Defined manually to add `type?: 'pure' | 'object'` to Input
85
88
  );
86
89
  const GasData = (0, import_valibot.object)({
@@ -105,16 +108,16 @@ const OpenMoveTypeSignatureBody = (0, import_valibot.union)([
105
108
  (0, import_valibot.literal)("u64"),
106
109
  (0, import_valibot.literal)("u128"),
107
110
  (0, import_valibot.literal)("u256"),
108
- (0, import_valibot.object)({ vector: (0, import_valibot.recursive)(() => OpenMoveTypeSignatureBody) }),
111
+ (0, import_valibot.object)({ vector: (0, import_valibot.lazy)(() => OpenMoveTypeSignatureBody) }),
109
112
  (0, import_valibot.object)({
110
113
  datatype: (0, import_valibot.object)({
111
114
  package: (0, import_valibot.string)(),
112
115
  module: (0, import_valibot.string)(),
113
116
  type: (0, import_valibot.string)(),
114
- typeParameters: (0, import_valibot.array)((0, import_valibot.recursive)(() => OpenMoveTypeSignatureBody))
117
+ typeParameters: (0, import_valibot.array)((0, import_valibot.lazy)(() => OpenMoveTypeSignatureBody))
115
118
  })
116
119
  }),
117
- (0, import_valibot.object)({ typeParameter: (0, import_valibot.number)([(0, import_valibot.integer)()]) })
120
+ (0, import_valibot.object)({ typeParameter: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()) })
118
121
  ]);
119
122
  const OpenMoveTypeSignature = (0, import_valibot.object)({
120
123
  ref: (0, import_valibot.nullable)((0, import_valibot.union)([(0, import_valibot.literal)("&"), (0, import_valibot.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
  }