Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement wallet connection for Stellar #52

Open
11 tasks
Marchand-Nicolas opened this issue Jan 6, 2025 · 22 comments · May be fixed by #77
Open
11 tasks

Implement wallet connection for Stellar #52

Marchand-Nicolas opened this issue Jan 6, 2025 · 22 comments · May be fixed by #77
Assignees
Labels
OD Boost Issue reserved for the OD Boost open for contribution An issue that is available for an Only Dust contribution

Comments

@Marchand-Nicolas
Copy link
Collaborator

Description 📹

Implement wallet connection for the Stellar chain in pages/verify/[discordServerId]/[discordMemberId]/[customLink].tsx. Add support for Stellar Testnet & Stellar Mainnet by showing a Stellar wallet connect popup if the expected network is Stellar. For other chains, show the Starknet wallet popup. Ensure the solution is clean and scalable to accommodate additional chains in the future.

Proposed Actions 🛠️

Here’s a checklist of actions to follow for resolving this issue:

  1. Fork and Create Branch:
    Fork the repository and create a new branch using the issue number:
git checkout -b fix-[issue-number]
  1. Implement Changes:

    • Add Stellar Testnet and Stellar Mainnet to configs/networks.json with the new "chain" field:

      [
        {
          "name": "mainnet",
          "url": "starknetid-mainnet.starknet.a5a.ch",
          "chain": "starknet"
        },
        {
          "name": "sepolia",
          "url": "starknetid-sepolia.starknet.a5a.ch",
          "chain": "starknet"
        },
        {
          "name": "stellar-mainnet",
          "url": "stellar-mainnet-url",
          "chain": "stellar"
        },
        {
          "name": "stellar-testnet",
          "url": "stellar-testnet-url",
          "chain": "stellar"
        }
      ]
    • Update pages/verify/[discordServerId]/[discordMemberId]/[customLink].tsx to:

      • Dynamically fetch the network configuration from networks.json.
      • Check the chain field for the current network.
        • If the chain is "stellar", show the Stellar wallet connect popup.
        • If the chain is "starknet", show the Starknet wallet connect popup.
      • Make the wallet connection logic modular to allow easy addition of future chains.
    • Create separate reusable functions/components for:

      • Stellar wallet connection logic.
      • Starknet wallet connection logic.
    • Ensure the code is clean and adheres to scalable design principles.

  2. Run Tests and Commit Changes:
    Make sure your changes don't break existing functionality and commit with a clear message:

git commit -m "Fix: Implement Stellar wallet connection with scalable multi-chain support"

Required 📋

To keep our workflow smooth, please make sure you follow these guidelines:

  • Assignment: Don't create a pull request if you weren’t assigned to this issue.
  • Timeframe: Complete the task within 3 business days.
  • Closing the Issue: In your PR description, close the issue by writing Close #[issue_id].
  • Review Process:
    • Once you've submitted your PR, change the label to "ready for review".
    • If changes are requested, address them and then update the label back to "ready for review" once done.
  • Testing: Test your PR locally before pushing, and verify that tests and build are working after pushing.

Thank you for your contribution 🙏

⚠️ WARNING: Failure to follow the requirements above may result in being added to the OnlyDust blacklist, affecting your ability to receive future rewards.

@Marchand-Nicolas Marchand-Nicolas added good first issue Good for newcomers OD Boost Issue reserved for the OD Boost open for contribution An issue that is available for an Only Dust contribution and removed good first issue Good for newcomers labels Jan 6, 2025
@Benjtalkshow
Copy link
Contributor

@Marchand-Nicolas
I can handle this. Kindly assign it to me. Thanks

@emarc99
Copy link
Contributor

emarc99 commented Jan 6, 2025

Please let me do this, sir. ETA 3 days

@Birdmannn
Copy link
Contributor

Gm dev. I have thoroughly read the task and it's requirements and I can do this within the specified time frame if given the chance.

I'm Pascal, and I'm already in the tg. I'll keep in touch

@OWK50GA
Copy link
Contributor

OWK50GA commented Jan 6, 2025

Hi, I can solve this

Let me handle this task

@mimisavage
Copy link

@Marchand-Nicolas
Can I be assigned to work on this task , please?

@Michaelkingsdev
Copy link

Michaelkingsdev commented Jan 9, 2025

@Marchand-Nicolas
I can integrate this feature using stellar wallet sdk and make sure it works seamlessly across the app. Thanks

@JoE11-y
Copy link

JoE11-y commented Jan 13, 2025

Would love to take this on?

@Verifieddanny
Copy link
Contributor

Let me handle this issue!

@sotoJ24
Copy link

sotoJ24 commented Jan 22, 2025

Hello @Marchand-Nicolas, I'm Josué Soto, from Dojo Coding

How can I plan to solve it?

Technical Solution:

  1. Add Stellar wallet integration using official Stellar SDK
  2. Implement chain-specific wallet connection logic:
interface WalletConnector {
  connect(): Promise<string>; // Returns wallet address
  disconnect(): Promise<void>;
}

class StellarWallet implements WalletConnector {
  // Implementation using Stellar SDK
}

class StarknetWallet implements WalletConnector {
  // Implementation using existing Starknet logic
}

const getWalletConnector = (chain: string): WalletConnector => {
  switch (chain) {
    case 'stellar':
      return new StellarWallet();
    case 'starknet':
      return new StarknetWallet();
    default:
      throw new Error(`Unsupported chain: ${chain}`);
  }
};

ETA 3 days

Following Open Source Guidelines:

  1. Code will be well-documented with JSDoc comments
  2. Will add unit tests for new functionality
  3. Will update README with new chain support details
  4. Will follow project's existing code style
  5. PR will include clear commit messages and description

Regards

@Akshola00
Copy link

Is it okay if I take this?
Can I work on this
I'm confident I can handle this task and seamlessly integrate the wallet connect
Pls assign

@0xdevcollins
Copy link

Can I contribute to this one?
I am a Full Stack Blockchain Developer with proficiency in Solidity/Rust, Next.js, TypeScript, React, and Node.js. I've demonstrated my ability to adjust to a variety of requirements, perform well under pressure, and reliably produce user-centric blockchain solutions with 66 significant contributions spread over 20 OnlyDust projects.

@Wendyalbert
Copy link

Would love to tackle this!

@Ekene001
Copy link

I’d love to work on this task. I’m a full-stack blockchain developer with over 3 years of experience working with Tailwind, React, TypeScript, and Solidity/Rust. I handle this issue?

@salazarsebas
Copy link

My background

I'm a software engineer and passionate about solving problems, I've been contributing to open source software for a few months and it's an experience that has taught me a lot and I really like to contribute to other projects. I am a member of the Dojo Coding community⛩️. I will dedicate all my effort to complete this issue in the best way.

@vestor-dev
Copy link

Holla i'm Vestor, I'm an experienced frontend developer and a smart contract developer and i would love to take on this issue.
Kindly assign :) and i'll get to work

@martinvibes
Copy link

Holla i'm Martin, I'm a frontend developer who enjoys building smooth applications to pixel perfect and engaging websites using JavaScript, typescript and frameworks(React, nextjs, tailwindcss etc.) and i have contributed to other projects that have been merged.
Am also experienced in working and writing smart contracts.
Kindly assign :)

@abdegenius
Copy link

May I handle this issue?

@ussyalfaks
Copy link

Can I work on this, please?

@ShantelPeters
Copy link

Can I take this issue?

@chiscookeke11
Copy link
Contributor

Can I try solving this issue?

@espaciofuturoio
Copy link

Can I start working on this?

@sotoJ24
Copy link

sotoJ24 commented Jan 22, 2025

On it

@sotoJ24 sotoJ24 linked a pull request Jan 27, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OD Boost Issue reserved for the OD Boost open for contribution An issue that is available for an Only Dust contribution
Projects
None yet
Development

Successfully merging a pull request may close this issue.