SolanaKeypairWalletProvider returns a signature when confirmation reports an execution error
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 70/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- blockchain
Línea de trabajo
El error está en typescript/agentkit/src/wallet-providers/solanaKeypairWalletProvider.ts: el resultado de confirmación de confirmTransaction se espera con await, pero nunca se comprueba su value.err. Empieza por los tres métodos sendTransaction, signAndSendTransaction y nativeTransfer, y por el fixture de Jest existente del proveedor que simula Connection. Está terminado cuando un value.err no nulo rechaza con la firma y el error de ejecución, null sigue resolviendo con la firma y las excepciones de envío o de confirmación siguen propagándose.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
SolanaKeypairWalletProvider waits for confirmation but discards the returned value.err. A transaction can therefore be submitted and confirmed with an execution failure while sendTransaction, signAndSendTransaction, and nativeTransfer resolve with its signature.
Affected code
Reproduced against main at f2f3e8c11a91d56a17979a229a172ba6e61a85c2, in typescript/agentkit/src/wallet-providers/solanaKeypairWalletProvider.ts.
Reproduction
In the existing provider Jest fixture, let Connection.sendTransaction resolve to signature123 and Connection.confirmTransaction resolve to:
{
context: { slot: 1 },
value: { err: { InstructionError: [0, { Custom: 7 }] } },
}
Invoke each of sendTransaction(tx), signAndSendTransaction(tx), and nativeTransfer(to, amount) with the existing valid transaction/balance fixtures. All three resolve to signature123 on the unmodified source. They do not reject, even though the confirmation explicitly reports failed execution. This can occur when execution fails after submission/preflight; a resolved confirmation promise alone does not imply successful execution.
Expected result and impact
Reject with an error carrying the submitted signature and execution error. Continue returning the signature when value.err === null, and preserve submission/confirmation exceptions. Otherwise callers can treat a failed transfer as successfully completed.
Verification
Three regression cases fail on the original source (21 other provider tests pass); the patched provider passes all 24. This reproduction uses controlled RPC results and does not spend funds or claim a live-network transaction.
Related: #1558 concerns EVM/ERC20 receipt status; this report concerns the separate Solana keypair provider and its confirmation result.
AI-assisted investigation and regression tests, prepared with Codex.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.4k
- Forks
- 900
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 coinbase/agentkit
-
Python: Permit2 approval in CdpSmartWalletActionProvider.swap always reports failure (integer vs string receipt status)Posiblemente ocupada @0xLittleDream la tomó hace 12 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
coinbase/agentkit#1592 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Moonwell redeem fails on Base Sepolia and uses 18 decimals for cbBTCPosiblemente ocupada @sebxt la tomó hace 15 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
coinbase/agentkit#1578 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
ERC20 transfer reports "Transferred" when the transaction reverts (receipt status ignored)Posiblemente ocupada @AgenticFinanceGraph la tomó hace 24 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
coinbase/agentkit#1558 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[TypeScript] `ViemWalletProvider` rejects a wallet client from a newer viem than the exactly pinned one (TS2345, `tokens` missing on `Client`)Posiblemente ocupada @PrabalParihar la tomó hace 15 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
coinbase/agentkit#1532 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
coinbase-agentkit 0.7.x fails on fresh install: imports solana.rpc.api, which solana>=0.37 removedPosiblemente ocupada @JulienKervarrec la tomó hace 42 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
Todos los issues de coinbase/agentkit
Issues similares
-
[Text] Add Reading Time & Word Count Estimator for Reflection Notes in src/lib/text/reading-time.tsAbiertoarea:core beginner-friendly community contributions-welcome difficulty:easy enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
[fullsend] E2E: scorecard — filecheck GitLab entity metrics unavailable due to initialDelay timingAbiertoe2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
redhat-developer/rhdh-plugin-export-overlays#4698 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
devswha/herdr-web-ui#2884 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
b:minor bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
software-mansion/argent#1771 ·
Los mantenedores suelen responder en 1 día