* feat(evmutil): add ERC20KavaWrappedNativeCoinContract
* adds the contract ABI & bytecode for an Ownable erc20 with the following:
* customizable decimals on deploy -> requires overriding decimals() view
* mint() exposed for the contract owner which will be the evmutil module
* burn() exposed for the contract owner which will be the evmutil module
* sets up keeper to deploy above token based on details from an
AllowedNativeCoinERC20Token
* tests basic queries and permissions of deployed contract
* update changelog
* improve error messages & comments for erc20 deploy
* setup empty hardhat project for evm contract dev
* setup eslint
* setup prettier
* setup solhint
* ignore contracts dir in docker
* add ERC20KavaWrappedNativeCoin contract
* add unit tests for ERC20KavaWrappedNativeCoin
* use solidity 0.8.18
* configure solc with optimization and evm target
* compile ERC20KavaWrappedNativeCoin for evmutil
* setup script for deploying directly to a network
* fix burn test for ERC20KavaWrappedNativeCoin
Co-authored-by: drklee3 <derrick@dlee.dev>
---------
Co-authored-by: drklee3 <derrick@dlee.dev>
* add proto for allowed sdk denoms -> evm conversion
* add validation for AllowedNativeCoinERC20Token
* add validation for AllowedNativeCoinERC20Tokens
* add AllowedNativeDenoms into params & genesis
* add evmutil Params.Validate() test
* fix eip712 ante test
* update changelog
* update internal testnet genesis.json
* update state & param specs
updates to the sections describing functionality will be updated once
that functionality actually exists... :)
* update field decimal -> decimals
field now matches erc20 spec
* add validation decimals will cast to uint8
* add v2 store migration for evmutil
* create & register evmutil migrations
* adds migrator to evmutil's keeper
* sets up Migrate1To2 migration
* registers migration in module
* updates GetParams to properly handle historic block queries
* add unit test for GetParams with historic store
* feat: add CommunityCDPRepayDebtPermission
When granted, the new permission allows a committee to submit a
CommunityCDPRepayDebtProposal to lower principal owed on a cdp
owned by the x/community module.
* update changelog
* update protonet genesis.json
* add CommunityPoolCDPRepayDebtProposal proto & type
* add cdpKeeper to x/community's keeper
* add handler for CommunityPoolCDPRepayDebtProposal
* more test cases
* rename CommunityPoolCDP -> CommunityCDP
the proposal does not interact with the vanilla community pool
* fix & test stringer
* update changelog
* Update protonet json earn vaults
Currently our `/kava/incentive/v1beta1/apy` endpoint is expecting there to be an earn vault for each `earn_reward_period` returned by `kava/incentive/v1beta1/params`. Right now, the genesis state for testnet (and protonet) aren't providing all the vaults as options.
Our two choices are:
1. Remove the incentive params for the vaults not included
2 Add the vaults so there is a vault for each incentive param
Going with option 2 here because mainnet has vaults for the denoms which are currently missing
* update protonet genesis earn vaults
* update kava version to the correct current commit
https://github.com/Kava-Labs/kava/pull/1551/files used the id instead of the commit hash 😞
Use the commit hash not the id
* use eternal release tag
* use kava version for current commit when validating internal testnet genesis
---------
Co-authored-by: Levi Schoen <levismschoen@gmail.com>
mainnet is currently returning:
```
{
"node_info": {
"protocol_version": {
"p2p": "8",
"block": "11",
"app": "0"
},
"id": "7f57dae02b4f732fac4cf5f53379728d92578d5f",
"listen_addr": "tcp://0.0.0.0:26656",
"network": "kava_2222-10",
"version": "v0.34.24",
"channels": "40202122233038606100",
"moniker": "kava-outbound-pruning",
"other": {
"tx_index": "on",
"rpc_address": "tcp://0.0.0.0:26657"
}
},
```
Update the internal testnet to match since we aren't testing any unique backend changes in internal testnet and I believe this is just out of date