@mysten/sui 1.37.6 → 1.38.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.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/bcs/index.d.ts +1 -1
- package/dist/cjs/cryptography/intent.d.ts +1 -1
- package/dist/cjs/cryptography/keypair.d.ts +1 -1
- package/dist/cjs/cryptography/keypair.js.map +1 -1
- package/dist/cjs/cryptography/publickey.d.ts +3 -3
- package/dist/cjs/cryptography/publickey.js.map +2 -2
- package/dist/cjs/cryptography/signature.d.ts +3 -3
- package/dist/cjs/experimental/transports/json-rpc-resolver.js +3 -1
- package/dist/cjs/experimental/transports/json-rpc-resolver.js.map +2 -2
- package/dist/cjs/experimental/transports/jsonRPC.d.ts +2 -2
- package/dist/cjs/keypairs/ed25519/keypair.d.ts +1 -1
- package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -1
- package/dist/cjs/keypairs/ed25519/publickey.d.ts +1 -1
- package/dist/cjs/keypairs/ed25519/publickey.js.map +2 -2
- package/dist/cjs/keypairs/passkey/keypair.d.ts +1 -1
- package/dist/cjs/keypairs/passkey/keypair.js.map +1 -1
- package/dist/cjs/keypairs/passkey/publickey.d.ts +1 -1
- package/dist/cjs/keypairs/passkey/publickey.js.map +2 -2
- package/dist/cjs/keypairs/secp256k1/keypair.d.ts +1 -1
- package/dist/cjs/keypairs/secp256k1/keypair.js.map +1 -1
- package/dist/cjs/keypairs/secp256k1/publickey.d.ts +1 -1
- package/dist/cjs/keypairs/secp256k1/publickey.js.map +2 -2
- package/dist/cjs/keypairs/secp256r1/keypair.d.ts +1 -1
- package/dist/cjs/keypairs/secp256r1/keypair.js.map +1 -1
- package/dist/cjs/keypairs/secp256r1/publickey.d.ts +1 -1
- package/dist/cjs/keypairs/secp256r1/publickey.js.map +2 -2
- package/dist/cjs/multisig/publickey.d.ts +1 -1
- package/dist/cjs/multisig/publickey.js.map +2 -2
- package/dist/cjs/transactions/Commands.d.ts +9 -9
- package/dist/cjs/transactions/Commands.js +9 -9
- package/dist/cjs/transactions/Commands.js.map +2 -2
- package/dist/cjs/transactions/Transaction.d.ts +5 -5
- package/dist/cjs/transactions/Transaction.js +5 -5
- package/dist/cjs/transactions/Transaction.js.map +2 -2
- package/dist/cjs/transactions/TransactionData.d.ts +4 -5
- package/dist/cjs/transactions/TransactionData.js +3 -3
- package/dist/cjs/transactions/TransactionData.js.map +2 -2
- package/dist/cjs/transactions/data/internal.d.ts +19 -19
- package/dist/cjs/transactions/data/internal.js +43 -43
- package/dist/cjs/transactions/data/internal.js.map +2 -2
- package/dist/cjs/transactions/data/v1.d.ts +1 -1
- package/dist/cjs/transactions/data/v1.js +1 -1
- package/dist/cjs/transactions/data/v1.js.map +2 -2
- package/dist/cjs/transactions/data/v2.d.ts +2 -2
- package/dist/cjs/transactions/data/v2.js +5 -5
- package/dist/cjs/transactions/data/v2.js.map +2 -2
- package/dist/cjs/transactions/executor/caching.d.ts +1 -1
- package/dist/cjs/transactions/executor/serial.d.ts +1 -1
- package/dist/cjs/transactions/utils.d.ts +1 -2
- package/dist/cjs/transactions/utils.js +1 -1
- package/dist/cjs/transactions/utils.js.map +2 -2
- package/dist/cjs/utils/derived-objects.d.ts +5 -0
- package/dist/cjs/utils/derived-objects.js +34 -0
- package/dist/cjs/utils/derived-objects.js.map +7 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +2 -0
- package/dist/cjs/utils/index.js.map +2 -2
- package/dist/cjs/version.d.ts +2 -2
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/zklogin/publickey.d.ts +2 -2
- package/dist/cjs/zklogin/publickey.js.map +2 -2
- package/dist/esm/bcs/index.d.ts +1 -1
- package/dist/esm/cryptography/intent.d.ts +1 -1
- package/dist/esm/cryptography/keypair.d.ts +1 -1
- package/dist/esm/cryptography/keypair.js.map +1 -1
- package/dist/esm/cryptography/publickey.d.ts +3 -3
- package/dist/esm/cryptography/publickey.js.map +2 -2
- package/dist/esm/cryptography/signature.d.ts +3 -3
- package/dist/esm/experimental/transports/json-rpc-resolver.js +4 -2
- package/dist/esm/experimental/transports/json-rpc-resolver.js.map +2 -2
- package/dist/esm/experimental/transports/jsonRPC.d.ts +2 -2
- package/dist/esm/keypairs/ed25519/keypair.d.ts +1 -1
- package/dist/esm/keypairs/ed25519/keypair.js.map +1 -1
- package/dist/esm/keypairs/ed25519/publickey.d.ts +1 -1
- package/dist/esm/keypairs/ed25519/publickey.js.map +2 -2
- package/dist/esm/keypairs/passkey/keypair.d.ts +1 -1
- package/dist/esm/keypairs/passkey/keypair.js.map +1 -1
- package/dist/esm/keypairs/passkey/publickey.d.ts +1 -1
- package/dist/esm/keypairs/passkey/publickey.js.map +2 -2
- package/dist/esm/keypairs/secp256k1/keypair.d.ts +1 -1
- package/dist/esm/keypairs/secp256k1/keypair.js.map +1 -1
- package/dist/esm/keypairs/secp256k1/publickey.d.ts +1 -1
- package/dist/esm/keypairs/secp256k1/publickey.js.map +2 -2
- package/dist/esm/keypairs/secp256r1/keypair.d.ts +1 -1
- package/dist/esm/keypairs/secp256r1/keypair.js.map +1 -1
- package/dist/esm/keypairs/secp256r1/publickey.d.ts +1 -1
- package/dist/esm/keypairs/secp256r1/publickey.js.map +2 -2
- package/dist/esm/multisig/publickey.d.ts +1 -1
- package/dist/esm/multisig/publickey.js.map +2 -2
- package/dist/esm/transactions/Commands.d.ts +9 -9
- package/dist/esm/transactions/Commands.js +10 -10
- package/dist/esm/transactions/Commands.js.map +2 -2
- package/dist/esm/transactions/Transaction.d.ts +5 -5
- package/dist/esm/transactions/Transaction.js +12 -7
- package/dist/esm/transactions/Transaction.js.map +2 -2
- package/dist/esm/transactions/TransactionData.d.ts +4 -5
- package/dist/esm/transactions/TransactionData.js +4 -4
- package/dist/esm/transactions/TransactionData.js.map +2 -2
- package/dist/esm/transactions/data/internal.d.ts +19 -19
- package/dist/esm/transactions/data/internal.js +43 -43
- package/dist/esm/transactions/data/internal.js.map +2 -2
- package/dist/esm/transactions/data/v1.d.ts +1 -1
- package/dist/esm/transactions/data/v1.js +2 -2
- package/dist/esm/transactions/data/v1.js.map +2 -2
- package/dist/esm/transactions/data/v2.d.ts +2 -2
- package/dist/esm/transactions/data/v2.js +6 -6
- package/dist/esm/transactions/data/v2.js.map +2 -2
- package/dist/esm/transactions/executor/caching.d.ts +1 -1
- package/dist/esm/transactions/executor/serial.d.ts +1 -1
- package/dist/esm/transactions/utils.d.ts +1 -2
- package/dist/esm/transactions/utils.js +2 -2
- package/dist/esm/transactions/utils.js.map +2 -2
- package/dist/esm/utils/derived-objects.d.ts +5 -0
- package/dist/esm/utils/derived-objects.js +14 -0
- package/dist/esm/utils/derived-objects.js.map +7 -0
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +2 -2
- package/dist/esm/version.d.ts +2 -2
- package/dist/esm/version.js +2 -2
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/zklogin/publickey.d.ts +2 -2
- package/dist/esm/zklogin/publickey.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/cryptography/keypair.ts +1 -1
- package/src/cryptography/publickey.ts +2 -2
- package/src/experimental/transports/json-rpc-resolver.ts +4 -2
- package/src/keypairs/ed25519/keypair.ts +1 -1
- package/src/keypairs/ed25519/publickey.ts +3 -3
- package/src/keypairs/passkey/keypair.ts +2 -2
- package/src/keypairs/passkey/publickey.ts +3 -3
- package/src/keypairs/secp256k1/keypair.ts +1 -1
- package/src/keypairs/secp256k1/publickey.ts +3 -3
- package/src/keypairs/secp256r1/keypair.ts +1 -1
- package/src/keypairs/secp256r1/publickey.ts +3 -3
- package/src/multisig/publickey.ts +3 -3
- package/src/transactions/Commands.ts +27 -22
- package/src/transactions/Transaction.ts +18 -11
- package/src/transactions/TransactionData.ts +7 -6
- package/src/transactions/data/internal.ts +43 -42
- package/src/transactions/data/v1.ts +5 -5
- package/src/transactions/data/v2.ts +6 -6
- package/src/transactions/utils.ts +3 -3
- package/src/utils/derived-objects.ts +22 -0
- package/src/utils/index.ts +2 -0
- package/src/version.ts +2 -2
- package/src/zklogin/publickey.ts +3 -3
|
@@ -19,20 +19,20 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var internal_exports = {};
|
|
20
20
|
__export(internal_exports, {
|
|
21
21
|
$Intent: () => $Intent,
|
|
22
|
-
|
|
22
|
+
ArgumentSchema: () => ArgumentSchema,
|
|
23
23
|
BCSBytes: () => BCSBytes,
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
CommandSchema: () => CommandSchema,
|
|
25
|
+
GasDataSchema: () => GasDataSchema,
|
|
26
26
|
JsonU64: () => JsonU64,
|
|
27
27
|
NormalizedCallArg: () => NormalizedCallArg,
|
|
28
|
-
|
|
28
|
+
ObjectArgSchema: () => ObjectArgSchema,
|
|
29
29
|
ObjectID: () => ObjectID,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
ObjectRefSchema: () => ObjectRefSchema,
|
|
31
|
+
OpenMoveTypeSignatureBodySchema: () => OpenMoveTypeSignatureBodySchema,
|
|
32
|
+
OpenMoveTypeSignatureSchema: () => OpenMoveTypeSignatureSchema,
|
|
33
|
+
StructTagSchema: () => StructTagSchema,
|
|
34
34
|
SuiAddress: () => SuiAddress,
|
|
35
|
-
|
|
35
|
+
TransactionDataSchema: () => TransactionDataSchema,
|
|
36
36
|
TransactionExpiration: () => TransactionExpiration,
|
|
37
37
|
safeEnum: () => safeEnum
|
|
38
38
|
});
|
|
@@ -67,12 +67,12 @@ const JsonU64 = (0, import_valibot.pipe)(
|
|
|
67
67
|
}
|
|
68
68
|
}, "Invalid u64")
|
|
69
69
|
);
|
|
70
|
-
const
|
|
70
|
+
const ObjectRefSchema = (0, import_valibot.object)({
|
|
71
71
|
objectId: SuiAddress,
|
|
72
72
|
version: JsonU64,
|
|
73
73
|
digest: (0, import_valibot.string)()
|
|
74
74
|
});
|
|
75
|
-
const
|
|
75
|
+
const ArgumentSchema = (0, import_valibot.pipe)(
|
|
76
76
|
(0, import_valibot.union)([
|
|
77
77
|
(0, import_valibot.object)({ GasCoin: (0, import_valibot.literal)(true) }),
|
|
78
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")) }),
|
|
@@ -86,20 +86,20 @@ const Argument = (0, import_valibot.pipe)(
|
|
|
86
86
|
}))
|
|
87
87
|
// Defined manually to add `type?: 'pure' | 'object'` to Input
|
|
88
88
|
);
|
|
89
|
-
const
|
|
89
|
+
const GasDataSchema = (0, import_valibot.object)({
|
|
90
90
|
budget: (0, import_valibot.nullable)(JsonU64),
|
|
91
91
|
price: (0, import_valibot.nullable)(JsonU64),
|
|
92
92
|
owner: (0, import_valibot.nullable)(SuiAddress),
|
|
93
|
-
payment: (0, import_valibot.nullable)((0, import_valibot.array)(
|
|
93
|
+
payment: (0, import_valibot.nullable)((0, import_valibot.array)(ObjectRefSchema))
|
|
94
94
|
});
|
|
95
|
-
const
|
|
95
|
+
const StructTagSchema = (0, import_valibot.object)({
|
|
96
96
|
address: (0, import_valibot.string)(),
|
|
97
97
|
module: (0, import_valibot.string)(),
|
|
98
98
|
name: (0, import_valibot.string)(),
|
|
99
99
|
// type_params in rust, should be updated to use camelCase
|
|
100
100
|
typeParams: (0, import_valibot.array)((0, import_valibot.string)())
|
|
101
101
|
});
|
|
102
|
-
const
|
|
102
|
+
const OpenMoveTypeSignatureBodySchema = (0, import_valibot.union)([
|
|
103
103
|
(0, import_valibot.literal)("address"),
|
|
104
104
|
(0, import_valibot.literal)("bool"),
|
|
105
105
|
(0, import_valibot.literal)("u8"),
|
|
@@ -108,48 +108,48 @@ const OpenMoveTypeSignatureBody = (0, import_valibot.union)([
|
|
|
108
108
|
(0, import_valibot.literal)("u64"),
|
|
109
109
|
(0, import_valibot.literal)("u128"),
|
|
110
110
|
(0, import_valibot.literal)("u256"),
|
|
111
|
-
(0, import_valibot.object)({ vector: (0, import_valibot.lazy)(() =>
|
|
111
|
+
(0, import_valibot.object)({ vector: (0, import_valibot.lazy)(() => OpenMoveTypeSignatureBodySchema) }),
|
|
112
112
|
(0, import_valibot.object)({
|
|
113
113
|
datatype: (0, import_valibot.object)({
|
|
114
114
|
package: (0, import_valibot.string)(),
|
|
115
115
|
module: (0, import_valibot.string)(),
|
|
116
116
|
type: (0, import_valibot.string)(),
|
|
117
|
-
typeParameters: (0, import_valibot.array)((0, import_valibot.lazy)(() =>
|
|
117
|
+
typeParameters: (0, import_valibot.array)((0, import_valibot.lazy)(() => OpenMoveTypeSignatureBodySchema))
|
|
118
118
|
})
|
|
119
119
|
}),
|
|
120
120
|
(0, import_valibot.object)({ typeParameter: (0, import_valibot.pipe)((0, import_valibot.number)(), (0, import_valibot.integer)()) })
|
|
121
121
|
]);
|
|
122
|
-
const
|
|
122
|
+
const OpenMoveTypeSignatureSchema = (0, import_valibot.object)({
|
|
123
123
|
ref: (0, import_valibot.nullable)((0, import_valibot.union)([(0, import_valibot.literal)("&"), (0, import_valibot.literal)("&mut")])),
|
|
124
|
-
body:
|
|
124
|
+
body: OpenMoveTypeSignatureBodySchema
|
|
125
125
|
});
|
|
126
|
-
const
|
|
126
|
+
const ProgrammableMoveCallSchema = (0, import_valibot.object)({
|
|
127
127
|
package: ObjectID,
|
|
128
128
|
module: (0, import_valibot.string)(),
|
|
129
129
|
function: (0, import_valibot.string)(),
|
|
130
130
|
// snake case in rust
|
|
131
131
|
typeArguments: (0, import_valibot.array)((0, import_valibot.string)()),
|
|
132
|
-
arguments: (0, import_valibot.array)(
|
|
133
|
-
_argumentTypes: (0, import_valibot.optional)((0, import_valibot.nullable)((0, import_valibot.array)(
|
|
132
|
+
arguments: (0, import_valibot.array)(ArgumentSchema),
|
|
133
|
+
_argumentTypes: (0, import_valibot.optional)((0, import_valibot.nullable)((0, import_valibot.array)(OpenMoveTypeSignatureSchema)))
|
|
134
134
|
});
|
|
135
135
|
const $Intent = (0, import_valibot.object)({
|
|
136
136
|
name: (0, import_valibot.string)(),
|
|
137
|
-
inputs: (0, import_valibot.record)((0, import_valibot.string)(), (0, import_valibot.union)([
|
|
137
|
+
inputs: (0, import_valibot.record)((0, import_valibot.string)(), (0, import_valibot.union)([ArgumentSchema, (0, import_valibot.array)(ArgumentSchema)])),
|
|
138
138
|
data: (0, import_valibot.record)((0, import_valibot.string)(), (0, import_valibot.unknown)())
|
|
139
139
|
});
|
|
140
|
-
const
|
|
141
|
-
MoveCall:
|
|
140
|
+
const CommandSchema = safeEnum({
|
|
141
|
+
MoveCall: ProgrammableMoveCallSchema,
|
|
142
142
|
TransferObjects: (0, import_valibot.object)({
|
|
143
|
-
objects: (0, import_valibot.array)(
|
|
144
|
-
address:
|
|
143
|
+
objects: (0, import_valibot.array)(ArgumentSchema),
|
|
144
|
+
address: ArgumentSchema
|
|
145
145
|
}),
|
|
146
146
|
SplitCoins: (0, import_valibot.object)({
|
|
147
|
-
coin:
|
|
148
|
-
amounts: (0, import_valibot.array)(
|
|
147
|
+
coin: ArgumentSchema,
|
|
148
|
+
amounts: (0, import_valibot.array)(ArgumentSchema)
|
|
149
149
|
}),
|
|
150
150
|
MergeCoins: (0, import_valibot.object)({
|
|
151
|
-
destination:
|
|
152
|
-
sources: (0, import_valibot.array)(
|
|
151
|
+
destination: ArgumentSchema,
|
|
152
|
+
sources: (0, import_valibot.array)(ArgumentSchema)
|
|
153
153
|
}),
|
|
154
154
|
Publish: (0, import_valibot.object)({
|
|
155
155
|
modules: (0, import_valibot.array)(BCSBytes),
|
|
@@ -157,28 +157,28 @@ const Command = safeEnum({
|
|
|
157
157
|
}),
|
|
158
158
|
MakeMoveVec: (0, import_valibot.object)({
|
|
159
159
|
type: (0, import_valibot.nullable)((0, import_valibot.string)()),
|
|
160
|
-
elements: (0, import_valibot.array)(
|
|
160
|
+
elements: (0, import_valibot.array)(ArgumentSchema)
|
|
161
161
|
}),
|
|
162
162
|
Upgrade: (0, import_valibot.object)({
|
|
163
163
|
modules: (0, import_valibot.array)(BCSBytes),
|
|
164
164
|
dependencies: (0, import_valibot.array)(ObjectID),
|
|
165
165
|
package: ObjectID,
|
|
166
|
-
ticket:
|
|
166
|
+
ticket: ArgumentSchema
|
|
167
167
|
}),
|
|
168
168
|
$Intent
|
|
169
169
|
});
|
|
170
|
-
const
|
|
171
|
-
ImmOrOwnedObject:
|
|
170
|
+
const ObjectArgSchema = safeEnum({
|
|
171
|
+
ImmOrOwnedObject: ObjectRefSchema,
|
|
172
172
|
SharedObject: (0, import_valibot.object)({
|
|
173
173
|
objectId: ObjectID,
|
|
174
174
|
// snake case in rust
|
|
175
175
|
initialSharedVersion: JsonU64,
|
|
176
176
|
mutable: (0, import_valibot.boolean)()
|
|
177
177
|
}),
|
|
178
|
-
Receiving:
|
|
178
|
+
Receiving: ObjectRefSchema
|
|
179
179
|
});
|
|
180
|
-
const
|
|
181
|
-
Object:
|
|
180
|
+
const CallArgSchema = safeEnum({
|
|
181
|
+
Object: ObjectArgSchema,
|
|
182
182
|
Pure: (0, import_valibot.object)({
|
|
183
183
|
bytes: BCSBytes
|
|
184
184
|
}),
|
|
@@ -194,7 +194,7 @@ const CallArg = safeEnum({
|
|
|
194
194
|
})
|
|
195
195
|
});
|
|
196
196
|
const NormalizedCallArg = safeEnum({
|
|
197
|
-
Object:
|
|
197
|
+
Object: ObjectArgSchema,
|
|
198
198
|
Pure: (0, import_valibot.object)({
|
|
199
199
|
bytes: BCSBytes
|
|
200
200
|
})
|
|
@@ -203,12 +203,12 @@ const TransactionExpiration = safeEnum({
|
|
|
203
203
|
None: (0, import_valibot.literal)(true),
|
|
204
204
|
Epoch: JsonU64
|
|
205
205
|
});
|
|
206
|
-
const
|
|
206
|
+
const TransactionDataSchema = (0, import_valibot.object)({
|
|
207
207
|
version: (0, import_valibot.literal)(2),
|
|
208
208
|
sender: (0, import_valibot.nullish)(SuiAddress),
|
|
209
209
|
expiration: (0, import_valibot.nullish)(TransactionExpiration),
|
|
210
|
-
gasData:
|
|
211
|
-
inputs: (0, import_valibot.array)(
|
|
212
|
-
commands: (0, import_valibot.array)(
|
|
210
|
+
gasData: GasDataSchema,
|
|
211
|
+
inputs: (0, import_valibot.array)(CallArgSchema),
|
|
212
|
+
commands: (0, import_valibot.array)(CommandSchema)
|
|
213
213
|
});
|
|
214
214
|
//# sourceMappingURL=internal.js.map
|
|
@@ -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 { 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';\nimport type { Simplify } from '@mysten/utils';\n\ntype EnumSchema<T extends Record<string, GenericSchema<any>>> = GenericSchema<\n\tEnumInputShape<\n\t\tSimplify<{\n\t\t\t[K in keyof T]: InferInput<T[K]>;\n\t\t}>\n\t>,\n\tEnumOutputShape<\n\t\tSimplify<{\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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAmBO;AAEP,uBAAuD;AAgBhD,SAAS,SAAuD,SAA2B;AACjG,QAAM,eAAe,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,UAAM,uBAAO,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;AAE3F,aAAO;AAAA,QACN,sBAAM,YAAY;AAAA,QAClB,0BAAU,CAAC,WAAW;AAAA,MACrB,GAAG;AAAA,MACH,OAAO,OAAO,KAAK,KAAK,EAAE,CAAC;AAAA,IAC5B,EAAE;AAAA,EACH;AACD;AAEO,MAAM,iBAAa;AAAA,MACzB,uBAAO;AAAA,MACP,0BAAU,CAAC,cAAU,sCAAoB,KAAK,CAAC;AAAA,MAC/C,sBAAM,kCAAiB;AACxB;AACO,MAAM,WAAW;AACjB,MAAM,eAAW,uBAAO;AACxB,MAAM,cAAU;AAAA,MACtB,sBAAM,KAAC,uBAAO,OAAG,yBAAK,uBAAO,OAAG,wBAAQ,CAAC,CAAC,CAAC;AAAA,MAE3C,sBAAM,CAAC,QAAQ;AACd,QAAI;AACH,aAAO,GAAG;AACV,aAAO,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,KAAK;AAAA,IAC3C,QAAQ;AACP,aAAO;AAAA,IACR;AAAA,EACD,GAAG,aAAa;AACjB;AAGO,MAAM,
|
|
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';\nimport type { Simplify } from '@mysten/utils';\n\ntype EnumSchema<T extends Record<string, GenericSchema<any>>> = GenericSchema<\n\tEnumInputShape<\n\t\tSimplify<{\n\t\t\t[K in keyof T]: InferInput<T[K]>;\n\t\t}>\n\t>,\n\tEnumOutputShape<\n\t\tSimplify<{\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 ObjectRefSchema = object({\n\tobjectId: SuiAddress,\n\tversion: JsonU64,\n\tdigest: string(),\n});\nexport type ObjectRef = InferOutput<typeof ObjectRefSchema>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L690-L702\nexport const ArgumentSchema = 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 ArgumentSchema>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L1387-L1392\nexport const GasDataSchema = object({\n\tbudget: nullable(JsonU64),\n\tprice: nullable(JsonU64),\n\towner: nullable(SuiAddress),\n\tpayment: nullable(array(ObjectRefSchema)),\n});\nexport type GasData = InferOutput<typeof GasDataSchema>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/external-crates/move/crates/move-core-types/src/language_storage.rs#L140-L147\nexport const StructTagSchema = 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 StructTagSchema>;\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 OpenMoveTypeSignatureBodySchema: 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(() => OpenMoveTypeSignatureBodySchema) }),\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(() => OpenMoveTypeSignatureBodySchema)),\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 OpenMoveTypeSignatureSchema = object({\n\tref: nullable(union([literal('&'), literal('&mut')])),\n\tbody: OpenMoveTypeSignatureBodySchema,\n});\nexport type OpenMoveTypeSignature = InferOutput<typeof OpenMoveTypeSignatureSchema>;\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L707-L718\nconst ProgrammableMoveCallSchema = object({\n\tpackage: ObjectID,\n\tmodule: string(),\n\tfunction: string(),\n\t// snake case in rust\n\ttypeArguments: array(string()),\n\targuments: array(ArgumentSchema),\n\t_argumentTypes: optional(nullable(array(OpenMoveTypeSignatureSchema))),\n});\nexport type ProgrammableMoveCall = InferOutput<typeof ProgrammableMoveCallSchema>;\n\nexport const $Intent = object({\n\tname: string(),\n\tinputs: record(string(), union([ArgumentSchema, array(ArgumentSchema)])),\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 CommandSchema = safeEnum({\n\tMoveCall: ProgrammableMoveCallSchema,\n\tTransferObjects: object({\n\t\tobjects: array(ArgumentSchema),\n\t\taddress: ArgumentSchema,\n\t}),\n\tSplitCoins: object({\n\t\tcoin: ArgumentSchema,\n\t\tamounts: array(ArgumentSchema),\n\t}),\n\tMergeCoins: object({\n\t\tdestination: ArgumentSchema,\n\t\tsources: array(ArgumentSchema),\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(ArgumentSchema),\n\t}),\n\tUpgrade: object({\n\t\tmodules: array(BCSBytes),\n\t\tdependencies: array(ObjectID),\n\t\tpackage: ObjectID,\n\t\tticket: ArgumentSchema,\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 ObjectArgSchema = safeEnum({\n\tImmOrOwnedObject: ObjectRefSchema,\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: ObjectRefSchema,\n});\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L75-L80\nconst CallArgSchema = safeEnum({\n\tObject: ObjectArgSchema,\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\tmutable: optional(nullable(boolean())),\n\t}),\n});\nexport type CallArg = InferOutput<typeof CallArgSchema>;\n\nexport const NormalizedCallArg = safeEnum({\n\tObject: ObjectArgSchema,\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 TransactionDataSchema = object({\n\tversion: literal(2),\n\tsender: nullish(SuiAddress),\n\texpiration: nullish(TransactionExpiration),\n\tgasData: GasDataSchema,\n\tinputs: array(CallArgSchema),\n\tcommands: array(CommandSchema),\n});\n\nexport type TransactionData = InferOutput<typeof TransactionDataSchema>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GenericSchema, InferOutput } from 'valibot';
|
|
2
2
|
import type { StructTag as StructTagType, TypeTag as TypeTagType } from '../../bcs/types.js';
|
|
3
|
-
import { TransactionData } from './internal.js';
|
|
3
|
+
import type { TransactionData } from './internal.js';
|
|
4
4
|
export declare const ObjectRef: import("valibot").ObjectSchema<{
|
|
5
5
|
readonly digest: import("valibot").StringSchema<undefined>;
|
|
6
6
|
readonly objectId: import("valibot").StringSchema<undefined>;
|
|
@@ -321,7 +321,7 @@ function convertTransactionArgument(arg, inputs) {
|
|
|
321
321
|
throw new Error(`Invalid argument ${Object.keys(arg)}`);
|
|
322
322
|
}
|
|
323
323
|
function transactionDataFromV1(data) {
|
|
324
|
-
return (0, import_valibot.parse)(import_internal.
|
|
324
|
+
return (0, import_valibot.parse)(import_internal.TransactionDataSchema, {
|
|
325
325
|
version: 2,
|
|
326
326
|
sender: data.sender ?? null,
|
|
327
327
|
expiration: data.expiration ? "Epoch" in data.expiration ? { Epoch: data.expiration.Epoch } : { None: true } : null,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/transactions/data/v1.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\nimport type { GenericSchema, InferInput, InferOutput } from 'valibot';\nimport {\n\tarray,\n\tbigint,\n\tboolean,\n\tcheck,\n\tinteger,\n\tis,\n\tlazy,\n\tliteral,\n\tnullable,\n\tnullish,\n\tnumber,\n\tobject,\n\toptional,\n\tparse,\n\tpipe,\n\tstring,\n\tunion,\n\tunknown,\n} from 'valibot';\n\nimport { TypeTagSerializer } from '../../bcs/index.js';\nimport type { StructTag as StructTagType, TypeTag as TypeTagType } from '../../bcs/types.js';\nimport { JsonU64, ObjectID, safeEnum, TransactionData } from './internal.js';\nimport type { Argument } from './internal.js';\n\nexport const ObjectRef = object({\n\tdigest: string(),\n\tobjectId: string(),\n\tversion: union([pipe(number(), integer()), string(), bigint()]),\n});\n\nconst ObjectArg = safeEnum({\n\tImmOrOwned: ObjectRef,\n\tShared: object({\n\t\tobjectId: ObjectID,\n\t\tinitialSharedVersion: JsonU64,\n\t\tmutable: boolean(),\n\t}),\n\tReceiving: ObjectRef,\n});\n\nexport const NormalizedCallArg = safeEnum({\n\tObject: ObjectArg,\n\tPure: array(pipe(number(), integer())),\n});\n\nconst TransactionInput = union([\n\tobject({\n\t\tkind: literal('Input'),\n\t\tindex: pipe(number(), integer()),\n\t\tvalue: unknown(),\n\t\ttype: optional(literal('object')),\n\t}),\n\tobject({\n\t\tkind: literal('Input'),\n\t\tindex: pipe(number(), integer()),\n\t\tvalue: unknown(),\n\t\ttype: literal('pure'),\n\t}),\n]);\n\nconst TransactionExpiration = union([\n\tobject({ Epoch: pipe(number(), integer()) }),\n\tobject({ None: nullable(literal(true)) }),\n]);\n\nconst StringEncodedBigint = pipe(\n\tunion([number(), string(), bigint()]),\n\tcheck((val) => {\n\t\tif (!['string', 'number', 'bigint'].includes(typeof val)) return false;\n\n\t\ttry {\n\t\t\tBigInt(val as string);\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}),\n);\n\nexport const TypeTag: GenericSchema<TypeTagType> = union([\n\tobject({ bool: nullable(literal(true)) }),\n\tobject({ u8: nullable(literal(true)) }),\n\tobject({ u64: nullable(literal(true)) }),\n\tobject({ u128: nullable(literal(true)) }),\n\tobject({ address: nullable(literal(true)) }),\n\tobject({ signer: nullable(literal(true)) }),\n\tobject({ vector: lazy(() => TypeTag) }),\n\tobject({ struct: lazy(() => StructTag) }),\n\tobject({ u16: nullable(literal(true)) }),\n\tobject({ u32: nullable(literal(true)) }),\n\tobject({ u256: nullable(literal(true)) }),\n]);\n\n// https://github.com/MystenLabs/sui/blob/cea8742e810142a8145fd83c4c142d61e561004a/external-crates/move/crates/move-core-types/src/language_storage.rs#L140-L147\nexport const StructTag: GenericSchema<StructTagType> = object({\n\taddress: string(),\n\tmodule: string(),\n\tname: string(),\n\ttypeParams: array(TypeTag),\n});\n\nconst GasConfig = object({\n\tbudget: optional(StringEncodedBigint),\n\tprice: optional(StringEncodedBigint),\n\tpayment: optional(array(ObjectRef)),\n\towner: optional(string()),\n});\n\nconst TransactionArgumentTypes = [\n\tTransactionInput,\n\tobject({ kind: literal('GasCoin') }),\n\tobject({ kind: literal('Result'), index: pipe(number(), integer()) }),\n\tobject({\n\t\tkind: literal('NestedResult'),\n\t\tindex: pipe(number(), integer()),\n\t\tresultIndex: pipe(number(), integer()),\n\t}),\n] as const;\n\n// Generic transaction argument\nexport const TransactionArgument = union([...TransactionArgumentTypes]);\n\nconst MoveCallTransaction = object({\n\tkind: literal('MoveCall'),\n\ttarget: pipe(\n\t\tstring(),\n\t\tcheck((target) => target.split('::').length === 3),\n\t) as GenericSchema<`${string}::${string}::${string}`>,\n\ttypeArguments: array(string()),\n\targuments: array(TransactionArgument),\n});\n\nconst TransferObjectsTransaction = object({\n\tkind: literal('TransferObjects'),\n\tobjects: array(TransactionArgument),\n\taddress: TransactionArgument,\n});\n\nconst SplitCoinsTransaction = object({\n\tkind: literal('SplitCoins'),\n\tcoin: TransactionArgument,\n\tamounts: array(TransactionArgument),\n});\n\nconst MergeCoinsTransaction = object({\n\tkind: literal('MergeCoins'),\n\tdestination: TransactionArgument,\n\tsources: array(TransactionArgument),\n});\n\nconst MakeMoveVecTransaction = object({\n\tkind: literal('MakeMoveVec'),\n\ttype: union([object({ Some: TypeTag }), object({ None: nullable(literal(true)) })]),\n\tobjects: array(TransactionArgument),\n});\n\nconst PublishTransaction = object({\n\tkind: literal('Publish'),\n\tmodules: array(array(pipe(number(), integer()))),\n\tdependencies: array(string()),\n});\n\nconst UpgradeTransaction = object({\n\tkind: literal('Upgrade'),\n\tmodules: array(array(pipe(number(), integer()))),\n\tdependencies: array(string()),\n\tpackageId: string(),\n\tticket: TransactionArgument,\n});\n\nconst TransactionTypes = [\n\tMoveCallTransaction,\n\tTransferObjectsTransaction,\n\tSplitCoinsTransaction,\n\tMergeCoinsTransaction,\n\tPublishTransaction,\n\tUpgradeTransaction,\n\tMakeMoveVecTransaction,\n] as const;\n\nconst TransactionType = union([...TransactionTypes]);\n\nexport const SerializedTransactionDataV1 = object({\n\tversion: literal(1),\n\tsender: optional(string()),\n\texpiration: nullish(TransactionExpiration),\n\tgasConfig: GasConfig,\n\tinputs: array(TransactionInput),\n\ttransactions: array(TransactionType),\n});\n\nexport type SerializedTransactionDataV1 = InferOutput<typeof SerializedTransactionDataV1>;\n\nexport function serializeV1TransactionData(\n\ttransactionData: TransactionData,\n): SerializedTransactionDataV1 {\n\tconst inputs: InferOutput<typeof TransactionInput>[] = transactionData.inputs.map(\n\t\t(input, index) => {\n\t\t\tif (input.Object) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tObject: input.Object.ImmOrOwnedObject\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tImmOrOwned: input.Object.ImmOrOwnedObject,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: input.Object.Receiving\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tReceiving: {\n\t\t\t\t\t\t\t\t\t\t\tdigest: input.Object.Receiving.digest,\n\t\t\t\t\t\t\t\t\t\t\tversion: input.Object.Receiving.version,\n\t\t\t\t\t\t\t\t\t\t\tobjectId: input.Object.Receiving.objectId,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\tShared: {\n\t\t\t\t\t\t\t\t\t\t\tmutable: input.Object.SharedObject.mutable,\n\t\t\t\t\t\t\t\t\t\t\tinitialSharedVersion: input.Object.SharedObject.initialSharedVersion,\n\t\t\t\t\t\t\t\t\t\t\tobjectId: input.Object.SharedObject.objectId,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\ttype: 'object',\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (input.Pure) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tPure: Array.from(fromBase64(input.Pure.bytes)),\n\t\t\t\t\t},\n\t\t\t\t\ttype: 'pure',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (input.UnresolvedPure) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\ttype: 'pure',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: input.UnresolvedPure.value,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (input.UnresolvedObject) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: input.UnresolvedObject.objectId,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthrow new Error('Invalid input');\n\t\t},\n\t);\n\n\treturn {\n\t\tversion: 1,\n\t\tsender: transactionData.sender ?? undefined,\n\t\texpiration:\n\t\t\ttransactionData.expiration?.$kind === 'Epoch'\n\t\t\t\t? { Epoch: Number(transactionData.expiration.Epoch) }\n\t\t\t\t: transactionData.expiration\n\t\t\t\t\t? { None: true }\n\t\t\t\t\t: null,\n\t\tgasConfig: {\n\t\t\towner: transactionData.gasData.owner ?? undefined,\n\t\t\tbudget: transactionData.gasData.budget ?? undefined,\n\t\t\tprice: transactionData.gasData.price ?? undefined,\n\t\t\tpayment: transactionData.gasData.payment ?? undefined,\n\t\t},\n\t\tinputs,\n\t\ttransactions: transactionData.commands.map((command): InferOutput<typeof TransactionType> => {\n\t\t\tif (command.MakeMoveVec) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'MakeMoveVec',\n\t\t\t\t\ttype:\n\t\t\t\t\t\tcommand.MakeMoveVec.type === null\n\t\t\t\t\t\t\t? { None: true }\n\t\t\t\t\t\t\t: { Some: TypeTagSerializer.parseFromStr(command.MakeMoveVec.type) },\n\t\t\t\t\tobjects: command.MakeMoveVec.elements.map((arg) =>\n\t\t\t\t\t\tconvertTransactionArgument(arg, inputs),\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.MergeCoins) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'MergeCoins',\n\t\t\t\t\tdestination: convertTransactionArgument(command.MergeCoins.destination, inputs),\n\t\t\t\t\tsources: command.MergeCoins.sources.map((arg) => convertTransactionArgument(arg, inputs)),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.MoveCall) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'MoveCall',\n\t\t\t\t\ttarget: `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`,\n\t\t\t\t\ttypeArguments: command.MoveCall.typeArguments,\n\t\t\t\t\targuments: command.MoveCall.arguments.map((arg) =>\n\t\t\t\t\t\tconvertTransactionArgument(arg, inputs),\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.Publish) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Publish',\n\t\t\t\t\tmodules: command.Publish.modules.map((mod) => Array.from(fromBase64(mod))),\n\t\t\t\t\tdependencies: command.Publish.dependencies,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.SplitCoins) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'SplitCoins',\n\t\t\t\t\tcoin: convertTransactionArgument(command.SplitCoins.coin, inputs),\n\t\t\t\t\tamounts: command.SplitCoins.amounts.map((arg) => convertTransactionArgument(arg, inputs)),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.TransferObjects) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'TransferObjects',\n\t\t\t\t\tobjects: command.TransferObjects.objects.map((arg) =>\n\t\t\t\t\t\tconvertTransactionArgument(arg, inputs),\n\t\t\t\t\t),\n\t\t\t\t\taddress: convertTransactionArgument(command.TransferObjects.address, inputs),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (command.Upgrade) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Upgrade',\n\t\t\t\t\tmodules: command.Upgrade.modules.map((mod) => Array.from(fromBase64(mod))),\n\t\t\t\t\tdependencies: command.Upgrade.dependencies,\n\t\t\t\t\tpackageId: command.Upgrade.package,\n\t\t\t\t\tticket: convertTransactionArgument(command.Upgrade.ticket, inputs),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthrow new Error(`Unknown transaction ${Object.keys(command)}`);\n\t\t}),\n\t};\n}\n\nfunction convertTransactionArgument(\n\targ: Argument,\n\tinputs: InferOutput<typeof TransactionInput>[],\n): InferOutput<typeof TransactionArgument> {\n\tif (arg.$kind === 'GasCoin') {\n\t\treturn { kind: 'GasCoin' };\n\t}\n\tif (arg.$kind === 'Result') {\n\t\treturn { kind: 'Result', index: arg.Result };\n\t}\n\tif (arg.$kind === 'NestedResult') {\n\t\treturn { kind: 'NestedResult', index: arg.NestedResult[0], resultIndex: arg.NestedResult[1] };\n\t}\n\tif (arg.$kind === 'Input') {\n\t\treturn inputs[arg.Input];\n\t}\n\n\tthrow new Error(`Invalid argument ${Object.keys(arg)}`);\n}\n\nexport function transactionDataFromV1(data: SerializedTransactionDataV1): TransactionData {\n\treturn parse(TransactionData, {\n\t\tversion: 2,\n\t\tsender: data.sender ?? null,\n\t\texpiration: data.expiration\n\t\t\t? 'Epoch' in data.expiration\n\t\t\t\t? { Epoch: data.expiration.Epoch }\n\t\t\t\t: { None: true }\n\t\t\t: null,\n\t\tgasData: {\n\t\t\towner: data.gasConfig.owner ?? null,\n\t\t\tbudget: data.gasConfig.budget?.toString() ?? null,\n\t\t\tprice: data.gasConfig.price?.toString() ?? null,\n\t\t\tpayment:\n\t\t\t\tdata.gasConfig.payment?.map((ref) => ({\n\t\t\t\t\tdigest: ref.digest,\n\t\t\t\t\tobjectId: ref.objectId,\n\t\t\t\t\tversion: ref.version.toString(),\n\t\t\t\t})) ?? null,\n\t\t},\n\t\tinputs: data.inputs.map((input) => {\n\t\t\tif (input.kind === 'Input') {\n\t\t\t\tif (is(NormalizedCallArg, input.value)) {\n\t\t\t\t\tconst value = parse(NormalizedCallArg, input.value);\n\n\t\t\t\t\tif (value.Object) {\n\t\t\t\t\t\tif (value.Object.ImmOrOwned) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tObject: {\n\t\t\t\t\t\t\t\t\tImmOrOwnedObject: {\n\t\t\t\t\t\t\t\t\t\tobjectId: value.Object.ImmOrOwned.objectId,\n\t\t\t\t\t\t\t\t\t\tversion: String(value.Object.ImmOrOwned.version),\n\t\t\t\t\t\t\t\t\t\tdigest: value.Object.ImmOrOwned.digest,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value.Object.Shared) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tObject: {\n\t\t\t\t\t\t\t\t\tSharedObject: {\n\t\t\t\t\t\t\t\t\t\tmutable: value.Object.Shared.mutable ?? null,\n\t\t\t\t\t\t\t\t\t\tinitialSharedVersion: value.Object.Shared.initialSharedVersion,\n\t\t\t\t\t\t\t\t\t\tobjectId: value.Object.Shared.objectId,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value.Object.Receiving) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tObject: {\n\t\t\t\t\t\t\t\t\tReceiving: {\n\t\t\t\t\t\t\t\t\t\tdigest: value.Object.Receiving.digest,\n\t\t\t\t\t\t\t\t\t\tversion: String(value.Object.Receiving.version),\n\t\t\t\t\t\t\t\t\t\tobjectId: value.Object.Receiving.objectId,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new Error('Invalid object input');\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tPure: {\n\t\t\t\t\t\t\tbytes: toBase64(new Uint8Array(value.Pure)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (input.type === 'object') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tUnresolvedObject: {\n\t\t\t\t\t\t\tobjectId: input.value as string,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tUnresolvedPure: {\n\t\t\t\t\t\tvalue: input.value,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthrow new Error('Invalid input');\n\t\t}),\n\t\tcommands: data.transactions.map((transaction) => {\n\t\t\tswitch (transaction.kind) {\n\t\t\t\tcase 'MakeMoveVec':\n\t\t\t\t\treturn {\n\t\t\t\t\t\tMakeMoveVec: {\n\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t'Some' in transaction.type\n\t\t\t\t\t\t\t\t\t? TypeTagSerializer.tagToString(transaction.type.Some)\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\telements: transaction.objects.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\tcase 'MergeCoins': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tMergeCoins: {\n\t\t\t\t\t\t\tdestination: parseV1TransactionArgument(transaction.destination),\n\t\t\t\t\t\t\tsources: transaction.sources.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'MoveCall': {\n\t\t\t\t\tconst [pkg, mod, fn] = transaction.target.split('::');\n\t\t\t\t\treturn {\n\t\t\t\t\t\tMoveCall: {\n\t\t\t\t\t\t\tpackage: pkg,\n\t\t\t\t\t\t\tmodule: mod,\n\t\t\t\t\t\t\tfunction: fn,\n\t\t\t\t\t\t\ttypeArguments: transaction.typeArguments,\n\t\t\t\t\t\t\targuments: transaction.arguments.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'Publish': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tPublish: {\n\t\t\t\t\t\t\tmodules: transaction.modules.map((mod) => toBase64(Uint8Array.from(mod))),\n\t\t\t\t\t\t\tdependencies: transaction.dependencies,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'SplitCoins': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tSplitCoins: {\n\t\t\t\t\t\t\tcoin: parseV1TransactionArgument(transaction.coin),\n\t\t\t\t\t\t\tamounts: transaction.amounts.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'TransferObjects': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tTransferObjects: {\n\t\t\t\t\t\t\tobjects: transaction.objects.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t\taddress: parseV1TransactionArgument(transaction.address),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'Upgrade': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tUpgrade: {\n\t\t\t\t\t\t\tmodules: transaction.modules.map((mod) => toBase64(Uint8Array.from(mod))),\n\t\t\t\t\t\t\tdependencies: transaction.dependencies,\n\t\t\t\t\t\t\tpackage: transaction.packageId,\n\t\t\t\t\t\t\tticket: parseV1TransactionArgument(transaction.ticket),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new Error(`Unknown transaction ${Object.keys(transaction)}`);\n\t\t}),\n\t} satisfies InferInput<typeof TransactionData>);\n}\n\nfunction parseV1TransactionArgument(\n\targ: InferOutput<typeof TransactionArgument>,\n): InferInput<typeof Argument> {\n\tswitch (arg.kind) {\n\t\tcase 'GasCoin': {\n\t\t\treturn { GasCoin: true };\n\t\t}\n\t\tcase 'Result':\n\t\t\treturn { Result: arg.index };\n\t\tcase 'NestedResult': {\n\t\t\treturn { NestedResult: [arg.index, arg.resultIndex] };\n\t\t}\n\t\tcase 'Input': {\n\t\t\treturn { Input: arg.index };\n\t\t}\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\nimport type { GenericSchema, InferInput, InferOutput } from 'valibot';\nimport {\n\tarray,\n\tbigint,\n\tboolean,\n\tcheck,\n\tinteger,\n\tis,\n\tlazy,\n\tliteral,\n\tnullable,\n\tnullish,\n\tnumber,\n\tobject,\n\toptional,\n\tparse,\n\tpipe,\n\tstring,\n\tunion,\n\tunknown,\n} from 'valibot';\n\nimport { TypeTagSerializer } from '../../bcs/index.js';\nimport type { StructTag as StructTagType, TypeTag as TypeTagType } from '../../bcs/types.js';\nimport { JsonU64, ObjectID, safeEnum, TransactionDataSchema } from './internal.js';\nimport type { Argument, ArgumentSchema, TransactionData } from './internal.js';\n\nexport const ObjectRef = object({\n\tdigest: string(),\n\tobjectId: string(),\n\tversion: union([pipe(number(), integer()), string(), bigint()]),\n});\n\nconst ObjectArg = safeEnum({\n\tImmOrOwned: ObjectRef,\n\tShared: object({\n\t\tobjectId: ObjectID,\n\t\tinitialSharedVersion: JsonU64,\n\t\tmutable: boolean(),\n\t}),\n\tReceiving: ObjectRef,\n});\n\nexport const NormalizedCallArg = safeEnum({\n\tObject: ObjectArg,\n\tPure: array(pipe(number(), integer())),\n});\n\nconst TransactionInput = union([\n\tobject({\n\t\tkind: literal('Input'),\n\t\tindex: pipe(number(), integer()),\n\t\tvalue: unknown(),\n\t\ttype: optional(literal('object')),\n\t}),\n\tobject({\n\t\tkind: literal('Input'),\n\t\tindex: pipe(number(), integer()),\n\t\tvalue: unknown(),\n\t\ttype: literal('pure'),\n\t}),\n]);\n\nconst TransactionExpiration = union([\n\tobject({ Epoch: pipe(number(), integer()) }),\n\tobject({ None: nullable(literal(true)) }),\n]);\n\nconst StringEncodedBigint = pipe(\n\tunion([number(), string(), bigint()]),\n\tcheck((val) => {\n\t\tif (!['string', 'number', 'bigint'].includes(typeof val)) return false;\n\n\t\ttry {\n\t\t\tBigInt(val as string);\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}),\n);\n\nexport const TypeTag: GenericSchema<TypeTagType> = union([\n\tobject({ bool: nullable(literal(true)) }),\n\tobject({ u8: nullable(literal(true)) }),\n\tobject({ u64: nullable(literal(true)) }),\n\tobject({ u128: nullable(literal(true)) }),\n\tobject({ address: nullable(literal(true)) }),\n\tobject({ signer: nullable(literal(true)) }),\n\tobject({ vector: lazy(() => TypeTag) }),\n\tobject({ struct: lazy(() => StructTag) }),\n\tobject({ u16: nullable(literal(true)) }),\n\tobject({ u32: nullable(literal(true)) }),\n\tobject({ u256: nullable(literal(true)) }),\n]);\n\n// https://github.com/MystenLabs/sui/blob/cea8742e810142a8145fd83c4c142d61e561004a/external-crates/move/crates/move-core-types/src/language_storage.rs#L140-L147\nexport const StructTag: GenericSchema<StructTagType> = object({\n\taddress: string(),\n\tmodule: string(),\n\tname: string(),\n\ttypeParams: array(TypeTag),\n});\n\nconst GasConfig = object({\n\tbudget: optional(StringEncodedBigint),\n\tprice: optional(StringEncodedBigint),\n\tpayment: optional(array(ObjectRef)),\n\towner: optional(string()),\n});\n\nconst TransactionArgumentTypes = [\n\tTransactionInput,\n\tobject({ kind: literal('GasCoin') }),\n\tobject({ kind: literal('Result'), index: pipe(number(), integer()) }),\n\tobject({\n\t\tkind: literal('NestedResult'),\n\t\tindex: pipe(number(), integer()),\n\t\tresultIndex: pipe(number(), integer()),\n\t}),\n] as const;\n\n// Generic transaction argument\nexport const TransactionArgument = union([...TransactionArgumentTypes]);\n\nconst MoveCallTransaction = object({\n\tkind: literal('MoveCall'),\n\ttarget: pipe(\n\t\tstring(),\n\t\tcheck((target) => target.split('::').length === 3),\n\t) as GenericSchema<`${string}::${string}::${string}`>,\n\ttypeArguments: array(string()),\n\targuments: array(TransactionArgument),\n});\n\nconst TransferObjectsTransaction = object({\n\tkind: literal('TransferObjects'),\n\tobjects: array(TransactionArgument),\n\taddress: TransactionArgument,\n});\n\nconst SplitCoinsTransaction = object({\n\tkind: literal('SplitCoins'),\n\tcoin: TransactionArgument,\n\tamounts: array(TransactionArgument),\n});\n\nconst MergeCoinsTransaction = object({\n\tkind: literal('MergeCoins'),\n\tdestination: TransactionArgument,\n\tsources: array(TransactionArgument),\n});\n\nconst MakeMoveVecTransaction = object({\n\tkind: literal('MakeMoveVec'),\n\ttype: union([object({ Some: TypeTag }), object({ None: nullable(literal(true)) })]),\n\tobjects: array(TransactionArgument),\n});\n\nconst PublishTransaction = object({\n\tkind: literal('Publish'),\n\tmodules: array(array(pipe(number(), integer()))),\n\tdependencies: array(string()),\n});\n\nconst UpgradeTransaction = object({\n\tkind: literal('Upgrade'),\n\tmodules: array(array(pipe(number(), integer()))),\n\tdependencies: array(string()),\n\tpackageId: string(),\n\tticket: TransactionArgument,\n});\n\nconst TransactionTypes = [\n\tMoveCallTransaction,\n\tTransferObjectsTransaction,\n\tSplitCoinsTransaction,\n\tMergeCoinsTransaction,\n\tPublishTransaction,\n\tUpgradeTransaction,\n\tMakeMoveVecTransaction,\n] as const;\n\nconst TransactionType = union([...TransactionTypes]);\n\nexport const SerializedTransactionDataV1 = object({\n\tversion: literal(1),\n\tsender: optional(string()),\n\texpiration: nullish(TransactionExpiration),\n\tgasConfig: GasConfig,\n\tinputs: array(TransactionInput),\n\ttransactions: array(TransactionType),\n});\n\nexport type SerializedTransactionDataV1 = InferOutput<typeof SerializedTransactionDataV1>;\n\nexport function serializeV1TransactionData(\n\ttransactionData: TransactionData,\n): SerializedTransactionDataV1 {\n\tconst inputs: InferOutput<typeof TransactionInput>[] = transactionData.inputs.map(\n\t\t(input, index) => {\n\t\t\tif (input.Object) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tObject: input.Object.ImmOrOwnedObject\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tImmOrOwned: input.Object.ImmOrOwnedObject,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: input.Object.Receiving\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tReceiving: {\n\t\t\t\t\t\t\t\t\t\t\tdigest: input.Object.Receiving.digest,\n\t\t\t\t\t\t\t\t\t\t\tversion: input.Object.Receiving.version,\n\t\t\t\t\t\t\t\t\t\t\tobjectId: input.Object.Receiving.objectId,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\tShared: {\n\t\t\t\t\t\t\t\t\t\t\tmutable: input.Object.SharedObject.mutable,\n\t\t\t\t\t\t\t\t\t\t\tinitialSharedVersion: input.Object.SharedObject.initialSharedVersion,\n\t\t\t\t\t\t\t\t\t\t\tobjectId: input.Object.SharedObject.objectId,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\ttype: 'object',\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (input.Pure) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tPure: Array.from(fromBase64(input.Pure.bytes)),\n\t\t\t\t\t},\n\t\t\t\t\ttype: 'pure',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (input.UnresolvedPure) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\ttype: 'pure',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: input.UnresolvedPure.value,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (input.UnresolvedObject) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Input',\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue: input.UnresolvedObject.objectId,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthrow new Error('Invalid input');\n\t\t},\n\t);\n\n\treturn {\n\t\tversion: 1,\n\t\tsender: transactionData.sender ?? undefined,\n\t\texpiration:\n\t\t\ttransactionData.expiration?.$kind === 'Epoch'\n\t\t\t\t? { Epoch: Number(transactionData.expiration.Epoch) }\n\t\t\t\t: transactionData.expiration\n\t\t\t\t\t? { None: true }\n\t\t\t\t\t: null,\n\t\tgasConfig: {\n\t\t\towner: transactionData.gasData.owner ?? undefined,\n\t\t\tbudget: transactionData.gasData.budget ?? undefined,\n\t\t\tprice: transactionData.gasData.price ?? undefined,\n\t\t\tpayment: transactionData.gasData.payment ?? undefined,\n\t\t},\n\t\tinputs,\n\t\ttransactions: transactionData.commands.map((command): InferOutput<typeof TransactionType> => {\n\t\t\tif (command.MakeMoveVec) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'MakeMoveVec',\n\t\t\t\t\ttype:\n\t\t\t\t\t\tcommand.MakeMoveVec.type === null\n\t\t\t\t\t\t\t? { None: true }\n\t\t\t\t\t\t\t: { Some: TypeTagSerializer.parseFromStr(command.MakeMoveVec.type) },\n\t\t\t\t\tobjects: command.MakeMoveVec.elements.map((arg) =>\n\t\t\t\t\t\tconvertTransactionArgument(arg, inputs),\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.MergeCoins) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'MergeCoins',\n\t\t\t\t\tdestination: convertTransactionArgument(command.MergeCoins.destination, inputs),\n\t\t\t\t\tsources: command.MergeCoins.sources.map((arg) => convertTransactionArgument(arg, inputs)),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.MoveCall) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'MoveCall',\n\t\t\t\t\ttarget: `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`,\n\t\t\t\t\ttypeArguments: command.MoveCall.typeArguments,\n\t\t\t\t\targuments: command.MoveCall.arguments.map((arg) =>\n\t\t\t\t\t\tconvertTransactionArgument(arg, inputs),\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.Publish) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Publish',\n\t\t\t\t\tmodules: command.Publish.modules.map((mod) => Array.from(fromBase64(mod))),\n\t\t\t\t\tdependencies: command.Publish.dependencies,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.SplitCoins) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'SplitCoins',\n\t\t\t\t\tcoin: convertTransactionArgument(command.SplitCoins.coin, inputs),\n\t\t\t\t\tamounts: command.SplitCoins.amounts.map((arg) => convertTransactionArgument(arg, inputs)),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (command.TransferObjects) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'TransferObjects',\n\t\t\t\t\tobjects: command.TransferObjects.objects.map((arg) =>\n\t\t\t\t\t\tconvertTransactionArgument(arg, inputs),\n\t\t\t\t\t),\n\t\t\t\t\taddress: convertTransactionArgument(command.TransferObjects.address, inputs),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (command.Upgrade) {\n\t\t\t\treturn {\n\t\t\t\t\tkind: 'Upgrade',\n\t\t\t\t\tmodules: command.Upgrade.modules.map((mod) => Array.from(fromBase64(mod))),\n\t\t\t\t\tdependencies: command.Upgrade.dependencies,\n\t\t\t\t\tpackageId: command.Upgrade.package,\n\t\t\t\t\tticket: convertTransactionArgument(command.Upgrade.ticket, inputs),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthrow new Error(`Unknown transaction ${Object.keys(command)}`);\n\t\t}),\n\t};\n}\n\nfunction convertTransactionArgument(\n\targ: Argument,\n\tinputs: InferOutput<typeof TransactionInput>[],\n): InferOutput<typeof TransactionArgument> {\n\tif (arg.$kind === 'GasCoin') {\n\t\treturn { kind: 'GasCoin' };\n\t}\n\tif (arg.$kind === 'Result') {\n\t\treturn { kind: 'Result', index: arg.Result };\n\t}\n\tif (arg.$kind === 'NestedResult') {\n\t\treturn { kind: 'NestedResult', index: arg.NestedResult[0], resultIndex: arg.NestedResult[1] };\n\t}\n\tif (arg.$kind === 'Input') {\n\t\treturn inputs[arg.Input];\n\t}\n\n\tthrow new Error(`Invalid argument ${Object.keys(arg)}`);\n}\n\nexport function transactionDataFromV1(data: SerializedTransactionDataV1): TransactionData {\n\treturn parse(TransactionDataSchema, {\n\t\tversion: 2,\n\t\tsender: data.sender ?? null,\n\t\texpiration: data.expiration\n\t\t\t? 'Epoch' in data.expiration\n\t\t\t\t? { Epoch: data.expiration.Epoch }\n\t\t\t\t: { None: true }\n\t\t\t: null,\n\t\tgasData: {\n\t\t\towner: data.gasConfig.owner ?? null,\n\t\t\tbudget: data.gasConfig.budget?.toString() ?? null,\n\t\t\tprice: data.gasConfig.price?.toString() ?? null,\n\t\t\tpayment:\n\t\t\t\tdata.gasConfig.payment?.map((ref) => ({\n\t\t\t\t\tdigest: ref.digest,\n\t\t\t\t\tobjectId: ref.objectId,\n\t\t\t\t\tversion: ref.version.toString(),\n\t\t\t\t})) ?? null,\n\t\t},\n\t\tinputs: data.inputs.map((input) => {\n\t\t\tif (input.kind === 'Input') {\n\t\t\t\tif (is(NormalizedCallArg, input.value)) {\n\t\t\t\t\tconst value = parse(NormalizedCallArg, input.value);\n\n\t\t\t\t\tif (value.Object) {\n\t\t\t\t\t\tif (value.Object.ImmOrOwned) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tObject: {\n\t\t\t\t\t\t\t\t\tImmOrOwnedObject: {\n\t\t\t\t\t\t\t\t\t\tobjectId: value.Object.ImmOrOwned.objectId,\n\t\t\t\t\t\t\t\t\t\tversion: String(value.Object.ImmOrOwned.version),\n\t\t\t\t\t\t\t\t\t\tdigest: value.Object.ImmOrOwned.digest,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value.Object.Shared) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tObject: {\n\t\t\t\t\t\t\t\t\tSharedObject: {\n\t\t\t\t\t\t\t\t\t\tmutable: value.Object.Shared.mutable ?? null,\n\t\t\t\t\t\t\t\t\t\tinitialSharedVersion: value.Object.Shared.initialSharedVersion,\n\t\t\t\t\t\t\t\t\t\tobjectId: value.Object.Shared.objectId,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value.Object.Receiving) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tObject: {\n\t\t\t\t\t\t\t\t\tReceiving: {\n\t\t\t\t\t\t\t\t\t\tdigest: value.Object.Receiving.digest,\n\t\t\t\t\t\t\t\t\t\tversion: String(value.Object.Receiving.version),\n\t\t\t\t\t\t\t\t\t\tobjectId: value.Object.Receiving.objectId,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new Error('Invalid object input');\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tPure: {\n\t\t\t\t\t\t\tbytes: toBase64(new Uint8Array(value.Pure)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (input.type === 'object') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tUnresolvedObject: {\n\t\t\t\t\t\t\tobjectId: input.value as string,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tUnresolvedPure: {\n\t\t\t\t\t\tvalue: input.value,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthrow new Error('Invalid input');\n\t\t}),\n\t\tcommands: data.transactions.map((transaction) => {\n\t\t\tswitch (transaction.kind) {\n\t\t\t\tcase 'MakeMoveVec':\n\t\t\t\t\treturn {\n\t\t\t\t\t\tMakeMoveVec: {\n\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t'Some' in transaction.type\n\t\t\t\t\t\t\t\t\t? TypeTagSerializer.tagToString(transaction.type.Some)\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\telements: transaction.objects.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\tcase 'MergeCoins': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tMergeCoins: {\n\t\t\t\t\t\t\tdestination: parseV1TransactionArgument(transaction.destination),\n\t\t\t\t\t\t\tsources: transaction.sources.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'MoveCall': {\n\t\t\t\t\tconst [pkg, mod, fn] = transaction.target.split('::');\n\t\t\t\t\treturn {\n\t\t\t\t\t\tMoveCall: {\n\t\t\t\t\t\t\tpackage: pkg,\n\t\t\t\t\t\t\tmodule: mod,\n\t\t\t\t\t\t\tfunction: fn,\n\t\t\t\t\t\t\ttypeArguments: transaction.typeArguments,\n\t\t\t\t\t\t\targuments: transaction.arguments.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'Publish': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tPublish: {\n\t\t\t\t\t\t\tmodules: transaction.modules.map((mod) => toBase64(Uint8Array.from(mod))),\n\t\t\t\t\t\t\tdependencies: transaction.dependencies,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'SplitCoins': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tSplitCoins: {\n\t\t\t\t\t\t\tcoin: parseV1TransactionArgument(transaction.coin),\n\t\t\t\t\t\t\tamounts: transaction.amounts.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'TransferObjects': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tTransferObjects: {\n\t\t\t\t\t\t\tobjects: transaction.objects.map((arg) => parseV1TransactionArgument(arg)),\n\t\t\t\t\t\t\taddress: parseV1TransactionArgument(transaction.address),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'Upgrade': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tUpgrade: {\n\t\t\t\t\t\t\tmodules: transaction.modules.map((mod) => toBase64(Uint8Array.from(mod))),\n\t\t\t\t\t\t\tdependencies: transaction.dependencies,\n\t\t\t\t\t\t\tpackage: transaction.packageId,\n\t\t\t\t\t\t\tticket: parseV1TransactionArgument(transaction.ticket),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthrow new Error(`Unknown transaction ${Object.keys(transaction)}`);\n\t\t}),\n\t} satisfies InferInput<typeof TransactionDataSchema>);\n}\n\nfunction parseV1TransactionArgument(\n\targ: InferOutput<typeof TransactionArgument>,\n): InferInput<typeof ArgumentSchema> {\n\tswitch (arg.kind) {\n\t\tcase 'GasCoin': {\n\t\t\treturn { GasCoin: true };\n\t\t}\n\t\tcase 'Result':\n\t\t\treturn { Result: arg.index };\n\t\tcase 'NestedResult': {\n\t\t\treturn { NestedResult: [arg.index, arg.resultIndex] };\n\t\t}\n\t\tcase 'Input': {\n\t\t\treturn { Input: arg.index };\n\t\t}\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_bcs"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EnumInputShape } from '@mysten/bcs';
|
|
2
2
|
import type { GenericSchema, InferOutput } from 'valibot';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const SerializedTransactionDataV2Schema: import("valibot").ObjectSchema<{
|
|
4
4
|
readonly version: import("valibot").LiteralSchema<2, undefined>;
|
|
5
5
|
readonly sender: import("valibot").NullishSchema<import("valibot").SchemaWithPipe<[import("valibot").StringSchema<undefined>, import("valibot").TransformAction<string, string>, import("valibot").CheckAction<string, undefined>]>, never>;
|
|
6
6
|
readonly expiration: import("valibot").NullishSchema<GenericSchema<EnumInputShape<{
|
|
@@ -282,4 +282,4 @@ export declare const SerializedTransactionDataV2: import("valibot").ObjectSchema
|
|
|
282
282
|
}>, import("valibot").BaseIssue<unknown>>, undefined>;
|
|
283
283
|
readonly digest: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, never>, never>;
|
|
284
284
|
}, undefined>;
|
|
285
|
-
export type SerializedTransactionDataV2 = InferOutput<typeof
|
|
285
|
+
export type SerializedTransactionDataV2 = InferOutput<typeof SerializedTransactionDataV2Schema>;
|
|
@@ -18,7 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var v2_exports = {};
|
|
20
20
|
__export(v2_exports, {
|
|
21
|
-
|
|
21
|
+
SerializedTransactionDataV2Schema: () => SerializedTransactionDataV2Schema
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(v2_exports);
|
|
24
24
|
var import_valibot = require("valibot");
|
|
@@ -38,7 +38,7 @@ const GasData = (0, import_valibot.object)({
|
|
|
38
38
|
budget: (0, import_valibot.nullable)(import_internal.JsonU64),
|
|
39
39
|
price: (0, import_valibot.nullable)(import_internal.JsonU64),
|
|
40
40
|
owner: (0, import_valibot.nullable)(import_internal.SuiAddress),
|
|
41
|
-
payment: (0, import_valibot.nullable)((0, import_valibot.array)(import_internal.
|
|
41
|
+
payment: (0, import_valibot.nullable)((0, import_valibot.array)(import_internal.ObjectRefSchema))
|
|
42
42
|
});
|
|
43
43
|
const ProgrammableMoveCall = (0, import_valibot.object)({
|
|
44
44
|
package: import_internal.ObjectID,
|
|
@@ -84,14 +84,14 @@ const Command = enumUnion({
|
|
|
84
84
|
$Intent
|
|
85
85
|
});
|
|
86
86
|
const ObjectArg = enumUnion({
|
|
87
|
-
ImmOrOwnedObject: import_internal.
|
|
87
|
+
ImmOrOwnedObject: import_internal.ObjectRefSchema,
|
|
88
88
|
SharedObject: (0, import_valibot.object)({
|
|
89
89
|
objectId: import_internal.ObjectID,
|
|
90
90
|
// snake case in rust
|
|
91
91
|
initialSharedVersion: import_internal.JsonU64,
|
|
92
92
|
mutable: (0, import_valibot.boolean)()
|
|
93
93
|
}),
|
|
94
|
-
Receiving: import_internal.
|
|
94
|
+
Receiving: import_internal.ObjectRefSchema
|
|
95
95
|
});
|
|
96
96
|
const CallArg = enumUnion({
|
|
97
97
|
Object: ObjectArg,
|
|
@@ -113,7 +113,7 @@ const TransactionExpiration = enumUnion({
|
|
|
113
113
|
None: (0, import_valibot.literal)(true),
|
|
114
114
|
Epoch: import_internal.JsonU64
|
|
115
115
|
});
|
|
116
|
-
const
|
|
116
|
+
const SerializedTransactionDataV2Schema = (0, import_valibot.object)({
|
|
117
117
|
version: (0, import_valibot.literal)(2),
|
|
118
118
|
sender: (0, import_valibot.nullish)(import_internal.SuiAddress),
|
|
119
119
|
expiration: (0, import_valibot.nullish)(TransactionExpiration),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/transactions/data/v2.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { EnumInputShape } from '@mysten/bcs';\nimport type { GenericSchema, InferInput, InferOutput } from 'valibot';\nimport {\n\tarray,\n\tboolean,\n\tinteger,\n\tliteral,\n\tnullable,\n\tnullish,\n\tnumber,\n\tobject,\n\toptional,\n\tpipe,\n\trecord,\n\tstring,\n\ttuple,\n\tunion,\n\tunknown,\n} from 'valibot';\n\nimport { BCSBytes, JsonU64, ObjectID,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAgBO;AAEP,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { EnumInputShape } from '@mysten/bcs';\nimport type { GenericSchema, InferInput, InferOutput } from 'valibot';\nimport {\n\tarray,\n\tboolean,\n\tinteger,\n\tliteral,\n\tnullable,\n\tnullish,\n\tnumber,\n\tobject,\n\toptional,\n\tpipe,\n\trecord,\n\tstring,\n\ttuple,\n\tunion,\n\tunknown,\n} from 'valibot';\n\nimport { BCSBytes, JsonU64, ObjectID, ObjectRefSchema, SuiAddress } from './internal.js';\nimport type { Simplify } from '@mysten/utils';\n\nfunction enumUnion<T extends Record<string, GenericSchema<any>>>(options: T) {\n\treturn union(\n\t\tObject.entries(options).map(([key, value]) => object({ [key]: value })),\n\t) as GenericSchema<\n\t\tEnumInputShape<\n\t\t\tSimplify<{\n\t\t\t\t[K in keyof T]: InferInput<T[K]>;\n\t\t\t}>\n\t\t>\n\t>;\n}\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L690-L702\nconst Argument = enumUnion({\n\tGasCoin: literal(true),\n\tInput: pipe(number(), integer()),\n\tResult: pipe(number(), integer()),\n\tNestedResult: tuple([pipe(number(), integer()), pipe(number(), integer())]),\n});\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L1387-L1392\nconst GasData = object({\n\tbudget: nullable(JsonU64),\n\tprice: nullable(JsonU64),\n\towner: nullable(SuiAddress),\n\tpayment: nullable(array(ObjectRefSchema)),\n});\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});\n\nconst $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\nconst Command = enumUnion({\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\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L102-L114\nconst ObjectArg = enumUnion({\n\tImmOrOwnedObject: ObjectRefSchema,\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: ObjectRefSchema,\n});\n\n// https://github.com/MystenLabs/sui/blob/df41d5fa8127634ff4285671a01ead00e519f806/crates/sui-types/src/transaction.rs#L75-L80\nconst CallArg = enumUnion({\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\tmutable: optional(nullable(boolean())),\n\t}),\n});\n\nconst TransactionExpiration = enumUnion({\n\tNone: literal(true),\n\tEpoch: JsonU64,\n});\n\nexport const SerializedTransactionDataV2Schema = 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\tdigest: optional(nullable(string())),\n});\n\nexport type SerializedTransactionDataV2 = InferOutput<typeof SerializedTransactionDataV2Schema>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -18,7 +18,7 @@ export declare class CachingTransactionExecutor {
|
|
|
18
18
|
reset(): Promise<void>;
|
|
19
19
|
buildTransaction({ transaction, ...options }: {
|
|
20
20
|
transaction: Transaction;
|
|
21
|
-
} & BuildTransactionOptions): Promise<Uint8Array<
|
|
21
|
+
} & BuildTransactionOptions): Promise<Uint8Array<ArrayBuffer>>;
|
|
22
22
|
executeTransaction({ transaction, options, ...input }: {
|
|
23
23
|
transaction: Transaction | Uint8Array;
|
|
24
24
|
} & Omit<ExecuteTransactionBlockParams, 'transactionBlock'>): Promise<import("../../client/index.js").SuiTransactionBlockResponse>;
|
|
@@ -12,7 +12,7 @@ export declare class SerialTransactionExecutor {
|
|
|
12
12
|
defaultGasBudget?: bigint;
|
|
13
13
|
});
|
|
14
14
|
applyEffects(effects: typeof bcs.TransactionEffects.$inferType): Promise<void>;
|
|
15
|
-
buildTransaction(transaction: Transaction): Promise<Uint8Array<
|
|
15
|
+
buildTransaction(transaction: Transaction): Promise<Uint8Array<ArrayBuffer>>;
|
|
16
16
|
resetCache(): Promise<void>;
|
|
17
17
|
waitForLastTransaction(): Promise<void>;
|
|
18
18
|
executeTransaction(transaction: Transaction | Uint8Array, options?: SuiTransactionBlockResponseOptions, additionalSignatures?: string[]): Promise<{
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { SuiMoveNormalizedType } from '../client/index.js';
|
|
2
|
-
import { Argument } from './data/internal.js';
|
|
3
|
-
import type { CallArg } from './data/internal.js';
|
|
2
|
+
import type { Argument, CallArg } from './data/internal.js';
|
|
4
3
|
export declare function extractMutableReference(normalizedType: SuiMoveNormalizedType): SuiMoveNormalizedType | undefined;
|
|
5
4
|
export declare function extractReference(normalizedType: SuiMoveNormalizedType): SuiMoveNormalizedType | undefined;
|
|
6
5
|
export declare function extractStructTag(normalizedType: SuiMoveNormalizedType): Extract<SuiMoveNormalizedType, {
|
|
@@ -67,6 +67,6 @@ function getIdFromCallArg(arg) {
|
|
|
67
67
|
return void 0;
|
|
68
68
|
}
|
|
69
69
|
function isArgument(value) {
|
|
70
|
-
return (0, import_valibot.is)(import_internal.
|
|
70
|
+
return (0, import_valibot.is)(import_internal.ArgumentSchema, value);
|
|
71
71
|
}
|
|
72
72
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/transactions/utils.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { is } from 'valibot';\n\nimport type { SuiMoveNormalizedType } from '../client/index.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAmB;AAGnB,uBAAoC;AACpC,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { is } from 'valibot';\n\nimport type { SuiMoveNormalizedType } from '../client/index.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport { ArgumentSchema } from './data/internal.js';\nimport type { Argument, CallArg } from './data/internal.js';\n\nexport function extractMutableReference(\n\tnormalizedType: SuiMoveNormalizedType,\n): SuiMoveNormalizedType | undefined {\n\treturn typeof normalizedType === 'object' && 'MutableReference' in normalizedType\n\t\t? normalizedType.MutableReference\n\t\t: undefined;\n}\n\nexport function extractReference(\n\tnormalizedType: SuiMoveNormalizedType,\n): SuiMoveNormalizedType | undefined {\n\treturn typeof normalizedType === 'object' && 'Reference' in normalizedType\n\t\t? normalizedType.Reference\n\t\t: undefined;\n}\n\nexport function extractStructTag(\n\tnormalizedType: SuiMoveNormalizedType,\n): Extract<SuiMoveNormalizedType, { Struct: unknown }> | undefined {\n\tif (typeof normalizedType === 'object' && 'Struct' in normalizedType) {\n\t\treturn normalizedType;\n\t}\n\n\tconst ref = extractReference(normalizedType);\n\tconst mutRef = extractMutableReference(normalizedType);\n\n\tif (typeof ref === 'object' && 'Struct' in ref) {\n\t\treturn ref;\n\t}\n\n\tif (typeof mutRef === 'object' && 'Struct' in mutRef) {\n\t\treturn mutRef;\n\t}\n\treturn undefined;\n}\n\nexport function getIdFromCallArg(arg: string | CallArg) {\n\tif (typeof arg === 'string') {\n\t\treturn normalizeSuiAddress(arg);\n\t}\n\n\tif (arg.Object) {\n\t\tif (arg.Object.ImmOrOwnedObject) {\n\t\t\treturn normalizeSuiAddress(arg.Object.ImmOrOwnedObject.objectId);\n\t\t}\n\n\t\tif (arg.Object.Receiving) {\n\t\t\treturn normalizeSuiAddress(arg.Object.Receiving.objectId);\n\t\t}\n\n\t\treturn normalizeSuiAddress(arg.Object.SharedObject.objectId);\n\t}\n\n\tif (arg.UnresolvedObject) {\n\t\treturn normalizeSuiAddress(arg.UnresolvedObject.objectId);\n\t}\n\n\treturn undefined;\n}\n\nexport function isArgument(value: unknown): value is Argument {\n\treturn is(ArgumentSchema, value);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAmB;AAGnB,uBAAoC;AACpC,sBAA+B;AAGxB,SAAS,wBACf,gBACoC;AACpC,SAAO,OAAO,mBAAmB,YAAY,sBAAsB,iBAChE,eAAe,mBACf;AACJ;AAEO,SAAS,iBACf,gBACoC;AACpC,SAAO,OAAO,mBAAmB,YAAY,eAAe,iBACzD,eAAe,YACf;AACJ;AAEO,SAAS,iBACf,gBACkE;AAClE,MAAI,OAAO,mBAAmB,YAAY,YAAY,gBAAgB;AACrE,WAAO;AAAA,EACR;AAEA,QAAM,MAAM,iBAAiB,cAAc;AAC3C,QAAM,SAAS,wBAAwB,cAAc;AAErD,MAAI,OAAO,QAAQ,YAAY,YAAY,KAAK;AAC/C,WAAO;AAAA,EACR;AAEA,MAAI,OAAO,WAAW,YAAY,YAAY,QAAQ;AACrD,WAAO;AAAA,EACR;AACA,SAAO;AACR;AAEO,SAAS,iBAAiB,KAAuB;AACvD,MAAI,OAAO,QAAQ,UAAU;AAC5B,eAAO,sCAAoB,GAAG;AAAA,EAC/B;AAEA,MAAI,IAAI,QAAQ;AACf,QAAI,IAAI,OAAO,kBAAkB;AAChC,iBAAO,sCAAoB,IAAI,OAAO,iBAAiB,QAAQ;AAAA,IAChE;AAEA,QAAI,IAAI,OAAO,WAAW;AACzB,iBAAO,sCAAoB,IAAI,OAAO,UAAU,QAAQ;AAAA,IACzD;AAEA,eAAO,sCAAoB,IAAI,OAAO,aAAa,QAAQ;AAAA,EAC5D;AAEA,MAAI,IAAI,kBAAkB;AACzB,eAAO,sCAAoB,IAAI,iBAAiB,QAAQ;AAAA,EACzD;AAEA,SAAO;AACR;AAEO,SAAS,WAAW,OAAmC;AAC7D,aAAO,mBAAG,gCAAgB,KAAK;AAChC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|