* 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>
* 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
* 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
* 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 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.
* 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>
* 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>
* Introduce a method to update mixnode configuration
Right now, only for profit_margin_percent
* Check that the new profit margin is valid
* Extend a bit the test coverage of mixnode update
* Create validator client function
* [ci skip] Generate TS types
* Update wallet
* Update the bond height as well, as if a rebond was made
Co-authored-by: neacsu <neacsu@users.noreply.github.com>
* Refactored test helpers
* Renaming mixnode "bond" coins to "pledge"
* Renaming gateway "bond" coins to "pledge"
* ibid
* Commenting out new tests, they will go in next PR