Implementation Status
Smart Contracts, Tests & SDK
Implementation Status
What We've Built: Smart Contracts, Tests & SDK
Version: 2.4.0
Last Updated: December 26, 2025
Framework: Anchor 0.32.0 | Solana Program 2.0 | Token-2022 6.0
Network: Solana Devnet Only (Not Mainnet)
Test Coverage: 477+ Tests Passing (377 blockchain + 100 backend)
Current Phase: MVP Testing & Debugging
TL;DR - Quick Summary
What's Built: 11 Solana smart contracts for a complete SocialFi platform infrastructure including token management, staking, governance, identity, and rewards.
Key Numbers:
- ●Smart Contracts: 11 programs deployed to Devnet
- ●Blockchain Tests: 377+ (279 Rust unit + 98 integration)
- ●Backend Tests: 100+ integration tests (Days 6-7)
- ●Total Test Coverage: 477+ tests across full stack
- ●Code Size: ~22,000 lines of Rust & TypeScript
- ●SDK: Published on npm as @viwoapp/sdk (beta)
Current Status: All contracts are on Solana Devnet only. NOT audited. NOT production-ready. Security audit required before mainnet.
App Integration: Mobile app (React Native) and backend (NestJS) MVP is now ~95% complete. Currently in MVP Testing & Debugging phase with UI/UX refinements underway.
MVP Core Features (100% Complete):
- ●5A Scoring Engine with all 5 calculators and gamification
- ●Passkey/Biometric Authentication (WebAuthn/FIDO2)
- ●Session Key Management (3 presets)
- ●Complete 6-screen Onboarding Flow
- ●Behavior Analytics with persona classification
Open Source: All code is MIT licensed and available on GitHub.
Development Status Notice
All smart contracts described in this document are deployed to Solana Devnet only. They have NOT been audited and are NOT production-ready. The SDK is in beta (v0.1.x). Before mainnet deployment, all contracts will undergo professional security audits. Do not use these contracts with real funds.
Development Stage Summary
| Component | Stage | What This Means |
|---|---|---|
| Smart Contracts | Devnet Testing | Functional, tested, but not audited |
| Unit Tests | Complete | 279 Rust tests passing |
| Integration Tests | Complete | 98 BankRun tests passing |
| Security Audit | Not Started | Required before mainnet |
| Mainnet Deployment | Not Deployed | Pending audit completion |
| SDK | Beta (v0.1.x) | API may change |
| Mobile App | ~95% Complete | 30+ screens, MVP testing phase |
| Backend API | ~95% Complete | 35+ modules, MVP testing phase |
| 5A Scoring Engine | 100% Complete | All calculators, gamification, history |
| Passkey Auth | 100% Complete | WebAuthn/FIDO2 full support |
| Session Keys | 100% Complete | 3 presets implemented |
| Onboarding Flow | 100% Complete | 6-screen flow with passkey setup |
| Behavior Analytics | 100% Complete | Personas, churn prediction |
1. Executive Summary
1.1 What We've Built
ViWoApp has developed a complete smart contract infrastructure for a SocialFi platform on Solana. All contracts are open-source under MIT license and deployed to Solana Devnet for testing purposes.
Important: These contracts are in the development/testing phase. They have passed all automated tests but have NOT undergone professional security audits. Mainnet deployment will occur only after comprehensive audits are completed.
1.2 Current Development Status
| Metric | Value | Stage |
|---|---|---|
| Smart Contracts | 11 Programs | Devnet Testing |
| Total Lines of Code | ~22,000 | Rust + TypeScript |
| Rust Unit Tests | 279 | ✅ All Passing |
| BankRun Integration Tests | 98 | ✅ All Passing |
| Blockchain Test Files | 55 | ✅ Created |
| Blockchain Tests | 377+ | ✅ 100% Pass Rate |
| Backend Integration Tests | 100+ | ✅ All Passing (Days 6-7) |
| Total Tests | 477+ | ✅ 100% Pass Rate |
| Devnet Deployment | 11/11 | ✅ Live on Devnet |
| Mainnet Deployment | 0/11 | ⏳ Pending Audit |
| Security Audit | Not Started | ⏳ Required |
| npm SDK Published | @viwoapp/sdk | Beta v0.1.0 |
1.3 Technology Stack
| Component | Technology | Version |
|---|---|---|
| Smart Contracts | Anchor Framework | 0.32.0 |
| Runtime | Solana Program | 2.0 |
| Token Standard | SPL Token-2022 | 6.0 |
| Language | Rust | 1.89.0 |
| Testing | Mocha + BankRun | Latest |
| SDK | TypeScript | 5.0+ |
1.4 Backend Integration Testing (Days 6-7)
Test Coverage by Module:
| Module | Tests | Coverage |
|---|---|---|
| Governance | 15+ | Proposals, voting, delegates |
| Exchange | 12+ | Jupiter, swaps, quotes |
| AI | 10+ | Chat, execute, history |
| Energy | 10+ | Tracking, regeneration |
| Recommendations | 8+ | Feed, personalization |
| Staking | 12+ | veVCoin, tiers, claims |
| Vouch | 10+ | 3-vouch, trust, clusters |
| Cross-module | 5+ | Integration scenarios |
Testing Summary:
| Category | Count | Status |
|---|---|---|
| Blockchain Tests | 377+ | ✅ All Passing |
| Backend Integration Tests | 100+ | ✅ All Passing |
| Combined Total | 477+ | ✅ 100% Pass Rate |
Testing Tools: Jest for backend, Mocha + BankRun for blockchain. All tests run in CI pipeline.
2. Deployed Smart Contracts
2.1 Program Addresses (Devnet)
All 11 programs are deployed and verified on Solana Devnet:
| # | Program | Address | Explorer |
|---|---|---|---|
| 1 | VCoin Token | Gg1dtrjAfGYi6NLC31WaJjZNBoucvD98rK2h1u9qrUjn | View |
| 2 | veVCoin Token | FB39ae9x53FxVL3pER9LqCPEx2TRnEnQP55i838Upnjx | View |
| 3 | Staking Protocol | 6EFcistyr2E81adLUcuBJRr8W2xzpt3D3dFYEcMewpWu | View |
| 4 | Transfer Hook | 9K14FcDRrBeHKD9FPNYeVJaEqJQTac2xspJyb1mM6m48 | View |
| 5 | Identity Protocol | 3egAds3pFR5oog6iQCN42KPvgih8HQz2FGybNjiVWixG | View |
| 6 | 5A Protocol | 783PbtJw5cc7yatnr9fsvTGSnkKaV6iJe6E8VUPTYrT8 | View |
| 7 | Content Registry | MJn1A4MPCBPJGWWuZrtq7bHSo2G289sUwW3ej2wcmLV | View |
| 8 | Governance Protocol | 3R256kBN9iXozjypQFRAmegBhd6HJqXWqdNG7Th78HYe | View |
| 9 | SSCRE Protocol | 6AJNcQSfoiE2UAeUDyJUBumS9SBwhAdSznoAeYpXrxXZ | View |
| 10 | ViLink Protocol | CFGXTS2MueQwTYTMMTBQbRWzJtSTC2p4ZRuKPpLDmrv7 | View |
| 11 | Gasless Protocol | FcXJAjzJs8eVY2WTRFXynQBpC7WZUqKZppyp9xS6PaB3 | View |
2.2 Build Artifacts
| Artifact | Size | Structure |
|---|---|---|
| vcoin_token.so | 269 KB | Full Modular |
| vevcoin_token.so | 287 KB | Full Modular |
| staking_protocol.so | 340 KB | Full Modular |
| transfer_hook.so | 301 KB | Full Modular |
| identity_protocol.so | 327 KB | Full Modular |
| five_a_protocol.so | 394 KB | Full Modular |
| content_registry.so | 363 KB | Full Modular |
| governance_protocol.so | 427 KB | Streamlined |
| sscre_protocol.so | ~380 KB | Streamlined |
| vilink_protocol.so | ~320 KB | Streamlined |
| gasless_protocol.so | ~290 KB | Full Modular |
3. Protocol Specifications
3.1 VCoin Token (vcoin-token)
Purpose: Main utility and rewards token for ViWoApp
| Property | Value |
|---|---|
| Token Name | VCoin (VIWO) |
| Token Standard | Token-2022 (SPL Token 2022) |
| Initial Supply | 1,000,000,000 |
| Year 11+ Minting | +250M every 5 years |
| Decimals | 9 |
Token-2022 Extensions:
- ●Metadata Extension - On-chain token metadata
- ●Permanent Delegate - For slashing bad actors without user signature
Instructions:
| Instruction | Description |
|---|---|
initialize_mint | Create VCoin mint with extensions |
mint_tokens | Mint tokens to destination (authority only) |
slash_tokens | Burn tokens from bad actor (permanent delegate) |
set_paused | Emergency pause/unpause |
update_authority | Transfer admin authority |
3.2 veVCoin Token (vevcoin-token)
Purpose: Vote-Escrowed VCoin - Soulbound governance token
| Property | Value |
|---|---|
| Token Name | veVCoin |
| Transferable | No (Soulbound) |
| Mint Authority | Staking Protocol only |
| Burn Authority | Staking Protocol only |
Key Features:
- ●Non-transferable via Token-2022 Non-Transferable extension
- ●Prevents governance power markets
- ●Burned automatically on unstake
Instructions:
| Instruction | Description |
|---|---|
initialize_mint | Create soulbound veVCoin mint |
mint_vevcoin | Mint veVCoin (staking protocol only) |
burn_vevcoin | Burn veVCoin on unstake |
get_balance | Query user balance |
3.3 Staking Protocol (staking-protocol)
Purpose: Stake VCoin to receive veVCoin voting power
Staking Tiers:
| Tier | Minimum Stake | Fee Discount | veVCoin Boost |
|---|---|---|---|
| None | 0 VCoin | 0% | 1.0x |
| Bronze | 1,000 VCoin | 10% | 1.1x |
| Silver | 5,000 VCoin | 20% | 1.2x |
| Gold | 20,000 VCoin | 30% | 1.3x |
| Platinum | 100,000 VCoin | 50% | 1.4x |
veVCoin Formula:
ve_vcoin = staked_amount × (lock_duration / 4_years) × tier_boost
Lock Duration:
- ●Minimum: 1 week (604,800 seconds)
- ●Maximum: 4 years (126,144,000 seconds)
Instructions:
| Instruction | Description |
|---|---|
initialize_pool | Create staking pool |
stake | Stake VCoin with lock duration |
extend_lock | Extend lock to increase veVCoin |
unstake | Withdraw after lock expires |
update_tier | Recalculate user tier |
3.4 Transfer Hook (transfer-hook)
Purpose: Token-2022 Transfer Hook for auto-updating 5A scores
Key Features:
- ●Auto-update 5A Activity scores on every VCoin transfer
- ●Record tip transactions for SSCRE calculations
- ●Detect and flag wash trading patterns
- ●Update engagement trust scores between wallet pairs
Instructions:
| Instruction | Description |
|---|---|
initialize | Create hook config for VCoin mint |
execute | Called on every transfer (Token-2022 hook) |
initialize_extra_accounts | Setup extra accounts for hook |
get_user_activity | Query user activity |
3.5 Identity Protocol (identity-protocol)
Purpose: Minimal on-chain DID anchor with Solana Attestation Service (SAS) integration
Verification Levels:
| Level | Name | Requirements |
|---|---|---|
| 0 | None | Wallet connected only |
| 1 | Basic | Email + phone verified |
| 2 | KYC | Identity documents verified |
| 3 | Full | KYC + biometric verification |
| 4 | Enhanced | Full + UniqueHuman attestation |
Instructions:
| Instruction | Description |
|---|---|
create_identity | Create DID anchor for new user |
update_verification | Update verification level (admin) |
link_sas_attestation | Link SAS attestation to identity |
subscribe | Subscribe to a tier |
3.6 5A Reputation Protocol (five-a-protocol)
Purpose: Anti-bot reputation scoring with oracle model
The 5 Stars:
| Star | Name | Weight | Question |
|---|---|---|---|
| A1 | Authenticity | 25% | "Are you a real person?" |
| A2 | Accuracy | 20% | "Is your content quality?" |
| A3 | Agility | 15% | "Are you fast?" |
| A4 | Activity | 25% | "Do you show up daily?" |
| A5 | Approved | 15% | "Does the community like you?" |
Vouch System:
- ●New users need 3 vouches from users with 60%+ 5A score
- ●Vouchers stake 5 VCoin per vouch
- ●After 90 days: successful vouches earn 10 VCoin bonus
- ●Failed vouches (vouchee banned) lose stake
Instructions:
| Instruction | Description |
|---|---|
initialize | Initialize 5A protocol |
register_oracle | Register score submission oracle |
submit_score | Submit user scores (oracle only) |
vouch_for_user | Vouch for new user (stake VCoin) |
evaluate_vouch | Evaluate vouch outcome after 90 days |
3.7 Content Registry (content-registry)
Purpose: On-chain content tracking with energy system
Energy System by Tier:
| Tier | Max Energy | Regen/Hour | Effective Posts/Day |
|---|---|---|---|
| None | 200 | 20 | ~20 |
| Bronze | 500 | 50 | ~50 |
| Silver | 800 | 80 | ~80 |
| Gold | 1200 | 120 | ~120 |
| Platinum | 2000 | 200 | ~200 |
Content Types:
| Type | Energy Cost |
|---|---|
| Post | 10 |
| Article | 20 |
| Media | 50 |
| Thread | 40 |
| Reply | 5 |
Instructions:
| Instruction | Description |
|---|---|
create_content | Create content record (spend energy) |
edit_content | Edit content (free within 1 hour) |
update_engagement | Update engagement count |
claim_energy_refund | Claim refund based on engagement |
3.8 Governance Protocol (governance-protocol)
Purpose: Full on-chain governance using veVCoin for voting power
Voting Power Formula:
base_votes = sqrt(vcoin_tokens) // Quadratic
five_a_boost = 1.0 + (five_a_score / 100) // 1.0x to 2.0x
tier_multiplier = [1.0, 1.0, 2.0, 5.0, 10.0] // None to Platinum
effective_votes = base_votes × five_a_boost × tier_multiplierFeatures:
- ●ZK private voting with threshold encryption
- ●Vote delegation with liquid democracy
- ●Quadratic voting to prevent whale dominance
Instructions:
| Instruction | Description |
|---|---|
create_proposal | Create new governance proposal |
cast_vote | Cast public vote |
cast_private_vote | Cast ZK encrypted vote |
delegate_votes | Delegate voting power |
execute_proposal | Execute after timelock |
3.9 SSCRE Protocol (sscre-protocol)
Purpose: Self-Sustaining Circular Reward Economy with Merkle-based claims
Key Features:
- ●Merkle tree claims for gas-efficient batch distributions
- ●5A score-weighted rewards multipliers
- ●6-Layer Funding Hierarchy (post Year 5 sustainability)
- ●Circuit breaker for emergency stops
- ●90-day claim window per epoch
Instructions:
| Instruction | Description |
|---|---|
initialize_pool | Create rewards pool |
start_epoch | Begin new monthly epoch |
update_merkle_root | Oracle pushes finalized distribution |
claim_rewards | User claims with merkle proof |
trigger_circuit_breaker | Emergency stop |
3.10 ViLink Protocol (vilink-protocol)
Purpose: Cross-dApp action deep links for one-tap social actions
Action Types:
| Type | Code | Platform Fee |
|---|---|---|
| Tip | 0 | 2.5% |
| Vouch | 1 | None |
| Follow | 2 | None |
| Challenge | 3 | 1% |
| Stake | 4 | None |
| ContentReact | 5 | None |
| Delegate | 6 | None |
| Vote | 7 | None |
URI Format: viwo://action/{action_id}?amount=X&target=Y
Instructions:
| Instruction | Description |
|---|---|
create_action | Create shareable action link |
execute_tip_action | Execute tip with VCoin transfer |
execute_vouch_action | Execute vouch (5A integration) |
create_batch | Create batch of actions |
3.11 Gasless Protocol (gasless-protocol)
Purpose: Paymaster + Session Keys for zero-friction UX
Fee Deduction Methods:
- ●Platform Subsidized - Onboarding, governance (free for users)
- ●VCoin Deduction - Tips, transfers (100x SOL equivalent in VCoin)
- ●SSCRE Deduction - 1% from reward claims
Session Key Scopes (Bitmap):
- ●Tip (0x01), Vouch (0x02), Content (0x04), Governance (0x08)
- ●Transfer (0x10), Stake (0x20), Claim (0x40), Follow (0x80)
Instructions:
| Instruction | Description |
|---|---|
initialize | Setup gasless infrastructure |
create_session_key | Create 24h session with limited scope |
execute_session_action | Execute using session key |
revoke_session_key | Invalidate session early |
deduct_vcoin_fee | VCoin-based fee deduction |
4. Test Coverage
4.1 5-Layer Testing Architecture
Testing Pyramid:
| Layer | Type | Purpose |
|---|---|---|
| 5️⃣ | TypeScript E2E | Full integration with deployed programs |
| 4️⃣ | BankRun Integration | Fast offline testing with Solana simulator |
| 3️⃣ | Rust Integration | solana-program-test instruction testing |
| 2️⃣ | Trident Fuzz | Randomized input testing for edge cases |
| 1️⃣ | Rust Unit | Program logic in isolation |
| Layer | Type | Location | Purpose |
|---|---|---|---|
| 5 | TypeScript E2E | tests/*.ts | Full integration with deployed programs |
| 4 | BankRun | tests-bankrun/ | Fast offline testing with Solana simulator |
| 3 | Rust Integration | programs/*/tests/ | solana-program-test instruction testing |
| 2 | Trident Fuzz | trident-tests/ | Randomized input testing for edge cases |
| 1 | Rust Unit | programs/*/src/tests.rs | Program logic in isolation |
4.2 Test Results Summary
Rust Unit Tests (279 passing):
$ cargo test --workspace
Compiling all 11 programs...
Finished test profile
running 18 tests (vcoin-token) ... ok
running 22 tests (vevcoin-token) ... ok
running 27 tests (transfer-hook) ... ok
running 21 tests (staking-protocol) ... ok
running 16 tests (five-a-protocol) ... ok
running 40 tests (governance-protocol) ... ok
running 37 tests (sscre-protocol) ... ok
running 23 tests (identity-protocol) ... ok
running 25 tests (content-registry) ... ok
running 24 tests (vilink-protocol) ... ok
running 26 tests (gasless-protocol) ... ok
test result: ok. 279 passed; 0 failed; 0 ignoredBankRun Integration Tests (98 passing):
$ cd tests-bankrun && npm test
# tests 98
# suites 40
# pass 98
# fail 0
# duration_ms 13534.3 Coverage by Program
| Program | Rust Unit | Rust Integ | BankRun | Fuzz | TS E2E | Total |
|---|---|---|---|---|---|---|
| vcoin-token | 18 | 5 files | 15 | - | ✅ | 33+ |
| vevcoin-token | 22 | 5 files | 10 | - | ✅ | 32+ |
| staking-protocol | 21 | 7 files | 4 | ✅ | ✅ | 25+ |
| transfer-hook | 27 | 4 files | 15 | - | ✅ | 42+ |
| identity-protocol | 23 | 4 files | - | - | ✅ | 23+ |
| five-a-protocol | 16 | 5 files | 6 | ✅ | ✅ | 22+ |
| content-registry | 25 | 4 files | - | - | ✅ | 25+ |
| governance-protocol | 40 | 6 files | 13 | ✅ | ✅ | 53+ |
| sscre-protocol | 37 | 6 files | 13 | - | ✅ | 50+ |
| vilink-protocol | 24 | 5 files | 17 | - | ✅ | 41+ |
| gasless-protocol | 26 | 5 files | 18 | - | ✅ | 44+ |
| TOTAL | 279 | 55 | 98 | 3 | 11 | 377+ |
4.4 Code Coverage (Tarpaulin)
Overall: 10.22% (265/2,594 lines)
High-coverage components (100%):
- staking-protocol/state/tier.rs: 31/31 lines
- staking-protocol/utils.rs: 10/10 lines
- transfer-hook/utils.rs: 46/46 lines
- sscre-protocol/state/utils.rs: 27/27 lines
- vilink-protocol/state/utils.rs: 30/30 linesNote: Instruction handlers require blockchain context (tested via BankRun). Utility functions and state logic have 80-100% coverage.
5. TypeScript SDK
SDK Status: The SDK is currently in beta (v0.1.x). APIs may change before the stable v1.0 release. Use in production at your own risk.
5.1 Installation
npm install @viwoapp/sdk
# or
yarn add @viwoapp/sdk
# or
pnpm add @viwoapp/sdkNote: The SDK currently connects to Devnet only. Mainnet support will be added after contracts are deployed to mainnet.
5.2 Quick Start (Devnet)
import { ViWoClient } from "@viwoapp/sdk";
import { Connection, clusterApiUrl } from "@solana/web3.js";
// Initialize client
const connection = new Connection(clusterApiUrl("devnet"));
const client = new ViWoClient(connection, wallet);
// Staking example
const stakingStats = await client.staking.getStats();
console.log("Total Staked:", stakingStats.totalStaked);
// Governance example
const proposals = await client.governance.getActiveProposals();
const votingPower = await client.governance.getVotingPower();5.3 SDK Modules
| Module | Import Path | Purpose |
|---|---|---|
| Core | @viwoapp/sdk | Connection, wallet adapters, utilities |
| Staking | @viwoapp/sdk/staking | Stake VCoin, manage locks, tier info |
| Governance | @viwoapp/sdk/governance | Proposals, voting, delegation |
| Rewards | @viwoapp/sdk/rewards | SSCRE claim helpers, epoch info |
| Identity | @viwoapp/sdk/identity | DID management, verification |
| 5A Protocol | @viwoapp/sdk/fivea | Reputation scores, oracle data |
| Gasless | @viwoapp/sdk/gasless | Session keys, sponsored transactions |
| ViLink | @viwoapp/sdk/vilink | Action deep links, cross-dApp |
| Content | @viwoapp/sdk/content | Content registry, energy system |
5.4 Staking Client Example
import { StakingClient, STAKING_TIERS, LOCK_DURATIONS } from "@viwoapp/sdk";
// Get staking pool info
const pool = await client.staking.getPool();
console.log("Total Staked:", pool.totalStaked);
// Get user stake
const userStake = await client.staking.getUserStake();
console.log("Your Tier:", client.staking.getTierName(userStake.tier));
// Calculate tier for an amount
const tier = client.staking.calculateTier(50000); // Gold tier
// Calculate veVCoin rewards
const vevcoin = client.staking.calculateVeVCoin(
parseVCoin("10000"),
LOCK_DURATIONS.oneYear
);
// Build stake transaction
const tx = await client.staking.buildStakeTransaction({
amount: parseVCoin("1000"),
lockDuration: LOCK_DURATIONS.threeMonths,
});5.5 Constants & Utilities
import {
VCOIN_DECIMALS,
STAKING_TIERS,
LOCK_DURATIONS,
GOVERNANCE_CONSTANTS,
formatVCoin,
parseVCoin,
} from "@viwoapp/sdk";
// Format/parse VCoin amounts
const display = formatVCoin(1000000000); // "1.0"
const raw = parseVCoin("1000"); // BN(1000000000000)
// Staking tier thresholds
console.log(STAKING_TIERS.gold.minStake); // 20000
console.log(STAKING_TIERS.gold.feeDiscount); // 30
// Lock durations
console.log(LOCK_DURATIONS.threeMonths); // 7776000 seconds
console.log(LOCK_DURATIONS.fourYears); // 126144000 seconds6. Architecture Overview
6.1 Modular Program Structure
All 11 programs follow a modular architecture for security and maintainability:
program/src/
├── lib.rs # Program entry point
├── constants.rs # Protocol-wide constants
├── errors.rs # Custom error enum
├── events.rs # Event structs for indexing
├── state/ # Account state definitions
│ ├── mod.rs # Re-exports all state types
│ ├── config.rs # Configuration accounts
│ └── user_*.rs # User-specific accounts
├── contexts/ # Anchor account validation
│ ├── mod.rs # Re-exports all contexts
│ └── *.rs # One file per instruction
└── instructions/ # Instruction handler logic
├── mod.rs # Re-exports all modules
├── admin/ # Admin-only instructions
└── user/ # User instructions6.2 Cross-Program Architecture
Protocol Layers:
| Layer | Programs | Purpose |
|---|---|---|
| 🪙 Token Layer | VCoin, veVCoin | Core tokens |
| 🏛️ Core Protocols | Staking, Governance, SSCRE | Economic infrastructure |
| 👤 Identity Layer | Identity, 5A Protocol, Transfer Hook | User trust & reputation |
| 🔧 Utility Layer | Content Registry, ViLink, Gasless | Platform features |
Cross-Program Dependencies:
| From | To | Relationship |
|---|---|---|
| VCoin | Staking | Stake tokens |
| Staking | veVCoin | Mint governance tokens |
| veVCoin | Governance | Voting power |
| Governance | SSCRE | Control emissions |
| VCoin | Transfer Hook | Fee deduction |
| Transfer Hook | 5A Protocol | Reputation check |
| 5A Protocol | Identity | Verification lookup |
| Identity | Content | Author verification |
| Gasless | VCoin | Fee payments |
| ViLink | 5A Protocol | Action validation |
7. Development Stack
7.1 Core Dependencies
| Library | Version | Purpose |
|---|---|---|
| anchor-lang | 0.32.0 | Smart contract framework |
| anchor-spl | 0.32.0 | SPL integration |
| solana-program | 2.0 | Solana runtime |
| spl-token-2022 | 6.0 | Token-2022 support |
| spl-transfer-hook-interface | 0.8 | Transfer hooks |
7.2 SDK Dependencies
| Library | Version | Purpose |
|---|---|---|
| @coral-xyz/anchor | ^0.32.0 | Anchor TypeScript client |
| @solana/web3.js | ^1.95.0 | Solana web3 library |
| @solana/spl-token | ^0.4.0 | SPL token utilities |
| bs58 | ^5.0.0 | Base58 encoding |
7.3 Build Requirements
- ●Rust: 1.89.0+
- ●Solana CLI: 3.0.13+ (WSL recommended on Windows)
- ●Node.js: 22.x
- ●Anchor CLI: 0.32.0
8. Links & Resources
8.1 Official Links
| Resource | URL |
|---|---|
| npm SDK | @viwoapp/sdk |
| GitHub | github.com/MohaMehrzad/VCoin-V2 |
| Whitepaper | viwoapp.com/whitepaper |
| Website | viwoapp.com |
8.2 Social Links
| Platform | Handle |
|---|---|
| X/Twitter | @ViWoApp |
| Telegram | @ViWoApp |
| Discord | discord.gg/viwoapp |
8.3 Running Tests
# Run all Rust unit tests
cd vcoin_workspace
cargo test
# Run specific program tests
cargo test -p staking-protocol
cargo test -p five-a-protocol
# Run BankRun tests
cd tests-bankrun && npm test
# Run TypeScript E2E tests (requires validator)
anchor testFrequently Asked Questions (FAQ)
What smart contracts has ViWoApp built?
ViWoApp has built 11 Solana smart contracts including: VCoin Token, veVCoin (vote-escrowed), Staking Protocol, Governance, 5A Reputation System, Identity Protocol, Content Protocol, SSCRE Rewards, ViLink Protocol, Gasless Protocol, and Faucet. All are deployed to Solana Devnet.
What is the test coverage?
The project has 477+ tests with 100% pass rate. This includes 377 blockchain tests (279 Rust unit tests and 98 BankRun integration tests) and 100+ backend integration tests covering governance, exchange, AI, energy, recommendations, staking, and vouch modules.
Is the code open source?
Yes, all smart contract code is open source under the MIT license. You can view and audit the code on GitHub.
Can I use these contracts in production?
No. These contracts are deployed to Solana Devnet only and have NOT been security audited. They are NOT production-ready. Do not use them with real funds. Professional security audits will be completed before mainnet deployment.
What framework is used?
The contracts are built using Anchor Framework 0.32.0, Solana Program 2.0, and SPL Token-2022 6.0. The SDK is written in TypeScript.
How do I install the SDK?
npm install @viwoapp/sdkNote: The SDK is in beta (v0.1.x) and the API may change before stable release.
What is Token-2022?
Token-2022 is Solana's new token program that supports advanced features like transfer hooks, metadata, confidential transfers, and more. VCoin uses Token-2022 for transfer fee implementation.
When will contracts be deployed to mainnet?
Target is Q1-Q2 2026 after successful completion of security audits. The exact date depends on audit findings and any required remediations.
How can I contribute or report bugs?
Visit our GitHub repository to report issues, submit pull requests, or review the code.
Where can I get help with the SDK?
- ●Read the SDK documentation on npm
- ●Join our Discord for developer support
- ●Check the GitHub issues for known problems
Version: 2.4.0
License: MIT
Architecture: Modular (2025-2026 Best Practices)
Current Network: Solana Devnet (Testing Only)
Mainnet Status: Not Deployed - Pending Security Audit
SDK Status: Beta v0.1.x
App Status: Mobile ~95%, Backend ~95% (MVP Testing Phase)
MVP Core Features: 5A Engine, Passkey Auth, Session Keys, Onboarding - 100% Complete
Days 4-7 Features: Staking, Vouch, Governance, Exchange, AI, Energy, Recommendations - 100% Complete
Test Coverage: 477+ tests (377 blockchain + 100 backend integration)
Target Launch: Q1-Q2 2026
Reminder: All code is open-source and available for review. However, "deployed to Devnet" does not mean "production-ready." Security audits and further testing are required before mainnet launch.
Want to Learn More?
Explore our other documentation or join our community to stay updated on development progress.