Commit Graph

1369 Commits

Author SHA1 Message Date
Robert Pirtle
35358df72a
unregister x/metrics & call BeginBlocker directly (#1691)
registering x/metrics to the module manager breaks the AppHash because
its consensus version is added to the ModuleVersionMap which affects the
AppHash.

this commit unregisters the module so it is not consensus breaking.
instead, it directly calls the BeginBlock before running the module
manager's.
2023-08-28 12:00:25 -07:00
mergify[bot]
f898e3aff4
feat(metrics): add timing metrics to abci methods (backport #1669) (#1685)
* feat(metrics): add timing metrics to abci methods (#1669)

* feat(metrics): add timing metrics to abci methods

* update changelog

(cherry picked from commit 8b6bbd36f4)

# Conflicts:
#	CHANGELOG.md

* fix changlog conflicts

---------

Co-authored-by: Robert Pirtle <Astropirtle@gmail.com>
2023-08-25 16:11:45 -07:00
mergify[bot]
6c565343f7
feat(x/metrics): add module for emiting custom chain metrics (backport #1668) (#1677)
* feat(x/metrics): add module for emiting custom chain metrics (#1668)

* initialize x/metrics with metrics collection

* include global labels in x/metrics metrics

* add x/metrics spec

* add x/metrics test coverage

* update changelog

(cherry picked from commit 9a0aed7626)

# Conflicts:
#	CHANGELOG.md

* fix changlog conflicts

---------

Co-authored-by: Robert Pirtle <Astropirtle@gmail.com>
2023-08-25 15:14:14 -07:00
Robert Pirtle
48c845b941 chore: support $(GO_BIN) in make install / build 2023-08-09 16:10:43 -07:00
Nick DeLuca
2eee058b78
add kava 14 migration instructions in prep to tag v0.24.0 (#1647) 2023-06-30 14:09:20 -07:00
Robert Pirtle
1d031896cb
feat: add upgrade handlers for v0.24.x (#1619)
* setup skeleton for upgrade handlers

* initialize allowed_cosmos_denoms param

* allow eip712 signing of cosmos coin conversion msgs

* update stability committee ParamsChangePermission

* e2e test the upgrade handler
2023-06-15 12:21:54 -07:00
Robert Pirtle
e4a57113c1
feat: add rocksdb Dockerfile (#1625)
* feat: add rocksdb Dockerfile

* update kvtool
2023-06-14 09:37:21 -07:00
Robert Pirtle
49812b6e7c
fix(cli): Resolve problem with assert-invariants cmd (#1624)
* remove no-op migrate command

* move assert-invariants from migrate -> cmd

* fix: don't modify validators for assert-invariants

Makes validator addition in TestApp initialization optional.

* update changelog
2023-06-09 16:52:52 -07:00
drklee3
230ad734a1
chore: bump tm-db fork to v0.6.7-kava.3 (#1622) (#1623)
* Use updated tm-db branch

* chore: bump tm-db fork to v0.6.7-kava.3

* Update changlog

* Update changlog pr number
2023-06-09 12:56:46 -07:00
Robert Pirtle
141e8ac450
test(e2e): add Committee & Upgrade query clients (#1618)
Also:
- updates kvtool
- adds helper comment to upgrade e2e file
- adjusts e2e account funding logging
- [testnets] enable eip712 signing of cosmos coin msgs
- [testnets] enable cosmos coin conversion for HARD
2023-06-06 14:51:42 -07:00
Adam Robert Turman
4b01b70e0c
clean up missed renaming (#1617) 2023-06-06 13:36:11 -05:00
Robert Pirtle
c90c7a8647
test(e2e): test more complex cosmos assert conversion (#1616)
* ensure users can mint() or burn() erc20s

* refactor test setup

* refactor GetErc20Balance for arbitrary erc20 contracts

* move GetErc20Balance() to Chain

* test complex erc20 operations & convert

* undo changes to e2e env
2023-06-06 09:40:17 -07:00
Adam Robert Turman
0ec64c9378
axlwBTC Lend money market (#1613)
* clean up naming around axlwBTC
reenable lend money market
assign incentives

* Update .github/scripts/seed-protonet.sh

* alphabetical order of denoms

* alphabetical order of denoms

* alphabetical order of denoms pt 3

* alphabetical order of denoms
2023-06-05 18:37:00 -05:00
drklee3
425754da12
fix: update submit-legacy-proposal command in internal testnet seed script (#1615) 2023-06-05 15:02:08 -07:00
Robert Pirtle
6853e4fc9c
cli!: rename evm-native asset conversion cli cmds (#1614) 2023-06-05 13:26:02 -07:00
Robert Pirtle
a1f1f0d957
test(e2e): add tests for cosmos coin conversion (#1612)
* add e2e test for cosmos coin conversion

* add e2e test for eip712 signing of converts

* update kvtool
2023-06-05 13:22:23 -07:00
Robert Pirtle
528be6350e
feat(evmutil): add CosmosCoinsFullyBackedInvariant (#1610)
* add IterateAllDeployedCosmosCoinContracts method

* refactor unpacking big int from erc20 query

* add QueryERC20TotalSupply method

* feat(evmutil): add CosmosCoinsFullyBackedInvariant

* update changelog
2023-06-05 11:39:53 -07:00
Robert Pirtle
f4b8bf8f07
feat(evmutil): implement MsgConvertCosmosCoinFromERC20 (#1609)
* first pass at convert cosmos coin -> evm msg

* test ConvertCosmosCoinFromERC20 method

* test message server for MsgConvertCosmosCoinFromERC20

* update spec to include MsgConvertCosmosCoinFromERC20

* update changelog

* add CLI command for convert-cosmos-coin-from-erc20

* add test of removed/re-enable denom for convert
2023-06-02 14:26:51 -07:00
Robert Pirtle
d988330d7f
feat(evmutil): add MsgConvertCosmosCoinFromERC20 proto (#1608)
* add MsgConvertCosmosCoinFromERC20 proto & Msg impl

* test MsgConvertCosmosCoinFromERC20 validation

* register msg codec in this PR 😅
2023-06-02 12:36:59 -07:00
Robert Pirtle
d500cd1236
feat(evmutil): Add DeployedCosmosCoinContracts query (#1605)
* add QueryDeployedCosmosCoinContracts proto

* also implement protobuf marshaler for InternalEVMAddress

* setup iteration & collection for deployed addrs

* rewrite grpc query tests

* support querying for all deployed contracts

* support querying by cosmos denom

* fix & test pagination

* remove unused iteration methods

* add CLI query command

* update changelog

* update spec

* add InternalEVMAddress.MarshalJSON test
2023-06-02 11:23:52 -07:00
Adam Robert Turman
12e3dfecc3
Update internal testnet commit hash (#1611)
* Update KAVA.VERSION

Updated to match: dc1f8eb153

* Update ci/env/kava-internal-testnet/KAVA.VERSION

* Update ci/env/kava-internal-testnet/KAVA.VERSION

* update internal genesis params

---------

Co-authored-by: Robert Pirtle <astropirtle@gmail.com>
2023-06-01 13:31:34 -05:00
Robert Pirtle
fd83da7a05
feat(evmutil)!: emit events on MsgConvertCosmosCoinToERC20 (#1604)
* better error message for mismatched events

* rename evm asset conversion event types

* emit message event for MsgConvertCosmosCoinToERC20

* emit convert_cosmos_coin_to_erc20 event
2023-05-30 13:06:46 -07:00
Robert Pirtle
741f1e42ee
feat(evmutil)!: implement MsgConvertCosmosCoinToERC20 (#1603)
* feat(evmutil): implement MsgConvertCosmosCoinToERC20

* docs(evmutil): update module spec

* update changelog

* rename conversion -> conversion_evm_native

* refactor ConvertCosmosCoinToERC20 to keeper method

* add CLI cmd for MsgConvertCosmosCoinToERC20

* updates from pr
2023-05-30 12:00:01 -07:00
Ruaridh
1459170a37
fix(evmutil): register MsgConvertCosmosCoinToERC20 on amino (#1599)
* add amino registration test

* register evmutil types on app amino codec

* register new msg type in amino and proto,
also use new register method that checks length to catch ledger issues

* clarify variable naming
2023-05-26 19:06:26 -07:00
Nick DeLuca
13b079b70f
update ibc to 6.1.1 (#1602) 2023-05-25 09:30:49 -07:00
Robert Pirtle
6585ac24b0
feat(evmutil): track deployed contracts in state (#1598)
* feat(evmutil): track deployed contracts in state

* docs(evmutil): update state spec

* update changelog
2023-05-24 16:23:33 -07:00
Robert Pirtle
8495619130
docs: update mainnet kava version (#1597)
* docs: update mainnet kava version

* ci: reenable breaking proto checks
2023-05-23 12:38:46 -07:00
Robert Pirtle
d4cbc759f8
update new names, NativeCoin -> CosmosCoin (#1596)
* rename contract NativeCoin -> CosmosCoin

* rename all entities NativeCoin -> CosmosCoin

* update changelog

* update protonet genesis.json
2023-05-23 12:32:27 -07:00
Robert Pirtle
61c3aa090b
feat(evmutil): add proto for MsgConvertNativeCoinToERC20 (#1595)
* add proto for MsgConvertNativeCoinToERC20

* implement Msg types & unit test validation
2023-05-23 11:01:45 -07:00
Robert Pirtle
278f7854dc
feat(evmutil): add ERC20KavaWrappedNativeCoinContract (#1591)
* 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
2023-05-23 10:16:00 -07:00
Robert Pirtle
6da31bd662
feat: add contract for ERC20KavaWrappedNativeCoin (#1594)
* 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>
2023-05-19 16:39:50 -07:00
Robert Pirtle
ff709d73e1
feat(evmutil): add allow list for evm-convertible sdk denoms (#1590)
* 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
2023-05-19 16:01:46 -07:00
Robert Pirtle
362e39abf6
docs: update changelog to reflect v0.23.0 release (#1589) 2023-05-15 14:15:49 -07:00
Nick DeLuca
31ba0badfc
update ethermint for latest kava version that fixes (#1588)
migration and legacy parameter handling
2023-05-04 10:27:04 -07:00
Nick DeLuca
165ec7bff0
update golang from 1.19 to 1.20, the recommended version for kava 13 (#1571)
mainnet and testnet
2023-05-03 16:16:47 -07:00
Robert Pirtle
250801dd77
fix ci & sort denoms in internal testnet genesis coins (#1580)
* fix internal genesis validation ci

* sort coins in internal testnet genesis
2023-04-27 07:49:55 -07:00
Paul Downing
ea3f2511d4
update multichain btc denom (#1579)
denom in prod is `erc20/multichain/wbtc` apparently instead of `erc20/multichain/btc`
2023-04-25 12:58:34 -05:00
Robert Pirtle
a739e42009
ci: run CI test suite against release branches (#1578) 2023-04-24 12:53:29 -07:00
drklee3
95d9fb9aca
feat: add CommunityCDPWithdrawCollateralPermission (#1568)
* Add CommunityCDPWithdrawCollateralPermission

* Add changelog entry

* Move permission Allow func closer to its other cdp friend
2023-04-20 17:13:02 -07:00
Draco
fff3f50877
Fix cli to fund community pool (#1570) 2023-04-20 19:56:24 -04:00
drklee3
31eae1c6d7
feat: add community cdp withdraw collateral proposal (#1567)
* Initial proposal types

* Add withdraw cdp proposal handler

* Add codec registration for proposal type

* Update CommunityCDPWithdrawCollateralProposal name

* Rename CommunityCDPWithdrawCollateralProposal

* Add changelog entry

* Add proposal registration, unit tests

* Register CommunityCDPWithdrawCollateralProposal proposal type codec
2023-04-20 16:08:53 -07:00
Robert Pirtle
14a0860ddb
feat: add CommunityCDPRepayDebtPermission (#1566)
* 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
2023-04-20 14:42:11 -07:00
Robert Pirtle
c5f414e6a5
feat: add community cdp repay debt proposal (#1565)
* 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
2023-04-20 14:13:16 -07:00
Draco
99890b9c84
add authorizations for x/gov (#1569) 2023-04-20 16:43:33 -04:00
Paul Downing
9b0a348239
Update protonet json earn vaults (#1564)
* 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
2023-04-18 18:55:57 -05:00
Robert Pirtle
8c1c29a03a
feat: add CommunityPoolLendWithdrawalPermission (#1562)
* feat: add CommunityPoolLendWithdrawalPermission

* update kvtool to master branch

* register with PubProposal legacy amino codec

* register missing legacy amino codec PubProposal
2023-04-18 12:31:43 -07:00
drklee3
56f697fba6
feat: overwrite x/distribution /community_pool endpoint to include x/community balance (#1563)
* Add query path rewrites

* Add test for new x/community endpoint

* Update doc for RegisterAPIRouteRewrites

* Add changelog entry

* Add changelog entry link
2023-04-17 12:54:13 -07:00
Levi Schoen
98fb7ced20 match contracts deployed in protonet seed script with internal testnet 2023-04-14 13:44:51 -07:00
Levi Schoen
3e4d081583 fix protonet seed script usdc contract address variable 2023-04-14 12:25:57 -07:00
Levi Schoen
be2db71cb0 update-protonet-committee-params
allow protonet committee members to update evmutil EnabledConversionPairs param
2023-04-14 12:25:57 -07:00