Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Promote develop to master #418

Merged
merged 198 commits into from
Oct 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 commits
Select commit Hold shift + click to select a range
bd53b6e
Wallet Connect signing and confirming (but failing) txs on mobile wallet
ccali11 Aug 23, 2023
b074c4b
Merge branch 'develop' into feature/wallet-connect-v2
ccali11 Aug 23, 2023
7275023
Pushing latest to try ngrok with Shane
ccali11 Aug 24, 2023
9869949
Add events package
shanejearley Aug 30, 2023
bdc7b17
Add functions request listener
shanejearley Sep 1, 2023
281e6ac
Merge branch 'develop' into feature/wallet-connect-v2
ccali11 Sep 6, 2023
1562361
Use env-enc to pass functions urls
shanejearley Sep 7, 2023
eea6d3f
Implement addOperator and add node_url as a field on Operator table
ccali11 Sep 7, 2023
d555ec6
Update ssv contracts and usage to jato v2
shanejearley Sep 11, 2023
ad8b17a
Merge pull request #417 from consensusnetworks/feature/save-operator-…
ccali11 Sep 11, 2023
57e7066
Committing working changes to stash before merging develop
ccali11 Sep 11, 2023
4f670be
Merge branch 'develop' into feature/wallet-connect-v2
ccali11 Sep 11, 2023
3c05391
Sign in with new user (testUser) composable working
ccali11 Sep 12, 2023
1b2b214
Remove useUsers dependency and offload to useTestUser temporarily
ccali11 Sep 12, 2023
925540d
Fix multiple initialization bug
ccali11 Sep 12, 2023
89d0058
Deprecate old useUsers (keep some commented methods
ccali11 Sep 12, 2023
1db85e4
Rename useTestUser
ccali11 Sep 12, 2023
52d4cb9
Mostly delete useWallet composable
ccali11 Sep 12, 2023
56a0144
Update composable file names in components
ccali11 Sep 12, 2023
34ff5d5
Remove onMounted and onUnmounted hooks in composables that aren't user
ccali11 Sep 12, 2023
393b4aa
Add contract beacons, proxies, and upgrades
shanejearley Sep 12, 2023
ff1b74d
Silence unsafe constructor warnings
shanejearley Sep 12, 2023
30d87f3
Fix double listener issue
ccali11 Sep 13, 2023
a253498
Remove unused imports
ccali11 Sep 13, 2023
715dcb0
Change default dev signers
shanejearley Sep 13, 2023
691ef0c
Fix app bugs on Safari browser and Brave
DemogorGod Sep 13, 2023
7ed3358
Temporarily add mock analytics data to assure proper loading sequence
ccali11 Sep 13, 2023
b14e14f
Fix Operator page and connect wallet modal safari and brave issues
DemogorGod Sep 14, 2023
28cc34a
Add oracle logs
shanejearley Sep 14, 2023
240a4c9
Add upgrade storage gaps
shanejearley Sep 14, 2023
0d80748
Add deploy script
shanejearley Sep 14, 2023
93edbf1
Fix deploy script
shanejearley Sep 14, 2023
4d62e17
Fix settings tabs on safari
DemogorGod Sep 15, 2023
72d3028
Fix pages numbers tabs
DemogorGod Sep 15, 2023
c976b48
Fix scroll bar shifting isssue
DemogorGod Sep 15, 2023
b71fef3
Fix scroll bar shifting isssue
DemogorGod Sep 15, 2023
36535a7
Merge pull request #420 from consensusnetworks/enhancement/app-fe-tweaks
DemogorGod Sep 15, 2023
9cf31c9
Link external libraries to shrink contract size
shanejearley Sep 15, 2023
2159ca6
Add address check to upgrade script
shanejearley Sep 15, 2023
a143e35
Save deployed addresses to @casimir/env
shanejearley Sep 15, 2023
6a4c2c1
Add @casimir/env to dev scripts and deployment
shanejearley Sep 15, 2023
c0ee173
Type event handler input
shanejearley Sep 17, 2023
adf2504
Remove images directory
shanejearley Sep 17, 2023
f6271c4
Update README.md (skip deploy)
shanejearley Sep 18, 2023
9c16080
Remove coldStorage composable
ccali11 Sep 18, 2023
0a5c7f7
Resolve conflicts with develop
ccali11 Sep 18, 2023
f1ca1d6
Merge pull request #421 from consensusnetworks/update/composables
ccali11 Sep 18, 2023
b7df230
Begin moving user analytics functionality to separate composable
ccali11 Sep 19, 2023
ede62dd
Re-enable the table
ccali11 Sep 19, 2023
840fbc5
Commit working changes to operator composable and component
ccali11 Sep 19, 2023
6af875a
Refactor Operator.vue and operators.ts
ccali11 Sep 20, 2023
d338428
Finalize operators composable in Operator.vue
DemogorGod Sep 20, 2023
521070e
Complete migration to custom errors
shanejearley Sep 21, 2023
0ae2834
Use logs flag in oracle
shanejearley Sep 21, 2023
af6d300
Get beacon validators (uncomment fetch) in functions execution
shanejearley Sep 21, 2023
012ef2f
Break out breakdown metrics into its own composable
ccali11 Sep 21, 2023
b4e3a8f
Merge pull request #424 from consensusnetworks/feature/composable-ref…
DemogorGod Sep 21, 2023
cb30ce7
Configure request args with deployed views address
shanejearley Sep 21, 2023
bca7c2c
Remove emulator code
shanejearley Sep 22, 2023
cae9114
Fix conflicts
shanejearley Sep 22, 2023
c277bb9
Change getPoolDetails to getPool in operators composable
shanejearley Sep 22, 2023
ce73cf6
Remove gh ssh prereq
shanejearley Sep 22, 2023
877acbb
Fix submit disable and double register operator bug
ccali11 Sep 22, 2023
fcb81a6
Update wallet connect universal provider package
ccali11 Sep 22, 2023
bd66421
Comment out analytics api call for now
ccali11 Sep 22, 2023
b62b342
Remove vue-feather svg console error
ccali11 Sep 22, 2023
d28beaa
Remove console error from LineChartJS.vue
ccali11 Sep 22, 2023
4b2f0f4
Fix recursive warn due to watchEffect on analytics.ts
ccali11 Sep 22, 2023
ce5c3eb
Remove unnecessary code from user.ts
ccali11 Sep 22, 2023
ca0c049
Remove console logs in breakdown metrics and remove vue-feather issue…
ccali11 Sep 22, 2023
f852b62
Merge pull request #425 from consensusnetworks/bug/bugs
ccali11 Sep 22, 2023
e840cc8
Begin converting WalletConnect composable to use EthereumProvider
ccali11 Sep 26, 2023
5324154
Commit hardhat temp fix ()
ccali11 Sep 26, 2023
ee79320
Add max width to the app with the black backdrop
DemogorGod Sep 27, 2023
894b4aa
Create Loading Spinner component
DemogorGod Sep 27, 2023
38a9b01
Implement EthereumProvider approach to WalletConnect and move project…
ccali11 Sep 27, 2023
2a0cd8d
Add loading refs to user composable login/logout
ccali11 Sep 27, 2023
30fe628
Add loading refs to breakdownMetrics composable
ccali11 Sep 27, 2023
097ccfe
Reorder return values in user composable
ccali11 Sep 27, 2023
5bfc26e
Add loading refs to analytics composable
ccali11 Sep 27, 2023
645b829
Add loading refs to operator composable & move method in there
ccali11 Sep 27, 2023
a6319e6
Add loading refs to contracts composable
ccali11 Sep 27, 2023
7c31780
Fix small bug
ccali11 Sep 27, 2023
a4cfd9c
Add skeleton loaders based on inizalized refs on depending composables
DemogorGod Sep 27, 2023
d6226ea
Add skeleton loaders on operator page
DemogorGod Sep 27, 2023
a29e0bc
Add reshare logic (stop at dkg bug)
shanejearley Sep 28, 2023
e5c8c28
Fix conflicts
shanejearley Sep 28, 2023
b4968e8
Fix operator scanner
shanejearley Sep 28, 2023
6c74435
Update project id variable per Shane's request
ccali11 Sep 28, 2023
1b4fbdc
Merge pull request #426 from consensusnetworks/feature/wallet-connect-v2
ccali11 Sep 28, 2023
6d462a3
Add hardhat-preprocessor
shanejearley Sep 28, 2023
3fc3912
Merge branch 'develop' into enhancement/fe-loaders-and-adjustments
ccali11 Sep 28, 2023
abd98ee
Add fathon cdn script to index.html
ccali11 Sep 28, 2023
3a3f829
Tweak loading animation
ccali11 Sep 28, 2023
209770c
Handle Stake button loading text
ccali11 Sep 28, 2023
893ae96
Merge pull request #427 from consensusnetworks/enhancement/fe-loaders…
DemogorGod Sep 28, 2023
3b378f7
Add new mock keys
shanejearley Sep 28, 2023
4a3997b
Remove remote submodule fetch
shanejearley Sep 28, 2023
d09f128
Merge pull request #422 from consensusnetworks/deployment/beta
shanejearley Sep 28, 2023
71a093c
Fixing ts issues for deployment
ccali11 Sep 28, 2023
cb40625
Merge pull request #428 from consensusnetworks/bug/ts-errors
shanejearley Sep 28, 2023
9fe322a
Type input element in staking component
shanejearley Sep 28, 2023
3ceb989
Remove dev landing page
shanejearley Sep 28, 2023
fc77e47
Shorten log paths (skip deploy)
shanejearley Sep 28, 2023
52339df
migrate index.html to app.vue and index.scss into index.css
DemogorGod Sep 29, 2023
055a0ea
Remove functions.log (skip deploy)
shanejearley Sep 29, 2023
614b53c
Migrate and convert all scss styles to index.css
DemogorGod Sep 29, 2023
6d8f850
Refactor contracts composable to be a staking composable and port ove…
ccali11 Sep 29, 2023
a1c4270
Hard code fees equal to 5% for now
ccali11 Sep 29, 2023
a1214c8
Add new styling and new landing page, import into vue router
DemogorGod Sep 29, 2023
f9a56eb
Add blog page to pages and router
DemogorGod Sep 29, 2023
e819292
Add check to make sure user is signing in with their active wallet
ccali11 Sep 30, 2023
bcb9e0a
Make sure selectedStakingAddress matches active address in MetaMask
ccali11 Sep 30, 2023
bfcd5d3
Add MetaMask active wallet check in submitRegisterOperatorForm method
ccali11 Sep 30, 2023
040addb
Get changelog to work and update the page
DemogorGod Oct 2, 2023
ef2ca65
Add primary/secondary account check to user auth flow
ccali11 Oct 2, 2023
276992d
Commit changes moving useUser auth stuff to useAuth
ccali11 Oct 2, 2023
08de9e9
Add blogs folder
DemogorGod Oct 2, 2023
b8f358d
last changed at Oct 2, 2023 3:34 PM, pushed by Nathan Miller
Oct 2, 2023
c7517c8
Add websockets URL
shanejearley Oct 2, 2023
f8158ab
Add blog.md to /blog router path as child under /blog/announcements
DemogorGod Oct 2, 2023
63326e9
Stash working changes
ccali11 Oct 2, 2023
1c71f85
Fix typo 'announcements'
ccali11 Oct 2, 2023
48a1e1c
Style the markdown page as much as possible
DemogorGod Oct 2, 2023
f17c95a
last changed at Oct 2, 2023 3:34 PM, pushed by Nathan Miller
Oct 2, 2023
4b62616
Offload siwe to its own composable
ccali11 Oct 2, 2023
91c0364
Completely move login logic to useAuth composable
ccali11 Oct 2, 2023
34b260a
Add UserAuthState to default-layout and newLogin method in useAuth
ccali11 Oct 3, 2023
50e7d49
Re-enable login method for different providers and fix loader
ccali11 Oct 3, 2023
52a223a
Initialize and uninitialize WalletConnect in auth composable for now
ccali11 Oct 3, 2023
1aa8bfe
Merge branch 'develop' into feature/multi-account-management
ccali11 Oct 3, 2023
1c3c0b6
Create a directory and fetch all consensusnetworks blogs from team ha…
DemogorGod Oct 4, 2023
f41867e
Add error handling to express server functions
DemogorGod Oct 4, 2023
b3968a9
Add filtering to hackmd express server
DemogorGod Oct 4, 2023
2ba47f8
Re-implement CoinbaseWallet native integration
ccali11 Oct 5, 2023
a48f9bb
resolve changes requested
DemogorGod Oct 5, 2023
97ec5d3
resolve changes requested
DemogorGod Oct 5, 2023
e904518
Migrate oracle to new dkg lib
shanejearley Oct 5, 2023
e1eab91
User able to successfully sign in and add account with CoinbaseWallet
ccali11 Oct 5, 2023
cfab2ac
Move blog logic to a composable
DemogorGod Oct 5, 2023
efd124d
Refactor detectActiveWalletAddress to be in useAuth composable
ccali11 Oct 5, 2023
4454179
Seperate blogs from blog and add it to router
DemogorGod Oct 5, 2023
17c8b54
Add spacing between bugs
DemogorGod Oct 5, 2023
e0b3e85
Implement pathIndex check on login with Ledger
ccali11 Oct 5, 2023
5927741
Style blog page a little bit
DemogorGod Oct 5, 2023
bd08cc3
Commiting before merging with @chris working branch
DemogorGod Oct 6, 2023
8f0ae88
Merge auth-related branches before implementing UserAuthFlow UI compo…
ccali11 Oct 6, 2023
6d31fad
Move auth flow to new ConnectWalletsFlow component
DemogorGod Oct 6, 2023
b748dfa
Fix operator test
shanejearley Oct 7, 2023
4b61186
Change example filenames
shanejearley Oct 7, 2023
53330ae
Merge branch 'develop' into test/new-dkg
shanejearley Oct 7, 2023
52fccdd
Remove remote submodule pull
shanejearley Oct 8, 2023
b9ef112
Make faqs collapsable
DemogorGod Oct 10, 2023
feda4c4
Handle user logging in with a secondary address on another account
ccali11 Oct 10, 2023
5a28d9b
Return an error if user rejects signing message to log in
ccali11 Oct 10, 2023
94ea1e6
Add connect wallet failure section to wallet auth flow
DemogorGod Oct 10, 2023
978af9f
Move sass and snarkdown to web and landing packagejson
DemogorGod Oct 10, 2023
70c4791
Remove snarkdown from web package.json
ccali11 Oct 10, 2023
f6c8157
Merge pull request #431 from consensusnetworks/feature/migrate-new-la…
DemogorGod Oct 10, 2023
1c30ebd
Add contract tasks
shanejearley Oct 11, 2023
27f4b4e
Fix conflicts with TrustWallet and other browser wallets
ccali11 Oct 12, 2023
656dc33
Resolve merge conflicts
ccali11 Oct 12, 2023
2410d0c
Merge pull request #429 from consensusnetworks/feature/multi-account-…
ccali11 Oct 12, 2023
df04f36
Make factory contract entrypoint
shanejearley Oct 19, 2023
db54832
Handle multiple contracts in oracle
shanejearley Oct 19, 2023
3323e41
Merge develop
shanejearley Oct 19, 2023
5ce68b2
Move users db clean to service script
shanejearley Oct 19, 2023
857cf7d
Integrate blog with dev workflow
shanejearley Oct 19, 2023
edefde2
Update operators.ts with contract factory
ccali11 Oct 19, 2023
cb3b9d1
Implement contract factory approach in staking and breakdownMetrics c…
ccali11 Oct 19, 2023
3f59db9
Merge branch 'enhancement/use-factory-in-composables' into deployment…
ccali11 Oct 19, 2023
44568ae
Add blog deployment
shanejearley Oct 19, 2023
b97f9bb
Get hackmd token for dev
shanejearley Oct 19, 2023
abeb95a
Update env signers
shanejearley Oct 19, 2023
89cb834
Add deployed contract addresses
shanejearley Oct 19, 2023
2d5baf7
Change blogs route to blog
shanejearley Oct 19, 2023
ae79a4a
Update hardcoded operator urls in web
shanejearley Oct 19, 2023
7fb5447
Change Pool to PoolConfig
shanejearley Oct 19, 2023
a447fa7
Fix web build errors
ccali11 Oct 19, 2023
7ad2134
Add contract upgrade test
shanejearley Oct 20, 2023
479a923
Quick fix of async factory contract call
ccali11 Oct 20, 2023
c191c08
Merge branch 'deployment/goerli' into fix/async-environment
ccali11 Oct 20, 2023
5ef8453
DRY up getting factory addresses info
ccali11 Oct 20, 2023
eb6955c
Add mock eigen deploy to dev script
shanejearley Oct 21, 2023
a94c4f4
Merge branch 'deployment/goerli' into fix/async-environment
ccali11 Oct 23, 2023
479f528
Add eigen contract addresses & update breakdownMetrics composable
ccali11 Oct 23, 2023
c11ce45
Update operator with defaultManager
ccali11 Oct 23, 2023
a9accd3
Resolve breakdownMetrics and staking component bug
ccali11 Oct 23, 2023
834df65
Remove user from initializeOperatorComposable method
ccali11 Oct 23, 2023
f6ade2e
Add docs app
shanejearley Oct 23, 2023
d2fe084
Add docs deploy
shanejearley Oct 23, 2023
020057e
Merge branch 'feature/docs' into deployment/goerli
shanejearley Oct 23, 2023
ed0083a
Fix ethereum dev script
shanejearley Oct 23, 2023
0b0083a
Clean deployment
shanejearley Oct 24, 2023
573528d
Add blog and docs to dev stage deploy
shanejearley Oct 24, 2023
f7c0b8f
Update mock keys
shanejearley Oct 24, 2023
729dffb
Fix web app compile error
shanejearley Oct 24, 2023
ca96cae
Fix docs subdomain
shanejearley Oct 24, 2023
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
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@
"quotes": ["error", "single"]
},
"ignorePatterns": [
"contracts/**/scripts/resources",
"scripts/**/resources",
"lib",
"cdk.out",
"*.js"
]
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,6 @@ jobs:
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Install mdBook plugins
uses: actions-rs/cargo@v1
with:
command: install
args: mdbook-katex mdbook-mermaid

- name: Install and build all package dependencies
run: npm ci
env:
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,6 @@ jobs:

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Install mdBook plugins
uses: actions-rs/cargo@v1
with:
command: install
args: mdbook-katex mdbook-mermaid

- name: Install and build all package dependencies
run: npm ci
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,6 @@ jobs:
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Install mdBook plugins
uses: actions-rs/cargo@v1
with:
command: install
args: mdbook-katex mdbook-mermaid

- name: Install and build all package dependencies
run: npm ci
env:
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,6 @@ jobs:
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Install mdBook plugins
uses: actions-rs/cargo@v1
with:
command: install
args: mdbook-katex mdbook-mermaid

- name: Install and build all package dependencies
run: npm ci
env:
Expand Down
31 changes: 8 additions & 23 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,26 +1,11 @@
[submodule "scripts/ledger/resources/app-bitcoin"]
path = scripts/ledger/resources/app-bitcoin
url = https://github.com/LedgerHQ/app-bitcoin-new.git
[submodule "scripts/ledger/resources/app-ethereum"]
path = scripts/ledger/resources/app-ethereum
url = https://github.com/LedgerHQ/app-ethereum.git
[submodule "scripts/ledger/resources/app-solana"]
path = scripts/ledger/resources/app-solana
url = https://github.com/LedgerHQ/app-solana.git
[submodule "scripts/ledger/resources/speculos"]
path = scripts/ledger/resources/speculos
url = https://github.com/LedgerHQ/speculos.git
[submodule "scripts/trezor/resources/trezor-user-env"]
path = scripts/trezor/resources/trezor-user-env
url = https://github.com/trezor/trezor-user-env.git
[submodule "contracts/ethereum/scripts/resources/ssv-network"]
path = contracts/ethereum/scripts/resources/ssv-network
url = https://github.com/bloxapp/ssv-network.git
branch = contract-v3
[submodule "contracts/ethereum/lib/forge-std"]
path = contracts/ethereum/lib/forge-std
url = https://github.com/foundry-rs/forge-std
[submodule "services/oracle/scripts/resources/rockx-dkg-cli"]
path = services/oracle/scripts/resources/rockx-dkg-cli
url = https://github.com/RockX-SG/rockx-dkg-cli.git
branch = main
[submodule "contracts/ethereum/lib/ssv-network"]
path = contracts/ethereum/lib/ssv-network
url = https://github.com/bloxapp/ssv-network.git
branch = jato-v2
[submodule "services/oracle/lib/dkg"]
path = services/oracle/lib/dkg
url = https://github.com/consensusnetworks/ssv-dkg.git
branch = feature/operator-env
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,5 @@
"typescript"
],
"css.lint.unknownAtRules": "ignore",
"jupyter.notebookFileRoot": "${fileDirname}",
"volar.inlayHints.eventArgumentInInlineHandlers": false
}
21 changes: 5 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<img width="50px" alt="Casimir logo" src="common/images/casimir.png">
<img width="50px" alt="Casimir logo" src="casimir.png">

# Casimir

Expand Down Expand Up @@ -41,15 +41,11 @@ Configure the following prerequisite global dependency versions.

1. [Docker (v24.x)](https://docs.docker.com/engine/install/).

2. [Git (v2.x)](https://git-scm.com/downloads)
2. [Go (v1.18.x)](https://golang.org/doc/install).

> 🚩 GitHub submodule support: You also need to make sure to have at least one SSH authentication key on your GitHub account (for the git cloning of submodules in various scripts). See [Adding a new SSH key to your GitHub account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account).
3. [Node.js (v18.x)](https://nodejs.org/en/download/).

3. [Go (v1.18.x)](https://golang.org/doc/install).

4. [Node.js (v18.x)](https://nodejs.org/en/download/).

5. [Optional: AWS CLI (v2.x)](https://aws.amazon.com/cli/)
4. [Optional: AWS CLI (v2.x)](https://aws.amazon.com/cli/)

> 🚩 **Consensus Networks team only**: Create an [AWS profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) named `consensus-networks-dev`.

Expand Down Expand Up @@ -125,17 +121,12 @@ echo "USE_SECRETS=false" > .env
| `ETHEREUM_RPC_URL` | Ethereum RPC network URL | `http://127.0.0.1:8545` |
| `NETWORK` | Network name (`mainnet || testnet || hardhat || localhost`) | `localhost` |
| `FORK` | Fork network name (`mainnet || testnet || hardhat`) | `testnet` |
| `MANAGER_ADDRESS` | Manager contract address | (predicted manager address) |
| `VIEWS_ADDRESS` | Views contract address | (predicted views address) |
| `FACTORY_ADDRESS` | Base factory contract address | (predicted factory address) |
| `CRYPTO_COMPARE_API_KEY` | CryptoCompare API key | `` |
| `TUNNEL` | Whether to tunnel local network RPC URLs (for remote wallets) | `false` |
| `EMULATE` | Whether to emulate wallets | `false` |
| `LEDGER_APP` | Ledger app name | `ethereum` |
| `MOCK_SERVICES` | Whether to mock backend services | `true` |
| `BUILD_PREVIEW` | Whether to preview web app production build | `false` |

> 🚩 While running the Ledger Speculos emulator on MacOS (with EMULATORS=true), if you get a surprising error that port 5000 is in use, go to  > System Preferences... > Sharing and uncheck Airplay Receiver.

### Apps

The apps packages provide a UI to end-users.
Expand Down Expand Up @@ -192,8 +183,6 @@ The common packages provide shared code for the project:

- [@casimir/aws](common/aws): AWS helpers
- [@casimir/data](common/data): data schemas and operational workflows
- [@casimir/helpers](common/helpers): general utilities
- [@casimir/speculos](common/speculos): Ledger emulator helpers
- [@casimir/ssv](common/ssv): SSV helpers
- [@casimir/types](common/types): shared types
- [@casimir/uniswap](common/uniswap): Uniswap helpers
Expand Down
2 changes: 2 additions & 0 deletions apps/docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cache
dist
61 changes: 61 additions & 0 deletions apps/docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import { withMermaid } from 'vitepress-plugin-mermaid'

// https://vitepress.dev/reference/site-config
export default withMermaid({
title: "Casimir Docs",
head: [['link', { rel: 'icon', href: '/favicon.ico' }]],
rewrites: {
'index.md': 'introduction/what-is-casimir.md',
},
cleanUrls: true,
markdown: {
math: true
},
srcDir: 'src',
outDir: './dist',
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
logo: '/casimir.svg',
search: {
provider: 'local'
},
sidebar: [
{
text: 'Introduction',
base: '/introduction',
items: [
{ text: 'What is Casimir?', link: '/what-is-casimir' },
{ text: 'Architecture', link: '/architecture' }
]
},
{
text: 'Guide',
base: '/guide',
items: [
{ text: 'Accounts', link: '/accounts' },
{ text: 'Staking', link: '/staking' },
{ text: 'Operating', link: '/operating' }
]
},
{
text: 'Reference',
base: '/reference',
items: [
{ text: 'Contract Addresses', link: '/contract-addresses' },
{ text: 'Solidity API', link: '/solidity-api' }
]
},
{
text: 'Troubleshooting',
base: '/troubleshooting',
items: [
{ text: 'Operator Issues', link: '/operator-issues' },
{ text: 'Wallet Issues', link: '/wallet-issues' }
]
}
],
socialLinks: [
{ icon: 'github', link: 'https://github.com/consensusnetworks/casimir' }
]
}
})
1 change: 1 addition & 0 deletions apps/docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# @casimir/docs
20 changes: 20 additions & 0 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "@casimir/docs",
"private": "true",
"scripts": {
"dev": "npx vitepress dev",
"docgen": "npx esno -r dotenv/config ./scripts/docgen.ts",
"build": "npx vitepress build",
"preview": "npx vitepress preview",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"@types/node": "^17.0.38",
"dotenv": "^16.3.1",
"esno": "0.17.0",
"markdown-it-mathjax3": "^4.3.2",
"mermaid": "^10.5.1",
"vitepress": "^1.0.0-rc.23",
"vitepress-plugin-mermaid": "^2.0.15"
}
}
7 changes: 7 additions & 0 deletions apps/docs/scripts/docgen.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { run } from '@casimir/shell'

void async function () {
const outputDir = `${process.cwd()}/src/reference`
const templateDir = `${process.cwd()}/templates/solidity`
await run(`DOCS_OUTPUT_DIR=${outputDir} DOCS_TEMPLATE_DIR=${templateDir} npm run docgen --workspace @casimir/ethereum`)
}()
5 changes: 5 additions & 0 deletions apps/docs/src/guide/accounts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
::: warning
🚧 This page is incomplete.
:::

# Accounts
7 changes: 7 additions & 0 deletions apps/docs/src/guide/operating.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
::: warning
🚧 This page is incomplete.
:::

# Operating

Operators owners will need to [set up an SSV node with RockX](https://github.com/consensusnetworks/ssv-dkg) and register with Casimir. The operators page in the Casimir app guides an owner through the process and provides an easy interface for registration and operator management.
7 changes: 7 additions & 0 deletions apps/docs/src/guide/staking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
::: warning
🚧 This page is incomplete.
:::

# Staking

Users can deposit any amount of ETH to the manager contract. Their deposits are staked to validators run by SSV operators (see [Operators](#operators)). Rewards are auto-compounded into stake and users can withdraw their principal plus any earned proportion of new stake (or a partial amount of their choice) at any time.
17 changes: 17 additions & 0 deletions apps/docs/src/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
::: warning
🚧 This page is incomplete.
:::

# What is Casimir?

Casimir is a platform... TODO

## Casimir Ethereum Staking

Currlently stakers either need to solo-stake (and have least 32 Ether), or they need to pool their assets in a liquid staking protocol (LSD). While the former choice is a reliably secure choice for Ether holders (if they have solid infrastructure), the latter, LSDs, often present an inherent counterparty risk to the user because of their centralized control of staking node operators (see [The Risks of LSD](https://notes.ethereum.org/@djrtwo/risks-of-lsd)).

Casimir is designed to offer users the experience and security of solo-staking while pooling their assets. The Casimir contracts seamlessly connect stakers with any amount of Ether to a permissionless registry of high-performing node operators. Casimir aims to minimize counterparty risk for users and improve decentralization in Ethereum staking:

- Validators duties are performed by registered (collateralized) operators running distributed validator technology (DVT)
- Keys are created and reshared using distributed key generation (DKG)
- Balance and status reports are reported by a decentralized oracle network (DON)
Loading
Loading