{"version":3,"file":"auth.mjs","names":[],"sources":["../../../src/contracts/walrus/auth.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { MoveEnum, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs, type BcsType } from '@mysten/sui/bcs';\nimport { type Transaction } from '@mysten/sui/transactions';\nconst $moduleName = '@local-pkg/walrus::auth';\n/**\n * Authentication for either a sender or an object. Unlike the `Authorized` type,\n * it cannot be stored and must be used or ignored in the same transaction.\n */\nexport const Authenticated = new MoveEnum({\n\tname: `${$moduleName}::Authenticated`,\n\tfields: {\n\t\tSender: bcs.Address,\n\t\tObject: bcs.Address,\n\t},\n});\n/**\n * Defines the ways to authorize an action. It can be either an address - checked\n * with `ctx.sender()`, - or an object - checked with `object::id(..)`.\n */\nexport const Authorized = new MoveEnum({\n\tname: `${$moduleName}::Authorized`,\n\tfields: {\n\t\tAddress: bcs.Address,\n\t\tObjectID: bcs.Address,\n\t},\n});\nexport interface AuthenticateSenderOptions {\n\tpackage?: string;\n\targuments?: [];\n}\n/** Authenticates the sender as the authorizer. */\nexport function authenticateSender(options: AuthenticateSenderOptions = {}) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'auth',\n\t\t\tfunction: 'authenticate_sender',\n\t\t});\n}\nexport interface AuthenticateWithObjectArguments<T extends BcsType<any>> {\n\tobj: RawTransactionArgument<T>;\n}\nexport interface AuthenticateWithObjectOptions<T extends BcsType<any>> {\n\tpackage?: string;\n\targuments: AuthenticateWithObjectArguments<T> | [obj: RawTransactionArgument<T>];\n\ttypeArguments: [string];\n}\n/** Authenticates an object as the authorizer. */\nexport function authenticateWithObject<T extends BcsType<any>>(\n\toptions: AuthenticateWithObjectOptions<T>,\n) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = [`${options.typeArguments[0]}`] satisfies (string | null)[];\n\tconst parameterNames = ['obj'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'auth',\n\t\t\tfunction: 'authenticate_with_object',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AuthorizedAddressArguments {\n\taddr: RawTransactionArgument<string>;\n}\nexport interface AuthorizedAddressOptions {\n\tpackage?: string;\n\targuments: AuthorizedAddressArguments | [addr: RawTransactionArgument<string>];\n}\n/** Returns the `Authorized` as an address. */\nexport function authorizedAddress(options: AuthorizedAddressOptions) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = ['address'] satisfies (string | null)[];\n\tconst parameterNames = ['addr'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'auth',\n\t\t\tfunction: 'authorized_address',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AuthorizedObjectArguments {\n\tid: RawTransactionArgument<string>;\n}\nexport interface AuthorizedObjectOptions {\n\tpackage?: string;\n\targuments: AuthorizedObjectArguments | [id: RawTransactionArgument<string>];\n}\n/** Returns the `Authorized` as an object. */\nexport function authorizedObject(options: AuthorizedObjectOptions) {\n\tconst packageAddress = options.package ?? '@local-pkg/walrus';\n\tconst argumentsTypes = ['0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['id'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'auth',\n\t\t\tfunction: 'authorized_object',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;AAMA,MAAM,cAAc;;;;;AAKpB,MAAa,gBAAgB,IAAI,SAAS;CACzC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,QAAQ,IAAI;EACZ,QAAQ,IAAI;EACZ;CACD,CAAC;;;;;AAKF,MAAa,aAAa,IAAI,SAAS;CACtC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,SAAS,IAAI;EACb,UAAU,IAAI;EACd;CACD,CAAC"}