Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
576 commits
Select commit Hold shift + click to select a range
c4889ba
chore: update queue's title
exromany Aug 19, 2025
5cb6c55
Merge pull request #295 from lidofinance/fix/no-operator-warning
infoster42 Aug 19, 2025
0e2bdae
chore: add links, update texts
exromany Aug 19, 2025
676e094
fix: disable test page on mainnet
exromany Aug 19, 2025
c804266
chore: add cases
exromany Aug 19, 2025
6cf6f7c
chore: more cases
exromany Aug 19, 2025
ba3b9d9
chore: claim eth - link to stake widget
exromany Aug 19, 2025
9b155ae
Merge pull request #300 from lidofinance/chore/claim-eth-estimate-link
infoster42 Aug 19, 2025
b5270bf
fix: ics titles
exromany Aug 20, 2025
9f2c831
fix: invites
exromany Aug 20, 2025
a49a3b8
Merge pull request #301 from lidofinance/fix/invites
exromany Aug 20, 2025
4128fcd
Merge remote-tracking branch 'origin/develop' into feature/queue-with…
exromany Aug 20, 2025
d18e17c
Merge remote-tracking branch 'origin/develop' into fix/remove-keys-order
exromany Aug 20, 2025
652b605
Merge pull request #299 from lidofinance/chore/ics-improvements
infoster42 Aug 21, 2025
57051a2
fix: multisig on hoodi
exromany Aug 21, 2025
ab226a8
chore: type -> ics-apply
exromany Aug 21, 2025
18da26f
chore(deps): bump sha.js from 2.4.11 to 2.4.12
dependabot[bot] Aug 22, 2025
4e6a039
chore: ics form suggest to connect wallet
exromany Aug 22, 2025
06f8f2c
chore: update queue colors
exromany Aug 22, 2025
ac4c65e
Merge pull request #291 from lidofinance/fix/remove-keys-order
infoster42 Aug 22, 2025
bdc96f3
feat: ics
exromany Aug 22, 2025
0bb5095
fix: multisig on hoodi
exromany Aug 21, 2025
29e9cf5
chore: ics routing
exromany Aug 22, 2025
96632c5
Merge pull request #304 from lidofinance/fix/ics-multisig
exromany Aug 22, 2025
e011e15
fix: copy button
exromany Aug 22, 2025
0c6f92b
fix: delayed feature-flag initialization for prevent hydration mismatch
exromany Aug 22, 2025
56b7024
fix: eth_call & validation
exromany Aug 23, 2025
caba2b3
Merge pull request #302 from lidofinance/dependabot/npm_and_yarn/sha.…
exromany Aug 25, 2025
15775d9
Merge pull request #305 from lidofinance/feature/ics
infoster42 Aug 25, 2025
ab06af3
feat: enable ics
exromany Aug 25, 2025
fc781c2
chore: check user address in ics list
exromany Aug 25, 2025
81a8d1b
feat: owner badge on dashboard
exromany Aug 26, 2025
04c2a39
chore: ics check owner address
exromany Aug 26, 2025
969973c
chore: text for not owner's address eligible for ICS
exromany Aug 26, 2025
715ac25
Remove workflow parts for csm widget holesky
rnmsslido Aug 27, 2025
d4ee19b
chore: text improvement
exromany Aug 27, 2025
e19f208
Merge pull request #306 from lidofinance/feature/ics-no-feature-flag
infoster42 Aug 27, 2025
49e7d2d
Merge pull request #308 from lidofinance/chore/ics-list-checker-with-…
infoster42 Aug 27, 2025
92ae5b7
Merge pull request #309 from lidofinance/feature/sre-2960-terminate-c…
rnmsslido Aug 27, 2025
78f8ded
chore: add links to ics guide
exromany Aug 28, 2025
38bde02
feat: validate address
exromany Aug 28, 2025
27ddabd
fix: move get-props to utils-api: server-side only
exromany Aug 28, 2025
a23300d
Merge pull request #303 from lidofinance/chore/queue-colors
exromany Aug 28, 2025
e9b87d7
Merge remote-tracking branch 'origin/develop' into feature/queue-with…
exromany Aug 28, 2025
45711cc
chore: ics: link to circles guide
exromany Aug 28, 2025
a77adbf
feat: address validation
exromany Aug 28, 2025
70527ae
Merge pull request #298 from lidofinance/feature/queue-with-priorities
infoster42 Aug 29, 2025
86de2a9
Merge pull request #312 from lidofinance/feature/main/address-validation
infoster42 Sep 1, 2025
6195a6f
fix: flaky tests and playwright.config (#297)
Vorobeyko Sep 3, 2025
e921ea1
Merge pull request #311 from lidofinance/feature/address-validation
infoster42 Sep 4, 2025
c720c49
fix: Update ICS Approved text
dgusakov Sep 4, 2025
d6a7aa3
Merge pull request #310 from lidofinance/chore/ics-guide-link
infoster42 Sep 4, 2025
86945e5
Merge pull request #314 from lidofinance/update-ics-approved-text
infoster42 Sep 4, 2025
e7df75d
fix: update token amount locator and ensure balance comparison is par…
Vorobeyko Sep 5, 2025
6927011
fix: removal fee
exromany Sep 15, 2025
efef2fb
fix: cover locked bond - update sdk
exromany Sep 15, 2025
2e9c100
chore: drop holesky
exromany Sep 15, 2025
19631f6
chore: update ejector address - bump sdk
exromany Sep 15, 2025
03eef15
fix: local adress validation
exromany Sep 15, 2025
6cbae2e
feat: survey will last 3 weeks starts from thuersday
exromany Sep 15, 2025
0ea0476
fix: insufficient bond with rounding threshold - bump sdk
exromany Sep 15, 2025
f97cd45
chore: ics: show filled scores for pending form
exromany Sep 16, 2025
3e2b0ce
feat: validate keys limit on submitting
exromany Sep 17, 2025
83845fd
fix: pull rewards
exromany Sep 17, 2025
eea33fe
chore: imports
exromany Sep 17, 2025
8f9e99a
chore: logo v2
exromany Sep 16, 2025
779369a
Merge pull request #319 from lidofinance/feature/main/survey-enable
infoster42 Sep 18, 2025
731b2e3
Merge pull request #321 from lidofinance/chore/main/ics-preview
infoster42 Sep 18, 2025
51ec8d8
Merge pull request #318 from lidofinance/chore/drop-holesky
exromany Sep 22, 2025
fd146a9
Merge pull request #317 from lidofinance/fix/csm-v2-fixes
infoster42 Sep 23, 2025
9140129
Merge pull request #320 from lidofinance/chore/logo-v2
infoster42 Sep 23, 2025
7ace16f
Merge branch 'develop' into feature/limit-keys-submitting
exromany Sep 23, 2025
d3e2d8a
Merge remote-tracking branch 'origin/main' into develop
exromany Sep 23, 2025
20bc0c8
Merge remote-tracking branch 'origin/develop' into chore/sync-main
exromany Sep 23, 2025
40478c5
Merge remote-tracking branch 'origin/develop' into chore/sync-main
exromany Sep 23, 2025
b223ae7
Merge pull request #322 from lidofinance/feature/limit-keys-submitting
infoster42 Sep 23, 2025
2d6ed84
Merge pull request #323 from lidofinance/fix/pull-rewards
infoster42 Sep 23, 2025
fb8236d
fix: after merge main
exromany Sep 23, 2025
b75db29
Merge remote-tracking branch 'origin/develop' into chore/sync-main
exromany Sep 23, 2025
126e77a
chore: add performance methodology
exromany Sep 23, 2025
7b802d6
chore: update ehtseer api
exromany Sep 23, 2025
ca607ee
chore: ics: update text for participating in votes
exromany Sep 24, 2025
5767b7a
Merge pull request #324 from lidofinance/chore/sync-main
infoster42 Sep 26, 2025
6608059
chore: update texts
exromany Sep 29, 2025
a6109c6
chore: remove guide link from votes and add to human passport and hig…
exromany Sep 29, 2025
96e1f99
fix: survey dates & bump sdk
exromany Sep 29, 2025
8e21072
fix: token select on add-bond page
exromany Sep 29, 2025
0da2a9b
Merge pull request #326 from lidofinance/chore/ics-score-text
infoster42 Sep 29, 2025
c3c804f
fix: ics infinite loading for non-operator
exromany Sep 30, 2025
9be5f58
Merge remote-tracking branch 'origin/main' into fix/before-release
exromany Sep 30, 2025
99cd9d1
Merge pull request #328 from lidofinance/fix/before-release
infoster42 Oct 1, 2025
17602f0
Merge pull request #325 from lidofinance/chore/update-monitoring
infoster42 Oct 1, 2025
629903e
chore: add performance methodology
exromany Sep 23, 2025
daa7d3e
chore: update ehtseer api
exromany Sep 23, 2025
4793569
feat: deposit data input
exromany Sep 29, 2025
a44a78b
feat: add slack-reporting
itaven Oct 1, 2025
808df9d
Merge pull request #329 from lidofinance/feature/deposit-data-params
infoster42 Oct 1, 2025
68cdaaa
chore: prepare to release
exromany Oct 1, 2025
19f1ba3
chore: disable remove key button while validating and submitting
exromany Oct 1, 2025
b680320
fix: feedback form
exromany Oct 1, 2025
4d5764f
chore: up sdk version
exromany Oct 1, 2025
dac7bd7
chore: show surveys on testnet by url path ?survey-setup=1
exromany Oct 1, 2025
ab2b23a
fix: rename discordReporter -> chatReporter
itaven Oct 2, 2025
5c88b99
Merge pull request #331 from lidofinance/chore/prep-release
infoster42 Oct 2, 2025
52ef87b
Merge pull request #335 from lidofinance/develop
infoster42 Oct 2, 2025
af837ff
Merge pull request #330 from lidofinance/chore/slack-reporting
itaven Oct 3, 2025
cefed2a
feat: add reporter for test metrics (#327)
Vorobeyko Oct 7, 2025
4b4a01c
Merge remote-tracking branch 'origin/main' into feature/normalize-aft…
exromany Oct 8, 2025
3f5e922
feat: add clean queue page
exromany Oct 8, 2025
a1eecd1
feat: clean queue after keys transfer
exromany Oct 8, 2025
b10c121
fix: typo
exromany Oct 8, 2025
0bf8eee
feat: transfer and cleanup sequentially
exromany Oct 9, 2025
1cabbf4
chore: remove dedicated queue clean form
exromany Oct 13, 2025
11376fe
chore: update texts & add form note
exromany Oct 13, 2025
1c34678
chore: update banner text
exromany Oct 13, 2025
0b0b423
chore: button to create operator instead claim type
exromany Oct 13, 2025
80f950a
fix: typo in link
exromany Oct 13, 2025
1124201
chore: add WC to pinned wallets
exromany Oct 13, 2025
fbd76a2
chore: update reef-knot pkg
exromany Oct 13, 2025
8a5a24d
fix: update report configuration and modify test assertions (#339)
Vorobeyko Oct 13, 2025
6c57074
chore: update texts and revalidate form after first tx
exromany Oct 14, 2025
fa156d9
Merge pull request #338 from lidofinance/chore/wallet-order
infoster42 Oct 14, 2025
2f5862f
Merge pull request #337 from lidofinance/chore/ics-banner-update
infoster42 Oct 15, 2025
eb76b27
Merge pull request #336 from lidofinance/feature/normalize-after-migrate
infoster42 Oct 15, 2025
8e1e435
Merge pull request #341 from lidofinance/develop
infoster42 Oct 16, 2025
2658d95
chore: replace Ethseer API with MigaLabs API and update related compo…
exromany Oct 17, 2025
c3d1bef
fix: new way to generate keys for tests (#343)
Vorobeyko Oct 21, 2025
3ecd43e
chore: update csm-sdk
exromany Oct 16, 2025
119effc
fix: graph calculation
exromany Oct 16, 2025
35b0c38
feat: exact deposit queue & fix types
exromany Oct 15, 2025
86d0c78
chore: move mocks outside tests
exromany Oct 22, 2025
26a9dfd
chore: move operator type to sdk
exromany Oct 21, 2025
326665e
chore: refactor matomo constants
exromany Oct 21, 2025
3913e88
feat: show modal on click create-operator button
exromany Oct 21, 2025
e9b71c6
chore: disable type modal if ics-apply-form disabled
exromany Oct 21, 2025
b66fe8c
feat: show operator-type on create-node-operator page
exromany Oct 21, 2025
0bebdf5
feat: type claim: add success page
exromany Oct 21, 2025
86e83bd
feat: add confetti
exromany Oct 21, 2025
076eff9
fix: hide empy buttons in header
exromany Oct 22, 2025
9daa630
fix: hardcode api url
exromany Oct 22, 2025
2166f8b
feat: add beaconcha entity link
exromany Oct 22, 2025
b63e5c4
chore: change background on hover, confetti on top of modal
exromany Oct 22, 2025
9f7c887
fix: typo
exromany Oct 22, 2025
657aa08
fix: update reef-knot for ledger signin
exromany Oct 22, 2025
854087b
fix: validate deposit data count
exromany Oct 22, 2025
587e666
fix: types in test
exromany Oct 22, 2025
42d9e6d
Merge remote-tracking branch 'origin/develop' into feature/create-ope…
exromany Oct 22, 2025
e1f3469
Merge remote-tracking branch 'origin/develop' into feature/exact-depo…
exromany Oct 22, 2025
2494a6d
Merge pull request #348 from lidofinance/fix/ledger-signin
infoster42 Oct 22, 2025
008c182
Merge remote-tracking branch 'origin/develop' into chore/refactor-mig…
exromany Oct 22, 2025
a3be941
Merge pull request #350 from lidofinance/develop
infoster42 Oct 23, 2025
7a8776f
Merge pull request #342 from lidofinance/feature/exact-deposit-queue
infoster42 Oct 23, 2025
0ce836a
Merge pull request #351 from lidofinance/develop
infoster42 Oct 23, 2025
04a6100
fix: add test plan for qase (#352)
Vorobeyko Oct 24, 2025
c5385ff
Merge pull request #344 from lidofinance/chore/refactor-migalabs-api
infoster42 Oct 28, 2025
440eeb6
Merge branch 'develop' into feature/create-operator-type-modal
exromany Oct 28, 2025
308ae24
Merge pull request #289 from lidofinance/dependabot/github_actions/ac…
exromany Oct 28, 2025
5004706
Merge pull request #349 from lidofinance/fix/validate-upload-keys-count
Mimidze Oct 29, 2025
2211cd1
Merge pull request #345 from lidofinance/feature/create-operator-type…
infoster42 Oct 29, 2025
e590227
Merge branch 'develop' into feature/new-beaconcha-dashboard
exromany Oct 29, 2025
051d66e
Merge pull request #347 from lidofinance/feature/new-beaconcha-dashboard
Mimidze Oct 29, 2025
ff6bfc6
chore: use migalabs api from env
exromany Oct 22, 2025
45210de
chore: remove header feedback
exromany Oct 22, 2025
675287a
chore: refactor forms
exromany Oct 23, 2025
95b2508
chore: refactor applyNO
exromany Oct 24, 2025
dc4264b
feat: owner chip on create & change role screens
exromany Oct 24, 2025
56221db
feat: key in priority queue chip
exromany Oct 25, 2025
5e1e180
fix: eject keys - disabled checkbox
exromany Oct 25, 2025
0f0d600
feat: show badge if user has more than 1 operator
exromany Oct 25, 2025
68793c7
chore: update queue
exromany Oct 27, 2025
60dc8e1
feat: disable submit button if any error persist
exromany Oct 27, 2025
850ace5
fix: deposit-data input with error border
exromany Oct 7, 2025
83c367a
Merge pull request #346 from lidofinance/chore/remove-header-feedback
exromany Oct 30, 2025
66892f4
Merge pull request #357 from lidofinance/develop
Mimidze Oct 30, 2025
7385f61
chore: next ICS round in December
exromany Oct 30, 2025
728d5fa
chore: rename PLS -> DEF
exromany Oct 30, 2025
22fa977
fix: ics-apply handle wrong chain error
exromany Oct 30, 2025
f7408ae
feat: type parameters
exromany Oct 31, 2025
7c7b740
chore: update styles
exromany Oct 31, 2025
cee79b1
chore: add owner badge on confirm custom addresses modal
exromany Nov 5, 2025
ce1a802
fix: add test plan output to workflow logs (#360)
Vorobeyko Nov 6, 2025
593f513
Merge pull request #353 from lidofinance/chore/forms-refactor
Mimidze Nov 6, 2025
7a3bf40
chore: update images
exromany Nov 6, 2025
6830b6f
Merge pull request #358 from lidofinance/chore/rename-pls-to-def
Mimidze Nov 6, 2025
7b546aa
Merge pull request #361 from lidofinance/develop
Mimidze Nov 6, 2025
1b08456
feat: deposit queue - add tooltip to operator batches
exromany Nov 11, 2025
13809d1
chore: text
exromany Nov 11, 2025
663b9e2
fix: default token is stETH for EOA and wstETH for contracts (#363)
exromany Nov 11, 2025
38c7059
fix: test scenarious
exromany Nov 13, 2025
9cf4db0
fix: change way for choose token card for claim bond (#362)
Vorobeyko Nov 13, 2025
2d8a353
feat: add tooltip for submitting keys
exromany Nov 14, 2025
67ccfd2
fix: abort request to reduce count to Elliptic API (#367)
Vorobeyko Nov 14, 2025
637e489
feat: show waiting time for claiming eth (#366)
exromany Nov 17, 2025
2dda67f
Merge pull request #364 from lidofinance/feature/deposit-queue-tooltip
Mimidze Nov 17, 2025
217f89b
fix: improved test for waiting time (#370)
Vorobeyko Nov 18, 2025
fa1da60
develop to main (#369)
Vorobeyko Nov 18, 2025
bd576cb
fix: queue tooltip with multiple batches
exromany Nov 20, 2025
6233cfd
feat: update matomo & legal disclaimer
exromany Nov 24, 2025
d4fe0e8
fix: link color and dot
exromany Nov 24, 2025
cd3e30e
Merge pull request #373 from lidofinance/fix/queue-tooltip-much-elements
Mimidze Nov 25, 2025
7792b3a
Merge pull request #375 from lidofinance/feature/upgrade-matomo
Mimidze Nov 25, 2025
43ba59d
Merge remote-tracking branch 'origin/main' into fix/merge-develop-to-…
exromany Nov 25, 2025
93a8807
Merge pull request #378 from lidofinance/fix/merge-develop-to-main
exromany Nov 25, 2025
b167672
feat: update csm-sdk to support 7702 smart accounts
exromany Nov 11, 2025
721e40e
fix: nodeOperatorId 0
exromany Nov 19, 2025
40385da
chore: bump sdk package 1.7.1
exromany Aug 19, 2025
4ee7953
Merge pull request #365 from lidofinance/feature/smart-accounts
Mimidze Nov 27, 2025
8137d1b
Feature/rewards history (#372)
exromany Nov 27, 2025
1fa56ff
feat: wrong-fee-recipient alert
exromany Nov 25, 2025
904cf1d
fix: use current rate on testnet (#382)
exromany Dec 1, 2025
b83a84a
Feature/validate address before form submit (#376)
exromany Dec 1, 2025
396c719
Merge branch 'develop' into feature/wrong-fee-recipient
exromany Dec 2, 2025
2993b25
feat: add tests for CRAP validation and enhance widget service functi…
Vorobeyko Dec 2, 2025
cc1ec7b
chore: feature-flag for use RPC from wallet (#355)
exromany Dec 3, 2025
31bc44c
fix: infinite renders
exromany Dec 4, 2025
7fd76ef
fix: sdk version
exromany Dec 4, 2025
d65194b
fix: update link
exromany Dec 4, 2025
4e69895
fix: operator type button for mobile
exromany Dec 6, 2025
69b888d
feat: decorate fo christmas
exromany Dec 17, 2024
a5f525b
Merge pull request #380 from lidofinance/feature/wrong-fee-recipient
Mimidze Dec 8, 2025
4530f21
fix: decoration for dark theme
exromany Dec 8, 2025
eb235a0
fix: add GitHub Actions workflow for testing CSM-widget with Fork (#354)
Vorobeyko Dec 8, 2025
b9ab816
Fix/wording fix (#386)
exromany Dec 8, 2025
85adeae
fix: hide santa on mobile and tablet
exromany Dec 9, 2025
b3091e4
Merge pull request #387 from lidofinance/feature/merry-christmas
Mimidze Dec 9, 2025
4ab8d24
fix: christams
exromany Dec 9, 2025
dbd1594
fix: alerts down for christmas
exromany Dec 9, 2025
9615c92
feat: hide exhausetd banner for operators with priority tickets (#388)
exromany Dec 9, 2025
2624319
Merge pull request #391 from lidofinance/fix/decor
Mimidze Dec 10, 2025
d884a35
fix: update Foundry version to nightly in tests-fork workflow (#392)
Vorobeyko Dec 10, 2025
8f9f223
fix: santa pointer events
exromany Dec 10, 2025
dce7b94
Merge pull request #394 from lidofinance/fix/santa-pointer-events
Mimidze Dec 10, 2025
7462eb0
test: add validation tests for keys input and error handling (#384)
Vorobeyko Dec 15, 2025
f8cfa88
Feature: delegate setup survey (#400)
exromany Dec 16, 2025
72abc66
feat: banner "review your setups" (#396)
exromany Dec 16, 2025
66042d7
fix: hide banner if operator have no keys (#404)
exromany Dec 16, 2025
22f4c2e
feat: track santa
exromany Dec 12, 2025
c1a5c98
feat: add missed links matomo events
exromany Dec 12, 2025
35ea798
feat: track form submitting & success
exromany Dec 12, 2025
cb59b9c
feat: enhanced error tracking
exromany Dec 12, 2025
2d05ccc
feat: track siwe auth
exromany Dec 12, 2025
e48656d
chore: remove unused matomo events
exromany Dec 12, 2025
d92c363
feat: track surveys to matomo
exromany Dec 15, 2025
b9fd8b7
fix: form events & siwe events
exromany Dec 16, 2025
8851dd8
chore: track page helper
exromany Dec 16, 2025
95a386e
fix: track errors
exromany Dec 16, 2025
7eb36a4
feat: validation v2 for mainnet
exromany Dec 17, 2025
ecfec9c
Merge pull request #401 from lidofinance/feature/more-matomo-metrics
Mimidze Dec 18, 2025
afe6116
Merge pull request #406 from lidofinance/feature/validation_v_2
Mimidze Dec 18, 2025
961212d
fix: next ics round (#409)
exromany Dec 23, 2025
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
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"presets": [
[
"next/babel",
{
"preset-env": {
"exclude": ["transform-exponentiation-operator"]
}
}
]
],
"plugins": [
"babel-plugin-styled-components"
]
}
45 changes: 40 additions & 5 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# RPC API urls by network
# EL_RPC_URLS_{CHAIN_ID} list or URLs delimeted by commas, first entry is primary, else are fallbacks
EL_RPC_URLS_1=
EL_RPC_URLS_17000=
EL_RPC_URLS_560048=

# IPFS prefill RPC URLs - list of URLs delimited by commas
PREFILL_UNSAFE_EL_RPC_URLS_1=
PREFILL_UNSAFE_EL_RPC_URLS_17000=
PREFILL_UNSAFE_EL_RPC_URLS_560048=

# CL API urls by network
# CL_API_URLS_{CHAIN_ID} list or URLs delimeted by commas, first entry is primary, else are fallbacks
CL_API_URLS_1=
CL_API_URLS_17000=
CL_API_URLS_560048=

# MAINTENANCE mode
MAINTENANCE=
Expand Down Expand Up @@ -44,5 +44,40 @@ WALLETCONNECT_PROJECT_ID=
# ETH Stake Widget API for IPFS mode
WIDGET_API_BASE_PATH_FOR_IPFS=

# Survey api
SURVEY_API=https://survey.testnet.fi
# EthSeer API
ETHSEER_API_URL=https://monitoreth.io/data-api/api/eth/v1/beacon/consensus/lido/csm/participation_rate
ETHSEER_API_TOKEN=

# CSM SDK API URLs
KEYS_API_URL=
FEES_MONITORING_API_URL=

# -------- Environment variables for tests --------

# testnet, prod, staging, preview, local
STAND_TYPE=

# Default wallet with node operator
WALLET_SECRET_PHRASE=
# Full empty wallet
EMPTY_SECRET_PHRASE=
# Wallet with empty node operator
EMPTY_NODE_SECRET_PHRASE=

WALLET_PASSWORD=

# RPC url directly
RPC_URL=

# All credentianals for run tests on preview stand
PREVIEW_STAND_URL=
PREVIEW_STAND_LOGIN=
PREVIEW_STAND_PASSWORD=

# Refuse CF blocks for tests
REFUSE_CF_BLOCK_NAME=
REFUSE_CF_BLOCK_VALUE=

# Forked tests settings
USE_FORK= # true | false
JUST_DIR= # Example: /Users/<user>/community-staking-module
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# dependencies
/node_modules
/.pnp
/lido-csm-sdk

# testing
/coverage
Expand All @@ -15,3 +16,7 @@

# generated
/generated

**/.browser_context**

/tests
6 changes: 6 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@
{
"checksVoidReturn": false
}
],
"import/no-extraneous-dependencies": [
"error",
{
"devDependencies": ["tests/**"]
}
]
},
"settings": {
Expand Down
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
* @lidofinance/community-staking
.github @lidofinance/review-gh-workflows
tests/ @lidofinance/lido-qa
playwright.config.* @lidofinance/lido-qa
4 changes: 2 additions & 2 deletions .github/workflows/ci-dev.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: CI Dev
name: CI Dev Hoodi

on:
workflow_dispatch:
Expand All @@ -25,5 +25,5 @@ jobs:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}
TARGET_REPO: "lidofinance/infra-mainnet"
TARGET_WORKFLOW: "deploy_testnet_csm_widget.yaml"
TARGET_WORKFLOW: "deploy_hoodi_testnet_csm_widget.yaml"
TARGET: "develop"
14 changes: 12 additions & 2 deletions .github/workflows/ci-preview-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ on:
- testnet

pull_request:
types:
[opened, synchronize, reopened, ready_for_review]
types: [opened, synchronize, reopened, ready_for_review]
branches-ignore:
- main

Expand Down Expand Up @@ -66,3 +65,14 @@ jobs:
env:
SHORT_NAME: ${{ steps.repo.outputs.short_name }}
BRANCH_HASH: ${{ steps.branch.outputs.hash }}

tests:
needs: deploy
if: ${{ github.event.pull_request.draft == false }}
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
preview_stand_url: ${{ needs.deploy.outputs.stand_url }}
stand_type: "preview"
tags: "smoke"
qase_plan_id: 5 # Smoke Preview Plan
183 changes: 183 additions & 0 deletions .github/workflows/tests-fork.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
name: Forked Test CSM-widget
run-name: Forked CSM-widget Tests. Env [${{ github.event.inputs.stand_type || 'testnet' }}]

on:
schedule:
- cron: "0 6 * * *" # Every day at 6 AM UTC
workflow_dispatch:
inputs:
stand_type:
description: "Stand type"
required: true
type: choice
default: testnet
options:
- testnet
- preview
preview_stand_url:
description: 'Preview stand url (only if "Stand type" is "preview")'
required: false
type: string
preview_stand_env:
description: 'Preview stand env (only if "Stand type" is "preview")'
required: false
type: choice
default: testnet
options:
- testnet
- infra

jobs:
bootstrap:
name: Bootstrap environment
runs-on: ubuntu-latest
outputs:
cache-path: ${{ steps.cache.outputs.path }}
cache-key: ${{ steps.cache.outputs.key }}
env:
JUST_TAG: 1.24.0
steps:
- name: Build cache params
id: cache
run: |
echo "path=$CACHE_PATH" >> "$GITHUB_OUTPUT"
echo "$KEY_INPUT" | md5sum | awk '{print $1}' | xargs -I% echo "key=cargobin-%-${RUNNER_OS}" >> "$GITHUB_OUTPUT"
env:
CACHE_PATH: |
~/.cargo/bin/
KEY_INPUT: |
just:${{env.JUST_TAG}}

- uses: actions/cache@v4
id: get-cache
with:
path: ${{ steps.cache.outputs.path }}
key: ${{ steps.cache.outputs.key }}

- name: Install just
run: cargo install "just@$JUST_TAG"
if: steps.get-cache.outputs.cache-hit != 'true'

test:
runs-on: ubuntu-24.04
needs: bootstrap
env:
# Required envs
RPC_URL: ${{ secrets.RPC_URL }}
WALLET_SECRET_PHRASE: ${{ secrets.WALLET_SECRET_PHRASE }}
WALLET_PASSWORD: ${{ secrets.WALLET_PASSWORD }}
EMPTY_SECRET_PHRASE: ${{ secrets.EMPTY_SECRET_PHRASE }}
EMPTY_NODE_SECRET_PHRASE: ${{ secrets.EMPTY_NODE_SECRET_PHRASE }}
STAND_TYPE: ${{ inputs.stand_type || github.event.inputs.STAND_TYPE || 'testnet' }}

# Common envs
QASE_API_TOKEN: ${{ secrets.QASE_API_TOKEN }}
QASE_PROJECT_ID: "CSM"

QASE_PLAN_ID: "8"
GH_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
GH_BRANCH_REF_NAME: ${{ github.ref_name }}
GH_EVENT_NAME: ${{ github.event_name }}
NODE_OPTIONS: --max-old-space-size=4096
TEST_TAGS: "forked"
TEST_BRANCH: ${{ github.event.inputs.branch }}
REPORT_ENABLED: "${{ github.event_name == 'schedule' && 'true' || 'false' }}"
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL}}
SLACK_DUTY_TAG: "S09H269H2TT"

# Optional envs
REFUSE_CF_BLOCK_NAME: ${{ secrets.REFUSE_CF_BLOCK_NAME }}
REFUSE_CF_BLOCK_VALUE: ${{ secrets.REFUSE_CF_BLOCK_VALUE }}
PUSHGATEWAY_URL: ${{ secrets.PUSHGATEWAY_URL }}
PUSHGATEWAY_USERNAME: ${{ secrets.PUSHGATEWAY_USERNAME }}
PUSHGATEWAY_PASSWORD: ${{ secrets.PUSHGATEWAY_PASSWORD }}
GRAFANA_URL: ${{ secrets.GRAFANA_URL }}
GRAFANA_API_KEY: ${{ secrets.GRAFANA_API_KEY }}

# Forked test envs
USE_FORK: true
DEPLOY_CONFIG: ./artifacts/hoodi/deploy-hoodi.json
CHAIN: hoodi
ARTIFACTS_DIR: ./artifacts/hoodi/

steps:
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false

- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "yarn"

- name: Checkout community-staking-module
uses: actions/checkout@v4
with:
repository: lidofinance/community-staking-module
path: community-staking-module
ref: main

- uses: actions/cache@v4
with:
path: ${{ needs.bootstrap.outputs.cache-path }}
key: ${{ needs.bootstrap.outputs.cache-key }}

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.2.3

- name: Restore yarn cache
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }}

- name: Install CSM Contracts dependencies
run: |
cd community-staking-module && yarn install --immutable

- name: Build CSM Fork
run: cd community-staking-module && just deps && just build

- name: Install dependencies
run: yarn install --immutable

- name: Install Playwright Browsers
run: yarn playwright install chromium --with-deps

# - name: Download keys generator binary
# run: bash ./tests/scripts/set_up_keys_generator.sh

- name: Set up preview-stand credentials
if: ${{ inputs.stand_type == 'preview' || github.event.inputs.stand_type == 'preview' }}
run: |
if [ -n "${{ inputs.preview_stand_url || github.event.inputs.preview_stand_url }}" ]; then
echo "Setting login and password for preview stand"
echo "PREVIEW_STAND_LOGIN=${{ secrets.PREVIEW_STAND_LOGIN }}" >> $GITHUB_ENV
echo "PREVIEW_STAND_PASSWORD=${{ secrets.PREVIEW_STAND_PASSWORD }}" >> $GITHUB_ENV
echo "PREVIEW_STAND_URL=${{ inputs.preview_stand_url || github.event.inputs.preview_stand_url }}" >> $GITHUB_ENV
echo "PREVIEW_STAND_ENV=${{ github.event.inputs.preview_stand_env }}" >> $GITHUB_ENV
else
echo "PREVIEW_STAND_URL not provided for preview environment"
exit 1
fi

- name: Run tests based on suite input
run: |
echo -e "\033[34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m"
echo -e "🚀 Running on Stand Type: \033[1;34m$STAND_TYPE\033[0m"
echo -e "🧪 Test Tags: \033[1;34m$TEST_TAGS\033[0m"
echo -e "🌱 Branch: \033[1;34m${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}\033[0m"
echo -e "🔗 Test Plan: \033[1;34m${QASE_PLAN_ID}\033[0m"
echo -e "\033[34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\033[0m"

xvfb-run --auto-servernum -- yarn test:e2e

- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 1
Loading