* Generic prom wrapper idea
* Extend packet_statistics control with prom metrics
* Replace counters with Counters
* Add legacy mixnode api route
* fmt
* Sanitize metric names
* Format metrics
* Script to make prom targets
* More metrics
* Update script
* Make sure we dont panic in the future
* Remove fragile test
* Add metrics endpoint auth
* Remove per IP metrics
* Update target script, node_exporter setup
* Remove prom from client
* Simplify node stat
* Centralize metrice, break cpucycles temporarily
* Remove prometheus from mixnode
* Add cpu-cycles to Prom
* Further centralize Registry
* Cleanup old tracing
* Remove spurious assignment
* Move cpu-cycles to metrics
* Add features
* setup_logging before logging
* Remove cpucycle measurement in favour of time
* Cleanup, hygine
* Change mixnode, gateway, network and nym-api binary licenses to GPLv3
* Add license to cargo files
* Revert model license to match crate
* Add license to nym-node
* Revert model license to match crate
* Fix formatting
---------
Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com>
* added a global flag to disable the printed out banner inside tty
* added a 'build-info' command to our binaries
* added binary name to BinaryBuildInformation
* clippy
* POC measurement
* parent ce76790761
author durch <durch@users.noreply.github.com> 1680116778 +0200
committer durch <durch@users.noreply.github.com> 1680683399 +0200
Instrument packet processing
* Cleanup and format
* Feature gate tracing
* Add .gitkeep to wallet dist
* Squashed commit of the following:
commit 0b1b6947e8
Author: Jon Häggblad <jon.haggblad@gmail.com>
Date: Wed Apr 5 11:28:28 2023 +0200
Replace mobile flag with target_os = android (#3278)
* Remove old lock file
* Start replacing mobile with android
* Regex replace all mobile with android
* Remove the mobile feature flag
* keep the cfg mobile in tauri
commit c79b2cfb78
Author: Jon Häggblad <jon.haggblad@gmail.com>
Date: Wed Apr 5 11:27:38 2023 +0200
Service provider directory contract (#3220)
* first commit of service provider directory contract proof of concept
* *added config set on instantiation,
*removed greetQuery test function
* commit before mapping change
* *changed mapping of service to use client address instead of cosmos addr
* commit before mapping change
* added acl to delete()
* added test for acl in delete()
* changed whitelist<vec> to standrd_whitelist bool in Service struct
* removed old comments and commented out code
* rustfmt
* wup
* wup
* Older version of cw-multi-test that works with 1.0.0
* wip
* Remove .gitignore
* Basic tests for announce and query now works
* Restore tests for delete as well
* Consolidate tests
* Tidy
* fmt
* Start reworking test helpers
* Tidy tests
* More test work
* More test improvements
* More work on tests
* Tweaks
* Further tests
* rustfmt
* Add some comments
* Initial work on requiring deposit
* wip
* Work on updating tests for handling funds
* Start updating integration tests
* Integration tests updated
* merge test mods in state
* Address review comments
* Enable wasm-opt
* Unify Result type
* consistent amount in error type
* WIP: paging output
* IndexedMap working
* extract to config file
* WIP: middle of extracting out types
* Extract types
* wip
* Types now extracted out:
* Paged response type too
* rustfmt
* Start working on switching to cw Admin
* Complete switch to Admin
* Remove owner from announce msg
* remove unused imports
* Assert owner
* Extract out types to common crate
* Fix test compilation
* Add query by owner and nym address
* Move msg to common crate
* rustfmt
* tests for service id
* service storage tests
* state services tests
* function rename
* tidy
* Fix clippy warning
* User ServiceId instead and not u32
* Delete by nym address
* Emit explicit events
* Swap ToString for Display
* Move all storage keys to constants.rs
* clippy
* Test for deleting by name
* Tidy integration tests
* Remove to_string
* Some comments to tests
* Integration test for paging
* serde snake_csae for NymAddress and ServiceType
* Add migrate entry point
* Add query contract version
* A few more asserts for balance
* Make MigrateMsg a struct
---------
Co-authored-by: mx <maxhampshire@pm.me>
commit dd699bce9a
Merge: 5ce017ef3e6957e7a9
Author: Tommy Verrall <60836166+tommyv1987@users.noreply.github.com>
Date: Wed Apr 5 10:18:16 2023 +0100
Merge pull request #3235 from nymtech/feature/performance-active-set-selection
Feature/performance active set selection
commit 5ce017ef3d
Author: benedetta davico <46782255+benedettadavico@users.noreply.github.com>
Date: Wed Apr 5 10:57:45 2023 +0200
adding vesting tests (#3279)
commit 59c1ce2639
Merge: 4fb63d889276edfd56
Author: Tommy Verrall <60836166+tommyv1987@users.noreply.github.com>
Date: Wed Apr 5 09:50:53 2023 +0100
Merge pull request #3261 from nymtech/feature/refresh-allow-list
Feature/refresh allow list
commit 4fb63d8892
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Wed Apr 5 09:22:43 2023 +0100
Feature/vesting delegation amount query (#3229)
* moved queries and transactions out of contract.rs
* added queries for vesting delegation details
* nyxd_client support
commit 276edfd562
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 15:56:21 2023 +0100
clippy
commit 605f8fcde3
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 15:06:12 2023 +0100
updated and cleaned up tests
commit f0e4d1a7cf
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 14:01:36 2023 +0100
configurable stored lists locations
commit 055ec4bdd5
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 12:57:02 2023 +0100
updating stored allow list on file changes
commit 5761f9ac7f
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 12:15:45 2023 +0100
file watcher
commit 32620fd55f
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Thu Mar 30 17:47:12 2023 +0100
updating standard list in a timer
commit abb5cdbe06
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Thu Mar 30 16:43:58 2023 +0100
extracted domain and ipnet information to separate struct
commit e6957e7a99
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Tue Mar 28 11:25:43 2023 +0100
use combination of stake and performance for rewarded set selection
commit de2406a2c7
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Tue Mar 28 10:54:14 2023 +0100
Moved MixnodeWithPerformance to helpers
* Squashed commit of the following:
commit 0b1b6947e8
Author: Jon Häggblad <jon.haggblad@gmail.com>
Date: Wed Apr 5 11:28:28 2023 +0200
Replace mobile flag with target_os = android (#3278)
* Remove old lock file
* Start replacing mobile with android
* Regex replace all mobile with android
* Remove the mobile feature flag
* keep the cfg mobile in tauri
commit c79b2cfb78
Author: Jon Häggblad <jon.haggblad@gmail.com>
Date: Wed Apr 5 11:27:38 2023 +0200
Service provider directory contract (#3220)
* first commit of service provider directory contract proof of concept
* *added config set on instantiation,
*removed greetQuery test function
* commit before mapping change
* *changed mapping of service to use client address instead of cosmos addr
* commit before mapping change
* added acl to delete()
* added test for acl in delete()
* changed whitelist<vec> to standrd_whitelist bool in Service struct
* removed old comments and commented out code
* rustfmt
* wup
* wup
* Older version of cw-multi-test that works with 1.0.0
* wip
* Remove .gitignore
* Basic tests for announce and query now works
* Restore tests for delete as well
* Consolidate tests
* Tidy
* fmt
* Start reworking test helpers
* Tidy tests
* More test work
* More test improvements
* More work on tests
* Tweaks
* Further tests
* rustfmt
* Add some comments
* Initial work on requiring deposit
* wip
* Work on updating tests for handling funds
* Start updating integration tests
* Integration tests updated
* merge test mods in state
* Address review comments
* Enable wasm-opt
* Unify Result type
* consistent amount in error type
* WIP: paging output
* IndexedMap working
* extract to config file
* WIP: middle of extracting out types
* Extract types
* wip
* Types now extracted out:
* Paged response type too
* rustfmt
* Start working on switching to cw Admin
* Complete switch to Admin
* Remove owner from announce msg
* remove unused imports
* Assert owner
* Extract out types to common crate
* Fix test compilation
* Add query by owner and nym address
* Move msg to common crate
* rustfmt
* tests for service id
* service storage tests
* state services tests
* function rename
* tidy
* Fix clippy warning
* User ServiceId instead and not u32
* Delete by nym address
* Emit explicit events
* Swap ToString for Display
* Move all storage keys to constants.rs
* clippy
* Test for deleting by name
* Tidy integration tests
* Remove to_string
* Some comments to tests
* Integration test for paging
* serde snake_csae for NymAddress and ServiceType
* Add migrate entry point
* Add query contract version
* A few more asserts for balance
* Make MigrateMsg a struct
---------
Co-authored-by: mx <maxhampshire@pm.me>
commit dd699bce9a
Merge: 5ce017ef3e6957e7a9
Author: Tommy Verrall <60836166+tommyv1987@users.noreply.github.com>
Date: Wed Apr 5 10:18:16 2023 +0100
Merge pull request #3235 from nymtech/feature/performance-active-set-selection
Feature/performance active set selection
commit 5ce017ef3d
Author: benedetta davico <46782255+benedettadavico@users.noreply.github.com>
Date: Wed Apr 5 10:57:45 2023 +0200
adding vesting tests (#3279)
commit 59c1ce2639
Merge: 4fb63d889276edfd56
Author: Tommy Verrall <60836166+tommyv1987@users.noreply.github.com>
Date: Wed Apr 5 09:50:53 2023 +0100
Merge pull request #3261 from nymtech/feature/refresh-allow-list
Feature/refresh allow list
commit 4fb63d8892
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Wed Apr 5 09:22:43 2023 +0100
Feature/vesting delegation amount query (#3229)
* moved queries and transactions out of contract.rs
* added queries for vesting delegation details
* nyxd_client support
commit 276edfd562
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 15:56:21 2023 +0100
clippy
commit 605f8fcde3
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 15:06:12 2023 +0100
updated and cleaned up tests
commit f0e4d1a7cf
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 14:01:36 2023 +0100
configurable stored lists locations
commit 055ec4bdd5
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 12:57:02 2023 +0100
updating stored allow list on file changes
commit 5761f9ac7f
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Fri Mar 31 12:15:45 2023 +0100
file watcher
commit 32620fd55f
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Thu Mar 30 17:47:12 2023 +0100
updating standard list in a timer
commit abb5cdbe06
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Thu Mar 30 16:43:58 2023 +0100
extracted domain and ipnet information to separate struct
commit e6957e7a99
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Tue Mar 28 11:25:43 2023 +0100
use combination of stake and performance for rewarded set selection
commit de2406a2c7
Author: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Date: Tue Mar 28 10:54:14 2023 +0100
Moved MixnodeWithPerformance to helpers
* Setting default 'id' if not provided
* Modified 'NymConfig' to always require 'id'
* moved creation of nym-api directories away from 'override_config'
* missing optional id usage in nym-connect
* changelog
* Removed default value for '--id' argument
* Defined OptionalSet trait
* extended the trait to handle environment
* sample implementation for the gateway
* implementation for mixnode
* Added the same feature to nym-api config + made some config types stricter
* fixed compilation and linter issues
* keeping track of parsing error
* attempt at using the trait for the client configs
* Streamlined more arguments
* Removed deprecation on setters
* fixed incorrect test constructor
* missed rebase fixes
* Renaming all instances of nymd to nyxd
* Might as well get the changelogs too
* Making it clearer that an ApiClient is a NymApiClient
* Lining up config templates with struct keys on gateway
* Changed the last references to validator_urls to nyxd_urls
* Fixed up a few type errors after refactoring
* Changed the changelog
* Fixed typo in changelog
* Further instances of renaming 'nymd' + introducing additional clap aliases
* updated environmental variables and allowed usage of deprecated variants
* missing occurences of coconut-locked environmental variables
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* fixed all uses of deprecated clap methods
* updated all uses of clap to 4.0
* unified obtaining build information
* moved around the imports
* Moved all nym-api arguments to ApiArgs and simplified parsing
* Using common shutdown signal code
* Using clap for parsing Vec<Url>
* stricter validation of socks5-client arguments
* ibid for the native client
* ibid for the gateway
* ibid for the mixnode
* clippy
* Renamed "address" argument in "sign" command to "wallet-address"
* Ability to optionally describe mixnode with command line arguments
* renamed 'validators' arguments to 'nym-apis' in mixnode binary
* cleaned up gateway validator-related url arguments
* fixup! Renamed "address" argument in "sign" command to "wallet-address"
* renamed 'use_anonymous_sender_tag' to 'use_anonymous_replies'
* 'nymd_endpoints => 'nymd_validators'
* more consistency for nymd_validators and nym_apis urls arguments
* updated changelog
* Renaming validator-api to nym-api
* nym-api: simplified crate name
* Added nym-api rename to changelog
* Changed some output messages
* Renamed validator-api-requests to nym-api requests
* Removing more references to validator-api-requests
* Additional lockfile name changes after full build
* Removing mistakenly added merge files
* ibid
* ibid
* Getting rid of ref to validator_api deep inside validator-client
* Fixing file storage paths
* Renaming struct function names referring to validator_api
* Simplifying struct init
* Fixed up all other instances of nym_api.
* Renaming validatorApi to nymApi in TypeScript client for consistency
v
* Found a few more Rust instances
* Changed examples in TypeScript SDK
* Found one more instance of the use of validator instead of nym apis
* Aliasing config key name for deserialization to preserve compatibility with old configs
* cleaned up MixProcessingError
* Added Error impl to (hopefully) all error enums in the codebase
* Replaced all occurences of error("{0}") with error(transparent)
* Changelog entry
* Made config.toml values in validator-api take precedence over mainnet defaults
* Updated mixnode and gateway configs with similar priority adjustments
* Changelog
* Clients use env
* Explorer api uses env
* Mainnet and qa env files
* Set CONFIGURED on the mainnet defaulting
* Gateway uses env
* Mixnode uses env
* Wallet error simplification
* Network requester takes only mainnet client address
* Validator api uses env
* Mixnet contract uses denom from instantiate
* Vesting contract uses denom from instantiate
* More contract test refactoring
* Coconut bandwidth contract uses denom from instantiate
* Bandwidth claim contract uses denom from instantiate and remove from Cargos
* More remove from Cargos and one missed DEFAULT_NETWORK
* Refactor some other missed places
* Minor fixes
* Test and clippy fixes
* Update CHANGELOG
* mixnode: make command modules private
* mixnode: make some node modules private
* mixnode: make config structs private
* mixnode: restore accidentally moved function
* Include version check in sign command
* Ask for wallet address the same way as mixnode
The reason for this is that the cosmos mnemonic that is asked at
init is for the address that gets rewarded for gateway usage.
Since that address is not necessarly set now and it can take a
default value, we won't be using that to derive the address in the
signing process.
* Moving sign_text method into common/crypto to dry it up
* Moved bech32 address validation into common/crypto
* ibid
* Gateway now requires a --wallet-address arg on init
* Add a --wallet-adress parameter to init
* Rearranging signing code locations
* A bit more refactoring
* ibid
* Exiting if the stored bech32 address isn't valid at node start
* A few docs comments
* Moved crypto crate up to root src level
* Friendlier startup messages for node verification code
* Switching punk and nymt addresses in test
* Base58 representation of ed25519 signature
* Helper for verifying ed25519 signature on sender address
* Signature verification for gateway bonding
* Signature verification for mixnode bonding
* Added owner signatures for bonding in vesting contract
* Fixed choosing mixnode layer test
* Added owner signature fields to nymd client for bonding
* 'Updated' tauri wallet with new bond requirements
* Mixnode sign command with extra address validation
* Sign command for the gateway
* Signing own gateway's address derived with known mnemonic in not(coconut) case
* Fixed imports post-merge
* Calculating gas fees
* Ability to set custom fees
* Added extra test
* Removed commented code
* Moved all msg types to common contract crate
* Temporarily disabling get_tx method
* Finishing up nymd client API
* Comment fix
* Remaining fee values
* Some cleanup
* Removed needless borrow
* Fixed imports in contract tests
* Moved error types around
* New ValidatorClient
* Experiment with new type of defaults
* Removed dead module
* Dealt with unwrap
* Migrated mixnode to use new validator client
* Migrated gateway to use new validator client
* Mixnode and gateway adjustments
* More exported defaults
* Clients using new validator client
* Fixed mixnode upgrade
* Moved default values to a new crate
* Changed behaviour of validator client features
* Migrated basic functions of validator api
* Updated config + fixed startup
* Fixed wasm client build
* Integration with the explorer api
* Removed tokio dev dependency
* Needless borrow
* Fixex wasm client build
* Fixed tauri client build
* Needless borrows
* Fixed client upgrade print
* Removed redundant comments
* Made note on aggregated verification key into a doc comment
* Removed mixnet contract references from verloc
* Modified default validators structure
* Reformatted validator-api Cargo.toml file
* Removed commented code
* Made the doc comment example a no-run
* Fixed a upgrade print... again
* Adjusted the doc example
* Removed unused import
* Put endpoints and contract address in one place
* Put common ports in one place
* Split cache version from route
* Share validator-api port value between server and client
* Put BECH32 prefix in defaults
* Put DENOM in defaults
* Put network monitor address in defaults
* Fix clippy
* Fix another clippy + tests import of DENOM