Skip to content

Feat/swap enhancements 359 362 - #396

Merged
fejilaup-cloud merged 5 commits into
AtomicIP:mainfrom
goldemaverick-ui:feat/swap-enhancements-359-362
Apr 27, 2026
Merged

Feat/swap enhancements 359 362#396
fejilaup-cloud merged 5 commits into
AtomicIP:mainfrom
goldemaverick-ui:feat/swap-enhancements-359-362

Conversation

@goldemaverick-ui

Copy link
Copy Markdown
Contributor

Summary

I've successfully implemented all 4 swap enhancement features with 4 separate commits:

✅ Commits Created

  1. feat(Implement Swap Reputation Scoring #359): Implement swap reputation scoring

    • User reputation tracking with (completed_swaps, rating) tuples
    • Automatic updates on swap completion
    • New module: reputation.rs
  2. feat(Add Swap Multi-Currency Support #360): Implement swap contingent completion

    • Conditional swap finalization with proof verification
    • Seller-only completion with contingency validation
    • New module: contingency.rs
  3. feat(Implement Swap Contingent Completion #361): Add swap dispute evidence storage

    • Evidence submission for arbitration
    • Support for multiple evidence hashes per dispute
    • New module: dispute_evidence.rs
  4. feat(Add Swap Multi-Currency Support #360): Add multi-currency support to swaps

    • USDC, EURC, and other token support
    • Comprehensive test suite
    • New test file: feature_tests.rs

Closes #359
Closes #360
Closes #361
Closes #362

- Add DataKey::UserReputation(Address) to store (completed_swaps, rating) tuples
- Implement get_user_reputation(env, user) -> (u32, u32)
- Implement update_reputation_on_completion() to increment completed_swaps
- Update reputation on swap completion in reveal_key()
- Add UserReputation type for reputation tracking
- Add contingency_condition: Option<Vec<u8>> field to SwapRecord
- Implement complete_swap_contingent(env, swap_id, condition_proof)
- Verify condition proof matches stored contingency before completion
- Only seller can complete contingent swaps
- Emit SwapContingentCompletedEvent on successful completion
- Add error codes for contingency validation
- Add DataKey::SwapDisputeEvidence(u64) to store evidence hashes
- Implement raise_swap_dispute(env, swap_id, evidence_hash)
- Implement get_dispute_evidence_list(env, swap_id) -> Vec<BytesN<32>>
- Support evidence submission by buyer or seller
- Emit DisputeEvidenceStoredEvent on evidence submission
- Add error codes for evidence validation
- Add payment_token: Address field to SwapRecord (already present)
- Support token parameter in initiate_swap()
- Update accept_swap to transfer specified token
- Add tests for multi-currency swaps
- Support USDC, EURC, and other token transfers
@drips-wave

drips-wave Bot commented Apr 26, 2026

Copy link
Copy Markdown

@goldemaverick-ui 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

@fejilaup-cloud
fejilaup-cloud merged commit 0f063bb into AtomicIP:main Apr 27, 2026
0 of 2 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

Development

Successfully merging this pull request may close these issues.

Add Swap Dispute Evidence Storage Implement Swap Contingent Completion Add Swap Multi-Currency Support Implement Swap Reputation Scoring

2 participants