* Add QueryPendingDelegationEvents QueryMsg
* Add pending_delegation_events to nymd client
* Add pending delegation events to wallet
* Get rid of double epoch accounting
* Fix reward saving
* Try batching operations to reduce fees
* Bundle all transactions into one
* make nice
* Change accumulated reward to Option, migrate delegations
* Remove interval from the validator cache
* Add info to db errors
* Remove interval fetch from the contract
* Rework epochs
* Fix undelegation errors
* Emit error event instead of error
* make no-clippy
* Fix clippy lints
* add pedersen.rs and first alias type
* replace ciphertexts in BlindSignRequest by commitments and adapt try_from
* update BlindSignRequest.to_byte_vec
* add TODO to issuance.rs
* [WIP] update CmCs proof to use commitments
* complete ProofCmCs construct implementation
* [WIP] ProofCmCs verify
* complete ProofCmCs verify implementation
* complete ProofCmCs to_bytes implementation
* complete ProofCmCs from_bytes implementation
* WIP update ProofCmCs roundtrip tests
* WIP update prepare_blind_sign
* update prepare_blind_sign
* WIP update blind_sign
* update blind_sign
* update BlindedSignature and try_from
* update BlindedSignature unblind
* update BlindedSignature to_bytes
* move elgamal encrypto to elgamal and manage imports
* add verification keys for g1 method
* upadate tests to work with Pedersen commitments
* unused remove pedersen.rs
* update error message
* fix proof_cm_cs_bytes_roundtrip test
* Move generation of commitment openings into prepare blind signature function
* Edits
* Extende the verification key; remove validator's secret key from the unblind function
* Update the unblind function throughout the whole nymcoconut repo
* Fix broken tests
* Run cargo clippy and fmt
* Add benchmark measurements
* Add more detailed printouts
* Change byte printout
* Update benchmarks
* add public attributes as part of the commitment
* update bytes order comment for ProofCmCs
* check proof_cm_cs_bytes_roundtrip test and remove TODO
* remove irrelevant prints in blind signature tests
* remove inappropriate function to get betas_g1
* remove irrelevant prints in verification
* Remove print statement and add additional checks on the verification key
* Run clippy
* Fix coconut call in validator-api
* Update dependend packages
* Update the input to the obtain partial credential function
* Fix the verification key bytes calculation
* Run cargo fmt on keygen.rs
* Run cargo fmt for validator-api
* Run cargo fmt for credentials
* Replace concat with chain
* Remove unneccessary mut
* Run cargo fmt
* fix type conversion
Co-authored-by: aniampio <anna.piotrowska.15@ucl.ac.uk>
By attaching network defaults to the selector enum, we can get them
either from DEFAULT_NETWORK or a selector passed as a dependency.
Hopefully this opens up some venues for being able to toggle between
networks at runtime.
* Save gateway owner for later use in erc20 bandwidth request
* Pass owner in network monitor
* Switch to variable length owner address
* Add erc20 bridge contract in validator client
* Check bandwidth credential refers to gateway
* Check the owner of the gateway from the eth event
* Fix wasm client
* Hack to avoid unused warning on coconut path
* Hacked, one-time payment
* Remove print
* Update arg format
* Fix token check
* Fix native template
* Use utokens instead of full token
... when talking to eth
* Fix parse event for new field
* Fix socks5 template
* Add estimation of gas call
* Make fs backup more reliable
* Fix clippy
* Fix unused import
* Update waiting time
* Remove defaults from run, as it they should be set on init
* Remove debugging prints
* Replaced unwrap with error
* Fix build
* Make eth contract address dependent of network
* Use tokio for sleep
* Add approve before spending token on bandwidth
* Put bandwidth claim only at the beginning of the process
* create nymlogo component
* start scaffolding
* set up mnemonic check pages
* start on guess words components
* mnemonic verification work
* more mnemonic verification
* hard code number of words to generate
* mnemonic verification section 2
* add password strength indicator
* add password confirmation
* update text
* disable word tiles on selection
* add exisiting account page
* finish exisiting account login
* add back buttons to return to the initial screen
* update button size
* create network selection component
* implement network selector component
* update page types
* make currency and network dynamic variables
* remove unused env values
* [ci skip] Generate TS types
* lighten subtext
* display network name in app
* create network selector component
* remove old network display component
* update state in response to network selection
* state updates
* implement logout
* refresh delegations on network change
* Initial implementation of data encryption/decryption with provided password
* Removing milhon network.
* Removing more milhon references.
* Adding in mainnet constants for network defaults. Contracts are not yet defined.
* Allow encryption of EncryptedData<T>, where T: Serialize + Deserialize
It uses serde_json for representation of T
* Making contract addresses optional
* [ci skip] Generate TS types
* Add mainnet as implicit network
* Fix unreachable code warning
* Using zeroize for encrypted data + password
* Get denom dynamically
* initialize network to undefined before login
* Fix str parse to dynamic denom
* Pass network in config all the way to hd wallet generation
* Fixed encrypted data deserialization
* Storing and loading accounts from the disk
* Additional error variants
* Fix clippy in wallet
* Simplified contract address parsing
* display error
* fix typo
* uncomment code
* Use sandbox as backend default again
* Reorganised wallet storage for easier testing + unit test
* Fix denom showing
* to_major call only on printable balance
* fix up state changes
Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com>
Co-authored-by: fmtabbara <fmtabbara@users.noreply.github.com>
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
Co-authored-by: Bogdan-Ștefan Neacșu <bogdan@nymtech.net>
* 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
* Extracted constants that could realistically be controlled by governance to constants.rs
Also made interval control be more explicit in the contract
* Extracted active set work factor to a constant
* Required type changes in wallet code
* [ci skip] Generate TS types
* Missing change in test code
Co-authored-by: jstuczyn <jstuczyn@users.noreply.github.com>
* Updated time to 0.3.6
* Changed Display impl for Interval so it doesnt use floats
* Explicit rfc3339 datetime serialization
* Typo
* Changed 'visit_borrwed_str' to 'visit_str'
* Fix wasm client
* Re-enable CI on wasm client
There is an `unused-unit` lint that will fail for now, but this is
regarded as a false positive and should eventualy get fixed:
https://github.com/rustwasm/wasm-bindgen/issues/2774
* The wasm tests would be run under native arch
* 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>
* Add identicons package
* Tidy up styling and move methods into component directories with better naming
* Add mixnode status colours to theme
* Mixnode status and icon components
* Add status to mixnode types
* Add API method to get mixnode details
* Add mixnode details to state
* Add status and name+description section to mixnode detail page
* Wrap with div instead of p
* Limit width of description and link to new tab
* Limit length of link button and truncate with elipsis
* Replace `filter` with `find`
* Move mix node detail components to a location that is better named
* Refactor mixnode detail state and separate into an independent context from main state.
This prevents the mixnode detail page from showing stale data when switching between mix nodes.
* Tidy up mixnode detail page adding new state provider and a guard component to handle loading, error and not found states
* Layout changes to mixnode description header section
* Add methods to Explorer API client to get a mixnode by id, active set by status and overview summary
* Add color prop to StatsCard and make count optional
* Add optional start and end children to TableToolbar
* Tidy up naming
* Add summary overview and getting mixnodes by active set status to main state
* Add mix node status overview cards
* Add mix node status to routes
* Mixnode list has a dropdown component to select the active set status
* Clean up caching code
* Add resource to get a single mixnode by id
* Add API resources to get `active`, `inactive` and `standby` mixnodes
* Add mixnode summary to API
* Add overview summary endpoint to API
* Fix OpenAPI/swagger base url
* Make clippy happy
* Add method to get validators
* Add methods to get active and rewarded mixnodes
* Fix naming
* Move client creation to crate root
* Move cache to module
* Delete unused files
* Add validators API resource
* Add gateways API resource
* Move tasks to crate root
* Add new HTTP resources for validators and gateways to routes
* Tidy up naming and locations for mixnodes
* Add validator and gateways to state, and tidy up naming
* Add gateways and validator modules to main
* Overview shows validator and gateway summaries from state
* Bundle variable weight Open Sans fonts
* Fix up font weights and sizes
* Fix up typing
* Fix up social icons
* Fix navbar colour
* Fix paper colour in dark mode and border radius
* Fix up stats card
* Tidy up Nym icons
* Fix up overview
* Fix up spacing and padding for overview
* Add light mode shades that are darker for mixnode status values
* Review feedback