* 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
* 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
* 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 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