* validator-api: create node status cache with selection probabilies
Create a node status cache to complement the contract cache. Initially
we store the simulated active set selection probabilities.
* validator-api: add validator cache watch channel
* changelog: add note
* validator-api: clippy fixes
* validator-api: fix clippy
* validator-api: additional fields to inclusion probabilities response
* selection chance: revert back to 3 buckets
* selection chance: revert buckets again
* rustfmt
* validator-api: remove the old get_mixnode_inclusion_probability
* node-status-cache: return error when refreshing
* inclusion-simulator: cap on wall clock time
* node status cache: tidy
* 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
* 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
* 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 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
* 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
* 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>
* Moved mixnode status route to node status api module
* Introduced validator-api endpoint for estimating mixnode's reward
* Stake saturation endpoint
* kebab-cased coconut routes
* Created separate crate for validator API models
* Additional routes in validator API client
* Introduced support for new queries in the wallet
* Typescript type derivation
* Fixed up date in license notice