UNPKG

@mysten/sui

Version:
1 lines 2.9 kB
{"version":3,"file":"object.mjs","names":[],"sources":["../../src/transactions/object.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Transaction, TransactionObjectInput } from './Transaction.js';\nimport { Inputs } from './Inputs.js';\nimport {\n\tMOVE_STDLIB_ADDRESS,\n\tSUI_CLOCK_OBJECT_ID,\n\tSUI_DENY_LIST_OBJECT_ID,\n\tSUI_RANDOM_OBJECT_ID,\n\tSUI_SYSTEM_STATE_OBJECT_ID,\n} from '../utils/index.js';\n\nexport function createObjectMethods<T>(makeObject: (value: TransactionObjectInput) => T) {\n\tfunction object(value: TransactionObjectInput) {\n\t\treturn makeObject(value);\n\t}\n\n\tobject.system = (options?: { mutable?: boolean }) => {\n\t\tconst mutable = options?.mutable;\n\n\t\tif (mutable !== undefined) {\n\t\t\treturn object(\n\t\t\t\tInputs.SharedObjectRef({\n\t\t\t\t\tobjectId: SUI_SYSTEM_STATE_OBJECT_ID,\n\t\t\t\t\tinitialSharedVersion: 1,\n\t\t\t\t\tmutable,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\treturn object({\n\t\t\t$kind: 'UnresolvedObject',\n\t\t\tUnresolvedObject: {\n\t\t\t\tobjectId: SUI_SYSTEM_STATE_OBJECT_ID,\n\t\t\t\tinitialSharedVersion: 1,\n\t\t\t},\n\t\t});\n\t};\n\tobject.clock = () =>\n\t\tobject(\n\t\t\tInputs.SharedObjectRef({\n\t\t\t\tobjectId: SUI_CLOCK_OBJECT_ID,\n\t\t\t\tinitialSharedVersion: 1,\n\t\t\t\tmutable: false,\n\t\t\t}),\n\t\t);\n\tobject.random = () =>\n\t\tobject({\n\t\t\t$kind: 'UnresolvedObject',\n\t\t\tUnresolvedObject: {\n\t\t\t\tobjectId: SUI_RANDOM_OBJECT_ID,\n\t\t\t\tmutable: false,\n\t\t\t},\n\t\t});\n\tobject.denyList = (options?: { mutable?: boolean }) => {\n\t\treturn object({\n\t\t\t$kind: 'UnresolvedObject',\n\t\t\tUnresolvedObject: {\n\t\t\t\tobjectId: SUI_DENY_LIST_OBJECT_ID,\n\t\t\t\tmutable: options?.mutable,\n\t\t\t},\n\t\t});\n\t};\n\tobject.option =\n\t\t({ type, value }: { type: string; value: TransactionObjectInput | null }) =>\n\t\t(tx: Transaction) =>\n\t\t\ttx.moveCall({\n\t\t\t\ttypeArguments: [type],\n\t\t\t\ttarget: `${MOVE_STDLIB_ADDRESS}::option::${value === null ? 'none' : 'some'}`,\n\t\t\t\targuments: value === null ? [] : [tx.object(value)],\n\t\t\t});\n\n\treturn object;\n}\n"],"mappings":";;;;AAaA,SAAgB,oBAAuB,YAAkD;CACxF,SAAS,OAAO,OAA+B;AAC9C,SAAO,WAAW,MAAM;;AAGzB,QAAO,UAAU,YAAoC;EACpD,MAAM,UAAU,SAAS;AAEzB,MAAI,YAAY,OACf,QAAO,OACN,OAAO,gBAAgB;GACtB,UAAU;GACV,sBAAsB;GACtB;GACA,CAAC,CACF;AAGF,SAAO,OAAO;GACb,OAAO;GACP,kBAAkB;IACjB,UAAU;IACV,sBAAsB;IACtB;GACD,CAAC;;AAEH,QAAO,cACN,OACC,OAAO,gBAAgB;EACtB,UAAU;EACV,sBAAsB;EACtB,SAAS;EACT,CAAC,CACF;AACF,QAAO,eACN,OAAO;EACN,OAAO;EACP,kBAAkB;GACjB,UAAU;GACV,SAAS;GACT;EACD,CAAC;AACH,QAAO,YAAY,YAAoC;AACtD,SAAO,OAAO;GACb,OAAO;GACP,kBAAkB;IACjB,UAAU;IACV,SAAS,SAAS;IAClB;GACD,CAAC;;AAEH,QAAO,UACL,EAAE,MAAM,aACR,OACA,GAAG,SAAS;EACX,eAAe,CAAC,KAAK;EACrB,QAAQ,GAAG,oBAAoB,YAAY,UAAU,OAAO,SAAS;EACrE,WAAW,UAAU,OAAO,EAAE,GAAG,CAAC,GAAG,OAAO,MAAM,CAAC;EACnD,CAAC;AAEJ,QAAO"}