Skip to content

feat: implement issues #494, #513, #514, #515 - #626

Merged
Fatimasanusi merged 4 commits into
Trust-Analysis:mainfrom
Kami-no-san:feat/kami-no-san/all-issues
Aug 31, 2026
Merged

feat: implement issues #494, #513, #514, #515#626
Fatimasanusi merged 4 commits into
Trust-Analysis:mainfrom
Kami-no-san:feat/kami-no-san/all-issues

Conversation

@Kami-no-san

@Kami-no-san Kami-no-san commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Implements all 4 issues assigned to kami-no-san

Closes #494 closes #513, closes #514, closes #515

#494 — Audit Reentrancy Guard on Fractional Token Contracts

  • Added missing _check_non_reentrant / _set_non_reentrant helper function definitions
  • Added reentrancy guards to all state-changing external functions that transfer tokens:
    • distribute_dividends, claim_dividends, buy_from_order, buyback_shares
    • emergency_withdraw, buy_vested_shares, process_scheduled_dividend
  • Added dedicated reentrancy guard tests for each guarded function

#513 — Implement Cursor-Based Pagination for GraphQL Asset Listings

  • Added AssetConnection type with edges, cursor, and pageInfo fields (Relay-compliant) to GraphQL schema
  • Updated getAssets resolver with cursor-based pagination support
  • Updated frontend useAssetStore with cursor pagination state management
  • Added infinite scrolling support to AssetGrid component with load-more button
  • Added paginated GET_ASSETS_PAGINATED GraphQL query

#514 — Add Fuzz Testing to Soroban Smart Contracts

  • Added comprehensive proptest strategies for Fractional math operations (add, sub, mul, div)
  • Added property tests for state transitions and invariant checking
  • Integrated fuzz tests into the CI pipeline (pr.yml)

#515 — Set Up Staging Environment Deployment Pipeline

  • Created deploy-staging.yml GitHub Actions workflow with full deployment pipeline
  • Added terraform.tfvars.staging.example configuration template

🤖 Generated with Codebuff
Co-Authored-By: Codebuff noreply@codebuff.com

…Analysis#514, Trust-Analysis#515 for kami-no-san

- Trust-Analysis#494: Audit and fix reentrancy guards on fractional token contracts
  - Add missing _check_non_reentrant/_set_non_reentrant helper functions
  - Add reentrancy guards to distribute_dividends, claim_dividends,
    buy_from_order, buyback_shares, emergency_withdraw, buy_vested_shares,
    process_scheduled_dividend
  - Add reentrancy guard tests for all guarded functions

- Trust-Analysis#513: Implement cursor-based pagination for GraphQL asset listings
  - Add AssetConnection type with edges/cursor/pageInfo to GraphQL schema
  - Update getAssets resolver with Relay-compliant cursor pagination
  - Update frontend store with cursor-based pagination state
  - Add infinite scrolling support to AssetGrid component
  - Add paginated GraphQL query

- Trust-Analysis#514: Add fuzz testing to Soroban smart contracts
  - Add comprehensive proptest strategies for Fractional math operations
  - Add property tests for state transitions and invariant checking
  - Integrate fuzz tests into CI pipeline

- Trust-Analysis#515: Set up staging environment deployment pipeline
  - Create deploy-staging.yml workflow with full pipeline
  - Add terraform.tfvars.staging.example configuration

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
@drips-wave

drips-wave Bot commented Aug 30, 2026

Copy link
Copy Markdown

@Kami-no-san 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

The cargo test command had two positional args (property_tests fuzz_)
which caused an 'unexpected argument' error. Combined into a single
filter: property_tests::fuzz_

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
…isting compilation errors

- Added ~25 missing DataKey enum variants (ContractMetadata, OracleAddress,
  BridgeLocked, BuybackRequestCounter, BuybackRequest, CircuitBreakerConfig,
  FunctionPauseFlags, ImplementationVersion, etc.) used throughout the contract
- Added missing struct definitions: CircuitBreakerConfig, UpgradeConfig,
  BuybackRequest, PurchaseLimitConfig, TierLimits, UserPurchaseHistory
- Fixed TokenClient -> StellarAssetClient in vesting_analytics_tests
- Fixed batch_transfer test calls to pass Vec by reference

These were pre-existing compilation errors that prevented CI from passing.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
…pilation

- Added FN_* constants for function pause categories
- Added _is_function_paused, _set_function_paused (function-level pause)
- Added _is_circuit_breaker_triggered, _require_circuit_breaker_clear
- Added _validate_whitelist (expiry-aware whitelist validation)
- Added _get_current_price (oracle-aware price helper)
- Added _validate_purchase_limits, _update_purchase_history (purchase limits)
- Fixed EventTransfer and EventBuybackShares missing caller field
- Fixed Self:: references in free functions to direct storage access

These were pre-existing compilation errors throughout the codebase.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
@Fatimasanusi
Fatimasanusi merged commit 12f3711 into Trust-Analysis:main Aug 31, 2026
1 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants