SolanaKeypairWalletProvider returns a signature when confirmation reports an execution error
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 70/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- blockchain
Hướng nghiên cứu
Lỗi nằm trong typescript/agentkit/src/wallet-providers/solanaKeypairWalletProvider.ts: kết quả xác nhận từ confirmTransaction được await, nhưng value.err của nó không bao giờ được kiểm tra. Hãy bắt đầu với ba phương thức sendTransaction, signAndSendTransaction và nativeTransfer, cùng fixture Jest hiện có của provider đang mock Connection. Hoàn thành khi value.err khác null khiến promise bị reject kèm chữ ký và lỗi thực thi, khi null vẫn resolve với chữ ký, và khi các ngoại lệ gửi giao dịch hoặc xác nhận vẫn tiếp tục được lan truyền.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 1.3k
- Fork
- 889
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của coinbase/agentkit
-
Python: Permit2 approval in CdpSmartWalletActionProvider.swap always reports failure (integer vs string receipt status)Có thể đã có người làm @0xLittleDream đã nhận 10 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
coinbase/agentkit#1592 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Moonwell redeem fails on Base Sepolia and uses 18 decimals for cbBTCCó thể đã có người làm @sebxt đã nhận 14 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
coinbase/agentkit#1578 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ERC20 transfer reports "Transferred" when the transaction reverts (receipt status ignored)Có thể đã có người làm @AgenticFinanceGraph đã nhận 23 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
coinbase/agentkit#1558 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[TypeScript] `ViemWalletProvider` rejects a wallet client from a newer viem than the exactly pinned one (TS2345, `tokens` missing on `Client`)Có thể đã có người làm @PrabalParihar đã nhận 13 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
coinbase/agentkit#1532 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
coinbase-agentkit 0.7.x fails on fresh install: imports solana.rpc.api, which solana>=0.37 removedCó thể đã có người làm @JulienKervarrec đã nhận 41 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của coinbase/agentkit
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
riverqueue/river#1576 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[bug] A prompt queued during a run is assessed without its textCó thể đã có người làm @jwiegley đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DevMortimer/pi-warden#211 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
mattermost/compass-design#191 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add unit tests for the organization admin role checkCó thể đã có người làm @SaffuSafwan đã nhận hôm nay. Đang mởarea/core good first issue help wanted
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
elmohq/elmo#1095 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
HorusGoul/trizum#559 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày