UNPKG

@mysten/sui

Version:
1 lines 1.76 kB
{"version":3,"file":"NamedPackagesPlugin.mjs","names":[],"sources":["../../../src/transactions/plugins/NamedPackagesPlugin.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { findNamesInTransaction, replaceNames } from '../../client/mvr.js';\nimport type { BuildTransactionOptions } from '../resolve.js';\nimport type { TransactionDataBuilder } from '../TransactionData.js';\n\n/**\n * Internal plugin that automatically resolves MVR names in transactions.\n * This plugin is automatically added to all transactions and uses the client's\n * MVR resolver to convert .move names to on-chain addresses.\n */\nexport function namedPackagesPlugin() {\n\treturn async (\n\t\ttransactionData: TransactionDataBuilder,\n\t\tbuildOptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) => {\n\t\tconst names = findNamesInTransaction(transactionData);\n\n\t\tif (names.types.length === 0 && names.packages.length === 0) {\n\t\t\treturn next();\n\t\t}\n\n\t\tif (!buildOptions.client) {\n\t\t\tthrow new Error(\n\t\t\t\t`Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()`,\n\t\t\t);\n\t\t}\n\n\t\tconst resolved = await buildOptions.client.core.mvr.resolve({\n\t\t\ttypes: names.types,\n\t\t\tpackages: names.packages,\n\t\t});\n\n\t\treplaceNames(transactionData, resolved);\n\n\t\tawait next();\n\t};\n}\n"],"mappings":";;;;;;;;AAYA,SAAgB,sBAAsB;AACrC,QAAO,OACN,iBACA,cACA,SACI;EACJ,MAAM,QAAQ,uBAAuB,gBAAgB;AAErD,MAAI,MAAM,MAAM,WAAW,KAAK,MAAM,SAAS,WAAW,EACzD,QAAO,MAAM;AAGd,MAAI,CAAC,aAAa,OACjB,OAAM,IAAI,MACT,yHACA;AAQF,eAAa,iBALI,MAAM,aAAa,OAAO,KAAK,IAAI,QAAQ;GAC3D,OAAO,MAAM;GACb,UAAU,MAAM;GAChB,CAAC,CAEqC;AAEvC,QAAM,MAAM"}