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

Develop a PoC "SingleRequestProxy" payment smart contract that emits the paymentReference event in the receive() function #1283

Closed
11 of 16 tasks
Tracked by #1159
MantisClone opened this issue Dec 6, 2023 · 3 comments
Assignees

Comments

@MantisClone
Copy link
Member

MantisClone commented Dec 6, 2023

Definition of Done

Motivation

  1. As a Builder, I want create requests on Request Network, but use my own payment infrastructure, so I don't need to redeploy my smart contracts #1159
  2. Let users pay a request from a Centralized Exchange (CEX).
  3. Let users pay a request without connecting their wallet to a Dapp.

Proposed Solution

Reference: https://miro.com/app/board/uXjVM2Pf758=/?share_link_id=761216115297
Image

Factory Contract can spawn new instances of SingleRequestProxy.

@benjlevesque
Copy link
Contributor

another interesting use case for this : exchanges! They don't support smart contract calls, so cannot interract with the existing proxies.

It seems important that, once used, the "one time proxy" rejects any incoming transfer

@MantisClone
Copy link
Member Author

MantisClone commented Dec 7, 2023

It seems important that, once used, the "one time proxy" rejects any incoming transfer

@benjlevesque I'm not so sure. I think we'd still want to support partial payments. And since the expected amount can change (via increase/decreaseExpectedAmount) I don't think we can store the expected amount on the contract.

@MantisClone
Copy link
Member Author

Despite the familiarity of the name "One Time Proxy", I don't think we should call it that, because we support partial payments meaning that a given proxy contract can be paid more than once. I prefer the name "SingleRequestProxy". I think it makes it clear that the Proxy is tied to a single request.

@MantisClone MantisClone moved this from 📋 Backlog: Enhancements to 🔖 Sprint Backlog in Request Network Tech Backlog Dec 20, 2023
@MantisClone MantisClone moved this from 🔖 Sprint Backlog to 📋 Backlog: Enhancements in Request Network Tech Backlog Jan 10, 2024
@MantisClone MantisClone moved this from 📋 Backlog: Enhancements to 🔖 Sprint Backlog in Request Network Tech Backlog Apr 3, 2024
@MantisClone MantisClone assigned MantisClone and unassigned skiv71 Apr 9, 2024
@MantisClone MantisClone removed their assignment Apr 26, 2024
@MantisClone MantisClone changed the title Develop a PoC "One Time Proxy" payment smart contract that emits the paymentReference event in the receive() function Develop a PoC "SingleRequestProxy" payment smart contract that emits the paymentReference event in the receive() function Apr 30, 2024
@MantisClone MantisClone moved this from 🔖 Sprint Backlog to ✨ Backlog: Enhancements in Request Network Tech Backlog Jun 28, 2024
@MantisClone MantisClone moved this from ✨ Backlog: Enhancements to 🔖 Sprint Backlog in Request Network Tech Backlog Oct 15, 2024
@aimensahnoun aimensahnoun moved this from 🔖 Sprint Backlog to 🏗 In Progress in Request Network Tech Backlog Oct 30, 2024
@aimensahnoun aimensahnoun moved this from 🏗 In Progress to 👀 In Review in Request Network Tech Backlog Nov 4, 2024
@aimensahnoun aimensahnoun moved this from 👀 In Review to ✅ Done in Request Network Tech Backlog Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

No branches or pull requests

4 participants