Kevin Davis
e21a04ca57
fix: set previous block time correctly on block one ( #868 )
...
* fix: set previous block time correctly on block one
* fix failing tests
2021-03-10 10:56:23 -07:00
Kevin Davis
829aed5256
fix: decrement coins for supply/borrow properly ( #862 )
...
* fix: decrement coins for supply/borrow properly
* fix: decrement keeper liquidation reward coins from hard total supply (#865 )
* fix: use proper safe subtraction for withdraw/repay methods
* fix: decrement keeper liquidation rewards from total supply
* address review comments
2021-03-10 10:56:08 -07:00
Ruaridh
162602f390
Test users cannot borrow from reserves ( #869 )
...
* add ValidateBorrow test
* remove accidentally duplicated test
2021-03-09 12:11:13 -07:00
Kevin Davis
203d7e0063
Fix delegator rewards initialization ( #859 )
...
* fix: sync delegator rewards if they exist before creating new delegation
* remove comments
2021-03-01 18:36:40 -07:00
Kevin Davis
5ff0e4eea4
fix: ensure time elapsed is not negative ( #855 )
2021-02-28 10:33:56 -07:00
Kevin Davis
26e88c6177
fix: check correct time elpased condition ( #853 )
2021-02-24 11:25:40 -07:00
Denali Marsh
0e718d3510
Update Swagger for kava-5 ( #852 )
...
* hard: posts, gets, object definitions
* formatting
* incentive params
* incentive claims and rewards
* incentive fromatting
* update CDP
* format CDP
* fix typo in cdp liquidate route registration
2021-02-23 14:02:08 -07:00
Kevin Davis
5352c2489d
fix: set indexes to zero ( #835 )
2021-02-23 12:41:30 -07:00
Denali Marsh
8a878b0d66
add liquidate msg to cdp spec ( #850 )
2021-02-23 12:41:17 -07:00
Kevin Davis
e4daffcaf8
fix: enforce max number of liquidations in cdp begin blocker ( #849 )
...
* fix: enforce max number of liquidations in cdp begin blocker
* address review comments
2021-02-23 12:39:39 -07:00
Kevin Davis
667ad87825
[R4R] kava 5 migration ( #848 )
...
* wip: kava-5 migration
* feat: kava 5 migration
* fix: don't repeat genesis time
2021-02-22 18:28:07 -07:00
Kevin Davis
0865e40553
[R4R] incentive, hard migrations ( #783 )
...
* update v0_11 harvest genesis state
* wip: hard migration
* wip: incentive migration
* wip: incentive migration
* update incentive migration for multi-rewards
* address review comments
* sort slices for deterministic ordering
* update interest rate model and reserves
* fix: use correct conversion factor
* fix: remove auction size param
* remove ununsed module accounts
* update incentive claim multiplier for one month rewards
* address hard migration review comments
* add hard test
* migrate harvest mod account (#844 )
* migrate harvest mod account
* update hard account permissions
* update hard module account permissions
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
2021-02-22 14:08:23 -07:00
Denali Marsh
99fb79a1ae
update spec, add money market deprecation steps ( #841 )
2021-02-22 13:52:17 -07:00
Denali Marsh
1499a89ce5
Query Hard module reserves ( #843 )
...
* implement CLI reserves query
* implement REST reserves query
2021-02-22 13:48:52 -07:00
Denali Marsh
fe43c2bc41
Hard Audit: don't convert directly from sdk.Int to uint64 ( #842 )
...
* refactor away from sdk.Int's .Uint64() method
* refactor cdp module interest calc
2021-02-20 09:42:57 -07:00
Kevin Davis
5cd94047a4
fix: set interest accumulation time and exit when borrows are zero ( #840 )
2021-02-19 16:33:55 -07:00
Kevin Davis
1ab2e9965f
Add committee migrations ( #818 )
...
* fix: collateral param permission
* wip: kava-5 committee updates
* feat: add committee migrations
* rename functions so git recognizes diffs better
* rename
* remove auction_size param
* address review comments
* add check ltv index count to collateral param perms
* fix: update legacy migration
* use function to define collateral param in test
* use go 1.15 in circle
* address review comments
* fix: no nil values for collateral params
2021-02-19 14:05:42 -07:00
Denali Marsh
421f774ec1
sort unique denom list ( #836 )
2021-02-19 14:05:17 -07:00
Denali Marsh
0b6e47ff46
call hooks in export genesis ( #837 )
2021-02-19 13:49:36 -07:00
Denali Marsh
0a51a737cb
fix time elapsed calculation + test ( #838 )
2021-02-19 13:24:00 -07:00
Denali Marsh
6c88c01eb8
validate against money markets in store ( #839 )
2021-02-19 13:23:19 -07:00
Denali Marsh
6045a94b39
Allocate Hard supply/borrow rewards to legacy suppliers/borrowers ( #833 )
...
* initialize hard supply reward for empty rewards
* add god committee to integration test
* organize claim types, add helper methods
* reorder integration test's god committee
* legacy suppliers earn rewards + tests
* update InitializeHardBorrowReward + test
* remove formatting comments from tests
* allocate rewards to legacy borrowers + test
* apply change to update index denom methods
* Update querier to show synced rewards for legacy deposits/borrows (#834 )
* update simulated sync method to show rewards for legacy deposits/borrows
* more explicity debuging logs
* revisions
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2021-02-19 13:02:51 -07:00
Kevin Davis
c5fc1c6b4f
Add hard and incentive spec updates ( #817 )
...
* wip: update hard spec
* feat: updated hard spec
* feat: updated incentive spec
2021-02-19 17:14:48 +01:00
Nick DeLuca
bdbc9b9c58
remove unused total deposit value -- not needed by ltv range calculation ( #832 )
2021-02-17 10:37:41 -07:00
Denali Marsh
53eab47c07
Hard Audit: don't let users borrow from reserves ( #827 )
...
* don't borrow from reserves
* use safesub and throw error
2021-02-16 07:45:57 -07:00
Kevin Davis
58573e7b26
fix: allow ltv of zero ( #830 )
2021-02-16 07:43:46 -07:00
Kevin Davis
ad6ef76979
fix: set interest last updated to previous accrual time, not block time ( #829 )
2021-02-16 07:43:21 -07:00
Denali Marsh
e8d3d877aa
check borrow err ( #828 )
2021-02-15 08:30:41 -07:00
Denali Marsh
94999b6b02
Incentive module: accounts should only be able to claim their own rewards ( #826 )
...
* make rewards only claimable by sender
* remove 'owner' from cli for incentive claims
2021-02-15 08:29:00 -07:00
Denali Marsh
15da55b451
Hard Audit: refresh borrow/deposit after syncing ( #824 )
...
* refresh borrow/deposit after syncing
* revisions
2021-02-12 21:56:03 +01:00
Denali Marsh
a5b72363d0
Hard Audit: decrement total borrowed on liquidation ( #823 )
...
* decrement total borrow on liquidation
* copy kevin's decrement changes
* check error in liquidation
* extend decrement borrowed changes
* mimic negative check on the supplied coins side
* update liquidation test
2021-02-12 13:07:32 -07:00
Kevin Davis
7e39c1d0a8
fix: account for start time in calculating time elapsed ( #821 )
2021-02-12 08:30:10 -07:00
Denali Marsh
fe2a131b31
Hard Audit: add minimum borrow USD value ( #822 )
...
* add module param MinimumBorrowUSDValue
* borrow/repay min limit restrictions
* add borrow/repay test cases
* update tests with new module params
* update timelock test with param
* update withdraw LTV test
* remove unused GetCurrentBorrowUSDValue method
* commit to prompt CircleCI run
2021-02-12 08:28:05 -07:00
Denali Marsh
cd7a227030
Query Hard module's supply/borrow APYs ( #816 )
...
* calculate estimated apy from internal spy
* implement interest rate query
2021-02-10 10:53:53 -07:00
Denali Marsh
802ed36846
remove auction size param ( #815 )
2021-02-10 07:59:23 -07:00
Denali Marsh
7f43e6336e
permissioned incentive claims ( #814 )
2021-02-10 07:58:05 -07:00
Kevin Davis
bc1fab7836
fix: renumber error messages ( #812 )
2021-02-10 07:57:28 -07:00
Kevin Davis
e351e20727
fix: collateral param permission ( #813 )
2021-02-10 07:57:02 -07:00
Kevin Davis
04b65e1d4e
fix: export synced deposits/borrows ( #811 )
...
* fix: export synced deposits/borrows
* fix: epxort synced cdps
2021-02-10 07:56:38 -07:00
Denali Marsh
b620275165
Hard Audit: remove liquidation account from Hard module ( #810 )
...
* remove liquidator macc
* remove legacy if statement
2021-02-09 13:33:58 -07:00
Denali Marsh
7465c643b8
decrement/increment coin counters on auctions ( #809 )
2021-02-09 13:32:28 -07:00
Kevin Davis
7d4235ca87
fix: don't accumulate if borrow interest rounds to zero ( #808 )
2021-02-09 10:11:12 -07:00
Kevin Davis
58db05f8e2
fix: set reward indexes in init genesis and zero them out on export genesis ( #807 )
2021-02-08 17:32:54 -07:00
Kevin Davis
e9eb5ea20c
genesis updates for incentive migration ( #806 )
2021-02-08 13:47:29 -07:00
Kevin Davis
176c1973d3
fix: valid default genesis state ( #805 )
2021-02-08 08:00:37 -07:00
Denali Marsh
44d4d19565
fix incentive rewards query REST res ( #802 )
2021-02-08 07:14:25 -07:00
Denali Marsh
c60365f12e
call both incentive hooks ( #804 )
2021-02-08 07:13:30 -07:00
Denali Marsh
0edbdf968e
hotfix ( #803 )
2021-02-08 13:57:02 +01:00
Denali Marsh
5af50e1a2d
Hard Audit: enable users to repay another account's borrows ( #801 )
...
* add owner to repay msg
* pass owner and sender to repay function
* make owner arg an optional flag
* make owner optional for REST
2021-02-08 13:51:42 +01:00
Denali Marsh
1b2cfa6d1a
Hard Audit: remove LTV index from Hard module ( #800 )
...
* remove LTV index
* remove LTV param
* remove LTV param from tests
* remove LTV index from tests
* fix incentive hook not called before sync
2021-02-08 13:23:37 +01:00
Denali Marsh
c8d4c02fb7
Remove unused Hard module accounts ( #796 )
...
* remove unused hard module accs
* update tests
* update migration for compile
* maintain migration
2021-02-05 12:45:37 +01:00
Denali Marsh
0343edf0d0
Hard Audit: fix duplicate supply/borrow index factors ( #794 )
...
* types: set/get interest factor
* delete 0 balance index factors from deposit
* types: set/get borrow interest factor
* delete 0 balance index factors from borrow
* delete index factor directly
2021-02-05 12:31:38 +01:00
Kevin Davis
3d6e730368
address issues from audit ( #793 )
2021-02-04 11:35:24 -07:00
Denali Marsh
be498c72f5
sync supply interest before ValidateBorrow ( #798 )
2021-02-04 17:54:13 +01:00
Denali Marsh
9fa83f0a1e
remove GetPreviousBlockTime/SetPreviousBlockTime ( #797 )
2021-02-04 17:54:01 +01:00
Denali Marsh
facb357fe9
return err in ValidateBorrow ( #799 )
2021-02-04 17:53:50 +01:00
Denali Marsh
754c018f04
Incentive module multiple reward denom tests ( #788 )
...
* types: multiple rewards
* supply-side reward keeper methods
* remove legacy comments
* update hard claim reward to coins type
* borrow-side reward keeper methods
* update claim payout to sdk.Coins
* make tests compile
* fix genesis validation for compile
* comment out failing tests
* fix ! found logic
* accumulate hard supply rewards (single)
* sync hard supply rewards (single)
* update hard borrow/supply index denoms
* accumulate hard borrow rewards (single)
* sync hard borrow rewards (single)
* sync hard delegator rewards
* payout hard claim (single)
* accumulate hard supply rewards (multiple)
* sync hard supply rewards (multiple)
* update hard supply index denoms (multiple)
* update hard borrow index denoms (multiple)
* accumulate hard borrow rewards (multiple)
* sync hard borrow rewards (multiple)
* fix denom
* remove comment
* fix merge
* payout hard reward (multiple)
Co-authored-by: karzak <kjydavis3@gmail.com>
2021-02-03 23:23:53 +01:00
Denali Marsh
0c1fa5d27b
emit hard liquidation event ( #790 )
2021-02-03 23:23:17 +01:00
Denali Marsh
7be0c8b48e
decrement supplied coins ( #791 )
2021-02-03 23:23:03 +01:00
Denali Marsh
cfb9e0cb76
add liquidate msg to codec ( #792 )
2021-02-03 23:22:51 +01:00
Kevin Davis
dd3470260d
add v0.13 legacy types for kava-5 ( #784 )
2021-02-02 15:10:57 -07:00
Kevin Davis
6118876074
[R4R] fix: match reward payouts to current harvest v1 payouts ( #786 )
...
* fix: payout rewards on 1st or 15th of month
* backport payout test
* fix: add default case
2021-02-02 15:10:32 -07:00
Kevin Davis
37be34b4d6
fix: replace is zero time check ( #787 )
2021-02-02 14:42:51 -07:00
Kevin Davis
71f60ec4d9
fix: update synchronize claim method ( #789 )
2021-02-02 14:42:01 -07:00
Denali Marsh
9b52154409
Accrue Hard module rewards in multiple coin denoms ( #785 )
...
* types: multiple rewards
* supply-side reward keeper methods
* remove legacy comments
* update hard claim reward to coins type
* borrow-side reward keeper methods
* update claim payout to sdk.Coins
* make tests compile
* fix genesis validation for compile
* comment out failing tests
* fix ! found logic
2021-02-02 09:17:46 -07:00
Denali Marsh
58494fe357
Hard: fix liquidation engine ( #771 )
...
* initial
* liquidation debugging
* max lot == macc coin balance
* add print statements
* add test for pricefeed liquidation scenarios
* skip zero lot
* add insolvency liquidation test scenario
* remove debugging statements
* fix tests after rebase
Co-authored-by: karzak <kjydavis3@gmail.com>
2021-02-01 14:13:17 -07:00
Denali Marsh
b5e02fde35
Hard incentive reward querier updates for acceptance ( #782 )
...
* simulate hard reward sync for querier
* test hard sync simulations
* simulate usdx minting sync for querier
* test usdx minting reward simulation
2021-01-29 13:32:07 -07:00
Denali Marsh
92a2425668
Query rewards via incentive module ( #781 )
...
* query rewards types
* query rewards keeper
* query rewards cli/rest
* query rewards alias
* implement branched query
* mirror changes in rest querier
* clean up rest querier
2021-01-27 14:33:36 +01:00
Denali Marsh
3a08fc582b
Incentive PR 4: claim Hard rewards via the Incentive module ( #780 )
...
* claim hard reward keeper methods
* test hard claim payout
* claim hard rewards via cli
* query hard claims via cli
* rest txs and queries
* add handler test
* add claim type event field
2021-01-26 12:52:34 +01:00
Denali Marsh
72a6df17fd
Hard: Kava delegators earn HARD rewards via the Incentive module ( #776 )
...
* add staking keeper to incentive module
* update hard with delegator methods
* add delegator methods to incentive
* implement delegator hook scaffolds
* implement hard delegator reward accumulation
* update claim names to delegator
* stakingKeeper expected keeper methods
* accumulate delegator rewards
* initialize delegator reward
* synchronize delegator reward
* add TODO comments to rewards
* implement staking hooks interface
* initial revisions
* remove outdated TODO
* update methods for test compatibility
* update method names for test compatibility
* implement initial accumulate delegator reward test
* attempt validator set up in staking module
* initial synchronize delegator reward test
* delegator accumulation test passing
* synchronize delegator rewards test (not passing)
* synchronize delegator rewards passing
* revisions
2021-01-25 13:58:12 +01:00
Kevin Davis
dc330d02bf
Update hard genesis state ( #777 )
...
* feat: update hard genesis state and init/export methods
* address review comments
2021-01-22 22:17:40 -07:00
Denali Marsh
f89b8797ed
Clean up leftover Hard module claim types/queries ( #775 )
...
* clean up types
* clean up client/rest
* clean up alias
* remove LP/Gov schedule errors
* clean up claim multipliers
2021-01-21 18:38:52 +01:00
Kevin Davis
4eef80b47f
[R4R] CDP module migrations from v0.11 -> v0.13 ( #769 )
...
* remove references to savings rate
* removing savings rate module account in auth migration
* use compact json
* fix non-determinism is cdp migration
2021-01-21 10:37:35 -07:00
Kevin Davis
92afaf6ca0
add query for all current prices ( #768 )
2021-01-21 10:36:51 -07:00
Denali Marsh
4e6f6d1e9c
Incentive/Hard rebase to master ( #773 )
...
* spike: incentive/types
* spike: incentive/types tests
* spike: incentive/types/expected_keepers.go
* spike: incentive/keeper
* spike: incentive/keeper tests
* spike: incentive/sims and incentive/sims tests
* spike: incentive/module
* spike: incentive/module tests
* spike: hard/types
* spike: hard/types hooks
* spike: hard/types
* spike: hard/keeper basics
* spike: hard/keeper hooks
* integrate hard/keeper/borrow.go
* integrate hard/keeper/deposit.go
* integrate hard/keeper/liquidation.go
* integrate hard/keeper/withdraw.go
* integrate hard/keeper/repay.go
* spike: hard/sims
* spike: hard/sims tests
* spike: hard/client
* spike: hard/module
* integrate app.go
* spike: x/hard/keeper compile tests
* incentive/keeper test clean up
* validate usdx incentive types in genesis
* refactoring & fix deposit test
* fix liquidaton tests
* fix incentive tests for hard supply rewards
* fix hard genesis tests
* update incentive genesis state and params
* update cdp rewards accumulation
* update app init order and begin blocker order
Co-authored-by: karzak <kjydavis3@gmail.com>
2021-01-21 14:52:09 +01:00
Kevin Davis
67b58f555b
[R4R] fix: validate usdx minting collaterals in incentive genesis ( #770 )
...
* fix: validate that usdx incentive collateral types are found in cdp params
* update app initialization and tests
2021-01-19 22:42:50 -07:00
Kevin Davis
c63ecf908a
Cdp accumulators ( #751 )
...
* Add 'InterestFactor' to CDP type (#734 )
* update cdp type to include interest factor
* fix build
* Add cdp accumulator methods (#735 )
* remame fees to interest
* add accumulate interest method
* add basic test
* add note
* address review comments
* update tests
* Add sync cdp interest method (#737 )
* remame fees to interest
* add accumulate interest method
* add basic test
* add note
* address review comments
* update tests
* remove old fee functions
* add method to synchronize cdp interest
* add multi-cdp tests
* add test with many blocks
* add test for interest getter
* address review comments
* calculate time difference then convert to seconds
* fix: update collateral index when syncing interest
* fix: differentiate between case when apy is zero and all fees are being rounded to zero
* fix: round time difference properly
* update cdp genesis state and migrations (#738 )
* remame fees to interest
* add accumulate interest method
* add basic test
* add note
* address review comments
* update tests
* remove old fee functions
* add method to synchronize cdp interest
* add multi-cdp tests
* add test with many blocks
* add test for interest getter
* update cdp genesis state and migrations
* address review comments
* calculate time difference then convert to seconds
* fix: update collateral index when syncing interest
* fix: differentiate between case when apy is zero and all fees are being rounded to zero
* fix: simplify add/remove/update collateral index
* update genesis state to include total principal amounts
* update migration
* Delete kava-4-cdp-state-block-500000.json
* Add cdp liquidations by external keeper (#750 )
* feat: split liquidations between external keepers and automated begin blocker
* address review comments
* USDX incentive accumulators (#752 )
* feat: split liquidations between external keepers and automated begin blocker
* wip: refactor usdx minting incentives to use accumulators/hooks
* wip: refactor usdx minting claim object
* feat: use accumulators/hooks for usdx minting rewards
* fix: get tests passing
* fix: don't create claim objects unless that cdp type is eligable for rewards
* add begin blocker
* update client
* cleanup comments/tests
* update querier
* address review comments
* fix: check for division by zero
* address review comments
* run hook before interest is synced
* Remove savings rate (#764 )
* remove savings rate
* remove savings rate from debt param
* update migrations
* address review comments
* Add usdx incentives calculation test (#765 )
* add usdx incentive calculation test
* update reward calculation
* add allowable error to test criteria
* Update x/incentive/keeper/rewards_test.go
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
* fix: remove old fields from test genesis state
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
2021-01-18 12:12:37 -07:00
Denali Marsh
fba6b8c4f2
Hard: delete borrow/deposit from store on 0 amount ( #766 )
...
* delete borrow/deposit on 0 balance
* add/update tests to ensure deletion
* delete from LTV index
2021-01-18 10:43:20 +01:00
Denali Marsh
34a7172581
Hard: refactor borrow/borrows and deposit/deposits query ( #761 )
...
* refactor cli borrows query
* rest api feature parity for borrows query
* refactor deposits cli query
* remove deposit/borrow query names from types
* add named deposit/borrow queries back into types
* rest api feature parity for deposits query
* load synced deposit instead of synced balance
* deposits query returns synced deposits
* borrows query returns synced borrows
* refactor querier types
* update comment for accuracy
* add deposit/borrow slice types
* refactor 'borrowed' query
* implement 'deposited' query types
* implement 'deposited' query keeper function
* implement 'deposited' query CLI
* implement 'deposited' query rest endpoint
* update naming conventions to 'total'
2021-01-13 19:14:58 +01:00
Denali Marsh
d05516bbe0
Hard: sync supply interest on attempted liquidation ( #763 )
...
* sync supply interest on attempted liquidation
* update tests with supply interest accrual
2021-01-13 12:59:39 +01:00
Denali Marsh
f6efc2597b
Hard: investigate sdk.RelativePow runtime panic ( #762 )
...
* interest rate practical test
* add clarification comment
2021-01-12 10:03:09 +01:00
Denali Marsh
a0d70e1c81
fix example cli liquidate cmd ( #760 )
2021-01-11 13:50:00 -07:00
Denali Marsh
bc110ce609
Hard: LTV index refactor ( #758 )
...
* add set/delete/update ltv methods
* refactor borrow logic
* basic updates to keeper logic for compile
* Add deposit index set/delete/update keeper methods
* refactor deposit logic
* refactor repay logic
* update withdraw logic
* introduce DeleteDepositBorrowAndLtvIndex
* remove unused bool from AttemptKeeperLiquidation
* remove comments (transitioned to asana cards)
* catch multiple error types in liquidation loop
2021-01-07 22:40:25 +01:00
Denali Marsh
38306e5465
add deposit balance query ( #759 )
2021-01-07 17:22:00 +01:00
Denali Marsh
f7a73c9245
Hard: suppliers earn interest ( #749 )
...
* update to borrow interest factor
* add supply interest factor to accrue interest
* supply interest factor keeper methods
* fix potential bug with user borrow indexing
* sync supply interest on deposit/withdraw
* separate withdraw/deposit
* relocate interest sync methods
* update comment
* simplify supply interest statement
* check truncated int not zero
* add .sub(storedAmount) back
* add store key suppliedcoins
* increment/decrement supplied coins
* update withdraw with new accounting
* update withdraw test
* catch repay edge case
* unit tests
* TestSupplyInterest scaffolding
* test notes
* temp: interest test
* example test
* changes, test checks more state
* fix: calculate supply interest directly
* fix: catch divide by zero
* add state checks back into interest test
* add snapshot test cases
* test owed supplied interest paid at correct ratio
* test user supply syncs user's borrow interest
* remove print statements and clean up
* refactor indented logic
* test supply/borrow multiple coins
* update decoder test
Co-authored-by: karzak <kjydavis3@gmail.com>
2021-01-07 11:23:05 +01:00
Denali Marsh
e9f5043c84
Hard: update REST API ( #748 )
...
* borrows, borrow, borrowed queries
* update deposit, withdraw, claim rest txs
* add borrow, repay, liquidate rest tx
* update liquidate on handler
2020-12-22 17:08:27 +01:00
Denali Marsh
477b937039
Hard: withdraws limited by ltv ( #747 )
...
* liquidations refactor
* validate withdraws above ltv
* set mm in initgenesis
* add ltv limited withdraw test
* address revisions
* resolve diff
2020-12-21 18:28:41 +01:00
Denali Marsh
a4bbea1ec4
update 'harvest' -> 'hard' ( #746 )
2020-12-21 18:18:55 +01:00
Denali Marsh
f140d7aff6
update naming conventions ( #745 )
2020-12-21 18:07:02 +01:00
Kevin Davis
06fd215de1
[hard] Update deposit type to use sdk.Coins ( #744 )
...
* update deposits to use sdk.Coins
* update tests
* update liquidation tests
2020-12-18 09:05:21 -07:00
Denali Marsh
83a5f51c11
Hard: automatic liquidation by LTV index ( #743 )
...
* hotfix
* update params, keys
* liquidation by keeper
* refactor GetPendingBorrowBalance
* fix app build
* elegant handling of denom arrays
* auction deposit in lots
* add error msg
* update tests with new params
* happy path liquidation test
* update liquidator macc name
* refactor reward % to money market params
* refactor tests for updated params
* compile: harvest liquidator module account
* add liquidate msg
* liquidation approach
* update liquidations
* return remaining deposit coins to original borrowr
* check keeper reward before sending
* introduce ValuationMap
* convert Ints <> Decs
* implement double-loop
* ModuleAccountName
* sort keys for deterministic auctions
* test: correct auctions created
* test: preset keeper coins
* ensure deterministic iteration
* test cases
* update repay test
* auction fixes, tests
* LTV index
* user actions sync interest and update ltv index
* tests: all deposits must have money markets
* reorder borrow logic
* ltv index liquidation logic
* test specific items in ltv index
* index liquidation tests
* update repay to spendable coins
* revisions
* remove address sort method
* merge master test package
2020-12-18 02:12:48 +01:00
Denali Marsh
6c0890d5ff
Hard: introduce LTV index ( #742 )
...
* hotfix
* update params, keys
* liquidation by keeper
* refactor GetPendingBorrowBalance
* fix app build
* elegant handling of denom arrays
* auction deposit in lots
* add error msg
* update tests with new params
* happy path liquidation test
* update liquidator macc name
* refactor reward % to money market params
* refactor tests for updated params
* compile: harvest liquidator module account
* add liquidate msg
* liquidation approach
* update liquidations
* return remaining deposit coins to original borrowr
* check keeper reward before sending
* introduce ValuationMap
* convert Ints <> Decs
* implement double-loop
* ModuleAccountName
* sort keys for deterministic auctions
* test: correct auctions created
* test: preset keeper coins
* ensure deterministic iteration
* test cases
* update repay test
* auction fixes, tests
* LTV index
* user actions sync interest and update ltv index
* tests: all deposits must have money markets
* reorder borrow logic
* check mm before setting borrow index
* insert into LTV index even when LTV is 0
2020-12-16 22:08:29 +01:00
Denali Marsh
89f07e92b4
Hard: liquidation by keeper ( #731 )
...
* hotfix
* update params, keys
* liquidation by keeper
* refactor GetPendingBorrowBalance
* fix app build
* elegant handling of denom arrays
* auction deposit in lots
* add error msg
* update tests with new params
* happy path liquidation test
* update liquidator macc name
* refactor reward % to money market params
* refactor tests for updated params
* compile: harvest liquidator module account
* add liquidate msg
* liquidation approach
* update liquidations
* return remaining deposit coins to original borrowr
* check keeper reward before sending
* introduce ValuationMap
* convert Ints <> Decs
* implement double-loop
* ModuleAccountName
* sort keys for deterministic auctions
* test: correct auctions created
* test: preset keeper coins
* ensure deterministic iteration
* test cases
* update repay test
* auction fixes, tests
2020-12-15 18:38:14 +01:00
Denali Marsh
2442d281ab
update ltv error msg ( #733 )
2020-12-08 14:28:01 +01:00
Denali Marsh
4e641c5212
Hard: repay borrowed coins ( #725 )
...
* add msg borrow test
* repay types
* register msg repay on codec
* repay keeper functionality
* repay cli
* repay keeper test
* Hard: repay insufficient balance error (#726 )
* repay error: insufficient balance
* isolate coin type in error msg
* add multi-coin repay example
* CalculatePaymentAmount, repay > SyncBorrowInterest
* remove todo: index updated by sync
* update tests
* add back in test
2020-12-07 22:51:35 +01:00
Denali Marsh
4dd174ea85
query borrow balance ( #732 )
2020-12-04 20:04:05 +01:00
Denali Marsh
6aa97a8f75
hotfix ( #730 )
2020-12-04 15:35:26 +01:00
Kevin Davis
4c95227c1d
fix go 1.15 build warning ( #729 )
2020-12-03 16:07:47 -07:00
Kevin Davis
01311e77f6
Kd fix interest test ( #728 )
...
* fix: fix go 1.15 build
* fix: correct highest apy test
2020-12-03 16:05:56 -07:00
Denali Marsh
49d62dd076
Harvest: interest rate logic ( #720 )
...
* initial feature scaffolding
* implement interest keeper logic
* basic AccrueInterest
* accrue interest on borrow
* update borrow index formula
* update sample reserve factor
* move AccrueInterest to begin blocker
* refactor interest rate updates for accrue interest
* use interest rate model from store
* refactor begin blocker state machine
* add reserve factor to interest model params
* update comment
* store money market instead of interest rate models
* update test suite
* use BorrowedCoins store key
* update public functions and alias
* unit tests, keeper test scaffolding
* demo panic
* address revisions
* add 'normal no jump' test case
* spy = 1 + borrow rate
* update comment
* APYToSPY unit test
* per user borrow index list
* interest keeper test
* test: interest applied on successive borrows
* varied snapshot times
* test: multiple, varied snapshots
* address revisions
* add pending interest before validating new borrow
* update makefile
* address revisions
* fix test
2020-12-03 22:50:35 +01:00