Commit Graph

1304 Commits

Author SHA1 Message Date
Robert Pirtle
f37321839b
add x/kavamint & x/community modules (#1400)
* add `x/kavamint` module (#1376)

* stub out the x/kavamint module

* mint staking rewards in x/kavamint BeginBlocker

* calculate cumulative inflation from x/kavamint

* cleanup, abstract bond denom, grpc query tests

* store & use previous block time to calculate mints

* move test suite to testutil

* add test of x/kavamint BeginBlocker

* cleanup & comments from @DracoLi review

* fix x/incentive integration test

* remove rest client grpc test

* add x/kavamint module spec

* track previous block time in genesis

* suggested cleanup from PR review

* bugfix incorrect module account check

* add x/community module (#1388)

* add x/community module

* refactor and setup fund-community-pool tx

* remove unused features (params, genesis state)

* test x/community query and message

* update with master branch deps

* updates from review

* indicate deprecated methods on module (still needed to fulfill interface)
* remove legacy querier
* derive msg Route() and Type() from sdk.MsgTypeURL(&msg)

* use module name for message Route()

* mint community pool inflation in x/kavamint (#1389)

* mint community pool inflation in x/kavamint

* refactor x/kavamint abci inflation test

* test inflation from x/kavamint

* default kavamint rates to 0%

* rename kavamint account name variables

* panic if genesis kavamint previous block time not set

* emit event on kavamint begin blocker

* add kavamint year of inflation sanity check test

* update fund_community_pool message event

* add x/community spec

* refactor inflation accumulation into single func

* use new comm pool in kavadist multispend proposal (#1403)

the x/community module houses the new community pool. this commit
points the CommunityPoolMultiSpendProposal at the new community pool
so that multispend proposals can continue to be processed once original
fee pool funds are move to x/community

* updates from proto lint changes

* update earn proposals to use new community pool

originally the CommunityPoolDepositProposal & CommunityPoolWithdrawProposal
used the vanilla community pool fee pool. this commit updates them both
to use the new x/community module account.

* spec formatting update

* add x/community & x/kavamint to internal testnet genesis

* increase test coverage of x/kavamint

* increase test coverage of x/community

* use string type for sdk.Dec proto fields; disable generation of getters
for genesis and params (and other store objects)

* follow sdk conventions for params endpoint naming

* add kavamint to swagger; update swagger & proto docs

* remove legacy querier; touch up module to match others

* reduce max minting rate; refactor genesis to allow nil/zero block time;
repace proto stringers and remove getters; keep sdk.Dec values strings
in protos; increase validation of sdk.Dec values in params; increase
coverage; add module account permission checks; ensure import and export
of genesis does not change state

* fix scaling of rate values -- should be yearly rates

* revert key change

* fix typo in test name

* fix regression in running tests -- rename method

Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
2022-12-09 13:24:35 -08:00
Levi Schoen
aa5e9f6382
add prototype workflows for internal testnet CD (#1415)
* add prototype workflows for internal testnet CD

* implement reset-chain-state cd job

* implement start-chain cd workflow
2022-12-08 12:30:12 -05:00
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