Skip to content
Merged
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
114 changes: 114 additions & 0 deletions migrate-project-status.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
#!/usr/bin/env node
import { readFile, writeFile } from 'fs/promises';
import { parse, stringify } from 'yaml';
import { join } from 'path';

const projects = [
'fileverse', 'mysterium-network', 'elusiv', 'zkvote', 'starkex', 'hopr',
'deeper-network', 'firo', 'oasis-network', 'zcash', 'privatepool',
'tornado-cash', 'iden3', 'circom', 'zksync', 'darkfi', 'sentinel',
'snarkjs', 'findora', 'cake-wallet', 'typhoon-network', 'iron-fish',
'concordium', 'zk-money', 'suterusu', 'oxen', 'orchid', 'rotki',
'mobilecoin', 'sienna-network', 'monero', 'zano', 'zeal', 'xx-network',
'mask-network', 'fluidkey', 'webb-protocol', 'wasabi-wallet', 'semaphore',
'incognito', 'umbra-wallet' // added umbra-wallet
];

const validUsecases = [
'wallets', 'defi', 'currency', 'infrastructure', 'computing', 'eth-layer-2',
'hardware', 'vpn', 'did', 'dao', 'bridge', 'messaging', 'browser',
'kyc-solution', 'rpc-provider', 'storage', 'dapps', 'operating-systems',
'nft-community', 'alliances', 'mixing-management', 'data-management',
'donate-charity', 'research-and-development', 'mixing-service', 'node',
'events', 'ai', 'tee', 'mpc', 'fhe', 'sunset', 'other'
];

const validCategories = [
'infrastructure', 'social-and-communications', 'hardware',
'applications', 'defi', 'archived-projects'
];

const validEcosystems = [
'ethereum', 'bitcoin', 'solana', 'cosmos', 'monero', 'other', 'multichain'
];

const validAssets = [
'eth', 'btc', 'usdc', 'usdt', 'dai', 'atom', 'scrt', 'dot',
'sol', 'zcash', 'xmr', 'aleph', 'nam', 'other'
];

async function migrateProject(projectName) {
const filePath = join('src/projects', projectName, 'index.yaml');
try {
const content = await readFile(filePath, 'utf8');
const data = parse(content);

// Fix project_status
if (!data.project_status || data.project_status.live_status === undefined) {
const version = data.project_status?.version || '';
let mainnet = false, testnet = false, live_status = false;

if (version.toLowerCase().includes('mainnet')) {
mainnet = true;
live_status = true;
} else if (version.toLowerCase().includes('testnet')) {
testnet = true;
live_status = true;
}

data.project_status = {
live_status,
version: data.project_status?.version || '',
testnet,
mainnet,
...data.project_status
};
}

// Fix categories
if (data.categories && Array.isArray(data.categories)) {
data.categories = data.categories
.map(c => c.toLowerCase())
.map(c => {
if (c === 'wallets') return 'applications'; // wallets -> applications
return validCategories.includes(c) ? c : 'applications';
});
}

// Fix ecosystem
if (data.ecosystem && Array.isArray(data.ecosystem)) {
data.ecosystem = data.ecosystem
.map(e => e.toLowerCase())
.map(e => validEcosystems.includes(e) ? e : 'other');
}

// Fix assets_used
if (data.assets_used && Array.isArray(data.assets_used)) {
data.assets_used = data.assets_used
.map(a => a.toLowerCase())
.map(a => validAssets.includes(a) ? a : 'other');
}

// Fix usecases
if (data.usecases && Array.isArray(data.usecases)) {
data.usecases = data.usecases
.map(u => u.toLowerCase().replace(/\s+/g, '-')) // "mixing service" -> "mixing-service"
.map(u => validUsecases.includes(u) ? u : 'other')
.filter((v, i, arr) => arr.indexOf(v) === i); // dedupe
}

// Remove invalid top-level properties
delete data.privacy;
delete data.security;

await writeFile(filePath, stringify(data, { lineWidth: 0, indent: 2 }), 'utf8');
console.log(`✓ ${projectName}`);
return { status: 'success' };
} catch (error) {
console.error(`✗ ${projectName}: ${error.message}`);
return { status: 'error' };
}
}

const results = await Promise.all(projects.map(migrateProject));
console.log(`\nDone: ${results.filter(r => r.status === 'success').length}/${projects.length}`);
27 changes: 14 additions & 13 deletions src/projects/cake-wallet/index.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
name: Cake Wallet
categories:
- wallets
- applications
ecosystem:
- Ethereum
- Monero
- Litecoin
- Haven
- ethereum
- monero
- other
- other
usecases:
- Wallet
description: Open-source, non-custodial, privacy-focused multi-currency cryptocurrency
wallet supporting Monero, Bitcoin, Ethereum, Litecoin, and other cryptocurrencies.
Features built-in exchange, native Tor i...
product_launch_day: '2018-01-01'
- other
description: Open-source, non-custodial, privacy-focused multi-currency cryptocurrency wallet supporting Monero, Bitcoin, Ethereum, Litecoin, and other cryptocurrencies. Features built-in exchange, native Tor i...
product_launch_day: 2018-01-01
team:
anonymous: false
teammembers:
- name: Vikrant Sharma
link: https://www.linkedin.com/company/cakewallet
role: Founder & CEO
- name: Vikrant Sharma
link: https://www.linkedin.com/company/cakewallet
role: Founder & CEO
links:
web: https://cakewallet.com
github: https://github.com/cake-tech/cake_wallet
Expand All @@ -28,7 +26,10 @@ links:
security_report: https://github.com/web3privacy/explorer-data/blob/main/src/projects/cake-wallet/reports/SECURITY.md
technical_docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/cake-wallet/reports/TECHNICAL.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
13 changes: 7 additions & 6 deletions src/projects/circom/index.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
name: Circom
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
description: Circom is a specialized compiler and circuit description language for
building zero-knowledge proof applications. Written in Rust, it enables developers
to design arithmetic circuits that are compi...
- other
description: Circom is a specialized compiler and circuit description language for building zero-knowledge proof applications. Written in Rust, it enables developers to design arithmetic circuits that are compi...
team:
anonymous: true
links:
Expand All @@ -18,7 +16,10 @@ links:
technical_docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/circom/reports/technical_analysis.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/circom/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
9 changes: 6 additions & 3 deletions src/projects/concordium/index.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Concordium
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
- other
description: The main concordium node implementation.
team:
anonymous: true
Expand All @@ -15,7 +15,10 @@ links:
security_report: https://github.com/web3privacy/explorer-data/blob/main/src/projects/concordium/reports/SECURITY.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/concordium/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
9 changes: 6 additions & 3 deletions src/projects/darkfi/index.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Darkfi
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
- other
description: Anonymous. Uncensored. Sovereign.
team:
anonymous: true
Expand All @@ -15,7 +15,10 @@ links:
security_report: https://github.com/web3privacy/explorer-data/blob/main/src/projects/darkfi/reports/SECURITY.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/darkfi/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
9 changes: 6 additions & 3 deletions src/projects/deeper-network/index.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Deeper Network
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
- other
description: deeper chain is the blockchain layer for deeper network.
team:
anonymous: true
Expand All @@ -14,7 +14,10 @@ links:
security_report: https://github.com/web3privacy/explorer-data/blob/main/src/projects/deeper-network/reports/SECURITY.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/deeper-network/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
9 changes: 6 additions & 3 deletions src/projects/elusiv/index.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Elusiv
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
- other
description: Elusiv Solana program library
team:
anonymous: true
Expand All @@ -15,7 +15,10 @@ links:
security_report: https://github.com/web3privacy/explorer-data/blob/main/src/projects/elusiv/reports/SECURITY.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/elusiv/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
9 changes: 6 additions & 3 deletions src/projects/fileverse/index.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Fileverse
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
- other
description: Privacy technology project focused on Web3 security and anonymity.
team:
anonymous: true
Expand All @@ -16,7 +16,10 @@ links:
technical_docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/fileverse/reports/technical_analysis.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/fileverse/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
9 changes: 6 additions & 3 deletions src/projects/findora/index.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Findora
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
- other
description: Official Implementation of Findora Network.
team:
anonymous: true
Expand All @@ -15,7 +15,10 @@ links:
security_report: https://github.com/web3privacy/explorer-data/blob/main/src/projects/findora/reports/SECURITY.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/findora/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
9 changes: 6 additions & 3 deletions src/projects/firo/index.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Firo
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
- other
description: The privacy-focused cryptocurrency
team:
anonymous: true
Expand All @@ -15,7 +15,10 @@ links:
security_report: https://github.com/web3privacy/explorer-data/blob/main/src/projects/firo/reports/SECURITY.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/firo/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
12 changes: 7 additions & 5 deletions src/projects/fluidkey/index.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
name: Fluidkey
categories:
- infrastructure
- infrastructure
ecosystem:
- Ethereum
- ethereum
usecases:
- Privacy
description: An open source repository of the core cryptographic functions used by
Fluidkey’s interface and SDK.
- other
description: An open source repository of the core cryptographic functions used by Fluidkey’s interface and SDK.
team:
anonymous: true
links:
Expand All @@ -17,7 +16,10 @@ links:
technical_docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/fluidkey/reports/technical_analysis.md
docs: https://github.com/web3privacy/explorer-data/blob/main/src/projects/fluidkey/README.md
project_status:
live_status: true
version: Mainnet
testnet: false
mainnet: true
sunset: false
blockchain_features:
opensource: true
Expand Down
Loading