Repository navigation
feat: storage analyzer, ABI extraction, devnet setup & reputation system - #539
Conversation
|
@JamesVictor-O is attempting to deploy a commit to the smartdevs17's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@JamesVictor-O 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! 🚀 |
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 34253505 | Triggered | Generic High Entropy Secret | a8e5914 | docker/devnet/seed-data/accounts.json | View secret |
| 34253506 | Triggered | Generic High Entropy Secret | a8e5914 | docker/devnet/seed-data/accounts.json | View secret |
| 34253507 | Triggered | Generic High Entropy Secret | a8e5914 | docker/devnet/seed-data/accounts.json | View secret |
| 34253508 | Triggered | Generic High Entropy Secret | a8e5914 | docker/devnet/seed-data/accounts.json | View secret |
| 34253509 | Triggered | Generic High Entropy Secret | a8e5914 | docker/devnet/seed-data/accounts.json | View secret |
| 34253510 | Triggered | Generic High Entropy Secret | a8e5914 | docker/devnet/seed-data/accounts.json | View secret |
| 34253511 | Triggered | Generic High Entropy Secret | a8e5914 | docker/devnet/seed-data/accounts.json | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secrets safely. Learn here the best practices.
- Revoke and rotate these secrets.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
Summary
This PR implements four assigned issues:
#503 — PR Impact Analyzer for Contract Storage Layout Changes
.github/workflows/storage-impact.yml) that triggers on PRs targeting mainscripts/storage-analyzer/extract-storage.sh— parses Soroban contract source files to extract storage variable declarations (env.storage().instance/persistent/temporary,#[contracttype]structs, storage key enums)scripts/storage-analyzer/compare.js— detects new/removed/reordered variables, type changes, breaking changes, and collision risks; generates markdown impact reportscripts/storage-analyzer/analyze.sh— orchestrates extraction and comparison between base and head refs#504 — Automated Contract ABI Extraction and Versioning
scripts/abi-extractor/extract.sh— builds contracts and extracts ABI/metadata from compiled WASM artifactsscripts/abi-extractor/generate-types.js— generates TypeScript and Rust type definitions from ABI JSONscripts/abi-extractor/version.sh— semantic versioning with breaking change detection and changelog generationscripts/abi-extractor/ci-check.sh— CI integration for automated ABI validationpackages/contract-abis/— npm package (@stellarlend/contract-abis) with TypeScript types and barrel exports#505 — Local Soroban Devnet with Preconfigured Test Accounts and Contracts
docker/devnet/docker-compose.yml— full local environment (soroban-devnet, API, oracle, postgres, redis)docker/devnet/genesis.sh— creates 7 preconfigured accounts (admin, liquidator, user1-user5) with fundsdocker/devnet/init-devnet.sh— deploys all 16 contracts, initializes oracle feeds, seeds sample datadocker/devnet/reset-devnet.sh— wipe and redeploy in < 2 minutesdocker/devnet/healthcheck.sh— verifies all components are readydocker/devnet/seed-data/— accounts, contracts, oracle feeds, sample positions JSON configs.devcontainer/devcontainer.json— VS Code Dev Container integration#506 — Reputation System for Borrowers Based on Repayment History
stellar-lend/contracts/reputation-system/— on-chain Soroban contract tracking repayment historyapi/src/controllers/reputation.controller.ts— REST API handlers (getReputation, getTiers, getLeaderboard)api/src/routes/reputation.routes.ts— GET/api/reputation/:address,/tiers,/leaderboardapi/src/app.tsTest Plan
docker compose -f docker/devnet/docker-compose.yml upand confirm all services startcargo build -p stellarlend-reputationcargo test -p stellarlend-reputationCloses #503
Closes #504
Closes #505
Closes #506