Skip to content

Merge pull request #1100 from esthertitilayo-dev/feat/1038-network-mi… #915

Merge pull request #1100 from esthertitilayo-dev/feat/1038-network-mi…

Merge pull request #1100 from esthertitilayo-dev/feat/1038-network-mi… #915

Triggered via push July 29, 2026 22:52
Status Failure
Total duration 1m 10s
Artifacts

frontend.yml

on: push
Detect changed packages
10s
Detect changed packages
Frontend env validation script
41s
Frontend env validation script
Frontend lint + test
48s
Frontend lint + test
Backend lint + test
Backend lint + test
Backend build
Backend build
Shared API schemas typecheck + test
Shared API schemas typecheck + test
Contracts lint + test + build
Contracts lint + test + build
Frontend build
0s
Frontend build
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 6 warnings
Frontend env validation script
Process completed with exit code 1.
scripts/glossary.test.ts > GLOSSARY.md documentation verification > all table of contents section headers exist in the document: scripts/glossary.test.ts#L33
AssertionError: Document should contain header: Smart Contracts & On-Chian Mechanics: expected '# YieldVault-RWA — Domain Glossary\n\…' to contain '## Smart Contracts & On-Chian Mechani…' - Expected + Received - ## Smart Contracts & On-Chian Mechanics + # YieldVault-RWA — Domain Glossary + + > **Last Updated:** 2026-07-29 + + A shared reference for technical and product terminology used across the YieldVault-RWA codebase, specifications, and documentation. Terms are grouped by domain — with deep coverage of **RWA vault concepts**, **strategy allocation mechanics**, and **protocol economics** alongside supporting systems (rate limiting, logging, accessibility, CI/CD). Individual specs may define additional context-specific terms in their own `## Glossary` sections. + + **Identifier convention:** Terms that map directly to a code symbol or config key include a parenthesised identifier, e.g. `(Share_Price)`. General domain terms do not. + + --- + + ## Table of Contents + + - [Vault Architecture & ERC-4626 Model](#vault-architecture--erc-4626-model) + - [Shares & Share Conversions (Rounding Policy)](#shares--share-conversions-rounding-policy) + - [Deposits, Withdrawals & User Flows](#deposits-withdrawals--user-flows) + - [APY, Yield & Fee Economics](#apy-yield--fee-economics) + - [Strategies — Lifecycle, Registration & Allocation](#strategies--lifecycle-registration--allocation) + - [Strategy Connectors — BENJI & Korean Debt](#strategy-connectors--benji--korean-debt) + - [Governance — Strategy Proposals & Voting](#governance--strategy-proposals--voting) + - [Emergency Controls, Pause & Timelocks](#emergency-controls-pause--timelocks) + - [Real-World Assets (RWA) — Terminology & Provenance](#real-world-assets-rwa--terminology--provenance) + - [Oracle Price Validation & Heartbeats](#oracle-price-validation--heartbeats) + - [Access Controls — Whitelist, RBAC & Admin](#access-controls--whitelist-rbac--admin) + - [Protocol Fees, Treasury & Basis Points](#protocol-fees-treasury--basis-points) + - [RWA Shipment Tracking & Asset Provenance](#rwa-shipment-tracking--asset-provenance) + - [Smart Contracts & On-Chian Mechanics](#smart-contracts--on-chain-mechanics) + - [Math & Fixed-Point Arithmetic](#math--fixed-point-arithmetic) + - [Frontend & UI](#frontend--ui) + - [API & Backend](#api--backend) + - [Rate Limiting](#rate-limiting) + - [CI/CD & Infrastructure](#cicd--infrastructure) + - [Logging & Observability](#logging--observability) + - [Accessibility](#accessibility) + + --- + + ## Vault Architecture & ERC-4626 Model + + **Vault** + The core smart contract that accepts user deposits, issues fractional shares (`yvUSDC`), and allocates capital to yield-generating strategy contracts. Implements an ERC-4626-style tokenized vault pattern on Stellar Soroban. Also called the "Vault contract" or "Vault Router." + + **ERC-4626** + The Ethereum standard for tokenized vaults (EIP-4626) that defines a common interface for `deposit`, `withdraw`, `convertToShares`, `convertToAssets`, `totalAssets`, `totalSupply`, etc. YieldVault follows the ERC-4626 rounding and security conventions (always round down to favor the vault). + + **Vault State** (`VaultState`) + The on-chain struct containing the core invariants: `total_shares`, `total_assets`, `is_paused`, and `pause_reason`. Reads from the `State` storage key. + + **Idle Funds** + USDC held directly in the Vault contract that has not been deployed (invested) into any strategy. Idle funds earn no yield but are immediately available for withdrawals. + + **Invested Funds** + USDC that has been moved from the Vault into a strategy contract via `invest()`. Invested funds generate yield but may not be instantly redeemable (depends on strategy liquidity). + + **Underlying Token** (`TokenAsset`) + The asset accepted as deposit and used for redemption — currently USDC on Stellar (a SAC-tokenized stablecoin). Configured at initialization and immutable. + + **yvUSDC** + The colloquial name for a YieldVault share — a tokenized unit of vault ownership. Shares are not (yet) a standa
Frontend lint + test
Process completed with exit code 1.
Frontend lint + test: frontend/src/components/ViewState.tsx#L29
Unexpected any. Specify a different type
Frontend lint + test: frontend/src/components/VaultDashboard.tsx#L1464
Irregular whitespace not allowed
Frontend lint + test: frontend/src/components/VaultDashboard.tsx#L1464
Irregular whitespace not allowed
Frontend lint + test: frontend/src/components/VaultDashboard.tsx#L1284
Irregular whitespace not allowed
Frontend lint + test: frontend/src/components/VaultDashboard.tsx#L1284
Irregular whitespace not allowed
Frontend lint + test
'timer' is never reassigned. Use 'const' instead
Frontend lint + test: frontend/src/components/TransactionStatusModal.tsx#L120
Unexpected any. Specify a different type
Detect changed packages
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Frontend env validation script
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Frontend lint + test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Frontend lint + test: frontend/src/hooks/useSharableViewState.ts#L122
React Hook useCallback has an unnecessary dependency: 'defaultSortBy'. Either exclude it or remove the dependency array
Frontend lint + test: frontend/src/context/KeyboardShortcutContext.tsx#L145
React Hook useMemo has a missing dependency: 'navigate'. Either include it or remove the dependency array
Frontend lint + test: frontend/src/components/VirtualizedDataTable.tsx#L55
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components