xch-dev / xch-dev/sage

Feature Request: Deep Links as an alternative to some Wallet Connect features.

Open
#727 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
59
Forks
34
Avg merge
4d 14h
Merged PRs (30d)
31

Description

My Thought Process:

I dislike wallet connect from both and end user point of view and a developer's point of view. It feels like wallet connect is an unnecessary step for the tasks I want to accomplish like taking an offer, maybe even making and submitting offers.

My Desired Workflow Example:

I would like to be able to "Go Shopping" on dexie / mintgarden / etc. I would like a "Add to Cart" feature that would send the offer file to a new section of the sage wallet.

Image

These offers would end up in the new section of sage:

Image

The Cart section should:

  • Display offer terms clearly (offered and requested should be in terms of what the user is paying and receiving)
  • Only show offers that can be accepted
  • Have multi select enabled so you can accept all the offers at once (Using the existing sage rpc for offer joining)
  • Have filter and sort options
  • Have a way to remove unwanted offers
End User Experience:

As a user, I click add to cart button on any website. Sage already knows how to handle the uri and adds the offer to my cart. I can go to my cart at any time to view what is in there and accept the offers i want and remove the ones I don't.

Web Developer Experience:

I can create an anchor tag that follows the rules for the deep link. This would simplify my workflow as a developer significantly. I don't need feedback from the user's wallet because I can just watch my developer's wallet to see if the offer is taken.
Example:
<a href="sage://add_offer/offer1qqr83wcuu2rykcmqvpsf40h3y2...">

Other Potential:

It might be nice to add other deep links for things like:

  • Create_offer
  • Review_sign_spend_bundle

These should have some sort of pending state where they are sent and wait for the wallet user to approve them.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by mapping the wallet's deep-link handling and offer/cart workflow against the requested URI, cart display, filtering, removal, and multi-acceptance behavior; done means the agreed scope and approval flow are implemented and testable.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.