https://github.com/xian-technology/xian-nft
· scanned 2026-06-16 01:02 UTC (2 months, 1 week ago)
28 raw signals (0 security + 28 graph)
Last scanned 2 months, 1 week ago · v1 · 19 actionable findings from 1 signal source. 9 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 419 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
sha256Hex |
software | healthy | scripts/mock-rpc.mjs:sha256Hex |
contentHashFor |
software | healthy | scripts/mock-rpc.mjs:contentHashFor |
resolveOperator |
software | healthy | scripts/mock-rpc.mjs:resolveOperator |
svg |
software | healthy | scripts/mock-rpc.mjs:svg |
dataSvg |
software | healthy | scripts/mock-rpc.mjs:dataSvg |
escapeXml |
software | healthy | scripts/mock-rpc.mjs:escapeXml |
px |
software | healthy | scripts/mock-rpc.mjs:px |
buildEvents |
software | healthy | scripts/mock-rpc.mjs:buildEvents |
event |
software | healthy | scripts/mock-rpc.mjs:event |
tokenField |
software | healthy | scripts/mock-rpc.mjs:tokenField |
stateValue |
software | healthy | scripts/mock-rpc.mjs:stateValue |
listEvents |
software | healthy | scripts/mock-rpc.mjs:listEvents |
recentEvents |
software | healthy | scripts/mock-rpc.mjs:recentEvents |
queryPath |
software | healthy | scripts/mock-rpc.mjs:queryPath |
abciPayload |
software | healthy | scripts/mock-rpc.mjs:abciPayload |
statePayload |
software | healthy | scripts/mock-rpc.mjs:statePayload |
jsonPayload |
software | healthy | scripts/mock-rpc.mjs:jsonPayload |
simulatePayload |
software | healthy | scripts/mock-rpc.mjs:simulatePayload |
handleAbci |
software | healthy | scripts/mock-rpc.mjs:handleAbci |
send |
software | healthy | scripts/mock-rpc.mjs:send |
ok |
software | healthy | scripts/verify-localnet.py:87 |
fail |
software | healthy | scripts/verify-localnet.py:91 |
main |
software | healthy | scripts/verify-localnet.py:96 |
_env_str |
software | healthy | scripts/bootstrap_nft.py:17 |
_require_wallet |
software | healthy | scripts/bootstrap_nft.py:25 |
_ensure_submission_succeeded |
software | healthy | scripts/bootstrap_nft.py:32 |
_contract_source |
software | healthy | scripts/bootstrap_nft.py:47 |
_deploy_if_missing |
software | healthy | scripts/bootstrap_nft.py:51 |
_build_plan |
software | healthy | scripts/bootstrap_nft.py:76 |
_build_parser |
software | healthy | scripts/bootstrap_nft.py:104 |
main |
software | healthy | scripts/bootstrap_nft.py:159 |
is_XSC005 |
software | healthy | contracts/con_xsc005.py:34 |
seed |
software | healthy | contracts/con_xsc005_nft.py:147 |
normalize_text |
software | healthy | contracts/con_xsc005_nft.py:188 |
to_decimal |
software | healthy | contracts/con_xsc005_nft.py:196 |
require_operator |
software | healthy | contracts/con_xsc005_nft.py:204 |
require_non_empty_address |
software | healthy | contracts/con_xsc005_nft.py:208 |
validate_token_id |
software | healthy | contracts/con_xsc005_nft.py:212 |
validate_palette_id |
software | healthy | contracts/con_xsc005_nft.py:220 |
normalize_color |
software | healthy | contracts/con_xsc005_nft.py:232 |
require_palette |
software | healthy | contracts/con_xsc005_nft.py:250 |
require_unlocked_palette |
software | healthy | contracts/con_xsc005_nft.py:257 |
palette_index_for |
software | healthy | contracts/con_xsc005_nft.py:261 |
validate_pixel_grid |
software | healthy | contracts/con_xsc005_nft.py:268 |
pixel_grid_hash_source |
software | healthy | contracts/con_xsc005_nft.py:301 |
require_token |
software | healthy | contracts/con_xsc005_nft.py:326 |
require_unminted_token |
software | healthy | contracts/con_xsc005_nft.py:333 |
require_content_editor |
software | healthy | contracts/con_xsc005_nft.py:338 |
require_unlocked_content |
software | healthy | contracts/con_xsc005_nft.py:347 |
is_authorized |
software | healthy | contracts/con_xsc005_nft.py:351 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tsconfig.app.json |
software | healthy | tsconfig.app.json |
vite.config.ts |
software | healthy | vite.config.ts |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
tsconfig.node.json |
software | healthy | tsconfig.node.json |
index.html |
software | healthy | index.html |
package-lock.json |
software | healthy | package-lock.json |
pyproject.toml |
software | healthy | pyproject.toml |
tsconfig.json |
software | healthy | tsconfig.json |
contract-bundle.json |
software | healthy | contract-bundle.json |
mock-rpc.mjs |
software | healthy | scripts/mock-rpc.mjs |
README.md |
software | healthy | scripts/README.md |
verify-localnet.py |
software | healthy | scripts/verify-localnet.py |
bootstrap_nft.py |
software | healthy | scripts/bootstrap_nft.py |
con_xsc005.py |
software | healthy | contracts/con_xsc005.py |
README.md |
software | healthy | contracts/README.md |
con_xsc005_nft.py |
software | healthy | contracts/con_xsc005_nft.py |
validate.yml |
software | healthy | .github/workflows/validate.yml |
README.md |
software | healthy | src/README.md |
main.tsx |
software | healthy | src/main.tsx |
App.tsx |
software | healthy | src/App.tsx |
ActivityFeed.tsx |
software | healthy | src/components/ActivityFeed.tsx |
NFTMedia.tsx |
software | healthy | src/components/NFTMedia.tsx |
PixelEditor.tsx |
software | healthy | src/components/PixelEditor.tsx |
EmptyState.tsx |
software | healthy | src/components/EmptyState.tsx |
Logo.tsx |
software | healthy | src/components/Logo.tsx |
ProofDialog.tsx |
software | healthy | src/components/ProofDialog.tsx |
CollectionCard.tsx |
software | healthy | src/components/CollectionCard.tsx |
Avatar.tsx |
software | healthy | src/components/Avatar.tsx |
ListingDialog.tsx |
software | healthy | src/components/ListingDialog.tsx |
ErrorBoundary.tsx |
software | healthy | src/components/ErrorBoundary.tsx |
BuyDialog.tsx |
software | healthy | src/components/BuyDialog.tsx |
ChainMismatchBanner.tsx |
software | healthy | src/components/ChainMismatchBanner.tsx |
Toasts.tsx |
software | healthy | src/components/Toasts.tsx |
Hover3DCard.tsx |
software | healthy | src/components/Hover3DCard.tsx |
ApprovalsDialog.tsx |
software | healthy | src/components/ApprovalsDialog.tsx |
Footer.tsx |
software | healthy | src/components/Footer.tsx |
OperatorPanel.tsx |
software | healthy | src/components/OperatorPanel.tsx |
IndexerStatusBanner.tsx |
software | healthy | src/components/IndexerStatusBanner.tsx |
PixelGridCanvas.tsx |
software | healthy | src/components/PixelGridCanvas.tsx |
Header.tsx |
software | healthy | src/components/Header.tsx |
TransferDialog.tsx |
software | healthy | src/components/TransferDialog.tsx |
format.test.ts |
software | healthy | src/lib/format.test.ts |
content.ts |
software | healthy | src/lib/content.ts |
decimal.test.ts |
software | healthy | src/lib/decimal.test.ts |
rpc.ts |
software | healthy | src/lib/rpc.ts |
nft.test.ts |
software | healthy | src/lib/nft.test.ts |
format.ts |
software | healthy | src/lib/format.ts |
collections.ts |
software | healthy | src/lib/collections.ts |
wallet.test.ts |
software | healthy | src/lib/wallet.test.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
scripts |
software | healthy | scripts |
contracts |
software | healthy | contracts |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
components |
software | healthy | src/components |
lib |
software | healthy | src/lib |
routes |
software | healthy | src/routes |
hooks |
software | healthy | src/hooks |
styles |
software | healthy | src/styles |
| Label | Layer | Status | Path |
|---|---|---|---|
/ |
frontend | healthy | src/App.tsx |
/collections |
frontend | healthy | src/App.tsx |
/collections/:contract |
frontend | healthy | src/App.tsx |
/collections/:contract/token/:tokenId |
frontend | healthy | src/App.tsx |
/create |
frontend | healthy | src/App.tsx |
/profile |
frontend | healthy | src/App.tsx |
/profile/:address |
frontend | healthy | src/App.tsx |
/activity |
frontend | healthy | src/App.tsx |
* |
frontend | healthy | src/App.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.tsx |
Collections |
frontend | healthy | src/routes/Collections.tsx |
Activity |
frontend | healthy | src/routes/Activity.tsx |
Profile |
frontend | healthy | src/routes/Profile.tsx |
Create |
frontend | healthy | src/routes/Create.tsx |
CollectionDetail |
frontend | healthy | src/routes/CollectionDetail.tsx |
TokenDetail |
frontend | healthy | src/routes/TokenDetail.tsx |
Home |
frontend | healthy | src/routes/Home.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | scripts/mock-rpc.mjs |
10.91.58.11 |
network | healthy | src/components/Footer.tsx |
3.36.96.1 |
network | healthy | src/components/Footer.tsx |
3.06.74.81 |
network | healthy | src/components/Footer.tsx |
5.69.41.36 |
network | healthy | src/components/Footer.tsx |
31.21.68.8 |
network | healthy | src/components/Footer.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
ErrorBoundary |
software | healthy | src/components/ErrorBoundary.tsx:ErrorBoundary |
FakeWindow |
software | healthy | src/lib/wallet.test.ts:FakeWindow |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-9975lcd0 |
software | healthy | /tmp/repobility-clone-9975lcd0 |
| Label | Layer | Status | Path |
|---|---|---|---|
port:5180 |
network | healthy | vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::validate |
cicd | healthy | .github/workflows/validate.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
validate |
cicd | healthy | .github/workflows/validate.yml |
This page is publicly accessible at:
https://repobility.com/scan/7d16e4f6-18bd-4841-8cb9-419197e095a3/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/7d16e4f6-18bd-4841-8cb9-419197e095a3/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.