validator-hacking
18 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3dc94223ae |
Bug mapp nodemap (#897)
* desktop onMouseEnter and leave handlers added * clicking nav option closes drawer * All AC met * removed dead bool * added hamburger to AppBar for mobile users small refactor * nuts and bolts working needs a lot of tidying though * Functionally complete. * change hardcode colors to theming * UI theme and border changes * bug fix removed collapse nav flicker * dead code * resetting drawer to closed onload * removal of hardcoded color * made null functions into optional props * Nested sx styling not global * paperprops now working * fixed breaking changes for DataGrid * linting fix * linting fix * optional chaining for nodemap search * leaner filter func Co-authored-by: Aid Thompson <adrian@nymtech.net> |
||
|
|
50cd18a926 |
Add a Mobile Nav to the Network Explorer (#895)
* desktop onMouseEnter and leave handlers added * clicking nav option closes drawer * All AC met * removed dead bool * added hamburger to AppBar for mobile users small refactor * nuts and bolts working needs a lot of tidying though * Functionally complete. * change hardcode colors to theming * UI theme and border changes * bug fix removed collapse nav flicker * dead code * resetting drawer to closed onload * removal of hardcoded color * made null functions into optional props * Nested sx styling not global * paperprops now working * fixed breaking changes for DataGrid * linting fix * linting fix Co-authored-by: Aid Thompson <adrian@nymtech.net> |
||
|
|
897d51cba0 |
Change MixnodeDetail page's datagrid into a reuseable table component (#887)
* basic table working * broken out into sep component * table is more dynamic now * linting fixes * Added types for Columns * hangover from eslint work moving to diff PR * Changed To DetailTable * Killed unused flex val in Columns * merge conflicts resolved Co-authored-by: Aid Thompson <adrian@nymtech.net> |
||
|
|
1f1d91bd1e |
Adding data-test-ids for the explorer (#885)
* Adding all the data-test-ids Test ID's for doing automation on explorer * Applied lint-fix Linting * More data ids |
||
|
|
5dadd73dfd |
Network Explorer (#881)
* fixed styled component * dynamic colour for isSelected * corrected type names * wrapped nav for routing and positioning of main section and dynamic colour for selected section * overview info panes added * quick refactor break out components separately * WorldMap implemented but not data * map changed and updated to shades correctly * live data in cards * added any types for react simple map * nested routing added but needs tidying and types refactored * added tooltip to worldmap * worldmap killed unused props * updated MUI version to stable v5 * dark mode and ContentCard refactor complete * refactor of DarkMode context and API into class and context setup * context refactor for multiple APIs at top level * mui typography used for error msging instead of jsx/html * added typeDefs for node api types * small changes to sx styling * added types for api responses and main context * promiseAll for better error handling of individual async calls * switch out to live API for country nodes * removal of unnecessary type any and shortening sx style block * routing and basic mixnodes table and linking * fixed TS error handling and ts exclude files * refactor of class API fetch reqs * renaming to more appropriate explorer-api * broken - passing to Fouad * fix for types in context main * mixnode detail page * rebasing back before fetch mixnode by ID was implemented * added basic cache for huge dump of mixnode data * broken mixnodes context * fixed mixnode detail fetch * added hardcoded BondBreakdown section * added 2 col table for detail page and small refactor of ApiState type for consistent use throughout app * basic chart with basic dark/theme implemented - no live data * added scrollToTop useRef for Detail page * tidied grid items * media qry for smaller screens * small changes * added live data to bonds breakdown 1/2 * small changes/tweaks * Bondbreakdown retrieves live data * mixnode stats using live data * added node status live data * uptime story added with live data * date formatting added * mixnode map * error handling for mixnode stats * error handling for port stats * improved error handling for table - unfinished * error handling for mixnode table * handle Loading state for 2colSmallTable * Uptime story loading handling * set up data grid component * remove mixnode value check as handled inside MixnodesDataGrid component * use loading prop in data grid component * undo unintentional code formatting * map blur and linkable data-grid added * getting ready for gateways and removing con logs * quickfix for map blur * PR comment changes * refactored data grid for reuseability * Link to open Big Dipper for Blocks * passing element to title instead of string for routing to Big Dipper * quick fix for element passed as title for contentCard * fix for colour coding nodes * nuts and bolts of search and results per page are working * media query for responsive search and no-per-page toolbar * broke out search and pagesize to separate toolbar * fix for going back to mixnodes datagrid and refetching * corrected typings for WorldMap * removed API for topojson * Cleaner implementation of formatting inline for datagrid * added Type to Datagrid Rows for mixnode * removed optional from type for Datagrid * added page listing the Gateway nodes * adding clickable location to handleSearch * tidying util functions and removing dead useEffect * Add missing constant * Validators link to Big Dipper * added validators link to side nav as per Issues card * SVG icons * PR tweak to move logic to routes * removed dead code post rebase * fixed light dark mode for DataGrid * light dark mode works on SVGs in Nav * moving logic back to Nav to avoid window object issues * neater ternary for SVG icons dark mode * Better Linking/Styling for cells * corrected prop/attr name in svg to Reactify it * moved api url to constants * SVGs dark now governed by context not props so reverting renderIcon method back to key value setup * percentage for bond total added * SVGs for Overview cards Mixnodes Gateways and Validators * decimalised formatted punks and % of bond for BondBreakdown card * number formatting via validator module * adding cossmjs math pkg * unfinished refactor BondBreakdown * first few ui tweaks * Adding google font Open Sans as per designs * DataGrid unstylable in theme so nuking in css * adding theming to Block Height card not hardcoded colours * DataGrid styling * Nav styling colours but without hover fix * theme for bond breakdown * killing con logs * Datagrid styling * Nav bar working * added lines to nav * removed cursive from fallback fonts * trimming and refactoring * removed dead isActive code from nav options * Color correction for theme on 2col table * Moved cell styles out to UniversalDatagrid for reuseability * Nav colors moved to theme * Removing comments and dead code * DataGrid UI improvements * theming for Overview content card * Bonds updated from UPUNK to PUNK * corrected SVG warning on stroke-width * added Boolean class instead of ternary * fixing up svg attr to jsx props * merging UPUNK changes into ui-tweaks * corrected SVG warning on stroke-width * added Boolean class instead of ternary * last instance of Boolean * BondBreakdown handles 0 delegations * formatting for webpack config and svgs * Add `npm run lint` and `npm run lint:fix` targets to `package.json` * Allow `.vscode` directories - exclude them individually like has been done already in the `.gitignore` directory * Add `vscode` action to run `eslint` on save for the `/explorer/**` sub-directory * eslint auto fix * Fix some easy eslint issues * removing grid pipes and pastel map colors * Grid xl lg values to align with Search Toolbar * GitHub Actions: do not trigger Rust actions when the paths are only `/explorer/**` See https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths for details. * GitHub Actions: run eslint and annotate pull requests * socials added to Appbar and Footer * smaller darkmode icon for mobile * cleaner code for nav dark light selector * almost all lint fixes * post linting Nav fix * killed con log and removed unused dep * ref type and removed 1x ts ignore from worldMap * disabl nested tern w/ nav is refactored on diff br * icons smaller put into mui List format * Added hover effect to match DarkLight switch * ts ignore for worldMap vs no ts decl * parking changes * Flipped to MUI SVGs * re-added external links to Socials * nav functionality working * spacing on Mixnode detail page * datagrid alignment & detail page spacing * map but no datagrid yet * killed old SVGs now using mui icons * added palette instead of strings * Mixnode Map page working still needs tidying * better lg xl responsive on Overview and sanitized Page Titles * removed typography from imports as unused now * search, sort working & added LG XL responsiveness * Routing root reqs direct to Overview * basic 404 page and btn back to overview * killed fragments and comments * updated Bond total in column * Change bond col to type number not text * Added field to DataGrid and updated MixnodeToGridrow logic * Added type number so sorting works properly. * added %self to Detail page * basic scroll working desktop * delegations now popout and scroll according to designs * added stickyHeader and killed dead code * ExpandMore only renders if delegations exist * killed old svg icons * added theme to Overview SVGs * bringing Title into other pages * linting fix * pagination and spacing of gateways cols * linting fix * style override for pagination * added hamburger and changed appbar to fixed * bringing in other lint fix to pass linting * PR feedback changes * Add README.md for theme customisation * Add hook to get app state context * Add Nym theme typings to MUI `Theme` types * Use new theme provider * Fixing up components to use theme typings Updated Overview Footer and ContentCard Footer and Nav socials Title, Nav chevron and Nav SVGs Overview SVGs Light Dark switch BondBreakdown and 2 col table DataGrid and 2col Tables WorldMap UptimeChart and theme changes WorldMap colors merge changes added StatsCard for overview * Bug fix: do no close drawer when clicking on mixnodes or gateways * Theme primary colour set to orange highlight, so that default/primary actions are clear to the user. This fixes colours on the pagination page list. * Fixing up map projection * Map view uses stroke colour from theme * added useTheme from correct pkg * react types upgrade to kill SXProps issue * SXProps fix removing dead mixins from fixed AppBar * Scale of Map changed to see more countries * return type for main Context required * Fixed map so more countries show * type for useMainContext hook added * Remove unused file * Tidy up imports * Remove use of `any` by using strongly typed hook to get the app state * Remove module declaration so that @types/react-simple-maps is used * API map response changed to indexed object * Map view uses correct typings from `@types/react-simple-maps` and `d3-scale` * Make content responsive and fills the view when screen widest * Link network explorer in title to overview page * Increase size of card headers to differentiate * Fix column widths * Fixed icons showing incorrectly the stats card in mixnode detail view * Set default sort on mixnodes and gateways to be `bond` descending. There is an error in MUI data-grid that does not adjust the sort caret based on initial `sortModel` value. Needs investigation. * GitHub Action for deployment: prefix with network explorer to stop collisions with other deployment projects * Mixnode list: fix up header title for `host` * Fix up notification URLs and tidy up readme * Fix up license information Co-authored-by: Adrian Thompson <adrian@nymtech.net> Co-authored-by: Adrian Thompson <adrianthompson@Adrians-MacBook-Air.local> Co-authored-by: fmtabbara <fmtabbara@hotmail.co.uk> Co-authored-by: Aid19801 <adrianThompson19801@gmail.com> |
||
|
|
e470ac4b0f | Removing the ancient explorer in preparation for a new dawn. (#645) | ||
|
|
af8360f363 | Updated old 0.9.2 versions to 0.10.0 | ||
|
|
596bc76cc6 |
Chore/dependency updates (#549)
* Updated all non-breaking dependencies * Updated common/crypto dependencies * Updated all tokio [and associated] dependencies to most recent version * Bumped version of rand_distr * Fixed api changes in tests * Made clippy happier about the acronym * Fixed the type while trying to make clippy even happier * nightly cargo fmt |
||
|
|
d03af9de05 | Merge branch 'develop' of https://github.com/lnceballosz/nym into lnceballosz-develop | ||
|
|
131574cd3c | Fix typos (#492) | ||
|
|
6b37a9b95c | display 0 on no validators rather than crash (#488) | ||
|
|
67ac1d9f4b | adding license and copyright headers | ||
|
|
46d3591a4f |
Bugfix/explorer fixes (#477)
* Using original std::thread::spawn * websocket client reconnection upon broken metrics |
||
|
|
5fc81db0d9 |
Feature/removed topology (#481)
* Explorer also downloading 'active' and 'removed' topologies * Updated dashboard with new standby and removed nodes * Additional cleanup + restored commented code |
||
|
|
afb7825135 |
Feature/0.9.2+only monitoring (#475)
* Not testing or informing validator about pre 0.9.2 nodes * Corrected version check * Updated JS file to monitor 0.9.2+ nodes * Restored updates every minute |
||
|
|
c2a1ed855b |
Release/v0.9.2 (#474)
* Updated version numbers * Updated changelog |
||
|
|
e3e633fce4 | temporarily disabled mixnode status dot (#454) | ||
|
|
2fa5c3c3b7 |
Release/v0.9.0 (#453)
* Feature/wasm update (#341) * Split text and binary client apis * Very initial attempt at new serialization * Defined ser+de for Recipient and ReplySURB * Response errors * builds with changes * Working WS API + moved to separate crate * updated python examples * Fixed parsing bug * Updated go examples * Updated rust examples * formatting * Removed unused imports * dependency updates * Further dependency changes * nymsphinx exposingn framing only if not in wasm32 * Cargo lock changes before develop merge * Pending work * Actually sending and receiving websocket from rust! * more WIP * Initial wasm client + establishing shared key with gateway! * Splitting and sending a message! * WIP * WIP * Initial wasm-ification of the gateway client * Passing reconstruction result to js callback! * Initial WASM cleaning pass * Dependency pruning * Moved processing loop to received_processor + at least ack unwrappingn * Post merge fix * Kinda updated react example * Old print statement removed * Removed yarn.lock * Fixed building issue for other clients * Fixed travis test command * Updated wasm publishing instructions * Feature/instant sending (#359) * Ability to set client in vpn mode * Connection handler for mixnode * Initial vpn mode for mixes * Updated SphinxCodec to contain more metadata * Renaming * Removed handle from mixnet client and introduced forwarder * Mixnode using new forwarder * Mixnode common module containing shared packet processing * ibid. incorporated inside mixnode * New processing for gateway * Type cleanup * Wasm fix * Fixed client config * Fixed mixnode runtime issues * Formatting * Client re-using secret on 'normal' packets * Using the same key for acks * WIP * vpn key manager cleanup * wasm fix * VPN_KEY_REUSE_LIMIT moved to config * Moved AckDelayQueue to separate common crate * Key cache invalidator * Updated dashmap used in gateway * Old typo * Additional comment * Cargo fmt * Fixed tests * Sphinx update * cache ttl as config option * Cargo fmt * Feature/network monitor (#369) * WIP commit * Further into errors (WIP) * WIP commit, more stuff compiling, but now we switch to sneaky Jedrzej trick * Websocket connections starting to work * WIP * Constructing the socket stream in one go * Nicer connections. Getting topology now works. * Fixing startup message * Injecting directory uri * Injecting good mixndodes * Deleting old healthcheck * Starting to wrap gateway client * Splitting out good topology contstruction * Starting to breathe finally * Fixed layer assignment error * Starting gateway client in a better spot * Cleanup * Renamed construct() to new() * Injected channels, removed websockets * Added a MixnetListener to deal with returned packet traffic * Simplification * Renaming and commenting a few things * Renamed temp variables * Fixed variable names * Made errors a bit more explicit on message reconstruction * Added the mixmining route / object to the directory server client * Recipient is always "me", a bit easier to understand what's going on * Subbing in test nodes works * Using QA directory * Noting which directory server we're using at monitor start * Adding Debug to MixStatus so we can print it more easily * Prettification of startup messages * Notifying directory of successful packet receipt * All nodes now being tested * Now able to do timer-based test runs and detect the last node tested * Renamed mixnet_listener to notifier * Moved message chunking into its own home * Starting to pull out packet sends * Basic functionality working! * Enabled timer runs forever * License notices * Depdendency cleanup * Import cleanup * Moved to implicit tokio runtime * Removed some unnecessary data clones * Fixed monitor doing two runs at startup rather than one * dalek version updates * This should have been split but got carried away * Initial ipv6 support * Don't test outdated nodes * Added network monitor to default workspace members * Actually sending reports * Batch-sending mix status * Cargo fmt * Minor cleanup * Malformed Cargo.lock * Post-merge fixes * Defined constant in main.rs for enabling detailed reporting * Updated package versions of the system * Checking version compatibility on startup Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> * Added sphinx socks to default workspace members (#358) * Feature/version in config (#376) * Added version field to config files * Removed built dependency * Missing non-removed call to built * Corrected version on client-core (#377) * Feature/remove validator (#380) * Replacing Rust validator sketch with Cosmos-based code. * Removing old build instructions * go fmt on generated code * Removing build files for github and pi * Starting transplant surgery * Directory now running in validator, sans metrics * Updating go sum * A partly-working directory startup integrated into the nymcli app. * Removing the Swagger docs header from nymcli, it can live in server.go * Working swagger docs. * Updating test title on Swagger docs * Directory server now integrated into validator (primitive but working) * Noted location of mixmining reports database. * Bumped golang version * Removing validator cargo files. * Moving directory API init method into the nymd module * Ditching a test which is causing tooling problems - presence will go away soon anyway * Removing the validator and merging develop * Update README.md * Update README.md * Feature/upgrade command (#381) * Exposed version parsing from version checker * Ability to upgrade mixnode from 0.8.X to 0.9.0 * Ability to upgrade gateway from 0.8.X to 0.9.0 * Ability to upgrade native client from 0.8.X to 0.9.0 * Ability to upgrade socks5 client from 0.8.X to 0.9.0 * Typo * Minor renaming * Preventing upgrade if current is not a release version * Additional upgrade restrictions * Corrected version bound * Feature/mix ed25519 identity (#388) * Introduced identity keypair to mixnode * Updated upgrade 0.9.0 mix upgrade instructions * Printing failed upgrade notice when it failed * Moved printing upgrade start notice to beginning of function * Feature/double init prevention (#386) * Updated NymConfig trait making id always obligatory. Also added extra default method implementations * Preventing init on mixnodes that were initialised before * Quotes before mix id * Preventing init on gateways that were initialised before * Preventing init on native clients that were initialised before * Preventing init on socks5 clients that were initialised before * Feature/duration cleanup (#391) * Mixnode using Duration for time intervals + human readable config fields for them * Removed old comment * Native client using Duration for time intervals + human readable config fields for them * Socks5 client using Duration for time intervals + human readable config fields for them * Gateway using Duration for time intervals + human readable config fields for them * Config compatibility with 0.8.0 debug values * Fixed previous merge issue * Moving subsidiary functions down below main so we can see where thing start * Feature/fix dependabot alerts (#393) * Fixing a dependabot alert * Fixing npm audit failures in js example for webassembly client * Fixed some more npm audit problems * Explicitly handling base58 key recovery errors (#396) * Fix compiler warnings for unneeded mut (#398) * moved new_v4_with_node to test only section (#392) * moved new_v4_with_node to test only section * cargo fmt * Feature/directory server transition (#401) * Initial changes to validator client API * Updated models * GatewayRegistrationInfo constructor * Change validator topology to convert into NymTopology without failure * Mixnode registering and unregistering presence * Directory -> Validator renamings + adjustments * Updated upgrade command for mixnode * Extracted metrics part of directory client into separate library * Removed no longer needed traits * Integrated new metrics client into mixnode * Introduced the same set of changes to the gateway * Getting active topology in client core via validator client * Updated clients to get correct topology * Introduced mix mining endpoints to validator client * Network monitor using validator client * Removed directory client * Updated wasm client * Temporarily disabled the test * Checking ok status for validator client response * Updated upgrade command for clients * Allowing using old presence directory as new validator endpoint for mixnodes and gateways * Fixed tests in non-default crates * Feature/validator api update (#402) * Updated validator API routes * missing comment * Feature/wasm client fix (#399) * Disabling wasm optimization for the moment, it isn't working on my machine * Updating the React example back to a working state, 0.8.1 npm package is published. * Merging develop into bugfix * Upgrading react-scripts to fix a major vulnerability * Using metrics interval received from server (#403) * Using metrics interval received from server * Test fix * Feature/error on noninit (#404) * More graceful shutdown in case of uninitialised client/node * Performing version check on binary `run` * Feature/no run config flag (#405) * Removed `--config` parameter in `run` commands * Removed old tests that were doing disk IO * Renamed directory arguments to validator (#408) * Feature/max retry (#409) * Maximum number of allowed reconnection attempts * Requiring initial internode connection to be successful * Decreased logging level for failing to establish initial connection * Feature/controlled reinit (#410) * Allowing init with existing id but keeps existing keys * Removed unused imports * Removed debug print statement (#411) * Updated upgrade commands to set new default validator (#413) * Feature/network monitor file topology (#412) * Network monitor loading 'good' topology from files instead * Update .gitignore * Passing address of validator as an argument * Made detailed report const flag into an argument * Flag to start network requester in open proxy mode (#418) * Renamed 'sphinx-socks' to 'network-requester' (#417) * Added option to set incentives address during mix and gateway init (#419) * Updated validator topology (#420) * Bugfix/upgrade fix (#421) * Added default for incentives address when deserializing * Ability to optionally pass incentives address during upgrade * Feature/socks improvements (#423) * Changed AvailableReader from Future to Stream * comment formatting * WIP * Maximum number of bytes read per poll * More detailed socks5 printing * Split up socks5 service provider runner * Fixed closing proxy too soon on one side * Additional log information * Printing connection id in log target * Adjusted some constants * Target field in log * Removed dead code * Decreased logging level * Explicitly seperated 'Send' and 'Connect' request + data buffering * Temporarily commented out test that fails due to not understanding limitations of tokio test io builder * Fixed socks5 tests * Starting cover traffic stream under correct condition (#422) * Fixed bunch of clippy warnings (#427) * Updated default sending rates (#430) * Feature/explorer (#431) * Initial commit of the new dashboard code. * Periodically grabbing topology json * Pulling file saving out into its own module * Ignoring downloaded topology file * Moved everything public into a public folder * Refreshing the mixmining report * Mounting static files from /public * Including mixminiming report grabber * Leaving the route in place to pick up later. It's not used right now. * Removing json download from git * Ignoring topology download * Moving recurrent jobs in to a jobs module * Adding websocket dependencies * Starting to get client/server websocket functionality running. * Fixing unused imports * Separating client and server functionality a bit more cleanly * WIP to sketch out the ws client and server a bit more * Initial metrics broadcaster * Import fixup * Spawning rocket in tokio task * Removed outdated comment * removed the js file Co-authored-by: Dave <futurechimp@users.noreply.github.com> * Bugfix/metrics fixes (#434) * Updated dashboard html file * Changed explorer to listen on the same port as old dashboard * Using correct field names in js file * Sending correct key in metrics * Added nym prefix to binary names (#436) * Passing validator base url as an argument (#439) * Spawning rocket as a blocking task (#440) * Update main.js (#441) * Update main.js * Changed websocket port to 1648 * Changing default validator location to make it clear we're testnet (#437) * Changing default validator location to make it clear we're on a testnet here. * Updated validator url * Updated metrics url Co-authored-by: jstuczyn <jedrzej.stuczynski@gmail.com> * Adding keybase to allowed.list.sample (#442) * Updated nym-run gateway id (#445) * Adjusted 'fastmode' settings (#444) * Added validators to dashboard + validator and block count (#443) * Slightly friendlier upgrade argument description (#446) * Slightly friendlier upgrade argument description * Added right format examples * Explorer public folder being relative to the binary (#447) * Explorer public folder being relative to the binary * Qualifying the public mounting path Co-authored-by: Dave <futurechimp@users.noreply.github.com> * Extra argument to specify metrics websocket + long attribute (#448) * Extra argument to specify metrics websocket + long attribute * Default testnet values * Fixed the URL of the websocket (#449) * Removed hardcoded 'good gateways' in favour of pseusorandom choice from the active set (#450) * Adding graceful de-registration to service * Removed incentives form url (#451) * Updated version numbers * Updated generate changelog script * Updated changelog * wasm examples fixes Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com> Co-authored-by: Ethan Frey <ethanfrey@users.noreply.github.com> |