├── .nvmrc ├── src ├── assets │ ├── .gitkeep │ └── images │ │ ├── dots.png │ │ ├── launchpad.png │ │ ├── sidebar-eth.png │ │ ├── initialize │ │ └── PrysmStripe.png │ │ ├── ethereum.svg │ │ └── skeletons │ │ ├── info_box.svg │ │ └── chart.svg ├── _redirects ├── app │ ├── modules │ │ ├── wallet │ │ │ ├── pages │ │ │ │ ├── account-backup │ │ │ │ │ ├── account-backup.component.scss │ │ │ │ │ └── account-backup.component.html │ │ │ │ ├── account-voluntary-exit │ │ │ │ │ └── account-voluntary-exit.component.scss │ │ │ │ ├── import │ │ │ │ │ └── import.component.html │ │ │ │ ├── wallet-details │ │ │ │ │ ├── wallet-details.component.html │ │ │ │ │ └── wallet-details.component.ts │ │ │ │ └── accounts │ │ │ │ │ └── accounts.component.html │ │ │ ├── components │ │ │ │ ├── account-delete │ │ │ │ │ └── account-delete.component.scss │ │ │ │ ├── accounts-form-selection │ │ │ │ │ ├── accounts-form-selection.component.scss │ │ │ │ │ ├── accounts-form-selection.component.html │ │ │ │ │ └── accounts-form-selection.component.spec.ts │ │ │ │ ├── wallet-help │ │ │ │ │ ├── wallet-help.component.html │ │ │ │ │ ├── wallet-help.component.spec.ts │ │ │ │ │ └── wallet-help.component.ts │ │ │ │ ├── icon-trigger-select │ │ │ │ │ ├── icon-trigger-select.component.html │ │ │ │ │ ├── icon-trigger-select.component.ts │ │ │ │ │ └── icon-trigger-select.component.spec.ts │ │ │ │ ├── account-selections │ │ │ │ │ ├── account-selections.component.html │ │ │ │ │ ├── account-selections.component.ts │ │ │ │ │ └── account-selections.component.spec.ts │ │ │ │ ├── files-and-directories │ │ │ │ │ ├── files-and-directories.component.ts │ │ │ │ │ ├── files-and-directories.component.spec.ts │ │ │ │ │ └── files-and-directories.component.html │ │ │ │ ├── wallet-kind │ │ │ │ │ ├── wallet-kind.component.html │ │ │ │ │ ├── wallet-kind.component.spec.ts │ │ │ │ │ └── wallet-kind.component.ts │ │ │ │ ├── accounts-table │ │ │ │ │ └── accounts-table.component.spec.ts │ │ │ │ └── account-actions │ │ │ │ │ ├── account-actions.component.ts │ │ │ │ │ ├── account-actions.component.spec.ts │ │ │ │ │ └── account-actions.component.html │ │ │ └── wallet.component.ts │ │ ├── shared │ │ │ ├── components │ │ │ │ ├── import-dropzone │ │ │ │ │ ├── import-dropzone.component.scss │ │ │ │ │ ├── import-dropzone.component.spec.ts │ │ │ │ │ └── import-dropzone.component.html │ │ │ │ ├── import-protection │ │ │ │ │ ├── import-protection.component.scss │ │ │ │ │ ├── model │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ └── interface 2.ts │ │ │ │ │ ├── import-protection.component.spec.ts │ │ │ │ │ └── import-protection.component.html │ │ │ │ ├── base.component.ts │ │ │ │ ├── create-accounts-form │ │ │ │ │ ├── create-accounts-form.component.ts │ │ │ │ │ └── create-accounts-form.component.html │ │ │ │ ├── breadcrumb │ │ │ │ │ ├── breadcrumb.component.ts │ │ │ │ │ └── breadcrumb.component.html │ │ │ │ ├── password-form │ │ │ │ │ └── password-form.component.ts │ │ │ │ └── import-accounts-form │ │ │ │ │ └── import-accounts-form.component.spec.ts │ │ │ ├── types │ │ │ │ ├── select-list-item.ts │ │ │ │ └── user.ts │ │ │ ├── services │ │ │ │ ├── enums.ts │ │ │ │ ├── extensions.ts │ │ │ │ ├── user.service.spec.ts │ │ │ │ ├── utility.service.spec.ts │ │ │ │ ├── notification.service.spec.ts │ │ │ │ ├── notification.service.ts │ │ │ │ ├── utility.service.ts │ │ │ │ ├── breadcrumb.service.ts │ │ │ │ └── user.service.ts │ │ │ ├── pipes │ │ │ │ ├── balance.pipe.ts │ │ │ │ ├── pretty-json.pipe.ts │ │ │ │ ├── format-slot.pipe.ts │ │ │ │ ├── format-slot.pipe.spec.ts │ │ │ │ ├── format-epoch.pipe.ts │ │ │ │ ├── ordinal.pipe.ts │ │ │ │ ├── filename.pipe.spec.ts │ │ │ │ ├── ordinal.pipe.spec.ts │ │ │ │ └── filename.pipe.ts │ │ │ ├── loading │ │ │ │ ├── loading.component.html │ │ │ │ ├── loading.component.spec.ts │ │ │ │ └── loading.component.ts │ │ │ └── directives │ │ │ │ └── external-link.directive.ts │ │ ├── onboarding │ │ │ ├── pages │ │ │ │ └── wallet-recover-wizard │ │ │ │ │ ├── wallet-recover-wizard.component.scss │ │ │ │ │ └── templates │ │ │ │ │ └── mnemonic-form │ │ │ │ │ ├── mnemonic-form.component.scss │ │ │ │ │ └── mnemonic-form.component.spec.ts │ │ │ ├── types │ │ │ │ └── wallet.ts │ │ │ ├── components │ │ │ │ ├── generate-mnemonic │ │ │ │ │ ├── generate-mnemonic.component.ts │ │ │ │ │ ├── generate-mnemonic.component.html │ │ │ │ │ └── generate-mnemonic.component.spec.ts │ │ │ │ ├── wallet-directory-form │ │ │ │ │ ├── wallet-directory-form.component.ts │ │ │ │ │ ├── wallet-directory-form.component.html │ │ │ │ │ └── wallet-directory-form.component.spec.ts │ │ │ │ ├── choose-wallet-kind │ │ │ │ │ ├── choose-wallet-kind.component.ts │ │ │ │ │ └── choose-wallet-kind.component.html │ │ │ │ └── confirm-mnemonic │ │ │ │ │ ├── confirm-mnemonic.component.ts │ │ │ │ │ └── confirm-mnemonic.component.html │ │ │ ├── directives │ │ │ │ └── block-copy-paste.directive.ts │ │ │ ├── onboarding.component.html │ │ │ ├── validators │ │ │ │ └── utility.validator.ts │ │ │ └── onboarding.component.spec.ts │ │ ├── system-process │ │ │ ├── components │ │ │ │ ├── pie-chart │ │ │ │ │ ├── pie-chart.component.html │ │ │ │ │ └── pie-chart.component.ts │ │ │ │ ├── balances-chart │ │ │ │ │ └── balances-chart.component.html │ │ │ │ ├── double-bar-chart │ │ │ │ │ ├── double-bar-chart.component.html │ │ │ │ │ └── double-bar-chart.component.ts │ │ │ │ ├── proposed-missed-chart │ │ │ │ │ └── proposed-missed-chart.component.html │ │ │ │ └── logs-stream │ │ │ │ │ ├── logs-stream.component.html │ │ │ │ │ ├── logs-stream.component.spec.ts │ │ │ │ │ └── logs-stream.component.ts │ │ │ ├── pages │ │ │ │ ├── peer-locations-map │ │ │ │ │ ├── peer-locations-map.component.html │ │ │ │ │ └── peer-locations-map.component.spec.ts │ │ │ │ ├── metrics │ │ │ │ │ ├── metrics.component.ts │ │ │ │ │ └── metrics.component.spec.ts │ │ │ │ └── logs │ │ │ │ │ ├── logs.component.spec.ts │ │ │ │ │ └── logs.component.html │ │ │ └── system-process.module.ts │ │ ├── core │ │ │ ├── components │ │ │ │ ├── global-dialog │ │ │ │ │ ├── model │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── interfaces.ts │ │ │ │ │ ├── global-dialog.service.ts │ │ │ │ │ ├── global-dialog.component.ts │ │ │ │ │ └── global-dialog.component.html │ │ │ │ └── loading-overlay │ │ │ │ │ └── loading-overlay.component.html │ │ │ ├── utils │ │ │ │ ├── intersect.ts │ │ │ │ ├── range.ts │ │ │ │ ├── deep-freeze.ts │ │ │ │ ├── simple-store.ts │ │ │ │ ├── range.spec.ts │ │ │ │ ├── select$.ts │ │ │ │ ├── select$.spec.ts │ │ │ │ ├── intersect.spec.ts │ │ │ │ └── simple-store.spec.ts │ │ │ ├── services │ │ │ │ ├── environmenter.service.ts │ │ │ │ ├── events.service.ts │ │ │ │ ├── events.service.spec.ts │ │ │ │ ├── logs.service.spec.ts │ │ │ │ ├── beacon-node.service.spec.ts │ │ │ │ ├── geo-locator.service.spec.ts │ │ │ │ ├── geo-locator.service.ts │ │ │ │ ├── logs.service.ts │ │ │ │ └── validator.service.spec.ts │ │ │ ├── constants.ts │ │ │ ├── interceptors │ │ │ │ ├── mock.interceptor.spec.ts │ │ │ │ └── jwt.interceptor.ts │ │ │ ├── core.module.ts │ │ │ └── validators │ │ │ │ └── password.validator.ts │ │ ├── dashboard │ │ │ ├── components │ │ │ │ ├── latest-gist-feature │ │ │ │ │ ├── templates │ │ │ │ │ │ └── git-info │ │ │ │ │ │ │ ├── git-info.component.scss │ │ │ │ │ │ │ ├── git-info.component.spec.ts │ │ │ │ │ │ │ ├── git-info.component.ts │ │ │ │ │ │ │ └── git-info.component.html │ │ │ │ │ ├── latest-gist-feature.component.scss │ │ │ │ │ ├── latest-gist-feature.component.spec.ts │ │ │ │ │ ├── latest-gist-feature.component.ts │ │ │ │ │ └── latest-gist-feature.component.html │ │ │ │ ├── version │ │ │ │ │ ├── version.component.html │ │ │ │ │ ├── version.component.ts │ │ │ │ │ └── version.component.spec.ts │ │ │ │ ├── sidebar │ │ │ │ │ ├── sidebar.component.ts │ │ │ │ │ └── sidebar.component.spec.ts │ │ │ │ ├── sidebar-expandable-link │ │ │ │ │ ├── sidebar-expandable-link.component.ts │ │ │ │ │ ├── sidebar-expandable-link.component.spec.ts │ │ │ │ │ └── sidebar-expandable-link.component.html │ │ │ │ └── beacon-node-status │ │ │ │ │ └── beacon-node-status.component.ts │ │ │ ├── types │ │ │ │ ├── sidebar-link.ts │ │ │ │ └── git-response.ts │ │ │ ├── pages │ │ │ │ └── gains-and-losses │ │ │ │ │ ├── gains-and-losses.component.ts │ │ │ │ │ └── gains-and-losses.component.html │ │ │ ├── dashboard.component.html │ │ │ ├── dashboard.component.spec.ts │ │ │ └── dashboard.module.ts │ │ └── auth │ │ │ ├── error_pages │ │ │ ├── notfound.component.ts │ │ │ └── notfound.component.html │ │ │ ├── auth.module.ts │ │ │ ├── services │ │ │ ├── authentication.service.spec.ts │ │ │ └── authentication.service.ts │ │ │ ├── guards │ │ │ └── auth.guard.ts │ │ │ └── initialize │ │ │ └── initialize.component.ts │ ├── proto │ │ └── validator │ │ │ └── accounts │ │ │ └── v2 │ │ │ └── web_api_keymanager-api.ts │ ├── app.component.spec.ts │ ├── app.component.html │ ├── app.module.ts │ └── app.component.ts ├── styles │ ├── layouts │ │ ├── _footer.scss │ │ ├── _index.scss │ │ ├── _layout.scss │ │ └── _table.scss │ ├── tailwind.scss │ ├── views │ │ ├── _notfound.scss │ │ ├── _peer-locations-map.scss │ │ ├── _index.scss │ │ ├── _security.scss │ │ ├── _wallet.scss │ │ └── _sessions.scss │ ├── utilities │ │ ├── _functions.scss │ │ ├── _shadow.scss │ │ ├── _utilities.scss │ │ ├── _common.scss │ │ └── _animations.scss │ ├── components │ │ ├── _index.scss │ │ ├── _loader.scss │ │ ├── _loading.component.scss │ │ └── _pulsating.scss │ ├── _mixins.scss │ └── app.scss ├── favicon.ico ├── environments │ ├── environment.prod.ts │ ├── environment.staging.ts │ ├── token.ts │ └── environment.ts ├── main.ts ├── index.html └── test.ts ├── .dockerignore ├── e2e ├── src │ ├── gains │ │ ├── gains.e2e-specs.ts │ │ └── gains.po.ts │ ├── app.po.ts │ └── app.e2e-spec.ts ├── tsconfig.json └── protractor.conf.js ├── SECURITY.md ├── scripts ├── update-ts-pbs.sh └── common.sh ├── .editorconfig ├── CHANGELOG.md ├── tsconfig.app.json ├── tsconfig.spec.json ├── Dockerfile ├── tailwind.config.js ├── tsconfig.json ├── ng-tailwind.js ├── .gitignore ├── .browserslistrc ├── .eslintrc.json ├── .github ├── workflows │ └── node.js.yml └── PULL_REQUEST_TEMPLATE.md ├── third_party └── leaflet │ └── leaflet.ts └── karma.conf.js /.nvmrc: -------------------------------------------------------------------------------- 1 | 14 2 | -------------------------------------------------------------------------------- /src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 2 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | node_modules 3 | -------------------------------------------------------------------------------- /src/app/modules/wallet/pages/account-backup/account-backup.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/modules/wallet/components/account-delete/account-delete.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/modules/shared/components/import-dropzone/import-dropzone.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/styles/layouts/_footer.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | min-height: $topbar-height; 3 | } -------------------------------------------------------------------------------- /e2e/src/gains/gains.e2e-specs.ts: -------------------------------------------------------------------------------- 1 | import {GainsPage} from './gains.po'; 2 | 3 | // TODO 4 | -------------------------------------------------------------------------------- /src/app/modules/onboarding/pages/wallet-recover-wizard/wallet-recover-wizard.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OffchainLabs/prysm-web-ui/HEAD/src/favicon.ico -------------------------------------------------------------------------------- /src/styles/tailwind.scss: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | 3 | @tailwind components; 4 | 5 | @tailwind utilities; -------------------------------------------------------------------------------- /src/styles/views/_notfound.scss: -------------------------------------------------------------------------------- 1 | .notfound { 2 | margin: 0 auto; 3 | text-align: center; 4 | } -------------------------------------------------------------------------------- /src/app/modules/onboarding/pages/wallet-recover-wizard/templates/mnemonic-form/mnemonic-form.component.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/dots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OffchainLabs/prysm-web-ui/HEAD/src/assets/images/dots.png -------------------------------------------------------------------------------- /src/app/modules/system-process/components/pie-chart/pie-chart.component.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /src/styles/layouts/_index.scss: -------------------------------------------------------------------------------- 1 | @import "layout"; 2 | @import "sidenav"; 3 | @import "footer"; 4 | @import "table"; 5 | -------------------------------------------------------------------------------- /src/assets/images/launchpad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OffchainLabs/prysm-web-ui/HEAD/src/assets/images/launchpad.png -------------------------------------------------------------------------------- /src/styles/utilities/_functions.scss: -------------------------------------------------------------------------------- 1 | @function bezier() { 2 | @return cubic-bezier(0.17, 0.67, 0.83, 0.67); 3 | } 4 | -------------------------------------------------------------------------------- /src/app/modules/system-process/components/balances-chart/balances-chart.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/sidebar-eth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OffchainLabs/prysm-web-ui/HEAD/src/assets/images/sidebar-eth.png -------------------------------------------------------------------------------- /src/app/modules/shared/types/select-list-item.ts: -------------------------------------------------------------------------------- 1 | export interface ISelectListItem { 2 | text: string; 3 | value: any; 4 | } 5 | -------------------------------------------------------------------------------- /src/app/modules/system-process/components/double-bar-chart/double-bar-chart.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/modules/system-process/pages/peer-locations-map/peer-locations-map.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/modules/system-process/components/proposed-missed-chart/proposed-missed-chart.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/modules/wallet/components/accounts-form-selection/accounts-form-selection.component.scss: -------------------------------------------------------------------------------- 1 | .example-viewport { 2 | height: 300px; 3 | } -------------------------------------------------------------------------------- /src/app/modules/wallet/pages/account-voluntary-exit/account-voluntary-exit.component.scss: -------------------------------------------------------------------------------- 1 | .example-viewport { 2 | height: 300px; 3 | } 4 | -------------------------------------------------------------------------------- /src/styles/utilities/_shadow.scss: -------------------------------------------------------------------------------- 1 | @for $i from 0 through 24 { 2 | .elevation-z#{$i} { 3 | box-shadow: var(--elevation-z#{$i}); 4 | } 5 | } -------------------------------------------------------------------------------- /src/assets/images/initialize/PrysmStripe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OffchainLabs/prysm-web-ui/HEAD/src/assets/images/initialize/PrysmStripe.png -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | Please see the [Prysm Security Policy](https://github.com/prysmaticlabs/prysm/security/policy) for more information. 4 | -------------------------------------------------------------------------------- /src/styles/components/_index.scss: -------------------------------------------------------------------------------- 1 | @import "./loader.scss"; 2 | @import "./loading.component.scss"; 3 | @import "./pulsating.scss"; 4 | @import "./shapes.scss"; 5 | -------------------------------------------------------------------------------- /src/styles/utilities/_utilities.scss: -------------------------------------------------------------------------------- 1 | @import "../mixins"; 2 | @import "./functions"; 3 | @import "./animations"; 4 | @import "./shadow"; 5 | @import "./common"; 6 | -------------------------------------------------------------------------------- /src/styles/views/_peer-locations-map.scss: -------------------------------------------------------------------------------- 1 | #peer-locations-map { 2 | position: absolute; 3 | top: 0; 4 | height: calc(100% - 64px); 5 | right: 0; 6 | left: 0; 7 | } 8 | -------------------------------------------------------------------------------- /src/app/modules/core/components/global-dialog/model/types.ts: -------------------------------------------------------------------------------- 1 | export enum DialogContentAlertType { 2 | ERROR = 'ERROR', 3 | WARNING = 'WARNING', 4 | INFO = 'INFO' 5 | } 6 | -------------------------------------------------------------------------------- /scripts/update-ts-pbs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | . $(dirname "$0")/common.sh 3 | 4 | protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=./src/app/proto -Ithird_party -I$1 $2 -------------------------------------------------------------------------------- /src/app/modules/core/utils/intersect.ts: -------------------------------------------------------------------------------- 1 | export default function intersectoops... we can't find the page you were looking for.
5 |9 |
10 |{{GitInfo.body|slice:0:400}}
13 | 7 | YOUR WALLET KIND 8 |
9 |13 | {{info[kind].description}} 14 |
15 |24 | Please wait whie we retrieve the information 25 |
26 |8 | Information about your current wallet and its configuration options 9 |
10 |22 | {{selection.name}} 23 |
24 |25 | {{selection.description}} 26 |
27 |28 | 33 | 37 |
38 |4 | {{content}} 5 |
6 |
7 | For more information and common error solutions, you can look at our Documentation for the web-ui
8 | or create an issue on Github
9 |
{{alert.message}}
23 |{{alert.message | json}}
24 | 8 | Full list of all validating public keys managed by your Prysm wallet 9 |
10 |12 | Manage your Prysm validator and beacon node, analyze your 13 | validator performance, and control your wallet all from a simple 14 | web interface 15 |
16 |8 | Stream of logs from both the beacon node and validator client 9 |
10 |