@mysten/sui 2.27.1 → 2.28.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 +14 -0
- package/dist/bcs/bcs.d.mts +6 -6
- package/dist/bcs/bcs.d.mts.map +1 -1
- package/dist/bcs/bcs.mjs +29 -2
- package/dist/bcs/bcs.mjs.map +1 -1
- package/dist/bcs/effects.mjs +2 -1
- package/dist/bcs/effects.mjs.map +1 -1
- package/dist/bcs/index.d.mts +137 -41
- package/dist/bcs/index.d.mts.map +1 -1
- package/dist/bcs/transactions.mjs +2 -1
- package/dist/bcs/transactions.mjs.map +1 -1
- package/dist/client/transaction-resolver.mjs +45 -9
- package/dist/client/transaction-resolver.mjs.map +1 -1
- package/dist/cryptography/signature.d.mts +14 -14
- package/dist/grpc/proto/sui/forking/v1alpha/forking_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/execution_status.d.mts +9 -1
- package/dist/grpc/proto/sui/rpc/v2/execution_status.d.mts.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/execution_status.mjs +8 -0
- package/dist/grpc/proto/sui/rpc/v2/execution_status.mjs.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/ledger_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/move_package_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/name_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/state_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/subscription_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/transaction.d.mts +50 -2
- package/dist/grpc/proto/sui/rpc/v2/transaction.d.mts.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/transaction.mjs +36 -1
- package/dist/grpc/proto/sui/rpc/v2/transaction.mjs.map +1 -1
- package/dist/grpc/proto/types.d.mts +2 -2
- package/dist/grpc/proto/types.mjs +2 -1
- package/dist/transactions/Transaction.d.mts +21 -9
- package/dist/transactions/Transaction.d.mts.map +1 -1
- package/dist/transactions/data/internal.d.mts +133 -109
- package/dist/transactions/data/internal.d.mts.map +1 -1
- package/dist/transactions/data/internal.mjs +11 -2
- package/dist/transactions/data/internal.mjs.map +1 -1
- package/dist/transactions/data/v1.d.mts +242 -220
- package/dist/transactions/data/v1.d.mts.map +1 -1
- package/dist/transactions/data/v1.mjs +27 -4
- package/dist/transactions/data/v1.mjs.map +1 -1
- package/dist/transactions/data/v2.d.mts +28 -16
- package/dist/transactions/data/v2.d.mts.map +1 -1
- package/dist/transactions/data/v2.mjs +3 -2
- package/dist/transactions/data/v2.mjs.map +1 -1
- package/dist/version.mjs +1 -1
- package/dist/version.mjs.map +1 -1
- package/dist/zklogin/bcs.d.mts +14 -14
- package/package.json +1 -1
- package/src/bcs/bcs.ts +45 -0
- package/src/bcs/effects.ts +3 -0
- package/src/bcs/transactions.ts +1 -0
- package/src/bcs/types.ts +10 -1
- package/src/client/transaction-resolver.ts +79 -9
- package/src/grpc/proto/sui/rpc/v2/execution_status.ts +8 -0
- package/src/grpc/proto/sui/rpc/v2/transaction.ts +68 -0
- package/src/transactions/data/internal.ts +19 -0
- package/src/transactions/data/v1.ts +51 -12
- package/src/transactions/data/v2.ts +2 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1.mjs","names":[],"sources":["../../../src/transactions/data/v1.ts"],"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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"v1.mjs","names":[],"sources":["../../../src/transactions/data/v1.ts"],"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 {\n\tJsonU64,\n\tObjectID,\n\tsafeEnum,\n\tTransactionDataSchema,\n\tValidDuringSchema,\n\tValiditySchema,\n} 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\n// Carried here rather than collapsed to `{ None: true }`, which silently dropped the expiration\n// (and its allowed proposers) from a `serialize()` -> `from()` round trip before signing.\nconst TransactionExpiration = union([\n\tobject({ Epoch: pipe(number(), integer()) }),\n\tobject({ None: nullable(literal(true)) }),\n\tobject({ ValidDuring: ValidDuringSchema }),\n\tobject({ Validity: ValiditySchema }),\n]);\n\nfunction expirationToV1(\n\texpiration: TransactionData['expiration'],\n): InferOutput<typeof TransactionExpiration> | null {\n\tif (!expiration) return null;\n\n\tswitch (expiration.$kind) {\n\t\tcase 'Epoch':\n\t\t\treturn { Epoch: Number(expiration.Epoch) };\n\t\tcase 'ValidDuring':\n\t\t\treturn { ValidDuring: expiration.ValidDuring };\n\t\tcase 'Validity':\n\t\t\treturn { Validity: expiration.Validity };\n\t\tcase 'None':\n\t\t\treturn { None: true };\n\t\tdefault:\n\t\t\t// Representing a new variant here is not optional: this fails to compile without it.\n\t\t\texpiration satisfies never;\n\t\t\tthrow new Error(`Unknown transaction expiration: ${JSON.stringify(expiration)}`);\n\t}\n}\n\nfunction expirationFromV1(\n\texpiration: SerializedTransactionDataV1['expiration'],\n): InferInput<typeof TransactionDataSchema>['expiration'] {\n\tif (!expiration) return null;\n\tif ('Epoch' in expiration) return { Epoch: expiration.Epoch };\n\tif ('ValidDuring' in expiration) return { ValidDuring: expiration.ValidDuring };\n\tif ('Validity' in expiration) return { Validity: expiration.Validity };\n\tif ('None' in expiration) return { None: true };\n\n\t// `restore` does not validate v1 payloads against the schema, so this is the only place an\n\t// unrecognised expiration can be caught rather than silently becoming `{ None: true }`.\n\tthrow new Error(\n\t\t`Unknown transaction expiration in v1 transaction data: ${Object.keys(expiration).join(', ')}`,\n\t);\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: expirationToV1(transactionData.expiration),\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: expirationFromV1(data.expiration),\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"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EnumInputShape } from "@mysten/bcs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as valibot1337 from "valibot";
|
|
3
3
|
import { GenericSchema, InferOutput } from "valibot";
|
|
4
4
|
|
|
5
5
|
//#region src/transactions/data/v2.d.ts
|
|
6
|
-
declare const SerializedTransactionDataV2Schema:
|
|
7
|
-
readonly version:
|
|
8
|
-
readonly sender:
|
|
9
|
-
readonly expiration:
|
|
6
|
+
declare const SerializedTransactionDataV2Schema: valibot1337.ObjectSchema<{
|
|
7
|
+
readonly version: valibot1337.LiteralSchema<2, undefined>;
|
|
8
|
+
readonly sender: valibot1337.NullishSchema<valibot1337.SchemaWithPipe<readonly [valibot1337.StringSchema<undefined>, valibot1337.TransformAction<string, string>, valibot1337.CheckAction<string, undefined>]>, undefined>;
|
|
9
|
+
readonly expiration: valibot1337.NullishSchema<GenericSchema<EnumInputShape<{
|
|
10
10
|
None: true;
|
|
11
11
|
Epoch: string | number;
|
|
12
12
|
ValidDuring: {
|
|
@@ -17,18 +17,30 @@ declare const SerializedTransactionDataV2Schema: valibot0.ObjectSchema<{
|
|
|
17
17
|
chain: string;
|
|
18
18
|
nonce: number;
|
|
19
19
|
};
|
|
20
|
+
Validity: {
|
|
21
|
+
allowedProposers: {
|
|
22
|
+
epoch: string | number;
|
|
23
|
+
proposers: number[];
|
|
24
|
+
} | null;
|
|
25
|
+
minEpoch: string | number | null;
|
|
26
|
+
maxEpoch: string | number | null;
|
|
27
|
+
minTimestamp: string | number | null;
|
|
28
|
+
maxTimestamp: string | number | null;
|
|
29
|
+
chain: string;
|
|
30
|
+
nonce: number;
|
|
31
|
+
};
|
|
20
32
|
}>>, undefined>;
|
|
21
|
-
readonly gasData:
|
|
22
|
-
readonly budget:
|
|
23
|
-
readonly price:
|
|
24
|
-
readonly owner:
|
|
25
|
-
readonly payment:
|
|
26
|
-
readonly objectId:
|
|
27
|
-
readonly version:
|
|
28
|
-
readonly digest:
|
|
33
|
+
readonly gasData: valibot1337.ObjectSchema<{
|
|
34
|
+
readonly budget: valibot1337.NullableSchema<valibot1337.SchemaWithPipe<readonly [valibot1337.UnionSchema<[valibot1337.StringSchema<undefined>, valibot1337.SchemaWithPipe<readonly [valibot1337.NumberSchema<undefined>, valibot1337.IntegerAction<number, undefined>]>], undefined>, valibot1337.CheckAction<string | number, "Invalid u64">]>, undefined>;
|
|
35
|
+
readonly price: valibot1337.NullableSchema<valibot1337.SchemaWithPipe<readonly [valibot1337.UnionSchema<[valibot1337.StringSchema<undefined>, valibot1337.SchemaWithPipe<readonly [valibot1337.NumberSchema<undefined>, valibot1337.IntegerAction<number, undefined>]>], undefined>, valibot1337.CheckAction<string | number, "Invalid u64">]>, undefined>;
|
|
36
|
+
readonly owner: valibot1337.NullableSchema<valibot1337.SchemaWithPipe<readonly [valibot1337.StringSchema<undefined>, valibot1337.TransformAction<string, string>, valibot1337.CheckAction<string, undefined>]>, undefined>;
|
|
37
|
+
readonly payment: valibot1337.NullableSchema<valibot1337.ArraySchema<valibot1337.ObjectSchema<{
|
|
38
|
+
readonly objectId: valibot1337.SchemaWithPipe<readonly [valibot1337.StringSchema<undefined>, valibot1337.TransformAction<string, string>, valibot1337.CheckAction<string, undefined>]>;
|
|
39
|
+
readonly version: valibot1337.SchemaWithPipe<readonly [valibot1337.UnionSchema<[valibot1337.StringSchema<undefined>, valibot1337.SchemaWithPipe<readonly [valibot1337.NumberSchema<undefined>, valibot1337.IntegerAction<number, undefined>]>], undefined>, valibot1337.CheckAction<string | number, "Invalid u64">]>;
|
|
40
|
+
readonly digest: valibot1337.StringSchema<undefined>;
|
|
29
41
|
}, undefined>, undefined>, undefined>;
|
|
30
42
|
}, undefined>;
|
|
31
|
-
readonly inputs:
|
|
43
|
+
readonly inputs: valibot1337.ArraySchema<GenericSchema<EnumInputShape<{
|
|
32
44
|
Object: EnumInputShape<{
|
|
33
45
|
ImmOrOwnedObject: {
|
|
34
46
|
objectId: string;
|
|
@@ -73,7 +85,7 @@ declare const SerializedTransactionDataV2Schema: valibot0.ObjectSchema<{
|
|
|
73
85
|
};
|
|
74
86
|
};
|
|
75
87
|
}>>, undefined>;
|
|
76
|
-
readonly commands:
|
|
88
|
+
readonly commands: valibot1337.ArraySchema<GenericSchema<EnumInputShape<{
|
|
77
89
|
MoveCall: {
|
|
78
90
|
package: string;
|
|
79
91
|
module: string;
|
|
@@ -172,7 +184,7 @@ declare const SerializedTransactionDataV2Schema: valibot0.ObjectSchema<{
|
|
|
172
184
|
};
|
|
173
185
|
};
|
|
174
186
|
}>>, undefined>;
|
|
175
|
-
readonly digest:
|
|
187
|
+
readonly digest: valibot1337.OptionalSchema<valibot1337.NullableSchema<valibot1337.StringSchema<undefined>, undefined>, undefined>;
|
|
176
188
|
}, undefined>;
|
|
177
189
|
type SerializedTransactionDataV2 = InferOutput<typeof SerializedTransactionDataV2Schema>;
|
|
178
190
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2.d.mts","names":[],"sources":["../../../src/transactions/data/v2.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"v2.d.mts","names":[],"sources":["../../../src/transactions/data/v2.ts"],"mappings":";;;;;cAqJa,iCAAA,cAAiC,YAAA;EAAA,kBAQ5C,WAAA,CAAA,aAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEU,2BAAA,GAA8B,WAAA,QAAmB,iCAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BCSBytes, FundsWithdrawalArgSchema, JsonU64, ObjectID, ObjectRefSchema, SuiAddress, ValidDuringSchema } from "./internal.mjs";
|
|
1
|
+
import { BCSBytes, FundsWithdrawalArgSchema, JsonU64, ObjectID, ObjectRefSchema, SuiAddress, ValidDuringSchema, ValiditySchema } from "./internal.mjs";
|
|
2
2
|
import { array, boolean, integer, literal, nullable, nullish, number, object, optional, pipe, record, string, tuple, union, unknown } from "valibot";
|
|
3
3
|
|
|
4
4
|
//#region src/transactions/data/v2.ts
|
|
@@ -83,7 +83,8 @@ const CallArg = enumUnion({
|
|
|
83
83
|
const TransactionExpiration = enumUnion({
|
|
84
84
|
None: literal(true),
|
|
85
85
|
Epoch: JsonU64,
|
|
86
|
-
ValidDuring: ValidDuringSchema
|
|
86
|
+
ValidDuring: ValidDuringSchema,
|
|
87
|
+
Validity: ValiditySchema
|
|
87
88
|
});
|
|
88
89
|
const SerializedTransactionDataV2Schema = object({
|
|
89
90
|
version: literal(2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2.mjs","names":[],"sources":["../../../src/transactions/data/v2.ts"],"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 {\n\tBCSBytes,\n\tFundsWithdrawalArgSchema,\n\tJsonU64,\n\tObjectID,\n\tObjectRefSchema,\n\tSuiAddress,\n\tValidDuringSchema,\n} 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\tFundsWithdrawal: FundsWithdrawalArgSchema,\n});\n\nconst TransactionExpiration = enumUnion({\n\tNone: literal(true),\n\tEpoch: JsonU64,\n\tValidDuring: ValidDuringSchema,\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"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"v2.mjs","names":[],"sources":["../../../src/transactions/data/v2.ts"],"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 {\n\tBCSBytes,\n\tFundsWithdrawalArgSchema,\n\tJsonU64,\n\tObjectID,\n\tObjectRefSchema,\n\tSuiAddress,\n\tValidDuringSchema,\n\tValiditySchema,\n} 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\tFundsWithdrawal: FundsWithdrawalArgSchema,\n});\n\nconst TransactionExpiration = enumUnion({\n\tNone: literal(true),\n\tEpoch: JsonU64,\n\tValidDuring: ValidDuringSchema,\n\tValidity: ValiditySchema,\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"],"mappings":";;;;AAmCA,SAAS,UAAwD,SAAY;AAC5E,QAAO,MACN,OAAO,QAAQ,QAAQ,CAAC,KAAK,CAAC,KAAK,WAAW,OAAO,GAAG,MAAM,OAAO,CAAC,CAAC,CACvE;;AAUF,MAAM,WAAW,UAAU;CAC1B,SAAS,QAAQ,KAAK;CACtB,OAAO,KAAK,QAAQ,EAAE,SAAS,CAAC;CAChC,QAAQ,KAAK,QAAQ,EAAE,SAAS,CAAC;CACjC,cAAc,MAAM,CAAC,KAAK,QAAQ,EAAE,SAAS,CAAC,EAAE,KAAK,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;CAC3E,CAAC;AAGF,MAAM,UAAU,OAAO;CACtB,QAAQ,SAAS,QAAQ;CACzB,OAAO,SAAS,QAAQ;CACxB,OAAO,SAAS,WAAW;CAC3B,SAAS,SAAS,MAAM,gBAAgB,CAAC;CACzC,CAAC;AAGF,MAAM,uBAAuB,OAAO;CACnC,SAAS;CACT,QAAQ,QAAQ;CAChB,UAAU,QAAQ;CAElB,eAAe,MAAM,QAAQ,CAAC;CAC9B,WAAW,MAAM,SAAS;CAC1B,CAAC;AAEF,MAAM,UAAU,OAAO;CACtB,MAAM,QAAQ;CACd,QAAQ,OAAO,QAAQ,EAAE,MAAM,CAAC,UAAU,MAAM,SAAS,CAAC,CAAC,CAAC;CAC5D,MAAM,OAAO,QAAQ,EAAE,SAAS,CAAC;CACjC,CAAC;AAGF,MAAM,UAAU,UAAU;CACzB,UAAU;CACV,iBAAiB,OAAO;EACvB,SAAS,MAAM,SAAS;EACxB,SAAS;EACT,CAAC;CACF,YAAY,OAAO;EAClB,MAAM;EACN,SAAS,MAAM,SAAS;EACxB,CAAC;CACF,YAAY,OAAO;EAClB,aAAa;EACb,SAAS,MAAM,SAAS;EACxB,CAAC;CACF,SAAS,OAAO;EACf,SAAS,MAAM,SAAS;EACxB,cAAc,MAAM,SAAS;EAC7B,CAAC;CACF,aAAa,OAAO;EACnB,MAAM,SAAS,QAAQ,CAAC;EACxB,UAAU,MAAM,SAAS;EACzB,CAAC;CACF,SAAS,OAAO;EACf,SAAS,MAAM,SAAS;EACxB,cAAc,MAAM,SAAS;EAC7B,SAAS;EACT,QAAQ;EACR,CAAC;CACF;CACA,CAAC;AAeF,MAAM,UAAU,UAAU;CACzB,QAbiB,UAAU;EAC3B,kBAAkB;EAClB,cAAc,OAAO;GACpB,UAAU;GAEV,sBAAsB;GACtB,SAAS,SAAS;GAClB,CAAC;EACF,WAAW;EACX,CAAC;CAKD,MAAM,OAAO,EACZ,OAAO,UACP,CAAC;CACF,gBAAgB,OAAO,EACtB,OAAO,SAAS,EAChB,CAAC;CACF,kBAAkB,OAAO;EACxB,UAAU;EACV,SAAS,SAAS,SAAS,QAAQ,CAAC;EACpC,QAAQ,SAAS,SAAS,QAAQ,CAAC,CAAC;EACpC,sBAAsB,SAAS,SAAS,QAAQ,CAAC;EACjD,SAAS,SAAS,SAAS,SAAS,CAAC,CAAC;EACtC,CAAC;CACF,iBAAiB;CACjB,CAAC;AAEF,MAAM,wBAAwB,UAAU;CACvC,MAAM,QAAQ,KAAK;CACnB,OAAO;CACP,aAAa;CACb,UAAU;CACV,CAAC;AAEF,MAAa,oCAAoC,OAAO;CACvD,SAAS,QAAQ,EAAE;CACnB,QAAQ,QAAQ,WAAW;CAC3B,YAAY,QAAQ,sBAAsB;CAC1C,SAAS;CACT,QAAQ,MAAM,QAAQ;CACtB,UAAU,MAAM,QAAQ;CACxB,QAAQ,SAAS,SAAS,QAAQ,CAAC,CAAC;CACpC,CAAC"}
|
package/dist/version.mjs
CHANGED
package/dist/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","names":[],"sources":["../src/version.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '2.
|
|
1
|
+
{"version":3,"file":"version.mjs","names":[],"sources":["../src/version.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '2.28.0';\n"],"mappings":";AAKA,MAAa,kBAAkB"}
|
package/dist/zklogin/bcs.d.mts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _mysten_bcs1245 from "@mysten/bcs";
|
|
2
2
|
import { InferBcsInput } from "@mysten/bcs";
|
|
3
3
|
|
|
4
4
|
//#region src/zklogin/bcs.d.ts
|
|
5
|
-
declare const zkLoginSignature:
|
|
6
|
-
inputs:
|
|
7
|
-
proofPoints:
|
|
8
|
-
a:
|
|
5
|
+
declare const zkLoginSignature: _mysten_bcs1245.BcsStruct<{
|
|
6
|
+
inputs: _mysten_bcs1245.BcsStruct<{
|
|
7
|
+
proofPoints: _mysten_bcs1245.BcsStruct<{
|
|
8
|
+
a: _mysten_bcs1245.BcsType<string[], Iterable<string> & {
|
|
9
9
|
length: number;
|
|
10
10
|
}, string>;
|
|
11
|
-
b:
|
|
11
|
+
b: _mysten_bcs1245.BcsType<string[][], Iterable<Iterable<string> & {
|
|
12
12
|
length: number;
|
|
13
13
|
}> & {
|
|
14
14
|
length: number;
|
|
15
15
|
}, string>;
|
|
16
|
-
c:
|
|
16
|
+
c: _mysten_bcs1245.BcsType<string[], Iterable<string> & {
|
|
17
17
|
length: number;
|
|
18
18
|
}, string>;
|
|
19
19
|
}, string>;
|
|
20
|
-
issBase64Details:
|
|
21
|
-
value:
|
|
22
|
-
indexMod4:
|
|
20
|
+
issBase64Details: _mysten_bcs1245.BcsStruct<{
|
|
21
|
+
value: _mysten_bcs1245.BcsType<string, string, "string">;
|
|
22
|
+
indexMod4: _mysten_bcs1245.BcsType<number, number, "u8">;
|
|
23
23
|
}, string>;
|
|
24
|
-
headerBase64:
|
|
25
|
-
addressSeed:
|
|
24
|
+
headerBase64: _mysten_bcs1245.BcsType<string, string, "string">;
|
|
25
|
+
addressSeed: _mysten_bcs1245.BcsType<string, string, "string">;
|
|
26
26
|
}, string>;
|
|
27
|
-
maxEpoch:
|
|
28
|
-
userSignature:
|
|
27
|
+
maxEpoch: _mysten_bcs1245.BcsType<string, string | number | bigint, "u64">;
|
|
28
|
+
userSignature: _mysten_bcs1245.BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
|
|
29
29
|
}, string>;
|
|
30
30
|
type ZkLoginSignature = InferBcsInput<typeof zkLoginSignature>;
|
|
31
31
|
type ZkLoginSignatureInputs = ZkLoginSignature['inputs'];
|
package/package.json
CHANGED
package/src/bcs/bcs.ts
CHANGED
|
@@ -238,10 +238,55 @@ export const ValidDuring = bcs.struct('ValidDuring', {
|
|
|
238
238
|
nonce: bcs.u32(),
|
|
239
239
|
});
|
|
240
240
|
|
|
241
|
+
export function assertAllowedProposersNotEmpty(proposers: number[]) {
|
|
242
|
+
if (proposers.length === 0) {
|
|
243
|
+
throw new Error('Allowed proposers must not be empty');
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
return proposers;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export function assertAllowedProposersStrictlyIncreasing(proposers: number[]) {
|
|
250
|
+
assertAllowedProposersNotEmpty(proposers);
|
|
251
|
+
|
|
252
|
+
for (let i = 1; i < proposers.length; i++) {
|
|
253
|
+
if (proposers[i] <= proposers[i - 1]) {
|
|
254
|
+
throw new Error('Allowed proposers must be strictly increasing');
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
return proposers;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// Upstream only checks sortedness in `validity_check`, on submission, so decoding an unsorted
|
|
262
|
+
// set must succeed. Empty is a deserialization error there, and here.
|
|
263
|
+
const AllowedProposerIndices = bcs.vector(bcs.u32()).transform({
|
|
264
|
+
input: assertAllowedProposersStrictlyIncreasing,
|
|
265
|
+
output: assertAllowedProposersNotEmpty,
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
// Rust: crates/sui-types/src/transaction.rs
|
|
269
|
+
export const AllowedProposers = bcs.struct('AllowedProposers', {
|
|
270
|
+
epoch: bcs.u64(),
|
|
271
|
+
proposers: AllowedProposerIndices,
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
// Rust: crates/sui-types/src/transaction.rs
|
|
275
|
+
export const Validity = bcs.struct('Validity', {
|
|
276
|
+
minEpoch: bcs.option(bcs.u64()),
|
|
277
|
+
maxEpoch: bcs.option(bcs.u64()),
|
|
278
|
+
minTimestamp: bcs.option(bcs.u64()),
|
|
279
|
+
maxTimestamp: bcs.option(bcs.u64()),
|
|
280
|
+
chain: ObjectDigest,
|
|
281
|
+
nonce: bcs.u32(),
|
|
282
|
+
allowedProposers: bcs.option(AllowedProposers),
|
|
283
|
+
});
|
|
284
|
+
|
|
241
285
|
export const TransactionExpiration = bcs.enum('TransactionExpiration', {
|
|
242
286
|
None: null,
|
|
243
287
|
Epoch: unsafe_u64(),
|
|
244
288
|
ValidDuring: ValidDuring,
|
|
289
|
+
Validity,
|
|
245
290
|
});
|
|
246
291
|
|
|
247
292
|
export const StructTag = bcs.struct('StructTag', {
|
package/src/bcs/effects.ts
CHANGED
|
@@ -55,6 +55,7 @@ const CommandArgumentError = bcs.enum('CommandArgumentError', {
|
|
|
55
55
|
CannotMoveBorrowedValue: null,
|
|
56
56
|
CannotWriteToExtendedReference: null,
|
|
57
57
|
InvalidReferenceArgument: null,
|
|
58
|
+
InvalidTxContext: null,
|
|
58
59
|
});
|
|
59
60
|
|
|
60
61
|
// Rust: crates/sui-types/src/execution_status.rs
|
|
@@ -139,6 +140,8 @@ const ExecutionFailureStatus = bcs.enum('ExecutionFailureStatus', {
|
|
|
139
140
|
maxScaledSize: bcs.u64(),
|
|
140
141
|
}),
|
|
141
142
|
InvalidLinkage: null,
|
|
143
|
+
// Upstream renamed this to `InsufficientFundsForWithdraw`; renaming the parsed `$kind` would
|
|
144
|
+
// break the public API, and the wire representation is unchanged either way.
|
|
142
145
|
InsufficientBalanceForWithdraw: null,
|
|
143
146
|
NonExclusiveWriteInputObjectModified: bcs.struct('NonExclusiveWriteInputObjectModified', {
|
|
144
147
|
id: Address,
|
package/src/bcs/transactions.ts
CHANGED
|
@@ -188,6 +188,7 @@ export const EndOfEpochTransactionKind = bcs.enum('EndOfEpochTransactionKind', {
|
|
|
188
188
|
DisplayRegistryCreate: null,
|
|
189
189
|
AddressAliasStateCreate: null,
|
|
190
190
|
WriteAccumulatorStorageCost: WriteAccumulatorStorageCost,
|
|
191
|
+
ForwardingAddressRegistryCreate: null,
|
|
191
192
|
});
|
|
192
193
|
|
|
193
194
|
// Rust: crates/sui-types/src/transaction.rs
|
package/src/bcs/types.ts
CHANGED
|
@@ -126,10 +126,19 @@ type ValidDuring = {
|
|
|
126
126
|
nonce: number;
|
|
127
127
|
};
|
|
128
128
|
|
|
129
|
+
type AllowedProposers = {
|
|
130
|
+
epoch: number | string;
|
|
131
|
+
proposers: number[];
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
type Validity = ValidDuring & {
|
|
135
|
+
allowedProposers: { None: null } | { Some: AllowedProposers };
|
|
136
|
+
};
|
|
137
|
+
|
|
129
138
|
/**
|
|
130
139
|
* TransactionExpiration
|
|
131
140
|
*
|
|
132
141
|
* Indications the expiration time for a transaction.
|
|
133
142
|
*/
|
|
134
143
|
export type TransactionExpiration =
|
|
135
|
-
{ None: null } | { Epoch: number } | { ValidDuring: ValidDuring };
|
|
144
|
+
{ None: null } | { Epoch: number } | { ValidDuring: ValidDuring } | { Validity: Validity };
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
import { fromBase64, toBase64 } from '@mysten/bcs';
|
|
5
5
|
|
|
6
6
|
import type { bcs } from '../bcs/index.js';
|
|
7
|
+
import {
|
|
8
|
+
assertAllowedProposersNotEmpty,
|
|
9
|
+
assertAllowedProposersStrictlyIncreasing,
|
|
10
|
+
} from '../bcs/bcs.js';
|
|
7
11
|
import { TransactionDataBuilder } from '../transactions/TransactionData.js';
|
|
8
12
|
import type {
|
|
9
13
|
CallArg,
|
|
@@ -23,6 +27,18 @@ import type { Argument } from '../grpc/proto/sui/rpc/v2/argument.js';
|
|
|
23
27
|
import { Argument_ArgumentKind } from '../grpc/proto/sui/rpc/v2/argument.js';
|
|
24
28
|
import { Transaction } from '../transactions/Transaction.js';
|
|
25
29
|
|
|
30
|
+
function millisecondsToGrpcTimestamp(value: string | number) {
|
|
31
|
+
const milliseconds = BigInt(value);
|
|
32
|
+
return {
|
|
33
|
+
seconds: milliseconds / 1000n,
|
|
34
|
+
nanos: Number(milliseconds % 1000n) * 1_000_000,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function grpcTimestampToMilliseconds(timestamp: { seconds: bigint; nanos: number }) {
|
|
39
|
+
return (timestamp.seconds * 1000n + BigInt(Math.floor(timestamp.nanos / 1_000_000))).toString();
|
|
40
|
+
}
|
|
41
|
+
|
|
26
42
|
/**
|
|
27
43
|
* Converts CallArg (TypeScript internal format) to gRPC Input format
|
|
28
44
|
*/
|
|
@@ -263,14 +279,36 @@ export function transactionDataToGrpcTransaction(data: TransactionData): GrpcTra
|
|
|
263
279
|
kind: TransactionExpiration_TransactionExpirationKind.EPOCH,
|
|
264
280
|
epoch: BigInt(data.expiration.Epoch),
|
|
265
281
|
};
|
|
266
|
-
} else if (data.expiration.$kind === 'ValidDuring') {
|
|
267
|
-
const
|
|
282
|
+
} else if (data.expiration.$kind === 'ValidDuring' || data.expiration.$kind === 'Validity') {
|
|
283
|
+
const validity =
|
|
284
|
+
data.expiration.$kind === 'ValidDuring'
|
|
285
|
+
? data.expiration.ValidDuring
|
|
286
|
+
: data.expiration.Validity;
|
|
287
|
+
const allowedProposers =
|
|
288
|
+
data.expiration.$kind === 'Validity' ? data.expiration.Validity.allowedProposers : null;
|
|
268
289
|
transaction.expiration = {
|
|
269
|
-
kind:
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
290
|
+
kind:
|
|
291
|
+
data.expiration.$kind === 'ValidDuring'
|
|
292
|
+
? TransactionExpiration_TransactionExpirationKind.VALID_DURING
|
|
293
|
+
: TransactionExpiration_TransactionExpirationKind.VALIDITY,
|
|
294
|
+
minEpoch: validity.minEpoch != null ? BigInt(validity.minEpoch) : undefined,
|
|
295
|
+
epoch: validity.maxEpoch != null ? BigInt(validity.maxEpoch) : undefined,
|
|
296
|
+
minTimestamp:
|
|
297
|
+
validity.minTimestamp != null
|
|
298
|
+
? millisecondsToGrpcTimestamp(validity.minTimestamp)
|
|
299
|
+
: undefined,
|
|
300
|
+
maxTimestamp:
|
|
301
|
+
validity.maxTimestamp != null
|
|
302
|
+
? millisecondsToGrpcTimestamp(validity.maxTimestamp)
|
|
303
|
+
: undefined,
|
|
304
|
+
chain: validity.chain,
|
|
305
|
+
nonce: validity.nonce,
|
|
306
|
+
allowedProposers: allowedProposers
|
|
307
|
+
? {
|
|
308
|
+
epoch: BigInt(allowedProposers.epoch),
|
|
309
|
+
proposers: assertAllowedProposersStrictlyIncreasing(allowedProposers.proposers),
|
|
310
|
+
}
|
|
311
|
+
: undefined,
|
|
274
312
|
};
|
|
275
313
|
}
|
|
276
314
|
}
|
|
@@ -529,13 +567,45 @@ export function grpcTransactionToTransactionData(grpcTx: GrpcTransaction): Trans
|
|
|
529
567
|
ValidDuring: {
|
|
530
568
|
minEpoch: grpcTx.expiration.minEpoch?.toString() ?? null,
|
|
531
569
|
maxEpoch: grpcTx.expiration.epoch?.toString() ?? null,
|
|
532
|
-
minTimestamp:
|
|
533
|
-
|
|
570
|
+
minTimestamp: grpcTx.expiration.minTimestamp
|
|
571
|
+
? grpcTimestampToMilliseconds(grpcTx.expiration.minTimestamp)
|
|
572
|
+
: null,
|
|
573
|
+
maxTimestamp: grpcTx.expiration.maxTimestamp
|
|
574
|
+
? grpcTimestampToMilliseconds(grpcTx.expiration.maxTimestamp)
|
|
575
|
+
: null,
|
|
576
|
+
chain: grpcTx.expiration.chain ?? '',
|
|
577
|
+
nonce: grpcTx.expiration.nonce ?? 0,
|
|
578
|
+
},
|
|
579
|
+
};
|
|
580
|
+
break;
|
|
581
|
+
case TransactionExpiration_TransactionExpirationKind.VALIDITY:
|
|
582
|
+
expiration = {
|
|
583
|
+
$kind: 'Validity',
|
|
584
|
+
Validity: {
|
|
585
|
+
minEpoch: grpcTx.expiration.minEpoch?.toString() ?? null,
|
|
586
|
+
maxEpoch: grpcTx.expiration.epoch?.toString() ?? null,
|
|
587
|
+
minTimestamp: grpcTx.expiration.minTimestamp
|
|
588
|
+
? grpcTimestampToMilliseconds(grpcTx.expiration.minTimestamp)
|
|
589
|
+
: null,
|
|
590
|
+
maxTimestamp: grpcTx.expiration.maxTimestamp
|
|
591
|
+
? grpcTimestampToMilliseconds(grpcTx.expiration.maxTimestamp)
|
|
592
|
+
: null,
|
|
534
593
|
chain: grpcTx.expiration.chain ?? '',
|
|
535
594
|
nonce: grpcTx.expiration.nonce ?? 0,
|
|
595
|
+
allowedProposers: grpcTx.expiration.allowedProposers
|
|
596
|
+
? {
|
|
597
|
+
epoch: grpcTx.expiration.allowedProposers.epoch?.toString() ?? '0',
|
|
598
|
+
proposers: assertAllowedProposersNotEmpty(
|
|
599
|
+
grpcTx.expiration.allowedProposers.proposers,
|
|
600
|
+
),
|
|
601
|
+
}
|
|
602
|
+
: null,
|
|
536
603
|
},
|
|
537
604
|
};
|
|
538
605
|
break;
|
|
606
|
+
default:
|
|
607
|
+
// Leaving `expiration` null here would drop a restriction the server did send.
|
|
608
|
+
throw new Error(`Unknown transaction expiration kind: ${grpcTx.expiration.kind}`);
|
|
539
609
|
}
|
|
540
610
|
}
|
|
541
611
|
|
|
@@ -727,6 +727,14 @@ export enum CommandArgumentError_CommandArgumentErrorKind {
|
|
|
727
727
|
* @generated from protobuf enum value: INVALID_REFERENCE_ARGUMENT = 19;
|
|
728
728
|
*/
|
|
729
729
|
INVALID_REFERENCE_ARGUMENT = 19,
|
|
730
|
+
/**
|
|
731
|
+
* Invalid usage of TxContext in the function signature. TxContext can only be used by
|
|
732
|
+
* reference, `&TxContext` or `&mut TxContext`. If used mutably, it must be the only
|
|
733
|
+
* TxContext parameter, and TxContext can never be returned from a Move call.
|
|
734
|
+
*
|
|
735
|
+
* @generated from protobuf enum value: INVALID_TX_CONTEXT = 20;
|
|
736
|
+
*/
|
|
737
|
+
INVALID_TX_CONTEXT = 20,
|
|
730
738
|
}
|
|
731
739
|
/**
|
|
732
740
|
* An error with upgrading a package.
|