* 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
* Add spend credential endpoint to coconut bandwidth contract
* Store spent credentials support
* Add query endpoint for spent credentials
* Proposals allowed only from special (contract) address
* Include check for admin in tests
* Create proposal from CBC
* Refactor into coconut integration tests
* Create proposal with spend credential integration test
* Resolve mixnet warnings
* Refactor to re-enable build
* Call CBC from gateway and remove validator-api workaround
* Include migration for the first deployment of multisig
* Fix bug in proposal id parsing
* Remove more validator-api create proposal code
* Check for InProgress status of credential
* Check the proposed voucher value
* Unwrapping cosmos msg from gateway
* Improve error message
* More nit fixing
* Test getting validator api cosmos address endpoint
* Refactor to prepare for distributed comm channel
* Refactor coconut e2e test for reuse
* Verification of cred endpoint test
* Update CHANGELOG
* Introduced concept of denom details
No longer exposing plain 'DENOM'
Denom registration + conversion
Generating typescript type for DecCoin
'New' API on 'send'
Further WIP work on transforming usages of MajorCurrencyAmount into DecCoin
Further replacements of MajorCurrencyAmount into DecCoin
Attempt at dec-coinifying get_all_mix_delegations
Finished purge of MajorCurrencyAmount
Display for Fee
More unification for conversion methods
Fixed up tests and made clippy happier
Minor post-merge fixes
Removed explicit Arc and RwLock from all tauri commands
Fixed conversion to display coin
More type-restrictive exported denom type
Regenerated rust => ts types
* post-rebase fixes
* update frontend
* fix lint errors
* Adjusted Display implementation of DecCoin to include space between amount and denom
* Adding separate base and display denoms for account
* Fixed account constructor
* Using CurrencyDenom for display_mix_denom
* uppercase denom on frontend
* Changed AutoFeeGrant constructor
Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@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
* validator-api: compute and return APY for all mixnode bonds
* validator-api: tidy
* validator-api: handle the absence of storage
* validator-api: some comments
* validator-api: refinements to apy calc
* validator-api: extract out some calculations
* changelog: add note
* 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
* Add more data to reward-estimate response
* Fix uptime integer division error
* typo
* Reify tuple response
* Fix uptime calculation
* Use lambda and sigma instead of ticked versions for delegator and operator rewards calculation
* 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
* 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>
* Import cw3-flex-multisig and cw4-group contracts
* Add release_funds to coconut-bandwidth-contract
* Create contract.rs file
* Add cw multi test and a test that uses it
* Use mnemonic for coconut mode too
* Stricter access to config file, which contains mnemonic
* Update tests
* Remove signed deposits dir after merging that into sql db
* Clippy nits
* More clippy
* Remove backtraces features to pass clippy tests
* Merge the same mnemonic for rewarding and coconut
* Simplify things, letting network monitor use testnet-mode with gateways
* Unify the nymd clients
* Sqlx common storage for buying/consuming credentials
* Link credential storage to credential client
* Trigger rewarded_set update on bootstrap error
* Fix bug on message signing
* Simplify coconut feature in code and set it in validator-api
* Update some local consts
* Link clients to credential storage
* Simplify sql query and change socks5 too
* Update attr handling such that public ones are usable
* Normalize test addresses
* Fix clippy
* Merge storages for (non)coconut creds
* Fmt miss
* Disable wasm client support for now
Co-authored-by: durch <durch@users.noreply.github.com>
* Have reward set updater run its own timer (#1200)
* Have reward set updater run its own timer
* Filter rocket log spam
* Take last day of uptime for rewarding (#1202)
* Take last day of uptime for rewarding
* Rejigger calculations
* Blacklist based on last 24 hr
* Cleanup
* Clippy
* Additional, more informative routes
* Improve blacklist updates
* Fix rewards estimation
* 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
* 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