feat(payments): Uniswap any-token funding and payout-token choice
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reading services/proposal_service.py and agentkit_service.py to trace how funding and escrow currently use USDC; also check the chain registry and issues #2 and #3. Confirm Trading API support and routing options for a testnet before choosing an integration path. Done means non-USDC funding meets the escrow and slippage criteria, failed or partial swaps are recorded, and agent caps and token allowlists are enforced with tests and documentation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Let users fund proposals or jobs with any supported token by swapping to USDC through Uniswap before escrow, and let workers pick a payout token.
Motivation
Requiring USDC up front is a friction point. Swapping in-flow keeps escrow and accounting in one currency.
Current state in this repo
- Proposal funding and escrow are USDC-only (
services/proposal_service.py,agentkit_service.py).
Proposal
- Add a swap service that requests a quote and a transaction from the Uniswap Trading API (API key via env), enforces slippage and deadline limits, and executes from the funder's wallet on a registry EVM chain.
- Add a
swap_tokensagent tool that respects agent caps and an allowlist of tokens. - Optionally add a payout-token preference for workers (swap USDC to their token after escrow release).
- Treat the quote as binding only within a short window; re-quote on expiry.
Acceptance criteria
- Funding with a non-USDC test token results in the exact USDC amount escrowed, within the configured slippage.
- Failed or partial swaps never leave funds in an unrecorded state (payment events show the outcome).
- Agent swaps obey per-transaction and daily caps and the token allowlist.
Out of scope
- Liquidity provision or trading strategies.
- Mainnet.
Technical notes and risks
- Uniswap routing, Permit2 approvals and MEV protection options vary by chain. Start on one testnet chain with real liquidity.
Dependencies
- #2
- #3
Testing plan
- Mocked Trading API tests; one scripted testnet swap.
Verify before implementing
- Trading API availability on the chosen testnet.
- Unichain chain ids and supported routing types before adding it to the registry.
References
- Uniswap swap integration docs: https://developers.uniswap.org/docs/protocols/v4/guides/swapping/getting-started
Part of ##1. Ground rules for all issues in this roadmap are listed there (testnet-first, no secrets in the repo, chain logic behind the registry, tests and docs with every PR).
- Lingua principale
- Python
- Stelle
- 2
- Fork
- 4
- Merge medio
- 5h 19m
- PR unite (30g)
- 11
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
QMeshPy/distributed-quantum#53 ·
I maintainer di solito rispondono entro 1 giorno
-
chain-integration enhancement payments research-spike tier-2
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
QMeshPy/distributed-quantum#78 ·
I maintainer di solito rispondono entro 1 giorno
-
chain-integration enhancement payments research-spike tier-2
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
QMeshPy/distributed-quantum#77 ·
I maintainer di solito rispondono entro 1 giorno
-
chain-integration enhancement payments tier-2
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
QMeshPy/distributed-quantum#76 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue kubo storage tier-1
Difficoltà 2/5 1-3 ore Idoneità per principianti 42/100
QMeshPy/distributed-quantum#75 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di QMeshPy/distributed-quantum
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
fossasia/visdom-dev#69 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Frontend build fails with Frappe version-16: DataImport is no longer exported by @framework/uiApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
BUG: PROD: v1.3.0-beta Onboarding Profile Picture Misaligns When Name Validation Error AppearsForse già presa @RitikaSen27 l’ha presa oggi. Apertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
AOSSIE-Org/PictoPy#1647 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
[oblt-aw][autodoc] Update workflow docs for gh-aw v0.92.5 and detector permission scopeForse già presa @github-actions l’ha presa oggi. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno