Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
fecddd9
chore: swap siwe (not maintained) with @signinwithethereum/siwe
PetromirDev Apr 20, 2026
5728267
update: lowercase address autologin test
PetromirDev Apr 20, 2026
b2aa13e
remove: viem getAddress from autoLogin
PetromirDev Apr 20, 2026
b06f6b1
add: additional autoLogin test
PetromirDev Apr 20, 2026
fe946a3
Merge remote-tracking branch 'origin/v2' into chore/swap-siwe-lib
PetromirDev Apr 21, 2026
a14083d
Merge remote-tracking branch 'origin/v2' into chore/swap-siwe-lib
PetromirDev Apr 21, 2026
1489da0
add: balanceChanges logic to submittedAccountOp
Oxbobby Apr 22, 2026
419613d
change: do not show amounts in uniswap humanization
Oxbobby Apr 22, 2026
837106b
fix: use toQuantity instead of toBeHex for blockTag numbers; wrap fin…
Oxbobby Apr 22, 2026
4c06290
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 22, 2026
a8d89cb
write a migration that fetches the last 10 txns per account and updat…
Oxbobby Apr 23, 2026
a4b7f79
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 23, 2026
3880ca7
upon clicking on the card, refetch and save the balance changes if th…
Oxbobby Apr 23, 2026
cc1543a
add: AI PR reviews
PetromirDev Apr 24, 2026
8fb068a
update: models
PetromirDev Apr 24, 2026
577cc71
update: models again
PetromirDev Apr 24, 2026
6632c1f
agent pr review fixes
PetromirDev Apr 24, 2026
c3c9cb6
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 24, 2026
dfc28fd
implement balance changes in benzina as well
Oxbobby Apr 24, 2026
ea5076b
fix: run balanceChangesTasks when we have a receipt
Oxbobby Apr 25, 2026
dac71d6
tidy up code; add comments; fetch balance changes on a failed txn as …
Oxbobby Apr 25, 2026
3563279
configure balanceChanges to work for no-batch supporting wallets
Oxbobby Apr 27, 2026
f17996e
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 27, 2026
97351ac
add an extra, presentational status for non-atomic batches called Par…
Oxbobby Apr 27, 2026
06b8ad2
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 28, 2026
39dd944
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 28, 2026
e93656e
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 28, 2026
65ecd33
fix: incomplete meta in the benzin req
sonytooo Apr 28, 2026
24ca92e
Merge pull request #2342 from AmbireTech/fix/benzin-request-incomplet…
sonytooo Apr 28, 2026
49cdc23
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 29, 2026
2d74231
fix(aave-positions): limit of supported assets
JIOjosBG Apr 29, 2026
ce9029c
fix(aave-defi-positions): fix wrong func and types
JIOjosBG Apr 29, 2026
287bdae
Add isMax prop in SwapAndBridge controller, added logic for setting m…
Maskln Apr 29, 2026
2d46cb6
ci(unit-tests): do no tun on draft PRs
JIOjosBG Apr 29, 2026
b3b95f3
ci: test no unit test for draft
JIOjosBG Apr 29, 2026
9ab3c15
ci: test no unit test for draft
JIOjosBG Apr 29, 2026
a1791b2
ci: activate unit tests when PR is converted from draft to ready for …
JIOjosBG Apr 29, 2026
3c3d053
Merge remote-tracking branch 'origin/v2' into chore/swap-siwe-lib
PetromirDev Apr 30, 2026
2980f44
Removed isMax and redundant assignments
Maskln Apr 30, 2026
c64a858
Merge pull request #2318 from AmbireTech/chore/swap-siwe-lib
PetromirDev Apr 30, 2026
a4611c6
Merge pull request #2343 from AmbireTech/fix/aave-asset-number-limit
JIOjosBG Apr 30, 2026
07afe97
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby Apr 30, 2026
5c68457
remove deduplication of hidden tokens as they are hidden
Oxbobby Apr 30, 2026
b45e777
add: a hidden token to the visualization
Oxbobby Apr 30, 2026
e8147db
remove unneeded checks at uniswap humanizer level
Oxbobby May 1, 2026
f8ecfc9
protect the balance changes method from blowing up with a try/catch s…
Oxbobby May 1, 2026
c8e43c9
add: persist to storage only after the end of an activity balance cha…
Oxbobby May 1, 2026
6c3b22d
backfill account ops on filter as well
Oxbobby May 2, 2026
163ef3c
allow 3 retries on fetching balance changes for account ops
Oxbobby May 3, 2026
ebe4576
fix: activity tests to reflect the newest codebase
Oxbobby May 3, 2026
2e77e4c
add: a balance changes error test
Oxbobby May 3, 2026
519a64d
refactor(humanizer-edit-approval): decouple
JIOjosBG May 4, 2026
bde2732
Merge remote-tracking branch 'origin/v2' into feature/ai-reviews
PetromirDev May 4, 2026
cf78221
add: manual trigger for general-review
PetromirDev May 4, 2026
e514b65
fix: workflow dispatch and remove push trigger
PetromirDev May 4, 2026
582e78e
debug: try to trigger general-review on push
PetromirDev May 4, 2026
ccb5a79
chore(humanizer): remove unused file
JIOjosBG May 4, 2026
d760e99
Merge pull request #2347 from AmbireTech/ci/stop-unit-tests-on-draft-prs
JIOjosBG May 4, 2026
88b7546
debug: general review workflow
PetromirDev May 4, 2026
c34782e
remove: debug hacks from general-review workflow
PetromirDev May 4, 2026
99ea44e
Merge pull request #2350 from AmbireTech/fix/edit-approvals-to-0
JIOjosBG May 4, 2026
0863e93
update: review action prompts
PetromirDev May 4, 2026
b4c0630
PR review actions polishing and label triggers
PetromirDev May 4, 2026
cf5272a
Merge remote-tracking branch 'origin/v2' into fix-max-token-amount-in…
Maskln May 4, 2026
8c9e44d
update: rewrite only if comment trigger (security-review)
PetromirDev May 4, 2026
1822800
add: active param to portfolio discovery
PetromirDev May 4, 2026
03d9ca8
remove the account op balance changes backfill migration as we don't …
Oxbobby May 4, 2026
dfd2ea8
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby May 4, 2026
e353eac
Merge pull request #2351 from AmbireTech/feature/portfolio-discovery-…
PetromirDev May 4, 2026
63ed174
Merge pull request #2330 from AmbireTech/feature/ai-reviews
PetromirDev May 4, 2026
501091a
Always use token amount for max amount
Maskln May 4, 2026
298e706
fix: do not await the balance changes in the activity controller as i…
Oxbobby May 4, 2026
a836674
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby May 4, 2026
a7ff848
remove an activity unit tests that is no longer valid
Oxbobby May 4, 2026
22f5431
Merge pull request #2344 from AmbireTech/fix-max-token-amount-in-swap…
Maskln May 5, 2026
f0f8b93
Merge branch 'v2' of github.com:AmbireTech/ambire-common into feature…
Oxbobby May 5, 2026
eb0441c
Merge pull request #2332 from AmbireTech/feature/benzin-balance-changes
Oxbobby May 5, 2026
52fd200
Merge branch 'main' of github.com:AmbireTech/ambire-common into v2
superKalo May 5, 2026
f6f8ddb
Change: bump up the v
superKalo May 5, 2026
70de605
write: a fix for hyper evm balance changes that reads the transfer lo…
Oxbobby May 5, 2026
502484c
use debug_traceTransaction to detect native transfers on hyperEVM
Oxbobby May 5, 2026
71f9744
move the hypervm logic to another file
Oxbobby May 5, 2026
78669e1
add: a fault proof guard for failed balance checks
Oxbobby May 5, 2026
0fbc051
add: a one time balance changes reset
Oxbobby May 7, 2026
de25ddd
add: a gas field to advanced options
Oxbobby May 7, 2026
a12fa9a
move the fees logic from signAccountOp to a separate lib
Oxbobby May 7, 2026
76264b6
fix: signAccountOp tests
Oxbobby May 7, 2026
653004c
add: Missing previous-block ERC-20 snapshot is now allowed, treated a…
Oxbobby May 7, 2026
6923395
grealy improve debug_traceTransaction handling in the balance change …
Oxbobby May 7, 2026
33ef30f
improve the hyper evm trace by making it run at a max of 3 receipts a…
Oxbobby May 7, 2026
acb8efc
change migration name from resetAccountOpBalanceChanges to resetAccou…
Oxbobby May 7, 2026
320e989
Merge pull request #2357 from AmbireTech/fix/hyper-evm-balance-changes
Oxbobby May 7, 2026
6da241d
Merge pull request #2358 from AmbireTech/feature/add-gas-field-to-adv…
Oxbobby May 7, 2026
4dc3ade
Change: bump up the v
superKalo May 7, 2026
ebe6800
remove #resetAccountOpBalanceChangesOneTimeForAmbireNextTesting as it…
Oxbobby May 8, 2026
854c6e1
Merge pull request #2361 from AmbireTech/fix/clean-up-#resetAccountOp…
Oxbobby May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/workflows/general-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: PR Agent - General Review

on:
pull_request:
types: [opened, synchronize, labeled]
issue_comment:
types: [created]
workflow_dispatch:

jobs:
review:
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'review') ||
github.event_name == 'workflow_dispatch' ||
(github.event.sender.type != 'Bot' &&
github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '/review'))
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write

steps:
- uses: actions/checkout@v6

- name: Run General PR Agent
uses: The-PR-Agent/pr-agent@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENROUTER__KEY: ${{ secrets.OPENROUTER__KEY }}
CONFIG__MODEL: "openrouter/moonshotai/kimi-k2.6"
# Without auto_review=true we cannot have triggers such as
# workflow_dispatch and PR label
github_action_config.auto_review: "true"
github_action_config.auto_describe: "false"
github_action_config.auto_improve: "false"
68 changes: 68 additions & 0 deletions .github/workflows/security-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: PR Agent - Security Review

on:
pull_request:
types: [opened, synchronize, labeled]
issue_comment:
types: [created]
workflow_dispatch:

jobs:
security_review:
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'security-review') ||
github.event_name == 'workflow_dispatch' ||
(github.event.sender.type != 'Bot' &&
github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '/security-review'))
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write

steps:
- uses: actions/checkout@v6

# PR-Agent does not recognize "/security-review" as a native command.
# We rewrite the event JSON so the agent sees "/review" instead.
# How this works is:
# 1. Only this workflow runs because of the if statement
# 2. It replaces /security-review with /review
# 3. It replaces the extra instructions
- name: Rewrite event payload for PR-Agent
if: github.event_name == 'issue_comment'
run: |
jq '(.comment.body // "") |= sub("/security-review"; "/review"; "i")' \
"$GITHUB_EVENT_PATH" > "$GITHUB_EVENT_PATH.tmp" && \
mv "$GITHUB_EVENT_PATH.tmp" "$GITHUB_EVENT_PATH"

- name: Run Security PR Agent
uses: The-PR-Agent/pr-agent@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENROUTER__KEY: ${{ secrets.OPENROUTER__KEY }}
CONFIG__MODEL: "openrouter/anthropic/claude-opus-4.7"
# Without auto_review=true we cannot have triggers such as
# workflow_dispatch and PR label
github_action_config.auto_review: "true"
github_action_config.auto_describe: "false"
github_action_config.auto_improve: "false"
PR_REVIEWER__EXTRA_INSTRUCTIONS: |
You are reviewing changes in a security-sensitive Web3 browser extension wallet. Focus exclusively on security, privacy, and compliance risks. Ignore style, performance, or general quality issues unless they have direct security impact.

Key areas to examine:
- Sensitive data exposure or hard-coded secrets
- Insecure deserialization, cryptographic issues
- Improper access control
- Input validation, sanitization, and output encoding
- Logging of sensitive information
- Changes in key areas like: keystore, signing logic, encryption and safety features
- Edge cases in features that ensure the security of the user (e.g., phishing detection, transaction safety checks, etc.)

For every finding:
- State the severity (Critical / High / Medium / Low)
- Quote the exact vulnerable code
- Explain the risk clearly
- Provide concrete remediation steps or code fixes

Be thorough and precise.
3 changes: 3 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ on:
- v2
- main
- 'release/*'
types: [opened, synchronize, reopened, ready_for_review]
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
environment: tests
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
Expand Down
98 changes: 98 additions & 0 deletions .pr_agent.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
[config]
response_language = "en"

# ─────────────────────────────────────────────
# Token & Cost Guardrails
# ─────────────────────────────────────────────
# Cap context for OpenRouter models (safety net for large PRs).
# The models support 256k+; we clamp to 256k
# to prevent runaway costs while leaving room for deep reviews.
custom_model_max_tokens = 256000

# Increase timeout from default 120s → 300s (5 min).
# Security reviews with large diffs on heavy models need headroom.
ai_timeout = 300

# If a diff is too large, clip it rather than skipping entirely.
large_patch_policy = "clip"

# ─────────────────────────────────────────────
# Ignore Patterns
# ─────────────────────────────────────────────
[ignore]
glob = [
# Lockfiles
"**/*.lock",
"**/package-lock.json",
"**/yarn.lock",

# Build artifacts & deps
"artifacts/**",
"cache/**",
"coverage/**",
"node_modules/**",
"dist/**",
"patches/**",

# Minified assets
"**/*.min.js",
"**/*.min.css",

# Logs
"*.log",

# Tests
"**/*.test.ts",
"**/*.spec.ts",
"**/*.test.js",
"**/*.spec.js",

# Generated / declaration files
"**/*.d.ts",

# CI/CD
"**/.github/**",
]

# ─────────────────────────────────────────────
# General Review Settings (/review)
# ─────────────────────────────────────────────
[pr_reviewer]
extra_instructions = """
You are reviewing changes in a security-sensitive Web3 browser extension wallet.

Focus on the diff in front of you and assess it for correctness, security, reliability, and maintainability.

Prioritize issues such as:
- Requests without error handling and timeouts
- Inefficient algorithms or data structures
- Inconsistent naming conventions or formatting
- Unnecessary complexity or duplication
- Missing comments or documentation for complex logic
- Unhandled exceptions and edge cases
- Swallowed errors and edge case return statements that should at least log an error

Be constructive, concise, and actionable. Keep feedback grounded in the actual changes rather than using a fixed checklist.
"""

# UX: update the same comment on re-run instead of posting a new one.
persistent_comment = true

# Post a final "Review completed" message so devs know the agent is done.
final_update_message = true

# Publish even when there are no major findings (avoids silent failures).
publish_output_no_suggestions = true

# Enable built-in security sub-section even in general reviews (defense in depth).
require_security_review = true

# Also scan for missing tests, TODOs, and ticket references.
require_tests_review = true
require_todo_scan = true
require_estimate_effort_to_review = true
require_ticket_analysis_review = true

# Keep the review header but suppress noisy help text.
enable_intro_text = true
enable_help_text = false
Loading