* extract hard claim migration function
* tidy up claim delegator index migration
* fix invalid hard claims
* fix comment missed in merge conflict reolution
* fix tests
* minor migration refactor
* overwrite usdx claims with latest reward indexes
* add missing usdx claims in migration
* add script to calculate missing usdx rewards
* generate missing rewards using preliminary data
* add missing usdx rewards in migration
* update missing rewards data to use correct genesis
* test rewards were not decreased
* add tests for missing reward calculations
* clarify function names
* test to assert total new rewards are as expected
* remove unecessary todo item
* implement swp airdrop to usdx depositors to hard
* verify swp airdrop amount, total supply, affected users
* remove unused test code
* add map as go file
* update tests to use stored variable
* re-add snapshot test
* update snapshot testdata
* remove unused code for generating swp airdrop map
* remove snapshot test
* add swp token distribution
* bump test timeouts
* address review comments
* use global variables to simplify testing assertions on swp supply
* optional: swp migration test and small refactor (#1005)
* add test to ensure balances are not decreased
* simplify slice manipulation
* bump context deadline in circleci
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
* implement swp airdrop to usdx depositors to hard
* verify swp airdrop amount, total supply, affected users
* remove unused test code
* add map as go file
* update tests to use stored variable
* re-add snapshot test
* update snapshot testdata
* remove unused code for generating swp airdrop map
* remove snapshot test
* update acceptance test to fail
* update periodic vesting reset to reflect additive period lengths, not
absolute lengths
* simplify end time logic
* remove log
* test inclusion of v0_15 migration tests
* add auth test data
* add periodic vesting account migration
* assert owned coins are equal and unchanged during migration
* add script for generating test data from a genesis file
* remove commented import
* touch ups
* don't pretty print test data for auth module; update generate script to
use jq -c option
* fix typo in comment, improve clarity of assertions
* add context to migrate auth assertions
* add 180 days check for spendable coins
* asssertion context
* pr feedback - add assertions, touch up assertion msgs, and fix migration test to correctly
type assert pointer
* move multipliers to their own file
* add multipliers per denom to MsgClaimHardReward
* claim with multipliers per denom for hard claims
* remove unused error
* add multipliers per denom to params
connect to to hard claiming
* temporary fix migration
* update usdx claiming for new multiplier params
* claim with multipliers per denom for delegator
* claim with multipliers per denom for swap rewards
* tidy up multiplier name validation
* rename new multipliers field in params
* remove old multpliers from params
* clear up various TODOs
* add tags to new structs
* remove dead code
* extract borrow sync logic into separate func
* fix borrow reward calculations
Use the normalized borrow as the source shares in reward calculations.
* extract supply sync logic into separate func
* prepare to fix supply reward calculations
* fix deposit reward calculations
Use the normalized deposit as the source shares in reward calculations.
* extract usdx sync logic into separate func
* prepare to fix usdx reward calculations
* fix cdp reward calculations
Use the normalized cdp debt as the source shares in reward calculations.
* fix compile error from messed up partial stage
* Fix incentive usdx reward bug (#976)
* minor test refactors
* fix overpayment bug
Init methods should not read params.
Add test to cover bug
* fix typos
* add test for validate multi reward periods
* tidy up: combine files
* don't accumulate global indexes containing zeros
Previously if the time since last block was 0,
indexes were added containing 0s.
Now leave them out. Missing is assumed to be 0.
* move state independent test to types folder
* clarify reward source concept to "source shares"
- rename variables and update doc comments
- extract method from swap accumulation
* tidy up and expand swap accumulation unit tests
* rename swap test file to match others
* update swap pool id format in tests
* refactor borrow accumulation, use new accumulator
* refactor supply accumulation, use new accumulator
* refactor delegator accumulation, use accumulator
* refactor usdx accumulation, use new accumulator
* fix types const
* remove unsed methods
* more usdx minting param validation.
Protect against the rewards per second denom changing.
It should always be "ukava".
* add safety check in InitGenesis
It prevents huge accumulations on the first block by limiting all
previous accumulation times to be within one year of genesis
* add todo for adding swp token distirbution info
* update state store key separator and extract pool key sep
* update state key separater and pool id seperator to not conflict with
'/' in ibc vouchers
* fix pool ids for updated sep
* add regression test for hooks; refactor deposit to commit pool and
shares in one place with commit after validation checks; panic on pool
and share set methods if the record is invalid
* use correct hook ordering; add regression test for order - fails if
hooks are not called before or after share record set
* wip: add swap state persistent to genesis
* separate pool record constructors; add tests for json and yaml encoding
of record structs
* beef up validation checks for state records
* fix integration with master - renamed method
* add test coverage for basic state array validations
* extra test around pool record reserve and id ordering to ensure no
regressions in the future
* add validations to ensure pool records and share records are unique
within the collection types
* test genesis json and yaml encoding
* validate in genesis that the total shares owned for each pool is equal
to the total shares of each pool
* update alias
* nit lint
* test genesis init and export
* add migration todo
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* move defualt values to file where they're used
* add type to hold RewardIndexes in genesis state
* add reward indexes state to genesis
* fix genesis state importers
* add iterator keeper methods for accrual times
* remove syncing from export/init genesis
* separate incentive migration to new file
* refactor out common funcs from incentive migration
* update legacy genesis state to v0.14.3
* add test and example migrated json
* fully initialize rewards in genesis builder
* add kava-7-mainnet incentive state
* run aliasgen
* add missing type to incentive/legacy
Co-authored-by: karzak <kjydavis3@gmail.com>
* add message types for swaps
* add tx client commands
* add test coverage for swap message deadlines
* start handler swap tests, export handler result message event into
private method, add stubbed keeper methods
* add initial swap implementation to get handler tests passing; adds event
specific for trades
* add handler acceptance test for slippage in exact input and exact output
swaps
* implement slippage limit for swap keeper methods
* add tests to ensure a user can only swap spendable coins
* test pool not found, panic on invalid pool, and panic when module
account does not have enough funds
* validate that the exact output when using for exact swaps is less than
the pool liquidity
* nit: long line
* add validation that swap output is greater than zero
* add rest txs for swap messages
* nit: lints
* dry up swap keeper methods
* from pr feedback - spelling and increase clairty around the output
amount of a swap rounding to zero