Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughIntroduces a new "deposit-addresses" ENS best practice under a renamed "resolution" category (replacing ChangesENS Awards — Deposit-Addresses Best Practice Rollout
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR adds full acceptance test benchmarks for 1inch DeFi and Blockscout Explorer under the
Confidence Score: 5/5Safe to merge — purely additive benchmark data and a structural refactor with no changes to app logic or shared infrastructure. All changes are benchmark content (TSX data modules) and agent skill documentation. The only shared-code touch is adding No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[benchmarks/index.tsx] --> B[resolution/ensv2-ready-resolution/index.tsx]
A --> C[resolution/deposit-address/index.tsx]
B --> B1[AcceptanceTest: correctly-resolve-ensv2-test-name-address]
B1 --> B1R[Result: Fail]
C --> C1[AT1: correctly-resolve-direct-onchain-subname-address]
C --> C2[AT2: correctly-resolve-names-requiring-normalization]
C --> C3[AT3: correctly-implement-ccip-read-for-eth-subnames]
C --> C4[AT4: correctly-implement-ccip-read-for-offchain-dns-names]
C --> C5[AT5: correctly-resolve-names-for-different-evm-chains]
C --> C6[AT6: correctly-resolve-names-for-bitcoin]
C --> C7[AT7: correctly-resolve-names-for-solana]
C --> C8[AT8: correctly-handle-resolution-for-chains-with-invalid-address-formatting]
C1 --> R1[1inch: Pass / Blockscout: Pass]
C2 --> R2[1inch: Pass / Blockscout: Pass]
C3 --> R3[1inch: Pass / Blockscout: Pass]
C4 --> R4[1inch: Fail / Blockscout: Pass]
C5 --> R5[1inch: Fail / Blockscout: Fail]
C6 --> R6[1inch: N/A / Blockscout: N/A]
C7 --> R7[1inch: Fail / Blockscout: N/A]
C8 --> R8[1inch: N/A / Blockscout: N/A]
D[technicalDetails.tsx] -->|exported spans| C
D -->|exported spans| E[etherscan deposit-address/index.tsx]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[benchmarks/index.tsx] --> B[resolution/ensv2-ready-resolution/index.tsx]
A --> C[resolution/deposit-address/index.tsx]
B --> B1[AcceptanceTest: correctly-resolve-ensv2-test-name-address]
B1 --> B1R[Result: Fail]
C --> C1[AT1: correctly-resolve-direct-onchain-subname-address]
C --> C2[AT2: correctly-resolve-names-requiring-normalization]
C --> C3[AT3: correctly-implement-ccip-read-for-eth-subnames]
C --> C4[AT4: correctly-implement-ccip-read-for-offchain-dns-names]
C --> C5[AT5: correctly-resolve-names-for-different-evm-chains]
C --> C6[AT6: correctly-resolve-names-for-bitcoin]
C --> C7[AT7: correctly-resolve-names-for-solana]
C --> C8[AT8: correctly-handle-resolution-for-chains-with-invalid-address-formatting]
C1 --> R1[1inch: Pass / Blockscout: Pass]
C2 --> R2[1inch: Pass / Blockscout: Pass]
C3 --> R3[1inch: Pass / Blockscout: Pass]
C4 --> R4[1inch: Fail / Blockscout: Pass]
C5 --> R5[1inch: Fail / Blockscout: Fail]
C6 --> R6[1inch: N/A / Blockscout: N/A]
C7 --> R7[1inch: Fail / Blockscout: N/A]
C8 --> R8[1inch: N/A / Blockscout: N/A]
D[technicalDetails.tsx] -->|exported spans| C
D -->|exported spans| E[etherscan deposit-address/index.tsx]
Reviews (3): Last reviewed commit: "apply fixes for AI review" | Re-trigger Greptile |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agents/skills/generate-app-benchmark/SKILL.md:
- Around line 41-52: The current guidance for mapping manual.json ids reads
acceptance tests sequentially from technicalDetails.tsx, but this misaligns with
how the UI determines order through the AcceptanceTest.order field. Update the
step to sort acceptance tests by their order field (using the acceptanceTestSlug
as a tiebreaker) before assigning the sequential ids from manual.json, ensuring
the manual test ids match the same deterministic order the UI uses rather than
the declaration order in the file.
In @.agents/skills/rearrange-app-benchmarks/SKILL.md:
- Around line 50-57: There is a contradiction in the proof image naming
instructions between steps 2 and 3: step 2 says to keep the original extension
when renaming proof images to ac-1, ac-2, etc., but step 3 shows importing them
as ./ac-1.png, which assumes PNG format. Update step 2 to explicitly state
whether proof images should be converted to PNG format (standardizing the
extension to .png), or update step 3 to show importing with the original file
extension preserved. Choose one approach consistently throughout both steps to
ensure the import paths will work regardless of the original proof asset format.
In
`@ensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/index.tsx`:
- Around line 130-133: Remove the cross-app reference to base.blockscout.com
from the paragraph containing the "quick-search" feature description. This note
in the 1inch benchmark should only document evidence from testing within the
1inch flow itself, not external tools like blockscout. Either remove the testing
context reference entirely or rephrase it to describe only what was observed
directly in the 1inch application when testing the lightkeeperEnsNameSpan and
lightkeeperAddressSpan address mismatch between mainnet and Base chain.
In
`@ensawards.org/data/ens-best-practices/resolution/deposit-addresses/technicalDetails.tsx`:
- Around line 442-445: The `lightkeeperAddressSpan` export uses the same address
literal (0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045) as `vitalikAddressSpan`
defined earlier, which prevents the chain-discrimination test from reliably
detecting wrong-chain resolution and can misclassify downstream benchmarks.
Replace the address literal in `lightkeeperAddressSpan` with a different address
fixture that has meaningfully different resolution values when resolved on Base
versus Ethereum Mainnet, and then update any dependent benchmark expectations or
proofs that reference the `correctly-resolve-names-for-different-evm-chains`
test slug to match the new fixture's expected behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 53b334c1-7ab9-4790-9aaf-924c3eb5fa74
⛔ Files ignored due to path filters (24)
ensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/at-1.gifis excluded by!**/*.gifensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/at-2.gifis excluded by!**/*.gifensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/at-3.gifis excluded by!**/*.gifensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/at-4.pngis excluded by!**/*.pngensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/at-5.gifis excluded by!**/*.gifensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/at-7.pngis excluded by!**/*.pngensawards.org/data/apps/1inch-defi/benchmarks/resolution/ensv2-ready-resolution/ac-1.1.gifis excluded by!**/*.gifensawards.org/data/apps/1inch-defi/benchmarks/resolution/ensv2-ready-resolution/ac-1.2.pngis excluded by!**/*.pngensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/deposit-address/at-1.pngis excluded by!**/*.pngensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/deposit-address/at-2.pngis excluded by!**/*.pngensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/deposit-address/at-3.pngis excluded by!**/*.pngensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/deposit-address/at-4.pngis excluded by!**/*.pngensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/deposit-address/at-5.pngis excluded by!**/*.pngensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/ensv2-ready-resolution/ac-1.pngis excluded by!**/*.pngensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/deposit-address/at-1.pngis excluded by!**/*.pngensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/deposit-address/at-2.pngis excluded by!**/*.pngensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/deposit-address/at-3.pngis excluded by!**/*.pngensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/deposit-address/at-4.pngis excluded by!**/*.pngensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/deposit-address/at-5.pngis excluded by!**/*.pngensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/ensv2-ready-resolution/ac-1.pngis excluded by!**/*.pngensawards.org/data/ens-best-practices/resolution/deposit-addresses/images/acceptance-test-example-placeholder.pngis excluded by!**/*.pngensawards.org/data/ens-best-practices/resolution/ensv2-ready-resolution/images/correctly-resolve-ensv2-test-name-address-fail-example.pngis excluded by!**/*.pngensawards.org/data/ens-best-practices/resolution/ensv2-ready-resolution/images/correctly-resolve-ensv2-test-name-address-not-applicable-example.gifis excluded by!**/*.gifensawards.org/data/ens-best-practices/resolution/ensv2-ready-resolution/images/correctly-resolve-ensv2-test-name-address-pass-example.gifis excluded by!**/*.gif
📒 Files selected for processing (59)
.agents/skills/generate-app-benchmark/SKILL.md.agents/skills/rearrange-app-benchmarks/SKILL.md.gitignoreCONTRIBUTING.mdensawards.org/astro.config.mjsensawards.org/data/acceptance-tests/types.tsensawards.org/data/apps/1inch-defi/benchmarks/index.tsxensawards.org/data/apps/1inch-defi/benchmarks/resolution/deposit-address/index.tsxensawards.org/data/apps/1inch-defi/benchmarks/resolution/ensv2-ready-resolution/index.tsxensawards.org/data/apps/aave-defi/benchmarks/index.tsxensawards.org/data/apps/ambire-wallet/benchmarks/index.tsxensawards.org/data/apps/binance-exchange/benchmarks/index.tsxensawards.org/data/apps/binance-wallet/benchmarks/index.tsxensawards.org/data/apps/blockscout-explorer/benchmarks/index.tsxensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/deposit-address/index.tsxensawards.org/data/apps/blockscout-explorer/benchmarks/resolution/ensv2-ready-resolution/index.tsxensawards.org/data/apps/coinbase-exchange/benchmarks/index.tsxensawards.org/data/apps/coinbase-wallet/benchmarks/index.tsxensawards.org/data/apps/cryptocom-exchange/benchmarks/index.tsxensawards.org/data/apps/cryptocom-wallet/benchmarks/index.tsxensawards.org/data/apps/etherscan-explorer/benchmarks/index.tsxensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/deposit-address/index.tsxensawards.org/data/apps/etherscan-explorer/benchmarks/resolution/ensv2-ready-resolution/index.tsxensawards.org/data/apps/frame-wallet/benchmarks/index.tsxensawards.org/data/apps/gemini-wallet/benchmarks/index.tsxensawards.org/data/apps/kraken-exchange/benchmarks/index.tsxensawards.org/data/apps/kraken-wallet/benchmarks/index.tsxensawards.org/data/apps/lido-defi/benchmarks/index.tsxensawards.org/data/apps/metamask-wallet/benchmarks/index.tsxensawards.org/data/apps/okx-exchange/benchmarks/index.tsxensawards.org/data/apps/okx-wallet/benchmarks/index.tsxensawards.org/data/apps/phantom-wallet/benchmarks/index.tsxensawards.org/data/apps/rabby-wallet/benchmarks/index.tsxensawards.org/data/apps/rainbow-wallet/benchmarks/index.tsxensawards.org/data/apps/readyx-wallet/benchmarks/index.tsxensawards.org/data/apps/robinhood-exchange/benchmarks/index.tsxensawards.org/data/apps/robinhood-wallet/benchmarks/index.tsxensawards.org/data/apps/safe-wallet/benchmarks/index.tsxensawards.org/data/apps/status-wallet/benchmarks/index.tsxensawards.org/data/apps/trust-wallet/benchmarks/index.tsxensawards.org/data/apps/uniswap-defi/benchmarks/index.tsxensawards.org/data/apps/walletchan-wallet/benchmarks/index.tsxensawards.org/data/apps/worldapp-wallet/benchmarks/index.tsxensawards.org/data/apps/zerion-wallet/benchmarks/index.tsxensawards.org/data/contributors/index.tsensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-l2-chains/technicalDetails.tsxensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-mainnet/technicalDetails.tsxensawards.org/data/ens-best-practices/contract-naming/name-your-smart-contracts/technicalDetails.tsxensawards.org/data/ens-best-practices/resolution/deposit-addresses/index.tsensawards.org/data/ens-best-practices/resolution/deposit-addresses/technicalDetails.tsxensawards.org/data/ens-best-practices/resolution/ensv2-ready-resolution/index.tsensawards.org/data/ens-best-practices/resolution/ensv2-ready-resolution/technicalDetails.tsxensawards.org/data/ens-best-practices/resolution/index.tsensawards.org/data/ens-best-practices/styles.tsensawards.org/data/ens-best-practices/types.tsensawards.org/data/shared/test-utils.tsxensawards.org/src/components/molecules/technicalDetails/benchmark/index.astroensawards.org/src/components/molecules/technicalDetails/bestPractice/index.tsxensawards.org/src/components/molecules/technicalDetails/shared.tsx
|
@greptile review |
* dev: Add `deposit-address` best practice (#233) * Action Item 1 * Action Item 2 * Apply 06/18/26 GitHub review feedback & AI agents' suggestions, pt.1 * Apply AI agents' suggestions, pt.2 * feat: etherscan acceptance test (#234) * Action Item 1 * Action Item 2 * Apply 06/18/26 GitHub review feedback & AI agents' suggestions, pt.1 * Add etherscan acceptance test for deposit address * revert mockedExampleBenchmark * delete file * oops * add not-applicable --------- Co-authored-by: y3drk <ziebura.jedrzej@gmail.com> * feat: ATs for blockscout and 1inch (#235) * add skill to rearrange app benchmark * rearrange blockscout-explorer to new structure * add blockscout-explorer case * p lint * rearrange 1inch-defi benchmark to new structure * update skill to use values from technicalDetails * generate benchmark for 1inch * p lint * update benchmark of blockscout and etherscan accordingly * apply fixes for AI review * feat: Benchmark wallets on `deposit-addresses` best practice (#236) * Action Item 1 * Action Item 2 * Apply 06/18/26 GitHub review feedback & AI agents' suggestions, pt.1 * Add benchmarks for ambire + example pass for AT1 and example fail for AT4 * Add benchmarks for binance wallet + example fail for AT1 * Add benchmarks for coinbase wallet * Add benchmarks for readyx * Add benchmarks for world app wallet * Add benchmarks for robinhood wallet * Adjust benchmarked apps to the newly established structure * Add benchmarks for zerion * Add benchmarks for walletchan * unify code with my PR * p lint * add more images or at-2 in zerion --------- Co-authored-by: sevenzing <lymarenko.lev@gmail.com> * feat: add builders for notes to decrease boilerplate (#237) * rename ATs and use notes.tsx to remove boilerplate * rename images * add indexed key * apply greptile feedback * feat: rearrange benchmarks folders for all apps (#238) * rearrange to new structure * remove useless skill * p lint * feat: add benchmarks for aave, uniswap and lido (#239) * add aave and uniswap * fix uniswap case * add lido * yeah i forgot at7 and 8 * just rename deposit-address -> deposit-addresses * feat: Benchmark wallets on `deposit-addresses` best practice, batch 2 (#241) * Add benchmarks for okx wallet & crypto.com wallet + add bitcoin benchmark for coinbase wallet + add example passes for ATs 5-8 * Add benchmarks for phantom & rabby + add example pass for AT2 and example fails for ATs 3 & 5 * Update method context notes for AT5 pass/fail template * Add benchmarks for safe{wallet} + add extra explanations for failed benchmarks + add example pass for AT3 * Add benchmarks for gemini wallet & metamask + update CONTRIBUTING.md + add example fails for ATs 2 & 8 * Apply AI agents' suggestions, pt.1 * feat: add benchmarks for `binance`, `bybit` and `okx` (#240) * benchmark binance,bybit,okx * add ensv2 for bybit * reexport icon for bybit * add benchmarks for raibow-wallet,status-wallet,trust-wallet (#243) * add benchmarks for raibow-wallet,status-wallet,trust-wallet * rename to deposit-addresses * Add benchmarks for exchanges: coinbase, crypto.com and robinhood + add example fails for ATs 6 & 7 (#242) * add explain why AT8 is failed in example (#245) * small fix --------- Co-authored-by: Jędrzej Ziebura <ziebura.jedrzej@gmail.com>
1inch manual.json:
{ "method": "Was tested using `send` feature on main page of 1inch.com with connected EVM wallet", "tests": [ { "id": "1", "status": "passed", "reason": "Shown correct address"}, { "id": "2", "status": "passed", "reason": "Shown correct address"}, { "id": "3", "status": "passed", "reason": "Shown correct address"}, { "id": "4", "status": "failed", "reason": "Shown 'invalid domain format' error"}, { "id": "5", "status": "failed", "reason": "Search showed address of mainnet but not Base address of that name", "method": "Was tested using `send` feature of ETH on base network on main page of 1inch.com with connected EVM wallet"}, { "id": "6", "status": "not-applicable", "reason": "1inch doesnt support Bitcoin" }, { "id": "7", "status": "failed", "reason": "not possible to send to Solana address using ENS", "method": "Was tested using `send` feature on main page of 1inch.com with connected Solana wallet"}, { "id": "8", "status": "not-applicable", "reason": "at#5 is failed" } ] }blockscout manual.json:
{ "method": "Was tested using `quick-search` feature on main page of https://eth.blockscout.com/.", "tests": [ { "id": "1", "status": "passed", "reason": "Shown correct address"}, { "id": "2", "status": "passed", "reason": "Shown correct address"}, { "id": "3", "status": "passed", "reason": "Shown correct address"}, { "id": "4", "status": "passed", "reason": "Shown correct address"}, { "id": "5", "status": "failed", "reason": "Search showed address of mainnet but not Base address of that name", "method": "Was tested using `quick-search` feature on main page of https://base.blockscout.com/"}, { "id": "6", "status": "not-applicable", "reason": "blockscout doesnt support Bitcoin" }, { "id": "7", "status": "not-applicable", "reason": "blockscout doesnt support Solana" }, { "id": "8", "status": "not-applicable", "reason": "at#5 is failed" } ] }