Commit Graph

1450 Commits

Author SHA1 Message Date
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 ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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 () 2022-11-23 11:28:17 -07:00
Nick DeLuca
94763d9091
include build directory for dockder images; move build artifacts to out () 2022-11-23 09:39:10 -07:00
Nick DeLuca
d5dcfe73b2
Refactor Buf Usage ()
* 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 ()
- 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 () 2022-11-18 10:53:59 -08:00
Derrick Lee
f52a581ea9
Add GetSynchronizedClaim and swap adapter ()
* 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 ()
* 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) () 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
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 () 2022-11-03 08:16:16 -07:00
Ruaridh
07661b17f9
Update readme for kava 11 ()
* 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 ()
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 ()
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 () 2022-11-02 13:26:41 -04:00
Derrick Lee
90735e29ed
Add incentive claim state methods ()
* 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 () 2022-10-27 17:45:32 -07:00
Nick DeLuca
96279b66bc
update ethermint for account type fix ()
Port of ethermint side fix from 
2022-10-24 19:39:50 -07:00
Ruaridh
c3a85c869a
install gen-doc (go 1.18 disables go get installs) () 2022-10-24 13:24:32 -07:00
Nick DeLuca
5110fea008
Update Protos ()
* 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 ()
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 ()
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 () 2022-10-20 14:39:07 -07:00
Derrick Lee
73bc32a183
Add incentive earn tests with real keepers ()
* 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 ()
* 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 ()
* 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 ()
* 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 () 2022-10-11 14:38:49 -07:00
Nick DeLuca
7847f3ee7b
Tally Handler Fixes ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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
Ruaridh
c773d874ae
Disable savings incentives ()
* allow nil hooks by using keeper methods

* disable calls to incentive from savings

* disable claim msg to prevent calls to sync claim
2022-09-29 21:18:06 +01:00
Derrick Lee
6626915ca8
Return empty coins instead of error when query x/hard total supplied and total borrowed () 2022-09-29 13:28:10 -06:00