feat(gateway): index NFTPrizeEscrow PrizeDeposited/PrizeReleased and relay to chain
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- blockchain, typescript
- Área
- backend, blockchain
Línea de trabajo
Start with the design doc at ui/docs/designs/play-for-nft.md, then find the existing gateway listener that handles the USDC Deposited event and its MsgProcessDeposit submission, since the issue asks to reuse that plumbing. Add handlers for PrizeDeposited and PrizeReleased on NFTPrizeEscrow, with the same confirmation depth and an idempotency guard. Done when both events map to their chain messages and re-observing an event submits nothing new.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Part of #196 (Play for NFTs). Design: ui/docs/designs/play-for-nft.md.
Scope
Gateway/indexer: observe the escrow contract's Ethereum events and drive the matching chain messages — the same observe-and-relay role the gateway already plays for USDC Deposited.
Requirements
- Watch
NFTPrizeEscrowfor:PrizeDeposited(gameId, nftContract, tokenId, depositor)→ submitMsgConfirmNFTPrizeDeposit(gameId, ethTxRef)once the deposit has sufficient confirmations.PrizeReleased(gameId, recipient, kind, nonce)→ mark the prize released on-chain (so the UI can reflect WIN/REFUND completion and the chain won't re-authorize).
- Confirmation depth consistent with the existing USDC deposit path.
- Idempotent: re-observing the same event must not double-submit.
Notes
- Reuse the existing event-listener + chain-submit plumbing used for
Deposited/MsgProcessDeposit.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 5
- Merge medio
- 21 h 50 min
- PR fusionados (30 d)
- 104
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de block52/ui
-
guards: accept readonly arrays (and other array-likes) in isEmpty / hasElements / safeLengthAbiertoenhancement tech debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
feat(ui): player language setting and translated player screensPosiblemente ocupada @Dzeezbtc la tomó hace 1 día. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
feat(ui): player notes and tags — click a seat to note a player; tag icons (fish, shark, tight, loose…) show by their pillPosiblemente ocupada @Dzeezbtc la tomó hace 4 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
architecture refactor tech debt
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
Todos los issues de block52/ui
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
hugomrdias/playwright-test#753 ·
Los mantenedores suelen responder en 1 día
-
Review view: Daily/Weekly Review header buttons use the app-wide toolbar control stylePosiblemente ocupada @colherdesopa la tomó hoy. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
dongdongbh/Mindwtr#1515 ·
Los mantenedores suelen responder en 1 día
-
pending-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
kirodotdev/Kiro#12301 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100