Commit Graph

1536 Commits

Author SHA1 Message Date
Robert Pirtle
8b6bbd36f4
feat(metrics): add timing metrics to abci methods (#1669)
* feat(metrics): add timing metrics to abci methods

* update changelog
2023-08-25 15:14:35 -07:00
Robert Pirtle
9a0aed7626
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
2023-08-25 12:23:53 -07:00
Robert Pirtle
0ddc87ad1d
ci: add Mergify config to auto-open backport PRs (#1671)
* ci: add Mergify config to auto-open backport PRs

adding PR labels defined in the mergify.yml will trigger PRs with those
code changes to be automatically opened against the release branch from
the PR label.

* add backport label for all kava_2222-10 versions
2023-08-25 12:20:41 -07:00
Evgeniy Scherbina
71a8cee566
Update kava version for internal testnet (#1670) 2023-08-25 10:30:28 -04:00
Evgeniy Scherbina
b01062a991
Fix kava version for internal testnet (#1667)
* Fix kava version for internal testnet

* Fix kava version for protonet
2023-08-23 13:36:23 -04:00
Evgeniy Scherbina
a967d2fdda
Update rocksdb version in ci-master workflow (#1665) 2023-08-22 12:44:39 -04:00
Evgeniy Scherbina
90fbe1aad7
Make rocksdb configurable (#1658)
* Make rocksdb configurable

* Make sure rocksdb tests are running in CI

* Updating ci-rocksdb-build workflow

* Remove test.sh

* Update tm-db dependency
2023-08-22 11:24:48 -04:00
drklee3
47416b3d1a
fix: prevent goleveldb panic on large genesis files(#1661)
Backport of #1631
2023-08-16 14:11:10 -07:00
Robert Pirtle
23f0fe0667
chore: allow override of go binary in Makefile (#1660)
* chore: allow override of go binary in Makefile

* update build dir make commands with GO_BIN
2023-08-11 13:29:54 -07:00
Robert Pirtle
839dc80205
test(e2e): update kvtool & e2e tests (#1659)
* add Cdp querier to Chain

* verify funded account has sufficient balance

* return error for nonzero status codes

* update e2e test for eip712 signing

complex eip712 workflow now uses x/cdp instead of x/earn vault

* update to master kvtool

* reset e2e env variables
2023-08-02 14:52:48 -07:00
Robert Pirtle
667b6d084e
ci: update internal testnet cdp collateral types param (#1657)
* ci: update internal testnet usdt cdp collateral type

* match mainnet global debt limit
2023-07-26 12:33:26 -07:00
Robert Pirtle
15c243224c
fix(evmutil): create module account on InitGenesis (#1655)
* fix(evmutil): create module account on InitGenesis

ensures the creation of the x/evmutil module account on init genesis.

* update changelog

* cleanup debug logging
2023-07-24 16:00:19 -07:00
drklee3
2bcfe5c0be
Remove stray 2 character in readme (#1654) 2023-07-20 15:43:46 -07:00
Jake Tagnepis
55847526b8
docs: update mainnet kava version in readme (#1651) 2023-07-20 12:11:57 -07:00
samcode206
8a7d3aa52c
Add x/cdp msgs to eip712_allowed_msgs list (#1650) 2023-07-14 14:07:21 -07:00
samcode206
5f0a723dea
add erc20/tether/usdt to internal testnet cdp collateral_params (#1649) 2023-07-14 11:59:27 -07:00
Robert Pirtle
5cfa33f638
test(e2e): lower cost to run on live networks (#1646)
* add cost summary to e2e test suite runs

* lower cost of test

* refactor initial funding to use new BankSend()

* reduce gas used for initial funding

* return all sdk funds on shutdown

* enable refunds when running against live network

* save more cosmos coins! require less total overall

* track erc20s on Chain

* refactor erc20 funding with new TransferErc20()

* return all registered erc20 balance

* lower erc20 e2e test values

* withdraw earn position & convert back to erc20

* lower gas fees in e2e tests

* fix env variable typo

* add readme note about how to run on live network

* log total spend required for e2e tests
2023-06-29 22:30:02 -07:00
Robert Pirtle
7cff7bec23
test(e2e): support running against live networks (#1630)
* add NodeRunner impl for connecting to live network

* refactor out node runner setups

* remove hardcoded denom for DeployedErc20

* further specify restrictions on DeployedErc20

* don't override .env funded account mnemonic

* lower amounts for convert to coin e2e tests

* lower fund values used by e2e tests

* add doc comments for all e2e functions & types
2023-06-26 15:03:51 -07:00
Robert Pirtle
336bac7466
convert sdk.Coin to ERC20 on internal testnet deploy (#1642) 2023-06-23 15:25:21 -07:00
Robert Pirtle
80c8c2c0f0
ci: fix internal testnet evmutil params (#1641)
we never voted on a param change proposal we submitted. now we do so the
proposal actually takes effect.
2023-06-22 11:03:46 -07:00
Robert Pirtle
1c7911aabf
ci: add USDT to internal testnet (#1632) 2023-06-21 16:05:48 -07:00
Robert Pirtle
1a223bdce2
test(e2e): refactor NodeRunner in prep for live networks (#1627)
* add KavaNodeRunner comments

* update kvtool

* refactor pingEvm()

* refactor pingKava()

* refactor EvmRpcPort -> EvmRpcUrl

* refactor ChainDetails (g)rpcPort -> (g)rpcUrl

* fixup chain details

* extract kvtool options to separate config

* refactor waitForChainStart()

* pull out KavaNodeRunner into kvtool file

* rename runner to KvtoolRunner

* rename runner.Config to KvtoolRunnerConfig

* prefix hardcoded chain details with "kvtool"
2023-06-20 09:29:25 -07:00
Adam Robert Turman
c0820fc51b
seed dev wallet with atom on internal testnet (#1628) 2023-06-16 16:07:02 -05: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