Skip to content

feat(contract): implement multi-wallet session state switching#377

Merged
ayshadogo merged 1 commit into
Dfunder:mainfrom
mijinummi:feature/multi-wallet-contract-374
Jun 30, 2026
Merged

feat(contract): implement multi-wallet session state switching#377
ayshadogo merged 1 commit into
Dfunder:mainfrom
mijinummi:feature/multi-wallet-contract-374

Conversation

@mijinummi

Copy link
Copy Markdown
Contributor

Description

This PR addresses Issue #374, delivering a secure multi-wallet session switching mechanism inside the Soroban smart contract framework.

Key Modifications

  • Atomic State Purging: Built state-management keys using env.storage().persistent() to drop previous address identifiers when a hot-swap occurs.
  • Mid-Flow Transaction Guard: Added an IsFlowLocked verification wrapper that blocks wallet context modification if an operation is midway through an atomic execution block.
  • On-Chain Network Verification: Enforced validation gates that parse incoming network symbols to shield state machines from cross-network injection attacks.

Closes #374

@drips-wave

drips-wave Bot commented Jun 29, 2026

Copy link
Copy Markdown

@mijinummi 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

@ayshadogo ayshadogo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ayshadogo ayshadogo merged commit 86b7272 into Dfunder:main Jun 30, 2026
@grantfox-oss grantfox-oss Bot mentioned this pull request Jun 30, 2026
4 tasks
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.

Multi-Wallet Session Support

2 participants