diff --git a/src/components/products/das-api/index.js b/src/components/products/das-api/index.js index 7f6c50142..34f839c33 100644 --- a/src/components/products/das-api/index.js +++ b/src/components/products/das-api/index.js @@ -67,11 +67,15 @@ export const das = { { title: 'Extension Overview', href: '/dev-tools/das-api/core-extension' }, { title: 'Get Core Asset', href: '/dev-tools/das-api/core-extension/methods/get-asset' }, { title: 'Get Core Collection', href: '/dev-tools/das-api/core-extension/methods/get-collection' }, + { title: 'Get Core Group', href: '/dev-tools/das-api/core-extension/methods/get-group' }, { title: 'Get Core Assets By Authority', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-authority' }, { title: 'Get Core Assets By Collection', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-collection' }, { title: 'Get Core Assets By Owner', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-owner' }, + { title: 'Get Core Assets By Group', href: '/dev-tools/das-api/core-extension/methods/get-assets-by-group' }, + { title: 'Get Grouping', href: '/dev-tools/das-api/core-extension/methods/get-grouping' }, { title: 'Search Core Assets', href: '/dev-tools/das-api/core-extension/methods/search-assets' }, { title: 'Search Core Collections', href: '/dev-tools/das-api/core-extension/methods/search-collections' }, + { title: 'Search Core Groups', href: '/dev-tools/das-api/core-extension/methods/search-groups' }, { title: 'Plugin Derivation', href: '/dev-tools/das-api/core-extension/plugin-derivation' }, { title: 'Type Conversion', href: '/dev-tools/das-api/core-extension/convert-das-asset-to-core' }, ], @@ -120,11 +124,14 @@ export const das = { 'Extension Overview': 'links.extensionOverview', 'Get Core Asset': 'links.getCoreAsset', 'Get Core Collection': 'links.getCoreCollection', + 'Get Core Group': 'links.getCoreGroup', 'Get Core Assets By Authority': 'links.getCoreAssetsByAuthority', 'Get Core Assets By Collection': 'links.getCoreAssetsByCollection', 'Get Core Assets By Owner': 'links.getCoreAssetsByOwner', + 'Get Core Assets By Group': 'links.getCoreAssetsByGroup', 'Search Core Assets': 'links.searchCoreAssets', 'Search Core Collections': 'links.searchCoreCollections', + 'Search Core Groups': 'links.searchCoreGroups', 'Plugin Derivation': 'links.pluginDerivation', 'Type Conversion': 'links.typeConversion' } diff --git a/src/config/navigation-translations.js b/src/config/navigation-translations.js index e1567fc2c..7d13b5688 100644 --- a/src/config/navigation-translations.js +++ b/src/config/navigation-translations.js @@ -282,6 +282,12 @@ export const NAVIGATION_TRANSLATIONS = { ko: 'Core 컬렉션 가져오기', zh: '获取Core合集' }, + getCoreGroup: { + en: 'Get Core Group', + ja: 'Coreグループの取得', + ko: 'Core 그룹 가져오기', + zh: '获取Core分组' + }, getCoreAssetsByAuthority: { en: 'Get Core Assets By Authority', ja: '権限別Coreアセットの取得', @@ -300,6 +306,12 @@ export const NAVIGATION_TRANSLATIONS = { ko: '소유자별 Core 에셋 가져오기', zh: '按所有者获取Core资产' }, + getCoreAssetsByGroup: { + en: 'Get Core Assets By Group', + ja: 'グループ別Coreアセットの取得', + ko: '그룹별 Core 에셋 가져오기', + zh: '按分组获取Core资产' + }, searchCoreAssets: { en: 'Search Core Assets', ja: 'Coreアセットの検索', @@ -312,6 +324,12 @@ export const NAVIGATION_TRANSLATIONS = { ko: 'Core 컬렉션 검색', zh: '搜索Core合集' }, + searchCoreGroups: { + en: 'Search Core Groups', + ja: 'Coreグループの検索', + ko: 'Core 그룹 검색', + zh: '搜索Core分组' + }, pluginDerivation: { en: 'Plugin Derivation', ja: 'プラグインの導出', diff --git a/src/examples/core/create-asset/index.js b/src/examples/core/create-asset/index.js index 688fe5862..2402b9244 100644 --- a/src/examples/core/create-asset/index.js +++ b/src/examples/core/create-asset/index.js @@ -36,7 +36,7 @@ const cliSections = { "setup": "", "main": "", "output": "", - "full": "# Create an NFT using the Metaplex CLI\n\n# Interactive wizard mode (recommended)\nmplx core asset create --wizard\n\n# Simple creation with name and URI\nmplx core asset create --name \"My NFT\" --uri \"https://example.com/metadata.json\"\n\n# Create with files (image + metadata)\nmplx core asset create --files --image \"./my-nft.png\" --offchain \"./metadata.json\"\n\n# Create with a vanity asset address\nmplx core asset create \\\n --name \"My NFT\" \\\n --uri \"https://example.com/metadata.json\" \\\n --mint-keypair ./vanity-asset.json\n" + "full": "# Create an NFT using the Metaplex CLI\n\n# Interactive wizard mode (recommended)\nmplx core asset create --wizard\n\n# Simple creation with name and URI\nmplx core asset create --name \"My NFT\" --uri \"https://example.com/metadata.json\"\n\n# Create with files (image + metadata)\nmplx core asset create --files --image \"./my-nft.png\" --json \"./metadata.json\"\n" } export const metadata = { diff --git a/src/examples/das-api/core-extension/convert-to-asset/index.js b/src/examples/das-api/core-extension/convert-to-asset/index.js new file mode 100644 index 000000000..128744976 --- /dev/null +++ b/src/examples/das-api/core-extension/convert-to-asset/index.js @@ -0,0 +1,32 @@ +/** + * Example: convert-to-asset + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') })\n\nconst dasCoreAssets = dasAssets.items.filter((a) => a.interface === 'MplCoreAsset')\n\nconst coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets)", + "output": "console.log(coreAssets)", + "full": "// [IMPORTS]\nimport { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') })\n\nconst dasCoreAssets = dasAssets.items.filter((a) => a.interface === 'MplCoreAsset')\n\nconst coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets)\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(coreAssets)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "convert-to-asset", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/convert-to-asset/umi.js b/src/examples/das-api/core-extension/convert-to-asset/umi.js new file mode 100644 index 000000000..921134cf3 --- /dev/null +++ b/src/examples/das-api/core-extension/convert-to-asset/umi.js @@ -0,0 +1,22 @@ +// [IMPORTS] +import { publicKey } from '@metaplex-foundation/umi' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') }) + +const dasCoreAssets = dasAssets.items.filter((a) => a.interface === 'MplCoreAsset') + +const coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets) +// [/MAIN] + +// [OUTPUT] +console.log(coreAssets) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/convert-to-collection/index.js b/src/examples/das-api/core-extension/convert-to-collection/index.js new file mode 100644 index 000000000..a271fab7d --- /dev/null +++ b/src/examples/das-api/core-extension/convert-to-collection/index.js @@ -0,0 +1,32 @@ +/** + * Example: convert-to-collection + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') })\n\nconst dasCoreCollections = dasAssets.items.filter(\n (a) => a.interface === 'MplCoreCollection'\n)\n\nconst coreCollections = dasCoreCollections.map((item) =>\n das.dasAssetToCoreCollection(item)\n)", + "output": "console.log(coreCollections)", + "full": "// [IMPORTS]\nimport { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') })\n\nconst dasCoreCollections = dasAssets.items.filter(\n (a) => a.interface === 'MplCoreCollection'\n)\n\nconst coreCollections = dasCoreCollections.map((item) =>\n das.dasAssetToCoreCollection(item)\n)\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(coreCollections)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "convert-to-collection", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/convert-to-collection/umi.js b/src/examples/das-api/core-extension/convert-to-collection/umi.js new file mode 100644 index 000000000..2b24a0cea --- /dev/null +++ b/src/examples/das-api/core-extension/convert-to-collection/umi.js @@ -0,0 +1,26 @@ +// [IMPORTS] +import { publicKey } from '@metaplex-foundation/umi' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') }) + +const dasCoreCollections = dasAssets.items.filter( + (a) => a.interface === 'MplCoreCollection' +) + +const coreCollections = dasCoreCollections.map((item) => + das.dasAssetToCoreCollection(item) +) +// [/MAIN] + +// [OUTPUT] +console.log(coreCollections) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/convert-to-group/index.js b/src/examples/das-api/core-extension/convert-to-group/index.js new file mode 100644 index 000000000..0bfff8633 --- /dev/null +++ b/src/examples/das-api/core-extension/convert-to-group/index.js @@ -0,0 +1,32 @@ +/** + * Example: convert-to-group + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const dasGroup = await umi.rpc.getAsset(publicKey(''))\n\nconst coreGroup = das.dasAssetToCoreGroup(dasGroup)", + "output": "console.log(coreGroup)", + "full": "// [IMPORTS]\nimport { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst dasGroup = await umi.rpc.getAsset(publicKey(''))\n\nconst coreGroup = das.dasAssetToCoreGroup(dasGroup)\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(coreGroup)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "convert-to-group", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/convert-to-group/umi.js b/src/examples/das-api/core-extension/convert-to-group/umi.js new file mode 100644 index 000000000..617811353 --- /dev/null +++ b/src/examples/das-api/core-extension/convert-to-group/umi.js @@ -0,0 +1,20 @@ +// [IMPORTS] +import { publicKey } from '@metaplex-foundation/umi' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const dasGroup = await umi.rpc.getAsset(publicKey('')) + +const coreGroup = das.dasAssetToCoreGroup(dasGroup) +// [/MAIN] + +// [OUTPUT] +console.log(coreGroup) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-asset/index.js b/src/examples/das-api/core-extension/get-asset/index.js new file mode 100644 index 000000000..dd125fae1 --- /dev/null +++ b/src/examples/das-api/core-extension/get-asset/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-asset + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())\nconst assetId = publicKey('')", + "main": "const asset = await das.getAsset(umi, assetId)", + "output": "console.log(asset)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\nconst assetId = publicKey('')\n// [/SETUP]\n\n// [MAIN]\nconst asset = await das.getAsset(umi, assetId)\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(asset)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-asset", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-asset/umi.js b/src/examples/das-api/core-extension/get-asset/umi.js new file mode 100644 index 000000000..771ce7c8a --- /dev/null +++ b/src/examples/das-api/core-extension/get-asset/umi.js @@ -0,0 +1,19 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +const assetId = publicKey('') +// [/SETUP] + +// [MAIN] +const asset = await das.getAsset(umi, assetId) +// [/MAIN] + +// [OUTPUT] +console.log(asset) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-assets-by-authority/index.js b/src/examples/das-api/core-extension/get-assets-by-authority/index.js new file mode 100644 index 000000000..9d6904769 --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-authority/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-assets-by-authority + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const assets = await das.getAssetsByAuthority(umi, {\n authority: publicKey(''),\n})", + "output": "console.log(assets)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst assets = await das.getAssetsByAuthority(umi, {\n authority: publicKey(''),\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(assets)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-assets-by-authority", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-assets-by-authority/umi.js b/src/examples/das-api/core-extension/get-assets-by-authority/umi.js new file mode 100644 index 000000000..eac37e9b3 --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-authority/umi.js @@ -0,0 +1,20 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const assets = await das.getAssetsByAuthority(umi, { + authority: publicKey(''), +}) +// [/MAIN] + +// [OUTPUT] +console.log(assets) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-assets-by-collection/index.js b/src/examples/das-api/core-extension/get-assets-by-collection/index.js new file mode 100644 index 000000000..25c8072b9 --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-collection/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-assets-by-collection + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())\nconst collection = publicKey('')", + "main": "const assets = await das.getAssetsByCollection(umi, { collection })", + "output": "console.log(assets)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\nconst collection = publicKey('')\n// [/SETUP]\n\n// [MAIN]\nconst assets = await das.getAssetsByCollection(umi, { collection })\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(assets)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-assets-by-collection", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-assets-by-collection/umi.js b/src/examples/das-api/core-extension/get-assets-by-collection/umi.js new file mode 100644 index 000000000..e852f5247 --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-collection/umi.js @@ -0,0 +1,19 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +const collection = publicKey('') +// [/SETUP] + +// [MAIN] +const assets = await das.getAssetsByCollection(umi, { collection }) +// [/MAIN] + +// [OUTPUT] +console.log(assets) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-assets-by-group/index.js b/src/examples/das-api/core-extension/get-assets-by-group/index.js new file mode 100644 index 000000000..3390b131b --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-group/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-assets-by-group + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())\nconst group = publicKey('')", + "main": "const members = await das.getAssetsByGroup(umi, {\n group,\n skipDerivePlugins: true,\n})", + "output": "console.log(members)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\nconst group = publicKey('')\n// [/SETUP]\n\n// [MAIN]\nconst members = await das.getAssetsByGroup(umi, {\n group,\n skipDerivePlugins: true,\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(members)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-assets-by-group", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-assets-by-group/umi.js b/src/examples/das-api/core-extension/get-assets-by-group/umi.js new file mode 100644 index 000000000..89b4c873d --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-group/umi.js @@ -0,0 +1,22 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +const group = publicKey('') +// [/SETUP] + +// [MAIN] +const members = await das.getAssetsByGroup(umi, { + group, + skipDerivePlugins: true, +}) +// [/MAIN] + +// [OUTPUT] +console.log(members) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-assets-by-owner/index.js b/src/examples/das-api/core-extension/get-assets-by-owner/index.js new file mode 100644 index 000000000..69abd60e8 --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-owner/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-assets-by-owner + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())\nconst owner = publicKey('')", + "main": "const assets = await das.getAssetsByOwner(umi, { owner })", + "output": "console.log(assets)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\nconst owner = publicKey('')\n// [/SETUP]\n\n// [MAIN]\nconst assets = await das.getAssetsByOwner(umi, { owner })\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(assets)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-assets-by-owner", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-assets-by-owner/umi.js b/src/examples/das-api/core-extension/get-assets-by-owner/umi.js new file mode 100644 index 000000000..4f505fc97 --- /dev/null +++ b/src/examples/das-api/core-extension/get-assets-by-owner/umi.js @@ -0,0 +1,19 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +const owner = publicKey('') +// [/SETUP] + +// [MAIN] +const assets = await das.getAssetsByOwner(umi, { owner }) +// [/MAIN] + +// [OUTPUT] +console.log(assets) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-collection/index.js b/src/examples/das-api/core-extension/get-collection/index.js new file mode 100644 index 000000000..72c3e7269 --- /dev/null +++ b/src/examples/das-api/core-extension/get-collection/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-collection + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())\nconst collectionId = publicKey('')", + "main": "const collection = await das.getCollection(umi, collectionId)", + "output": "console.log(collection)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\nconst collectionId = publicKey('')\n// [/SETUP]\n\n// [MAIN]\nconst collection = await das.getCollection(umi, collectionId)\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(collection)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-collection", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-collection/umi.js b/src/examples/das-api/core-extension/get-collection/umi.js new file mode 100644 index 000000000..b90b1acc7 --- /dev/null +++ b/src/examples/das-api/core-extension/get-collection/umi.js @@ -0,0 +1,19 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +const collectionId = publicKey('') +// [/SETUP] + +// [MAIN] +const collection = await das.getCollection(umi, collectionId) +// [/MAIN] + +// [OUTPUT] +console.log(collection) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-collections-by-update-authority/index.js b/src/examples/das-api/core-extension/get-collections-by-update-authority/index.js new file mode 100644 index 000000000..727145c05 --- /dev/null +++ b/src/examples/das-api/core-extension/get-collections-by-update-authority/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-collections-by-update-authority + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const collections = await das.getCollectionsByUpdateAuthority(umi, {\n updateAuthority: publicKey(''),\n})", + "output": "console.log(collections)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst collections = await das.getCollectionsByUpdateAuthority(umi, {\n updateAuthority: publicKey(''),\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(collections)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-collections-by-update-authority", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-collections-by-update-authority/umi.js b/src/examples/das-api/core-extension/get-collections-by-update-authority/umi.js new file mode 100644 index 000000000..18494cb9a --- /dev/null +++ b/src/examples/das-api/core-extension/get-collections-by-update-authority/umi.js @@ -0,0 +1,20 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const collections = await das.getCollectionsByUpdateAuthority(umi, { + updateAuthority: publicKey(''), +}) +// [/MAIN] + +// [OUTPUT] +console.log(collections) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-group/index.js b/src/examples/das-api/core-extension/get-group/index.js new file mode 100644 index 000000000..1d498d2fd --- /dev/null +++ b/src/examples/das-api/core-extension/get-group/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-group + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())\nconst groupId = publicKey('')", + "main": "const group = await das.getGroup(umi, groupId)", + "output": "console.log(group.name, group.updateAuthority)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\nconst groupId = publicKey('')\n// [/SETUP]\n\n// [MAIN]\nconst group = await das.getGroup(umi, groupId)\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(group.name, group.updateAuthority)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-group", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-group/umi.js b/src/examples/das-api/core-extension/get-group/umi.js new file mode 100644 index 000000000..8013644fa --- /dev/null +++ b/src/examples/das-api/core-extension/get-group/umi.js @@ -0,0 +1,19 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +const groupId = publicKey('') +// [/SETUP] + +// [MAIN] +const group = await das.getGroup(umi, groupId) +// [/MAIN] + +// [OUTPUT] +console.log(group.name, group.updateAuthority) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-grouping/index.js b/src/examples/das-api/core-extension/get-grouping/index.js new file mode 100644 index 000000000..d835053be --- /dev/null +++ b/src/examples/das-api/core-extension/get-grouping/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-grouping + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const grouping = await das.getGrouping(umi, {\n groupKey: 'group',\n groupValue: publicKey(''),\n})", + "output": "console.log(grouping.group_name, grouping.group_size)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst grouping = await das.getGrouping(umi, {\n groupKey: 'group',\n groupValue: publicKey(''),\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(grouping.group_name, grouping.group_size)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-grouping", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-grouping/umi.js b/src/examples/das-api/core-extension/get-grouping/umi.js new file mode 100644 index 000000000..ca185c82d --- /dev/null +++ b/src/examples/das-api/core-extension/get-grouping/umi.js @@ -0,0 +1,21 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const grouping = await das.getGrouping(umi, { + groupKey: 'group', + groupValue: publicKey(''), +}) +// [/MAIN] + +// [OUTPUT] +console.log(grouping.group_name, grouping.group_size) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/get-groups-by-update-authority/index.js b/src/examples/das-api/core-extension/get-groups-by-update-authority/index.js new file mode 100644 index 000000000..efd74e34f --- /dev/null +++ b/src/examples/das-api/core-extension/get-groups-by-update-authority/index.js @@ -0,0 +1,32 @@ +/** + * Example: get-groups-by-update-authority + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const groups = await das.getGroupsByUpdateAuthority(umi, {\n updateAuthority: publicKey(''),\n})", + "output": "console.log(groups)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst groups = await das.getGroupsByUpdateAuthority(umi, {\n updateAuthority: publicKey(''),\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(groups)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "get-groups-by-update-authority", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/get-groups-by-update-authority/umi.js b/src/examples/das-api/core-extension/get-groups-by-update-authority/umi.js new file mode 100644 index 000000000..238eb8e0a --- /dev/null +++ b/src/examples/das-api/core-extension/get-groups-by-update-authority/umi.js @@ -0,0 +1,20 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const groups = await das.getGroupsByUpdateAuthority(umi, { + updateAuthority: publicKey(''), +}) +// [/MAIN] + +// [OUTPUT] +console.log(groups) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/manual-plugin-derivation/index.js b/src/examples/das-api/core-extension/manual-plugin-derivation/index.js new file mode 100644 index 000000000..ce1070346 --- /dev/null +++ b/src/examples/das-api/core-extension/manual-plugin-derivation/index.js @@ -0,0 +1,32 @@ +/** + * Example: manual-plugin-derivation + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { deriveAssetPlugins } from '@metaplex-foundation/mpl-core'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())\nconst collectionId = publicKey('')", + "main": "const collection = await das.getCollection(umi, collectionId)\nconst assetsByCollection = await das.getAssetsByCollection(umi, {\n collection: collection.publicKey,\n skipDerivePlugins: true,\n})\n\nconst derivedAssets = assetsByCollection.map((asset) =>\n deriveAssetPlugins(asset, collection)\n)", + "output": "console.log(derivedAssets)", + "full": "// [IMPORTS]\nimport { deriveAssetPlugins } from '@metaplex-foundation/mpl-core'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\nconst collectionId = publicKey('')\n// [/SETUP]\n\n// [MAIN]\nconst collection = await das.getCollection(umi, collectionId)\nconst assetsByCollection = await das.getAssetsByCollection(umi, {\n collection: collection.publicKey,\n skipDerivePlugins: true,\n})\n\nconst derivedAssets = assetsByCollection.map((asset) =>\n deriveAssetPlugins(asset, collection)\n)\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(derivedAssets)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "manual-plugin-derivation", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/manual-plugin-derivation/umi.js b/src/examples/das-api/core-extension/manual-plugin-derivation/umi.js new file mode 100644 index 000000000..f445188a6 --- /dev/null +++ b/src/examples/das-api/core-extension/manual-plugin-derivation/umi.js @@ -0,0 +1,28 @@ +// [IMPORTS] +import { deriveAssetPlugins } from '@metaplex-foundation/mpl-core' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +const collectionId = publicKey('') +// [/SETUP] + +// [MAIN] +const collection = await das.getCollection(umi, collectionId) +const assetsByCollection = await das.getAssetsByCollection(umi, { + collection: collection.publicKey, + skipDerivePlugins: true, +}) + +const derivedAssets = assetsByCollection.map((asset) => + deriveAssetPlugins(asset, collection) +) +// [/MAIN] + +// [OUTPUT] +console.log(derivedAssets) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/search-assets-agents/index.js b/src/examples/das-api/core-extension/search-assets-agents/index.js new file mode 100644 index 000000000..6892f8428 --- /dev/null +++ b/src/examples/das-api/core-extension/search-assets-agents/index.js @@ -0,0 +1,32 @@ +/** + * Example: search-assets-agents + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const agents = await das.searchAssets(umi, {\n isAgent: true,\n // agentToken: publicKey(''),\n // assetSigner: publicKey(''),\n skipDerivePlugins: true,\n})", + "output": "// When indexed: agents[i].is_agent, .agent_token, .asset_signer\nconsole.log(agents)", + "full": "// [IMPORTS]\nimport { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst agents = await das.searchAssets(umi, {\n isAgent: true,\n // agentToken: publicKey(''),\n // assetSigner: publicKey(''),\n skipDerivePlugins: true,\n})\n// [/MAIN]\n\n// [OUTPUT]\n// When indexed: agents[i].is_agent, .agent_token, .asset_signer\nconsole.log(agents)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "search-assets-agents", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/search-assets-agents/umi.js b/src/examples/das-api/core-extension/search-assets-agents/umi.js new file mode 100644 index 000000000..84bb45658 --- /dev/null +++ b/src/examples/das-api/core-extension/search-assets-agents/umi.js @@ -0,0 +1,24 @@ +// [IMPORTS] +import { publicKey } from '@metaplex-foundation/umi' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const agents = await das.searchAssets(umi, { + isAgent: true, + // agentToken: publicKey(''), + // assetSigner: publicKey(''), + skipDerivePlugins: true, +}) +// [/MAIN] + +// [OUTPUT] +// When indexed: agents[i].is_agent, .agent_token, .asset_signer +console.log(agents) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/search-assets/index.js b/src/examples/das-api/core-extension/search-assets/index.js new file mode 100644 index 000000000..fb6fd7951 --- /dev/null +++ b/src/examples/das-api/core-extension/search-assets/index.js @@ -0,0 +1,32 @@ +/** + * Example: search-assets + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const assets = await das.searchAssets(umi, {\n owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'),\n jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',\n})", + "output": "console.log(assets)", + "full": "// [IMPORTS]\nimport { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst assets = await das.searchAssets(umi, {\n owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'),\n jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(assets)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "search-assets", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/search-assets/umi.js b/src/examples/das-api/core-extension/search-assets/umi.js new file mode 100644 index 000000000..032fd1693 --- /dev/null +++ b/src/examples/das-api/core-extension/search-assets/umi.js @@ -0,0 +1,21 @@ +// [IMPORTS] +import { publicKey } from '@metaplex-foundation/umi' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const assets = await das.searchAssets(umi, { + owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'), + jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA', +}) +// [/MAIN] + +// [OUTPUT] +console.log(assets) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/search-collections/index.js b/src/examples/das-api/core-extension/search-collections/index.js new file mode 100644 index 000000000..81e240b01 --- /dev/null +++ b/src/examples/das-api/core-extension/search-collections/index.js @@ -0,0 +1,32 @@ +/** + * Example: search-collections + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const collections = await das.searchCollections(umi, {\n owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'),\n jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',\n})", + "output": "console.log(collections)", + "full": "// [IMPORTS]\nimport { publicKey } from '@metaplex-foundation/umi'\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst collections = await das.searchCollections(umi, {\n owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'),\n jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(collections)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "search-collections", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/search-collections/umi.js b/src/examples/das-api/core-extension/search-collections/umi.js new file mode 100644 index 000000000..0c94cb3e4 --- /dev/null +++ b/src/examples/das-api/core-extension/search-collections/umi.js @@ -0,0 +1,21 @@ +// [IMPORTS] +import { publicKey } from '@metaplex-foundation/umi' +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const collections = await das.searchCollections(umi, { + owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'), + jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA', +}) +// [/MAIN] + +// [OUTPUT] +console.log(collections) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/search-groups/index.js b/src/examples/das-api/core-extension/search-groups/index.js new file mode 100644 index 000000000..4be2fd764 --- /dev/null +++ b/src/examples/das-api/core-extension/search-groups/index.js @@ -0,0 +1,32 @@ +/** + * Example: search-groups + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const groups = await das.searchGroups(umi, {\n authority: publicKey(''),\n limit: 50,\n})", + "output": "console.log(groups)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst groups = await das.searchGroups(umi, {\n authority: publicKey(''),\n limit: 50,\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(groups)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "search-groups", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/search-groups/umi.js b/src/examples/das-api/core-extension/search-groups/umi.js new file mode 100644 index 000000000..6a2b1d92c --- /dev/null +++ b/src/examples/das-api/core-extension/search-groups/umi.js @@ -0,0 +1,21 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const groups = await das.searchGroups(umi, { + authority: publicKey(''), + limit: 50, +}) +// [/MAIN] + +// [OUTPUT] +console.log(groups) +// [/OUTPUT] diff --git a/src/examples/das-api/core-extension/skip-derive-plugins/index.js b/src/examples/das-api/core-extension/skip-derive-plugins/index.js new file mode 100644 index 000000000..12d5cea60 --- /dev/null +++ b/src/examples/das-api/core-extension/skip-derive-plugins/index.js @@ -0,0 +1,32 @@ +/** + * Example: skip-derive-plugins + * + * + * + * This file is auto-generated by scripts/build-examples.js + * Edit the native .js/.ts and .rs files, then run: node scripts/build-examples.js + */ + +const umiSections = { + "imports": "import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'", + "setup": "const umi = createUmi('').use(dasApi())", + "main": "const assetsByOwner = await das.getAssetsByOwner(umi, {\n owner: publicKey(''),\n skipDerivePlugins: true,\n})", + "output": "console.log(assetsByOwner)", + "full": "// [IMPORTS]\nimport { createUmi } from '@metaplex-foundation/umi-bundle-defaults'\nimport { dasApi } from '@metaplex-foundation/digital-asset-standard-api'\nimport { das } from '@metaplex-foundation/mpl-core-das'\nimport { publicKey } from '@metaplex-foundation/umi'\n// [/IMPORTS]\n\n// [SETUP]\nconst umi = createUmi('').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst assetsByOwner = await das.getAssetsByOwner(umi, {\n owner: publicKey(''),\n skipDerivePlugins: true,\n})\n// [/MAIN]\n\n// [OUTPUT]\nconsole.log(assetsByOwner)\n// [/OUTPUT]\n" +} + +export const metadata = { + title: "skip-derive-plugins", + description: "", + tags: [], +} + +export const examples = { + umi: { + framework: 'Umi', + language: 'javascript', + code: umiSections.full, + sections: umiSections, + }, + +} diff --git a/src/examples/das-api/core-extension/skip-derive-plugins/umi.js b/src/examples/das-api/core-extension/skip-derive-plugins/umi.js new file mode 100644 index 000000000..75d23bf15 --- /dev/null +++ b/src/examples/das-api/core-extension/skip-derive-plugins/umi.js @@ -0,0 +1,21 @@ +// [IMPORTS] +import { createUmi } from '@metaplex-foundation/umi-bundle-defaults' +import { dasApi } from '@metaplex-foundation/digital-asset-standard-api' +import { das } from '@metaplex-foundation/mpl-core-das' +import { publicKey } from '@metaplex-foundation/umi' +// [/IMPORTS] + +// [SETUP] +const umi = createUmi('').use(dasApi()) +// [/SETUP] + +// [MAIN] +const assetsByOwner = await das.getAssetsByOwner(umi, { + owner: publicKey(''), + skipDerivePlugins: true, +}) +// [/MAIN] + +// [OUTPUT] +console.log(assetsByOwner) +// [/OUTPUT] diff --git a/src/examples/token-metadata/fungibles/create/index.js b/src/examples/token-metadata/fungibles/create/index.js index 8599a501c..668f98413 100644 --- a/src/examples/token-metadata/fungibles/create/index.js +++ b/src/examples/token-metadata/fungibles/create/index.js @@ -36,7 +36,7 @@ const cliSections = { "setup": "", "main": "", "output": "", - "full": "# Create a Fungible Token using the Metaplex CLI\n\n# Interactive wizard mode (recommended for beginners)\nmplx toolbox token create --wizard\n\n# Basic token creation (required: --name, --symbol, --mint-amount)\nmplx toolbox token create \\\n --name \"My Token\" \\\n --symbol \"MYT\" \\\n --mint-amount 1000000\n\n# Full token creation with all options\nmplx toolbox token create \\\n --name \"My Token\" \\\n --symbol \"MYT\" \\\n --description \"A fungible token on Solana\" \\\n --image ./token-image.png \\\n --decimals 9 \\\n --mint-amount 1000000000000000\n\n# Create with a vanity mint address\nmplx toolbox token create \\\n --name \"Cool Token\" \\\n --symbol \"COOL\" \\\n --mint-amount 1000000 \\\n --mint-keypair ./vanity-mint.json\n\n# Note: mint-amount is in smallest units\n# With --decimals 9, to mint 1,000,000 tokens: --mint-amount 1000000000000000\n# With --decimals 0 (default), to mint 1,000,000 tokens: --mint-amount 1000000\n" + "full": "# Create a Fungible Token using the Metaplex CLI\n\n# Interactive wizard mode (recommended for beginners)\nmplx toolbox token create --wizard\n\n# Basic token creation (required: --name, --symbol, --mint-amount)\nmplx toolbox token create \\\n --name \"My Token\" \\\n --symbol \"MYT\" \\\n --mint-amount 1000000\n\n# Full token creation with all options\nmplx toolbox token create \\\n --name \"My Token\" \\\n --symbol \"MYT\" \\\n --description \"A fungible token on Solana\" \\\n --image ./token-image.png \\\n --decimals 9 \\\n --mint-amount 1000000000000000\n\n# Note: mint-amount is in smallest units\n# With --decimals 9, to mint 1,000,000 tokens: --mint-amount 1000000000000000\n# With --decimals 0 (default), to mint 1,000,000 tokens: --mint-amount 1000000\n" } export const metadata = { diff --git a/src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md b/src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md index b637a4596..f6eb9ed8c 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md +++ b/src/pages/en/dev-tools/das-api/core-extension/convert-das-asset-to-core.md @@ -1,45 +1,53 @@ --- -title: Convert from standard DAS Asset to Core Asset or Collection type +title: Convert from standard DAS Asset to Core Asset, Collection, or Group metaTitle: Convert standard DAS to Core Type | DAS API Core Extension -description: Converts DAS Assets to Core Asset or Collection +description: Convert DAS API assets to MPL Core Asset, Collection, or Group types. +created: '07-22-2026' +updated: '07-22-2026' +keywords: + - dasAssetsToCoreAssets + - dasAssetToCoreCollection + - dasAssetToCoreGroup + - das to core conversion +about: + - DAS API + - MPL Core --- -If you are working with not only Core assets but other assets like Token Metadata, too, it might be useful to directly access the conversion helpers along side the other DAS asset types when fetching using `@metaplex-foundation/digital-asset-standard-api`. +## Summary -## Convert to Asset Example +When you mix Core with other standards (for example Token Metadata), fetch with `@metaplex-foundation/digital-asset-standard-api` then convert Core items with `mpl-core-das` helpers. -The following Example shows -1. How to fetch DAS Assets with the standard DAS API Package. -2. Filter the Assets to only have Core Assets -3. Cast all the Standard Assets to Core Assets +- `das.dasAssetsToCoreAssets` — `MplCoreAsset` → `AssetResult` +- `das.dasAssetToCoreCollection` — `MplCoreCollection` → `CollectionResult` +- `das.dasAssetToCoreGroup` — `MplCoreGroup` → `GroupResult` -```js -// ... standard setup for @metaplex-foundation/digital-asset-standard-api +## Convert to Asset Example {% #convert-to-asset-example %} -const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') }); +`das.dasAssetsToCoreAssets` converts filtered `MplCoreAsset` DAS items into Core `AssetResult` values. -// filter out only core assets -const dasCoreAssets = assets.items.filter((a) => a.interface === 'MplCoreAsset') +1. Fetch with the standard DAS package. +2. Filter to Core assets. +3. Convert to Core asset types. -// convert them to AssetV1 type (actually AssetResult type which will also have the content field populated from DAS) -const coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets) -``` +{% code-tabs-imported from="das-api/core-extension/convert-to-asset" frameworks="umi" /%} -## Convert to Collection Example +## Convert to Collection Example {% #convert-to-collection-example %} -The following Example shows -1. How to fetch DAS Collections with the standard DAS API Package. -2. Filter the Assets to only have Core Assets -3. Cast all the Standard Assets to Core Assets +`das.dasAssetToCoreCollection` converts a single `MplCoreCollection` DAS item into a Core `CollectionResult`. -```js -// ... standard setup for @metaplex-foundation/digital-asset-standard-api +{% code-tabs-imported from="das-api/core-extension/convert-to-collection" frameworks="umi" /%} -const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('') }); +## Convert to Group Example {% #convert-to-group-example %} -// filter out only core assets -const dasCoreAssets = assets.items.filter((a) => a.interface === 'MplCoreCollection') +`das.dasAssetToCoreGroup` converts a single `MplCoreGroup` DAS item into a Core `GroupResult`. -// convert them to AssetV1 type (actually AssetResult type which will also have the content field populated from DAS) -const coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets) -``` +{% code-tabs-imported from="das-api/core-extension/convert-to-group" frameworks="umi" /%} + +## Notes + +Conversion helpers validate the DAS `interface` and throw when the Core type does not match. + +- Conversion helpers throw if the DAS `interface` does not match the expected Core type. +- `GroupResult` membership vectors may be empty depending on the indexer — use [`fetchGroupV1`](/smart-contracts/core/groups) for authoritative membership. +- Prefer the dedicated Core fetch helpers (`das.getAsset`, `das.getCollection`, `das.getGroup`) when you only work with Core. diff --git a/src/pages/en/dev-tools/das-api/core-extension/index.md b/src/pages/en/dev-tools/das-api/core-extension/index.md index 54fe0b07d..74f7e2feb 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/index.md +++ b/src/pages/en/dev-tools/das-api/core-extension/index.md @@ -1,29 +1,88 @@ --- title: Core DAS API Extension -metaTitle: Methods | Core DAS API Extension -description: Digital Asset Standard API Extension for MPL Core +metaTitle: Overview | Core DAS API Extension +description: Digital Asset Standard API Extension for MPL Core — typed Core assets, collections, groups, and agent discovery. +created: '07-22-2026' +updated: '07-22-2026' +keywords: + - mpl-core-das + - core das extension + - das api core + - mpl core groups + - agent discovery +about: + - DAS API + - MPL Core + - mpl-core-das --- -In addition to the general DAS SDK an extension for [MPL Core](/smart-contracts/core) has been created that directly returns you the correct types to further use with the MPL Core SDKs. It also automatically derives the plugins in assets inherited from the collection and provides functions for [DAS-to-Core type conversions](/dev-tools/das-api/core-extension/convert-das-asset-to-core). +## Summary + +`@metaplex-foundation/mpl-core-das` is the DAS API extension for [MPL Core](/smart-contracts/core). It returns Core-typed results (`AssetV1`, `CollectionV1`, `GroupV1`) instead of raw DAS shapes. + +- Returns types ready for the MPL Core SDKs +- Automatically derives collection plugins on assets (optional to skip) +- Supports [Core Groups](/smart-contracts/core/groups), agent filters, and DAS-to-Core conversions +- Requires `@metaplex-foundation/digital-asset-standard-api` **≥ 2.1.0**. + +Install and setup: [Getting Started](/dev-tools/das-api/getting-started). ## Fetching -The Core DAS API Extension supports the following methods: -- [`getAsset`](/dev-tools/das-api/core-extension/methods/get-asset): Returns the information of a compressed/standard asset including metadata and owner. -- [`getCollection`](/dev-tools/das-api/core-extension/methods/get-collection): Returns the merkle tree proof information for a compressed asset. -- [`getAssetsByAuthority`](/dev-tools/das-api/core-extension/methods/get-assets-by-authority): Returns the list of assets given an authority address. -- [`getAssetsByCollection`](/dev-tools/das-api/core-extension/methods/get-assets-by-collection): Return the list of assets given a group (key, value) pair. For example this can be used to get all assets in a collection. -- [`getAssetsByOwner`](/dev-tools/das-api/core-extension/methods/get-assets-by-owner): Return the list of assets given an owner address. -- [`searchAssets`](/dev-tools/das-api/core-extension/methods/search-assets): Return the list of assets given a search criteria. -- [`searchCollections`](/dev-tools/das-api/core-extension/methods/search-collections): Return the list of collections given a search criteria. +The Core DAS API Extension exposes typed fetch, list, and search helpers for Core assets, collections, and groups. + +- [`getAsset`](/dev-tools/das-api/core-extension/methods/get-asset): Fetch a single Core asset by public key. +- [`getCollection`](/dev-tools/das-api/core-extension/methods/get-collection): Fetch a single Core collection by public key. +- [`getGroup`](/dev-tools/das-api/core-extension/methods/get-group): Fetch a single Core GroupV1 by public key. +- [`getAssetsByAuthority`](/dev-tools/das-api/core-extension/methods/get-assets-by-authority): List Core assets for an authority. +- [`getAssetsByCollection`](/dev-tools/das-api/core-extension/methods/get-assets-by-collection): List Core assets in a collection. +- [`getAssetsByOwner`](/dev-tools/das-api/core-extension/methods/get-assets-by-owner): List Core assets owned by a wallet. +- [`getAssetsByGroup`](/dev-tools/das-api/core-extension/methods/get-assets-by-group): List members of an mpl-core GroupV1 (`groupKey: "group"`). +- [`getGrouping`](/dev-tools/das-api/core-extension/methods/get-grouping): Return group name and indexed size without listing members. +- [`searchAssets`](/dev-tools/das-api/core-extension/methods/search-assets): Search Core assets (includes agent filters). +- [`searchCollections`](/dev-tools/das-api/core-extension/methods/search-collections): Search Core collections (includes by update authority). +- [`searchGroups`](/dev-tools/das-api/core-extension/methods/search-groups): Search Core groups (includes by update authority). ## Type Conversion -In addition to that it also provides functions to convert the usual DAS Asset type to Core Assets and Core Collections: -- [`dasAssetsToCoreAssets`](/dev-tools/das-api/core-extension/convert-das-asset-to-core#convert-to-asset-example): Convert a DAS Asset to Core Asset Type -- [`dasAssetsToCoreCollection`](/dev-tools/das-api/core-extension/convert-das-asset-to-core#convert-to-asset-example): Convert a DAS Asset to Core Collection Type + +Conversion helpers map raw DAS items into Core SDK types when you mix standards in one query. + +- [`dasAssetsToCoreAssets`](/dev-tools/das-api/core-extension/convert-das-asset-to-core#convert-to-asset-example): Convert DAS items to Core assets +- [`dasAssetToCoreCollection`](/dev-tools/das-api/core-extension/convert-das-asset-to-core#convert-to-collection-example): Convert a DAS item to a Core collection +- [`dasAssetToCoreGroup`](/dev-tools/das-api/core-extension/convert-das-asset-to-core#convert-to-group-example): Convert a DAS item to a Core group ## Plugin Derivations -This library will automatically derive the plugins in assets inherited from the collection. Read more about general plugin inheritance and precedence on the [Core plugin page](/smart-contracts/core/plugins). +This library automatically derives plugins that assets inherit from their collection. Read more about plugin inheritance and precedence on the [Core plugins page](/smart-contracts/core/plugins). + +To disable derivation or implement it manually, see [Plugin Derivation](/dev-tools/das-api/core-extension/plugin-derivation). + +## Notes + +Core DAS helpers prefer indexed reads over GPA and may omit some on-chain group membership fields depending on the indexer. + +- Prefer this package over GPA helpers (`fetchAssetsByOwner` / `fetchAssetsByCollection`) for production listing. +- `GroupResult` membership vectors (`collections`, `groups`, `parentGroups`, `assets`) may be empty from DAS — use [`fetchGroupV1`](/smart-contracts/core/groups) for authoritative on-chain membership. +- Agent discovery uses `searchAssets({ isAgent: true })` and may populate `is_agent`, `agent_token`, and `asset_signer` on results when indexed. + +## Quick Reference + +| Helper | Returns | Notes | +|--------|---------|-------| +| `das.getAsset` / `getCollection` / `getGroup` | Single Core account | Typed for MPL Core SDKs | +| `das.getAssetsByOwner` / `ByAuthority` / `ByCollection` | Core assets | Collection plugins derived by default | +| `das.getAssetsByGroup` | Mixed members | Uses DAS `groupKey: "group"` | +| `das.getGrouping` | Name + size | No member list | +| `das.searchAssets` / `searchCollections` / `searchGroups` | Filtered lists | Assets support agent filters | +| `das.getCollectionsByUpdateAuthority` / `getGroupsByUpdateAuthority` | By update authority | Documented on the search pages | +| `das.dasAssetsToCoreAssets` / `dasAssetToCoreCollection` / `dasAssetToCoreGroup` | Converted Core types | For mixed-standard DAS fetches | + +## Glossary -If you want to deactivate the derivation or implement it manually the [Plugin Derivation Page](/dev-tools/das-api/core-extension/plugin-derivation) should be helpful. +| Term | Definition | +|------|------------| +| `AssetResult` | [Core Asset](/smart-contracts/core/what-is-an-asset) (`AssetV1`) plus DAS `content` and optional agent fields | +| `CollectionResult` | Core Collection (`CollectionV1`) plus DAS `content` | +| `GroupResult` | [Core Group](/smart-contracts/core/groups) (`GroupV1`) plus DAS `content`; membership vectors may be empty from indexers | +| Agent filters | DAS search filters (`isAgent`, `agentToken`, `assetSigner`) for [registered agents](/agents/) | +| Plugin derivation | Copying collection-level plugins onto listed assets unless `skipDerivePlugins: true` | diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-asset.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-asset.md index b1b680676..da8546110 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/methods/get-asset.md +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-asset.md @@ -10,18 +10,7 @@ Returns the information of a MPL Core assets for example including metadata, own Replace the `` with your personal RPC and the `` value with the public key of the NFT you want to fetch. -```js -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; -import { das } from '@metaplex-foundation/mpl-core-das'; -import { publicKey } from '@metaplex-foundation/umi'; - -const umi = createUmi('').use(dasApi()); -const assetId = publicKey(''); - -const asset = await das.getAsset(umi, assetId); -console.log(asset); -``` +{% code-tabs-imported from="das-api/core-extension/get-asset" frameworks="umi" /%} ## Example Response diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-authority.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-authority.md index 8dc8c4848..bd7a2d9a4 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-authority.md +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-authority.md @@ -10,17 +10,7 @@ Returns the information of all MPL Core assets with the given authority includin Replace the `` with your personal RPC and the `` value with the public key of the Authority that you want to fetch NFTs by. -```js -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; -import { das } from '@metaplex-foundation/mpl-core-das'; -import { publicKey } from '@metaplex-foundation/umi'; - -const umi = createUmi('').use(dasApi()); - -const assets = await das.getAssetsByAuthority(umi, {authority: publicKey('')}); -console.log(assets); -``` +{% code-tabs-imported from="das-api/core-extension/get-assets-by-authority" frameworks="umi" /%} ## Example Response This example has only one object in the array. For Public Keys who have the authority over more than one Core asset the Array will include more entries. diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-collection.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-collection.md index 4ce935005..ba77f754c 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-collection.md +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-collection.md @@ -10,18 +10,7 @@ Returns the information of all MPL Core assets with the given authority includin Replace the `` with your personal RPC and the `` value with the public key of the Collection whose NFTs you want to fetch. -```js -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; -import { das } from '@metaplex-foundation/mpl-core-das'; -import { publicKey } from '@metaplex-foundation/umi'; - -const umi = createUmi('').use(dasApi()); -const collection = publicKey(''); - -const assets = await das.getAssetsByCollection(umi, { collection }); -console.log(assets); -``` +{% code-tabs-imported from="das-api/core-extension/get-assets-by-collection" frameworks="umi" /%} ## Example Response This example has only one object in the array. For Collections with more than one Core asset the Array will include more entries. diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md new file mode 100644 index 000000000..b853aff80 --- /dev/null +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-group.md @@ -0,0 +1,49 @@ +--- +title: Get Core Assets by Group +metaTitle: Get Core Assets by Group | DAS API Core Extension +description: List mpl-core GroupV1 members as Core-typed assets, collections, or nested groups. +created: '07-22-2026' +updated: '07-22-2026' +keywords: + - das getAssetsByGroup core + - mpl-core-das getAssetsByGroup + - core group members + - groupKey group +about: + - DAS API + - MPL Core + - Core Groups +--- + +## Summary + +`das.getAssetsByGroup` lists members of an [mpl-core GroupV1](/smart-contracts/core/groups) and returns Core-typed results. + +- Calls base DAS with `groupKey: "group"` +- Members may be assets, collections, or nested groups +- Derives collection plugins on assets unless `skipDerivePlugins: true` +- For name and size only, use [`getGrouping`](/dev-tools/das-api/core-extension/methods/get-grouping) + +## Code example + +Replace `` with your DAS RPC and `` with the GroupV1 address. + +{% code-tabs-imported from="das-api/core-extension/get-assets-by-group" frameworks="umi" /%} + +## Parameters + +| Name | Required | Description | +| -------------------- | :------: | ----------- | +| `group` | ✅ | The mpl-core GroupV1 public key. | +| `sortBy` | | Sorting criteria `{ sortBy, sortDirection }`. | +| `limit` | | Maximum number of items to retrieve. | +| `page` | | Page index to retrieve. | +| `before` / `after` | | Cursor-style pagination IDs. | +| `cursor` | | Provider cursor when supported. | +| `displayOptions` | | Only `showCollectionMetadata` is supported for Core. | +| `skipDerivePlugins` | | Skip automatic collection plugin derivation on assets. | + +## Notes + +- This is the Core helper for GroupV1 membership. For Token Metadata / collection grouping via base DAS, see [`getAssetsByGroup`](/dev-tools/das-api/methods/get-assets-by-group) with `groupKey: "collection"`. +- Requires `@metaplex-foundation/digital-asset-standard-api` ≥ 2.1.0 and an RPC that indexes Core groups. diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-owner.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-owner.md index e1148aa40..4487cbf98 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-owner.md +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-assets-by-owner.md @@ -10,18 +10,7 @@ Returns the information of all MPL Core assets owned by a given public key inclu Replace the `` with your personal RPC and the `` value with the public key of the owner. -```js -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; -import { das } from '@metaplex-foundation/mpl-core-das'; -import { publicKey } from '@metaplex-foundation/umi'; - -const umi = createUmi('').use(dasApi()); -const owner = publicKey(''); - -const assets = await das.getAssetsByCollection(umi, { owner }); -console.log(assets); -``` +{% code-tabs-imported from="das-api/core-extension/get-assets-by-owner" frameworks="umi" /%} ## Example Response This example has only one object in the array. For Public Keys owning more than one Core asset the Array will include more entries. diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-collection.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-collection.md index f563cc383..dd12ac341 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/methods/get-collection.md +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-collection.md @@ -10,18 +10,7 @@ Returns the information of a MPL Core Collections including their metadata, owne Replace the `` with your personal RPC and the `` value with the public key of the MPL Core Collection you want to fetch. -```js -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; -import { das } from '@metaplex-foundation/mpl-core-das'; -import { publicKey } from '@metaplex-foundation/umi'; - -const umi = createUmi('').use(dasApi()); -const collectionId = publicKey(''); - -const collection = await das.getCollection(umi, collectionId); -console.log(collection); -``` +{% code-tabs-imported from="das-api/core-extension/get-collection" frameworks="umi" /%} ## Example Response diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md new file mode 100644 index 000000000..462d90773 --- /dev/null +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-group.md @@ -0,0 +1,32 @@ +--- +title: Get Core Group +metaTitle: Get Core Group | DAS API Core Extension +description: Fetch a single mpl-core GroupV1 account via DAS as a Core-typed GroupResult. +created: '07-22-2026' +updated: '07-22-2026' +keywords: + - das getGroup + - mpl-core-das getGroup + - GroupV1 +about: + - DAS API + - MPL Core + - Core Groups +--- + +## Summary + +`das.getGroup` fetches one [mpl-core GroupV1](/smart-contracts/core/groups) by public key and returns a `GroupResult`. + +- Typed for use with MPL Core SDKs +- Membership vectors may be empty depending on the indexer +- Prefer [`fetchGroupV1`](/smart-contracts/core/groups) when you need authoritative on-chain `collections` / `groups` / `assets` / `parentGroups` + +## Code example + +{% code-tabs-imported from="das-api/core-extension/get-group" frameworks="umi" /%} + +## Notes + +- Interface must be `MplCoreGroup` or the helper throws. +- To list members of the group, use [`getAssetsByGroup`](/dev-tools/das-api/core-extension/methods/get-assets-by-group). diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md b/src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md new file mode 100644 index 000000000..a6f1fd61b --- /dev/null +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/get-grouping.md @@ -0,0 +1,39 @@ +--- +title: Get Grouping (Core Extension) +metaTitle: Get Grouping | DAS API Core Extension +description: Return group name and indexed member count for a collection or mpl-core GroupV1. +created: '07-22-2026' +updated: '07-22-2026' +keywords: + - das getGrouping core extension + - mpl-core-das getGrouping + - group size +about: + - DAS API + - MPL Core + - Core Groups +--- + +## Summary + +`das.getGrouping` returns summary metadata for a group key/value pair without listing every member. + +- Returns `group_key`, `group_name`, and `group_size` +- Use `groupKey: "collection"` for collections or `groupKey: "group"` for [GroupV1](/smart-contracts/core/groups) +- To list members, use [`getAssetsByGroup`](/dev-tools/das-api/core-extension/methods/get-assets-by-group) (Core) or the [base DAS method](/dev-tools/das-api/methods/get-grouping) + +## Code example + +{% code-tabs-imported from="das-api/core-extension/get-grouping" frameworks="umi" /%} + +## Parameters + +| Name | Required | Description | +| ------------ | :------: | ----------- | +| `groupKey` | ✅ | `"collection"` or `"group"`. | +| `groupValue` | ✅ | Collection or GroupV1 address (string or public key). | + +## Notes + +- `group_size` reflects what the indexer has recorded, not necessarily live on-chain vector lengths. +- Requires DAS client ≥ 2.1.0 and RPC support for `getGrouping`. diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md b/src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md index 1b822671c..bf2eb88da 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/search-assets.md @@ -1,35 +1,40 @@ --- title: Search Core Assets metaTitle: Search Core Assets | DAS API Core Extension -description: Return the list of MPL Core assets given a search criteria +description: Search MPL Core assets via DAS, including agent discovery filters. +created: '07-22-2026' +updated: '07-22-2026' +keywords: + - das searchAssets core + - mpl-core-das searchAssets + - isAgent agentToken assetSigner +about: + - DAS API + - MPL Core + - Agent Registry --- -Return the list of Core assets given a search criteria. +## Summary + +`das.searchAssets` returns Core [assets](/smart-contracts/core/what-is-an-asset) matching search criteria and maps them to [`AssetResult`](/dev-tools/das-api/core-extension/methods/get-asset) (Core asset type plus DAS `content`). + +- Defaults to `interface: "MplCoreAsset"` and `burnt: false` +- Derives collection plugins unless `skipDerivePlugins: true` +- Supports [agent](/agents/) filters (`isAgent`, `agentToken`, `assetSigner`) when using DAS ≥ 2.1.0 ## Code example In this example two filters are applied: 1. The Public Key of the Owner -2. The Metadata uri `jsonUri` - -Like this only the NFTs with the given URI owned by that wallet are returned. +2. The Metadata URI `jsonUri` -Additional possible Parameters can be found [below](#parameters). +{% code-tabs-imported from="das-api/core-extension/search-assets" frameworks="umi" /%} -```js -import { publicKey } from '@metaplex-foundation/umi'; -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; +### Discover registered agents -const umi = createUmi('').use(dasApi()); +`das.searchAssets({ isAgent: true })` finds Core assets with a registered [agent](/agents/) identity and may populate `is_agent`, `agent_token`, and `asset_signer` when indexed. -const asset = await das.searchAssets(umi, { - owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'), - jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA', -}); - -console.log(asset); -``` +{% code-tabs-imported from="das-api/core-extension/search-assets-agents" frameworks="umi" /%} ## Example Response ```json @@ -77,28 +82,37 @@ console.log(asset); | ------------------- | :------: | ------------------------------------------ | | `negate` | | Indicates whether the search criteria should be inverted or not. | | `conditionType` | | Indicates whether to retrieve all (`"all"`) or any (`"any"`) asset that matches the search criteria. | -| `interface` | | The interface value (one of `["V1_NFT", "V1_PRINT" "LEGACY_NFT", "V2_NFT", "FungibleAsset", "Custom", "Identity", "Executable"]`). | -| `ownerAddress` | | The address of the owner. | +| `interface` | | Defaults to `MplCoreAsset`. Also accepts `MplCoreCollection` / `MplCoreGroup` via dedicated helpers. | +| `owner` | | The address of the owner. | | `ownerType` | | Type of ownership `["single", "token"]`. | -| `creatorAddress` | | The address of the creator. | +| `creator` | | The address of the creator. | | `creatorVerified` | | Indicates whether the creator must be verified or not. | -| `authorityAddress` | | The address of the authority. | -| `grouping` | | The grouping `["key", "value"]` pair. | -| `delegateAddress` | | The address of the delegate. | +| `authority` | | The address of the authority. | +| `grouping` | | The grouping `["key", "value"]` pair (e.g. `["collection", ""]` or `["group", ""]`). | +| `delegate` | | The address of the delegate. | | `frozen` | | Indicates whether the asset is frozen or not. | | `supply` | | The supply of the asset. | | `supplyMint` | | The address of the supply mint. | | `compressed` | | Indicates whether the asset is compressed or not. | | `compressible` | | Indicates whether the asset is compressible or not. | -| `royaltyTargetType` | | Type of royalty `["creators", "fanout", "single"]`. | +| `royaltyModel` | | Type of royalty `["creators", "fanout", "single"]`. | | `royaltyTarget` | | The target address for royalties. | | `royaltyAmount` | | The royalties amount. | -| `burnt` | | Indicates whether the asset is burnt or not. | -| `sortBy` | | Sorting criteria. This is specified as an object `{ sortBy: , sortDirection: }`, where `sortBy` is one of `["created", "updated", "recentAction", "none"]` and `sortDirection` is one of `["asc", "desc"]`. | +| `burnt` | | Forced to `false` by the Core helper. | +| `sortBy` | | Sorting criteria `{ sortBy, sortDirection }`. | | `limit` | | The maximum number of assets to retrieve. | | `page` | | The index of the "page" to retrieve. | | `before` | | Retrieve assets before the specified ID. | | `after` | | Retrieve assets after the specified ID. | | `jsonUri` | | The value for the JSON URI. | +| `name` | | Asset name filter when supported by the RPC. | +| `isAgent` | | Filter by registered agent status (MPL Core only). | +| `agentToken` | | Filter by the agent's canonical token mint (MPL Core only). | +| `assetSigner` | | Filter by the Core Asset Signer PDA (MPL Core only). | +| `skipDerivePlugins` | | Skip automatic collection plugin derivation. | +| `displayOptions` | | Only `showCollectionMetadata` is supported for Core. | + +## Notes -Technically the function accepts all the above parameters since they are inherited from the standard DAS package. Some of them are not recommended to use though, e.g. the package filters the `interface` for MPL Core either way. +- Technically the helper forwards standard DAS search parameters; some are rarely useful for Core (the package already constrains `interface` / `burnt`). +- Agent filters and response fields require DAS ≥ 2.1.0 and an indexer that populates agent metadata. diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md b/src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md index c0f5efacf..dfe3601c8 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/search-collections.md @@ -4,7 +4,13 @@ metaTitle: Search Core Collections | DAS API Core Extension description: Return the list of MPL Core Collections given a search criteria --- -Return the list of Core assets given a search criteria. +## Summary + +`das.searchCollections` returns [MPL Core](/smart-contracts/core) collections that match DAS search filters as `CollectionResult` values. + +- Filters to `MplCoreCollection` automatically +- Accepts the same search criteria as Core asset search where applicable +- Includes a convenience helper for listing by update authority ## Code example @@ -12,24 +18,24 @@ In this example two filters are applied: 1. The Public Key of the Owner 2. The Metadata uri `jsonUri` -Like this only the NFTs with the given URI owned by that wallet are returned. +Like this only the Core collections with the given URI owned by that wallet are returned. Additional possible Parameters can be found [below](#parameters). -```js -import { publicKey } from '@metaplex-foundation/umi'; -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; +{% code-tabs-imported from="das-api/core-extension/search-collections" frameworks="umi" /%} -const umi = createUmi('').use(dasApi()); +## By update authority {% #by-update-authority %} -const asset = await das.searchAssets(umi, { - owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'), - jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA', -}); +[`das.getCollectionsByUpdateAuthority`](#by-update-authority) is a convenience wrapper around collection search for a given update authority. It returns [`CollectionResult`](/dev-tools/das-api/core-extension/methods/get-collection) values. -console.log(asset); -``` +{% code-tabs-imported from="das-api/core-extension/get-collections-by-update-authority" frameworks="umi" /%} + +| Name | Required | Description | +| ------------------- | :------: | ----------- | +| `updateAuthority` | ✅ | Collection update authority public key. | +| `limit` / `page` | | Pagination controls. | +| `displayOptions` | | Only `showCollectionMetadata` is supported for Core. | +| `skipDerivePlugins` | | Accepted for API consistency; collections are not plugin-derived. | ## Example Response ```json diff --git a/src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md b/src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md new file mode 100644 index 000000000..1a85aa117 --- /dev/null +++ b/src/pages/en/dev-tools/das-api/core-extension/methods/search-groups.md @@ -0,0 +1,39 @@ +--- +title: Search Core Groups +metaTitle: Search Core Groups | DAS API Core Extension +description: Search mpl-core GroupV1 accounts via DAS and return Core-typed GroupResult values. +created: '07-22-2026' +updated: '07-22-2026' +keywords: + - das searchGroups + - mpl-core-das searchGroups + - GroupV1 search +about: + - DAS API + - MPL Core + - Core Groups +--- + +## Summary + +`das.searchGroups` searches DAS for `MplCoreGroup` interfaces and returns Core-typed groups. + +- Filters to Core groups only +- Accepts the same search filters as Core asset search where applicable (for example authority) +- For a single group by address, prefer [`getGroup`](/dev-tools/das-api/core-extension/methods/get-group) +- For update-authority listing, use [`getGroupsByUpdateAuthority`](#by-update-authority) + +## Code example + +{% code-tabs-imported from="das-api/core-extension/search-groups" frameworks="umi" /%} + +## By update authority {% #by-update-authority %} + +`das.getGroupsByUpdateAuthority` lists Core groups for a given update authority and returns `GroupResult` values. Pair with [`getAssetsByGroup`](/dev-tools/das-api/core-extension/methods/get-assets-by-group) to list each group's members. + +{% code-tabs-imported from="das-api/core-extension/get-groups-by-update-authority" frameworks="umi" /%} + +## Notes + +- Requires DAS client ≥ 2.1.0 with `MplCoreGroup` indexing. +- Membership vectors on results may be empty — use [`fetchGroupV1`](/smart-contracts/core/groups) for full on-chain membership. diff --git a/src/pages/en/dev-tools/das-api/core-extension/plugin-derivation.md b/src/pages/en/dev-tools/das-api/core-extension/plugin-derivation.md index 0ecc3e927..1a6296c12 100644 --- a/src/pages/en/dev-tools/das-api/core-extension/plugin-derivation.md +++ b/src/pages/en/dev-tools/das-api/core-extension/plugin-derivation.md @@ -9,32 +9,9 @@ The Core DAS Extension allows to automatically derive plugins and inherited plug ## Disable Plugin Derivation If you want to disable this automatic derivation you can use `skipDerivePlugins` in all functions like this: -```js -const assetsByOwner = await das.getAssetsByOwner(umi, { - owner: publicKey(''), - skipDerivePlugins: true, -}); -``` +{% code-tabs-imported from="das-api/core-extension/skip-derive-plugins" frameworks="umi" /%} ## Manual Plugin derivation You can also manually derive the plugins for the asset if you have already fetched the collection at a prior time using the mpl-core JavaScript SDK like: -```js -import { deriveAssetPlugins } from '@metaplex-foundation/mpl-core' -import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'; -import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'; -import { das } from '@metaplex-foundation/mpl-core-das'; -import { publicKey } from '@metaplex-foundation/umi'; - -const umi = createUmi('').use(dasApi()); -const collectionId = publicKey(''); -//... - -const collection = await das.getCollection(umi, collectionId); -const assetsByCollection = await das.getAssetsByCollection(umi, { - collection: collection.publicKey, - skipDerivePlugins: true, -}); - -const derivedAssets = assetsByCollection.map((asset) => deriveAssetPlugins(asset, collection)) -``` +{% code-tabs-imported from="das-api/core-extension/manual-plugin-derivation" frameworks="umi" /%}