* - standardise versions for all nym-sdk workspace dependencies
- prepend sqlx-pool-guard with 'nym-'
* Test remove nym-api from deps
* Add oneliner to client_pool doc comments
* Add note to commented out docs.rs link in sdk
* remove nym-api from script
* add publishing file
* bring non-binary / contract / tools into workspace version
* added more info to publishing.md
* make deps workspace version
* remove uploaded sphinx-types crate from script
* remove erroueously included ignore-defaults
* add zeroise to feature
* chore: Release
* add topology to batch
* more cargo versioning
* more cargo versioning - wasm utils
* more cargo versioning - wasm utils
* Add publish=false to manifest for cargo workspaces / crates.io
publishing exclusion
* remove script now switched to manifest based exclusion
* rename import based on rename of contracts-common dep
* Making workspace versions for publication + removing unnecessary crates
from publication
* Remove OOD info from publishing sdk guide
* rename contract imports + remove package
* temp commit: continuing with removal of path from cargo manifest and
replacing with workspace version import for publication
* continuing with cargo.toml updates
* dryrun only erroring on known version problem crates
* remove old published-crates file
* Minor comment change
* remove default features warning
* Additional info on workspace dep comment re publish list
* Add missing description to cargo.toml
* Fix missing feature flags
* Add missing descriptions
* Fix remaining path import
* Add workspace repo / homepage / documentation links to cargo.toml files
* remove workspace version from excluded crate
* Remove todo descriptions
* Minor comment change
* add homepage etc
* move from bls git import to nym_bls_fork crate
* Modify rest of imports from path to workspace import, excluding binaries
* add directory/homepage info
* fix cargo fmt
* add notes to gitignore
* better solution to contracts/ experiment
* wasm -> nym_wasm crate renaming
* fix fatfinger
* add metadata to ecash cargo.toml
* stub publishing guide
* fix misrevolved netlink- version
* Fixes and block publication of rebase re: LP
* first pass @ workflows
* Squashing all the changes
initial router
started expanding the API
initial empty openapi/swagger
populated build-info endpoint
wip: populating rest of swagger
missing swagger data + using closure capture for immutable state
running the api as a proper task in gateway 'run'
fixing some version/feature clashes
refactored routes structures
initial host information endpoint
expanded on gateway-related endpoints
signing host information
moved all models to separate crate
unified http api client
routes unification + node api client
new generic cache and refresher
nym-api caching node self described information
removed old cache type
temporarily wired up NymContractCache to NodeDescriptionProvider
caching self reported host info
clients using self-described gateway information
fixed request timeouts for wasm
fixed wasm builds
post rebase fixes
cargo fmt
brought in wg routes into nym-node router
added ErrorResponse for wireguard routes
basic swagger support for wg endpoints
turns out swagger can be happy with strongly typed requests
output type support for wg routes
using concrete error type for nym node request error
fixed the registration test
landing page configurability
increased configurability
fixed build and lints of other crates
added default user-agent to http-api-client
reduced severity of gateway details lookup failure
changed default http port from 80 to 8080
nym-api using new default port for queries
added health endpoint
nym-api trying multiple ports for the client
using camelcase for node status
corrected health endpoint description
restored and revamped 'force_tls' flag to filter all gateways that support the wss protocol
fixed 'pub_key' path param in open api schema
derived Debug on 'NymNodeDescription'
ensuring valid public ips
added init and run flags to set hostname and public ips
fixed listening address being pushed to public ip
fixed the positional local flag
logging remote ip address of the request
updated helper function to query for described gateways
enabled tls in gateway client
removed hack-opts from mix fetch
additional changes after rebasing against origin/develop
* clippy
* wasm-related target locking
* more clippy, but this time in tests
* removed sealed impl of serde for tx::Fee
* further upgraded cosmwasm to 1.3.0
* wip
* created schema for mixnet contract
* updated return type of 'GetBondedMixnodeDetailsByIdentity' query
* fixed imported version of serde_json_wasm
* updated return type of 'GetFamilyByHead' query
* updated return type of 'GetFamilyByLabel' query
* updated return type of 'GetFamilyMembersByHead' and 'GetFamilyMembersByLabel' queries
* fixed broken tests due to type changes
* added support for GetFamilyMembersByLabel and GetFamilyMembersByHead queries in 'mixnet_query_client'
* moved 'Account' and 'VestingContractError' to common crate
* created schema for vesting contract
* Added documentation for all query messages in the vesting contract
* improved mixnet contract schema by adding documentation to all query types
* feature-locking cw2 import
* created schema for the name service contract
* created schema for the service provider directory contract
* created schema for the coconut bandwidth contract
* created schema for the coconut dkg contract
* created schema for the coconut cw4 group contract
* created schema for the coconut cw3 multisig contract
* fixed missing import and adjusted makefile
* cargo fmt
* clippy
* adjusted contract CI to build with --lib flag
* missing --lib flag in the makefile
* updated lock files
* makefile for generating the schemas
* added github action to check for schema difference
* adding missing step to checkout the repo
* oak-2
* oak-8
* oak-13
* oak-15
* oak-18
* Minor clippy nit
* 2023-01-13-OAK-6
* 2023-01-13-OAK-3
* 2023-01-13-OAK-13
Implemented via direct dependency on cw2 and calling the appropriate code on migration
* Removed few instances of password being unecessarily copied
* 2023-01-13-OAK-10
* 2023-01-13-OAK-12
* 2021-09-13-JP-S-NYM-02
* 2021-09-13-JP-S-NYM-03
* Removed further instances of needlessly copying the mnemonic
* 2021-09-13-JP-O-PROT-03
* 2021-09-13-JP-S-NYM-01*
*: we still have one vulnerability on 'time' pulled from chrono via sqlx. However, apparently its usage is fine... Having said that, I'd still recommend removing all dependencies on chrono, but this will require some database migrations...
* 2023-01-13-OAK-11 (#3009)
* wip
* Introducing the concept of starting epoch transition in `nym-api`
* split epoch operations into multiple files
* epoch operation failure recovery
* sending rewarding transactions in correct order
* tests and fixes due to epoch state progression
* lint
* missed rebasing import changes
* Setting cw2 contract version during first migration run
* calling 'reconcile_epoch_events' at least once
* Made message to BeginEpochTransition more consistent with other variants
* Merge layer assignment updates
---------
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* revamped calculation of spendable coins and behaviour of stakes
* added new queries to the VestingQueryClient
* fixed return types for the query client
* updated wallet commands
* updated common commands
* 🔥 removed dead and commented out code
* comment regarding the 'state_dump_decoder'
* query for withdrawn coins
* Add per account pledge caps
* Address PR comments
* Update CHANGELOG
* No cap if no locked
* Fail account creation if taking account already exists
* Delegated free should be counted from vesting period start
* Query for node stake saturation
* Queries for currently pending events
* Rewarded set query
* Moved ContractState to common types
since it's being returned as a result of one of the queries on the mixnet contract and thus it needs to be accessible outside the contract itself
* Cleaend up storage initialisation
* started restoring unit tests
* Removed attached 1ucoin for cross-contract execute msgs
* wip
* query for rewarding details of a mix node
* Changes for mixnodes and gateways
* Furher progress on v2 changelog(-ish) description
* wip
* first version of the description
* mixnode bonding queries tests and fixes
* ibid for storage
* MixnodeEventType enum + created events for missing mixnode txs
* tests for adding new mixnode
* Additional mixnode-related tests + bug fixes
* Display for Percent
* Bunch of tests for try_reward_mixnode
* More tests and fixes
* ibid
* tests for updating rewarding params + important bug fix
* Started removing unused imports
* rewarding queries tests + undelegation bugfix
* A lot of todo()-ing and commenting out unimplemented code
* implements https://github.com/nymtech/team-core/issues/113
* Delegation tests + fixes
* Emiting events by top level interval txs + incorporating limit
* question
* Missing events emissions
* removed some code duplication
* wip
* pending delegation tests
* Vesting contract update
* More tests (and fixes) for pending events txs
* Restored gateway tx tests
* Another cleanup iteration
* removed redundant comment
* Unit tests, fixes and simplifcations for interval-related txs
* Unit tests for helper functions
* Interval queries unit tests
* Test for correct contract initialisation
* Another round of cleanup
* Work on mixnet_query_client trait
* mixnet_signing_client trait
* Removed redundant methods
* Slowly restoring validator client functionality
* Added deprecated query for mix details by identity
* wip restoration of validator-api
* Work on deprecating validator API routes
* Further validator-api routes
* Restored rest of status api routes
* Resolved all todos in ValidatorApiStorage
There's still bunch left in StorageManager though
* Changed NodeId from u64 to u32
* Updating sql code
* Network monitor internals
* Changed behaviour of full_epoch_id and updated epoch operations
* Fixed sql queries
* [most likely] finished updating rest of the validator API
* Post rebasing fixes
* Feature/rewarding revamp explorer api changes (#1511)
* Changed cache to allow for non-string keys
* Helper method for best-effort conversion of pubkey to nodeid
* Updated validator-api client routes
* Updated routes to use mix-id indexing
* Introduction of deprecated routes callable by identity key
* Fixed mixnode compatibility by changing read node details fields (#1512)
* Fixed bond to topology conversion for client compatibility (#1513)
* Updated 'verify_gateway_owner' to use correct nymd_client method for obtaining gateway details (#1515)
* Updated constructor for ValidatorCacheInner
* Fixed wasm client topology construction
* Run cargo fmt on the entire codebase
* Feature/rewarding revamp wallet backend changes (#1529)
* Updated mixnode-related ts types
* Updated nym-wallet-types
* Updated 'get_contract_settings' and commented out code of other tauri commands
* 'update_contract_settings'
* 'bond_gateway'
* unbond_gateway'
* Utility commands for the transition period
* 'bond_mixnode'
* 'unbond_mixnode'
* Ability to update mixnode cost paramaters
* Mixnode config update
* Updated mixnode_bond_details
It also returns a different underlying type now
* Updated 'gateway_bond_details'
* Obtaining pending operator rewards
* Improved way of obtaining number of mixnode delegators
* simplified error handling in 'fetch_mix_node_description'
* mixnode and gateway ownership queries
* updated get_number_of_mixnode_delegators to use mix_id since we have the conversion utils helper
* mixnode delegation
* undelegating
* Obtaining pending delegator rewards
* Command for obtaining current interval details
* Queries to handle paging for pending events
* Additional level of indirection to pending events to incorporate event id into response
* Wallet compatible pending event types
* Commands fo obtaining pending events
* Re-implemented pending delegation events
* Further work on delegation
* Removed unused imports
* Commands for withdrawing rewards
* Admin-related simulations
* mixnet-related simulation commands
* Validator-api related routes
* Bond-related vesting operations
* Vesting simulations
* Vesting handler for UpdateMixnodeCostParams
* Vesting reward claiming
* Vesting queries
* claim_locked_and_unlocked_delegator_reward
* The massive delegation query
* cleanup
* updated typescript requests
* sorted the new type exports in ts-rs-cli
* Regenerated typescript types
* temporarily ignoring unreachable code in vesting migration
* Updated missed test fixture
* Fixed missing coconut-specific import
* cargo fmt
* Exporting reward-related types
* utility to convert stringified decimal to cosmjs Decimal
* deriving Eq alongside PartialEq
* wip - typescript fixes
* using default operating cost when bonding mixnode
* Using default operating cost when updating mixnode cost params
* most delegation fixes
* Wrapping delegation with node identity
* Added MultiIndex on owner and identity key to unbonded mixnodes
* Support for queries for unbonded nodes by owner or by identity key
* Cargo fmt + ts types update
* feature locking unused imports
* fix(nym-wallet): typing and error (#1548)
* post-rebase fixes
* Changed storage key for new delegations map in vesting contract
* fix(wallet): typing issues (#1562)
* fix(wallet): error UI feedback (#1565)
* clean(wallet): remove useless files (with flamethrowers 🔥) (#1567)
* Changed default_mixnode_cost_params to allow accepting f32 instead
* Revert "Changed default_mixnode_cost_params to allow accepting f32 instead"
This reverts commit fb62a0014f.
* Fixed APY calculation for 0 pledge value
* Don't send rewarding transactions for empty rewarded set
* Fixed mixnode rewarding in validator API
* fix(nym-wallet): profit margin (#1574)
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Removed todo!() from vesting contract migration since its going to be dealt with differently
* fix(nym-wallet): stake saturation and delegations (#1578)
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* fix(nym-wallet): get rid of delegation history
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): get rid of delegation history
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): fix clippy
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* Updated vesting contract migration to update the mixnet contract address
* feat(wallet): add confirmation/warning modal for unbonding
* Post rebasing fixes
* commented out all code
* Bunch of work in progres, but working simulator
* Removing redundant fields + increased precision to 9decimal places
* deserialization of Percent with value validation
* wip
* Further moving things around + mixnode bonding
* Mixnode unbonding
* Starting restoration on contract state
* Revamping interval
* More work on epoch/interval
* progress on mixnode rewarding
* Moved MixNodeRewarding to rewards storage
* wip on delegations
* Removed concept of periods and historical records and moved cummulative reward ratio directly to delegation
* more wip delegation
* Full delegation flow
* mixnode config updates
* Mixnode cost function updates
* Work on moving mixnode unbonding to post-epoch actions
* Unbonding
* Processing undelegation
* changing cost params
* Uncommented existing gateways features
without much changes so far, however, things like unbonding should probably also go to epoch queue
* ExecuteMsg cleanup
* unit tests for withdrawing rewards against known values
* Transactions for withdrawing rewards
* Transactions for updating various parameters
* First round of post-tx cleanup
* Moved all storage keys to constants.rs
* Using correct initial gateway pledge amount
* Renamed sybil_resistance_percent to sybil_resistance with percent being implicit from the typ
* Starting with contract queries
* Keeping minimal details of unbonded mixnoces
* Checking for owner address rather than rewarding validator when updating rewarding params
* Mixnode-related queries
* Gateway-related queries
* Query for paged unbonded mixnodes
* Delegations queries
* Query for current interval details
* Removed 'fixed' dependency from the mixnet common
* wip on implementing rewards-related queries
* Pending rewards queries
* Query for node stake saturation
* Queries for currently pending events
* Rewarded set query
* Moved ContractState to common types
since it's being returned as a result of one of the queries on the mixnet contract and thus it needs to be accessible outside the contract itself
* Cleaend up storage initialisation
* started restoring unit tests
* Removed attached 1ucoin for cross-contract execute msgs
* wip
* query for rewarding details of a mix node
* Changes for mixnodes and gateways
* Furher progress on v2 changelog(-ish) description
* wip
* first version of the description
* mixnode bonding queries tests and fixes
* ibid for storage
* MixnodeEventType enum + created events for missing mixnode txs
* tests for adding new mixnode
* Additional mixnode-related tests + bug fixes
* Display for Percent
* Bunch of tests for try_reward_mixnode
* More tests and fixes
* ibid
* tests for updating rewarding params + important bug fix
* Started removing unused imports
* rewarding queries tests + undelegation bugfix
* A lot of todo()-ing and commenting out unimplemented code
* implements https://github.com/nymtech/team-core/issues/113
* Delegation tests + fixes
* Emiting events by top level interval txs + incorporating limit
* question
* Missing events emissions
* removed some code duplication
* wip
* pending delegation tests
* Vesting contract update
* More tests (and fixes) for pending events txs
* Restored gateway tx tests
* Another cleanup iteration
* removed redundant comment
* Unit tests, fixes and simplifcations for interval-related txs
* Unit tests for helper functions
* Interval queries unit tests
* Test for correct contract initialisation
* Another round of cleanup
* Work on mixnet_query_client trait
* mixnet_signing_client trait
* Removed redundant methods
* Slowly restoring validator client functionality
* Added deprecated query for mix details by identity
* wip restoration of validator-api
* Work on deprecating validator API routes
* Further validator-api routes
* Restored rest of status api routes
* Resolved all todos in ValidatorApiStorage
There's still bunch left in StorageManager though
* Changed NodeId from u64 to u32
* Updating sql code
* Network monitor internals
* Changed behaviour of full_epoch_id and updated epoch operations
* Fixed sql queries
* [most likely] finished updating rest of the validator API
* Post rebasing fixes
* Feature/rewarding revamp explorer api changes (#1511)
* Changed cache to allow for non-string keys
* Helper method for best-effort conversion of pubkey to nodeid
* Updated validator-api client routes
* Updated routes to use mix-id indexing
* Introduction of deprecated routes callable by identity key
* Fixed mixnode compatibility by changing read node details fields (#1512)
* Fixed bond to topology conversion for client compatibility (#1513)
* Updated 'verify_gateway_owner' to use correct nymd_client method for obtaining gateway details (#1515)
* Updated constructor for ValidatorCacheInner
* Fixed wasm client topology construction
* Run cargo fmt on the entire codebase
* Feature/rewarding revamp wallet backend changes (#1529)
* Updated mixnode-related ts types
* Updated nym-wallet-types
* Updated 'get_contract_settings' and commented out code of other tauri commands
* 'update_contract_settings'
* 'bond_gateway'
* unbond_gateway'
* Utility commands for the transition period
* 'bond_mixnode'
* 'unbond_mixnode'
* Ability to update mixnode cost paramaters
* Mixnode config update
* Updated mixnode_bond_details
It also returns a different underlying type now
* Updated 'gateway_bond_details'
* Obtaining pending operator rewards
* Improved way of obtaining number of mixnode delegators
* simplified error handling in 'fetch_mix_node_description'
* mixnode and gateway ownership queries
* updated get_number_of_mixnode_delegators to use mix_id since we have the conversion utils helper
* mixnode delegation
* undelegating
* Obtaining pending delegator rewards
* Command for obtaining current interval details
* Queries to handle paging for pending events
* Additional level of indirection to pending events to incorporate event id into response
* Wallet compatible pending event types
* Commands fo obtaining pending events
* Re-implemented pending delegation events
* Further work on delegation
* Removed unused imports
* Commands for withdrawing rewards
* Admin-related simulations
* mixnet-related simulation commands
* Validator-api related routes
* Bond-related vesting operations
* Vesting simulations
* Vesting handler for UpdateMixnodeCostParams
* Vesting reward claiming
* Vesting queries
* claim_locked_and_unlocked_delegator_reward
* The massive delegation query
* cleanup
* updated typescript requests
* sorted the new type exports in ts-rs-cli
* Regenerated typescript types
* temporarily ignoring unreachable code in vesting migration
* Updated missed test fixture
* Fixed missing coconut-specific import
* cargo fmt
* Exporting reward-related types
* utility to convert stringified decimal to cosmjs Decimal
* deriving Eq alongside PartialEq
* wip - typescript fixes
* using default operating cost when bonding mixnode
* Using default operating cost when updating mixnode cost params
* most delegation fixes
* Wrapping delegation with node identity
* Added MultiIndex on owner and identity key to unbonded mixnodes
* Support for queries for unbonded nodes by owner or by identity key
* Cargo fmt + ts types update
* feature locking unused imports
* fix(nym-wallet): typing and error (#1548)
* post-rebase fixes
* Changed storage key for new delegations map in vesting contract
* fix(wallet): typing issues (#1562)
* fix(wallet): error UI feedback (#1565)
* clean(wallet): remove useless files (with flamethrowers 🔥) (#1567)
* Changed default_mixnode_cost_params to allow accepting f32 instead
* Revert "Changed default_mixnode_cost_params to allow accepting f32 instead"
This reverts commit fb62a0014f.
* Fixed APY calculation for 0 pledge value
* Don't send rewarding transactions for empty rewarded set
* Fixed mixnode rewarding in validator API
* fix(nym-wallet): profit margin (#1574)
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Removed todo!() from vesting contract migration since its going to be dealt with differently
* fix(nym-wallet): stake saturation and delegations (#1578)
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* fix(nym-wallet): get rid of delegation history
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* Correctly assigning Delegate event type to PendingEpochEventData::Delegate
* Replaced 'history' in with 'pending_events' in DelegationWithEverything
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): stake saturation percentage
* fix(nym-wallet): get rid of delegation history
* Updated typescript side of things
* fix(nym-wallet): welcome back pending events and delegation menu
* fix(nym-wallet): fix clippy
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
* Updated vesting contract migration to update the mixnet contract address
* feat(wallet): add confirmation/warning modal for unbonding
* Post rebasing fixes
* Removed deprecation on GetMixnodeDetailsByIdentity
* Fixed nym-cli
* Removed needless borrow
* Updated colorMap and textMap
Co-authored-by: durch <durch@users.noreply.github.com>
Co-authored-by: Mark Sinclair <mmsinclair@gmail.com>
Co-authored-by: Pierre Dommerc <dommerc.pierre@gmail.com>
* 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
* Cosmwasm beta6 => beta8 upgrade
* Introducing additional unique index constraint on sphinx key
* Unit test for checking for duplicate sphinx key
* Fixed other unit tests due to changed constraint