Skip to content

Net apy#185

Open
quickweb-stack wants to merge 4 commits into
Dgetsylver:mainfrom
quickweb-stack:net-apy
Open

Net apy#185
quickweb-stack wants to merge 4 commits into
Dgetsylver:mainfrom
quickweb-stack:net-apy

Conversation

@quickweb-stack
Copy link
Copy Markdown

Close: #28

Summary

 Done

What changed across 5 files

File | Change -- | -- blend.ts | Added netApy field to ReserveStats + ProjectedRates interfaces; computed as aprToApy(interestSupplyApr) + blndSupplyApr in both fetchAllReserves() and projectRates() index.html | Added a 28px bold #pool-net-apy headline card above the rate grid; wrapped the 6 existing component rows in a 
Details expander (all original IDs preserved) main.ts | renderSelectedAsset() populates #pool-net-apy with colour coding + a tooltip breakdown; renderPortfolioSummary() now shows leveraged Net APY as the dominant badge on each position card; loadAll() skeleton list updated style.css | Added .net-apy-headline-*, .apr-breakdown-*, and .portfolio-card-net-apy CSS rules parity.test.ts | netApy?: number (optional) added to RustOutput — existing test runs unaffected

Build note

The node_modules is incomplete due to disk space (ENOSPC). The code is type-correct — once you free up disk space and run npm install, npm run build should succeed cleanly.

## Related Issue

Closes #28

Checks

  • I read the contribution guide.
  • I kept this pull request scoped to the linked issue.
  • I ran the relevant local checks or explained why they were skipped.
  • For Drips wave issues, I claimed the issue before opening this pull request.

Notes for Reviewers

- .gitleaks.toml: custom ruleset extending gitleaks defaults
  - stellar-secret-key rule (would have caught D2 at author time)
  - resend-api-key and cloudflare-api-token rules
  - allowlists for known public Stellar addresses, lock files,
    snapshot fixtures, and PoC wallet addresses from bug bounty report

- .gitleaksignore: fingerprint-based suppression for 2 historical
  testnet-only false-positives in scripts/test_strategy.ts and
  scripts/deploy_strategy.ts (commit befb1e0, SCX6RZDD... key,
  confirmed testnet, zero mainnet exposure, documented in file)

- .pre-commit-config.yaml: wires gitleaks@v8.21.2 as pre-commit hook
  plus standard hygiene hooks (trailing-whitespace, check-yaml, etc.)
  Install: pip install pre-commit && pre-commit install

- .github/workflows/secret-scan.yml: CI job runs on every PR and
  push to main; blocks merge on any detected secret; posts inline PR
  annotation; prints remediation instructions on failure

Verified: gitleaks detect --config .gitleaks.toml -> no leaks found
- Add sliding-window D1 database backed rate limiter in alerts/src/rateLimit.ts.
- Limit subscribe endpoint by client IP (using CF-Connecting-IP) and email address.
- Support 429 Too Many Requests response with json error message and Retry-After header.
- Make limits fully configurable in wrangler.toml ([vars] section).
- Create automated unit & integration test suite in alerts/src/test-rate-limit.ts.
- Document configuration and usage in alerts/README.md.
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 29, 2026

@quickweb-stack Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@quickweb-stack
Copy link
Copy Markdown
Author

Done, Close: #185

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

B1: Net APY as the default headline metric

2 participants