* fixed bearer auth for prometheus route
* basic prometheus metrics
* added rates on global values
* improved structure on the prometheus metrics
* added additional metrics for ingress websockets and egress mixnet connections
* some channel business metrics
* fixed metrics registration and added additional variants
* added counter for number of disk persisted packets
* counter for pending egress packets
* counter for pending egress forward packets
* clippy
* wip
* changed minor/patch weights and introduced full release chain history for more accurate calculations
* clippy
* updated contract schema
* added nym-api endpoint for current rewarded set nodes
* added nym-api endpoint for internal config score data
* guard mixnet contract against decreasing semver
* fixed config score calculation if there are skipped versions
* removed mnemonic from gateway config struct
scaffolding for common mixnet listener
running verloc unconditionally in a nym-node
remove filtering by mixnode
extracted verloc to separate crate
integrated nym-node-http-server more tightly with the binary
most logic for handling forward packets
running all mixnode-related tasks natively inside nymnode
removed gateway storage trait in favour of the only concrete implementation
most logic for handling final hop packets
using nym-node owned socket listener for gateways
utility for sending plain message through mixnet + gateway fix
using common packet forwarding in both modes
nifying nym-node metrics
reproduce behaviour of the console logger
cleaned up cli args
redesigned gateway tasks startup procedure
removing dead code
scaffolding for old config v6
config migration
implemented MixnetMetricsCleaner
* clippy
* require entry/exit for wireguard
* removed dead code in migration code
* updated config template
* use custom user agent for verloc queries
* fixed premature shutdown of gateway tasks
* hidden nym-api flag to allow illegal node ips
* experiment: final hop handing with wireguard
* added additional startup logs
* typo
* fixed legacy stats endpoint data
* additional logs
* apply review comments
* fixed local testnet manager
* ignore legacy nodes for test route selection and bias selection with existing score
* feature: dont keep persistent GatewayClient inside NMv1 (#5211)
* removed overly complex logic for requesting mutex permits for packet processing
* dont keep persistent gateway connections. instead make them on demand
* clippy
* explorer-api: add nym node endpoints + UI to show nym-nodes and account balances
* explorer-api: add endpoints to get operator rewards
explorer-ui: show delegations on nym-nodes, show operator rewards, bug fixes
* explorer-ui: change summary screen to only show nym-node stats
* explorer-api: add unstable routes to get legacy mixnodes and gateways from the contract instead of the Nym API
explorer-ui: adapt front-end to show less information in legacy nodes with plain bond types
* explorer-ui: fix up source of legacy mixnode data
* explorer-ui: add more account page null and undefined checks
* explorer-ui: filter out null gateway versions
* explorer-ui: sanitise gateway versions
* explorer-ui: add more guards on the balance parts to check that greater than 0
* explorer-api: make /tmp/unstable/gateways endpoint compatible with the current Harbour Master API
* explorer-ui: fix typo
* cargo fmt
* Add node-id, total stake and links to nodes list
---------
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* using common middleware for all http servers
* improved span handling in credential-proxy
* ensure increase in sequence number upon making deposit
* added explicit connect options for the db
* fixed further instances of incorrect span instrumentation
* batch deposit requests together to improve concurrency
* ignore cancelled requests
* updated credential proxy version to 0.1.4
* adjusted Dockerfile with new binary location
* log binary version on startup
* reduce default log level
* guard against unavaiable commit sha
* apply review comments: dont exit(0), instead just shutdown normally
* add skip_webhook parameter to obtain-async
* removing dead code
* Move monitor code to a struct
- to store state in a struct
* explorer deprecation wip
* Replace explorer with ipinfo calls
* PR feedback
* Fix clippy
* Bump package version
* Remove ipinfo crate due to openssl dep
* Add remaining bandwidth log
* fixed pagination for querying for validators
* wip: decoupling block signing from ticketbook issuance
* added ecash contract query for latest deposit
* parking the branch: wrappers for merkle tree for issued ticketbooks
* make nym-api store merkle trees of issued ticketbooks
* nym-api route for returning all deposits alongside merkle root
* return index alongside deposit id
* persisting merkle index alongside issued ticketbook details
* wip
* responses for issued deposit challenges
* nym-api cleanup
* verification of issued partial ticketbooks
* cleanup of rewarder code
* make the rest of codebase compile
* updated config file
* improved logging
* fixed division by zero if there were no ticketbooks issued in a day
* using correct budget when rewarding operators
* fixed routes for issued data
* fixed ecash test fixture
* fixed incorrect deserialisation of expiration_date param
* additional bugfixes for ticketbook issuance
* more fixes and updated tests
* fixed formatting after rebasing
* updated schema
* fixed edge case unit test
* added config-score related parameters to the mixnet contract
* weaved in described_cache into NodeStatusCacheRefresher
* adding config score annotation
* using new updated performance for updating rewarded set
* using new values for rewarding
* clippy
* updated contract schema
* wallet fixes
* fixed wasm build
* introduced nym-api endpoint for force refreshing described node data
* client code + updated return types
* nym-node to update self-described data cache on startup + change request type
* send request to all available nym-apis
* fixed 'is_stale' check
* bugfix/feature: added NymApiClient method to get all skimmed nodes
* wasm
* helper: utility method for getting ed25519 identity directly from node description
WIP; rebasing
Another branch squash
Squashing the v3 branch
changing min pledge amounts
logic for adding new nymnode into the contract
converting mixnode/gateway bonding into nym-node bonding
logic for migrating gateways into nymnodes
ibid for mixnodes
further nym-node work + fixed most existing unit tests
forbid nymnode migration with pending cost params changes
preassign nodeid for gateways
changing role assignment and epoch progression
changing role assignment and epoch progression
optional custom http port
logic for unbonding a nym-node
updating Delegation struct
logic for increasing pledge of either mixnode or nymnode
logic for decreasing pledge of either mixnode or a nym node
logic for changing cost params of either mixnode or a nym node
wip
initialise nymnodes storage
fixing transaction tests
fixed naive family tests
reward-compatibility related works
resolving delegation events
introduced rewarded set metadata
another iteration of restoring old tests
updated rewarding part of nym-api
parking the branch
unparking the branch
wip
purged families
added 'ExitGateway' role
passing explicit work factor for rewarding function
remove legacy layers storage
wip: node description queries
added announced ports to self-described api
step1 in gruelling journey of adding node_id to gateways
ensure epoch work never goes above 1.0
changed active set to contain role distribution
[theoretically] sending rewarding messages for the new rewarded set
[theoretically] assigning new rewarded set
reimplementing more nym-api features
remove legacy types
re-implement legacy network monitor
restoring further routes + minor refactor of NodeStatusCache
skimmed routes now return legacy nodes alongside nym-nodes
seemingly restored all functionalities in nym-api
removing more legacy things from the contract
initial contract cleanup
added nym-api endpoints to return generic annotations regardless of type
updated simulator to use new rewarding parameters
more contract cleanup
made existing mixnet contract tests compile
extra validation of nym-node bonding parameters
fixed additional compilation issues
fixed nym-api v3 database migration failure
added additional nym-node contract queries
updated the schema
made additional delegation/rewards queries compatible with both legacy mixnodes and nym-nodes
fixing existing unit tests in mixnet contract
wip
resolved first batch of 500 compiler errors
re-deprecating routes
making wallet's rust backend compile
fixed non-determinism in contract + nym-api build
fixes to the build
populating cotracts-cache with nym-nodes data
more missing nymnodes queries
temp mixnet contract methods + restored result submission in nym-api
allow deprecated routes
submitting correct results for mixnode results
removed deprecated re-export of AxumAppState and removed smurf naming
moved axum modules into support::http
cleaning up nym-api warnings
determine entry gateways before exits
exposed transaction to update nym-node config
missing memo for updating node config
new routes
added routes to swagger and fixed relative paths
fixed some macro derivations
added nym-node commands to nym-cli