Refactor nested structures for clarity#474
Merged
Xhristin3 merged 611 commits intorinafcode:feat-advanced-nft-marketplacefrom Apr 29, 2026
Merged
Refactor nested structures for clarity#474Xhristin3 merged 611 commits intorinafcode:feat-advanced-nft-marketplacefrom
Xhristin3 merged 611 commits intorinafcode:feat-advanced-nft-marketplacefrom
Conversation
…ution-edge-cases Resolve edge cases in reward distribution calculations
…g-security Implement comprehensive access logging for security auditing
…-ops fix(security): mitigate reentrancy in transfer operations
- Add AccessOutcome, AccessLogEntry, AuditQuery types to types.rs - Add LOG_COUNTER, ACCESS_LOGS, ACCESS_TEMPORAL storage keys to storage.rs - Add AccessAttemptEvent, AccessLogFailedEvent events to events.rs - Add AccessLogError (500-502) to errors.rs - Create access_logger.rs with AccessLogger module: - log_access: persistent entry storage + hourly temporal window tracking - get_log_entry: retrieve entry by ID (no auth required) - get_total_log_count: monotonic counter (no auth required) - query_logs: conjunctive filters, most-recent-first, limit-capped - get_temporal_pattern: per-address hourly call count - Wire AccessLogger into lib.rs as public contract entry points - Append-only design: no delete/modify functions exposed
- Enforce semantic versioning: new version must be strictly greater than current - Record version upgrade history on every set_interface_versions call - Add is_backward_compatible() helper (same major, to >= from) - Add deprecation policy: deprecate_function(), get_deprecation(), get_all_deprecations(), get_deprecation_policy() - Validates removal_in > deprecated_in - Admin-only write, open read - Add migration paths: register_migration_path(), get_migration_path(), get_all_migration_paths() - Documents breaking changes and ordered migration steps per version pair - Encoded as compact u128 key for storage efficiency - Add DeprecatedFunction, DeprecationPolicy, MigrationPath types to types.rs - Wire 9 new public entry points into lib.rs
…y-fallback fix(time): reduce timestamp dependency in critical operations
…g-271 feat(observability): monitoring, alerts, dashboards docs
- Implement check_duplicate_signers with O(n^2) address comparison - Reject zero-weight signers in both validate_create_escrow and validate_escrow_parameters - Guard against total_weight==0 in threshold boundary check
- Add ESCROW_GUARD symbol to storage.rs - Add approve_with_guard: atomically checks has_approved, records approval, and increments count under ESCROW_GUARD reentrancy lock - Prevents duplicate approvals and concurrent read-modify-write on approval_count - Add 3 concurrency tests: duplicate rejection, multi-signer increment, guard-active rejection
- Implement duplicate signer detection in check_duplicate_signers (O(n²) address comparison) - Reject signers with zero weight in validate_create_escrow and validate_escrow_parameters - Fix validate_threshold to compare against total weight instead of signer count
…eshold boundaries - Add EscrowValidator::validate_multisig consolidating all edge case checks - Use checked_add to prevent u32 weight overflow - Enforce threshold within [1, total_weight] - Reject zero-weight and duplicate signers - Refactor validate_create_escrow and validate_escrow_parameters to delegate to validate_multisig - Add test_multisig_threshold_boundaries covering all edge cases
- Add NetworkHealth enum and NetworkCondition struct to types.rs - Add NETWORK_STATE storage key - Implement get_network_condition, update_network_condition, adaptive_timeout in BFTConsensus (Healthy=1x, Degraded=2x, Critical=3x base timeout) - create_proposal uses adaptive_timeout instead of hard-coded constant - vote_on_proposal increments miss counter on expiry (graceful degradation) - execute_proposal resets miss counter on successful consensus (self-healing) - Expose update_network_condition and get_network_condition via contract API - Add 4 tests covering all health states and miss counter lifecycle
… operations and tokenization
…ract inputs and cross-chain operations
…, and configuration constraints
…systems with structured record types
…cross-chain transfers, and validator-verified completion
…-contract-migration-tools Feature/382 contract migration tools
…put-deps fix: DoS protection, input sanitization, and dependency vulnerability scanning #1
Add comprehensive bridge module comments and assumptions
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 6. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v3...v6) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v4...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [proptest-derive](https://github.com/proptest-rs/proptest) to permit the latest version. - [Release notes](https://github.com/proptest-rs/proptest/releases) - [Changelog](https://github.com/proptest-rs/proptest/blob/main/CHANGELOG.md) - [Commits](proptest-rs/proptest@0.4.0...proptest-derive-0.8.0) --- updated-dependencies: - dependency-name: proptest-derive dependency-version: 0.8.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
feat: add end-to-end test suite
…metrics feat: add comprehensive contract sustainability metrics
…e-standardization Feat/module interface standardization
…egration-tests feat: add cross-chain integration tests for bridge initialization rinafcode#335
Feat/config management
Feat/migration tests
Feat/rust fix
…ess-control-audit feat(security): add audit logging for admin actions and strengthen ac…
rinafcode#232 Fix race condition in concurrent approval scenarios
…ommunication-plan feat: add formal stakeholder communication plan
…ions/actions/setup-node-6 chore(deps): bump actions/setup-node from 3 to 6
…ions/actions/upload-artifact-7 chore(deps): bump actions/upload-artifact from 4 to 7
…ions/actions/checkout-6 chore(deps): bump actions/checkout from 3 to 6
…test-derive-0.8 chore(deps): update proptest-derive requirement from 0.4 to 0.8
57f361c
into
rinafcode:feat-advanced-nft-marketplace
4 of 8 checks passed
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.
🚀 Pull Request
📋 Description
🔗 Related Issue(s)
🎯 Type of Change
📝 Changes Made
🧪 Testing
✅ Pre-Merge Checklist (Required)
cargo test --liband all tests passcargo buildand the project builds successfullycargo build --target wasm32-unknown-unknown --releaseand WASM builds successfullycargo fmt --all -- --checkand code is properly formattedcargo clippyand there are no new warnings🧪 Additional Testing (Recommended)
cargo doc --no-depsand documentation builds without errorscargo auditand no critical vulnerabilities found📋 Test Results
🔍 Review Checklist
📝 Code Quality
🧪 Testing Requirements
📚 Documentation
🔒 Security
🏗️ Contract-Specific (if applicable)
📸 Screenshots/Recordings
💥 Breaking Changes
📊 Performance Impact
🔒 Security Considerations
📖 Additional Context
🚀 Deployment Notes
📋 Reviewer Checklist
🤖 CI Status
🎯 Ready for Review:
Thank you for contributing to TeachLink! 🚀
closes #374