Commit Graph

1602 Commits

Author SHA1 Message Date
Derrick Lee
937e5f339f
Add incentive migrations for earn rewards (#1406)
* Add initial earn claim migrations

* Use existing types for migrations, add accural time migrations

* Add MigrateRewardIndexes

* Delete old state after migration

* Update store test with multiple entries

* Move key methods to keys.go

* Update incentive consensus version to 3

* Call MigrateRewardIndexes in main migration, remove debugging statements

* Fix migration version to v3

* Update module versions

* Update outdated v1 comment
2022-12-05 16:54:18 -08:00
Levi Schoen
35041fd909
add skeleton workflow for cd to internal testnet (#1413)
* add skeleton workflow for cd to internal testnet

* double quote workflow name to prevent splatting / expansion

* allow for manually running internal testnet cd workflow
2022-11-30 18:52:03 -05:00
Levi Schoen
f167c4b562 checkout sources and install golang in ci publish job 2022-11-30 14:50:04 -08:00
Levi Schoen
99fe50219d fix ci workflow order 2022-11-30 14:35:33 -08:00
Levi Schoen
644bd0acec template and re-use ci workflows 2022-11-30 14:20:38 -08:00
Levi Schoen
1d95af8c9a remove deprecated circleci config 2022-11-30 14:20:38 -08:00
Nick DeLuca
252fafa53a
Fix remote check proto breaking when not branching from master (#1409)
* fix check remote breaking when not branching from master -- always use
current git branch when ref'ing

* fix remote command when overridden
2022-11-30 11:48:00 -07:00
Nick DeLuca
a4de1b7fb7
Update proto breaking CI check to pass on release branches (#1407)
* modify proto check breaking to check against the previous commit by
default

* add additional proto breaking check for pull requests to master

* always check proto breaking against target branch when making a pull
request
2022-11-30 11:02:16 -07:00
Derrick Lee
cf009647e6
Use different accumulator for earn (#1395)
* Add accumulators

* Move accumulator back to keeper package

* Add earn specific accumulators

* Move store methods to sub-package

* Move earn accumulator

* Rename accumulator files

* Add store doc comment

* Add earn accumulator tests, panic if accumulator not used with earn claim type

* Update earn accumulator tests to use new methods

* Add staking test for earn accumulator

* Add test for accumulator proportional rewards

* Remove old copy of GetProportionalRewardsPerSecond

* Add test for basic accumulator

* Fix AddIncentiveMultiRewardPeriod replacement

* Deduplicate base earn reward accumulator

* Check errors in tests

* Validate RewardPeriods in Params.Validate()

* Use adapter to fetch earn total shares
2022-11-29 14:23:33 -08:00
Derrick Lee
44a90a8ef9
Add base earn incentive accumulator (#1393)
* Add earn adapter

* Add earn adapter to list

* Update test var
2022-11-29 14:12:08 -08:00
Derrick Lee
dce631d3de
Add generic incentive AccumulateRewards method (#1392)
* Add generic accumulator

* Add MultiRewardPeriodOfClaimType type to params

* Add adapters wrapper

* Add MultiRewardPeriodsOfClaimType to params

* Add multireward period to genesis test

* Rename MultiRewardPeriodOfClaimType to TypedMultiRewardPeriod

* Use source adapters wrapper
2022-11-29 13:59:11 -08:00
Levi Schoen
3a766030a3
github action for ci (#1398)
* add workflow for CI on PRs to master or release branch, and every push to master

* sprint demo
2022-11-29 15:22:48 -05:00
Nick DeLuca
0e41374baf
update to tendermint 0.34.24 -- json rpc optimizations (#1402) 2022-11-23 11:28:17 -07:00
Nick DeLuca
94763d9091
include build directory for dockder images; move build artifacts to out (#1401) 2022-11-23 09:39:10 -07:00
Nick DeLuca
d5dcfe73b2
Refactor Buf Usage (#1399)
* start makefile refactor to smaller units; break out proto-dep updating;
add check-proto-deps target for use in CI in order to determine if
depdencies have diverged

* add proto check workflow

* download go modules before checking proto deps

* clean up -- hide output and add error message for check target

* add error message for check-rsync

* update any type, and ibc-go protos for v3.4.0

* add buf generate files for gogo, docs, and swagger

* update swagger dirs and run with latest swagger gen

* ignore new build directories

* refactor proto makefile logic -- use buf instead of scripts

* remove old protobuf scripts

* run all proto checks on push

* remove moved file

* set default value for protoc machine

* install build deps seperately

* fetch master for buf check breaking

* checkout from https url in CI for buf breaking

* fix rsync file permissions on darwin

* ignore build dirs

* fix issue with apple provided make; clean up build deps; switch to buf
format

* remove clang format file -- using buf format now

* run make proto-format (buf format changes)

* update generated files for proto format changes
2022-11-22 16:22:07 -07:00
Reece Williams
9b18154027
Bump tendermint to v0.34.23 (#1394)
- improved p2p send/receive metrics
- default cache-control headers for json rpc endpoints
2022-11-21 10:04:33 -07:00
Derrick Lee
30eb83d896
Capture multiple path segments for earn /vaults/{denom=**} query (#1391) 2022-11-18 10:53:59 -08:00
Derrick Lee
f52a581ea9
Add GetSynchronizedClaim and swap adapter (#1386)
* Add source adapters to keeper, implement GetSynchronizedClaim

* Iterate acc shares sorted

* Add swap adapter, update tests to use swap claimtype

* Add swap adapter test

* Add tests for non-empty pools

* Iterate over source ids instead of sorted keys
2022-11-14 17:55:10 -08:00
Derrick Lee
c2061f626e
Add Initialize/Synchronize Claim methods (#1383)
* Add init/sync claim methods

* Add todo

* Make GetSynchronizedClaim method todo

* Remove GetSynchronizedClaim

Work moved to different task

* Update GetRewardIndexesOfClaimType method
2022-11-10 11:05:11 -08:00
Reece Williams
4b6f1e6b57
Upgrade IBC to v3.4.0 (Adds memo support to fungible token transfers) (#1387) 2022-11-09 11:57:03 -07:00
Levi Schoen
ca9b6d084a bundle internal testnet genesis for use in ci pipeline 2022-11-08 14:14:38 -08:00
Robert Pirtle
fcfcd36740
add total supply queries for earn, savings, liquid (#1384)
* add total supply endpoint to x/liquid

* add test of x/liquid total supply query

* refactor x/savings test

* add total supply endpoint for x/savings (w/ test)

* add total supply endpoint for x/earn

* handle converting bkava to underlying staked amount

* aggregate bkava underlying values in x/earn

* aggregate underlying value of bkava in x/savings
2022-11-08 12:43:26 -05:00
Ruaridh
2abb2ce606
Add source adapter interface definition (#1377)
* add source adapter interface definition

* add more context to method names

* return a map to reduce chance of wrong order
2022-11-07 22:07:19 +00:00
Derrick Lee
4a3002b09c
Add incentive RewardIndexes types and state methods (#1381)
* Add TypedRewardIndexes type

* Add RewardIndexes to genesis

* Update iteration method names, GetKeyFromSourceID method
2022-11-04 17:08:51 -07:00
Derrick Lee
df1c2ffc34
Add AccrualTime type and state methods (#1379)
* Add methods for reward accrual time

* Add accrual time methods

* Add claim type to IterateAllRewardAccrualTimes callback method

* Use new AccrualTime proto type for state methods, add to genesis

* Add GetAllRewardAccrualTimes doc

* Add accrual times to genesis methods

* Remove DecodeKeyPrefix

* Update acrual time iterate method naming

* Update Iterate claims naming

* Use method for sourceID key conversion
2022-11-04 16:21:05 -07:00
Robert Pirtle
4087941691
remove all yaml tags from proto definitions (#1382)
the yaml tags are not needed as they are generated automatically from the
json tags.

additionally fixed proto formatting error requiring doc comments on enum
values (for x/incentive claim type enum).
2022-11-03 14:49:53 -04:00
Draco
583711789d
update evmutil specs (#1356) 2022-11-03 08:16:16 -07:00
Ruaridh
07661b17f9
Update readme for kava 11 (#1374)
* remove old tagline

* update install instructions to point to docs
2022-11-03 08:15:45 -07:00
Nick DeLuca
6a12f2a9c9
Update to IAVL v0.19.4 to fix panic on fastnode flag switch (#1380)
Fixes a panic with fast node is switched off
2022-11-03 08:12:41 -07:00
Ruslan Akhtariev
99b20342d5
Update to IBC 3.3.1, Cosmos SDK 0.45.10, and Tendermint 0.34.22 (#1373)
Co-authored-by: Ruslan Akhtariev <ruslanakhtariev@Ruslans-MacBook-Air.local>
2022-11-02 15:59:55 -07:00
Robert Pirtle
05fcdafe98
Document kavadist infra rewards in the module spec (#1369) 2022-11-02 13:26:41 -04:00
Derrick Lee
90735e29ed
Add incentive claim state methods (#1375)
* Add Claim proto types

* Add new claim keys

* Add claim state method tests

* Add claims to genesis

* Re-add GetType for USDX claim

* Add doc comments to key methods

* Add Claim validate test

* Update claimType to BigEndian binary encoding
2022-11-02 08:34:33 -07:00
Derrick Lee
45fc1a7643
Add generic Claim type (#1371) 2022-10-27 17:45:32 -07:00
Nick DeLuca
96279b66bc
update ethermint for account type fix (#1368)
Port of ethermint side fix from #1367
2022-10-24 19:39:50 -07:00
Ruaridh
c3a85c869a
install gen-doc (go 1.18 disables go get installs) (#1364) 2022-10-24 13:24:32 -07:00
Nick DeLuca
5110fea008
Update Protos (#1362)
* Update third party protos for tendermint, cosmos updates

* fix proto gen scripts for go 1.18

* update ibc go swagger for v3.3.0

* update generated files

* update swagger

* update grpc and protobuf deps
2022-10-24 11:06:39 -07:00
Nick DeLuca
52fc29952e
remove legacy committee migration (#1360)
Co-authored-by: Draco <draco@dracoli.com>
2022-10-21 13:02:55 -07:00
Nick DeLuca
f1c37725cc
kavadist - ensure that fund module account exists on init genesis (#1361)
Co-authored-by: rhuairahrighairigh <ruaridh.odonnell@gmail.com>
Co-authored-by: drklee3 <derrick@dlee.dev>
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2022-10-21 13:02:32 -07:00
Nick DeLuca
df5861e7ab
bump ibc to v3.3.0 -- fix for base denoms with slashes (#1358) 2022-10-20 14:39:07 -07:00
Derrick Lee
73bc32a183
Add incentive earn tests with real keepers (#1354)
* Update incentive test to use beginblocker instead manual accumulation

* Update integration test suite

* Add base integration test, wip staking reward calculation

* Get actual staking reward amounts from BeginBlocker events, calculate expected indexes

* Simplify event parsing

* Add initial earn accum test with real keepers

* Add the rest of the accum integration tests with real keepers

* Check if delegation rewards are zero before transferring

* Update staking integration test to use updated methods
2022-10-19 16:13:37 -07:00
Ruaridh
17b6b74d75
Add tally handler tests (#1349)
* add vote power counting tests and test suite

* add vote outcome tests
2022-10-19 12:26:14 -07:00
Nick DeLuca
0c0cd49cb5
Update to cosmos 0.45.9 (#1355)
* Update to cosmos 0.45.9, tendermint 0.34.21, iavl 0.19.3 and include
dragonberry isc20 replace

* update ci & docker to go 1.18

* config updates for iavl changes and broadcast mode flag

* ensure fast node is disable if config value is not set in order to
avoid fast node upgrade for nodes that do not update their app.toml

* update to new circle ci image instead of using legacy image

* fix cosmos-sdk tag

* update cosmos-sdk to fix breaking WithdrawDelegationRewards regression
2022-10-19 11:11:17 -07:00
Derrick Lee
e8242ace80
fix: Use correct share values for earn incentive hooks (#1347)
* Call earn hooks with correct share values

User's shares instead of total vault shares

* Use different amounts for different accounts

* Add claim test with staking claims

* Remove logging statements

* Remove log

* Pass suite.T() to mock earn hooks

* Use begin blocker for staking reward distribution

* Remove unused beginblocker

* Remove log
2022-10-12 14:35:09 -07:00
Derrick Lee
aa2fedaf78
Only return bkava tokens when value_in_staked_tokens is true (#1348) 2022-10-11 14:38:49 -07:00
Nick DeLuca
7847f3ee7b
Tally Handler Fixes (#1342)
* reassign after addition since values are not modified in place

* fix incorrect logic; add bkava when there is no error
2022-10-08 20:37:36 -06:00
Derrick Lee
e6fc0135aa
Fix /incentive/apy pricefeed denom conversion (#1340)
* Update APYs endpoint to correctly rewrite incentive denoms to pricefeed ids

* Wrap pricefeed err
2022-10-08 02:35:15 +01:00
Ruaridh
a39c413a82
Add Vested Delegated API endpoint (#1327)
* add empty grpc endpoint

* add basic implementation

* remove unbonding from returned balance

* fix test typo

* resolve todo, use better method from staking mod
2022-10-05 15:56:39 -07:00
Nick DeLuca
55284aa575
Fix high gas usage for coin conversions (#1331)
* use an infinite gas meter during evm call operations, then consume
evm reported gas used

* consume gas after failure check -- provide best feedback first
2022-10-05 16:27:06 -06:00
Derrick Lee
be7242d86d
Add /incentive/apy query endpoint (#1328)
* Add /incentive/apy query endpoint

* Add APY calculation using usd value

* Fix maths for adding bkava incentive rewards

Signed-off-by: drklee3 <derrick@dlee.dev>

* Fix apy calculation with community tax, remove infra tax

* Fix pricefeed market mismatches, fix division by zero

* Remove unused kavadist expected keeper

Signed-off-by: drklee3 <derrick@dlee.dev>
2022-10-05 11:39:50 -07:00
Derrick Lee
4c879bc4fb
Add Earn deposits value_in_staked_tokens query parameter (#1325)
* Add earn deposits query param to return individual vaults value as ukava

* Add value_in_staked_tokens param handler to specific vault query

* Use separate ukava coins when querying deposits in ukava

Avoid usd of sdk.Coins.Add() as those will aggregate ukava amounts
2022-10-03 16:37:29 -07:00