feat: add environment variable validation at build time - #690
Open
TOS1ANO wants to merge 3 commits into
Open
Conversation
Add get_jobs_batch(start, limit) public view function to smart contract returning Vec<Job>, skipping non-existent IDs safely. Add getJobsBatch() frontend helper. Replace NxgetJob(id) loops with single batch calls on Home, Dashboard, Transactions, Profile, Compare pages and disputes-loader. Fix JSX nesting bugs in layout.tsx and ToastProvider.tsx. Move SSR-disabled dynamic imports into ClientComponents.tsx.
Add configurable max active jobs per user to prevent spam. Default 50. Admin can change via set_max_active_jobs_per_client. Validated in post_job and accept_job. Adds ActiveJobLimitExceeded error (code 15).
Validate NEXT_PUBLIC_CONTRACT_ID, NEXT_PUBLIC_NETWORK, and NEXT_PUBLIC_SOROBAN_RPC at build time via a new env-validator module. Fails early on missing/malformed config. Validates contract ID format (56-char C-prefixed), network name (testnet/futurenet/mainnet), and RPC URL format. Includes network-specific variant resolution and cross-field consistency checks.
|
@TOS1ANO 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! 🚀 |
Owner
|
@TOS1ANO please resolve conflicts |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked Issue
Closes #645 [INFRA-37]
What Changed
New:
frontend/lib/env-validator.tsBuild-time environment variable validation module that checks:
NEXT_PUBLIC_CONTRACT_IDC(Stellar contract ID)NEXT_PUBLIC_NETWORKtestnet,futurenet, ormainnetNEXT_PUBLIC_SOROBAN_RPChttp://orhttps://Features:
_TESTNET,_FUTURENET,_MAINNETsuffixes before falling back to base varModified:
frontend/next.config.tsassertEnv()at module load timenext buildandnext devTesting
PR Details
feat/env-var-build-validation