* separated signing and nyxd-client features
* updated cosmrs to the most recent version
* using tendermint_rpc directly for the Client trait
* fixed rest of the codebase
* removed nyxd-client feature
* export more types
* clippy that seems to have been skipped in makefile
* renamed secp265k1 to secp256k1
* added optional 'explicit_signer_data' argument for sign method
* wip
* made client signer generic
which required to undertake an adventure into coconut bandwidth trait bounds...
* separate wrapper for TxSigner
* moves signing-related features to separate module
* fixed build of binaries from outside default workspace
* offline signing example
* fixed wallet build
* post rebasing formatting
* fixed bity integration build
* making clippy happier
* fixed post-rebase bip39 dependency version
* updated bip39 dependency to simplify our zeroize story
* Replaced UserPassword wrapper with Zeroizing type alias
* fixed wallet-types cosmwasm-std dependency version
* ability to specify custom TopologyProvider in TopologyRefresher
* topology provider builder method for base client
* ability to take manual control over topology
* wasm fixes
* added topology injection to nym-sdk API
* added examples to nym-sdk and exposed additional helper methods
* 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>
* Reset contract state when dkg needs rerun
* Reset nym-api for rerun
* Gateway updates signer APIs at runtime
* Fix clippy
* Add epoch id
* Use IndexedMap for shares
* Query with epoch id
* Add Clone to client traits
* Pass nyxd client instead of api data
* Get the specific epoch vk
* Make wasm work
* Remove wasm test runs
As there are no wasm tests and the target_arch macros are not compatible
with the cargo test environment, we can safely remove (for now) the wasm
test target runs.
* Put epoch_id in storage pk
* Gateway uses old keys but current verifiers
* Add group contract to env
* Move group msg in common
* Only run DKG if part of group
* Clippy test
* Rename wasm_storage to wasm_mockups
* Update changelog
* 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>
* 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
* Save to disk coconut keypair
* Check verification keys of the other signers
* Post verification key to chain
* Add multisig propose/vote for vks
* Execute the proposal
* Parse announce address argument
* Gateway uses chain data
* Network requester uses chain data
* Native&socks5 clients use chain data
* Credential client signature uses chain data
* Remove redundant api endpoints
* Undo debugging logging
* Fix some tests
* Fix clippy
* Fix wasm client and contract test
* More contract clippy
* Update CHANGELOG
* Use a bigger expiry period then the testing one
* Compiles but runtime time fails
* wip
* Beginning of clean-up - creation of config to keep things together
* Removed unused module
* Removed hardcoded constants
* Easier way of sending binary messages
* WIP cleanup before machine switch
* Upgrade wasm-bindgen to 0.2.83
* Fixed compilation warnings for wasm client
* all clients compiling without warnings
* disabling topology refresh in wasm
* Added a config option to disable loop cover traffic stream
* config changes
* Make webassembly work in a web worker
- `wasm-timer` modified to work in web worker
- add worker target to webpack
- add client to call from HTML
- update README to build WASM for bundling (this does not build ES modules)
* Restored topology refreshing
* correctly polling items in the wasm delay_queue
* Allow client to read up to 8 messages at once from gateway connection (#1669)
* Allow client to read up to 8 messages at once from gateway connection
* Importing tokio::select in wasm32 target
* Updated changelog
* missing imports
* Introduced disable_main_poisson_packet_distribution to force real_traffic_stream to disable poisson sending (#1664)
* Introduced disable_main_poisson_packet_distribution to force real_traffic_stream to disable poisson sending
* Updated changelog
* Adjusting default settings
* Introduced a client-configurable option to force it to use extended packet size
* local adjustments
* Removed warning associated with receiving extended packets
* Minimal v2-required changes
* Updated changelog
* explicitly allowing clippy drop_non_drop
Co-authored-by: Mark Sinclair <mmsinclair@gmail.com>
* Temporarily point cosmrs to PR branch
* Expose grant allowance in client
* Move functions in coconut verifier
* Do execute from gateway
* Explicit fee payment by granter
* Include revoke grant after finishing with the op
* Gateway checks the proposal content before proceeding
* Clippy fixes
* CHANGELOG update
* Move coconut validator api req out of coconut interface
and expose a new cosmos-address endpoint
* Finish cosmos address endpoint
* Guard under coconut feature gateway & validator-api code
* Update CHANGELOG
* Delegation UI:
Update QA vars
fmt
re-map coin type for qa
add correct bech32 address as the network-explorer-api was complaining
clean up
fmt
Delegation components
Show delegation story on paper
Remove actions header from delegations list
Add copy to clipboard for delegation list node ids
Move tooltip
Modals
Extract modal styles
Fix exports
Rewards summary and redeem modal
Factor out simple modal
Delegations actions modals: delegate, delegate more, undelegate
Coin mark and move logo stories
Rust types
React components handle currency
Form field to enter and display an Identity Key
Fix up build order
Update README
Flat buttons
End adornment
Currency form field
Add more props
Export components
Add currency and mixnode fields
Group stories into folders and add flow
Change exports from shared packages to stop webpack bundling issues
Fix logo import
Add mock for tauri api in storybook that shows a console error for operations that are not mocked
Delegations views and routes for wallet
Delegations list show pending delegations and undelegations
wip - delegations page status
Add typescript type checking to storybook webpack config and more mocks for tauri
Add more interstitial states and confirmation modals
Copy change
Move config to inside source tree
Fix up `Console` typings
Add wrapper around Tauri `invoke` that logs operations in development mode
wip
wip
wip
ts-rs: remove old files
ts-rs: update paths to `ts-packages/types`
ts-rs: remove old files
ts-rs: export new types to `ts-packages/types`
Add `MajorCurrencyAmount` to convert to and from TS types for various backend currency types
New crate `nym-types` to provide types for frontend apps (wallet, explorer, etc)
wip
update type imports and fix some lint errors
update packages
update type imports
update type imports
update type imports
update type imports
start pulling out use of minorMajor and majorMinor
update type imports
update import
Add missing types generated by ts-rs
fix types
Adding denom to account
type updates
Handle micro currency denoms
Fix type conversion mistake
Add clean target
eslint: formatting
Update React currency components to use `MajorCurrencyAmount`
Add separators and extra props to currency components
replace currency mapper with denom returning from service
Adjust type while generation is broken
start integrating new CurrencyFormField component
update balance and vesting on client change (not only client address)
Fix up conversion from cosmwasm coin to major currency for minor denoms
Fix up typings and validations to remove more `Coin` usage
fix conflict
fix delegations form
start fixing validation
type update
remove console log
tidy up
remove more unused types
remove more unused types
Fix `Coin` denom to be `minor`
Fix up to minor_cosmos_coin
Fix up send
Remove `Coin` type
Fix up exported types
start delegation UI
more UI work
close actions modal on action select
update label
fix old delegateion form
minor updates
undo change to currency in stringD
Fix up types
Add feature flag for generating typescript
Generate types behind feature flag
Use custom cli tool to export `ts-rs` types
`ts-rs-cli` moves files into place and fix up `Makefile`
Update generations target
Add missing types for generation
Generate typescript types
reorder imports
use make generate-typescript for new types + type import updates
update types
Add delegate with everything
Add get block to nymd client
More conversions
Get a big list of delegations with lots of stuff
Add `avg_uptime_percent`
component api updates
ui updates and fixes
Add delegation history and pending events
Fix up addition
Fix up pending delegation event types
Filter pending delegation events
add history and pending events
set total delegations
rebase
fix breaking type change on delegate page
Fix mixnode mapping
Add back refresh and set periodic refresh
upgrade to react router 6
Add logging
Export new types for gas and transactions
increase container size!
add sendtx type
update onOK to return MAjorCurrencyAmount
align table items
display dash if amount not availble
work on delegate and undelegate
Make serializable
More types
Fix up errors
align item icon
type updates
Add operation to get all pending delegation/undelegation events
Fix up logging
Add more logging
Fix undelegate error
get pending delegation events
remove unused import
* Fix rebase errors
* Integrate fees changes:
- make operations available as requests (typed with any for now, needs changing)
- move `FeeDetails` to `common/types`
- mock `getGasFee()`
* get wallet balance after transactions
* fix duplicate key
* use token pool selector
* update wording
* Created nymd internal coin
* spell delegations correctly!
* Additional From implementations plus a constructor
* try_add
* Changed client API to use the new coin type
* CoinConverter trait
* Made wallet compilable with the recent changes
* Simplified the API by removing the generics in favour of explicit Coin type
* Fixed validator api
* integrate modal divider with modal component
* handle undelegation of locked tokens
* only return events table if there are events
* Fixed up tests and clippy
* Refactored missed coin-generic API methods
* changelog
* refresh on network or client details change
* Bunch of temporary workaround to have wallet working-ish
* Add claim and compound wallet endpoints, proc_macro to generate execute and simulate
* CHANGELOG
* Sort CHANGELOG lines
* PR comments
* allow sorting of pending events
* fix lint errors
* handle page overflow
* handle reedem and vesting redeem requests
* set up compound rewards
* refresh locked tokens on page load
* remove old delegations pages + remove settings modal + update network explorer url
* update validation for hostname (prevent leading spaces)
* add compound success case
* display est fee until new simulations are used
* fix up coin validation
* tommy fixes
* Show app version at bottom of nav
* Show admin page when account matches account id from `.env` file `ADMIN_ADDRESS` map. Value is fetch from GH Actions secrets at build time.
* Update change log
Co-authored-by: tommy <tommyvez@protonmail.com>
Co-authored-by: Mark Sinclair <mmsinclair@gmail.com>
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Co-authored-by: durch <durch@users.noreply.github.com>
* Add coconut verifier structure for coconut protocol in gateway
* Add endpoint for validator-api cred verification
* Remove unused signature field
* Register new endpoint
* Improve validator-api config handling
* Aggregate verif result from all apis
* Simplify aggregate functions
* Verify cred on apis correctly
* Introduced coconut bandwidth contract to validator client
* Fix rebase double import
* Fix clippy on non-coconut
* Add multisig contract address to validator client
* Refactor Credential struct
* Do bincode magic in the coconut interface
* Implement serialization for credential and remove bindcode
* Fix clippy and don't remove dkg
* Client release funds proposal
* Add wrapper for blinded serial number
Also compare theta with a blinded serial number (in base 58 form)
for future double spend protection.
* Only post blinded serial number to blockchain
* Validator api propose credential spending
* Fix wallet
* Gateway calls proposal creation
* Query for proposal in verify coconut
* Remove db from git
* Verify against proposal description
* Validator apis vote based on verification of cred
* Fix wallet fmt
* Execute the release of funds
* Fix translation between token and bytes
* Update CHANGELOG
* Updated cosmrs
* Simpler fmt::Display for Operation
* Adjusted GasPrice parsing test due to changes in Denom FromStr impl
* Removed direct dependency on cosmrs in the wallet
* Removed TryFrom<GasPrice> for Coin as it didn't make much sense
* disgusting workaround for providing serde for fee
* NymdError improvements
* Ability to simulate "send"
* Removed needless conversions
* Changedi nterface to "normal" send to account for new fee
* Removed outdated imports in tests
* Removal of 'Operation' enum
* Implemented simulate endpoints for all other txs
* 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
* Tag contract errors, and print out lines for easier QA
* Allow updating mixnet address by admin
* Add reply endpoint, and unbond callback
* Extract vesting messages
* Wrap up
* Rename function/variables mixnodes->set
* Stub utility interface
* Rewarded set contract interface
* Move epoch to common, epoch to contract
* Move epoch to the chain
* Rewarded set validator-api
* [ci skip] Generate TS types
* Epoch queries
* Moved new code to a new module
* Restored cosmwasm dependencies to their beta.3 versions for better compatibility with the rest of the codebase
* Rewarded set write reorganisation
* Stub for validator api module responsible for rewarded set updates
* Reorganised validator api cache
* Pending contract changes
* Relevant updates to the validator client
* Updating rewarded set based on contract state
* Advancing/Setting current epoch in the contract
* Using blocktime as 'now' at startup
* Adjusted validator-api side rewarding code
* Contract cleanup + query for epoch rewarded set heights
* [ci skip] Generate TS types
* Simplified rewarder processing loop and initial sync
* [ci skip] Generate TS types
* Fixed EXISTING query-related unit tests
* Fixed existing unit tests for rewarding-related transactions
* Cargo fmt
* Removed some dead code
* Using cosmwasm 1.0.0-beta3 for compatibility [with cw-storage-plus and rest of codebase]
* Missing TryInto import
* Additional storage and query related unit tests + a bug fix
* Transaction-related unit tests + bug fixes
* Required migration code
* Update common/cosmwasm-smart-contracts/mixnet-contract/src/msg.rs
Co-authored-by: Drazen Urch <drazen@urch.eu>
* Update common/cosmwasm-smart-contracts/mixnet-contract/src/msg.rs
Co-authored-by: Drazen Urch <drazen@urch.eu>
* Constant renaming
* Changed determining previous epoch return type to Option<Epoch> if they would precede the genesis
* Exposed the new endpoint to the wallet
* Epoch-related unit tests fixes
* Recommended #[must_use] on next_epoch method
* Renamed all epoch occurences to interval
As they refer to the 'rewarding interval'
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Co-authored-by: jstuczyn <jstuczyn@users.noreply.github.com>