* 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
* Created nymd internal coin
* 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
* Fixed up tests and clippy
* Refactored missed coin-generic API methods
* 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
* Added abci::Data field to ExecuteResult
* optional serde support for ed25519 keys
* optional serde support for x25519 keys
* actually calling dotenv at validator API startup
* Added STATE_DENOM network specific constant
* unit test fixes
* Broadcast tx in a sync mode and poll for its inclusion
* Adjusted internal type used in TauriTxResult
* Re-exported MsgSend
* Increased polling rate + removed print
* Fix gateway test wallet address
Since we're switching to mainnet as default, use the correct wallet
address format.
* Fix other test with prefix problems
* Passing proxy value when attempting to compound delegator reward
* Do not attempt to delegate reward to mixnode if its zero
* Additional guards against sending 0 tokens
* Removed sign of sloppiness
* Fixes to rewards and delegation events storage
* Remove block count check, epoch cannot be advanced while in progress
* Add reward compound ops to vesting contract
* Migration to remove 0 value delegationns
Co-authored-by: durch <durch@users.noreply.github.com>
* Utility for parsing Vec<ProtoCoin>
* Support for different types of vesting accounts
* Derived Debug for Account
* Exposed method for querying for account details
* Renamed ibid. to a more appropriate name
* Economic dynamics stats endpoint on the explorer API with dummy fixture data
* Populating the endpoint with real data aggregated from validator api
* Introduced new cache functionalities
* Type safe bounds
* Debug get_all_delegations
* List raw delegations
* query all delegation values
* Get all keys and values
* Differentiate on len
* Clean up duplicates
* Remove stop gap
* Cleanup, fix paged query key
* Reduce queries required to get all delegations
* Sandbox migration
* Delete migration
* Add placeholder client for implementing coconut interactions
* Add db for persistance
* Add nymd client
* Add new coconut-bandwidth contract
* Call deposit function
* Introduce error handling
* Call the old flow of getting a signature
* List available tx hashes
* Add signed req in body
* Save signature received
* Add event generation
* Checks in validator-api
* Fail with error instead of panic in validator-api route
* Fix contract address and small bug
* Add file db for storing previous signatures
* Encrypt and store data in validator-api
* Decrypt the received signature
* Remove tx hashes after getting credentials
* Small listing changes in client
* Change response so that it easier to serialize
* Error message is sent to client for display
* Remove already signed error and return the previous sig
* Merge signature with deposit data in client
* Entrypoint for getting the encrypted signature
* Refactor blinding stuff so that it can be backed up
* Backed up the blind sign request
* Client can re-request the encrypted signature shares
* Update crypto features
* Fix clippy
* Activate instantiate test and remove unused code
* Add tx tests
* Add verification key endpoint test
* Voucher consistency test
* Test for some errors and a race condition on blind signing
* Refactor and add client trait for enabling better testing env
* Test some more of blind sign
* Finished testing all extract_encryption_key paths
* Split into function test and endpoint test
* Test for correct signature
* Test for state functions
* Remove print
* Test blind_sign endpoint
* Test for cached signature endpoint
* Stricter types in voucher
* Rename signature with partial_bandwidth_credential
* Extra route levels
* Length check and remove some unused code from coconut interface
* Renamed coconut-bandwidth common crate
* Renamed verification_key to identity_key
* Use const instead of hardcoded values
* Use type aliases for crypto algorithms
* Remove unused mods, until needed
* Remove unneeded unwrap
* Fix some coconut issues that were blocking the wasm client build
* Move from sled to existing sql database
* Update tests for new db type
* Fix wasm for coconut too
* Remove sled from dependencies
Resolved dependency issues in testnet-faucet
Removed the outdated react example
Updated js example dependencies
Using sandbox in js example
Feature locking imports
Running wasm client in testnet mode by default
Allow using `None` BandwidthController in testnet mode
Reverted endianness change and left it for others to deal with
Fixed up websocket js-example
Changed endianness of aes counter
* 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
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