@mysten/pas 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @mysten/pas
2
2
 
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c96956e: Regenerate generated Move types against the latest contract sources. The generated
8
+ `utils/index.ts` `GetOptions` / `GetManyOptions` are now exported as type aliases (intersection)
9
+ instead of interfaces. SuiNS gains `SubnamePrunedEvent`, `pruneExpiredSubname`, and
10
+ `pruneExpiredSubnames`.
11
+
3
12
  ## 0.0.3
4
13
 
5
14
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"versioning.mjs","names":["vec_set.VecSet"],"sources":["../../../src/contracts/pas/versioning.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Versioning module.\n *\n * This module is responsible for managing the versioning of the package.\n *\n * It allows for blocking specific versions of the package in case of emergency, or\n * to slowly deprecate an earlier feature.\n */\n\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nimport * as vec_set from './deps/sui/vec_set.js';\nconst $moduleName = '@mysten/pas::versioning';\nexport const Versioning = new MoveStruct({\n\tname: `${$moduleName}::Versioning`,\n\tfields: {\n\t\tblocked_versions: vec_set.VecSet(bcs.u64()),\n\t},\n});\nexport interface IsValidVersionArguments {\n\tversioning: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n}\nexport interface IsValidVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| IsValidVersionArguments\n\t\t| [\n\t\t\t\tversioning: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t ];\n}\n/** Verify that a version is not part of the blocked version list. */\nexport function isValidVersion(options: IsValidVersionOptions) {\n\tconst packageAddress = options.package ?? '@mysten/pas';\n\tconst argumentsTypes = [null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['versioning', 'version'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'versioning',\n\t\t\tfunction: 'is_valid_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AssertIsValidVersionArguments {\n\tversioning: RawTransactionArgument<string>;\n}\nexport interface AssertIsValidVersionOptions {\n\tpackage?: string;\n\targuments: AssertIsValidVersionArguments | [versioning: RawTransactionArgument<string>];\n}\nexport function assertIsValidVersion(options: AssertIsValidVersionOptions) {\n\tconst packageAddress = options.package ?? '@mysten/pas';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['versioning'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'versioning',\n\t\t\tfunction: 'assert_is_valid_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAM,cAAc;AACpB,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,kBAAkBA,OAAe,IAAI,KAAK,CAAC,EAC3C;CACD,CAAC"}
1
+ {"version":3,"file":"versioning.mjs","names":["vec_set.VecSet"],"sources":["../../../src/contracts/pas/versioning.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/**\n * Versioning module.\n *\n * This module is responsible for managing the versioning of the package.\n *\n * It allows for blocking specific versions of the package in case of emergency, or\n * to slowly deprecate an earlier feature.\n */\n\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as vec_set from './deps/sui/vec_set.js';\nconst $moduleName = '@mysten/pas::versioning';\nexport const Versioning = new MoveStruct({\n\tname: `${$moduleName}::Versioning`,\n\tfields: {\n\t\tblocked_versions: vec_set.VecSet(bcs.u64()),\n\t},\n});\nexport interface IsValidVersionArguments {\n\tversioning: TransactionArgument;\n\tversion: RawTransactionArgument<number | bigint>;\n}\nexport interface IsValidVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| IsValidVersionArguments\n\t\t| [versioning: TransactionArgument, version: RawTransactionArgument<number | bigint>];\n}\n/** Verify that a version is not part of the blocked version list. */\nexport function isValidVersion(options: IsValidVersionOptions) {\n\tconst packageAddress = options.package ?? '@mysten/pas';\n\tconst argumentsTypes = [null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['versioning', 'version'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'versioning',\n\t\t\tfunction: 'is_valid_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AssertIsValidVersionArguments {\n\tversioning: TransactionArgument;\n}\nexport interface AssertIsValidVersionOptions {\n\tpackage?: string;\n\targuments: AssertIsValidVersionArguments | [versioning: TransactionArgument];\n}\nexport function assertIsValidVersion(options: AssertIsValidVersionOptions) {\n\tconst packageAddress = options.package ?? '@mysten/pas';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['versioning'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'versioning',\n\t\t\tfunction: 'assert_is_valid_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAM,cAAc;AACpB,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ,EACP,kBAAkBA,OAAe,IAAI,KAAK,CAAC,EAC3C;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ptb.mjs","names":[],"sources":["../../../src/contracts/ptb/ptb.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Module: ptb */\n\nimport {\n\tMoveTuple,\n\tMoveStruct,\n\tMoveEnum,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n} from '../utils/index.js';\nimport { bcs, type BcsType } from '@mysten/sui/bcs';\nimport { type Transaction as Transaction_1 } from '@mysten/sui/transactions';\nconst $moduleName = '@mysten/ptb::ptb';\nexport const Command = new MoveTuple({\n\tname: `${$moduleName}::Command`,\n\tfields: [bcs.u8(), bcs.vector(bcs.u8())],\n});\nexport const Transaction = new MoveStruct({\n\tname: `${$moduleName}::Transaction`,\n\tfields: {\n\t\tcommands: bcs.vector(Command),\n\t},\n});\n/**\n * Defines a simplified `ObjectArg` type for the `Transaction`.\n *\n * Differences with canonical Sui `ObjectArg` type:\n *\n * - Uses `address` type as a fixed-length sequence of bytes without length prefix.\n * - Extends the number of variants to support off-chain resolution.\n */\nexport const ObjectArg = new MoveEnum({\n\tname: `${$moduleName}::ObjectArg`,\n\tfields: {\n\t\tImmOrOwnedObject: new MoveStruct({\n\t\t\tname: `ObjectArg.ImmOrOwnedObject`,\n\t\t\tfields: {\n\t\t\t\tobject_id: bcs.Address,\n\t\t\t\tsequence_number: bcs.u64(),\n\t\t\t\tdigest: bcs.Address,\n\t\t\t},\n\t\t}),\n\t\tSharedObject: new MoveStruct({\n\t\t\tname: `ObjectArg.SharedObject`,\n\t\t\tfields: {\n\t\t\t\tobject_id: bcs.Address,\n\t\t\t\tinitial_shared_version: bcs.u64(),\n\t\t\t\tis_mutable: bcs.bool(),\n\t\t\t},\n\t\t}),\n\t\tReceiving: new MoveStruct({\n\t\t\tname: `ObjectArg.Receiving`,\n\t\t\tfields: {\n\t\t\t\tobject_id: bcs.Address,\n\t\t\t\tsequence_number: bcs.u64(),\n\t\t\t\tdigest: bcs.Address,\n\t\t\t},\n\t\t}),\n\t\tExt: bcs.string(),\n\t},\n});\nexport const WithdrawFrom = new MoveEnum({\n\tname: `${$moduleName}::WithdrawFrom`,\n\tfields: {\n\t\tSender: null,\n\t\tSponsor: null,\n\t},\n});\n/**\n * Defines a simplified `CallArg` type for `Transaction`.\n *\n * Differences with canonical Sui `CallArg` type:\n *\n * - ObjectArg is a simplified, unresolved representation of Object arguments;\n * - Ext(...) is a custom extension for the `CallArg` which allows off-chain\n * resolvers to convert them into the appropriate values for context.\n */\nexport const CallArg = new MoveEnum({\n\tname: `${$moduleName}::CallArg`,\n\tfields: {\n\t\tPure: bcs.vector(bcs.u8()),\n\t\tObject: ObjectArg,\n\t\tFundsWithdrawal: new MoveStruct({\n\t\t\tname: `CallArg.FundsWithdrawal`,\n\t\t\tfields: {\n\t\t\t\tamount: bcs.u64(),\n\t\t\t\ttype_name: bcs.string(),\n\t\t\t\twithdraw_from: WithdrawFrom,\n\t\t\t},\n\t\t}),\n\t\t/**\n\t\t * Extended arguments for off-chain resolution. Can be created and registered in a\n\t\t * transaction through `ext_input`.\n\t\t *\n\t\t * Extended arguments are namespaced by Type associated with them. In an\n\t\t * application, this can be the root object, or a special type used for off chain\n\t\t * resolution.\n\t\t */\n\t\tExt: new MoveTuple({ name: `CallArg.Ext`, fields: [bcs.string(), bcs.string()] }),\n\t},\n});\n/** Defines a simplified `Argument` type for the `Transaction`. */\nexport const Argument = new MoveEnum({\n\tname: `${$moduleName}::Argument`,\n\tfields: {\n\t\tGasCoin: null,\n\t\tInput: CallArg,\n\t\tResult: bcs.u16(),\n\t\tNestedResult: new MoveTuple({ name: `Argument.NestedResult`, fields: [bcs.u16(), bcs.u16()] }),\n\t\t/**\n\t\t * Extended arguments for off-chain resolution. Cannot be constructed directly,\n\t\t * only through future extensions.\n\t\t */\n\t\tExt: bcs.vector(bcs.u8()),\n\t},\n});\nexport const MoveCall = new MoveStruct({\n\tname: `${$moduleName}::MoveCall`,\n\tfields: {\n\t\tpackage_id: bcs.string(),\n\t\tmodule_name: bcs.string(),\n\t\tfunction: bcs.string(),\n\t\targuments: bcs.vector(Argument),\n\t\ttype_arguments: bcs.vector(bcs.string()),\n\t},\n});\nexport const TransferObjects = new MoveStruct({\n\tname: `${$moduleName}::TransferObjects`,\n\tfields: {\n\t\tobjects: bcs.vector(Argument),\n\t\tto: Argument,\n\t},\n});\nexport const SplitCoins = new MoveStruct({\n\tname: `${$moduleName}::SplitCoins`,\n\tfields: {\n\t\tcoin: Argument,\n\t\tamounts: bcs.vector(Argument),\n\t},\n});\nexport const MergeCoins = new MoveStruct({\n\tname: `${$moduleName}::MergeCoins`,\n\tfields: {\n\t\tcoin: Argument,\n\t\tcoins: bcs.vector(Argument),\n\t},\n});\nexport const Publish = new MoveStruct({\n\tname: `${$moduleName}::Publish`,\n\tfields: {\n\t\tmodules_bytes: bcs.vector(bcs.vector(bcs.u8())),\n\t\tdependencies: bcs.vector(bcs.Address),\n\t},\n});\nexport const MakeMoveVec = new MoveStruct({\n\tname: `${$moduleName}::MakeMoveVec`,\n\tfields: {\n\t\telement_type: bcs.option(bcs.string()),\n\t\telements: bcs.vector(Argument),\n\t},\n});\nexport const Upgrade = new MoveStruct({\n\tname: `${$moduleName}::Upgrade`,\n\tfields: {\n\t\tmodules_bytes: bcs.vector(bcs.vector(bcs.u8())),\n\t\tdependencies: bcs.vector(bcs.Address),\n\t\tobject_id: bcs.Address,\n\t\tupgrade_ticket: Argument,\n\t},\n});\nexport interface NewOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Create a new Transaction builder. */\nexport function _new(options: NewOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'new',\n\t\t});\n}\nexport interface ClockOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0x6` (Clock). */\nexport function clock(options: ClockOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'clock',\n\t\t});\n}\nexport interface RandomOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0x8` (Random). */\nexport function random(options: RandomOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'random',\n\t\t});\n}\nexport interface DisplayOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0xD` (DisplayRegistry). */\nexport function display(options: DisplayOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'display',\n\t\t});\n}\nexport interface DenyListOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0x403` (DenyList). */\nexport function denyList(options: DenyListOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'deny_list',\n\t\t});\n}\nexport interface CoinRegistryOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0xC` (CoinRegistry). */\nexport function coinRegistry(options: CoinRegistryOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'coin_registry',\n\t\t});\n}\nexport interface AccumulatorRootOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0xACC` (AccumulatorRoot). */\nexport function accumulatorRoot(options: AccumulatorRootOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'accumulator_root',\n\t\t});\n}\nexport interface GasOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Create a gas coin input. */\nexport function gas(options: GasOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'gas',\n\t\t});\n}\nexport interface PureArguments<T extends BcsType<any>> {\n\tvalue: RawTransactionArgument<T>;\n}\nexport interface PureOptions<T extends BcsType<any>> {\n\tpackage?: string;\n\targuments: PureArguments<T> | [value: RawTransactionArgument<T>];\n\ttypeArguments: [string];\n}\n/** Create a pure input. */\nexport function pure<T extends BcsType<any>>(options: PureOptions<T>) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [`${options.typeArguments[0]}`] satisfies (string | null)[];\n\tconst parameterNames = ['value'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'pure',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ObjectRefArguments {\n\tobjectId: RawTransactionArgument<string>;\n\tsequenceNumber: RawTransactionArgument<number | bigint>;\n\tdigest: RawTransactionArgument<string>;\n}\nexport interface ObjectRefOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ObjectRefArguments\n\t\t| [\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tsequenceNumber: RawTransactionArgument<number | bigint>,\n\t\t\t\tdigest: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Create a fully-resolved immutable or owned object argument. Should be used with\n * caution, yet for immutable or owned objects refs can be stored. For automatic\n * version resolution, use `object_by_id`.\n */\nexport function objectRef(options: ObjectRefOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID', 'u64', 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['objectId', 'sequenceNumber', 'digest'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_ref',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SharedObjectRefArguments {\n\tobjectId: RawTransactionArgument<string>;\n\tinitialSharedVersion: RawTransactionArgument<number | bigint>;\n\tisMutable: RawTransactionArgument<boolean>;\n}\nexport interface SharedObjectRefOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SharedObjectRefArguments\n\t\t| [\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tinitialSharedVersion: RawTransactionArgument<number | bigint>,\n\t\t\t\tisMutable: RawTransactionArgument<boolean>,\n\t\t ];\n}\n/**\n * Create a fully-resolved shared object argument. Should be used with caution, yet\n * for shared objects refs can be stored. For automatic version resolution, use\n * `shared_object_by_id`.\n *\n * TODO: should it be named `consensus_managed_object_ref`? NOTE: the naming is\n * changing elsewhere\n */\nexport function sharedObjectRef(options: SharedObjectRefOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID', 'u64', 'bool'] satisfies (string | null)[];\n\tconst parameterNames = ['objectId', 'initialSharedVersion', 'isMutable'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'shared_object_ref',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ReceivingObjectRefArguments {\n\tobjectId: RawTransactionArgument<string>;\n\tsequenceNumber: RawTransactionArgument<number | bigint>;\n\tdigest: RawTransactionArgument<string>;\n}\nexport interface ReceivingObjectRefOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ReceivingObjectRefArguments\n\t\t| [\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tsequenceNumber: RawTransactionArgument<number | bigint>,\n\t\t\t\tdigest: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Create a fully-resolved receiving object argument. Should be used with caution,\n * since the version of the object is dynamic. For automatic version resolution,\n * use `object_by_id`.\n */\nexport function receivingObjectRef(options: ReceivingObjectRefOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID', 'u64', 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['objectId', 'sequenceNumber', 'digest'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'receiving_object_ref',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ObjectByTypeOptions {\n\tpackage?: string;\n\targuments?: [];\n\ttypeArguments: [string];\n}\n/** Create an off-chain input handler for a given type T. */\nexport function objectByType(options: ObjectByTypeOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_by_type',\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ObjectByTypeStringArguments {\n\ttypeName: RawTransactionArgument<string>;\n}\nexport interface ObjectByTypeStringOptions {\n\tpackage?: string;\n\targuments: ObjectByTypeStringArguments | [typeName: RawTransactionArgument<string>];\n}\n/** Create an off-chain input handler for a given type as a String. */\nexport function objectByTypeString(options: ObjectByTypeStringOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::string::String'] satisfies (string | null)[];\n\tconst parameterNames = ['typeName'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_by_type_string',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ObjectByIdArguments {\n\tid: RawTransactionArgument<string>;\n}\nexport interface ObjectByIdOptions {\n\tpackage?: string;\n\targuments: ObjectByIdArguments | [id: RawTransactionArgument<string>];\n}\n/** Create an off-chain input handler for an object with a specific ID. */\nexport function objectById(options: ObjectByIdOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['id'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_by_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ReceivingObjectByIdArguments {\n\tid: RawTransactionArgument<string>;\n}\nexport interface ReceivingObjectByIdOptions {\n\tpackage?: string;\n\targuments: ReceivingObjectByIdArguments | [id: RawTransactionArgument<string>];\n}\n/** Create an off-chain input handler for a receiving object with a specific ID. */\nexport function receivingObjectById(options: ReceivingObjectByIdOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['id'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'receiving_object_by_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ExtInputArguments {\n\tname: RawTransactionArgument<string>;\n}\nexport interface ExtInputOptions {\n\tpackage?: string;\n\targuments: ExtInputArguments | [name: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Create an external input handler. Expected to be understood by the off-chain\n * tooling.\n */\nexport function extInput(options: ExtInputOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::string::String'] satisfies (string | null)[];\n\tconst parameterNames = ['name'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'ext_input',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ExtInputRawArguments {\n\tnamespace: RawTransactionArgument<string>;\n\tname: RawTransactionArgument<string>;\n}\nexport interface ExtInputRawOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ExtInputRawArguments\n\t\t| [namespace: RawTransactionArgument<string>, name: RawTransactionArgument<string>];\n}\n/**\n * Create an external input handler for a given type T. This can be used to\n * hardcode the namespace value without having access to `T`.\n */\nexport function extInputRaw(options: ExtInputRawOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::string::String', '0x1::string::String'] satisfies (string | null)[];\n\tconst parameterNames = ['namespace', 'name'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'ext_input_raw',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface CommandArguments {\n\tself: RawTransactionArgument<string>;\n\tcommand: RawTransactionArgument<string>;\n}\nexport interface CommandOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CommandArguments\n\t\t| [self: RawTransactionArgument<string>, command: RawTransactionArgument<string>];\n}\n/**\n * Register a command in the Transaction builder. Returns the Argument, which is\n * treated as the `Result(idx)` of the command, and can be turned into a nested\n * result `NestedResult(idx, idx)`.\n */\nexport function command(options: CommandOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'command'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'command',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NestedArguments {\n\tself: RawTransactionArgument<string>;\n\tsubIdx: RawTransactionArgument<number>;\n}\nexport interface NestedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NestedArguments\n\t\t| [self: RawTransactionArgument<string>, subIdx: RawTransactionArgument<number>];\n}\n/**\n * Spawn a nested result out of a (just) `Result`. Simple result is a command\n * output.\n */\nexport function nested(options: NestedOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, 'u16'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'subIdx'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'nested',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MoveCallArguments {\n\tpackageId: RawTransactionArgument<string>;\n\tmoduleName: RawTransactionArgument<string>;\n\tfunction: RawTransactionArgument<string>;\n\targuments: RawTransactionArgument<string[]>;\n\ttypeArguments: RawTransactionArgument<string[]>;\n}\nexport interface MoveCallOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MoveCallArguments\n\t\t| [\n\t\t\t\tpackageId: RawTransactionArgument<string>,\n\t\t\t\tmoduleName: RawTransactionArgument<string>,\n\t\t\t\tfunction: RawTransactionArgument<string>,\n\t\t\t\targuments: RawTransactionArgument<string[]>,\n\t\t\t\ttypeArguments: RawTransactionArgument<string[]>,\n\t\t ];\n}\n/** Create a `MoveCall` command. */\nexport function moveCall(options: MoveCallOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [\n\t\t'0x1::string::String',\n\t\t'0x1::string::String',\n\t\t'0x1::string::String',\n\t\t'vector<null>',\n\t\t'vector<0x1::string::String>',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['packageId', 'moduleName', 'function', 'arguments', 'typeArguments'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'move_call',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface TransferObjectsArguments {\n\tobjects: RawTransactionArgument<string[]>;\n\tto: RawTransactionArgument<string>;\n}\nexport interface TransferObjectsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| TransferObjectsArguments\n\t\t| [objects: RawTransactionArgument<string[]>, to: RawTransactionArgument<string>];\n}\n/**\n * Create a `TransferObjects` command Expects a vector of arguments to transfer and\n * an address value for destination.\n */\nexport function transferObjects(options: TransferObjectsOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['vector<null>', null] satisfies (string | null)[];\n\tconst parameterNames = ['objects', 'to'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'transfer_objects',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SplitCoinsArguments {\n\tcoin: RawTransactionArgument<string>;\n\tamounts: RawTransactionArgument<string[]>;\n}\nexport interface SplitCoinsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SplitCoinsArguments\n\t\t| [coin: RawTransactionArgument<string>, amounts: RawTransactionArgument<string[]>];\n}\n/** Create a `SplitCoins` command. */\nexport function splitCoins(options: SplitCoinsOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, 'vector<null>'] satisfies (string | null)[];\n\tconst parameterNames = ['coin', 'amounts'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'split_coins',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MergeCoinsArguments {\n\tcoin: RawTransactionArgument<string>;\n\tcoins: RawTransactionArgument<string[]>;\n}\nexport interface MergeCoinsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MergeCoinsArguments\n\t\t| [coin: RawTransactionArgument<string>, coins: RawTransactionArgument<string[]>];\n}\n/**\n * Create a `MergeCoins` command. Takes a Coin Argument and a vector of other coin\n * arguments to merge into it.\n */\nexport function mergeCoins(options: MergeCoinsOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, 'vector<null>'] satisfies (string | null)[];\n\tconst parameterNames = ['coin', 'coins'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'merge_coins',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface PublishArguments {\n\tmodulesBytes: RawTransactionArgument<number[][]>;\n\tdependencies: RawTransactionArgument<string[]>;\n}\nexport interface PublishOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PublishArguments\n\t\t| [\n\t\t\t\tmodulesBytes: RawTransactionArgument<number[][]>,\n\t\t\t\tdependencies: RawTransactionArgument<string[]>,\n\t\t ];\n}\n/**\n * Create a `Publish` command. Takes a vector of modules' bytes and a vector of\n * dependencies.\n */\nexport function publish(options: PublishOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['vector<vector<u8>>', 'vector<0x2::object::ID>'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['modulesBytes', 'dependencies'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'publish',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MakeMoveVecArguments {\n\telementType: RawTransactionArgument<string | null>;\n\telements: RawTransactionArgument<string[]>;\n}\nexport interface MakeMoveVecOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MakeMoveVecArguments\n\t\t| [\n\t\t\t\telementType: RawTransactionArgument<string | null>,\n\t\t\t\telements: RawTransactionArgument<string[]>,\n\t\t ];\n}\n/**\n * Create a `MakeMoveVec` command. Takes an optional element type and a vector of\n * elements to make into a vector.\n */\nexport function makeMoveVec(options: MakeMoveVecOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::option::Option<0x1::string::String>', 'vector<null>'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['elementType', 'elements'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'make_move_vec',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface UpgradeArguments {\n\tmodulesBytes: RawTransactionArgument<number[][]>;\n\tdependencies: RawTransactionArgument<string[]>;\n\tobjectId: RawTransactionArgument<string>;\n\tupgradeTicket: RawTransactionArgument<string>;\n}\nexport interface UpgradeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpgradeArguments\n\t\t| [\n\t\t\t\tmodulesBytes: RawTransactionArgument<number[][]>,\n\t\t\t\tdependencies: RawTransactionArgument<string[]>,\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tupgradeTicket: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Create a `Upgrade` command. Takes a vector of modules' bytes, a vector of\n * dependencies, an updated package ID, and an upgrade ticket.\n */\nexport function upgrade(options: UpgradeOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [\n\t\t'vector<vector<u8>>',\n\t\t'vector<0x2::object::ID>',\n\t\t'0x2::object::ID',\n\t\tnull,\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['modulesBytes', 'dependencies', 'objectId', 'upgradeTicket'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'upgrade',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ExtArguments {\n\tdata: RawTransactionArgument<number[]>;\n}\nexport interface ExtOptions {\n\tpackage?: string;\n\targuments: ExtArguments | [data: RawTransactionArgument<number[]>];\n}\n/** Create an `Ext` command. */\nexport function ext(options: ExtOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['vector<u8>'] satisfies (string | null)[];\n\tconst parameterNames = ['data'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'ext',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ptb.mjs","names":[],"sources":["../../../src/contracts/ptb/ptb.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Module: ptb */\n\nimport {\n\tMoveTuple,\n\tMoveStruct,\n\tMoveEnum,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n} from '../utils/index.js';\nimport { bcs, type BcsType } from '@mysten/sui/bcs';\nimport {\n\ttype Transaction as Transaction_1,\n\ttype TransactionArgument,\n} from '@mysten/sui/transactions';\nconst $moduleName = '@mysten/ptb::ptb';\nexport const Command = new MoveTuple({\n\tname: `${$moduleName}::Command`,\n\tfields: [bcs.u8(), bcs.vector(bcs.u8())],\n});\nexport const Transaction = new MoveStruct({\n\tname: `${$moduleName}::Transaction`,\n\tfields: {\n\t\tcommands: bcs.vector(Command),\n\t},\n});\n/**\n * Defines a simplified `ObjectArg` type for the `Transaction`.\n *\n * Differences with canonical Sui `ObjectArg` type:\n *\n * - Uses `address` type as a fixed-length sequence of bytes without length prefix.\n * - Extends the number of variants to support off-chain resolution.\n */\nexport const ObjectArg = new MoveEnum({\n\tname: `${$moduleName}::ObjectArg`,\n\tfields: {\n\t\tImmOrOwnedObject: new MoveStruct({\n\t\t\tname: `ObjectArg.ImmOrOwnedObject`,\n\t\t\tfields: {\n\t\t\t\tobject_id: bcs.Address,\n\t\t\t\tsequence_number: bcs.u64(),\n\t\t\t\tdigest: bcs.Address,\n\t\t\t},\n\t\t}),\n\t\tSharedObject: new MoveStruct({\n\t\t\tname: `ObjectArg.SharedObject`,\n\t\t\tfields: {\n\t\t\t\tobject_id: bcs.Address,\n\t\t\t\tinitial_shared_version: bcs.u64(),\n\t\t\t\tis_mutable: bcs.bool(),\n\t\t\t},\n\t\t}),\n\t\tReceiving: new MoveStruct({\n\t\t\tname: `ObjectArg.Receiving`,\n\t\t\tfields: {\n\t\t\t\tobject_id: bcs.Address,\n\t\t\t\tsequence_number: bcs.u64(),\n\t\t\t\tdigest: bcs.Address,\n\t\t\t},\n\t\t}),\n\t\tExt: bcs.string(),\n\t},\n});\nexport const WithdrawFrom = new MoveEnum({\n\tname: `${$moduleName}::WithdrawFrom`,\n\tfields: {\n\t\tSender: null,\n\t\tSponsor: null,\n\t},\n});\n/**\n * Defines a simplified `CallArg` type for `Transaction`.\n *\n * Differences with canonical Sui `CallArg` type:\n *\n * - ObjectArg is a simplified, unresolved representation of Object arguments;\n * - Ext(...) is a custom extension for the `CallArg` which allows off-chain\n * resolvers to convert them into the appropriate values for context.\n */\nexport const CallArg = new MoveEnum({\n\tname: `${$moduleName}::CallArg`,\n\tfields: {\n\t\tPure: bcs.vector(bcs.u8()),\n\t\tObject: ObjectArg,\n\t\tFundsWithdrawal: new MoveStruct({\n\t\t\tname: `CallArg.FundsWithdrawal`,\n\t\t\tfields: {\n\t\t\t\tamount: bcs.u64(),\n\t\t\t\ttype_name: bcs.string(),\n\t\t\t\twithdraw_from: WithdrawFrom,\n\t\t\t},\n\t\t}),\n\t\t/**\n\t\t * Extended arguments for off-chain resolution. Can be created and registered in a\n\t\t * transaction through `ext_input`.\n\t\t *\n\t\t * Extended arguments are namespaced by Type associated with them. In an\n\t\t * application, this can be the root object, or a special type used for off chain\n\t\t * resolution.\n\t\t */\n\t\tExt: new MoveTuple({ name: `CallArg.Ext`, fields: [bcs.string(), bcs.string()] }),\n\t},\n});\n/** Defines a simplified `Argument` type for the `Transaction`. */\nexport const Argument = new MoveEnum({\n\tname: `${$moduleName}::Argument`,\n\tfields: {\n\t\tGasCoin: null,\n\t\tInput: CallArg,\n\t\tResult: bcs.u16(),\n\t\tNestedResult: new MoveTuple({ name: `Argument.NestedResult`, fields: [bcs.u16(), bcs.u16()] }),\n\t\t/**\n\t\t * Extended arguments for off-chain resolution. Cannot be constructed directly,\n\t\t * only through future extensions.\n\t\t */\n\t\tExt: bcs.vector(bcs.u8()),\n\t},\n});\nexport const MoveCall = new MoveStruct({\n\tname: `${$moduleName}::MoveCall`,\n\tfields: {\n\t\tpackage_id: bcs.string(),\n\t\tmodule_name: bcs.string(),\n\t\tfunction: bcs.string(),\n\t\targuments: bcs.vector(Argument),\n\t\ttype_arguments: bcs.vector(bcs.string()),\n\t},\n});\nexport const TransferObjects = new MoveStruct({\n\tname: `${$moduleName}::TransferObjects`,\n\tfields: {\n\t\tobjects: bcs.vector(Argument),\n\t\tto: Argument,\n\t},\n});\nexport const SplitCoins = new MoveStruct({\n\tname: `${$moduleName}::SplitCoins`,\n\tfields: {\n\t\tcoin: Argument,\n\t\tamounts: bcs.vector(Argument),\n\t},\n});\nexport const MergeCoins = new MoveStruct({\n\tname: `${$moduleName}::MergeCoins`,\n\tfields: {\n\t\tcoin: Argument,\n\t\tcoins: bcs.vector(Argument),\n\t},\n});\nexport const Publish = new MoveStruct({\n\tname: `${$moduleName}::Publish`,\n\tfields: {\n\t\tmodules_bytes: bcs.vector(bcs.vector(bcs.u8())),\n\t\tdependencies: bcs.vector(bcs.Address),\n\t},\n});\nexport const MakeMoveVec = new MoveStruct({\n\tname: `${$moduleName}::MakeMoveVec`,\n\tfields: {\n\t\telement_type: bcs.option(bcs.string()),\n\t\telements: bcs.vector(Argument),\n\t},\n});\nexport const Upgrade = new MoveStruct({\n\tname: `${$moduleName}::Upgrade`,\n\tfields: {\n\t\tmodules_bytes: bcs.vector(bcs.vector(bcs.u8())),\n\t\tdependencies: bcs.vector(bcs.Address),\n\t\tobject_id: bcs.Address,\n\t\tupgrade_ticket: Argument,\n\t},\n});\nexport interface NewOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Create a new Transaction builder. */\nexport function _new(options: NewOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'new',\n\t\t});\n}\nexport interface ClockOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0x6` (Clock). */\nexport function clock(options: ClockOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'clock',\n\t\t});\n}\nexport interface RandomOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0x8` (Random). */\nexport function random(options: RandomOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'random',\n\t\t});\n}\nexport interface DisplayOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0xD` (DisplayRegistry). */\nexport function display(options: DisplayOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'display',\n\t\t});\n}\nexport interface DenyListOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0x403` (DenyList). */\nexport function denyList(options: DenyListOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'deny_list',\n\t\t});\n}\nexport interface CoinRegistryOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0xC` (CoinRegistry). */\nexport function coinRegistry(options: CoinRegistryOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'coin_registry',\n\t\t});\n}\nexport interface AccumulatorRootOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Shorthand for `object_by_id` with `0xACC` (AccumulatorRoot). */\nexport function accumulatorRoot(options: AccumulatorRootOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'accumulator_root',\n\t\t});\n}\nexport interface GasOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Create a gas coin input. */\nexport function gas(options: GasOptions = {}) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'gas',\n\t\t});\n}\nexport interface PureArguments<T extends BcsType<any>> {\n\tvalue: RawTransactionArgument<T>;\n}\nexport interface PureOptions<T extends BcsType<any>> {\n\tpackage?: string;\n\targuments: PureArguments<T> | [value: RawTransactionArgument<T>];\n\ttypeArguments: [string];\n}\n/** Create a pure input. */\nexport function pure<T extends BcsType<any>>(options: PureOptions<T>) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [`${options.typeArguments[0]}`] satisfies (string | null)[];\n\tconst parameterNames = ['value'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'pure',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ObjectRefArguments {\n\tobjectId: RawTransactionArgument<string>;\n\tsequenceNumber: RawTransactionArgument<number | bigint>;\n\tdigest: RawTransactionArgument<string>;\n}\nexport interface ObjectRefOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ObjectRefArguments\n\t\t| [\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tsequenceNumber: RawTransactionArgument<number | bigint>,\n\t\t\t\tdigest: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Create a fully-resolved immutable or owned object argument. Should be used with\n * caution, yet for immutable or owned objects refs can be stored. For automatic\n * version resolution, use `object_by_id`.\n */\nexport function objectRef(options: ObjectRefOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID', 'u64', 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['objectId', 'sequenceNumber', 'digest'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_ref',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SharedObjectRefArguments {\n\tobjectId: RawTransactionArgument<string>;\n\tinitialSharedVersion: RawTransactionArgument<number | bigint>;\n\tisMutable: RawTransactionArgument<boolean>;\n}\nexport interface SharedObjectRefOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SharedObjectRefArguments\n\t\t| [\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tinitialSharedVersion: RawTransactionArgument<number | bigint>,\n\t\t\t\tisMutable: RawTransactionArgument<boolean>,\n\t\t ];\n}\n/**\n * Create a fully-resolved shared object argument. Should be used with caution, yet\n * for shared objects refs can be stored. For automatic version resolution, use\n * `shared_object_by_id`.\n *\n * TODO: should it be named `consensus_managed_object_ref`? NOTE: the naming is\n * changing elsewhere\n */\nexport function sharedObjectRef(options: SharedObjectRefOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID', 'u64', 'bool'] satisfies (string | null)[];\n\tconst parameterNames = ['objectId', 'initialSharedVersion', 'isMutable'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'shared_object_ref',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ReceivingObjectRefArguments {\n\tobjectId: RawTransactionArgument<string>;\n\tsequenceNumber: RawTransactionArgument<number | bigint>;\n\tdigest: RawTransactionArgument<string>;\n}\nexport interface ReceivingObjectRefOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ReceivingObjectRefArguments\n\t\t| [\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tsequenceNumber: RawTransactionArgument<number | bigint>,\n\t\t\t\tdigest: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Create a fully-resolved receiving object argument. Should be used with caution,\n * since the version of the object is dynamic. For automatic version resolution,\n * use `object_by_id`.\n */\nexport function receivingObjectRef(options: ReceivingObjectRefOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID', 'u64', 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['objectId', 'sequenceNumber', 'digest'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'receiving_object_ref',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ObjectByTypeOptions {\n\tpackage?: string;\n\targuments?: [];\n\ttypeArguments: [string];\n}\n/** Create an off-chain input handler for a given type T. */\nexport function objectByType(options: ObjectByTypeOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_by_type',\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ObjectByTypeStringArguments {\n\ttypeName: RawTransactionArgument<string>;\n}\nexport interface ObjectByTypeStringOptions {\n\tpackage?: string;\n\targuments: ObjectByTypeStringArguments | [typeName: RawTransactionArgument<string>];\n}\n/** Create an off-chain input handler for a given type as a String. */\nexport function objectByTypeString(options: ObjectByTypeStringOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::string::String'] satisfies (string | null)[];\n\tconst parameterNames = ['typeName'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_by_type_string',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ObjectByIdArguments {\n\tid: RawTransactionArgument<string>;\n}\nexport interface ObjectByIdOptions {\n\tpackage?: string;\n\targuments: ObjectByIdArguments | [id: RawTransactionArgument<string>];\n}\n/** Create an off-chain input handler for an object with a specific ID. */\nexport function objectById(options: ObjectByIdOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['id'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'object_by_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ReceivingObjectByIdArguments {\n\tid: RawTransactionArgument<string>;\n}\nexport interface ReceivingObjectByIdOptions {\n\tpackage?: string;\n\targuments: ReceivingObjectByIdArguments | [id: RawTransactionArgument<string>];\n}\n/** Create an off-chain input handler for a receiving object with a specific ID. */\nexport function receivingObjectById(options: ReceivingObjectByIdOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['id'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'receiving_object_by_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ExtInputArguments {\n\tname: RawTransactionArgument<string>;\n}\nexport interface ExtInputOptions {\n\tpackage?: string;\n\targuments: ExtInputArguments | [name: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Create an external input handler. Expected to be understood by the off-chain\n * tooling.\n */\nexport function extInput(options: ExtInputOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::string::String'] satisfies (string | null)[];\n\tconst parameterNames = ['name'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'ext_input',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ExtInputRawArguments {\n\tnamespace: RawTransactionArgument<string>;\n\tname: RawTransactionArgument<string>;\n}\nexport interface ExtInputRawOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ExtInputRawArguments\n\t\t| [namespace: RawTransactionArgument<string>, name: RawTransactionArgument<string>];\n}\n/**\n * Create an external input handler for a given type T. This can be used to\n * hardcode the namespace value without having access to `T`.\n */\nexport function extInputRaw(options: ExtInputRawOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::string::String', '0x1::string::String'] satisfies (string | null)[];\n\tconst parameterNames = ['namespace', 'name'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'ext_input_raw',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface CommandArguments {\n\tself: TransactionArgument;\n\tcommand: TransactionArgument;\n}\nexport interface CommandOptions {\n\tpackage?: string;\n\targuments: CommandArguments | [self: TransactionArgument, command: TransactionArgument];\n}\n/**\n * Register a command in the Transaction builder. Returns the Argument, which is\n * treated as the `Result(idx)` of the command, and can be turned into a nested\n * result `NestedResult(idx, idx)`.\n */\nexport function command(options: CommandOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'command'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'command',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NestedArguments {\n\tself: TransactionArgument;\n\tsubIdx: RawTransactionArgument<number>;\n}\nexport interface NestedOptions {\n\tpackage?: string;\n\targuments: NestedArguments | [self: TransactionArgument, subIdx: RawTransactionArgument<number>];\n}\n/**\n * Spawn a nested result out of a (just) `Result`. Simple result is a command\n * output.\n */\nexport function nested(options: NestedOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, 'u16'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'subIdx'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'nested',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MoveCallArguments {\n\tpackageId: RawTransactionArgument<string>;\n\tmoduleName: RawTransactionArgument<string>;\n\tfunction: RawTransactionArgument<string>;\n\targuments: TransactionArgument;\n\ttypeArguments: RawTransactionArgument<Array<string>>;\n}\nexport interface MoveCallOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MoveCallArguments\n\t\t| [\n\t\t\t\tpackageId: RawTransactionArgument<string>,\n\t\t\t\tmoduleName: RawTransactionArgument<string>,\n\t\t\t\tfunction: RawTransactionArgument<string>,\n\t\t\t\targuments: TransactionArgument,\n\t\t\t\ttypeArguments: RawTransactionArgument<Array<string>>,\n\t\t ];\n}\n/** Create a `MoveCall` command. */\nexport function moveCall(options: MoveCallOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [\n\t\t'0x1::string::String',\n\t\t'0x1::string::String',\n\t\t'0x1::string::String',\n\t\t'vector<null>',\n\t\t'vector<0x1::string::String>',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['packageId', 'moduleName', 'function', 'arguments', 'typeArguments'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'move_call',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface TransferObjectsArguments {\n\tobjects: TransactionArgument;\n\tto: TransactionArgument;\n}\nexport interface TransferObjectsOptions {\n\tpackage?: string;\n\targuments: TransferObjectsArguments | [objects: TransactionArgument, to: TransactionArgument];\n}\n/**\n * Create a `TransferObjects` command Expects a vector of arguments to transfer and\n * an address value for destination.\n */\nexport function transferObjects(options: TransferObjectsOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['vector<null>', null] satisfies (string | null)[];\n\tconst parameterNames = ['objects', 'to'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'transfer_objects',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SplitCoinsArguments {\n\tcoin: TransactionArgument;\n\tamounts: TransactionArgument;\n}\nexport interface SplitCoinsOptions {\n\tpackage?: string;\n\targuments: SplitCoinsArguments | [coin: TransactionArgument, amounts: TransactionArgument];\n}\n/** Create a `SplitCoins` command. */\nexport function splitCoins(options: SplitCoinsOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, 'vector<null>'] satisfies (string | null)[];\n\tconst parameterNames = ['coin', 'amounts'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'split_coins',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MergeCoinsArguments {\n\tcoin: TransactionArgument;\n\tcoins: TransactionArgument;\n}\nexport interface MergeCoinsOptions {\n\tpackage?: string;\n\targuments: MergeCoinsArguments | [coin: TransactionArgument, coins: TransactionArgument];\n}\n/**\n * Create a `MergeCoins` command. Takes a Coin Argument and a vector of other coin\n * arguments to merge into it.\n */\nexport function mergeCoins(options: MergeCoinsOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [null, 'vector<null>'] satisfies (string | null)[];\n\tconst parameterNames = ['coin', 'coins'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'merge_coins',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface PublishArguments {\n\tmodulesBytes: RawTransactionArgument<Array<Array<number>>>;\n\tdependencies: RawTransactionArgument<Array<string>>;\n}\nexport interface PublishOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PublishArguments\n\t\t| [\n\t\t\t\tmodulesBytes: RawTransactionArgument<Array<Array<number>>>,\n\t\t\t\tdependencies: RawTransactionArgument<Array<string>>,\n\t\t ];\n}\n/**\n * Create a `Publish` command. Takes a vector of modules' bytes and a vector of\n * dependencies.\n */\nexport function publish(options: PublishOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['vector<vector<u8>>', 'vector<0x2::object::ID>'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['modulesBytes', 'dependencies'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'publish',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MakeMoveVecArguments {\n\telementType: RawTransactionArgument<string | null>;\n\telements: TransactionArgument;\n}\nexport interface MakeMoveVecOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MakeMoveVecArguments\n\t\t| [elementType: RawTransactionArgument<string | null>, elements: TransactionArgument];\n}\n/**\n * Create a `MakeMoveVec` command. Takes an optional element type and a vector of\n * elements to make into a vector.\n */\nexport function makeMoveVec(options: MakeMoveVecOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['0x1::option::Option<0x1::string::String>', 'vector<null>'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['elementType', 'elements'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'make_move_vec',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface UpgradeArguments {\n\tmodulesBytes: RawTransactionArgument<Array<Array<number>>>;\n\tdependencies: RawTransactionArgument<Array<string>>;\n\tobjectId: RawTransactionArgument<string>;\n\tupgradeTicket: TransactionArgument;\n}\nexport interface UpgradeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpgradeArguments\n\t\t| [\n\t\t\t\tmodulesBytes: RawTransactionArgument<Array<Array<number>>>,\n\t\t\t\tdependencies: RawTransactionArgument<Array<string>>,\n\t\t\t\tobjectId: RawTransactionArgument<string>,\n\t\t\t\tupgradeTicket: TransactionArgument,\n\t\t ];\n}\n/**\n * Create a `Upgrade` command. Takes a vector of modules' bytes, a vector of\n * dependencies, an updated package ID, and an upgrade ticket.\n */\nexport function upgrade(options: UpgradeOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = [\n\t\t'vector<vector<u8>>',\n\t\t'vector<0x2::object::ID>',\n\t\t'0x2::object::ID',\n\t\tnull,\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['modulesBytes', 'dependencies', 'objectId', 'upgradeTicket'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'upgrade',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface ExtArguments {\n\tdata: RawTransactionArgument<Array<number>>;\n}\nexport interface ExtOptions {\n\tpackage?: string;\n\targuments: ExtArguments | [data: RawTransactionArgument<Array<number>>];\n}\n/** Create an `Ext` command. */\nexport function ext(options: ExtOptions) {\n\tconst packageAddress = options.package ?? '@mysten/ptb';\n\tconst argumentsTypes = ['vector<u8>'] satisfies (string | null)[];\n\tconst parameterNames = ['data'];\n\treturn (tx: Transaction_1) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'ptb',\n\t\t\tfunction: 'ext',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/contracts/utils/index.ts"],"sourcesContent":["import {\n\tbcs,\n\ttype BcsType,\n\ttype TypeTag,\n\tTypeTagSerializer,\n\tBcsStruct,\n\tBcsEnum,\n\tBcsTuple,\n} from '@mysten/sui/bcs';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\nimport { type TransactionArgument, isArgument } from '@mysten/sui/transactions';\nimport { type ClientWithCoreApi, type SuiClientTypes } from '@mysten/sui/client';\nimport { PASClientError } from '../../error.js';\n\nconst MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');\nconst SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress('0x2');\n\nexport type RawTransactionArgument<T> = T | TransactionArgument;\n\nexport interface GetOptions<\n\tInclude extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {},\n> extends SuiClientTypes.GetObjectOptions<Include> {\n\tclient: ClientWithCoreApi;\n}\n\nexport interface GetManyOptions<\n\tInclude extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {},\n> extends SuiClientTypes.GetObjectsOptions<Include> {\n\tclient: ClientWithCoreApi;\n}\n\nexport function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {\n\tconst parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;\n\n\tif ('u8' in parsedTag) {\n\t\treturn bcs.U8;\n\t} else if ('u16' in parsedTag) {\n\t\treturn bcs.U16;\n\t} else if ('u32' in parsedTag) {\n\t\treturn bcs.U32;\n\t} else if ('u64' in parsedTag) {\n\t\treturn bcs.U64;\n\t} else if ('u128' in parsedTag) {\n\t\treturn bcs.U128;\n\t} else if ('u256' in parsedTag) {\n\t\treturn bcs.U256;\n\t} else if ('address' in parsedTag) {\n\t\treturn bcs.Address;\n\t} else if ('bool' in parsedTag) {\n\t\treturn bcs.Bool;\n\t} else if ('vector' in parsedTag) {\n\t\tconst type = getPureBcsSchema(parsedTag.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t} else if ('struct' in parsedTag) {\n\t\tconst structTag = parsedTag.struct;\n\t\tconst pkg = normalizeSuiAddress(structTag.address);\n\n\t\tif (pkg === MOVE_STDLIB_ADDRESS) {\n\t\t\tif (\n\t\t\t\t(structTag.module === 'ascii' || structTag.module === 'string') &&\n\t\t\t\tstructTag.name === 'String'\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (structTag.module === 'option' && structTag.name === 'Option') {\n\t\t\t\tconst type = getPureBcsSchema(structTag.typeParams[0]);\n\t\t\t\treturn type ? bcs.option(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tpkg === SUI_FRAMEWORK_ADDRESS &&\n\t\t\tstructTag.module === 'object' &&\n\t\t\t(structTag.name === 'ID' || structTag.name === 'UID')\n\t\t) {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function normalizeMoveArguments(\n\targs: unknown[] | object,\n\targTypes: readonly (string | null)[],\n\tparameterNames?: string[],\n) {\n\tconst argLen = Array.isArray(args) ? args.length : Object.keys(args).length;\n\tif (parameterNames && argLen !== parameterNames.length) {\n\t\tthrow new PASClientError(\n\t\t\t`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`,\n\t\t);\n\t}\n\n\tconst normalizedArgs: TransactionArgument[] = [];\n\n\tlet index = 0;\n\tfor (const [i, argType] of argTypes.entries()) {\n\t\tif (argType === '0x2::clock::Clock') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.clock());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x2::random::Random') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.random());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x2::deny_list::DenyList') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.denyList());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x3::sui_system::SuiSystemState') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.system());\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet arg;\n\t\tif (Array.isArray(args)) {\n\t\t\tif (index >= args.length) {\n\t\t\t\tthrow new PASClientError(\n\t\t\t\t\t`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\targ = args[index];\n\t\t} else {\n\t\t\tif (!parameterNames) {\n\t\t\t\tthrow new PASClientError(`Expected arguments to be passed as an array`);\n\t\t\t}\n\t\t\tconst name = parameterNames[index];\n\t\t\targ = args[name as keyof typeof args];\n\n\t\t\tif (arg === undefined) {\n\t\t\t\tthrow new PASClientError(`Parameter ${name} is required`);\n\t\t\t}\n\t\t}\n\n\t\tindex += 1;\n\n\t\tif (typeof arg === 'function' || isArgument(arg)) {\n\t\t\tnormalizedArgs.push(arg as TransactionArgument);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst type = argTypes[i];\n\t\tconst bcsType = type === null ? null : getPureBcsSchema(type);\n\n\t\tif (bcsType) {\n\t\t\tconst bytes = bcsType.serialize(arg as never);\n\t\t\tnormalizedArgs.push((tx) => tx.pure(bytes));\n\t\t\tcontinue;\n\t\t} else if (typeof arg === 'string') {\n\t\t\tnormalizedArgs.push((tx) => tx.object(arg));\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new PASClientError(`Invalid argument ${stringify(arg)} for type ${type}`);\n\t}\n\n\treturn normalizedArgs;\n}\n\nexport class MoveStruct<\n\tT extends Record<string, BcsType<any>>,\n\tconst Name extends string = string,\n> extends BcsStruct<T, Name> {\n\tasync get<Include extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {}>({\n\t\tobjectId,\n\t\t...options\n\t}: GetOptions<Include>): Promise<\n\t\tSuiClientTypes.Object<Include & { content: true; json: true }> & {\n\t\t\tjson: BcsStruct<T>['$inferType'];\n\t\t}\n\t> {\n\t\tconst [res] = await this.getMany<Include>({\n\t\t\t...options,\n\t\t\tobjectIds: [objectId],\n\t\t});\n\n\t\treturn res;\n\t}\n\n\tasync getMany<Include extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {}>({\n\t\tclient,\n\t\t...options\n\t}: GetManyOptions<Include>): Promise<\n\t\tArray<\n\t\t\tSuiClientTypes.Object<Include & { content: true; json: true }> & {\n\t\t\t\tjson: BcsStruct<T>['$inferType'];\n\t\t\t}\n\t\t>\n\t> {\n\t\tconst response = (await client.core.getObjects({\n\t\t\t...options,\n\t\t\tinclude: {\n\t\t\t\t...options.include,\n\t\t\t\tcontent: true,\n\t\t\t},\n\t\t})) as SuiClientTypes.GetObjectsResponse<Include & { content: true }>;\n\n\t\treturn response.objects.map((obj) => {\n\t\t\tif (obj instanceof Error) {\n\t\t\t\tthrow obj;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...obj,\n\t\t\t\tjson: this.parse(obj.content),\n\t\t\t};\n\t\t});\n\t}\n}\n\nexport class MoveEnum<\n\tT extends Record<string, BcsType<any> | null>,\n\tconst Name extends string,\n> extends BcsEnum<T, Name> {}\n\nexport class MoveTuple<\n\tconst T extends readonly BcsType<any>[],\n\tconst Name extends string,\n> extends BcsTuple<T, Name> {}\n\nfunction stringify(val: unknown) {\n\tif (typeof val === 'object') {\n\t\treturn JSON.stringify(val, (val: unknown) => val);\n\t}\n\tif (typeof val === 'bigint') {\n\t\treturn val.toString();\n\t}\n\n\treturn val;\n}\n"],"mappings":";;;;;AAcA,MAAM,sBAAsB,oBAAoB,MAAM;AACtD,MAAM,wBAAwB,oBAAoB,MAAM;AAqJxD,IAAa,aAAb,cAGU,UAAmB;CAC5B,MAAM,IAAiF,EACtF,UACA,GAAG,WAKF;EACD,MAAM,CAAC,OAAO,MAAM,KAAK,QAAiB;GACzC,GAAG;GACH,WAAW,CAAC,SAAS;GACrB,CAAC;AAEF,SAAO;;CAGR,MAAM,QAAqF,EAC1F,QACA,GAAG,WAOF;AASD,UARkB,MAAM,OAAO,KAAK,WAAW;GAC9C,GAAG;GACH,SAAS;IACR,GAAG,QAAQ;IACX,SAAS;IACT;GACD,CAAC,EAEc,QAAQ,KAAK,QAAQ;AACpC,OAAI,eAAe,MAClB,OAAM;AAGP,UAAO;IACN,GAAG;IACH,MAAM,KAAK,MAAM,IAAI,QAAQ;IAC7B;IACA;;;AAIJ,IAAa,WAAb,cAGU,QAAiB;AAE3B,IAAa,YAAb,cAGU,SAAkB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/contracts/utils/index.ts"],"sourcesContent":["import { PASClientError } from '../../error.js';\n\nimport {\n\tbcs,\n\ttype BcsType,\n\ttype TypeTag,\n\tTypeTagSerializer,\n\tBcsStruct,\n\tBcsEnum,\n\tBcsTuple,\n} from '@mysten/sui/bcs';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\nimport { type TransactionArgument, isArgument } from '@mysten/sui/transactions';\nimport { type ClientWithCoreApi, type SuiClientTypes } from '@mysten/sui/client';\n\nconst MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');\nconst SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress('0x2');\n\nexport type RawTransactionArgument<T> = T | TransactionArgument;\n\nexport type GetOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> =\n\tSuiClientTypes.GetObjectOptions<Include> & { client: ClientWithCoreApi };\n\nexport type GetManyOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> =\n\tSuiClientTypes.GetObjectsOptions<Include> & { client: ClientWithCoreApi };\n\nexport function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {\n\tconst parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;\n\n\tif ('u8' in parsedTag) {\n\t\treturn bcs.U8;\n\t} else if ('u16' in parsedTag) {\n\t\treturn bcs.U16;\n\t} else if ('u32' in parsedTag) {\n\t\treturn bcs.U32;\n\t} else if ('u64' in parsedTag) {\n\t\treturn bcs.U64;\n\t} else if ('u128' in parsedTag) {\n\t\treturn bcs.U128;\n\t} else if ('u256' in parsedTag) {\n\t\treturn bcs.U256;\n\t} else if ('address' in parsedTag) {\n\t\treturn bcs.Address;\n\t} else if ('bool' in parsedTag) {\n\t\treturn bcs.Bool;\n\t} else if ('vector' in parsedTag) {\n\t\tconst type = getPureBcsSchema(parsedTag.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t} else if ('struct' in parsedTag) {\n\t\tconst structTag = parsedTag.struct;\n\t\tconst pkg = normalizeSuiAddress(structTag.address);\n\n\t\tif (pkg === MOVE_STDLIB_ADDRESS) {\n\t\t\tif (\n\t\t\t\t(structTag.module === 'ascii' || structTag.module === 'string') &&\n\t\t\t\tstructTag.name === 'String'\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (structTag.module === 'option' && structTag.name === 'Option') {\n\t\t\t\tconst type = getPureBcsSchema(structTag.typeParams[0]);\n\t\t\t\treturn type ? bcs.option(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tpkg === SUI_FRAMEWORK_ADDRESS &&\n\t\t\tstructTag.module === 'object' &&\n\t\t\t(structTag.name === 'ID' || structTag.name === 'UID')\n\t\t) {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function normalizeMoveArguments(\n\targs: unknown[] | object,\n\targTypes: readonly (string | null)[],\n\tparameterNames?: string[],\n) {\n\tconst argLen = Array.isArray(args) ? args.length : Object.keys(args).length;\n\tif (parameterNames && argLen !== parameterNames.length) {\n\t\tthrow new PASClientError(\n\t\t\t`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`,\n\t\t);\n\t}\n\n\tconst normalizedArgs: TransactionArgument[] = [];\n\n\tlet index = 0;\n\tfor (const [i, argType] of argTypes.entries()) {\n\t\tif (argType === '0x2::clock::Clock') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.clock());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x2::random::Random') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.random());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x2::deny_list::DenyList') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.denyList());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === '0x3::sui_system::SuiSystemState') {\n\t\t\tnormalizedArgs.push((tx) => tx.object.system());\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet arg;\n\t\tif (Array.isArray(args)) {\n\t\t\tif (index >= args.length) {\n\t\t\t\tthrow new PASClientError(\n\t\t\t\t\t`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\targ = args[index];\n\t\t} else {\n\t\t\tif (!parameterNames) {\n\t\t\t\tthrow new PASClientError(`Expected arguments to be passed as an array`);\n\t\t\t}\n\t\t\tconst name = parameterNames[index];\n\t\t\targ = args[name as keyof typeof args];\n\n\t\t\tif (arg === undefined) {\n\t\t\t\tthrow new PASClientError(`Parameter ${name} is required`);\n\t\t\t}\n\t\t}\n\n\t\tindex += 1;\n\n\t\tif (typeof arg === 'function' || isArgument(arg)) {\n\t\t\tnormalizedArgs.push(arg as TransactionArgument);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst type = argTypes[i];\n\t\tconst bcsType = type === null ? null : getPureBcsSchema(type);\n\n\t\tif (bcsType) {\n\t\t\tconst bytes = bcsType.serialize(arg as never);\n\t\t\tnormalizedArgs.push((tx) => tx.pure(bytes));\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (typeof arg === 'string') {\n\t\t\tnormalizedArgs.push((tx) => tx.object(arg));\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new PASClientError(`Invalid argument ${stringify(arg)} for type ${type}`);\n\t}\n\n\treturn normalizedArgs;\n}\n\nexport class MoveStruct<\n\tT extends Record<string, BcsType<any>>,\n\tconst Name extends string = string,\n> extends BcsStruct<T, Name> {\n\tasync get<Include extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {}>({\n\t\tobjectId,\n\t\t...options\n\t}: GetOptions<Include>): Promise<\n\t\tSuiClientTypes.Object<Include & { content: true; json: true }> & {\n\t\t\tjson: BcsStruct<T>['$inferType'];\n\t\t}\n\t> {\n\t\tconst [res] = await this.getMany<Include>({\n\t\t\t...options,\n\t\t\tobjectIds: [objectId],\n\t\t});\n\n\t\treturn res;\n\t}\n\n\tasync getMany<Include extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {}>({\n\t\tclient,\n\t\t...options\n\t}: GetManyOptions<Include>): Promise<\n\t\tArray<\n\t\t\tSuiClientTypes.Object<Include & { content: true; json: true }> & {\n\t\t\t\tjson: BcsStruct<T>['$inferType'];\n\t\t\t}\n\t\t>\n\t> {\n\t\tconst response = (await client.core.getObjects({\n\t\t\t...options,\n\t\t\tinclude: {\n\t\t\t\t...options.include,\n\t\t\t\tcontent: true,\n\t\t\t},\n\t\t})) as SuiClientTypes.GetObjectsResponse<Include & { content: true }>;\n\n\t\treturn response.objects.map((obj) => {\n\t\t\tif (obj instanceof Error) {\n\t\t\t\tthrow obj;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...obj,\n\t\t\t\tjson: this.parse(obj.content),\n\t\t\t};\n\t\t});\n\t}\n}\n\nexport class MoveEnum<\n\tT extends Record<string, BcsType<any> | null>,\n\tconst Name extends string,\n> extends BcsEnum<T, Name> {}\n\nexport class MoveTuple<\n\tconst T extends readonly BcsType<any>[],\n\tconst Name extends string,\n> extends BcsTuple<T, Name> {}\n\nfunction stringify(val: unknown) {\n\tif (typeof val === 'object') {\n\t\treturn JSON.stringify(val, (val: unknown) => val);\n\t}\n\tif (typeof val === 'bigint') {\n\t\treturn val.toString();\n\t}\n\n\treturn val;\n}\n"],"mappings":";;;;;AAeA,MAAM,sBAAsB,oBAAoB,MAAM;AACtD,MAAM,wBAAwB,oBAAoB,MAAM;AAiJxD,IAAa,aAAb,cAGU,UAAmB;CAC5B,MAAM,IAAiF,EACtF,UACA,GAAG,WAKF;EACD,MAAM,CAAC,OAAO,MAAM,KAAK,QAAiB;GACzC,GAAG;GACH,WAAW,CAAC,SAAS;GACrB,CAAC;AAEF,SAAO;;CAGR,MAAM,QAAqF,EAC1F,QACA,GAAG,WAOF;AASD,UARkB,MAAM,OAAO,KAAK,WAAW;GAC9C,GAAG;GACH,SAAS;IACR,GAAG,QAAQ;IACX,SAAS;IACT;GACD,CAAC,EAEc,QAAQ,KAAK,QAAQ;AACpC,OAAI,eAAe,MAClB,OAAM;AAGP,UAAO;IACN,GAAG;IACH,MAAM,KAAK,MAAM,IAAI,QAAQ;IAC7B;IACA;;;AAIJ,IAAa,WAAb,cAGU,QAAiB;AAE3B,IAAa,YAAb,cAGU,SAAkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mysten/pas",
3
- "version": "0.0.3",
3
+ "version": "0.1.0",
4
4
  "private": false,
5
5
  "description": "Permissioned Assets Standard SDK",
6
6
  "license": "Apache-2.0",
@@ -37,11 +37,11 @@
37
37
  "tsdown": "0.20.0-beta.1",
38
38
  "typescript": "^5.9.3",
39
39
  "vitest": "^4.0.17",
40
- "@mysten/codegen": "^0.8.4",
41
- "@mysten/sui": "^2.15.0"
40
+ "@mysten/codegen": "^0.10.0",
41
+ "@mysten/sui": "^2.16.0"
42
42
  },
43
43
  "peerDependencies": {
44
- "@mysten/sui": "^2.15.0"
44
+ "@mysten/sui": "^2.16.0"
45
45
  },
46
46
  "scripts": {
47
47
  "clean": "rm -rf tsconfig.tsbuildinfo ./dist",
@@ -11,7 +11,7 @@ import {
11
11
  type RawTransactionArgument,
12
12
  } from '../utils/index.js';
13
13
  import { bcs } from '@mysten/sui/bcs';
14
- import { type Transaction } from '@mysten/sui/transactions';
14
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
15
15
  import * as versioning from './versioning.js';
16
16
  const $moduleName = '@mysten/pas::account';
17
17
  export const Account = new MoveStruct({
@@ -105,7 +105,7 @@ export function createAndShare(options: CreateAndShareOptions) {
105
105
  }
106
106
  export interface UnlockBalanceArguments {
107
107
  account: RawTransactionArgument<string>;
108
- auth: RawTransactionArgument<string>;
108
+ auth: TransactionArgument;
109
109
  amount: RawTransactionArgument<number | bigint>;
110
110
  }
111
111
  export interface UnlockBalanceOptions {
@@ -114,7 +114,7 @@ export interface UnlockBalanceOptions {
114
114
  | UnlockBalanceArguments
115
115
  | [
116
116
  account: RawTransactionArgument<string>,
117
- auth: RawTransactionArgument<string>,
117
+ auth: TransactionArgument,
118
118
  amount: RawTransactionArgument<number | bigint>,
119
119
  ];
120
120
  typeArguments: [string];
@@ -139,7 +139,7 @@ export function unlockBalance(options: UnlockBalanceOptions) {
139
139
  }
140
140
  export interface SendBalanceArguments {
141
141
  from: RawTransactionArgument<string>;
142
- auth: RawTransactionArgument<string>;
142
+ auth: TransactionArgument;
143
143
  to: RawTransactionArgument<string>;
144
144
  amount: RawTransactionArgument<number | bigint>;
145
145
  }
@@ -149,7 +149,7 @@ export interface SendBalanceOptions {
149
149
  | SendBalanceArguments
150
150
  | [
151
151
  from: RawTransactionArgument<string>,
152
- auth: RawTransactionArgument<string>,
152
+ auth: TransactionArgument,
153
153
  to: RawTransactionArgument<string>,
154
154
  amount: RawTransactionArgument<number | bigint>,
155
155
  ];
@@ -201,7 +201,7 @@ export function clawbackBalance(options: ClawbackBalanceOptions) {
201
201
  }
202
202
  export interface UnsafeSendBalanceArguments {
203
203
  from: RawTransactionArgument<string>;
204
- auth: RawTransactionArgument<string>;
204
+ auth: TransactionArgument;
205
205
  recipientAddress: RawTransactionArgument<string>;
206
206
  amount: RawTransactionArgument<number | bigint>;
207
207
  }
@@ -211,7 +211,7 @@ export interface UnsafeSendBalanceOptions {
211
211
  | UnsafeSendBalanceArguments
212
212
  | [
213
213
  from: RawTransactionArgument<string>,
214
- auth: RawTransactionArgument<string>,
214
+ auth: TransactionArgument,
215
215
  recipientAddress: RawTransactionArgument<string>,
216
216
  amount: RawTransactionArgument<number | bigint>,
217
217
  ];
@@ -296,13 +296,13 @@ export function owner(options: OwnerOptions) {
296
296
  }
297
297
  export interface DepositBalanceArguments {
298
298
  account: RawTransactionArgument<string>;
299
- balance: RawTransactionArgument<string>;
299
+ balance: TransactionArgument;
300
300
  }
301
301
  export interface DepositBalanceOptions {
302
302
  package?: string;
303
303
  arguments:
304
304
  | DepositBalanceArguments
305
- | [account: RawTransactionArgument<string>, balance: RawTransactionArgument<string>];
305
+ | [account: RawTransactionArgument<string>, balance: TransactionArgument];
306
306
  typeArguments: [string];
307
307
  }
308
308
  export function depositBalance(options: DepositBalanceOptions) {
@@ -3,7 +3,7 @@
3
3
  **************************************************************/
4
4
  import { type BcsType, bcs } from '@mysten/sui/bcs';
5
5
  import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
6
- import { type Transaction } from '@mysten/sui/transactions';
6
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
7
7
  const $moduleName = '@mysten/pas::clawback_funds';
8
8
  export function ClawbackFunds<T extends BcsType<any>>(...typeParameters: [T]) {
9
9
  return new MoveStruct({
@@ -19,11 +19,11 @@ export function ClawbackFunds<T extends BcsType<any>>(...typeParameters: [T]) {
19
19
  });
20
20
  }
21
21
  export interface OwnerArguments {
22
- request: RawTransactionArgument<string>;
22
+ request: TransactionArgument;
23
23
  }
24
24
  export interface OwnerOptions {
25
25
  package?: string;
26
- arguments: OwnerArguments | [request: RawTransactionArgument<string>];
26
+ arguments: OwnerArguments | [request: TransactionArgument];
27
27
  typeArguments: [string];
28
28
  }
29
29
  export function owner(options: OwnerOptions) {
@@ -40,11 +40,11 @@ export function owner(options: OwnerOptions) {
40
40
  });
41
41
  }
42
42
  export interface AccountIdArguments {
43
- request: RawTransactionArgument<string>;
43
+ request: TransactionArgument;
44
44
  }
45
45
  export interface AccountIdOptions {
46
46
  package?: string;
47
- arguments: AccountIdArguments | [request: RawTransactionArgument<string>];
47
+ arguments: AccountIdArguments | [request: TransactionArgument];
48
48
  typeArguments: [string];
49
49
  }
50
50
  export function accountId(options: AccountIdOptions) {
@@ -61,11 +61,11 @@ export function accountId(options: AccountIdOptions) {
61
61
  });
62
62
  }
63
63
  export interface FundsArguments {
64
- request: RawTransactionArgument<string>;
64
+ request: TransactionArgument;
65
65
  }
66
66
  export interface FundsOptions {
67
67
  package?: string;
68
- arguments: FundsArguments | [request: RawTransactionArgument<string>];
68
+ arguments: FundsArguments | [request: TransactionArgument];
69
69
  typeArguments: [string];
70
70
  }
71
71
  export function funds(options: FundsOptions) {
@@ -82,14 +82,14 @@ export function funds(options: FundsOptions) {
82
82
  });
83
83
  }
84
84
  export interface ResolveArguments {
85
- request: RawTransactionArgument<string>;
85
+ request: TransactionArgument;
86
86
  policy: RawTransactionArgument<string>;
87
87
  }
88
88
  export interface ResolveOptions {
89
89
  package?: string;
90
90
  arguments:
91
91
  | ResolveArguments
92
- | [request: RawTransactionArgument<string>, policy: RawTransactionArgument<string>];
92
+ | [request: TransactionArgument, policy: RawTransactionArgument<string>];
93
93
  typeArguments: [string];
94
94
  }
95
95
  /**
@@ -3,7 +3,7 @@
3
3
  **************************************************************/
4
4
  import { type BcsType } from '@mysten/sui/bcs';
5
5
  import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
6
- import { type Transaction } from '@mysten/sui/transactions';
6
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
7
7
  import * as vec_set from './deps/sui/vec_set.js';
8
8
  import * as type_name from './deps/std/type_name.js';
9
9
  const $moduleName = '@mysten/pas::request';
@@ -19,14 +19,14 @@ export function Request<K extends BcsType<any>>(...typeParameters: [K]) {
19
19
  });
20
20
  }
21
21
  export interface ApproveArguments<U extends BcsType<any>> {
22
- request: RawTransactionArgument<string>;
22
+ request: TransactionArgument;
23
23
  Approval: RawTransactionArgument<U>;
24
24
  }
25
25
  export interface ApproveOptions<U extends BcsType<any>> {
26
26
  package?: string;
27
27
  arguments:
28
28
  | ApproveArguments<U>
29
- | [request: RawTransactionArgument<string>, Approval: RawTransactionArgument<U>];
29
+ | [request: TransactionArgument, Approval: RawTransactionArgument<U>];
30
30
  typeArguments: [string, string];
31
31
  }
32
32
  /** Adds an approval to a request. Can be called to resolve rules */
@@ -44,11 +44,11 @@ export function approve<U extends BcsType<any>>(options: ApproveOptions<U>) {
44
44
  });
45
45
  }
46
46
  export interface DataArguments {
47
- request: RawTransactionArgument<string>;
47
+ request: TransactionArgument;
48
48
  }
49
49
  export interface DataOptions {
50
50
  package?: string;
51
- arguments: DataArguments | [request: RawTransactionArgument<string>];
51
+ arguments: DataArguments | [request: TransactionArgument];
52
52
  typeArguments: [string];
53
53
  }
54
54
  export function data(options: DataOptions) {
@@ -65,11 +65,11 @@ export function data(options: DataOptions) {
65
65
  });
66
66
  }
67
67
  export interface ApprovalsArguments {
68
- request: RawTransactionArgument<string>;
68
+ request: TransactionArgument;
69
69
  }
70
70
  export interface ApprovalsOptions {
71
71
  package?: string;
72
- arguments: ApprovalsArguments | [request: RawTransactionArgument<string>];
72
+ arguments: ApprovalsArguments | [request: TransactionArgument];
73
73
  typeArguments: [string];
74
74
  }
75
75
  export function approvals(options: ApprovalsOptions) {
@@ -3,7 +3,7 @@
3
3
  **************************************************************/
4
4
  import { type BcsType, bcs } from '@mysten/sui/bcs';
5
5
  import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
6
- import { type Transaction } from '@mysten/sui/transactions';
6
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
7
7
  const $moduleName = '@mysten/pas::send_funds';
8
8
  /**
9
9
  * A transfer request that is generated once a send funds request is initialized.
@@ -40,11 +40,11 @@ export function SendFunds<T extends BcsType<any>>(...typeParameters: [T]) {
40
40
  });
41
41
  }
42
42
  export interface SenderArguments {
43
- request: RawTransactionArgument<string>;
43
+ request: TransactionArgument;
44
44
  }
45
45
  export interface SenderOptions {
46
46
  package?: string;
47
- arguments: SenderArguments | [request: RawTransactionArgument<string>];
47
+ arguments: SenderArguments | [request: TransactionArgument];
48
48
  typeArguments: [string];
49
49
  }
50
50
  export function sender(options: SenderOptions) {
@@ -61,11 +61,11 @@ export function sender(options: SenderOptions) {
61
61
  });
62
62
  }
63
63
  export interface RecipientArguments {
64
- request: RawTransactionArgument<string>;
64
+ request: TransactionArgument;
65
65
  }
66
66
  export interface RecipientOptions {
67
67
  package?: string;
68
- arguments: RecipientArguments | [request: RawTransactionArgument<string>];
68
+ arguments: RecipientArguments | [request: TransactionArgument];
69
69
  typeArguments: [string];
70
70
  }
71
71
  export function recipient(options: RecipientOptions) {
@@ -82,11 +82,11 @@ export function recipient(options: RecipientOptions) {
82
82
  });
83
83
  }
84
84
  export interface SenderAccountIdArguments {
85
- request: RawTransactionArgument<string>;
85
+ request: TransactionArgument;
86
86
  }
87
87
  export interface SenderAccountIdOptions {
88
88
  package?: string;
89
- arguments: SenderAccountIdArguments | [request: RawTransactionArgument<string>];
89
+ arguments: SenderAccountIdArguments | [request: TransactionArgument];
90
90
  typeArguments: [string];
91
91
  }
92
92
  export function senderAccountId(options: SenderAccountIdOptions) {
@@ -103,11 +103,11 @@ export function senderAccountId(options: SenderAccountIdOptions) {
103
103
  });
104
104
  }
105
105
  export interface RecipientAccountIdArguments {
106
- request: RawTransactionArgument<string>;
106
+ request: TransactionArgument;
107
107
  }
108
108
  export interface RecipientAccountIdOptions {
109
109
  package?: string;
110
- arguments: RecipientAccountIdArguments | [request: RawTransactionArgument<string>];
110
+ arguments: RecipientAccountIdArguments | [request: TransactionArgument];
111
111
  typeArguments: [string];
112
112
  }
113
113
  export function recipientAccountId(options: RecipientAccountIdOptions) {
@@ -124,11 +124,11 @@ export function recipientAccountId(options: RecipientAccountIdOptions) {
124
124
  });
125
125
  }
126
126
  export interface FundsArguments {
127
- request: RawTransactionArgument<string>;
127
+ request: TransactionArgument;
128
128
  }
129
129
  export interface FundsOptions {
130
130
  package?: string;
131
- arguments: FundsArguments | [request: RawTransactionArgument<string>];
131
+ arguments: FundsArguments | [request: TransactionArgument];
132
132
  typeArguments: [string];
133
133
  }
134
134
  export function funds(options: FundsOptions) {
@@ -145,14 +145,14 @@ export function funds(options: FundsOptions) {
145
145
  });
146
146
  }
147
147
  export interface ResolveBalanceArguments {
148
- request: RawTransactionArgument<string>;
148
+ request: TransactionArgument;
149
149
  policy: RawTransactionArgument<string>;
150
150
  }
151
151
  export interface ResolveBalanceOptions {
152
152
  package?: string;
153
153
  arguments:
154
154
  | ResolveBalanceArguments
155
- | [request: RawTransactionArgument<string>, policy: RawTransactionArgument<string>];
155
+ | [request: TransactionArgument, policy: RawTransactionArgument<string>];
156
156
  typeArguments: [string];
157
157
  }
158
158
  /**
@@ -11,7 +11,7 @@
11
11
 
12
12
  import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
13
13
  import { bcs } from '@mysten/sui/bcs';
14
- import { type Transaction } from '@mysten/sui/transactions';
14
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
15
15
  const $moduleName = '@mysten/pas::templates';
16
16
  export const PAS = new MoveStruct({
17
17
  name: `${$moduleName}::PAS`,
@@ -47,8 +47,8 @@ export function setup(options: SetupOptions) {
47
47
  }
48
48
  export interface SetTemplateCommandArguments {
49
49
  templates: RawTransactionArgument<string>;
50
- _: RawTransactionArgument<string>;
51
- command: RawTransactionArgument<string>;
50
+ _: TransactionArgument;
51
+ command: TransactionArgument;
52
52
  }
53
53
  export interface SetTemplateCommandOptions {
54
54
  package?: string;
@@ -56,8 +56,8 @@ export interface SetTemplateCommandOptions {
56
56
  | SetTemplateCommandArguments
57
57
  | [
58
58
  templates: RawTransactionArgument<string>,
59
- _: RawTransactionArgument<string>,
60
- command: RawTransactionArgument<string>,
59
+ _: TransactionArgument,
60
+ command: TransactionArgument,
61
61
  ];
62
62
  typeArguments: [string];
63
63
  }
@@ -77,13 +77,13 @@ export function setTemplateCommand(options: SetTemplateCommandOptions) {
77
77
  }
78
78
  export interface UnsetTemplateCommandArguments {
79
79
  templates: RawTransactionArgument<string>;
80
- _: RawTransactionArgument<string>;
80
+ _: TransactionArgument;
81
81
  }
82
82
  export interface UnsetTemplateCommandOptions {
83
83
  package?: string;
84
84
  arguments:
85
85
  | UnsetTemplateCommandArguments
86
- | [templates: RawTransactionArgument<string>, _: RawTransactionArgument<string>];
86
+ | [templates: RawTransactionArgument<string>, _: TransactionArgument];
87
87
  typeArguments: [string];
88
88
  }
89
89
  export function unsetTemplateCommand(options: UnsetTemplateCommandOptions) {
@@ -3,7 +3,7 @@
3
3
  **************************************************************/
4
4
  import { type BcsType, bcs } from '@mysten/sui/bcs';
5
5
  import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
6
- import { type Transaction } from '@mysten/sui/transactions';
6
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
7
7
  const $moduleName = '@mysten/pas::unlock_funds';
8
8
  /**
9
9
  * An unlock funds request that is generated once a Permissioned Funds Transfer is
@@ -31,11 +31,11 @@ export function UnlockFunds<T extends BcsType<any>>(...typeParameters: [T]) {
31
31
  });
32
32
  }
33
33
  export interface OwnerArguments {
34
- request: RawTransactionArgument<string>;
34
+ request: TransactionArgument;
35
35
  }
36
36
  export interface OwnerOptions {
37
37
  package?: string;
38
- arguments: OwnerArguments | [request: RawTransactionArgument<string>];
38
+ arguments: OwnerArguments | [request: TransactionArgument];
39
39
  typeArguments: [string];
40
40
  }
41
41
  export function owner(options: OwnerOptions) {
@@ -52,11 +52,11 @@ export function owner(options: OwnerOptions) {
52
52
  });
53
53
  }
54
54
  export interface AccountIdArguments {
55
- request: RawTransactionArgument<string>;
55
+ request: TransactionArgument;
56
56
  }
57
57
  export interface AccountIdOptions {
58
58
  package?: string;
59
- arguments: AccountIdArguments | [request: RawTransactionArgument<string>];
59
+ arguments: AccountIdArguments | [request: TransactionArgument];
60
60
  typeArguments: [string];
61
61
  }
62
62
  export function accountId(options: AccountIdOptions) {
@@ -73,11 +73,11 @@ export function accountId(options: AccountIdOptions) {
73
73
  });
74
74
  }
75
75
  export interface FundsArguments {
76
- request: RawTransactionArgument<string>;
76
+ request: TransactionArgument;
77
77
  }
78
78
  export interface FundsOptions {
79
79
  package?: string;
80
- arguments: FundsArguments | [request: RawTransactionArgument<string>];
80
+ arguments: FundsArguments | [request: TransactionArgument];
81
81
  typeArguments: [string];
82
82
  }
83
83
  export function funds(options: FundsOptions) {
@@ -94,14 +94,14 @@ export function funds(options: FundsOptions) {
94
94
  });
95
95
  }
96
96
  export interface ResolveUnrestrictedBalanceArguments {
97
- request: RawTransactionArgument<string>;
97
+ request: TransactionArgument;
98
98
  namespace: RawTransactionArgument<string>;
99
99
  }
100
100
  export interface ResolveUnrestrictedBalanceOptions {
101
101
  package?: string;
102
102
  arguments:
103
103
  | ResolveUnrestrictedBalanceArguments
104
- | [request: RawTransactionArgument<string>, namespace: RawTransactionArgument<string>];
104
+ | [request: TransactionArgument, namespace: RawTransactionArgument<string>];
105
105
  typeArguments: [string];
106
106
  }
107
107
  /**
@@ -126,14 +126,14 @@ export function resolveUnrestrictedBalance(options: ResolveUnrestrictedBalanceOp
126
126
  });
127
127
  }
128
128
  export interface ResolveArguments {
129
- request: RawTransactionArgument<string>;
129
+ request: TransactionArgument;
130
130
  policy: RawTransactionArgument<string>;
131
131
  }
132
132
  export interface ResolveOptions {
133
133
  package?: string;
134
134
  arguments:
135
135
  | ResolveArguments
136
- | [request: RawTransactionArgument<string>, policy: RawTransactionArgument<string>];
136
+ | [request: TransactionArgument, policy: RawTransactionArgument<string>];
137
137
  typeArguments: [string];
138
138
  }
139
139
  /**
@@ -13,7 +13,7 @@
13
13
 
14
14
  import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';
15
15
  import { bcs } from '@mysten/sui/bcs';
16
- import { type Transaction } from '@mysten/sui/transactions';
16
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
17
17
  import * as vec_set from './deps/sui/vec_set.js';
18
18
  const $moduleName = '@mysten/pas::versioning';
19
19
  export const Versioning = new MoveStruct({
@@ -23,17 +23,14 @@ export const Versioning = new MoveStruct({
23
23
  },
24
24
  });
25
25
  export interface IsValidVersionArguments {
26
- versioning: RawTransactionArgument<string>;
26
+ versioning: TransactionArgument;
27
27
  version: RawTransactionArgument<number | bigint>;
28
28
  }
29
29
  export interface IsValidVersionOptions {
30
30
  package?: string;
31
31
  arguments:
32
32
  | IsValidVersionArguments
33
- | [
34
- versioning: RawTransactionArgument<string>,
35
- version: RawTransactionArgument<number | bigint>,
36
- ];
33
+ | [versioning: TransactionArgument, version: RawTransactionArgument<number | bigint>];
37
34
  }
38
35
  /** Verify that a version is not part of the blocked version list. */
39
36
  export function isValidVersion(options: IsValidVersionOptions) {
@@ -49,11 +46,11 @@ export function isValidVersion(options: IsValidVersionOptions) {
49
46
  });
50
47
  }
51
48
  export interface AssertIsValidVersionArguments {
52
- versioning: RawTransactionArgument<string>;
49
+ versioning: TransactionArgument;
53
50
  }
54
51
  export interface AssertIsValidVersionOptions {
55
52
  package?: string;
56
- arguments: AssertIsValidVersionArguments | [versioning: RawTransactionArgument<string>];
53
+ arguments: AssertIsValidVersionArguments | [versioning: TransactionArgument];
57
54
  }
58
55
  export function assertIsValidVersion(options: AssertIsValidVersionOptions) {
59
56
  const packageAddress = options.package ?? '@mysten/pas';
@@ -12,7 +12,10 @@ import {
12
12
  type RawTransactionArgument,
13
13
  } from '../utils/index.js';
14
14
  import { bcs, type BcsType } from '@mysten/sui/bcs';
15
- import { type Transaction as Transaction_1 } from '@mysten/sui/transactions';
15
+ import {
16
+ type Transaction as Transaction_1,
17
+ type TransactionArgument,
18
+ } from '@mysten/sui/transactions';
16
19
  const $moduleName = '@mysten/ptb::ptb';
17
20
  export const Command = new MoveTuple({
18
21
  name: `${$moduleName}::Command`,
@@ -532,14 +535,12 @@ export function extInputRaw(options: ExtInputRawOptions) {
532
535
  });
533
536
  }
534
537
  export interface CommandArguments {
535
- self: RawTransactionArgument<string>;
536
- command: RawTransactionArgument<string>;
538
+ self: TransactionArgument;
539
+ command: TransactionArgument;
537
540
  }
538
541
  export interface CommandOptions {
539
542
  package?: string;
540
- arguments:
541
- | CommandArguments
542
- | [self: RawTransactionArgument<string>, command: RawTransactionArgument<string>];
543
+ arguments: CommandArguments | [self: TransactionArgument, command: TransactionArgument];
543
544
  }
544
545
  /**
545
546
  * Register a command in the Transaction builder. Returns the Argument, which is
@@ -559,14 +560,12 @@ export function command(options: CommandOptions) {
559
560
  });
560
561
  }
561
562
  export interface NestedArguments {
562
- self: RawTransactionArgument<string>;
563
+ self: TransactionArgument;
563
564
  subIdx: RawTransactionArgument<number>;
564
565
  }
565
566
  export interface NestedOptions {
566
567
  package?: string;
567
- arguments:
568
- | NestedArguments
569
- | [self: RawTransactionArgument<string>, subIdx: RawTransactionArgument<number>];
568
+ arguments: NestedArguments | [self: TransactionArgument, subIdx: RawTransactionArgument<number>];
570
569
  }
571
570
  /**
572
571
  * Spawn a nested result out of a (just) `Result`. Simple result is a command
@@ -588,8 +587,8 @@ export interface MoveCallArguments {
588
587
  packageId: RawTransactionArgument<string>;
589
588
  moduleName: RawTransactionArgument<string>;
590
589
  function: RawTransactionArgument<string>;
591
- arguments: RawTransactionArgument<string[]>;
592
- typeArguments: RawTransactionArgument<string[]>;
590
+ arguments: TransactionArgument;
591
+ typeArguments: RawTransactionArgument<Array<string>>;
593
592
  }
594
593
  export interface MoveCallOptions {
595
594
  package?: string;
@@ -599,8 +598,8 @@ export interface MoveCallOptions {
599
598
  packageId: RawTransactionArgument<string>,
600
599
  moduleName: RawTransactionArgument<string>,
601
600
  function: RawTransactionArgument<string>,
602
- arguments: RawTransactionArgument<string[]>,
603
- typeArguments: RawTransactionArgument<string[]>,
601
+ arguments: TransactionArgument,
602
+ typeArguments: RawTransactionArgument<Array<string>>,
604
603
  ];
605
604
  }
606
605
  /** Create a `MoveCall` command. */
@@ -623,14 +622,12 @@ export function moveCall(options: MoveCallOptions) {
623
622
  });
624
623
  }
625
624
  export interface TransferObjectsArguments {
626
- objects: RawTransactionArgument<string[]>;
627
- to: RawTransactionArgument<string>;
625
+ objects: TransactionArgument;
626
+ to: TransactionArgument;
628
627
  }
629
628
  export interface TransferObjectsOptions {
630
629
  package?: string;
631
- arguments:
632
- | TransferObjectsArguments
633
- | [objects: RawTransactionArgument<string[]>, to: RawTransactionArgument<string>];
630
+ arguments: TransferObjectsArguments | [objects: TransactionArgument, to: TransactionArgument];
634
631
  }
635
632
  /**
636
633
  * Create a `TransferObjects` command Expects a vector of arguments to transfer and
@@ -649,14 +646,12 @@ export function transferObjects(options: TransferObjectsOptions) {
649
646
  });
650
647
  }
651
648
  export interface SplitCoinsArguments {
652
- coin: RawTransactionArgument<string>;
653
- amounts: RawTransactionArgument<string[]>;
649
+ coin: TransactionArgument;
650
+ amounts: TransactionArgument;
654
651
  }
655
652
  export interface SplitCoinsOptions {
656
653
  package?: string;
657
- arguments:
658
- | SplitCoinsArguments
659
- | [coin: RawTransactionArgument<string>, amounts: RawTransactionArgument<string[]>];
654
+ arguments: SplitCoinsArguments | [coin: TransactionArgument, amounts: TransactionArgument];
660
655
  }
661
656
  /** Create a `SplitCoins` command. */
662
657
  export function splitCoins(options: SplitCoinsOptions) {
@@ -672,14 +667,12 @@ export function splitCoins(options: SplitCoinsOptions) {
672
667
  });
673
668
  }
674
669
  export interface MergeCoinsArguments {
675
- coin: RawTransactionArgument<string>;
676
- coins: RawTransactionArgument<string[]>;
670
+ coin: TransactionArgument;
671
+ coins: TransactionArgument;
677
672
  }
678
673
  export interface MergeCoinsOptions {
679
674
  package?: string;
680
- arguments:
681
- | MergeCoinsArguments
682
- | [coin: RawTransactionArgument<string>, coins: RawTransactionArgument<string[]>];
675
+ arguments: MergeCoinsArguments | [coin: TransactionArgument, coins: TransactionArgument];
683
676
  }
684
677
  /**
685
678
  * Create a `MergeCoins` command. Takes a Coin Argument and a vector of other coin
@@ -698,16 +691,16 @@ export function mergeCoins(options: MergeCoinsOptions) {
698
691
  });
699
692
  }
700
693
  export interface PublishArguments {
701
- modulesBytes: RawTransactionArgument<number[][]>;
702
- dependencies: RawTransactionArgument<string[]>;
694
+ modulesBytes: RawTransactionArgument<Array<Array<number>>>;
695
+ dependencies: RawTransactionArgument<Array<string>>;
703
696
  }
704
697
  export interface PublishOptions {
705
698
  package?: string;
706
699
  arguments:
707
700
  | PublishArguments
708
701
  | [
709
- modulesBytes: RawTransactionArgument<number[][]>,
710
- dependencies: RawTransactionArgument<string[]>,
702
+ modulesBytes: RawTransactionArgument<Array<Array<number>>>,
703
+ dependencies: RawTransactionArgument<Array<string>>,
711
704
  ];
712
705
  }
713
706
  /**
@@ -731,16 +724,13 @@ export function publish(options: PublishOptions) {
731
724
  }
732
725
  export interface MakeMoveVecArguments {
733
726
  elementType: RawTransactionArgument<string | null>;
734
- elements: RawTransactionArgument<string[]>;
727
+ elements: TransactionArgument;
735
728
  }
736
729
  export interface MakeMoveVecOptions {
737
730
  package?: string;
738
731
  arguments:
739
732
  | MakeMoveVecArguments
740
- | [
741
- elementType: RawTransactionArgument<string | null>,
742
- elements: RawTransactionArgument<string[]>,
743
- ];
733
+ | [elementType: RawTransactionArgument<string | null>, elements: TransactionArgument];
744
734
  }
745
735
  /**
746
736
  * Create a `MakeMoveVec` command. Takes an optional element type and a vector of
@@ -762,20 +752,20 @@ export function makeMoveVec(options: MakeMoveVecOptions) {
762
752
  });
763
753
  }
764
754
  export interface UpgradeArguments {
765
- modulesBytes: RawTransactionArgument<number[][]>;
766
- dependencies: RawTransactionArgument<string[]>;
755
+ modulesBytes: RawTransactionArgument<Array<Array<number>>>;
756
+ dependencies: RawTransactionArgument<Array<string>>;
767
757
  objectId: RawTransactionArgument<string>;
768
- upgradeTicket: RawTransactionArgument<string>;
758
+ upgradeTicket: TransactionArgument;
769
759
  }
770
760
  export interface UpgradeOptions {
771
761
  package?: string;
772
762
  arguments:
773
763
  | UpgradeArguments
774
764
  | [
775
- modulesBytes: RawTransactionArgument<number[][]>,
776
- dependencies: RawTransactionArgument<string[]>,
765
+ modulesBytes: RawTransactionArgument<Array<Array<number>>>,
766
+ dependencies: RawTransactionArgument<Array<string>>,
777
767
  objectId: RawTransactionArgument<string>,
778
- upgradeTicket: RawTransactionArgument<string>,
768
+ upgradeTicket: TransactionArgument,
779
769
  ];
780
770
  }
781
771
  /**
@@ -800,11 +790,11 @@ export function upgrade(options: UpgradeOptions) {
800
790
  });
801
791
  }
802
792
  export interface ExtArguments {
803
- data: RawTransactionArgument<number[]>;
793
+ data: RawTransactionArgument<Array<number>>;
804
794
  }
805
795
  export interface ExtOptions {
806
796
  package?: string;
807
- arguments: ExtArguments | [data: RawTransactionArgument<number[]>];
797
+ arguments: ExtArguments | [data: RawTransactionArgument<Array<number>>];
808
798
  }
809
799
  /** Create an `Ext` command. */
810
800
  export function ext(options: ExtOptions) {
@@ -1,3 +1,5 @@
1
+ import { PASClientError } from '../../error.js';
2
+
1
3
  import {
2
4
  bcs,
3
5
  type BcsType,
@@ -10,24 +12,17 @@ import {
10
12
  import { normalizeSuiAddress } from '@mysten/sui/utils';
11
13
  import { type TransactionArgument, isArgument } from '@mysten/sui/transactions';
12
14
  import { type ClientWithCoreApi, type SuiClientTypes } from '@mysten/sui/client';
13
- import { PASClientError } from '../../error.js';
14
15
 
15
16
  const MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');
16
17
  const SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress('0x2');
17
18
 
18
19
  export type RawTransactionArgument<T> = T | TransactionArgument;
19
20
 
20
- export interface GetOptions<
21
- Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {},
22
- > extends SuiClientTypes.GetObjectOptions<Include> {
23
- client: ClientWithCoreApi;
24
- }
21
+ export type GetOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> =
22
+ SuiClientTypes.GetObjectOptions<Include> & { client: ClientWithCoreApi };
25
23
 
26
- export interface GetManyOptions<
27
- Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {},
28
- > extends SuiClientTypes.GetObjectsOptions<Include> {
29
- client: ClientWithCoreApi;
30
- }
24
+ export type GetManyOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'content'> = {}> =
25
+ SuiClientTypes.GetObjectsOptions<Include> & { client: ClientWithCoreApi };
31
26
 
32
27
  export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {
33
28
  const parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;
@@ -151,7 +146,9 @@ export function normalizeMoveArguments(
151
146
  const bytes = bcsType.serialize(arg as never);
152
147
  normalizedArgs.push((tx) => tx.pure(bytes));
153
148
  continue;
154
- } else if (typeof arg === 'string') {
149
+ }
150
+
151
+ if (typeof arg === 'string') {
155
152
  normalizedArgs.push((tx) => tx.object(arg));
156
153
  continue;
157
154
  }