Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
6188812
Add .nvmrc for ecdsa contracts
pdyraga Mar 5, 2025
0998cb5
Upgrade OpenZeppelin to the latest 4.x version
pdyraga Mar 5, 2025
30b0410
Allowlist for WalletRegistry
pdyraga Mar 5, 2025
8281c38
feat: Implement Allowlist contract for operator management
piotr-roslaniec Aug 18, 2025
4ad1404
fix: Address audit findings for Allowlist contract
piotr-roslaniec Sep 23, 2025
73dbec6
refactor(ecdsa): optimize WalletRegistry bytecode by simplifying erro…
lrsaturnino Oct 3, 2025
e2a35bc
refactor(ecdsa): remove EOA restriction for EIP-7702 compatibility
lrsaturnino Oct 3, 2025
e655538
refactor(ecdsa): optimize WalletRegistry bytecode size
lrsaturnino Oct 4, 2025
d2ddcb3
feat(ecdsa): add dual-mode authorization to WalletRegistry
lrsaturnino Oct 6, 2025
822b097
feat: Complete Allowlist implementation for beta staker consolidation…
piotr-roslaniec Oct 9, 2025
04ebe63
refactor(WalletRegistry): replace require statements with custom errors
lrsaturnino Oct 9, 2025
357328b
test(WalletRegistry): update error assertions for custom error migration
lrsaturnino Oct 10, 2025
546fb32
docs: add WalletRegistry optimization audit preparation document
lrsaturnino Oct 10, 2025
ac79c08
fix(ecdsa): add onlyGovernance protection to initializeV2 and impleme…
lrsaturnino Oct 24, 2025
f5edfba
test(ecdsa): migrate WalletRegistry tests to use custom error assertions
lrsaturnino Nov 3, 2025
ae12ef3
refactor(WalletRegistry): optimize bytecode and improve error observa…
lrsaturnino Nov 3, 2025
896d640
fix(ci): exclude solidity/ from client workflow and upgrade artifact …
lrsaturnino Dec 16, 2025
95cb2e6
WalletRegistry Bytecode Optimization for EIP-170 Compliance (#3837)
lrsaturnino Dec 16, 2025
03b8763
feat(ecdsa): add deployment infrastructure for beta staker consolidation
lrsaturnino Dec 20, 2025
b95a4c3
chore(ecdsa): migrate to hardhat-verify and add Sepolia network support
lrsaturnino Dec 20, 2025
4e82415
feat(ecdsa): add allowlist weights configuration for mainnet
lrsaturnino Dec 20, 2025
461b264
feat(deploy): add deployment guards to prevent contract redeployment
lrsaturnino Dec 26, 2025
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
9 changes: 5 additions & 4 deletions .github/workflows/client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ on:
- "docs/**"
- "infrastructure/**"
- "scripts/**"
- "solidity/**"
- "solidity-v1/**"
- "token-stakedrop/**"
pull_request:
Expand Down Expand Up @@ -45,7 +46,7 @@ jobs:
with:
filters: |
path-filter:
- './!((docs-v1|docs|infrastructure|scripts|solidity-v1|token-stakedrop)/**)'
- './!((docs-v1|docs|infrastructure|scripts|solidity|solidity-v1|token-stakedrop)/**)'

electrum-integration-detect-changes:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -123,7 +124,7 @@ jobs:
docker save --output /tmp/go-build-env-image.tar go-build-env

- name: Upload Docker Build Image
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: go-build-env-image
path: /tmp/go-build-env-image.tar
Expand Down Expand Up @@ -189,7 +190,7 @@ jobs:
context: .

- name: Archive Client Binaries
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: binaries
path: |
Expand Down Expand Up @@ -309,7 +310,7 @@ jobs:
uses: docker/setup-buildx-action@v2

- name: Download Docker Build Image
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: go-build-env-image
path: /tmp
Expand Down
47 changes: 47 additions & 0 deletions solidity/ecdsa/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# =============================================================================
# Environment Configuration for keep-core/solidity/ecdsa
# =============================================================================
# Copy this file to .env and fill in your values.
# NEVER commit .env files with private keys!
# =============================================================================

# -----------------------------------------------------------------------------
# RPC Endpoint (required for Sepolia and Mainnet)
# -----------------------------------------------------------------------------
# Use Alchemy, Infura, or another provider
# Example: https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
# Example: https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
CHAIN_API_URL=

# -----------------------------------------------------------------------------
# Sepolia Configuration
# -----------------------------------------------------------------------------
# Comma-separated list of private keys (without 0x prefix)
# The first key should correspond to: 0x68ad60CC5e8f3B7cC53beaB321cf0e6036962dBc
ACCOUNTS_PRIVATE_KEYS=

# -----------------------------------------------------------------------------
# Mainnet Configuration
# -----------------------------------------------------------------------------
# Single private key for the deployer account (without 0x prefix)
# Should correspond to: 0x716089154304f22a2F9c8d2f8C45815183BF3532
CONTRACT_OWNER_ACCOUNT_PRIVATE_KEY=

# -----------------------------------------------------------------------------
# Contract Verification (optional but recommended)
# -----------------------------------------------------------------------------
# Get your API key from https://etherscan.io/myapikey
ETHERSCAN_API_KEY=

# -----------------------------------------------------------------------------
# Forking Configuration (optional, for local testing)
# -----------------------------------------------------------------------------
# URL for forking mainnet state (requires archive node access)
# FORKING_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
# FORKING_BLOCK=

# -----------------------------------------------------------------------------
# External Deployments (optional)
# -----------------------------------------------------------------------------
# Set to "true" to use external contract deployments
# USE_EXTERNAL_DEPLOY=false
10 changes: 10 additions & 0 deletions solidity/ecdsa/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,13 @@ deployments/*

# OpenZeppelin
.openzeppelin/unknown-*.json

# Environment variables (NEVER commit private keys!)
.env
.env.local
.env.*.local
.env.sepolia
.env.mainnet

# Migration results (may contain sensitive info)
migration-results.json
1 change: 1 addition & 0 deletions solidity/ecdsa/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lts/hydrogen
Loading
Loading