Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
285 commits
Select commit Hold shift + click to select a range
c95f113
Enable Mixpanel additional features (#2915)
tom2drum Aug 11, 2025
e318ef0
Celo l2 epochs CSV export on address page (#2917)
tom2drum Aug 11, 2025
81a8515
Public tags: propagate protocol tag to the transaction (#2925)
tom2drum Aug 11, 2025
2dd32a4
topbar width fix (#2929)
isstuev Aug 11, 2025
719b426
reorg block fix (#2936)
isstuev Aug 12, 2025
63aa05a
Long token transfer value lacks word-break (#2937)
isstuev Aug 12, 2025
d59d07a
address relation from query (#2938)
isstuev Aug 12, 2025
a7fd480
fix scroll reset (#2939)
isstuev Aug 12, 2025
c7fd175
UI/UX: Stats (link to details) (#2940)
isstuev Aug 12, 2025
228a8c6
Transactions page: stats widget alignment issue (#2942)
isstuev Aug 12, 2025
9647167
Missing coin name in Latest blocks reward (#2941)
isstuev Aug 12, 2025
ee81c2b
Update styles for detailed views on mobile and more (#2875)
tom2drum Aug 12, 2025
c6ee0c8
Flashblocks for Base chains (#2919)
tom2drum Aug 15, 2025
3c47613
Fix link url on the Merits dashboard (#2930)
maxaleks Aug 15, 2025
8862ad5
Support `geas` smart contract language 🪿 (#2848)
tom2drum Aug 15, 2025
adad0a2
Address widget improvements (#2932)
maxaleks Aug 15, 2025
6a99116
OP Superchain: local views for chains in the cluster (#2864)
tom2drum Aug 15, 2025
c7a5fa1
Rename API fields for OP interop messages and 3rd-party API routes (#…
tom2drum Aug 15, 2025
2a0c5f0
Add support for customizing the UI color theme (#2923)
tom2drum Aug 19, 2025
e764615
Update cleanup.yml
YumeNoTenshi Aug 19, 2025
d1a3232
Fix cleanup github workflow
YumeNoTenshi Aug 19, 2025
2d26430
Fix Mixpanel event for DeFi button (#2952)
maxaleks Aug 19, 2025
15820c3
UI/UX: table alert "scanning new transactions..." (#2957)
tom2drum Aug 20, 2025
bed90db
Update 429 page wording (#2959)
tom2drum Aug 20, 2025
c6b273b
token holders: fix token id truncation and pagination
tom2drum Aug 21, 2025
10a321c
counter improvements
isstuev Aug 19, 2025
e10f2e6
update swagger default server
tom2drum Aug 21, 2025
c39b39f
change widgets hover animation
maxaleks Aug 21, 2025
f737a20
[skip ci] api docs: replace both version of default server
tom2drum Aug 21, 2025
e1890b6
beacon deposits (#2947)
isstuev Aug 22, 2025
943b2eb
fix empty search result for address txs and token transfers
tom2drum Aug 22, 2025
0ac4459
fix network menu
isstuev Aug 22, 2025
61f4622
topbar fix 3
isstuev Aug 22, 2025
6a4fe68
exclude CELO native token balance from net worth
tom2drum Aug 25, 2025
5740792
[skip ci] update celo envs
tom2drum Aug 25, 2025
98643f9
UI/UX: table alert "scanning new transactions..." (#2957)
tom2drum Aug 20, 2025
94bb18e
Update 429 page wording (#2959)
tom2drum Aug 20, 2025
4e5fadb
[skip ci] fix link click in native token tooltip
tom2drum Aug 25, 2025
9dc22d2
update offset between tx alert and tab content on mobile
tom2drum Aug 25, 2025
e7d7923
[skip ci] remove tab counter for api docs page
tom2drum Aug 25, 2025
e1111ee
fix promo banner on mobile
maxaleks Aug 26, 2025
c3330d4
Merge pull request #2960 from blockscout/release/v2-3-0
tom2drum Aug 27, 2025
c315831
[skip ci] fix docs
tom2drum Aug 27, 2025
1cdeb5b
[skip ci] remove mixpanel overrides for main preset
tom2drum Aug 27, 2025
300bfbb
Do not display bytecode lookup state for partially verified contracts…
tom2drum Aug 28, 2025
584d593
Add blobs to "img-src" for Helia CSP (#2974)
GimluCom Aug 28, 2025
443e00e
L2. Add L1 fee currency customization (#2980)
tom2drum Aug 28, 2025
2a1f1f7
Clean up deprecated ENVs (#2982)
tom2drum Aug 28, 2025
5a418fa
Bump sha.js from 2.4.11 to 2.4.12 (#2987)
dependabot[bot] Aug 29, 2025
e474fa6
Update font size for latest txs on homepage (#2985)
tom2drum Aug 29, 2025
4e5baf2
Bump up Next.js, typescript and other packages (#2988)
tom2drum Aug 29, 2025
be550fd
update docs links (#2992)
isstuev Sep 1, 2025
e7b8868
Change default identicon to blockie (#2998)
tom2drum Sep 3, 2025
61ace1b
Unify network utilization color (#3000)
tom2drum Sep 4, 2025
7309e1c
zeta chain cctx (#2904)
isstuev Sep 5, 2025
a683473
`llms.txt` introduction (#2967)
tom2drum Sep 8, 2025
15dee8d
Public tags: abstract deposit name tags (#2972)
tom2drum Sep 8, 2025
28a0931
Clusters name sevices integration (#2994)
tom2drum Sep 8, 2025
9a933cb
UI: Advanced filter icon (#3006)
tom2drum Sep 10, 2025
77d590f
232fixes (#3009)
isstuev Sep 12, 2025
16bf2d9
Release v2.3.3 (#3010)
tom2drum Sep 12, 2025
4a477d6
remove deprecated cloudnoun lib (#2984)
isstuev Sep 15, 2025
77b15c0
eslint default export (#2995)
isstuev Sep 15, 2025
fecaaca
Show “Pending update” status for blocks & transactions (#2997)
tom2drum Sep 16, 2025
13203ef
CI/CD: Change the default visibility of the package (#3013)
tom2drum Sep 17, 2025
130c723
[skip ci] fix permissions for clean up workflow
tom2drum Sep 17, 2025
9029fb7
Celo Account info on Address details page (#2966)
tom2drum Sep 17, 2025
e293c14
Remove unnecessary call of mud systems resource from token contract t…
tom2drum Sep 18, 2025
f048e6c
fix block details with 0 size (#3015)
isstuev Sep 18, 2025
1140c1f
update zetachain tests (#3017)
isstuev Sep 22, 2025
e874f26
Badges for streak (#2971)
maxaleks Sep 22, 2025
f7f7b45
MegaETH: uptime dashboard (#2968)
tom2drum Sep 23, 2025
4af6b3e
zetachain external search refactoring (#3020)
isstuev Sep 24, 2025
879d919
Contract interactions: estimated gas for write methods simulation (#3…
tom2drum Sep 24, 2025
5e88a88
Mobile UI: search (drawer) (#2855)
isstuev Sep 25, 2025
a6e073d
specify ad provider (#3005)
isstuev Sep 26, 2025
400c91b
UI/UX: Scam tokens tooltip (#3018)
isstuev Sep 26, 2025
88e7095
add retries for assets downloading, fail build (#3030)
isstuev Sep 27, 2025
a22a3c7
Support Stylus language in verified contracts filter (#3037)
tom2drum Sep 30, 2025
f41e2e3
fix margins on scam token page
tom2drum Oct 1, 2025
86850eb
Update border color for inputs, selector and dropdown buttons (#3038)
tom2drum Oct 2, 2025
16a7b6b
Added "rel=noopener-noreferrer" attribute for links to external pages…
enochakinbode Oct 7, 2025
1fbf1e6
fixed undefined for token pages in sitemap.xml (#3044)
enochakinbode Oct 8, 2025
0d30014
MegaETH: mini-blocks page (#3024)
tom2drum Oct 8, 2025
b796c1a
slise 320x100 banner (#3050)
isstuev Oct 8, 2025
13ca629
NFT instance page. Token transfers tab lacks pagination (#3053)
isstuev Oct 9, 2025
44c2177
Update skin for MegaETH (#3059)
tom2drum Oct 13, 2025
2c7329f
update gitignore
tom2drum Oct 13, 2025
bf086b3
Remove hover effect on flashblocks table (#3060)
tom2drum Oct 13, 2025
71c79ce
Video is not loading on the NFT Instance page (#3063)
tom2drum Oct 14, 2025
58bf28e
customize fees section on tx page and add new option for network vali…
tom2drum Oct 7, 2025
3cb3c31
truncate currency value
tom2drum Oct 9, 2025
e1f0de6
Support Clusters as the only Name service (#3064)
tom2drum Oct 14, 2025
cad43c5
Add operator fee display for optimistic rollups (#3065)
tom2drum Oct 14, 2025
459e0b5
Hide transaction batches from navigation for Celo chains (#3066)
tom2drum Oct 15, 2025
baa30b5
celo account refactoring
tom2drum Oct 15, 2025
351f316
add cursor rules and commands
tom2drum Oct 15, 2025
21da44a
add "prepare release" command
tom2drum Oct 16, 2025
ddbc0f7
[skip ci] "Get checks status" command
tom2drum Oct 16, 2025
eda7f7e
Update styles of input elements (#3073)
tom2drum Oct 16, 2025
c84a41e
Token page -> add tooltip to supply (#3054)
isstuev Oct 16, 2025
46f4877
add link variable type to the interpretation (#3068)
isstuev Oct 16, 2025
6e35a01
update specify sdk (#3062)
isstuev Oct 16, 2025
8145b64
Essential dapps (#3026)
maxaleks Oct 17, 2025
6661d19
[skip ci] Disable arm builds for all workflows except the "Release" w…
tom2drum Oct 17, 2025
88b0414
Mobile UI: AD text and alerts (#3074)
tom2drum Oct 17, 2025
c14a354
[skip ci] update docs before release
tom2drum Oct 17, 2025
7e881bf
[skip ci] fix pre-release workflow permissions
tom2drum Oct 17, 2025
1008425
[skip ci] update permissions for e2e job
tom2drum Oct 17, 2025
518fc4a
[skip ci] update screenshot
tom2drum Oct 17, 2025
1aa487c
add ContentLoader to toolkit
tom2drum Oct 20, 2025
1cc5b58
display copy button for tx hashes in relevant components (#3031)
enochakinbode Oct 21, 2025
0b74278
Move charts to toolkit and improve color mode hook (#3075)
tom2drum Oct 21, 2025
d61f6a4
[skip ci] update npm publisher workflow
tom2drum Oct 21, 2025
94f7beb
[skip ci] fix regexp for package version
tom2drum Oct 21, 2025
933cef6
UI/UX: Add EIP7702 authorization status (#3080)
tom2drum Oct 24, 2025
0bb3509
UI: icon button background (#3081)
tom2drum Oct 24, 2025
88a48b2
Fixes for release v2.4.0 (#3079)
tom2drum Oct 29, 2025
2d3c272
Remove link from the tags in public tag submit form (#3086)
tom2drum Oct 31, 2025
b0ce6a3
Make `NEXT_PUBLIC_ROLLUP_L2_WITHDRAWAL_URL` env optional for OP rollu…
tom2drum Oct 31, 2025
98a27b1
Add progress bar component to toolkit (#3088)
tom2drum Oct 31, 2025
18c1857
[skip ci] add missing export to toolkit package
tom2drum Oct 31, 2025
cba168d
chart fix (#3089)
isstuev Nov 3, 2025
308dd4d
fix the clusters icon so it functions correctly in Safari
tom2drum Nov 3, 2025
a4fdc32
[skip ci] fix sitemap for name services route
tom2drum Nov 3, 2025
0847ad5
Fix mixpanel event for Swap dapp (#3094)
maxaleks Nov 3, 2025
b213b0c
Embed verify.sourcify.dev as Sourcify verification method (#3027)
manuelwedler Nov 4, 2025
d55f6c2
Add lowercase option for `NEXT_PUBLIC_VIEWS_NFT_MARKETPLACES` (#3097)
tom2drum Nov 4, 2025
3450fc1
UI: "1 Solana txn" style (#3098)
tom2drum Nov 4, 2025
9cdcf5d
[skip ci] update preset for mega eth
tom2drum Nov 5, 2025
386606c
regcred from helmfile for review
nzenchik Nov 5, 2025
ba98fb5
Stats: format dates using UTC time instead of local time by default (…
tom2drum Nov 5, 2025
2fa6bd4
rm address_id parameter from csv exports query url (#3106)
enochakinbode Nov 10, 2025
9591c9c
Fix essential dapps (#3117)
maxaleks Nov 11, 2025
ae663c0
Render only one ad banner container on home page (#3120)
tom2drum Nov 12, 2025
2547c07
Advanced filter enhancements (#3121)
isstuev Nov 12, 2025
ca4ff7f
Filter websocket events for tokens with reputation=scam when hide sca…
isstuev Nov 12, 2025
e9a11e1
token product schema (#3113)
isstuev Nov 12, 2025
01af6ae
Update Multisender package (#3125)
maxaleks Nov 13, 2025
4ef8d93
UI/UX: Dropdown DeFi button fixes (#3126)
tom2drum Nov 13, 2025
d56986f
Chain menu updates (#3127)
tom2drum Nov 14, 2025
eb7c012
Incorrect amount of tx value if decimals for native token is not equa…
tom2drum Nov 14, 2025
ecb6426
update dev presets
tom2drum Nov 14, 2025
de32ffd
Marketplace titles and ads (#3109)
maxaleks Nov 14, 2025
a57893b
Block countdown. Infinite loop if 404 block is in the past. (#3130)
tom2drum Nov 14, 2025
6be83f6
[skip ci] NPM publisher workflow: rollback from Trusted publishers to…
tom2drum Nov 17, 2025
ad45445
[skip ci] change default value for NEXT_PUBLIC_FEATURED_NETWORKS_MODE
tom2drum Nov 17, 2025
9c1da48
Migrate from cookies to headers for scam tokens and bypassing rate li…
tom2drum Nov 17, 2025
8370d08
Add setting to show giga-wei as nano-ETH (#3119)
tom2drum Nov 17, 2025
57f24d3
GraphQL: use latest tx hash for example query (#3096)
tom2drum Nov 17, 2025
abf0015
[skip ci] update "Create PR" command
tom2drum Nov 17, 2025
59ff127
"Add chain" button in the header (#3084)
tom2drum Nov 17, 2025
43edc76
Show multichain buttons on EOA + code addresses (#3134)
tom2drum Nov 17, 2025
909016e
Update Vite and Rollbar dependencies (#3133)
tom2drum Nov 17, 2025
b58e0d0
Direct OP Withdrawal Claim button (#3123)
tom2drum Nov 18, 2025
8528f25
update max-height of tx raw trace on desktop
tom2drum Nov 18, 2025
c251190
OP Superchain explorer: aggregated views (#3040)
tom2drum Nov 18, 2025
0a3638c
[skip ci] prepare release
tom2drum Nov 18, 2025
ffccd65
[skip ci] update docs
tom2drum Nov 18, 2025
64dacbc
Fix default color for separator component (#3137)
tom2drum Nov 18, 2025
34685ac
Create `useApiQueries` hook to manage multiple API requests to the sa…
tom2drum Nov 18, 2025
7a95ffe
Refactor envs validator: split schema and migrate to vite (#3140)
tom2drum Nov 19, 2025
5fcb8af
selfhosted runner
nzenchik Nov 19, 2025
7ee6b2a
don't show action button for internal dapp if marketplace is disabled…
isstuev Nov 20, 2025
ceaeca4
permanent runner
nzenchik Nov 26, 2025
06ad1da
testnet label and network logo fixes (#3153)
isstuev Dec 1, 2025
5fca50d
add zetachain swagger (#3155)
isstuev Dec 1, 2025
8c0213c
[skip ci] feature spec template
tom2drum Dec 2, 2025
1c4bb39
[skip ci] fix template
tom2drum Dec 2, 2025
8745445
[skip ci] more fixes
tom2drum Dec 2, 2025
5b21e34
[skip ci] remove title field
tom2drum Dec 2, 2025
6d4bee4
[skip ci] change value to placeholders
tom2drum Dec 2, 2025
e2f35ba
Fixes for release v2.5.0 (#3142)
tom2drum Dec 4, 2025
1a87cd2
Bump package versions to mitigate security vulnerabilities (#3164)
tom2drum Dec 4, 2025
baf877b
Change zero to <0.001 value within different pages (#3150)
tom2drum Dec 5, 2025
be1c030
[skip ci] fix z-index for select dropdown
tom2drum Dec 8, 2025
944a60b
Promote Credit Wallet in WalletConnect for all Creditcoin chains (#3166)
tom2drum Dec 8, 2025
9c81399
[skip ci] add chakra MCP server
tom2drum Dec 9, 2025
9be8e2b
Merge branch 'main' of github.com:blockscout/frontend
tom2drum Dec 9, 2025
48d0ed2
Public tags: attributions (#3169)
tom2drum Dec 9, 2025
1fd77f1
Migrate from Jest to Vitest (#3173)
tom2drum Dec 10, 2025
9e55608
Release v2.5.1 (#3174)
tom2drum Dec 11, 2025
46a32c5
[skip ci] fix csv export screenshot
tom2drum Dec 12, 2025
b0d9e5f
fix product schema and add fields (#3177)
isstuev Dec 12, 2025
fba6438
upgrade react and next versions (#3178)
isstuev Dec 12, 2025
201404a
[skip ci] disable next API proxy if the variable is not set
tom2drum Dec 15, 2025
6769d37
[skip ci] fix condition in Next.js API proxy resource
tom2drum Dec 16, 2025
0435eab
Minor packages bump and security updates (#3184)
tom2drum Dec 16, 2025
75f4e56
Always display `Internal txns` tab on Block details (#3185)
tom2drum Dec 16, 2025
dd90439
fix typo (#3187)
isstuev Dec 17, 2025
59b2e93
Highlights banners on home page (#3175)
tom2drum Dec 18, 2025
f448b87
replace bg-position animation with faster one (#3189)
isstuev Dec 18, 2025
6f3763a
OP batches: show EigenDA tag (#3186)
tom2drum Dec 18, 2025
10c4c52
Hot contracts table (#3165)
tom2drum Dec 18, 2025
76b7603
Refactor token media-type API to be token-scoped and safer (#3190)
tom2drum Dec 18, 2025
34fe8ca
Refactor navigation icon (#3191)
tom2drum Dec 19, 2025
8ef13bb
Fix deposits table layout on small desktops (#3192)
tom2drum Dec 19, 2025
fb05a3d
Hide the tooltip on the button whenever the dropdown is open (#3193)
tom2drum Dec 19, 2025
1b174d6
Pass the `x-csrf-token` to the call to the admin API (#3194)
tom2drum Dec 22, 2025
d6e3f73
Fix REST API docs request interceptor URL replacement (#3196)
tom2drum Dec 23, 2025
5a49ad8
UI/UX: Implement unified EmptyState component for stats page (#3195)
tom2drum Dec 23, 2025
a48bcd6
Advanced filter: amount (#3208)
isstuev Jan 1, 2026
1e62595
Move Swap essential dapp to iframe (#3167)
maxaleks Jan 2, 2026
323f1ca
Console message to warn users from script execution (#3209)
isstuev Jan 2, 2026
bc878ba
change tag and badge user-select property (#3205)
isstuev Jan 2, 2026
e540c01
Public tags: protocol tag for transaction list (#3182)
tom2drum Jan 5, 2026
4fc7050
Smart contracts: get supported languages for filter from the API inst…
tom2drum Jan 5, 2026
8d15222
Add possibility to change timestamp format (#3201)
tom2drum Jan 5, 2026
1884868
Private mode (#3138)
isstuev Jan 5, 2026
43a77c2
add variable for exit-only consensus (#3207)
isstuev Jan 5, 2026
e454b4b
Zilliqa chain type: support for ZRC-2 (#3202)
isstuev Jan 5, 2026
c72660c
Show conflicting proxy implementations warning (#3179)
tom2drum Jan 5, 2026
4711f70
prepare release
tom2drum Jan 5, 2026
f5f133b
replace link in task details (#3216)
maxaleks Jan 9, 2026
f576be1
Support essential dapps in DeFi dropdown (#3218)
maxaleks Jan 9, 2026
3ea4bc4
Merge branch 'upstream/main' into chore/GBBE-374-update-upstream
MatixYo Jan 13, 2026
6118ed1
Add chain indicators
MatixYo Jan 13, 2026
428a561
FIx some tsc errors
MatixYo Jan 13, 2026
441a8cc
Fix some ts errors
MatixYo Jan 13, 2026
21458e2
Fix ts errors
MatixYo Jan 13, 2026
76b651d
Fix ts issues
MatixYo Jan 14, 2026
cd923fd
Add date label
MatixYo Jan 14, 2026
120f668
Fix ts errors
MatixYo Jan 14, 2026
914db18
Fix ts issues
MatixYo Jan 14, 2026
9399c8d
TS cleanup
MatixYo Jan 14, 2026
bab1ed3
Fix ts errors
MatixYo Jan 14, 2026
4289dca
Fix last ts error
MatixYo Jan 14, 2026
24ea685
Update yarn lock
MatixYo Jan 14, 2026
e529dc4
Add async storage
MatixYo Jan 15, 2026
b333a3a
Add missing icons and fix size
MatixYo Jan 15, 2026
b026740
Add missing empty search icon and hero banner
MatixYo Jan 15, 2026
6ed7db6
Fix toolkit ts issues
MatixYo Jan 15, 2026
8987258
Fix script loading
MatixYo Jan 15, 2026
b0eb2dd
GBBE-374 Update upstream bug fixes (#179)
BartoszBuczkowski Jan 16, 2026
109e7ae
GBBE-374 Update snapshots
BartoszBuczkowski Jan 16, 2026
401304e
GBBE-374 Update snapshots
BartoszBuczkowski Jan 16, 2026
f36fc7f
GBBE-374 Update snapshots
BartoszBuczkowski Jan 16, 2026
5a534ae
GBBE-374 Update snapshots
BartoszBuczkowski Jan 19, 2026
39f7dfc
GBBE-374 Update snapshots
BartoszBuczkowski Jan 19, 2026
4680087
GBBE-374 Update snapshots
BartoszBuczkowski Jan 19, 2026
a81d1a8
GBBE-374 Update snapshots
BartoszBuczkowski Jan 19, 2026
06b5236
GBBE-374 Update snapshots
BartoszBuczkowski Jan 19, 2026
ded3dd6
GBBE-374 Update snapshots
BartoszBuczkowski Jan 20, 2026
a96dda6
GBBE-374 Update snapshots
BartoszBuczkowski Jan 20, 2026
7723869
GBBE-374 Del unnecessary changes
BartoszBuczkowski Jan 20, 2026
0d4e183
GBBE-374 Update snapshots
BartoszBuczkowski Jan 20, 2026
522b810
GBBE-374 Mark tests as to be fixed
BartoszBuczkowski Jan 20, 2026
38931c0
GBBE-374 Mark tests as to be fixed
BartoszBuczkowski Jan 20, 2026
dcd3ae4
GBBE-374 Mark tests as to be fixed
BartoszBuczkowski Jan 20, 2026
92a74f2
GBBE-374 Mark tests as to be fixed
BartoszBuczkowski Jan 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
39 changes: 39 additions & 0 deletions .cursor/commands/create-pr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Create PR

## Overview
Create a well-structured pull request with proper description, labels, and reviewers.

## Steps

_Note_ in the command output, format all URLs as clickable Markdown links: `[Link Text](URL)`

1. **Check that the pull request is not already open in the remote repository**
- If it is opened, write only PR summary (see step 3) and skip all other steps

2. **Prepare branch**
- Ensure all changes are committed
- Push branch to remote
- Verify branch is up to date with main

3. **Write PR description**
- Use template from `./docs/PULL_REQUEST_TEMPLATE.md`
- Check if the branch name contains an issue number (use the regexp `/issue-\d+/`)
- If found, fetch the issue details using `gh issue view [issue_number]`
- Include "Resolves #[issue_number]" at the very beginning of the description (in the "Description and Related Issue(s)" section)
- Summarize the changes clearly and concisely, using no more than two paragraphs. If necessary, use bullet points to highlight the main changes in the codebase. Be precise, this description should not be very long.
- List any changes in the enviroment variables (look at the `./docs/ENVS.md` file) in a separate section, describe purpose of each variable change
- Bad example: "Added `NEXT_PUBLIC_VIEWS_TX_GROUPED_FEES` environment variable to the documentation"
- Good example: "Added `NEXT_PUBLIC_VIEWS_TX_GROUPED_FEES` to group transaction fees into one section on the transaction page"
- Good example: "Extended possible values for `NEXT_PUBLIC_VIEWS_TX_ADDITIONAL_FIELDS` with set_max_gas_limit to display the maximum gas price set by the transaction sender"
- Good example: "Introduced a new option, `"fee reception"`, for the `NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE` variable"
- Keep the "Checklist for PR Author" section and check the appropriate items in it.
- When finished, ask the user for confirmation or changes before moving on to the next step.

4. **Set up PR**
- Create a pull request with a descriptive title. Use draft mode for the pull request if specified in the prompt.
- Add appropriate labels
- If something has added or changed in `./docs/ENVS.md` file, add label "ENVs"
- If the `package.json` file has changed, add label "dependencies"
- If the branch name has the issue number (use the regexp `/issue-\d+/`), copy all tags from the related issue
- Include a link to the created pull request in the command output.

36 changes: 36 additions & 0 deletions .cursor/commands/deploy-demo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Deploy demo

## Overview
Create Github deployment for current branch using `.github/workflows/deploy-review.yml` workflow.

## Steps

_Note_ in the command output, format all URLs as clickable Markdown links: `[Link Text](URL)`

1. **Ensure all changes are pushed to remote**

2. **Check if there is a running deployment workflow for current branch**
- If yes, abort the command

3. **Detect value for "envs_preset" workflow input**
- Get all possible options from workflow file
- Figure out from the prompt with which preset user wants to deploy demo. Examples:
- "/deploy-demo for base" - preset name "base"
- "/deploy-demo using main preset" - preset name "main"
- "/deploy-demo without preset" - preset name "none"
- Be aware that this input is optional, and if user didn't mention any preset, skip this step completely
- If the preset is not listed in the worklow input options, notify user and abort the command

4. **Run workflow from the current branch with appropriate inputs**
- Get the workflow run ID after triggering

5. **Monitor workflow execution**
- Watch the workflow run until it completes (use `gh run watch`)
- Track the workflow status (success, failure, cancelled)
- Once completed, retrieve the workflow outputs and deployment URL

6. **Send system notification with results**
- On workflow start: notify that deployment has been triggered
- On workflow completion: notify with final status (success/failure), deployment URL if available, and any relevant outputs
- On failure: notify about the error with details

17 changes: 17 additions & 0 deletions .cursor/commands/get-checks-status.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Get Checks Status

## Overview
Fetch the status of the "Checks" workflow run (workflow file `.github/workflows/checks.yml`) for __current branch__.

## Steps

_Note_ in the command output, format all URLs as clickable Markdown links: `[Link Text](URL)`
1. **Fetch the status of the most recent workflow run**
- Use the GitHub API to get the workflow status for the *current branch*.
- If the workflow is pending, subscribe to its completion.
- If the workflow has failed, retrieve the list of all failed jobs and steps.
- If the workflow was never run for the current branch, report that and skip other steps.

2. **Report the status with a system notification**
- Upon workflow completion, notify with the final status (success or failure).
- In case of failure, notify about the error along with the list of failed jobs and steps.
52 changes: 52 additions & 0 deletions .cursor/commands/prepare-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Prepare Release

## Overview
Prepare the next release of the application.

## Steps
1. **Get the next release tag name**
- Fetch the latest release from GitHub and retrieve its name.
- If not specified, calculate the next __minor__ version according to [semantic versioning](https://semver.org).
- If specified, calculate the next __major__ or __patch__ version.

2. **Update `./docs/ENVS.md` and `./docs/DEPRECATED_ENVS.md` files**
- In these files, update all placeholders containing "upcoming" text with the next release tag, adding a "+" at the end. Examples:
- "upcoming" -> "v1.2.3+"
- "<upcoming>" -> "v1.2.3+"

3. **Create release notes**
- Use `./RELEASE_NOTES.md` as a reference and this release notes [link](https://github.com/blockscout/frontend/releases/tag/v2.3.0) as an example.
- Get all commits between the head of the remote main branch and the latest release tag.
- Use the GitHub API to draft the next release notes using the main branch as a target. Parse the response to obtain the list of pull requests and new contributors.
- Copy `./RELEASE_NOTES.md` into a new file named `./RELEASE_NOTES_<release-tag>.md`.
- For every section (except "Changes in ENV variables") in the file, add the appropriate pull requests from previous steps using the pattern for each line: `- <pull-request-name> by <pull-request-author> in <link-to-pull-request>`. Example: "- API documentation page by @tom2drum in https://github.com/blockscout/frontend/pull/2725". Capitalize first letter in the PR name if needed.
- To determine the correct section in the release notes file, use the labels assigned to each pull request (which need to be fetched separately from the GitHub API alongside the pull request description, as the description will be used in the next step) and the table below. If a pull request belongs to several sections, mention it in each section. If a pull request lacks labels or its section cannot be determined, place it in the "Other Changes" section.

| Section | Labels |
| --------------------------- | ----------------------------------------------- |
| New Features | feature, enhancement, client feature |
| Bug Fixes | bug |
| Performance Improvements | performance |
| Dependencies updates | dependencies |
| Design updates | design |

- Compose the "Changes in ENV Variables" section following these rules:
- Find all pull requests tagged with "ENVs."
- Create a temporary file and paste the pull request numbers along with their descriptions, excluding the "Checklist for PR Author" section.
- Analyze the changes made to the ENV variables based on those descriptions. Feel free to rephrase sentences if necessary. If you cannot determine the correct changes or are unsure of their accuracy, use "Cannot find any changes in ENVs in PR description" as a placeholder in the next step.
- Compose the section according to the following template (note that changes are grouped by the related pull request number):
```
- <pull-request-number>:
- <change-1>
- <change-2>
```
Examples:
- #3005
- Added `NEXT_PUBLIC_AD_BANNER_ENABLE_SPECIFY` to enable the Specify ad provider for users with a connected wallet.
- Removed the `hype` option from the `NEXT_PUBLIC_AD_BANNER_PROVIDER` variable values.
- #2968
- Added `NEXT_PUBLIC_MEGA_ETH_SOCKET_URL_METRICS` to display information on the uptime dashboard page.
- Update the "Full list of the ENV variables" and "Full Changelog" with the correct version tags.
- Update the "New Contributors" section if necessary.
- Keep the "Compatibility" section unchanged.
- Remove all empty sections.
8 changes: 8 additions & 0 deletions .cursor/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"chakra-ui": {
"command": "npx",
"args": ["-y", "@chakra-ui/react-mcp"]
}
}
}
37 changes: 37 additions & 0 deletions .cursor/rules/frontend.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
description:
globs: *.tsx,*.ts
alwaysApply: false
---
You are an expert senior software engineer specializing in modern web development, with deep expertise in TypeScript, React 19, Next.js 15 (Pages Router), Chakra UI, and React Query. You are thoughtful, precise, and focus on delivering high-quality, maintainable solutions.

## Code Style and Structure

### General Principles

- Write concise, readable TypeScript code
- Use functional and declarative programming patterns; avoid classes
- Prefer iteration and modularization over code duplication
- Implement early returns for better readability
- Structure components logically: exports, subcomponents, helpers, types

### Naming Conventions

- Use descriptive names with auxiliary verbs (isLoading, hasError)
- Prefix event handlers with "handle" (handleClick, handleSubmit)
- Favor default exports for React components

### TypeScript Usage

- Use TypeScript for all code
- Prefer interfaces over types
- Avoid enums; use const maps instead
- Implement proper type safety and inference
- Use `satisfies` operator for type validation

### UI and Styling
- Utilize Chakra UI v3 components for consistent design
- Be aware that some components are tailored for the project's specific requirements. They are all located in the "toolkit/chakra" directory. Always use these instead of the native Chakra components.



Loading
Loading