Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
278 commits
Select commit Hold shift + click to select a range
f656ad6
Merge branch 'other-stuff-idk' of github.com:haloooloolo/rocketwatch …
haloooloolo May 22, 2025
7330a07
add support ticket to scam detection
haloooloolo May 24, 2025
c5f80c1
fix followup send
haloooloolo May 25, 2025
ebde40f
fix Snapshot render
haloooloolo Jul 9, 2025
9fdd5b5
fix forum topic URL
haloooloolo Jul 9, 2025
2a262de
add operator to dissolve event
haloooloolo Jul 10, 2025
59355d4
add RPL migration event
haloooloolo Jul 10, 2025
de0d8f6
remove rocketscan links
haloooloolo Jul 10, 2025
128451a
add RPL USDC pair on Binance
haloooloolo Jul 10, 2025
3b510c8
async unload
haloooloolo Jul 10, 2025
a2e9b5f
fix render bg color
haloooloolo Jul 10, 2025
9f165de
fix large event threshold for RPL migration
haloooloolo Jul 11, 2025
2368bb6
RockSolid events
haloooloolo Oct 7, 2025
e847aae
small scam detection improvements
haloooloolo Oct 7, 2025
0443b23
better collateral distribution range
haloooloolo Oct 7, 2025
cbd4818
weakly hidden collateral command
haloooloolo Oct 7, 2025
3f37d5a
ignore small rETH burns
haloooloolo Oct 9, 2025
cf48838
scam detection fix
haloooloolo Oct 9, 2025
320306b
transliterate unicode into ascii
haloooloolo Oct 10, 2025
79d5ba6
async node task
haloooloolo Oct 13, 2025
de57cf4
switch from motor to async pymongo
haloooloolo Oct 13, 2025
c09a3b8
fix aggregate usage with AsyncMongoClient
haloooloolo Oct 14, 2025
dec7036
fix async db call
haloooloolo Oct 24, 2025
55b1f5f
add withdrawn beacon state
haloooloolo Oct 24, 2025
cc6b485
fix incorrect event detection
haloooloolo Oct 24, 2025
b0d0377
fix import
haloooloolo Oct 24, 2025
9e21ac3
remove advanced tx link
haloooloolo Oct 24, 2025
6fd0b3d
add more trusted domains
haloooloolo Oct 24, 2025
480c9cf
add RockSolid milestone
haloooloolo Oct 24, 2025
e081553
/rocksolid command
haloooloolo Oct 25, 2025
d37ba62
tweak y axis label
haloooloolo Oct 25, 2025
9676e06
use self.deployment_block
haloooloolo Oct 25, 2025
3c07675
allowlist some users for support template
haloooloolo Nov 24, 2025
461a67a
more minipool states
haloooloolo Nov 24, 2025
e78c1c7
spelling / phrasing tweaks
haloooloolo Nov 24, 2025
518116f
use modern snake case methods in web3py
haloooloolo Nov 24, 2025
1ea6a5b
going through chaaaaanges
haloooloolo Dec 13, 2025
698037a
switch to maintained watchtower fork
haloooloolo Dec 13, 2025
589ae13
smaller bulk writes
haloooloolo Dec 19, 2025
61d0739
fix data initialization
haloooloolo Dec 19, 2025
796bd64
fix /lottery
haloooloolo Dec 20, 2025
7787874
only show delegate stats for active pools
haloooloolo Dec 20, 2025
6ff0a9e
fix asset conversion for RockSolid withdrawals
haloooloolo Dec 22, 2025
d69d2ea
miscellaneous changes
haloooloolo Feb 14, 2026
6550835
minipool_states
haloooloolo Feb 14, 2026
74c3a6c
LEB4 count in deposit pool stats
haloooloolo Feb 14, 2026
68c8130
more scam message logging
haloooloolo Feb 14, 2026
8f6d8e4
new fee_distribution command
haloooloolo Feb 14, 2026
6c29326
Saturn upgrade event
haloooloolo Feb 14, 2026
cd4cd50
update queue for megapools
haloooloolo Feb 15, 2026
f94caf9
queue improvements
haloooloolo Feb 15, 2026
cff197e
formatting tweaks
haloooloolo Feb 15, 2026
1131216
basic Saturn 1 events
haloooloolo Feb 15, 2026
862caf6
dissolve and penalty events
haloooloolo Feb 15, 2026
6b6612d
handle missing global contracts
haloooloolo Feb 16, 2026
350a930
rename delegate_stats
haloooloolo Feb 16, 2026
095f40e
guard megapool check
haloooloolo Feb 16, 2026
224fd8f
fix combined queue logic
haloooloolo Feb 16, 2026
67facbd
force https for submodules
haloooloolo Feb 17, 2026
6f4ce5f
custom checkout
haloooloolo Feb 17, 2026
124a37b
fix context
haloooloolo Feb 17, 2026
b7adafe
add cuteness
haloooloolo Feb 17, 2026
be3171c
update queue formatting
haloooloolo Feb 17, 2026
c7d3c5b
adjust rocketNodeStaking calls for Saturn
haloooloolo Feb 18, 2026
ee6740a
more rocketNodeStaking updates
haloooloolo Feb 18, 2026
70e7c04
remove command notice
haloooloolo Feb 18, 2026
21dc72c
stop updating effective stake for now
haloooloolo Feb 18, 2026
0c8281e
tweak rETH deposit event
haloooloolo Feb 22, 2026
2259214
fix DP queue capacity calculation
haloooloolo Feb 22, 2026
64ec8cd
add jump button to page view
haloooloolo Feb 22, 2026
80ca7ed
remove Saturn deployment guard
haloooloolo Feb 23, 2026
b56d13a
more robust queue capacity calculation
haloooloolo Feb 23, 2026
9f352d9
🐔🍲
haloooloolo Feb 23, 2026
f85e625
link to saturn-1.net
haloooloolo Feb 23, 2026
c78d205
add assignment capacity info to DP status
haloooloolo Feb 23, 2026
91fcad4
fix newline handling
haloooloolo Feb 23, 2026
552d13a
build minipool proposal index
haloooloolo Feb 27, 2026
a5ffcc5
bring back the bacon
haloooloolo Feb 27, 2026
447bb02
bacon strips
haloooloolo Feb 27, 2026
9674f1a
consolidate DB collections
haloooloolo Feb 28, 2026
222a0fe
switch config to single CL endpoint
haloooloolo Feb 28, 2026
4132338
user_distribute status
haloooloolo Feb 28, 2026
903af4d
fix timestamps
haloooloolo Feb 28, 2026
fd59b3d
add transaction instructions
haloooloolo Feb 28, 2026
29a1419
small refactor
haloooloolo Feb 28, 2026
5cc6c43
add warning for open distribution window
haloooloolo Feb 28, 2026
4ff427e
rename commands
haloooloolo Feb 28, 2026
22bb74c
add gas estimate
haloooloolo Feb 28, 2026
145e22e
update from hybrid_command
haloooloolo Feb 28, 2026
ce8cd1c
support for more levels in legacy tree
haloooloolo Feb 28, 2026
7407517
small tweak to DB attributes
haloooloolo Mar 1, 2026
5b64426
node operator db field groups
haloooloolo Mar 1, 2026
0b754ef
fix RPL commands
haloooloolo Mar 1, 2026
da59ced
add unstaking RPL
haloooloolo Mar 1, 2026
e179251
fix withdrawable_rpl
haloooloolo Mar 1, 2026
92540db
remove unused modules
haloooloolo Mar 1, 2026
8a97cf5
differentiate between pending and dissolved
haloooloolo Mar 2, 2026
e5d224b
fix user distribute instructions
haloooloolo Mar 2, 2026
83514aa
tiny refactor
haloooloolo Mar 2, 2026
7f2adb7
fix /lottery
haloooloolo Mar 2, 2026
4ce8ffd
refactor DB upkeep task
haloooloolo Mar 5, 2026
e8b4442
remove web3-multicall
haloooloolo Mar 5, 2026
7fb5ca4
small fixes
haloooloolo Mar 5, 2026
83e8caf
clean up dependencies
haloooloolo Mar 5, 2026
c19990d
add global megapool data to DB
haloooloolo Mar 5, 2026
dde7553
add megapool_validator collection
haloooloolo Mar 5, 2026
a88dcf0
use pubkey for queries in upkeep task
haloooloolo Mar 6, 2026
008d079
minipool_states -> validator_states
haloooloolo Mar 6, 2026
1c76bf0
basic reward simulation fixes
haloooloolo Mar 6, 2026
a028c31
fix render bug
haloooloolo Mar 6, 2026
594525e
include megapools in bot status
haloooloolo Mar 6, 2026
777ebd2
update to web3 v7
haloooloolo Mar 6, 2026
6099b67
refactor _batch_multicall_update
haloooloolo Mar 6, 2026
79eebd2
add renovate config
haloooloolo Mar 6, 2026
e6ecda5
match upstream requests version
haloooloolo Mar 6, 2026
a8e5a33
Merge remote-tracking branch 'upstream/main'
haloooloolo Mar 6, 2026
ac78134
update to mongodb v7
haloooloolo Mar 6, 2026
a026a3e
update to mongodb v8
haloooloolo Mar 6, 2026
bbcf301
handle deleted status message
haloooloolo Mar 6, 2026
4bc189e
bump mongodb to v8.2.5
haloooloolo Mar 6, 2026
ba73d20
update GitHub actions
haloooloolo Mar 6, 2026
d88f81e
more actions version bumps
haloooloolo Mar 6, 2026
99a5707
keep stale delegate data if necessary
haloooloolo Mar 6, 2026
46b52a9
update minor dependency versions
haloooloolo Mar 6, 2026
254738f
update remaining dependencies
haloooloolo Mar 6, 2026
ad9d6c4
update to Python v3.14.2
haloooloolo Mar 6, 2026
ed3e7cf
more minor dependency bumps
haloooloolo Mar 6, 2026
0892b68
megapool delegate command
haloooloolo Mar 6, 2026
3ee793e
move DB instance into RocketWatch instance
haloooloolo Mar 6, 2026
ba8cd29
make governance related plugins async
haloooloolo Mar 6, 2026
cb9f557
use aiohttp in beacon_events
haloooloolo Mar 6, 2026
ac57b6c
minimal bacon
haloooloolo Mar 6, 2026
7a4b0f3
remove POA middleware
haloooloolo Mar 6, 2026
56c1e22
migrate forum to slash commands
haloooloolo Mar 6, 2026
7c329e1
async deposit pool stats
haloooloolo Mar 6, 2026
c1a3f05
move everything to async rp.multicall
haloooloolo Mar 6, 2026
a36e6e8
fully migrate to AsyncWeb3
haloooloolo Mar 6, 2026
18a764e
fully migrate to app_commands
haloooloolo Mar 6, 2026
1805dd6
migrated requests to aiohttp
haloooloolo Mar 6, 2026
c580399
stricter linter rules
haloooloolo Mar 6, 2026
00185f6
slightly more permissive line length
haloooloolo Mar 6, 2026
9b06331
add ruff
haloooloolo Mar 6, 2026
e05e601
linter config fixes
haloooloolo Mar 6, 2026
3406d31
capitalize CI
haloooloolo Mar 6, 2026
c9e3e08
move to pydantic config
haloooloolo Mar 7, 2026
241d1fd
move to pyproject.toml
haloooloolo Mar 7, 2026
e79fad8
enforce isort
haloooloolo Mar 7, 2026
b4253d3
stricter linting
haloooloolo Mar 7, 2026
5bdcf20
remove guilds field from config
haloooloolo Mar 7, 2026
4ae03ac
add simple tests and new README
haloooloolo Mar 7, 2026
aa48414
fix test configuration
haloooloolo Mar 7, 2026
52cbd1e
remove .claude directory
haloooloolo Mar 7, 2026
22a45ca
another attempt at fixing the test config
haloooloolo Mar 7, 2026
5084957
Update astral-sh/setup-uv action to v7
renovate[bot] Mar 7, 2026
e9d7221
update minimum Python version in README
haloooloolo Mar 7, 2026
c1c9431
fix dev_time
haloooloolo Mar 7, 2026
d793f1b
remove ancient Redstone deployment check
haloooloolo Mar 7, 2026
c7cb37c
add plugin extension info to README
haloooloolo Mar 7, 2026
62de1b6
add scam detection tests
haloooloolo Mar 7, 2026
9bfb549
improve message scam detection
haloooloolo Mar 7, 2026
348d458
improve thread name detection
haloooloolo Mar 7, 2026
32c7e08
fix time formatting
haloooloolo Mar 7, 2026
b8e49dc
fix ruff checks
haloooloolo Mar 7, 2026
f57c58b
improve scam detection reason
haloooloolo Mar 7, 2026
bf40fe7
add ruff pre-commit hook
haloooloolo Mar 7, 2026
9f0536b
fix tests
haloooloolo Mar 7, 2026
5922b4d
run tests in pre commit hook
haloooloolo Mar 7, 2026
7111fa4
add more tests
haloooloolo Mar 7, 2026
5fa2e70
include megapools in proposal view
haloooloolo Mar 7, 2026
bc9f033
improve DB insertion for scam reports
haloooloolo Mar 8, 2026
fcfb3e8
new scam detection test case
haloooloolo Mar 8, 2026
d0aef42
add events for delayed upgrade process
haloooloolo Mar 8, 2026
0840faa
add megapools to TVL tree
haloooloolo Mar 8, 2026
d46f51c
remove old stricter hidden visibility
haloooloolo Mar 8, 2026
b83715d
collapse unclaimed ETH rewards
haloooloolo Mar 8, 2026
f0c454d
fix /call
haloooloolo Mar 10, 2026
6783c09
fix /call output format
haloooloolo Mar 10, 2026
f2ef6ec
filter state-modifying functions
haloooloolo Mar 10, 2026
3842462
remove CallJsonModal
haloooloolo Mar 10, 2026
c5c0a9f
fix command sync
haloooloolo Mar 13, 2026
bdcae7d
apply ruff formatting
haloooloolo Mar 13, 2026
ba01892
add ruff format to lint action
haloooloolo Mar 13, 2026
951d906
skip command response if not enabled
haloooloolo Mar 13, 2026
80a38a2
fix contract claim event
haloooloolo Mar 13, 2026
d4b24f3
remove CodeQL analysis
haloooloolo Mar 13, 2026
8909fe5
use 0x hex
haloooloolo Mar 13, 2026
a3daff3
fix renovate config
haloooloolo Mar 13, 2026
fa1c1e9
Update dependency cachetools to v7.0.5
renovate[bot] Mar 13, 2026
bb6de59
Update dependency numpy to v2.4.3
renovate[bot] Mar 13, 2026
7761251
fix user distribute instructions
haloooloolo Mar 14, 2026
3c3182b
Merge pull request #2 from haloooloolo/renovate/cachetools-7.x
haloooloolo Mar 14, 2026
cb527d9
Merge pull request #3 from haloooloolo/renovate/numpy-2.x
haloooloolo Mar 14, 2026
758426e
fix safe_to_hex
haloooloolo Mar 14, 2026
437e799
rename Docker stage
haloooloolo Mar 14, 2026
0b1588d
make event_logs util async
haloooloolo Mar 15, 2026
440f61f
add deposit data to megapools
haloooloolo Mar 15, 2026
0ebb698
add block_identifier to multitcall
haloooloolo Mar 15, 2026
994d348
small optimizations to el_explorer_url
haloooloolo Mar 15, 2026
dd467fe
fix typo
haloooloolo Mar 15, 2026
c934d33
remove collateral percentage from withdrawal info
haloooloolo Mar 15, 2026
343f1d8
new scam thread detection approach
haloooloolo Mar 16, 2026
b697375
new scam test cases
haloooloolo Mar 16, 2026
9d8ab1e
strip URL before detection
haloooloolo Mar 16, 2026
dabc714
refactor: fee_distribution
haloooloolo Mar 16, 2026
cf03055
Merge pull request #4 from haloooloolo/renovate/astral-sh-setup-uv-7.x
haloooloolo Mar 16, 2026
ddcb295
consolidate retry
haloooloolo Mar 16, 2026
b121198
fix user distribution calldata
haloooloolo Mar 19, 2026
f37f624
add check for already distributed pools
haloooloolo Mar 19, 2026
18bc128
fix user distribute checks
haloooloolo Mar 19, 2026
9904387
tweak wording on user distribute notification
haloooloolo Mar 20, 2026
3af8229
add test coverage
haloooloolo Mar 20, 2026
90e5399
first step for type checking
haloooloolo Mar 20, 2026
80a6e60
update UV action version
haloooloolo Mar 20, 2026
07c4ccf
remove chat_summary
haloooloolo Mar 20, 2026
9aede3b
fix typing in milestones.py
haloooloolo Mar 20, 2026
c2ef88e
fix typing in snapshot.py
haloooloolo Mar 20, 2026
82afd12
fix typing in pinned_messages
haloooloolo Mar 20, 2026
ebe878f
fix typing in debug.py
haloooloolo Mar 20, 2026
77797fd
add command count by user
haloooloolo Mar 20, 2026
1513883
fix typing in smaller files
haloooloolo Mar 20, 2026
dddd9e6
remove unused images
haloooloolo Mar 20, 2026
89fed07
wrap milestone args in aDict
haloooloolo Mar 20, 2026
f6f9b24
fix typing in lottery.py
haloooloolo Mar 20, 2026
6c66775
refactor lottery.py
haloooloolo Mar 20, 2026
f78ec76
refactor some more
haloooloolo Mar 20, 2026
b68fcbf
chore(deps): update mongo docker tag to v8.2.6
renovate[bot] Mar 20, 2026
a003c3c
rework CoW module
haloooloolo Mar 21, 2026
f6805a6
fix scam detection false positive
haloooloolo Mar 21, 2026
466cc7f
fix typing in apr.py
haloooloolo Mar 21, 2026
4c201ea
higher y limit for /rocksolid
haloooloolo Mar 21, 2026
b3fd130
add missing await
haloooloolo Mar 21, 2026
a8749bc
adjust rpl_swapped milestone
haloooloolo Mar 21, 2026
22e945e
fix tvl.py typing
haloooloolo Mar 21, 2026
8de3369
fix typing in scam_detection
haloooloolo Mar 21, 2026
33ed844
fix typing in rpips.py
haloooloolo Mar 21, 2026
128cb81
fix typing in support_utils
haloooloolo Mar 21, 2026
4976ad4
fix support utils choices
haloooloolo Mar 21, 2026
8b54935
fix typing in event_core
haloooloolo Mar 21, 2026
389a375
fix support_utils again
haloooloolo Mar 21, 2026
1d49281
ignore transaction and events module for now
haloooloolo Mar 21, 2026
ab6e8ed
remove comment in pyproject.toml
haloooloolo Mar 21, 2026
96c606d
Merge pull request #7 from haloooloolo/renovate/mongo-8.x
haloooloolo Mar 21, 2026
1262cbe
update README
haloooloolo Mar 21, 2026
6f94bc6
add Python version badge
haloooloolo Mar 21, 2026
eb2e385
fix scam detection DB insertion
haloooloolo Mar 21, 2026
23dc920
add general exception handler
haloooloolo Mar 21, 2026
ea3dc0a
I blame sno
haloooloolo Mar 21, 2026
6fec3d3
I blame myself for this one
haloooloolo Mar 21, 2026
bffc708
add megapool validators to smoothie command
haloooloolo Mar 21, 2026
42c72a7
tweak scam detection
haloooloolo Mar 22, 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
Binary file removed .github/readme-images/ens.png
Binary file not shown.
Binary file removed .github/readme-images/minipools.png
Binary file not shown.
Binary file removed .github/readme-images/odao_members.png
Binary file not shown.
Binary file removed .github/readme-images/pool.png
Binary file not shown.
Binary file removed .github/readme-images/proposals.png
Binary file not shown.
32 changes: 14 additions & 18 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
"config:recommended"
],
"patch": {
"automerge": true
},
"pin": {
"automerge": true
},
"rollback": {
"automerge": true
},
"docker-compose": {
"automerge": false
},
"docker": {
"automerge": false
},
"prCreation": "not-pending",
"forkProcessing": "enabled",
"rollbackPrs": true,
"stabilityDays": 3
"stabilityDays": 3,
"packageRules": [
{
"matchUpdateTypes": ["patch", "pin", "rollback"],
"automerge": true
},
{
"matchManagers": ["dockerfile", "docker-compose"],
"automerge": false
}
]
}
38 changes: 38 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Build

on:
push:
branches: [ main ]

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Force HTTPS for Git submodules
run: |
git config --global url."https://github.com/".insteadOf git@github.com:
git config --global url."https://github.com/".insteadOf ssh://git@github.com/
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Login to DockerHub
uses: docker/login-action@v4
with:
username: haloooloolo
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v7
with:
context: .
file: rocketwatch/Dockerfile
push: true
tags: haloooloolo/rocketwatch:latest
no-cache: true
platforms: linux/amd64

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
71 changes: 0 additions & 71 deletions .github/workflows/codeql-analysis.yml

This file was deleted.

33 changes: 0 additions & 33 deletions .github/workflows/docker-ci.yml

This file was deleted.

28 changes: 28 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Lint

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/ruff-action@v3
with:
args: "check"
src: "rocketwatch"
- uses: astral-sh/ruff-action@v3
with:
args: "format --check"
src: "rocketwatch"
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv sync --extra dev
- run: uv run mypy rocketwatch/
18 changes: 18 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Test

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run --python 3.14 --extra test pytest --cov=rocketwatch --cov-report=term-missing --cov-report=xml
- uses: codecov/codecov-action@v5
with:
files: coverage.xml
17 changes: 10 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

Expand Down Expand Up @@ -110,13 +109,17 @@ venv.bak/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# Pycharm project stuff
# IDE files
.idea/
.vscode

# state
state.db
*/main.cfg
mongodb/
*/config.toml
mongodb/

# helper scripts
*.sh

.claude
uv.lock
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "rocketwatch/contracts/rocketpool"]
path = rocketwatch/contracts/rocketpool
url = https://github.com/rocket-pool/rocketpool
branch = houston
branch = v1.4
17 changes: 0 additions & 17 deletions .pep8speaks.yml

This file was deleted.

15 changes: 15 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.5
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
- repo: local
hooks:
- id: pytest
name: pytest
entry: uv run pytest -x -q
language: system
pass_filenames: false
always_run: true
Loading
Loading