Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/components/products/das-api/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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' },
Comment on lines +70 to +78

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

base="src/pages/en/dev-tools/das-api/core-extension/methods"
status=0

for slug in get-group get-assets-by-group get-grouping search-groups; do
  if [[ ! -f "$base/$slug.md" ]]; then
    echo "Missing route: $base/$slug.md"
    status=1
  fi
done

exit "$status"

Repository: metaplex-foundation/developer-hub

Length of output: 516


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Core methods page candidates =="
git ls-files 'src/pages/**/das-api/**/*' 'src/components/products/das-api/index.js' | sed -n '1,200p'

echo
echo "== Files/directories under core-extension =="
find src/pages/en/dev-tools/das-api/core-extension -maxdepth 2 -type f -o -type d 2>/dev/null | sort | sed -n '1,200p'

echo
echo "== Core extension files only =="
git ls-files 'src/pages/en/dev-tools/das-api/core-extension/**' | sort

Repository: metaplex-foundation/developer-hub

Length of output: 10620


Remove the broken Core routes from navigation and links.

The four hrefs in src/components/products/das-api/index.js point to under /dev-tools/das-api/core-extension/methods/, but those routes do not exist under src/pages/en/dev-tools/das-api/core-extension/; only the root DAS methods pages exist. Remove the same slugs from the nav object and src/pages/en/dev-tools/das-api/core-extension/index.md.

📍 Affects 2 files
  • src/components/products/das-api/index.js#L70-L78 (this comment)
  • src/components/products/das-api/index.js#L127-L134
  • src/pages/en/dev-tools/das-api/core-extension/index.md#L34-L44
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/products/das-api/index.js` around lines 70 - 78, Remove the
four broken Core navigation entries for Get Group, Get Core Assets By Authority,
Get Core Assets By Collection, and Get Core Assets By Owner from both affected
ranges in src/components/products/das-api/index.js (lines 70-78 and 127-134) and
remove the corresponding links from
src/pages/en/dev-tools/das-api/core-extension/index.md (lines 34-44). Leave the
remaining valid navigation and method links unchanged.

{ 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' },
],
Expand Down Expand Up @@ -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'
}
Expand Down
18 changes: 18 additions & 0 deletions src/config/navigation-translations.js
Original file line number Diff line number Diff line change
Expand Up @@ -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アセットの取得',
Expand All @@ -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アセットの検索',
Expand All @@ -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: 'プラグインの導出',
Expand Down
2 changes: 1 addition & 1 deletion src/examples/core/create-asset/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {
Expand Down
32 changes: 32 additions & 0 deletions src/examples/das-api/core-extension/convert-to-asset/index.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())",
"main": "const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })\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('<ENDPOINT>').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })\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,
},

}
22 changes: 22 additions & 0 deletions src/examples/das-api/core-extension/convert-to-asset/umi.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())
// [/SETUP]

// [MAIN]
const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })

const dasCoreAssets = dasAssets.items.filter((a) => a.interface === 'MplCoreAsset')

const coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets)
// [/MAIN]

// [OUTPUT]
console.log(coreAssets)
// [/OUTPUT]
32 changes: 32 additions & 0 deletions src/examples/das-api/core-extension/convert-to-collection/index.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())",
"main": "const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })\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('<ENDPOINT>').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })\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,
},

}
26 changes: 26 additions & 0 deletions src/examples/das-api/core-extension/convert-to-collection/umi.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())
// [/SETUP]

// [MAIN]
const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })

const dasCoreCollections = dasAssets.items.filter(
(a) => a.interface === 'MplCoreCollection'
)

const coreCollections = dasCoreCollections.map((item) =>
das.dasAssetToCoreCollection(item)
)
// [/MAIN]

// [OUTPUT]
console.log(coreCollections)
// [/OUTPUT]
32 changes: 32 additions & 0 deletions src/examples/das-api/core-extension/convert-to-group/index.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())",
"main": "const dasGroup = await umi.rpc.getAsset(publicKey('<groupPubkey>'))\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('<ENDPOINT>').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst dasGroup = await umi.rpc.getAsset(publicKey('<groupPubkey>'))\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,
},

}
20 changes: 20 additions & 0 deletions src/examples/das-api/core-extension/convert-to-group/umi.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())
// [/SETUP]

// [MAIN]
const dasGroup = await umi.rpc.getAsset(publicKey('<groupPubkey>'))

const coreGroup = das.dasAssetToCoreGroup(dasGroup)
// [/MAIN]

// [OUTPUT]
console.log(coreGroup)
// [/OUTPUT]
32 changes: 32 additions & 0 deletions src/examples/das-api/core-extension/get-asset/index.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())\nconst assetId = publicKey('<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('<ENDPOINT>').use(dasApi())\nconst assetId = publicKey('<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,
},

}
19 changes: 19 additions & 0 deletions src/examples/das-api/core-extension/get-asset/umi.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())
const assetId = publicKey('<PublicKey>')
// [/SETUP]

// [MAIN]
const asset = await das.getAsset(umi, assetId)
// [/MAIN]

// [OUTPUT]
console.log(asset)
// [/OUTPUT]
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())",
"main": "const assets = await das.getAssetsByAuthority(umi, {\n authority: publicKey('<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('<ENDPOINT>').use(dasApi())\n// [/SETUP]\n\n// [MAIN]\nconst assets = await das.getAssetsByAuthority(umi, {\n authority: publicKey('<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,
},

}
20 changes: 20 additions & 0 deletions src/examples/das-api/core-extension/get-assets-by-authority/umi.js
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())
// [/SETUP]

// [MAIN]
const assets = await das.getAssetsByAuthority(umi, {
authority: publicKey('<PublicKey>'),
})
// [/MAIN]

// [OUTPUT]
console.log(assets)
// [/OUTPUT]
Original file line number Diff line number Diff line change
@@ -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('<ENDPOINT>').use(dasApi())\nconst collection = publicKey('<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('<ENDPOINT>').use(dasApi())\nconst collection = publicKey('<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,
},

}
Loading