* Add basic savings strategy
Supports ukava
* Use clearer error message for ErrInvalidVaultStrategy
* Add invariants
* Separate specific vault/all vaults query, update depositor inconsistencies
* Update swagger
* Use single bkava AllowedVault for all bkava variants
* Do not use allowedVault.Denom for value
* Fix vault balance query
* Update query to list bkava vaults
* Add vaults query doc
* Update grpc query test with no supply
* Add earn hooks
* Handle errors
* Update outdated doc comments, make getAllowedVault_Raw private
* Fix outdated comments, lints
* Fix comment maths
* Use AccAddressFromBech32 to validate message addresses
* Add multiple strategies to params, queries, txs
* Check deposit/withdraw strategy if supported by vault
* Add note for deposit strategy
* Add strategy type to messages
* Update swagger docs, ignore ethermint proto linting errors
* Update strategy test, move single strategy support to strategytype
* Simplify NewStrategyTypeFromString
* Change vault supply to shares
* Update deposit shares
* Use shares instead of supplied
* Update tests, fix share calculation
* Pass hard and savings keeper as pointer to earn keeper
* Update remaining failing test
* Add different share price test, fix comment for share price
* Add shares amount to events
* Additional share tests, use share to asset conversion for withdraw amount
* Update VaultTotalValue test
* Use sdk.Dec for vault shares instead of sdk.Int
* Add test for expensive 20:1 shares
* Update ConvertToShares comment for division, remove redundant test
* Add vault share tests
* Add vault and vault shares to genesis
* Fix error and denoms
* Update init and export genesis with correct data
* Fix total supply genesis check, remove legacy test for enum errors
* Add vault slice validate tests
* Update denom validation, add additional test
* Add query methods
* Add TotalDeposited rpc query
* All accounts and all denoms query wip
* Add query deposits
* Remove IsDenomSupported strategy method
This is not necessary and is already set in params allowed vaults
* Add Vaults, TotalDeposited queries
* Deposits query tests and fixes
* proto lints
* Add earn swagger docs
* Add cli query cmds
* Update init-new-chain.sh with usdx strategy and funds
* Add denom url query path for vaults
* Return a list of coins for each depositor instead of multiple deposit entries
* Simplify strategies to lend and savings
* Add hard and savings keepers
* Add ctx to strategy interface, fill in lend strategy
* Rename lend strategy to hard
* Fix hard deposit query, fix withdraw bank send
* Fix misleading borrow instead of withdraw for hard
* Remove liquidateall strategy method
* Withdraw tests
* Add hard gs to testutil suite
* Update withdraw tests with working hard strategy, clean strategy interface methods
* Check allowed denom for strategy
* Update GetVaultTotalValue doc note
* Update error wrap message for unsupported denom
* Remove unnecessary viewvault keeper
* Withdraw amount from account value, not supplied value
* Test value > supplied withdraw
* Use dec when dividing for withdrawAmountPercent
* Use the correct store prefix for vault shares
* Update swap references to earn
* Simplify vault shares, use a single share for all coins per address
* add committee migration skeleton
* add helper methods to help modify permissions
* modify permissions in migration
* tidy up committee migrations into own file
* add initial auction migration from Levi's work
* reserve bid_duration field name as well
* refactor auction specifc migration code to legacy v0_17 pkg
* Add auction migration specific test. Delete v016 migration files. Add makefile target for running migration tests.
Co-authored-by: galxy25 <levismschoen@gmail.com>
* ibc v3 upgrade
* ibc no longer uses confio
* add proofs proto for ibc/v3
* wip add ethermint module
* update cosmos to 0.45.0
* add ethermint proto & bug fixes
* remove todo
* update docs
* fix a number of bugs
* minor comments update
* fix breaking tests
* Wrap bank keeper for EVM to convert decimals (#1154)
* Add bankkeeper wrapper for evm
* Remove agas from init-new-chain.sh, use ukava for evm_denom
* Fix sdk.Coins conversion, require min 1 coin amount
* Remove gas from init script
idk how this happened lol
* Remove debug logging stmt
* Restore original init ukava amounts
* Fix inplace coins conversion
* Use evmtypes.BankKeeper interface insteadof banktypes
* Add TestGetBalance
* Add doc comments, remove temp actualAmt vars
actualAmt vars replaced with inline calls to make it more clear that the
converted value is being used, as opposed to accidentally reusing the
raw EVM amt.
* Add TestSetBalance
* Add TestIdempotentConversion
* Panic if converted coin from EVM is 0
This happens if a value is less than 1ukava
* Deep copy coins instead of in place modification
* Update test coins amount
* Add panic tests for small EVM amounts
* Use evmtypes.BankKeeper as NewEVMBankKeeper param
* Tidy test setup
* ensure sdk config is set when creating new apps
* Respond EVM bank keeper GetBalance with SpendableCoins
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* further speed up docker builds
* feat: restore previous keys add defaults, add eth flag (#1172)
* feat: restore previous keys add defaults, add eth flag
* remove outdated comment
* fix: remove redundant flag default
* evm bank keeper with akava handling
* fix issues
* add remaining tests
* add emv module to app
* add missing imports
* clean up comments
* wip akava keeper
* evm keeper
* fix genesis import
* reduce module permissions
* add bank keeper tests
* cleanup tests
* genesis tests
* change defaults
* add eth faucet key & fix issues
* switch to kava ethermint
* add a lot of tests
* add balances invariant
* add evm tests
* Remove panic if Swagger disabled in config (#1155) (#1183)
Co-authored-by: Derrick Lee <derrick@dlee.dev>
* add invariant to catch any akava balance > 1 ukava
* clarify name of balances invariant
* connect invariants to app
* fix evmbankkeeper akava issues
* add spec for evmutil
* remove zero balance accounts from state
* minor adustments
* update to ethermint 0.10.0
* fix eth ante
* add missing godoc comment
* Update x/evmutil/spec/01_concepts.md
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
* Update x/evmutil/spec/01_concepts.md
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
* Update ethermint to v0.12 (#1203)
* update to ethermint v0.12.2
* use app.Options for new evm options
* fix missed references to app.Options
* use ethermint branch while waiting on upstream fix
* evm migrations for tesnet alpha 2 (#1206)
* update to ethermint v0.12.2
* use app.Options for new evm options
* fix missed references to app.Options
* use ethermint branch while waiting on upstream fix
* add upgrade handler for evm-alpha testnet 2
* v17 migration setup + evm modules
* refactor migrate states
* x/feemarket migration
* v17 migrations setup + evm modules migration (#1210)
* v17 migration setup + evm modules
* refactor migrate states
* update gen time
* fix: update genesis time in test output
Co-authored-by: karzak <kjydavis3@gmail.com>
* add savings module to app blockers
Co-authored-by: Derrick Lee <derrick@dlee.dev>
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
Co-authored-by: rhuairahrighairigh <ruaridh.odonnell@gmail.com>
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
Co-authored-by: karzak <kjydavis3@gmail.com>
* define and generate proto types
* implement savings claim msg + test
* implement savings claim + test
* register msg and add store keys
* implement savings claim keeper methods
* update function comment
* define and generate proto types, update types dir
* update gen state with savings + test
* update legacy test data for ci test
* update proto types numbering
* update params proto types numbering
* add deposits to genesis state
* import/export genesis with deposits
* add helper keeper method + update tests
* invariants + tests
* register invariants on module
* fix genesis test invariant init
* clean up invariants test
* remove comment from test file
* fix invariants test
* run 'make proto-all'
* Split bid_duration field into forward/reverse durations
* Update params.go
* Update params_test for forward/reverse bid durations
* Remove duplicated import
* Replace bid duration on place bids
* Fix reversed bid errors
* Update auctions test
* Update bidding test
* Update testutil suite to use default forward/reverse bid durations
* Fix missing ReverseBidDuration param field
* Check if auction is reversed on forward bid
* Add test for conversion to reverse auction that reaches maxbid
* Make proto fields backwards compatible
* Use ForwardBidDuration for debt bid
* Make copy of v16 auction types
this doesn't actually work but keeping it in history
* Disable migrations
* Update debt tests to use forward bid duration
* reinstate and expand export test
* format testdata json
* sort bep3 testdata json for easier diffing
* add more bep3 swap examples to test data
* reset swaps for zero height
* update top level migration testdata
* add uatom ibc denom to money markets in hard migration
* add new money market to stability committee
* clean up
* update v0_16 migration test data
* add swp, uatom ibc denoms to hard gov committee
* update committee migration testdata
* update general migration test data
* specify committee ID with vars
* fix merge var rename bug
Co-authored-by: rhuairahrighairigh <ruaridh.odonnell@gmail.com>
* fix: update circulating supply to accurately reflect inflationary KAVA supply
* revert lp claims subtraction
* fix: use total supply after all vesting complete
* Add cdp/totals rest endpoint for aggregated principal and fees
* Add total collateral to aggregated cdp
* Add pagination
* Update totalPrincipal endpoint to use keeper GetTotalPrincipal
* Update documentation for queryGetTotalPrincipal
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
* Remove unused AggregatedCDP types
* Make CDP type optional, return all if not provided
* add total collateral endpoint that efficient fetches collateral
for a types, only iterating cdps for types b, etc
* correctly and efficienlty filter for a single collateral type
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* add no votes information to polling status, updating events and querier
cli/rest responses. This allows clients to differeniate between no and
abstain votes
* update querier test to include no vote assertion