The First Modular AI Chain
Go to file
Nick DeLuca 102cc0fff3
Community Pool Staking Rewards Implementation & Improvements (#1742)
* add new field upgrade_time_set_staking_rewards_per_second with intention
of integrating into the disable inflation logic to set an initial
staking reward time

* when the disable inflation upgrade time occurs, set the staking rewards
per second to the value specified by the new
upgrade_time_set_staking_rewards_per_second.  This will allow a decoupled
implementation between the ugprade switching logic, and the core
functionality of paying staking rewards from the pool

* add staking rewards state to community keeper and community module
genesis that is required to calculate and track staking reward payouts
accross blocks

* add implementation of staking reward payouts

* remove unused error

* touch up tests and add a test case that fully tests behavior when pool
is drained

* add function comments

* refactor and pull out main calculation to private pure function with
no dependence on keeper

* zero out default parameters -- these are too chain specific to have
useful defaults

* small touch ups on comments, test cases

* use correct Int from sdkmath, not old sdk types; update protonet genesis
for new parmater

* fix copy pasta comment

* use bond denom from staking keeper instead of referncing ukava directly

* add staking reward state for valid genesis

* update kvtool genesis for new params and rewards state
2023-10-03 08:41:54 -07:00
.github Fix protonet (#1694) 2023-09-01 16:27:47 -04:00
app Community Pool Staking Rewards Implementation & Improvements (#1742) 2023-10-03 08:41:54 -07:00
build chore: allow override of go binary in Makefile (#1660) 2023-08-11 13:29:54 -07:00
ci/env Community Pool Staking Rewards Implementation & Improvements (#1742) 2023-10-03 08:41:54 -07:00
cli_test Update deprecated Cosmos methods (#1530) 2023-04-05 16:21:59 -07:00
client Community Pool Staking Rewards Implementation & Improvements (#1742) 2023-10-03 08:41:54 -07:00
cmd/kava Make read-async-io configurable (#1732) 2023-09-21 12:18:35 -04:00
contracts update new names, NativeCoin -> CosmosCoin (#1596) 2023-05-23 12:32:27 -07:00
contrib feat: upgrade to Cosmos v0.46 (#1477) 2023-04-03 20:08:45 -04:00
docs Community Pool Staking Rewards Implementation & Improvements (#1742) 2023-10-03 08:41:54 -07:00
migrate fix(cli): Resolve problem with assert-invariants cmd (#1624) 2023-06-09 16:52:52 -07:00
networks/local Use OS specific build directories (#600) 2020-06-24 14:21:01 -04:00
proto Community Pool Staking Rewards Implementation & Improvements (#1742) 2023-10-03 08:41:54 -07:00
simulations Simulation fixes (#527) 2020-09-01 11:33:12 -04:00
tests Community Pool Staking Rewards Implementation & Improvements (#1742) 2023-10-03 08:41:54 -07:00
third_party/proto feat: upgrade to Cosmos v0.46 (#1477) 2023-04-03 20:08:45 -04:00
x Community Pool Staking Rewards Implementation & Improvements (#1742) 2023-10-03 08:41:54 -07:00
.dockerignore feat: add contract for ERC20KavaWrappedNativeCoin (#1594) 2023-05-19 16:39:50 -07:00
.gitignore test(e2e): add tests for cosmos coin conversion (#1612) 2023-06-05 13:22:23 -07:00
.gitmodules Add IBC chain to E2E test suite (#1486) 2023-03-07 14:37:45 -08:00
.tool-versions feat: add contract for ERC20KavaWrappedNativeCoin (#1594) 2023-05-19 16:39:50 -07:00
buf.work.yaml Upgrade to sdk v0.44.5 and add IBC (#1106) 2022-01-07 17:39:27 -07:00
CHANGELOG.md feat: disable inflation upgrade logic (#1706) 2023-10-02 13:10:22 -07:00
docker-compose.yml Fix fail local testnet docker-compose up 2021-11-04 12:06:11 +09:00
Dockerfile update golang from 1.19 to 1.20, the recommended version for kava 13 (#1571) 2023-05-03 16:16:47 -07:00
Dockerfile-rocksdb Make rocksdb configurable (#1658) 2023-08-22 11:24:48 -04:00
go.mod feat(x/metrics): add module for emiting custom chain metrics (#1668) 2023-08-25 12:23:53 -07:00
go.sum Make rocksdb configurable (#1658) 2023-08-22 11:24:48 -04:00
golangci.yml address comments from review 2020-04-30 17:10:53 -04:00
hard.svg add token logos (#1185) 2022-03-10 13:24:21 -07:00
kava-logo.svg Update README to new logo (#410) 2020-03-31 11:20:31 -04:00
LICENSE.md [R4R] Basic docs tidying (#534) 2020-05-29 15:53:57 -07:00
Makefile Make rocksdb configurable (#1658) 2023-08-22 11:24:48 -04:00
README.md Remove stray 2 character in readme (#1654) 2023-07-20 15:43:46 -07:00
swp.svg add token logos (#1185) 2022-03-10 13:24:21 -07:00

version CircleCI Go Report Card API Reference GitHub Twitter Follow Discord Chat

Reference implementation of Kava, a blockchain for cross-chain DeFi. Built using the cosmos-sdk.

Mainnet

The current recommended version of the software for mainnet is v0.24.0. The master branch of this repository often contains considerable development work since the last mainnet release and is not runnable on mainnet.

Installation and Setup

For detailed instructions see the Kava docs.

git checkout v0.24.0
make install

End-to-end tests of Kava use a tool for generating networks with different configurations: kvtool. This is included as a git submodule at tests/e2e/kvtool. When first cloning the repository, if you intend to run the e2e integration tests, you must also clone the submodules:

git clone --recurse-submodules https://github.com/Kava-Labs/kava.git

Or, if you have already cloned the repo: git submodule update --init

Testnet

For further information on joining the testnet, head over to the testnet repo.

Docs

Kava protocol and client documentation can be found in the Kava docs.

If you have technical questions or concerns, ask a developer or community member in the Kava discord.

Security

If you find a security issue, please report it to security [at] kava.io. Depending on the verification and severity, a bug bounty may be available.

License

Copyright © Kava Labs, Inc. All rights reserved.

Licensed under the Apache v2 License.