Add evm transactions command and fix OpenAPI spec gaps across all EVM commands#33
Add evm transactions command and fix OpenAPI spec gaps across all EVM commands#33ivpusic wants to merge 1 commit intosim/evm-activityfrom
Conversation
ivpusic
commented
Mar 12, 2026
- Add dune sim evm transactions with --chain-ids, --decode, --limit, --offset flags
- Add --decode text-mode stderr hint and E2E tests (text, JSON, decode-text, decode-JSON, pagination)
- Fix spec gaps: add missing struct fields across all EVM commands
- transactions: block_version, max_fee_per_gas, max_priority_fee_per_gas, decoded, logs, errors
- balances/balance/stablecoins: historical_prices, token_metadata, pool, errors + printBalanceErrors
- activity: tokenMetadata.standard, functionInfo.inputs
- balance: --metadata and --historical-prices CLI flags
- Use json.RawMessage for decoded input values to handle non-string ABI types safely
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR SummaryMedium Risk Overview Updates existing EVM commands to close API schema gaps by extending decoded response structs (e.g., balance Written by Cursor Bugbot for commit bcff9e1. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Balance command silently drops errors in text mode
- Added missing printBalanceErrors call to runBalance function in balance.go, matching the pattern used in balances and stablecoins commands.
Or push these changes by commenting:
@cursor push a207014ce9
Preview (a207014ce9)
diff --git a/cmd/sim/evm/balance.go b/cmd/sim/evm/balance.go
--- a/cmd/sim/evm/balance.go
+++ b/cmd/sim/evm/balance.go
@@ -73,6 +73,8 @@
return fmt.Errorf("parsing response: %w", err)
}
+ printBalanceErrors(cmd, resp.Errors)
+
if len(resp.Balances) == 0 {
fmt.Fprintln(w, "No balance found.")
return nilComment @cursor review or bugbot run to trigger another review on this PR
| } | ||
| if v, _ := cmd.Flags().GetString("historical-prices"); v != "" { | ||
| params.Set("historical_prices", v) | ||
| } |
There was a problem hiding this comment.
Balance command silently drops errors in text mode
Medium Severity
The runBalance text-mode path in balance.go deserializes into balancesResponse (which now includes the new Errors field) but never calls printBalanceErrors. Both runBalances and runStablecoins call printBalanceErrors(cmd, resp.Errors) before rendering, so balance is the only command that silently swallows API-reported errors in text mode.
Additional Locations (2)
| ChainID int64 `json:"chain_id"` | ||
| Address string `json:"address"` | ||
| Description string `json:"description,omitempty"` | ||
| } |
There was a problem hiding this comment.
Duplicated error types and printing functions across commands
Low Severity
transactionErrorInfo and balanceErrorInfo have identical fields, and printTransactionErrors and printBalanceErrors contain nearly identical logic. Both are introduced in this PR and could share a single error-info type and a common printing helper, reducing duplication and the risk of divergent fixes.
Additional Locations (2)
bdefbb5 to
edf0ab9
Compare
a0d205d to
fbcafd8
Compare
2e4f6b8 to
cf71047
Compare
fbcafd8 to
a7bacad
Compare
… commands - Add dune sim evm transactions with --chain-ids, --decode, --limit, --offset flags - Add --decode text-mode stderr hint and E2E tests (text, JSON, decode-text, decode-JSON, pagination) - Fix spec gaps: add missing struct fields across all EVM commands - transactions: block_version, max_fee_per_gas, max_priority_fee_per_gas, decoded, logs, errors - balances/balance/stablecoins: historical_prices, token_metadata, pool, errors + printBalanceErrors - activity: tokenMetadata.standard, functionInfo.inputs - balance: --metadata and --historical-prices CLI flags - Use json.RawMessage for decoded input values to handle non-string ABI types safely
a7bacad to
f381fe4
Compare
cf71047 to
bd39336
Compare



