From 902faae7089f39acddeae8e5f0c95506146e4109 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 18 Sep 2024 11:55:23 -0400 Subject: [PATCH 01/52] feat: add base genesis file for kava-protonet validator --- ci/env/kava-protonet/genesis.json | 3500 ++--------------------------- 1 file changed, 178 insertions(+), 3322 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index e42273eacf..5ed512904b 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -1,32 +1,35 @@ { - "genesis_time": "2022-05-25T17:00:00Z", + "genesis_time": "2024-09-12T14:33:15.450491709Z", "chain_id": "proto_2221-17000", "initial_height": "1", "consensus_params": { "block": { - "max_bytes": "200000", - "max_gas": "20000000", - "time_iota_ms": "1000" + "max_bytes": "22020096", + "max_gas": "-1" }, "evidence": { - "max_age_num_blocks": "1000000", - "max_age_duration": "6000000000000000", - "max_bytes": "50000" + "max_age_num_blocks": "100000", + "max_age_duration": "172800000000000", + "max_bytes": "1048576" }, "validator": { "pub_key_types": [ "ed25519" ] }, - "version": {} + "version": { + "app": "0" + } }, "app_hash": "", "app_state": { + "06-solomachine": null, + "07-tendermint": null, "auction": { "next_auction_id": "1", "params": { "max_auction_duration": "172800s", - "forward_bid_duration": "28800s", + "forward_bid_duration": "86400s", "reverse_bid_duration": "3600s", "increment_surplus": "0.050000000000000000", "increment_debt": "0.050000000000000000", @@ -43,422 +46,17 @@ "sig_verify_cost_secp256k1": "1000" }, "accounts": [ - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1g3kdcr8ah7rs07dk00elnkpmk34e6dcj94306a", - "pub_key": null, - "account_number": "0", - "sequence": "1" - }, - "code_hash": "0" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1jc92jznsjlvfs6d4l8qjhc4j3gaapvmkypxlln", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { - "address": "kava1cj7njkw2g9fqx4e768zc75dp9sks8u9znxrf0w", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "name": "kavadist", - "permissions": [ - "minter" - ] - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1ak4pa9z2aty94ze2cs06wsdnkg9hsvfkp40r02", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava123fxg0l602etulhhcdm0vt7l57qya5wjcrwhzz", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava10wlnqzyss4accfqmyxwx5jy5x9nfkwh6qm7n4t", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1vtf08rd2z9fm8qwxa54y3el5vues8ty64qcdyr", - "pub_key": null, - "account_number": "0", - "sequence": "1" - }, - "code_hash": "0xefe54230c8a74092194afdcb21c230b4cc4e07d0e6cd22bf0d3721f518df8ef2" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1wrrekcy2h0zs9shkruuwqsvsldq8hm70yad4ke", - "pub_key": null, - "account_number": "0", - "sequence": "1" - }, - "code_hash": "0xd51cf04c1b78bc48b348e8455c4181539ab0b7ff84bb081fed109cd5feafaede" - }, - { - "@type": "/cosmos.auth.v1beta1.ModuleAccount", - "base_account": { - "address": "kava1mfru9azs5nua2wxcd4sq64g5nt7nn4n8s2w8cu", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "name": "swap", - "permissions": [] - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxw9ehkk", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1kq0kfnnffkna9hknzg8kgx89ljczjtjdt8qrv7", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "kava1krh7k30pc9rteejpl2zycj0vau58y8c69xkzws", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1w66m9hdzwgd6uc8g93zqkcumgwzrpcw9e32lf8", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1xg3g4gadzvlgfqwnsfufnsv6r0gmtnhl9f09p5", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - "code_hash": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "kava10cy05c0j9udypdrp0wy8a5jtshx67v7zk5sdzp", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, { "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "kava1qffzssyckxgrd7qm6g59r7rfjpp047kzaefatc", + "address": "kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582", "pub_key": null, "account_number": "0", "sequence": "0" - }, - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "kava14w4avgdvqrlpww6l5dhgj4egfn6ln7gmxhytjv", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, - { - "@type": "/ethermint.types.v1.EthAccount", - "base_account": { - "address": "kava1seqjrgakfgzasu5g8gwsmgzwacg85e8nnxeqxl", - "pub_key": null, - "account_number": "23", - "sequence": "1" - }, - "code_hash": "0x45d85d503e0143ffd2bb95d7bcb4dadfc1c05ff005fc7c26e63eb47f496fdafc" } ] }, "authz": { - "authorization": [ - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.bank.v1beta1.MsgMultiSend" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.bank.v1beta1.MsgSend" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.distribution.v1beta1.MsgFundCommunityPool" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.staking.v1beta1.MsgDelegate" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.cdp.v1beta1.MsgCreateCDP" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.cdp.v1beta1.MsgDeposit" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.cdp.v1beta1.MsgDrawDebt" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.cdp.v1beta1.MsgRepayDebt" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.cdp.v1beta1.MsgWithdraw" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.hard.v1beta1.MsgBorrow" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.hard.v1beta1.MsgDeposit" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.hard.v1beta1.MsgRepay" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.hard.v1beta1.MsgWithdraw" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.liquid.v1beta1.MsgBurnDerivative" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.liquid.v1beta1.MsgMintDerivative" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.swap.v1beta1.MsgDeposit" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.swap.v1beta1.MsgSwapExactForTokens" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.swap.v1beta1.MsgSwapForExactTokens" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - }, - { - "authorization": { - "@type": "/cosmos.authz.v1beta1.GenericAuthorization", - "msg": "/kava.swap.v1beta1.MsgWithdraw" - }, - "expiration": null, - "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", - "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" - } - ] + "authorization": [] }, "bank": { "params": { @@ -467,865 +65,82 @@ }, "balances": [ { - "address": "kava1qffzssyckxgrd7qm6g59r7rfjpp047kzaefatc", - "coins": [ - { - "denom": "btcb", - "amount": "200000000" - }, - { - "denom": "busd", - "amount": "1000000000000000" - }, - { - "denom": "hard", - "amount": "1000000000" - }, - { - "denom": "swp", - "amount": "5000000000" - }, - { - "denom": "ukava", - "amount": "100000000000000" - }, - { - "denom": "usdx", - "amount": "103000000000" - } - ] - }, - { - "address": "kava1xg3g4gadzvlgfqwnsfufnsv6r0gmtnhl9f09p5", - "coins": [ - { - "denom": "ukava", - "amount": "1000000000000000000" - } - ] - }, - { - "address": "kava1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxw9ehkk", - "coins": [ - { - "denom": "ukava", - "amount": "1000000000" - } - ] - }, - { - "address": "kava1g3kdcr8ah7rs07dk00elnkpmk34e6dcj94306a", - "coins": [ - { - "denom": "ukava", - "amount": "10000000000000000000000" - } - ] - }, - { - "address": "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn", - "coins": [ - { - "denom": "ukava", - "amount": "100000000000000" - } - ] - }, - { - "address": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "address": "kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582", "coins": [ - { - "denom": "btcb", - "amount": "200000000" - }, - { - "denom": "busd", - "amount": "1000000000000000" - }, - { - "denom": "erc20/axelar/eth", - "amount": "1000000000000000000" - }, - { - "denom": "erc20/axelar/usdc", - "amount": "10000000000" - }, - { - "denom": "erc20/axelar/wbtc", - "amount": "1000000000" - }, - { - "denom": "hard", - "amount": "1000000000" - }, - { - "denom": "swp", - "amount": "5000000000" - }, { "denom": "ukava", - "amount": "10000000000000" - }, - { - "denom": "usdx", - "amount": "103000000000" + "amount": "2000000000" } ] - }, + } + ], + "supply": [ { - "address": "kava1w66m9hdzwgd6uc8g93zqkcumgwzrpcw9e32lf8", - "coins": [ - { - "denom": "ukava", - "amount": "1000000000" - } - ] + "denom": "ukava", + "amount": "2000000000" + } + ], + "denom_metadata": [], + "send_enabled": [] + }, + "bep3": { + "params": { + "asset_params": [] + }, + "atomic_swaps": [], + "supplies": [], + "previous_block_time": "1970-01-01T00:00:01Z" + }, + "capability": { + "index": "1", + "owners": [] + }, + "cdp": { + "params": { + "collateral_params": [], + "debt_param": { + "denom": "usdx", + "reference_asset": "usd", + "conversion_factor": "6", + "debt_floor": "10000000" }, - { - "address": "kava10cy05c0j9udypdrp0wy8a5jtshx67v7zk5sdzp", - "coins": [ - { - "denom": "btcb", - "amount": "200000000" - }, - { - "denom": "busd", - "amount": "1000000000000000" - }, - { - "denom": "hard", - "amount": "1000000000" - }, - { - "denom": "swp", - "amount": "5000000000" - }, - { - "denom": "ukava", - "amount": "10000000000000" - }, - { - "denom": "usdx", - "amount": "103000000000" - } - ] + "global_debt_limit": { + "denom": "usdx", + "amount": "0" }, - { - "address": "kava1jc92jznsjlvfs6d4l8qjhc4j3gaapvmkypxlln", - "coins": [ - { - "denom": "ukava", - "amount": "1000000000" - } - ] - }, - { - "address": "kava14w4avgdvqrlpww6l5dhgj4egfn6ln7gmxhytjv", - "coins": [ - { - "denom": "ukava", - "amount": "1000000000" - } - ] - }, - { - "address": "kava1kq0kfnnffkna9hknzg8kgx89ljczjtjdt8qrv7", - "coins": [ - { - "denom": "ukava", - "amount": "1000000000000000000" - } - ] - }, - { - "address": "kava1krh7k30pc9rteejpl2zycj0vau58y8c69xkzws", - "coins": [ - { - "denom": "btcb", - "amount": "200000000" - }, - { - "denom": "busd", - "amount": "1000000000000000" - }, - { - "denom": "erc20/axelar/eth", - "amount": "1000000000000000000" - }, - { - "denom": "erc20/axelar/usdc", - "amount": "10000000000" - }, - { - "denom": "erc20/axelar/wbtc", - "amount": "1000000000" - }, - { - "denom": "hard", - "amount": "1000000000" - }, - { - "denom": "swp", - "amount": "5000000000" - }, - { - "denom": "ukava", - "amount": "10000000000000" - }, - { - "denom": "usdx", - "amount": "103000000000" - } - ] - }, - { - "address": "kava1cj7njkw2g9fqx4e768zc75dp9sks8u9znxrf0w", - "coins": [ - { - "denom": "hard", - "amount": "100000000000000" - }, - { - "denom": "swp", - "amount": "100000000000000" - }, - { - "denom": "ukava", - "amount": "100000000000000" - } - ] - }, - { - "address": "kava1mfru9azs5nua2wxcd4sq64g5nt7nn4n8s2w8cu", - "coins": [ - { - "denom": "btcb", - "amount": "200000000" - }, - { - "denom": "hard", - "amount": "1000000000" - }, - { - "denom": "swp", - "amount": "5000000000" - }, - { - "denom": "ukava", - "amount": "5000000000" - }, - { - "denom": "usdx", - "amount": "103000000000" - } - ] - } - ], - "supply": [], - "denom_metadata": [] - }, - "bep3": { - "supplies": [], - "atomic_swaps": [], - "previous_block_time": "1970-01-01T00:00:00Z", - "params": { - "asset_params": [ - { - "denom": "btcb", - "coin_id": "0", - "supply_limit": { - "limit": "100000000000", - "time_limited": false, - "time_period": "0", - "time_based_limit": "0" - }, - "active": true, - "deputy_address": "kava1kla4wl0ccv7u85cemvs3y987hqk0afcv7vue84", - "fixed_fee": "2", - "min_swap_amount": "3", - "max_swap_amount": "2000000000", - "min_block_lock": "24686", - "max_block_lock": "86400" - }, - { - "denom": "xrpb", - "coin_id": "144", - "supply_limit": { - "limit": "2000000000000000", - "time_limited": false, - "time_period": "0", - "time_based_limit": "0" - }, - "active": true, - "deputy_address": "kava14q5sawxdxtpap5x5sgzj7v4sp3ucncjlpuk3hs", - "fixed_fee": "100000", - "min_swap_amount": "100001", - "max_swap_amount": "250000000000000", - "min_block_lock": "24686", - "max_block_lock": "86400" - }, - { - "denom": "bnb", - "coin_id": "714", - "supply_limit": { - "limit": "100000000000000", - "time_limited": false, - "time_period": "0", - "time_based_limit": "0" - }, - "active": true, - "deputy_address": "kava1agcvt07tcw0tglu0hmwdecsnuxp2yd45f3avgm", - "fixed_fee": "1000", - "min_swap_amount": "1001", - "max_swap_amount": "500000000000", - "min_block_lock": "24686", - "max_block_lock": "86400" - }, - { - "denom": "busd", - "coin_id": "727", - "supply_limit": { - "limit": "2000000000000000", - "time_limited": false, - "time_period": "0", - "time_based_limit": "0" - }, - "active": true, - "deputy_address": "kava1j9je7f6s0v6k7dmgv6u5k5ru202f5ffsc7af04", - "fixed_fee": "20000", - "min_swap_amount": "20001", - "max_swap_amount": "100000000000000", - "min_block_lock": "24686", - "max_block_lock": "86400" - } - ] - } - }, - "bridge": { - "params": { - "bridge_enabled": true, - "enabled_erc20_tokens": [ - { - "address": "0x6098c27D41ec6dc280c2200A737D443b0AaA2E8F", - "name": "Wrapped ETH", - "symbol": "WETH", - "decimals": 18, - "minimum_withdraw_amount": "10000000000000000" - }, - { - "address": "0x4Fb48E68842bb59f07569c623ACa5826b600F8F7", - "name": "USDC", - "symbol": "USDC", - "decimals": 6, - "minimum_withdraw_amount": "10000000" - } - ], - "relayer": "kava15tmj37vh7ch504px9fcfglmvx6y9m70646ev8t", - "enabled_conversion_pairs": [] + "surplus_auction_threshold": "500000000000", + "surplus_auction_lot": "10000000000", + "debt_auction_threshold": "100000000000", + "debt_auction_lot": "10000000000", + "circuit_breaker": false, + "liquidation_block_interval": "1" }, - "erc20_bridge_pairs": [], - "next_withdraw_sequence": "1" - }, - "capability": { - "index": "1", - "owners": [] - }, - "cdp": { "cdps": [], - "debt_denom": "debt", "deposits": [], + "starting_cdp_id": "1", + "debt_denom": "debt", "gov_denom": "ukava", - "params": { - "circuit_breaker": false, - "liquidation_block_interval": 500, - "collateral_params": [ - { - "auction_size": "50000000000", - "conversion_factor": "8", - "debt_limit": { - "amount": "20000000000000", - "denom": "usdx" - }, - "denom": "bnb", - "liquidation_market_id": "bnb:usd:30", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "spot_market_id": "bnb:usd", - "stability_fee": "1.000000000782997700", - "type": "bnb-a" - }, - { - "auction_size": "100000000", - "conversion_factor": "8", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "btcb", - "liquidation_market_id": "btc:usd:30", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "spot_market_id": "btc:usd", - "stability_fee": "1.000000000782997700", - "type": "btcb-a" - }, - { - "denom": "xrpb", - "type": "xrpb-a", - "liquidation_ratio": "1.500000000000000000", - "debt_limit": { - "denom": "usdx", - "amount": "1000000000000" - }, - "stability_fee": "1.000000001547125958", - "auction_size": "100000000000", - "liquidation_penalty": "0.075000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "spot_market_id": "xrp:usd", - "liquidation_market_id": "xrp:usd:30", - "conversion_factor": "8" - }, - { - "denom": "busd", - "type": "busd-a", - "liquidation_ratio": "1.010000000000000000", - "debt_limit": { - "denom": "usdx", - "amount": "3000000000000" - }, - "stability_fee": "1.000000000000000000", - "auction_size": "1000000000000", - "liquidation_penalty": "0.075000000000000000", - "check_collateralization_index_count": "10", - "keeper_reward_percentage": "0.01", - "spot_market_id": "busd:usd", - "liquidation_market_id": "busd:usd:30", - "conversion_factor": "8" - }, - { - "denom": "busd", - "type": "busd-b", - "liquidation_ratio": "1.100000000000000000", - "debt_limit": { - "denom": "usdx", - "amount": "3000000000000" - }, - "stability_fee": "1.000000012857214317", - "auction_size": "1000000000000", - "liquidation_penalty": "0.075000000000000000", - "check_collateralization_index_count": "10", - "keeper_reward_percentage": "0.01", - "spot_market_id": "busd:usd", - "liquidation_market_id": "busd:usd:30", - "conversion_factor": "8" - }, - { - "auction_size": "50000000000", - "conversion_factor": "6", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "ukava", - "liquidation_market_id": "kava:usd:30", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "spot_market_id": "kava:usd", - "stability_fee": "1.000000000782997700", - "type": "ukava-a" - }, - { - "auction_size": "50000000000", - "conversion_factor": "6", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "ibc/C72DE26FFF16DE62BE2784E12229BDF5F4465CE8B10530426D6DB53255FF01B2", - "liquidation_market_id": "luna:usd:30", - "spot_market_id": "luna:usd", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "stability_fee": "1.000000000782997700", - "type": "luna-a" - }, - { - "auction_size": "50000000000", - "conversion_factor": "6", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "ibc/4129EB76C01ED14052054BB975DE0C6C5010E12FFD9253C20C58BCD828BEE9A5", - "liquidation_market_id": "akt:usd:30", - "spot_market_id": "akt:usd", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "stability_fee": "1.000000000782997700", - "type": "akt-a" - }, - { - "auction_size": "50000000000", - "conversion_factor": "6", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", - "liquidation_market_id": "osmo:usd:30", - "spot_market_id": "osmo:usd", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "stability_fee": "1.000000000782997700", - "type": "osmo-a" - }, - { - "auction_size": "50000000000", - "conversion_factor": "6", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", - "liquidation_market_id": "atom:usd:30", - "spot_market_id": "atom:usd", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "stability_fee": "1.000000000782997700", - "type": "atom-a" - }, - { - "auction_size": "50000000000", - "conversion_factor": "6", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "hard", - "liquidation_market_id": "hard:usd:30", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "spot_market_id": "hard:usd", - "stability_fee": "1.000000000782997700", - "type": "hard-a" - }, - { - "auction_size": "50000000000", - "conversion_factor": "6", - "debt_limit": { - "amount": "2000000000000", - "denom": "usdx" - }, - "denom": "swp", - "liquidation_market_id": "swp:usd:30", - "liquidation_penalty": "0.050000000000000000", - "liquidation_ratio": "1.500000000000000000", - "keeper_reward_percentage": "0.01", - "check_collateralization_index_count": "10", - "spot_market_id": "swp:usd", - "stability_fee": "1.000000000782997700", - "type": "swp-a" - }, - { - "denom": "hbtc", - "type": "hbtc-a", - "liquidation_ratio": "1.500000000000000000", - "debt_limit": { - "denom": "usdx", - "amount": "10000000000000" - }, - "stability_fee": "1.000000001547125958", - "auction_size": "1000000000000", - "liquidation_penalty": "0.075000000000000000", - "check_collateralization_index_count": "10", - "keeper_reward_percentage": "0.01", - "spot_market_id": "btc:usd", - "liquidation_market_id": "btc:usd:30", - "conversion_factor": "8" - } - ], - "debt_auction_lot": "10000000000", - "debt_auction_threshold": "100000000000", - "debt_param": { - "conversion_factor": "6", - "debt_floor": "10000000", - "denom": "usdx", - "reference_asset": "usd" - }, - "global_debt_limit": { - "amount": "53000000000000", - "denom": "usdx" - }, - "surplus_auction_lot": "10000000000", - "surplus_auction_threshold": "500000000000" - }, - "starting_cdp_id": "1" + "previous_accumulation_times": [], + "total_principals": [] }, "committee": { - "committees": [ - { - "@type": "/kava.committee.v1beta1.MemberCommittee", - "base_committee": { - "id": "1", - "description": "Kava Stability Committee", - "members": [ - "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" - ], - "permissions": [ - { - "@type": "/kava.committee.v1beta1.TextPermission" - }, - { - "@type": "/kava.committee.v1beta1.CommunityPoolLendWithdrawPermission" - }, - { - "@type": "/kava.committee.v1beta1.CommunityCDPRepayDebtPermission" - }, - { - "@type": "/kava.committee.v1beta1.CommunityCDPWithdrawCollateralPermission" - }, - { - "@type": "/kava.committee.v1beta1.ParamsChangePermission", - "allowed_params_changes": [ - { - "subspace": "auction", - "key": "BidDuration" - }, - { - "subspace": "auction", - "key": "IncrementSurplus" - }, - { - "subspace": "auction", - "key": "IncrementDebt" - }, - { - "subspace": "auction", - "key": "IncrementCollateral" - }, - { - "subspace": "bep3", - "key": "AssetParams" - }, - { - "subspace": "cdp", - "key": "GlobalDebtLimit" - }, - { - "subspace": "cdp", - "key": "SurplusThreshold" - }, - { - "subspace": "cdp", - "key": "SurplusLot" - }, - { - "subspace": "cdp", - "key": "DebtThreshold" - }, - { - "subspace": "cdp", - "key": "DebtLot" - }, - { - "subspace": "cdp", - "key": "DistributionFrequency" - }, - { - "subspace": "cdp", - "key": "CollateralParams" - }, - { - "subspace": "cdp", - "key": "DebtParam" - }, - { - "subspace": "evmutil", - "key": "EnabledConversionPairs" - }, - { - "subspace": "incentive", - "key": "Active" - }, - { - "subspace": "kavadist", - "key": "Active" - }, - { - "subspace": "pricefeed", - "key": "Markets" - }, - { - "subspace": "hard", - "key": "MoneyMarkets" - }, - { - "subspace": "hard", - "key": "MinimumBorrowUSDValue" - } - ] - } - ], - "vote_threshold": "0.667000000000000000", - "proposal_duration": "604800s", - "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" - } - }, - { - "@type": "/kava.committee.v1beta1.MemberCommittee", - "base_committee": { - "id": "2", - "description": "Kava Safety Committee", - "members": [ - "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" - ], - "permissions": [ - { - "@type": "/kava.committee.v1beta1.SoftwareUpgradePermission" - } - ], - "vote_threshold": "0.667000000000000000", - "proposal_duration": "604800s", - "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" - } - }, - { - "@type": "/kava.committee.v1beta1.MemberCommittee", - "base_committee": { - "id": "3", - "description": "Kava God Committee (testing only)", - "members": [ - "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" - ], - "permissions": [ - { - "@type": "/kava.committee.v1beta1.GodPermission" - } - ], - "vote_threshold": "0.667000000000000000", - "proposal_duration": "604800s", - "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" - } - }, - { - "@type": "/kava.committee.v1beta1.TokenCommittee", - "base_committee": { - "id": "4", - "description": "HARD Governance Committee", - "members": [ - "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" - ], - "permissions": [ - { - "@type": "/kava.committee.v1beta1.TextPermission" - }, - { - "@type": "/kava.committee.v1beta1.ParamsChangePermission", - "allowed_params_changes": [ - { - "subspace": "hard", - "key": "MoneyMarkets" - }, - { - "subspace": "hard", - "key": "MinimumBorrowUSDValue" - }, - { - "subspace": "incentive", - "key": "HardSupplyRewardPeriods" - }, - { - "subspace": "incentive", - "key": "HardBorrowRewardPeriods" - }, - { - "subspace": "incentive", - "key": "HardDelegatorRewardPeriods" - } - ] - } - ], - "vote_threshold": "0.667000000000000000", - "proposal_duration": "604800s", - "tally_option": "TALLY_OPTION_DEADLINE" - }, - "quorum": "0.330000000000000000", - "tally_denom": "hard" - }, - { - "@type": "/kava.committee.v1beta1.TokenCommittee", - "base_committee": { - "id": "5", - "description": "SWP Governance Committee", - "members": [ - "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" - ], - "permissions": [ - { - "@type": "/kava.committee.v1beta1.TextPermission" - }, - { - "@type": "/kava.committee.v1beta1.ParamsChangePermission", - "allowed_params_changes": [ - { - "subspace": "swap", - "key": "AllowedPools" - }, - { - "subspace": "swap", - "key": "SwapFee" - }, - { - "subspace": "incentive", - "key": "DelegatorRewardPeriods" - }, - { - "subspace": "incentive", - "key": "SwapRewardPeriods" - } - ] - } - ], - "vote_threshold": "0.667000000000000000", - "proposal_duration": "604800s", - "tally_option": "TALLY_OPTION_DEADLINE" - }, - "quorum": "0.330000000000000000", - "tally_denom": "swp" - } - ], "next_proposal_id": "1", + "committees": [], "proposals": [], "votes": [] }, "community": { "params": { - "upgrade_time_disable_inflation": "2023-11-01T00:00:00Z", - "upgrade_time_set_staking_rewards_per_second": "744191", - "staking_rewards_per_second": "0" + "upgrade_time_disable_inflation": "0001-01-01T00:00:00Z", + "staking_rewards_per_second": "0.000000000000000000", + "upgrade_time_set_staking_rewards_per_second": "0.000000000000000000" }, "staking_rewards_state": { "last_accumulation_time": "0001-01-01T00:00:00Z", - "last_truncation_error": "0" + "last_truncation_error": "0.000000000000000000" } }, + "consensus": null, "crisis": { "constant_fee": { "denom": "ukava", @@ -1334,9 +149,9 @@ }, "distribution": { "params": { - "community_tax": "0.000000000000000000", - "base_proposer_reward": "0.010000000000000000", - "bonus_proposer_reward": "0.040000000000000000", + "community_tax": "0.020000000000000000", + "base_proposer_reward": "0.000000000000000000", + "bonus_proposer_reward": "0.000000000000000000", "withdraw_addr_enabled": true }, "fee_pool": { @@ -1344,744 +159,65 @@ }, "delegator_withdraw_infos": [], "previous_proposer": "", - "outstanding_rewards": [], - "validator_accumulated_commissions": [], - "validator_historical_rewards": [], - "validator_current_rewards": [], - "delegator_starting_infos": [], - "validator_slash_events": [] - }, - "earn": { - "params": { - "allowed_vaults": [ - { - "denom": "usdx", - "strategies": [ - "STRATEGY_TYPE_HARD" - ] - }, - { - "denom": "ukava", - "strategies": [ - "STRATEGY_TYPE_SAVINGS" - ] - }, - { - "denom": "erc20/multichain/usdc", - "strategies": [ - "STRATEGY_TYPE_SAVINGS" - ], - "is_private_vault": false, - "allowed_depositors": [] - }, - { - "denom": "bkava", - "strategies": [ - "STRATEGY_TYPE_SAVINGS" - ] - }, - { - "denom": "bnb", - "strategies": [ - "STRATEGY_TYPE_SAVINGS" - ], - "is_private_vault": false, - "allowed_depositors": [] - }, - { - "denom": "erc20/multichain/usdt", - "strategies": [ - "STRATEGY_TYPE_SAVINGS" - ], - "is_private_vault": false, - "allowed_depositors": [] - } - ] - }, - "vault_records": [], - "vault_share_records": [] - }, - "evidence": { - "evidence": [] - }, - "evm": { - "accounts": [ - { - "address": "0x864121A3b64A05d872883a1D0DA04eEe107A64F3", - "code": "608060405234801561001057600080fd5b50600436106102695760003560e01c806379cc679011610151578063a457c2d7116100c3578063d539139311610087578063d5391393146105df578063d547741f146105f4578063dd62ed3e14610607578063e44dbafc14610640578063ec126c7714610667578063ed56531a1461067a57600080fd5b8063a457c2d71461056c578063a9059cbb1461057f578063b32ad1a614610592578063c8e1b4ce146105b9578063ca15c873146105cc57600080fd5b806395d89b411161011557806395d89b41146104ff5780639ac25d08146105075780639dc29fac1461050f5780639e9e466614610522578063a19ff68014610545578063a217fddf1461050757600080fd5b806379cc679014610474578063893d20e8146104875780639010d07c1461048f57806391d14854146104a257806395609212146104b557600080fd5b8063313ce567116101ea578063401d1c73116101ae578063401d1c73146103e457806340c10f19146103f757806342966c681461040a578063628d6cba1461041d5780636f307dc31461043057806370a082311461044b57600080fd5b8063313ce56714610354578063355274ea1461038557806335e1d487146103ab57806336568abe146103be57806339509351146103d157600080fd5b806323fb9eba1161023157806323fb9eba146102e3578063248a9ca3146102f85780632f2ff15d1461031b5780632f4dae9f1461032e5780633092afd51461034157600080fd5b806301ffc9a71461026e57806306fdde0314610296578063095ea7b3146102ab57806318160ddd146102be57806323b872dd146102d0575b600080fd5b61028161027c366004611e25565b61068d565b60405190151581526020015b60405180910390f35b61029e6106b8565b60405161028d9190611e7b565b6102816102b9366004611eca565b61074a565b6002545b60405190815260200161028d565b6102816102de366004611ef4565b610762565b6102f66102f1366004611eca565b610786565b005b6102c2610306366004611f30565b60009081526005602052604090206001015490565b6102f6610329366004611f49565b6107ec565b6102f661033c366004611f30565b610817565b6102f661034f366004611f75565b610830565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000616815260200161028d565b7f00000000000000000000000000000000000000000052b7d2dcc80cd2e40000006102c2565b6102f66103b9366004611f90565b610876565b6102f66103cc366004611f49565b6108de565b6102816103df366004611eca565b610958565b6102f66103f2366004611fd5565b610997565b610281610405366004611eca565b6109e0565b6102f6610418366004611f30565b610a05565b61028161042b366004611f49565b610a12565b60005b6040516001600160a01b03909116815260200161028d565b6102c2610459366004611f75565b6001600160a01b031660009081526020819052604090205490565b6102f6610482366004611eca565b610ab1565b610433610ac6565b61043361049d366004612008565b610ad7565b6102816104b0366004611f49565b610af6565b6104e46104c3366004611f75565b60086020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161028d565b61029e610b21565b6102c2600081565b61028161051d366004611eca565b610b30565b610281610530366004611f30565b60009081526007602052604090205460ff1690565b6102c27f62d52416825983abd68b16e092b60c2eac31fd673bcce92494e063af530d9c3081565b61028161057a366004611eca565b610b55565b61028161058d366004611eca565b610be7565b6102c27fb2a18ae5d0b623b41098012c516d0bf4bef38c068c9e397da870c290888b199981565b6102f66105c7366004611eca565b610bf5565b6102c26105da366004611f30565b610c55565b6102c260008051602061220b83398151915281565b6102f6610602366004611f49565b610c6c565b6102c261061536600461202a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102c27f38cbe5ebce66f5e289a042a8eda57d146aaab8a3f3a9637670043b23d481307081565b610281610675366004612054565b610c92565b6102f6610688366004611f30565b610d06565b60006001600160e01b03198216635a05180f60e01b14806106b257506106b282610db6565b92915050565b6060600380546106c790612079565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390612079565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050905090565b600033610758818585610deb565b5060019392505050565b600033610770858285610f0f565b61077b858585610fa1565b506001949350505050565b6000610792813361117a565b6107aa60008051602061220b83398151915284610af6565b6107cf5760405162461bcd60e51b81526004016107c6906120b4565b60405180910390fd5b506001600160a01b03909116600090815260086020526040902055565b600082815260056020526040902060010154610808813361117a565b61081283836111de565b505050565b6000610823813361117a565b61082c82611200565b5050565b600061083c813361117a565b61085460008051602061220b833981519152836112e9565b506001600160a01b031660009081526008602052604081206001810182905555565b6000610882813361117a565b81806108a157506108a160008051602061220b83398151915285610af6565b6108bd5760405162461bcd60e51b81526004016107c6906120b4565b50506001600160a01b03909116600090815260086020526040902060020155565b6001600160a01b038116331461094e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107c6565b61082c82826112e9565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061075890829086906109929087906120ee565b610deb565b60006109a3813361117a565b6109bb60008051602061220b833981519152856111de565b506001600160a01b039092166000908152600860205260409020600181019190915555565b600060008051602061220b8339815191526109fb813361117a565b610758848461130b565b610a0f33826114b4565b50565b60006001600160a01b038216610a5e5760405162461bcd60e51b81526020600482015260116024820152707a65726f2062696e64206164647265737360781b60448201526064016107c6565b610a6833846114b4565b6040518381526001600160a01b0383169033907f6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c8889060200160405180910390a350600192915050565b610abc823383610f0f565b61082c82826114b4565b6000610ad28180610ad7565b905090565b6000828152600660205260408120610aef908361163b565b9392505050565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546106c790612079565b600060008051602061220b833981519152610b4b813361117a565b61075884846114b4565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610bda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107c6565b61077b8286868403610deb565b600033610758818585610fa1565b6000610c01813361117a565b610c1960008051602061220b83398151915284610af6565b610c355760405162461bcd60e51b81526004016107c6906120b4565b506001600160a01b03909116600090815260086020526040902060010155565b60008181526006602052604081206106b290611647565b600082815260056020526040902060010154610c88813361117a565b61081283836112e9565b600060008051602061220b833981519152610cad813361117a565b610cb7848461130b565b836001600160a01b0316857f05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d6185604051610cf391815260200190565b60405180910390a3506001949350505050565b6000610d12813361117a565b61082c82611651565b610d258282610af6565b61082c5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610d5d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610aef836001600160a01b038416611734565b60006001600160e01b03198216637965db0b60e01b14806106b257506301ffc9a760e01b6001600160e01b03198316146106b2565b6001600160a01b038316610e4d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107c6565b6001600160a01b038216610eae5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107c6565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610f9b5781811015610f8e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107c6565b610f9b8484848403610deb565b50505050565b6001600160a01b0383166110055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107c6565b6001600160a01b0382166110675760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107c6565b611072838383611783565b6001600160a01b038316600090815260208190526040902054818110156110ea5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107c6565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906111219084906120ee565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161116d91815260200190565b60405180910390a3610f9b565b6111848282610af6565b61082c5761119c816001600160a01b0316601461181e565b6111a783602061181e565b6040516020016111b8929190612106565b60408051601f198184030181529082905262461bcd60e51b82526107c691600401611e7b565b6111e88282610d1b565b60008281526006602052604090206108129082610da1565b600081815260076020526040902054819060ff168061124957506000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460ff165b6112955760405162461bcd60e51b815260206004820152601b60248201527f5061757361626c65436f6e74726f6c3a206e6f7420706175736564000000000060448201526064016107c6565b60008281526007602052604090819020805460ff19169055517fd05bfc2250abb0f8fd265a54c53a24359c5484af63cad2e4ce87c78ab751395a906112dd9084815260200190565b60405180910390a15050565b6112f382826119ba565b60008281526006602052604090206108129082611a21565b6001600160a01b0382163014156113645760405162461bcd60e51b815260206004820152601c60248201527f666f72626964206d696e7420746f20616464726573732874686973290000000060448201526064016107c6565b7fb2a18ae5d0b623b41098012c516d0bf4bef38c068c9e397da870c290888b199960005260076020527f5696ae725ce2b6df49ae5fc2132a3b5bfbfa3f910a4f4ebf5d914369aee88e285460ff16156113ed5760405162461bcd60e51b815260206004820152600b60248201526a1b5a5b9d081c185d5cd95960aa1b60448201526064016107c6565b33600090815260086020526040902080548211156114435760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c881b585e08195e18d959591959606a1b60448201526064016107c6565b8181600201600082825461145791906120ee565b90915550506001810154600282015411156114aa5760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c8818d85c08195e18d959591959606a1b60448201526064016107c6565b6108128383611a36565b6001600160a01b03821630141561150d5760405162461bcd60e51b815260206004820152601e60248201527f666f72626964206275726e2066726f6d2061646472657373287468697329000060448201526064016107c6565b7f62d52416825983abd68b16e092b60c2eac31fd673bcce92494e063af530d9c3060005260076020527f22c0851725d81d5a2873b6243c078a2bee0ad249f1327d73347baddfab2bafdf5460ff16156115965760405162461bcd60e51b815260206004820152600b60248201526a189d5c9b881c185d5cd95960aa1b60448201526064016107c6565b6115ae60008051602061220b83398151915233610af6565b156116315733600090815260086020526040902060028101548211156116165760405162461bcd60e51b815260206004820152601b60248201527f6d696e746572206275726e20616d6f756e74206578636565646564000000000060448201526064016107c6565b8181600201600082825461162a919061217b565b9091555050505b61082c8282611ac3565b6000610aef8383611c1d565b60006106b2825490565b600081815260076020526040902054819060ff1615801561169d57506000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460ff16155b6116e95760405162461bcd60e51b815260206004820152601760248201527f5061757361626c65436f6e74726f6c3a2070617573656400000000000000000060448201526064016107c6565b60008281526007602052604090819020805460ff19166001179055517f0cb09dc71d57eeec2046f6854976717e4874a3cf2d6ddeddde337e5b6de6ba31906112dd9084815260200190565b600081815260018301602052604081205461177b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b2565b5060006106b2565b7f38cbe5ebce66f5e289a042a8eda57d146aaab8a3f3a9637670043b23d481307060005260076020527fed3cf84bcbd51c215e74472d803ae179cc7a6cdc7f43fbb4dee24097246f8ede5460ff16156108125760405162461bcd60e51b815260206004820152601b60248201527f746f6b656e207472616e73666572207768696c6520706175736564000000000060448201526064016107c6565b6060600061182d836002612192565b6118389060026120ee565b67ffffffffffffffff811115611850576118506121b1565b6040519080825280601f01601f19166020018201604052801561187a576020820181803683370190505b509050600360fc1b81600081518110611895576118956121c7565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106118c4576118c46121c7565b60200101906001600160f81b031916908160001a90535060006118e8846002612192565b6118f39060016120ee565b90505b600181111561196b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611927576119276121c7565b1a60f81b82828151811061193d5761193d6121c7565b60200101906001600160f81b031916908160001a90535060049490941c93611964816121dd565b90506118f6565b508315610aef5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107c6565b6119c48282610af6565b1561082c5760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610aef836001600160a01b038416611c47565b7f00000000000000000000000000000000000000000052b7d2dcc80cd2e400000081611a6160025490565b611a6b91906120ee565b1115611ab95760405162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a206361702065786365656465640000000000000060448201526064016107c6565b61082c8282611d3a565b6001600160a01b038216611b235760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107c6565b611b2f82600083611783565b6001600160a01b03821660009081526020819052604090205481811015611ba35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107c6565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611bd290849061217b565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000826000018281548110611c3457611c346121c7565b9060005260206000200154905092915050565b60008181526001830160205260408120548015611d30576000611c6b60018361217b565b8554909150600090611c7f9060019061217b565b9050818114611ce4576000866000018281548110611c9f57611c9f6121c7565b9060005260206000200154905080876000018481548110611cc257611cc26121c7565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611cf557611cf56121f4565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106b2565b60009150506106b2565b6001600160a01b038216611d905760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107c6565b611d9c60008383611783565b8060026000828254611dae91906120ee565b90915550506001600160a01b03821660009081526020819052604081208054839290611ddb9084906120ee565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208284031215611e3757600080fd5b81356001600160e01b031981168114610aef57600080fd5b60005b83811015611e6a578181015183820152602001611e52565b83811115610f9b5750506000910152565b6020815260008251806020840152611e9a816040850160208701611e4f565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114611ec557600080fd5b919050565b60008060408385031215611edd57600080fd5b611ee683611eae565b946020939093013593505050565b600080600060608486031215611f0957600080fd5b611f1284611eae565b9250611f2060208501611eae565b9150604084013590509250925092565b600060208284031215611f4257600080fd5b5035919050565b60008060408385031215611f5c57600080fd5b82359150611f6c60208401611eae565b90509250929050565b600060208284031215611f8757600080fd5b610aef82611eae565b600080600060608486031215611fa557600080fd5b611fae84611eae565b92506020840135915060408401358015158114611fca57600080fd5b809150509250925092565b600080600060608486031215611fea57600080fd5b611ff384611eae565b95602085013595506040909401359392505050565b6000806040838503121561201b57600080fd5b50508035926020909101359150565b6000806040838503121561203d57600080fd5b61204683611eae565b9150611f6c60208401611eae565b60008060006060848603121561206957600080fd5b83359250611f2060208501611eae565b600181811c9082168061208d57607f821691505b602082108114156120ae57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600a90820152693737ba1036b4b73a32b960b11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115612101576121016120d8565b500190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161213e816017850160208801611e4f565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161216f816028840160208801611e4f565b01602801949350505050565b60008282101561218d5761218d6120d8565b500390565b60008160001904831182151516156121ac576121ac6120d8565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000816121ec576121ec6120d8565b506000190190565b634e487b7160e01b600052603160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220cc339a6941d06bc62d9fc1f8b87fe583b29c4485e2b35994fed501f5939dfbff64736f6c634300080a0033", - "storage": [ - { - "key": "0x0000000000000000000000000000000000000000000000000000000000000002", - "value": "0x000000000000000000000000000000000000000000000000000000e8d4a51000" - }, - { - "key": "0x0000000000000000000000000000000000000000000000000000000000000003", - "value": "0x55534420436f696e000000000000000000000000000000000000000000000010" - }, - { - "key": "0x0000000000000000000000000000000000000000000000000000000000000004", - "value": "0x5553444300000000000000000000000000000000000000000000000000000008" - }, - { - "key": "0x3195c024b2ddd6d9b8f6c836aa52f67fe69376c8903d009b80229b3ce4425f51", - "value": "0x0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "key": "0x3b88b54959f4503ee0c9a3b506a4cab9144808a26ffb5738a7f73ebfb166a2d0", - "value": "0x000000000000000000000000d8e30f7bcb5211e591bbc463cdab0144e82dffe5" - }, - { - "key": "0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8", - "value": "0x0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "key": "0x97d7234dec31942b01cd5c0373e4c7aa3667f7ec548e576ecfeb56bf5a66b10f", - "value": "0x00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000" - }, - { - "key": "0x97d7234dec31942b01cd5c0373e4c7aa3667f7ec548e576ecfeb56bf5a66b110", - "value": "0x00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000" - }, - { - "key": "0x97d7234dec31942b01cd5c0373e4c7aa3667f7ec548e576ecfeb56bf5a66b111", - "value": "0x000000000000000000000000000000000000000000000000000000e8d4a51000" - }, - { - "key": "0xb222e2e0d7127c3b552e7babf201dc0c0ddbf11f45feed64faca085ed7c02150", - "value": "0x000000000000000000000000000000000000000000000000000000e8d4a51000" - }, - { - "key": "0xc23b71e4251b5d995f111edd75abbdd7391e77d1e4de9272a5a47a7938b2b1d9", - "value": "0x0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "key": "0xe43357322becbe3f336cba61d5e956a3bffe95e162759d1e75ffd75e2a65207a", - "value": "0x0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "key": "0xef04ca62072efdd23897c89e7c2bedf36c8b71841eecbd65f6065698ce50d45d", - "value": "0x0000000000000000000000000000000000000000000000000000000000000001" - }, - { - "key": "0xf1ca0f4808f7f0c52440675894727c9e66265266cd1e1f5015f8b745ca2de5f3", - "value": "0x000000000000000000000000d8e30f7bcb5211e591bbc463cdab0144e82dffe5" - }, - { - "key": "0xf525d2a6afdb1cc6438b5ed48a66f662a55cdd91eb97bed938a289bd1e6628eb", - "value": "0x0000000000000000000000000000000000000000000000000000000000000001" - } - ] - }, - { - "address": "0x62d2f38dAA1153b381c6ed2A48e7f4673303ac9A", - "code": "608060405234801561001057600080fd5b50600436106100b45760003560e01c806372425d9d1161007157806372425d9d146101a657806386d516e8146101c4578063a8b0574e146101e2578063bce38bd714610200578063c3077fa914610230578063ee82ac5e14610262576100b4565b80630f28c97d146100b9578063252dba42146100d757806327e86d6e14610108578063399542e91461012657806342cbb15c146101585780634d2301cc14610176575b600080fd5b6100c1610292565b6040516100ce91906106a3565b60405180910390f35b6100f160048036038101906100ec91906109d2565b61029a565b6040516100ff929190610b65565b60405180910390f35b610110610423565b60405161011d9190610bae565b60405180910390f35b610140600480360381019061013b9190610c01565b610438565b60405161014f93929190610d6b565b60405180910390f35b610160610457565b60405161016d91906106a3565b60405180910390f35b610190600480360381019061018b9190610da9565b61045f565b60405161019d91906106a3565b60405180910390f35b6101ae610480565b6040516101bb91906106a3565b60405180910390f35b6101cc610488565b6040516101d991906106a3565b60405180910390f35b6101ea610490565b6040516101f79190610de5565b60405180910390f35b61021a60048036038101906102159190610c01565b610498565b6040516102279190610e00565b60405180910390f35b61024a600480360381019061024591906109d2565b610640565b60405161025993929190610d6b565b60405180910390f35b61027c60048036038101906102779190610e4e565b610663565b6040516102899190610bae565b60405180910390f35b600042905090565b60006060439150825167ffffffffffffffff8111156102bc576102bb6106e8565b5b6040519080825280602002602001820160405280156102ef57816020015b60608152602001906001900390816102da5790505b50905060005b835181101561041d5760008085838151811061031457610313610e7b565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1686848151811061034957610348610e7b565b5b6020026020010151602001516040516103629190610ee6565b6000604051808303816000865af19150503d806000811461039f576040519150601f19603f3d011682016040523d82523d6000602084013e6103a4565b606091505b5091509150816103e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e090610f5a565b60405180910390fd5b808484815181106103fd576103fc610e7b565b5b60200260200101819052505050808061041590610fa9565b9150506102f5565b50915091565b60006001436104329190610ff2565b40905090565b60008060604392504340915061044e8585610498565b90509250925092565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b600045905090565b600041905090565b6060815167ffffffffffffffff8111156104b5576104b46106e8565b5b6040519080825280602002602001820160405280156104ee57816020015b6104db61066e565b8152602001906001900390816104d35790505b50905060005b82518110156106395760008084838151811061051357610512610e7b565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061054857610547610e7b565b5b6020026020010151602001516040516105619190610ee6565b6000604051808303816000865af19150503d806000811461059e576040519150601f19603f3d011682016040523d82523d6000602084013e6105a3565b606091505b509150915085156105ef57816105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590611098565b60405180910390fd5b5b604051806040016040528083151581526020018281525084848151811061061957610618610e7b565b5b60200260200101819052505050808061063190610fa9565b9150506104f4565b5092915050565b6000806060610650600185610438565b8093508194508295505050509193909250565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b61069d8161068a565b82525050565b60006020820190506106b86000830184610694565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610720826106d7565b810181811067ffffffffffffffff8211171561073f5761073e6106e8565b5b80604052505050565b60006107526106be565b905061075e8282610717565b919050565b600067ffffffffffffffff82111561077e5761077d6106e8565b5b602082029050602081019050919050565b600080fd5b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107c98261079e565b9050919050565b6107d9816107be565b81146107e457600080fd5b50565b6000813590506107f6816107d0565b92915050565b600080fd5b600067ffffffffffffffff82111561081c5761081b6106e8565b5b610825826106d7565b9050602081019050919050565b82818337600083830152505050565b600061085461084f84610801565b610748565b9050828152602081018484840111156108705761086f6107fc565b5b61087b848285610832565b509392505050565b600082601f830112610898576108976106d2565b5b81356108a8848260208601610841565b91505092915050565b6000604082840312156108c7576108c6610794565b5b6108d16040610748565b905060006108e1848285016107e7565b600083015250602082013567ffffffffffffffff81111561090557610904610799565b5b61091184828501610883565b60208301525092915050565b600061093061092b84610763565b610748565b905080838252602082019050602084028301858111156109535761095261078f565b5b835b8181101561099a57803567ffffffffffffffff811115610978576109776106d2565b5b80860161098589826108b1565b85526020850194505050602081019050610955565b5050509392505050565b600082601f8301126109b9576109b86106d2565b5b81356109c984826020860161091d565b91505092915050565b6000602082840312156109e8576109e76106c8565b5b600082013567ffffffffffffffff811115610a0657610a056106cd565b5b610a12848285016109a4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a81578082015181840152602081019050610a66565b83811115610a90576000848401525b50505050565b6000610aa182610a47565b610aab8185610a52565b9350610abb818560208601610a63565b610ac4816106d7565b840191505092915050565b6000610adb8383610a96565b905092915050565b6000602082019050919050565b6000610afb82610a1b565b610b058185610a26565b935083602082028501610b1785610a37565b8060005b85811015610b535784840389528151610b348582610acf565b9450610b3f83610ae3565b925060208a01995050600181019050610b1b565b50829750879550505050505092915050565b6000604082019050610b7a6000830185610694565b8181036020830152610b8c8184610af0565b90509392505050565b6000819050919050565b610ba881610b95565b82525050565b6000602082019050610bc36000830184610b9f565b92915050565b60008115159050919050565b610bde81610bc9565b8114610be957600080fd5b50565b600081359050610bfb81610bd5565b92915050565b60008060408385031215610c1857610c176106c8565b5b6000610c2685828601610bec565b925050602083013567ffffffffffffffff811115610c4757610c466106cd565b5b610c53858286016109a4565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610c9281610bc9565b82525050565b6000604083016000830151610cb06000860182610c89565b5060208301518482036020860152610cc88282610a96565b9150508091505092915050565b6000610ce18383610c98565b905092915050565b6000602082019050919050565b6000610d0182610c5d565b610d0b8185610c68565b935083602082028501610d1d85610c79565b8060005b85811015610d595784840389528151610d3a8582610cd5565b9450610d4583610ce9565b925060208a01995050600181019050610d21565b50829750879550505050505092915050565b6000606082019050610d806000830186610694565b610d8d6020830185610b9f565b8181036040830152610d9f8184610cf6565b9050949350505050565b600060208284031215610dbf57610dbe6106c8565b5b6000610dcd848285016107e7565b91505092915050565b610ddf816107be565b82525050565b6000602082019050610dfa6000830184610dd6565b92915050565b60006020820190508181036000830152610e1a8184610cf6565b905092915050565b610e2b8161068a565b8114610e3657600080fd5b50565b600081359050610e4881610e22565b92915050565b600060208284031215610e6457610e636106c8565b5b6000610e7284828501610e39565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b6000610ec082610a47565b610eca8185610eaa565b9350610eda818560208601610a63565b80840191505092915050565b6000610ef28284610eb5565b915081905092915050565b600082825260208201905092915050565b7f4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564600082015250565b6000610f44602083610efd565b9150610f4f82610f0e565b602082019050919050565b60006020820190508181036000830152610f7381610f37565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610fb48261068a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610fe757610fe6610f7a565b5b600182019050919050565b6000610ffd8261068a565b91506110088361068a565b92508282101561101b5761101a610f7a565b5b828203905092915050565b7f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611082602183610efd565b915061108d82611026565b604082019050919050565b600060208201905081810360008301526110b181611075565b905091905056fea2646970667358221220abd9cadc14e2f74213535fd9ad887c7bdc5f4ea6aa73d9aedcb1f0513098ea8e64736f6c63430008090033", - "storage": [] - }, - { - "address": "0x70C79B608aBBC502c2F61f38E04190fB407BefCF", - "code": "6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce567146101ad57806370a08231146101d857806395d89b4114610215578063a9059cbb14610240578063d0e30db01461027d578063dd62ed3e14610287576100af565b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461011c57806323b872dd146101475780632e1a7d4d14610184576100af565b366100af576100ad6102c4565b005b600080fd5b3480156100c057600080fd5b506100c961036a565b6040516100d69190610bbe565b60405180910390f35b3480156100eb57600080fd5b5061010660048036038101906101019190610c79565b6103f8565b6040516101139190610cd4565b60405180910390f35b34801561012857600080fd5b506101316104ea565b60405161013e9190610cfe565b60405180910390f35b34801561015357600080fd5b5061016e60048036038101906101699190610d19565b6104f2565b60405161017b9190610cd4565b60405180910390f35b34801561019057600080fd5b506101ab60048036038101906101a69190610d6c565b6108c2565b005b3480156101b957600080fd5b506101c2610a32565b6040516101cf9190610db5565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa9190610dd0565b610a45565b60405161020c9190610cfe565b60405180910390f35b34801561022157600080fd5b5061022a610a5d565b6040516102379190610bbe565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190610c79565b610aeb565b6040516102749190610cd4565b60405180910390f35b6102856102c4565b005b34801561029357600080fd5b506102ae60048036038101906102a99190610dfd565b610b00565b6040516102bb9190610cfe565b60405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103139190610e6c565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516103609190610cfe565b60405180910390a2565b6000805461037790610ef1565b80601f01602080910402602001604051908101604052809291908181526020018280546103a390610ef1565b80156103f05780601f106103c5576101008083540402835291602001916103f0565b820191906000526020600020905b8154815290600101906020018083116103d357829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104d89190610cfe565b60405180910390a36001905092915050565b600047905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d90610f6f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561064e57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156107a65781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070990610fdb565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461079e9190610ffb565b925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107f59190610ffb565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461084b9190610e6c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108af9190610cfe565b60405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90610f6f565b60405180910390fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109939190610ffb565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156109e0573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b6582604051610a279190610cfe565b60405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054610a6a90610ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9690610ef1565b8015610ae35780601f10610ab857610100808354040283529160200191610ae3565b820191906000526020600020905b815481529060010190602001808311610ac657829003601f168201915b505050505081565b6000610af83384846104f2565b905092915050565b6004602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b5f578082015181840152602081019050610b44565b83811115610b6e576000848401525b50505050565b6000601f19601f8301169050919050565b6000610b9082610b25565b610b9a8185610b30565b9350610baa818560208601610b41565b610bb381610b74565b840191505092915050565b60006020820190508181036000830152610bd88184610b85565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c1082610be5565b9050919050565b610c2081610c05565b8114610c2b57600080fd5b50565b600081359050610c3d81610c17565b92915050565b6000819050919050565b610c5681610c43565b8114610c6157600080fd5b50565b600081359050610c7381610c4d565b92915050565b60008060408385031215610c9057610c8f610be0565b5b6000610c9e85828601610c2e565b9250506020610caf85828601610c64565b9150509250929050565b60008115159050919050565b610cce81610cb9565b82525050565b6000602082019050610ce96000830184610cc5565b92915050565b610cf881610c43565b82525050565b6000602082019050610d136000830184610cef565b92915050565b600080600060608486031215610d3257610d31610be0565b5b6000610d4086828701610c2e565b9350506020610d5186828701610c2e565b9250506040610d6286828701610c64565b9150509250925092565b600060208284031215610d8257610d81610be0565b5b6000610d9084828501610c64565b91505092915050565b600060ff82169050919050565b610daf81610d99565b82525050565b6000602082019050610dca6000830184610da6565b92915050565b600060208284031215610de657610de5610be0565b5b6000610df484828501610c2e565b91505092915050565b60008060408385031215610e1457610e13610be0565b5b6000610e2285828601610c2e565b9250506020610e3385828601610c2e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e7782610c43565b9150610e8283610c43565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610eb757610eb6610e3d565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f0957607f821691505b60208210811415610f1d57610f1c610ec2565b5b50919050565b7f574b4156413a20616d6f756e74203c2062616c616e6365000000000000000000600082015250565b6000610f59601783610b30565b9150610f6482610f23565b602082019050919050565b60006020820190508181036000830152610f8881610f4c565b9050919050565b7f574b4156413a20616c6c6f77616e6365203c20616d6f756e7400000000000000600082015250565b6000610fc5601983610b30565b9150610fd082610f8f565b602082019050919050565b60006020820190508181036000830152610ff481610fb8565b9050919050565b600061100682610c43565b915061101183610c43565b92508282101561102457611023610e3d565b5b82820390509291505056fea26469706673582212200c0f9b15327ac79d31169413e421bd27d39e9809f7fd940e8929ed9685f5fa4564736f6c63430008090033", - "storage": [ - { - "key": "0x0000000000000000000000000000000000000000000000000000000000000000", - "value": "0x57726170706564204b6176610000000000000000000000000000000000000018" - }, - { - "key": "0x0000000000000000000000000000000000000000000000000000000000000001", - "value": "0x574b41564100000000000000000000000000000000000000000000000000000a" - }, - { - "key": "0x0000000000000000000000000000000000000000000000000000000000000002", - "value": "0x0000000000000000000000000000000000000000000000000000000000000012" - } - ] - } - ], - "params": { - "evm_denom": "akava", - "enable_create": true, - "enable_call": true, - "extra_eips": [], - "chain_config": { - "homestead_block": "0", - "dao_fork_block": "0", - "dao_fork_support": true, - "eip150_block": "0", - "eip150_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "eip155_block": "0", - "eip158_block": "0", - "byzantium_block": "0", - "constantinople_block": "0", - "petersburg_block": "0", - "istanbul_block": "0", - "muir_glacier_block": "0", - "berlin_block": "0", - "london_block": null, - "arrow_glacier_block": null, - "gray_glacier_block": null, - "merge_netsplit_block": null, - "shanghai_block": null, - "cancun_block": null - }, - "eip712_allowed_msgs": [ - { - "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertERC20ToCoin", - "msg_value_type_name": "MsgValueEVMConvertERC20ToCoin", - "value_types": [ - { - "name": "initiator", - "type": "string" - }, - { - "name": "receiver", - "type": "string" - }, - { - "name": "kava_erc20_address", - "type": "string" - }, - { - "name": "amount", - "type": "string" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertCoinToERC20", - "msg_value_type_name": "MsgValueEVMConvertCoinToERC20", - "value_types": [ - { - "name": "initiator", - "type": "string" - }, - { - "name": "receiver", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.earn.v1beta1.MsgDeposit", - "msg_value_type_name": "MsgValueEarnDeposit", - "value_types": [ - { - "name": "depositor", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - }, - { - "name": "strategy", - "type": "int32" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.earn.v1beta1.MsgWithdraw", - "msg_value_type_name": "MsgValueEarnWithdraw", - "value_types": [ - { - "name": "from", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - }, - { - "name": "strategy", - "type": "int32" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/cosmos.staking.v1beta1.MsgDelegate", - "msg_value_type_name": "MsgValueStakingDelegate", - "value_types": [ - { - "name": "delegator_address", - "type": "string" - }, - { - "name": "validator_address", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/cosmos.staking.v1beta1.MsgUndelegate", - "msg_value_type_name": "MsgValueStakingUndelegate", - "value_types": [ - { - "name": "delegator_address", - "type": "string" - }, - { - "name": "validator_address", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/cosmos.staking.v1beta1.MsgBeginRedelegate", - "msg_value_type_name": "MsgValueStakingBeginRedelegate", - "value_types": [ - { - "name": "delegator_address", - "type": "string" - }, - { - "name": "validator_src_address", - "type": "string" - }, - { - "name": "validator_dst_address", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.incentive.v1beta1.MsgClaimUSDXMintingReward", - "msg_value_type_name": "MsgValueIncentiveClaimUSDXMintingReward", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "multiplier_name", - "type": "string" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.incentive.v1beta1.MsgClaimHardReward", - "msg_value_type_name": "MsgValueIncentiveClaimHardReward", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "denoms_to_claim", - "type": "IncentiveSelection[]" - } - ], - "nested_types": [ - { - "name": "IncentiveSelection", - "attrs": [ - { - "name": "denom", - "type": "string" - }, - { - "name": "multiplier_name", - "type": "string" - } - ] - } - ] - }, - { - "msg_type_url": "/kava.incentive.v1beta1.MsgClaimDelegatorReward", - "msg_value_type_name": "MsgValueIncentiveClaimDelegatorReward", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "denoms_to_claim", - "type": "IncentiveSelection[]" - } - ], - "nested_types": [ - { - "name": "IncentiveSelection", - "attrs": [ - { - "name": "denom", - "type": "string" - }, - { - "name": "multiplier_name", - "type": "string" - } - ] - } - ] - }, - { - "msg_type_url": "/kava.incentive.v1beta1.MsgClaimSwapReward", - "msg_value_type_name": "MsgValueIncentiveClaimSwapReward", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "denoms_to_claim", - "type": "IncentiveSelection[]" - } - ], - "nested_types": [ - { - "name": "IncentiveSelection", - "attrs": [ - { - "name": "denom", - "type": "string" - }, - { - "name": "multiplier_name", - "type": "string" - } - ] - } - ] - }, - { - "msg_type_url": "/kava.incentive.v1beta1.MsgClaimSavingsReward", - "msg_value_type_name": "MsgValueIncentiveClaimSavingsReward", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "denoms_to_claim", - "type": "IncentiveSelection[]" - } - ], - "nested_types": [ - { - "name": "IncentiveSelection", - "attrs": [ - { - "name": "denom", - "type": "string" - }, - { - "name": "multiplier_name", - "type": "string" - } - ] - } - ] - }, - { - "msg_type_url": "/kava.incentive.v1beta1.MsgClaimEarnReward", - "msg_value_type_name": "MsgValueIncentiveClaimEarnReward", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "denoms_to_claim", - "type": "IncentiveSelection[]" - } - ], - "nested_types": [ - { - "name": "IncentiveSelection", - "attrs": [ - { - "name": "denom", - "type": "string" - }, - { - "name": "multiplier_name", - "type": "string" - } - ] - } - ] - }, - { - "msg_type_url": "/kava.router.v1beta1.MsgMintDeposit", - "msg_value_type_name": "MsgValueRouterMintDeposit", - "value_types": [ - { - "name": "depositor", - "type": "string" - }, - { - "name": "validator", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.router.v1beta1.MsgDelegateMintDeposit", - "msg_value_type_name": "MsgValueRouterDelegateMintDeposit", - "value_types": [ - { - "name": "depositor", - "type": "string" - }, - { - "name": "validator", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.router.v1beta1.MsgWithdrawBurn", - "msg_value_type_name": "MsgValueRouterWithdrawBurn", - "value_types": [ - { - "name": "from", - "type": "string" - }, - { - "name": "validator", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.router.v1beta1.MsgWithdrawBurnUndelegate", - "msg_value_type_name": "MsgValueRouterWithdrawBurnUndelegate", - "value_types": [ - { - "name": "from", - "type": "string" - }, - { - "name": "validator", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/cosmos.gov.v1beta1.MsgVote", - "msg_value_type_name": "MsgValueGovVote", - "value_types": [ - { - "name": "proposal_id", - "type": "uint64" - }, - { - "name": "voter", - "type": "string" - }, - { - "name": "option", - "type": "int32" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/cosmos.bank.v1beta1.MsgSend", - "msg_value_type_name": "MsgValueBankSend", - "value_types": [ - { - "name": "from_address", - "type": "string" - }, - { - "name": "to_address", - "type": "string" - }, - { - "name": "amount", - "type": "Coin[]" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.liquid.v1beta1.MsgMintDerivative", - "msg_value_type_name": "MsgValueMintDerivative", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "validator", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.liquid.v1beta1.MsgBurnDerivative", - "msg_value_type_name": "MsgValueBurnDerivative", - "value_types": [ - { - "name": "sender", - "type": "string" - }, - { - "name": "validator", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.hard.v1beta1.MsgWithdraw", - "msg_value_type_name": "MsgValueHardWithdraw", - "value_types": [ - { - "name": "depositor", - "type": "string" - }, - { - "name": "amount", - "type": "Coin[]" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.hard.v1beta1.MsgDeposit", - "msg_value_type_name": "MsgValueHardDeposit", - "value_types": [ - { - "name": "depositor", - "type": "string" - }, - { - "name": "amount", - "type": "Coin[]" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertCosmosCoinToERC20", - "msg_value_type_name": "MsgConvertCosmosCoinToERC20", - "value_types": [ - { - "name": "initiator", - "type": "string" - }, - { - "name": "receiver", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - }, - { - "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertCosmosCoinFromERC20", - "msg_value_type_name": "MsgConvertCosmosCoinFromERC20", - "value_types": [ - { - "name": "initiator", - "type": "string" - }, - { - "name": "receiver", - "type": "string" - }, - { - "name": "amount", - "type": "Coin" - } - ], - "nested_types": [] - } - ], + "outstanding_rewards": [], + "validator_accumulated_commissions": [], + "validator_historical_rewards": [], + "validator_current_rewards": [], + "delegator_starting_infos": [], + "validator_slash_events": [] + }, + "earn": { + "params": { + "allowed_vaults": [] + }, + "vault_records": [], + "vault_share_records": [] + }, + "evidence": { + "evidence": [] + }, + "evm": { + "accounts": [], + "params": { + "evm_denom": "aphoton", + "enable_create": true, + "enable_call": true, + "extra_eips": [], + "chain_config": { + "homestead_block": "0", + "dao_fork_block": "0", + "dao_fork_support": true, + "eip150_block": "0", + "eip150_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "eip155_block": "0", + "eip158_block": "0", + "byzantium_block": "0", + "constantinople_block": "0", + "petersburg_block": "0", + "istanbul_block": "0", + "muir_glacier_block": "0", + "berlin_block": "0", + "london_block": "0", + "arrow_glacier_block": "0", + "gray_glacier_block": "0", + "merge_netsplit_block": "0", + "shanghai_block": "0", + "cancun_block": "0" + }, + "eip712_allowed_msgs": [], "allow_unprotected_txs": false } }, "evmutil": { "accounts": [], "params": { - "allowed_cosmos_denoms": [ - { - "cosmos_denom": "hard", - "name": "HARD", - "symbol": "HARD", - "decimals": 6 - } - ], - "enabled_conversion_pairs": [ - { - "kava_erc20_address": "0xBb304f44b7EFD865361F2AD973d8ebA433893ABC", - "denom": "erc20/multichain/usdc" - }, - { - "kava_erc20_address": "0x7a5DBf8e6ac1F6aCCF14f5B4E88b21EAA04c983d", - "denom": "erc20/axelar/usdc" - }, - { - "kava_erc20_address": "0x7d2Ee2914324d5D4dC33A5c295E720659D5F3fA7", - "denom": "erc20/axelar/wbtc" - }, - { - "kava_erc20_address": "0x5d6D67a665C9F169B0f9436E05B11108C1606043", - "denom": "erc20/axelar/eth" - } - ] + "enabled_conversion_pairs": [], + "allowed_cosmos_denoms": [] } }, "feemarket": { "params": { - "no_base_fee": true, + "no_base_fee": false, "base_fee_change_denominator": 8, "elasticity_multiplier": 2, "enable_height": "0", @@ -2111,19 +247,19 @@ "max_change_rate": "0.010000000000000000" }, "min_self_delegation": "1", - "delegator_address": "kava14w4avgdvqrlpww6l5dhgj4egfn6ln7gmxhytjv", - "validator_address": "kavavaloper14w4avgdvqrlpww6l5dhgj4egfn6ln7gmtp7r2m", + "delegator_address": "kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582", + "validator_address": "kavavaloper1jaw3g097lq9jdrnscchspr2233yhpsxdlq7ula", "pubkey": { "@type": "/cosmos.crypto.ed25519.PubKey", - "key": "SzSj9ej4GZAopruFI2pltVGj4fMq7m0JQePS9lELUiA=" + "key": "hMOtqZ71soHEW/Rg3IcI1SyHV3adzuMlnaqIqCsY6+o=" }, "value": { "denom": "ukava", - "amount": "500000000" + "amount": "1000000000" } } ], - "memo": "eb90b49b002177a8393688ae104ee7070776ecb5@10.6.2.44:26656", + "memo": "5556c6e73298a5e9bdd284fa116fa5d6b6279a09@10.6.193.253:26656", "timeout_height": "0", "extension_options": [], "non_critical_extension_options": [] @@ -2133,7 +269,7 @@ { "public_key": { "@type": "/cosmos.crypto.secp256k1.PubKey", - "key": "AidonN+Oz5lw/Ir+RQ7kGPDThMbEDJe3gHipix8Lp3Ve" + "key": "AxAulQQXGuXDRb6sql0s2kv/xUdX+HaXaY4eHrRuULlA" }, "mode_info": { "single": { @@ -2152,7 +288,7 @@ "tip": null }, "signatures": [ - "VxM2ul5bT0qU4ZPxcT6jhs8byiKSwPIU49Lnq4OuyQ91mhHGSrxWfEkhuNsEyhZijwZhLOxe4vt4EdnfT6bUMw==" + "BxlEzOGOn0tYEtcaVTY5/NiLvAzkbeXekDk9qC5LDEV7mnzY7wB1WUU971oCpo+f52mL4tDIJOEsVvulBupmyw==" ] } ] @@ -2162,23 +298,9 @@ "deposits": [], "votes": [], "proposals": [], - "deposit_params": { - "min_deposit": [ - { - "denom": "ukava", - "amount": "10000000" - } - ], - "max_deposit_period": "172800s" - }, - "voting_params": { - "voting_period": "600s" - }, - "tally_params": { - "quorum": "0.334000000000000000", - "threshold": "0.500000000000000000", - "veto_threshold": "0.334000000000000000" - }, + "deposit_params": null, + "voting_params": null, + "tally_params": null, "params": { "min_deposit": [ { @@ -2187,7 +309,7 @@ } ], "max_deposit_period": "172800s", - "voting_period": "600s", + "voting_period": "172800s", "quorum": "0.334000000000000000", "threshold": "0.500000000000000000", "veto_threshold": "0.334000000000000000", @@ -2199,206 +321,7 @@ }, "hard": { "params": { - "money_markets": [ - { - "denom": "btcb", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "1000000000.000000000000000000", - "loan_to_value": "0.500000000000000000" - }, - "spot_market_id": "btc:usd:30", - "conversion_factor": "100000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "erc20/axelar/usdc", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "0.000000000000000000", - "loan_to_value": "0.000000000000000000" - }, - "spot_market_id": "usdc:usd:30", - "conversion_factor": "1000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "erc20/axelar/wbtc", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "0.000000000000000000", - "loan_to_value": "0.000000000000000000" - }, - "spot_market_id": "btc:usd:30", - "conversion_factor": "1000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "bnb", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "250000000000.000000000000000000", - "loan_to_value": "0.500000000000000000" - }, - "spot_market_id": "bnb:usd:30", - "conversion_factor": "100000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "xrpb", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "10000000000000.000000000000000000", - "loan_to_value": "0.500000000000000000" - }, - "spot_market_id": "xrp:usd:30", - "conversion_factor": "100000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "busd", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "50000000000000.000000000000000000", - "loan_to_value": "0.500000000000000000" - }, - "spot_market_id": "busd:usd:30", - "conversion_factor": "100000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "usdx", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "0.000000000000000000", - "loan_to_value": "0.250000000000000000" - }, - "spot_market_id": "usdx:usd:720", - "conversion_factor": "1000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "ukava", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "500000000000.000000000000000000", - "loan_to_value": "0.500000000000000000" - }, - "spot_market_id": "kava:usd:30", - "conversion_factor": "1000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "hard", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "0.000000000000000000", - "loan_to_value": "0.000000000000000000" - }, - "spot_market_id": "hard:usd:30", - "conversion_factor": "1000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "200000000000.000000000000000000", - "loan_to_value": "0.500000000000000000" - }, - "spot_market_id": "atom:usd:30", - "conversion_factor": "1000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - }, - { - "denom": "ibc/799FDD409719A1122586A629AE8FCA17380351A51C1F47A80A1B8E7F2A491098", - "borrow_limit": { - "has_max_limit": true, - "maximum_limit": "0.000000000000000000", - "loan_to_value": "0.000000000000000000" - }, - "spot_market_id": "akt:usd:30", - "conversion_factor": "1000000", - "interest_rate_model": { - "base_rate_apy": "0.000000000000000000", - "base_multiplier": "0.050000000000000000", - "kink": "0.800000000000000000", - "jump_multiplier": "5.000000000000000000" - }, - "reserve_factor": "0.025000000000000000", - "keeper_reward_percentage": "0.020000000000000000" - } - ], + "money_markets": [], "minimum_borrow_usd_value": "10.000000000000000000" }, "previous_accumulation_times": [], @@ -2416,7 +339,8 @@ "params": { "allowed_clients": [ "06-solomachine", - "07-tendermint" + "07-tendermint", + "09-localhost" ] }, "create_localhost": false, @@ -2444,354 +368,16 @@ "incentive": { "params": { "usdx_minting_reward_periods": [], - "hard_supply_reward_periods": [ - { - "active": true, - "collateral_type": "usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2024-10-16T14:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "478377" - } - ] - }, - { - "active": true, - "collateral_type": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", - "start": "2022-11-11T15:00:00Z", - "end": "2024-10-16T14:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "9567" - } - ] - }, - { - "active": true, - "collateral_type": "hard", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "4692" - } - ] - }, - { - "active": true, - "collateral_type": "bnb", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "3049" - } - ] - }, - { - "active": true, - "collateral_type": "busd", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "938" - } - ] - }, - { - "active": true, - "collateral_type": "btcb", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "4692" - } - ] - }, - { - "active": true, - "collateral_type": "xrpb", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "2580" - } - ] - }, - { - "active": true, - "collateral_type": "ukava", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "938" - } - ] - }, - { - "active": true, - "collateral_type": "erc20/axelar/usdc", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "989" - } - ] - }, - { - "active": true, - "collateral_type": "erc20/axelar/wbtc", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "787" - } - ] - } - ], + "hard_supply_reward_periods": [], "hard_borrow_reward_periods": [], "delegator_reward_periods": [], + "swap_reward_periods": [], + "claim_multipliers": [], + "claim_end": "1970-01-01T00:00:01Z", "savings_reward_periods": [], - "swap_reward_periods": [ - { - "active": true, - "collateral_type": "bnb:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "2017" - } - ] - }, - { - "active": true, - "collateral_type": "btcb:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "2459" - } - ] - }, - { - "active": true, - "collateral_type": "busd:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "9217" - } - ] - }, - { - "active": true, - "collateral_type": "hard:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "1586" - } - ] - }, - { - "active": true, - "collateral_type": "ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "422" - } - ] - }, - { - "active": true, - "collateral_type": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "1291" - } - ] - }, - { - "active": true, - "collateral_type": "ibc/799FDD409719A1122586A629AE8FCA17380351A51C1F47A80A1B8E7F2A491098:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "242" - } - ] - }, - { - "active": true, - "collateral_type": "swp:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "649" - } - ] - }, - { - "active": true, - "collateral_type": "ukava:usdx", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "3765" - } - ] - }, - { - "active": true, - "collateral_type": "usdx:xrpb", - "start": "2022-11-11T15:00:00Z", - "end": "2025-08-29T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "1187" - } - ] - } - ], - "earn_reward_periods": [ - { - "active": true, - "collateral_type": "bkava", - "start": "2022-10-26T15:00:00Z", - "end": "2024-10-26T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "31891" - } - ] - }, - { - "active": true, - "collateral_type": "bnb", - "start": "2022-12-29T23:00:00Z", - "end": "2024-12-29T23:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "5505" - } - ] - }, - { - "active": true, - "collateral_type": "erc20/multichain/usdc", - "start": "2022-10-26T15:00:00Z", - "end": "2024-10-26T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "5505" - } - ] - }, - { - "active": true, - "collateral_type": "erc20/multichain/usdt", - "start": "2022-11-11T15:00:00Z", - "end": "2024-11-11T15:00:00Z", - "rewards_per_second": [ - { - "denom": "ukava", - "amount": "5505" - } - ] - } - ], - "claim_multipliers": [ - { - "denom": "hard", - "multipliers": [ - { - "name": "large", - "factor": "1.000000000000000000" - } - ] - }, - { - "denom": "ibc/799FDD409719A1122586A629AE8FCA17380351A51C1F47A80A1B8E7F2A491098", - "multipliers": [ - { - "name": "large", - "factor": "1.000000000000000000" - } - ] - }, - { - "denom": "ukava", - "multipliers": [ - { - "name": "large", - "months_lockup": "12", - "factor": "1.000000000000000000" - }, - { - "name": "small", - "months_lockup": "1", - "factor": "0.200000000000000000" - } - ] - }, - { - "denom": "swp", - "multipliers": [ - { - "name": "large", - "factor": "1.000000000000000000" - } - ] - } - ], - "claim_end": "2025-01-01T00:00:00Z" - }, - "delegator_reward_state": { - "accumulation_times": [], - "multi_reward_indexes": [] + "earn_reward_periods": [] }, - "hard_borrow_reward_state": { + "usdx_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] }, @@ -2799,192 +385,53 @@ "accumulation_times": [], "multi_reward_indexes": [] }, - "swap_reward_state": { + "hard_borrow_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] }, - "usdx_reward_state": { + "delegator_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] }, - "earn_reward_state": { + "swap_reward_state": { "accumulation_times": [], - "multi_reward_indexes": [] - }, - "delegator_claims": [], - "hard_liquidity_provider_claims": [], - "usdx_minting_claims": [], - "swap_claims": [ - { - "base_claim": { - "owner": "kava1ektgdyy0z23qqnd67ns3qvfzgfgjd5xe82lf5c", - "reward": [] - }, - "reward_indexes": [ - { - "collateral_type": "ukava:usdx", - "reward_indexes": [] - } - ] - }, - { - "base_claim": { - "owner": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", - "reward": [] - }, - "reward_indexes": [ - { - "collateral_type": "hard:usdx", - "reward_indexes": [] - }, - { - "collateral_type": "swp:usdx", - "reward_indexes": [] - }, - { - "collateral_type": "ukava:usdx", - "reward_indexes": [] - } - ] - } - ], + "multi_reward_indexes": [] + }, + "usdx_minting_claims": [], + "hard_liquidity_provider_claims": [], + "delegator_claims": [], + "swap_claims": [], + "savings_reward_state": { + "accumulation_times": [], + "multi_reward_indexes": [] + }, + "savings_claims": [], + "earn_reward_state": { + "accumulation_times": [], + "multi_reward_indexes": [] + }, "earn_claims": [] }, "issuance": { "params": { - "assets": [ - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "ukava", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "erc20/multichain/usdt", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "usdx", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "erc20/multichain/usdc", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "hard", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "swp", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "busd", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "btcb", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "bnb", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - }, - { - "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "denom": "xrpb", - "blocked_addresses": [], - "paused": false, - "blockable": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - } - ] + "assets": [] }, "supplies": [] }, "kavadist": { "params": { "active": false, - "periods": [] + "periods": [], + "infrastructure_params": { + "infrastructure_periods": [], + "core_rewards": [], + "partner_rewards": [] + } }, "previous_block_time": "1970-01-01T00:00:01Z" }, "liquid": {}, + "metrics": {}, "mint": { "minter": { "inflation": "0.130000000000000000", @@ -2993,508 +440,31 @@ "params": { "mint_denom": "ukava", "inflation_rate_change": "0.130000000000000000", - "inflation_max": "0.750000000000000000", - "inflation_min": "0.750000000000000000", + "inflation_max": "0.200000000000000000", + "inflation_min": "0.070000000000000000", "goal_bonded": "0.670000000000000000", "blocks_per_year": "6311520" } }, - "params": null, "packetfowardmiddleware": { "params": { "fee_percentage": "0.000000000000000000" }, "in_flight_packets": {} }, - "precisebank": { - "remainder": "0" - }, + "params": null, "pricefeed": { "params": { - "markets": [ - { - "market_id": "bnb:usd", - "base_asset": "bnb", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "bnb:usd:30", - "base_asset": "bnb", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "btc:usd", - "base_asset": "btc", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "btc:usd:30", - "base_asset": "btc", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "eth:usd", - "base_asset": "eth", - "quote_asset": "eth", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "eth:usd:30", - "base_asset": "eth", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "xrp:usd:30", - "base_asset": "xrp", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "xrp:usd", - "base_asset": "xrp", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "busd:usd", - "base_asset": "busd", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "busd:usd:30", - "base_asset": "busd", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "usdc:usd", - "base_asset": "usdc", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "usdc:usd:30", - "base_asset": "usdc", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "usdt:usd", - "base_asset": "usdt", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "usdt:usd:30", - "base_asset": "usdt", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "kava:usd", - "base_asset": "kava", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "kava:usd:30", - "base_asset": "kava", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "hard:usd", - "base_asset": "hard", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "hard:usd:30", - "base_asset": "hard", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "atom:usd", - "base_asset": "atom", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "atom:usd:30", - "base_asset": "atom", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "osmo:usd", - "base_asset": "osmo", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "osmo:usd:30", - "base_asset": "osmo", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "akt:usd", - "base_asset": "akt", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "akt:usd:30", - "base_asset": "akt", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "luna:usd", - "base_asset": "luna", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "luna:usd:30", - "base_asset": "luna", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "usdx:usd", - "base_asset": "usdx", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "usdx:usd:30", - "base_asset": "usdx", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "usdx:usd:720", - "base_asset": "usdx", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "swp:usd", - "base_asset": "swp", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - }, - { - "market_id": "swp:usd:30", - "base_asset": "swp", - "quote_asset": "usd", - "oracles": [ - "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" - ], - "active": true - } - ] + "markets": [] }, - "posted_prices": [ - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "bnb:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "215.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "bnb:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "217.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "btc:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "29500.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "btc:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "28500.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "eth:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "16250.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "eth:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "16250.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "akt:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "akt:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "osmo:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "4.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "osmo:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "4.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "luna:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "92.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "luna:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "92.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "atom:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "24.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "atom:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "24.962650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "xrp:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "0.552650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "xrp:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "0.552650000000001782" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "busd:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "busd:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "usdx:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "usdx:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "usdx:usd:720", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "kava:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "3.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "kava:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "3.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "hard:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "0.500000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "hard:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "0.500000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "swp:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "2.150000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "swp:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "2.150000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "usdt:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "usdc:usd", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "usdt:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - }, - { - "expiry": "2050-01-01T00:00:00Z", - "market_id": "usdc:usd:30", - "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", - "price": "1.000000000000000000" - } - ] + "posted_prices": [] }, + "router": {}, "savings": { "params": { - "supported_denoms": [ - "usdx", - "ukava", - "hard", - "swp", - "bkava", - "bkava-kavavaloper1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxrnrlwp", - "bkava-kavavaloper1w66m9hdzwgd6uc8g93zqkcumgwzrpcw958sh3s", - "erc20/multichain/usdc" - ] - } + "supported_denoms": [] + }, + "deposits": [] }, "slashing": { "params": { @@ -3526,126 +496,11 @@ }, "swap": { "params": { - "allowed_pools": [ - { - "token_a": "ukava", - "token_b": "usdx" - }, - { - "token_a": "hard", - "token_b": "usdx" - }, - { - "token_a": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", - "token_b": "usdx" - }, - { - "token_a": "ibc/4129EB76C01ED14052054BB975DE0C6C5010E12FFD9253C20C58BCD828BEE9A5", - "token_b": "usdx" - }, - { - "token_a": "ibc/C72DE26FFF16DE62BE2784E12229BDF5F4465CE8B10530426D6DB53255FF01B2", - "token_b": "usdx" - }, - { - "token_a": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", - "token_b": "usdx" - }, - { - "token_a": "swp", - "token_b": "usdx" - }, - { - "token_a": "bnb", - "token_b": "usdx" - }, - { - "token_a": "btcb", - "token_b": "usdx" - }, - { - "token_a": "busd", - "token_b": "usdx" - }, - { - "token_a": "usdx", - "token_b": "xrpb" - } - ], - "swap_fee": "0.001500000000000000" + "allowed_pools": [], + "swap_fee": "0.000000000000000000" }, - "pool_records": [ - { - "pool_id": "btcb:usdx", - "reserves_a": { - "amount": "200000000", - "denom": "btcb" - }, - "reserves_b": { - "amount": "100000000000", - "denom": "usdx" - }, - "total_shares": "4472135954" - }, - { - "pool_id": "hard:usdx", - "reserves_a": { - "amount": "1000000000", - "denom": "hard" - }, - "reserves_b": { - "amount": "1000000000", - "denom": "usdx" - }, - "total_shares": "1000000000" - }, - { - "pool_id": "swp:usdx", - "reserves_a": { - "amount": "5000000000", - "denom": "swp" - }, - "reserves_b": { - "amount": "1000000000", - "denom": "usdx" - }, - "total_shares": "2236067977" - }, - { - "pool_id": "ukava:usdx", - "reserves_a": { - "amount": "5000000000", - "denom": "ukava" - }, - "reserves_b": { - "amount": "1000000000", - "denom": "usdx" - }, - "total_shares": "2236067977" - } - ], - "share_records": [ - { - "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", - "pool_id": "btcb:usdx", - "shares_owned": "4472135954" - }, - { - "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", - "pool_id": "hard:usdx", - "shares_owned": "1000000000" - }, - { - "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", - "pool_id": "swp:usdx", - "shares_owned": "2236067977" - }, - { - "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", - "pool_id": "ukava:usdx", - "shares_owned": "2236067977" - } - ] + "pool_records": [], + "share_records": [] }, "transfer": { "port_id": "transfer", @@ -3653,7 +508,8 @@ "params": { "send_enabled": true, "receive_enabled": true - } + }, + "total_escrowed": [] }, "upgrade": {}, "validatorvesting": null, From fea13c0c495d453e7945f1ab1f57bd255f562531 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 18 Sep 2024 11:55:45 -0400 Subject: [PATCH 02/52] feat: update KAVA.VERSION to current branch til merged into master --- ci/env/kava-protonet/KAVA.VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/KAVA.VERSION b/ci/env/kava-protonet/KAVA.VERSION index 1f7391f92b..7d207bd50e 100644 --- a/ci/env/kava-protonet/KAVA.VERSION +++ b/ci/env/kava-protonet/KAVA.VERSION @@ -1 +1 @@ -master +shef-protonet-validator-network From b4809888d09748dbcfd40bbf1a7e350e97d0a417 Mon Sep 17 00:00:00 2001 From: Luke Bayas Date: Thu, 19 Sep 2024 17:21:22 -0400 Subject: [PATCH 03/52] add god committee to branch --- ci/env/kava-protonet/genesis.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 5ed512904b..1d0295a31e 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -125,7 +125,20 @@ }, "committee": { "next_proposal_id": "1", - "committees": [], + "committees": [ + { + "@type": "/kava.committee.v1beta1.MemberCommittee", + "base_committee": { + "id": "1", + "description": "Kava God Committee (testing only)", + "members": ["kava1van3znl6597xgwwh46jgquutnqkwvwszjg04fz", "kava1cxymrk2mqlhc6p08kx8zvsd23vgsm7ftfn9x5d"], + "permissions": [{ "@type": "/kava.committee.v1beta1.GodPermission" }], + "vote_threshold": "0.667000000000000000", + "proposal_duration": "604800s", + "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" + } + } + ], "proposals": [], "votes": [] }, From ae8df5dc03edcadee5734e865d9f3e17146ff055 Mon Sep 17 00:00:00 2001 From: Luke Bayas Date: Fri, 20 Sep 2024 13:05:36 -0400 Subject: [PATCH 04/52] add issuance params, bank info and dev-wallet (correct) to account --- ci/env/kava-protonet/genesis.json | 176 +++++++++++++++++++++++++++++- 1 file changed, 170 insertions(+), 6 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 1d0295a31e..39f892d513 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -52,6 +52,13 @@ "pub_key": null, "account_number": "0", "sequence": "0" + }, + { + "@type": "/cosmos.auth.v1beta1.BaseAccount", + "address": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "pub_key": null, + "account_number": "1", + "sequence": "0" } ] }, @@ -72,14 +79,50 @@ "amount": "2000000000" } ] - } - ], - "supply": [ + }, { - "denom": "ukava", - "amount": "2000000000" + "address": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "coins": [ + { + "denom": "bnb", + "amount": "500000000" + }, + { + "denom": "btcb", + "amount": "200000000" + }, + { + "denom": "busd", + "amount": "1000000000000000" + }, + { + "denom": "hard", + "amount": "1000000000" + }, + { + "denom": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", + "amount": "10000000000" + }, + { + "denom": "swp", + "amount": "5000000000" + }, + { + "denom": "ukava", + "amount": "10000000000000" + }, + { + "denom": "usdx", + "amount": "103000000000" + }, + { + "denom": "xrpb", + "amount": "1000000000000000" + } + ] } ], + "supply": [], "denom_metadata": [], "send_enabled": [] }, @@ -427,7 +470,128 @@ }, "issuance": { "params": { - "assets": [] + "assets": [ + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "ukava", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "erc20/multichain/usdt", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "usdx", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "erc20/multichain/usdc", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "hard", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "swp", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "busd", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "btcb", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "bnb", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + }, + { + "owner": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "denom": "xrpb", + "blocked_addresses": [], + "paused": false, + "blockable": false, + "rate_limit": { + "active": false, + "limit": "0", + "time_period": "0" + } + } + ] }, "supplies": [] }, From 01b38f07c46361b6930689d9aab3416eba70d98d Mon Sep 17 00:00:00 2001 From: Luke Bayas Date: Fri, 20 Sep 2024 15:21:14 -0400 Subject: [PATCH 05/52] add README.d --- ci/env/kava-protonet/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 ci/env/kava-protonet/README.md diff --git a/ci/env/kava-protonet/README.md b/ci/env/kava-protonet/README.md new file mode 100644 index 0000000000..695206e995 --- /dev/null +++ b/ci/env/kava-protonet/README.md @@ -0,0 +1,11 @@ +Genesis Updates +=============== +- Added the God Committee section to the `app_state.committee.committees` section +- Added dev wallet `kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq` to `app_state.auth.accounts` for genesis account +- Added dev wallet balances to `app_state.bank.balances` to enable this account to fund various other accounts +- Updated `app_state.issuance.params` with different kava assets that will be needed in `seed-protonet.sh` script + +Summary +======= +- We decided to move critical data sections into the genesis.json file to ensure the node that starts up has all relevant state it needs BEFORE we execute any scripts to manipulate state. +- The genesis.json contains the initial dev wallet, genesis account and associated balances to said account which is then used to pre-fund various ancillary kava balances (ex: community) to serve whatever testing purpose to protonet From c3faac1136d694cc596b5013e02c94e6ea0eeace Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Fri, 20 Sep 2024 15:42:18 -0400 Subject: [PATCH 06/52] feat: handle protonet flow with new ansible playbook for reset and different tags and using autoscaling group for ordering --- .../scripts/exit-standby-all-chain-nodes.sh | 2 +- .../scripts/put-all-chain-nodes-on-standby.sh | 4 +- .github/workflows/cd-protonet.yml | 58 ++++++------ .../workflows/cd-reset-internal-testnet.yml | 1 + .github/workflows/cd-reset-protonet.yml | 91 +++++++++++++++++++ .github/workflows/cd-start-chain.yml | 5 + .github/workflows/cd-start-protonet-chain.yml | 89 ++++++++++++++++++ 7 files changed, 221 insertions(+), 29 deletions(-) create mode 100644 .github/workflows/cd-reset-protonet.yml create mode 100644 .github/workflows/cd-start-protonet-chain.yml diff --git a/.github/scripts/exit-standby-all-chain-nodes.sh b/.github/scripts/exit-standby-all-chain-nodes.sh index 3fad215555..1d5efd7b22 100755 --- a/.github/scripts/exit-standby-all-chain-nodes.sh +++ b/.github/scripts/exit-standby-all-chain-nodes.sh @@ -2,7 +2,7 @@ set -x # get all the node's ec2 instance ids for the specified chain id -chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:KavaChainId,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') +chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:$CHAIN_TAG_NAME,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') for chain_node_instance_id in ${chain_node_instance_ids} do diff --git a/.github/scripts/put-all-chain-nodes-on-standby.sh b/.github/scripts/put-all-chain-nodes-on-standby.sh index 591e64d0c7..c84b30c502 100755 --- a/.github/scripts/put-all-chain-nodes-on-standby.sh +++ b/.github/scripts/put-all-chain-nodes-on-standby.sh @@ -1,8 +1,8 @@ #!/bin/bash set -x -# get all the node's ec2 instance ids for the specified chain id -chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:KavaChainId,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') +# get all the node's ec2 instance ids for the specified chain id KavaChainId +chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:$CHAIN_TAG_NAME,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') for chain_node_instance_id in ${chain_node_instance_ids} do diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index aa0b366619..1ddf292118 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -5,6 +5,8 @@ name: Continuous Deployment (Protonet) # workflows: [Continuous Integration (Kava Master)] # types: # - completed +on: + push: jobs: # in order: @@ -15,22 +17,26 @@ jobs: # reset application database state (only done on internal testnet) reset-chain-to-zero-state: # only start cd pipeline if last ci run was successful - if: ${{ github.event.workflow_run.conclusion == 'success' }} - uses: ./.github/workflows/cd-reset-internal-testnet.yml +# if: ${{ github.event.workflow_run.conclusion == 'success' }} + uses: ./.github/workflows/cd-reset-protonet.yml with: aws-region: us-east-1 + chain-tag-name: ChainId chain-id: proto_2221-17000 - ssm-document-name: kava-testnet-internal-node-update - playbook-name: reset-protonet-playbook.yml - playbook-infrastructure-branch: master + auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node + ssm-document-name: kava-protonet-iavl-v1-instance-update + playbook-name: reset-chain.yml + playbook-infrastructure-branch: shef-protonet-validator-network-ephemeral secrets: inherit # start kava with new binary and genesis state on api, peer and seed nodes, place nodes in service once they start and are synched to live start-chain-api: - uses: ./.github/workflows/cd-start-chain.yml + uses: ./.github/workflows/cd-start-protonet-chain.yml with: aws-region: us-east-1 + chain-tag-name: ChainId chain-id: proto_2221-17000 + auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-testnet-internal-node-update playbook-name: start-chain-api-playbook.yml playbook-infrastructure-branch: master @@ -38,23 +44,23 @@ jobs: needs: [reset-chain-to-zero-state] # setup test and development accounts and balances, deploy contracts by calling the chain's api - seed-chain-state: - uses: ./.github/workflows/cd-seed-chain.yml - with: - chain-api-url: https://rpc.app.protonet.us-east.production.kava.io:443 - chain-id: proto_2221-17000 - seed-script-filename: seed-protonet.sh - erc20-deployer-network-name: protonet - genesis_validator_addresses: "kavavaloper14w4avgdvqrlpww6l5dhgj4egfn6ln7gmtp7r2m" - kava_version_filepath: ./ci/env/kava-protonet/KAVA.VERSION - secrets: inherit - needs: [start-chain-api] - post-pipeline-metrics: - uses: ./.github/workflows/metric-pipeline.yml - if: always() # always run so we metric failures and successes - with: - aws-region: us-east-1 - metric-name: kava.deploys.testnet.proto - namespace: Kava/ContinuousDeployment - secrets: inherit - needs: [seed-chain-state] +# seed-chain-state: +# uses: ./.github/workflows/cd-seed-chain.yml +# with: +# chain-api-url: https://rpc.app.protonet.us-east.production.kava.io:443 +# chain-id: proto_2221-17000 +# seed-script-filename: seed-protonet.sh +# erc20-deployer-network-name: protonet +# genesis_validator_addresses: "kavavaloper14w4avgdvqrlpww6l5dhgj4egfn6ln7gmtp7r2m" +# kava_version_filepath: ./ci/env/kava-protonet/KAVA.VERSION +# secrets: inherit +# needs: [start-chain-api] +# post-pipeline-metrics: +# uses: ./.github/workflows/metric-pipeline.yml +# if: always() # always run so we metric failures and successes +# with: +# aws-region: us-east-1 +# metric-name: kava.deploys.testnet.proto +# namespace: Kava/ContinuousDeployment +# secrets: inherit +# needs: [seed-chain-state] diff --git a/.github/workflows/cd-reset-internal-testnet.yml b/.github/workflows/cd-reset-internal-testnet.yml index 738fd4c395..0406a6e590 100644 --- a/.github/workflows/cd-reset-internal-testnet.yml +++ b/.github/workflows/cd-reset-internal-testnet.yml @@ -40,6 +40,7 @@ jobs: - name: take the chain offline run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml new file mode 100644 index 0000000000..849cde0e93 --- /dev/null +++ b/.github/workflows/cd-reset-protonet.yml @@ -0,0 +1,91 @@ +name: Reset Internal Testnet + +on: + workflow_call: + inputs: + auto_scaling_group_names: + required: true + type: string + description: 'Comma-separated list of auto-scaling group names' + chain-tag-name: + required: false + type: string + default: 'KavaChainId' + chain-id: + required: true + type: string + aws-region: + required: true + type: string + ssm-document-name: + required: true + type: string + playbook-name: + required: true + type: string + playbook-infrastructure-branch: + required: true + type: string + secrets: + CI_AWS_KEY_ID: + required: true + CI_AWS_KEY_SECRET: + required: true + KAVA_PRIVATE_GITHUB_ACCESS_TOKEN: + required: true + +# in order: +# enter standby (prevents autoscaling group from killing node during deploy) +# stop kava +# download updated binary and genesis +# reset application database state (only done on internal testnet) +jobs: + place-chain-nodes-on-standby: + runs-on: ubuntu-latest + steps: + - name: checkout repo from current commit + uses: actions/checkout@v4 + - name: take the chain offline + run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh + env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + CHAIN_ID: ${{ inputs.chain-id }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} + - name: checkout infrastructure repo + uses: actions/checkout@v4 + with: + repository: Kava-Labs/infrastructure + token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} + path: infrastructure + ref: master + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - name: build kava node updater + run: cd infrastructure/cli/kava-node-updater && make install && cd ../../../ + - name: run reset playbook on all chain nodes + run: | + IFS=',' read -r -a auto_scaling_group_names <<< "$AUTO_SCALING_GROUP_NAMES" + for auto_scaling_group_name in "${auto_scaling_group_names[@]}"; do + kava-node-updater \ + --debug \ + --max-retries=2 \ + --aws-ssm-document-name="$SSM_DOCUMENT_NAME" \ + --infrastructure-git-pointer="$PLAYBOOK_INFRASTRUCTURE_BRANCH" \ + --update-playbook-filename="$PLAYBOOK_NAME" \ + --autoscaling-group-name="$auto_scaling_group_name" \ + --max-upgrade-batch-size=0 \ + --wait-for-node-sync-after-upgrade=true + done + env: + SSM_DOCUMENT_NAME: ${{ inputs.ssm-document-name }} + PLAYBOOK_NAME: ${{ inputs.playbook-name }} + AUTO_SCALING_GROUP_NAMES: ${{ inputs.auto_scaling_group_names }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} + AWS_SDK_LOAD_CONFIG: 1 + PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} diff --git a/.github/workflows/cd-start-chain.yml b/.github/workflows/cd-start-chain.yml index 4e9644f387..e4b6e168a5 100644 --- a/.github/workflows/cd-start-chain.yml +++ b/.github/workflows/cd-start-chain.yml @@ -3,6 +3,10 @@ name: Start Chain on: workflow_call: inputs: + chain-tag-name: + required: false + type: string + default: 'KavaChainId' chain-id: required: true type: string @@ -36,6 +40,7 @@ jobs: - name: take the chain offline run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} diff --git a/.github/workflows/cd-start-protonet-chain.yml b/.github/workflows/cd-start-protonet-chain.yml new file mode 100644 index 0000000000..fcaa8409a9 --- /dev/null +++ b/.github/workflows/cd-start-protonet-chain.yml @@ -0,0 +1,89 @@ +name: Start Chain + +on: + workflow_call: + inputs: + auto_scaling_group_names: + required: true + type: string + description: 'Comma-separated list of auto-scaling group names' + chain-tag-name: + required: false + type: string + default: 'KavaChainId' + chain-id: + required: true + type: string + aws-region: + required: true + type: string + ssm-document-name: + required: true + type: string + playbook-name: + required: true + type: string + playbook-infrastructure-branch: + required: true + type: string + secrets: + CI_AWS_KEY_ID: + required: true + CI_AWS_KEY_SECRET: + required: true + KAVA_PRIVATE_GITHUB_ACCESS_TOKEN: + required: true + +jobs: + # start kava, allow nodes to start processing requests from users once they are synced to live + serve-traffic: + runs-on: ubuntu-latest + steps: + - name: checkout repo from current commit + uses: actions/checkout@v4 + - name: take the chain offline + run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh + env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + CHAIN_ID: ${{ inputs.chain-id }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} + - name: checkout infrastructure repo + uses: actions/checkout@v4 + with: + repository: Kava-Labs/infrastructure + token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} + path: infrastructure + ref: master + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - name: build kava node updater + run: cd infrastructure/cli/kava-node-updater && make install && cd ../../../ + - name: run start-chain playbook on all chain nodes + run: | + IFS=',' read -r -a auto_scaling_group_names <<< "$AUTO_SCALING_GROUP_NAMES" + for auto_scaling_group_name in "${auto_scaling_group_names[@]}"; do + kava-node-updater \ + --debug \ + --max-retries=2 \ + --aws-ssm-document-name="$SSM_DOCUMENT_NAME" \ + --infrastructure-git-pointer="$PLAYBOOK_INFRASTRUCTURE_BRANCH" \ + --update-playbook-filename="$PLAYBOOK_NAME" \ + --autoscaling-group-name="$auto_scaling_group_name" \ + --max-upgrade-batch-size=0 \ + --wait-for-node-sync-after-upgrade=true + done + env: + SSM_DOCUMENT_NAME: ${{ inputs.ssm-document-name }} + PLAYBOOK_NAME: ${{ inputs.playbook-name }} + AUTO_SCALING_GROUP_NAMES: ${{ inputs.auto_scaling_group_names }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} + AWS_SDK_LOAD_CONFIG: 1 + PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} + - name: bring the chain online + run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh From 44dc38c3770aa3a4c935959d2ca56be218d6d366 Mon Sep 17 00:00:00 2001 From: Luke Bayas Date: Fri, 20 Sep 2024 16:07:09 -0400 Subject: [PATCH 07/52] update README --- ci/env/kava-protonet/README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ci/env/kava-protonet/README.md b/ci/env/kava-protonet/README.md index 695206e995..54714d7a5b 100644 --- a/ci/env/kava-protonet/README.md +++ b/ci/env/kava-protonet/README.md @@ -7,5 +7,11 @@ Genesis Updates Summary ======= -- We decided to move critical data sections into the genesis.json file to ensure the node that starts up has all relevant state it needs BEFORE we execute any scripts to manipulate state. -- The genesis.json contains the initial dev wallet, genesis account and associated balances to said account which is then used to pre-fund various ancillary kava balances (ex: community) to serve whatever testing purpose to protonet +- We decided to move critical bootstrapping sections into the genesis.json file to ensure the node that kava starts up has all relevant initial state it needs BEFORE the seed-protonet.sh script executes. + +Advantages +- Single source of truth for initial provisioning of the kava state when the validator node starts up + +Disadvantages +- Maybe less dynamic in terms of having a shell script, post kava install, setup genesis accounts etc on the fly. Not sure if this was an expectation of this project. + From e7da1ab991aac43a4aa4a0483d77fe168d0ead8e Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Fri, 20 Sep 2024 16:30:58 -0400 Subject: [PATCH 08/52] fix: remove node-types --- .github/workflows/cd-reset-protonet.yml | 1 + .github/workflows/cd-start-protonet-chain.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index 849cde0e93..a6c77bae8e 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -78,6 +78,7 @@ jobs: --update-playbook-filename="$PLAYBOOK_NAME" \ --autoscaling-group-name="$auto_scaling_group_name" \ --max-upgrade-batch-size=0 \ + --node-types="" \ --wait-for-node-sync-after-upgrade=true done env: diff --git a/.github/workflows/cd-start-protonet-chain.yml b/.github/workflows/cd-start-protonet-chain.yml index fcaa8409a9..4e38de1451 100644 --- a/.github/workflows/cd-start-protonet-chain.yml +++ b/.github/workflows/cd-start-protonet-chain.yml @@ -74,6 +74,7 @@ jobs: --update-playbook-filename="$PLAYBOOK_NAME" \ --autoscaling-group-name="$auto_scaling_group_name" \ --max-upgrade-batch-size=0 \ + --node-types="" \ --wait-for-node-sync-after-upgrade=true done env: From 895f0a03bd1aea9d28ae26330cf357b90b8664d1 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Fri, 20 Sep 2024 17:23:41 -0400 Subject: [PATCH 09/52] fix: add seed-chain-state --- .github/workflows/cd-protonet.yml | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 1ddf292118..47d1759808 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -44,23 +44,23 @@ jobs: needs: [reset-chain-to-zero-state] # setup test and development accounts and balances, deploy contracts by calling the chain's api -# seed-chain-state: -# uses: ./.github/workflows/cd-seed-chain.yml -# with: -# chain-api-url: https://rpc.app.protonet.us-east.production.kava.io:443 -# chain-id: proto_2221-17000 -# seed-script-filename: seed-protonet.sh -# erc20-deployer-network-name: protonet -# genesis_validator_addresses: "kavavaloper14w4avgdvqrlpww6l5dhgj4egfn6ln7gmtp7r2m" -# kava_version_filepath: ./ci/env/kava-protonet/KAVA.VERSION -# secrets: inherit -# needs: [start-chain-api] -# post-pipeline-metrics: -# uses: ./.github/workflows/metric-pipeline.yml -# if: always() # always run so we metric failures and successes -# with: -# aws-region: us-east-1 -# metric-name: kava.deploys.testnet.proto -# namespace: Kava/ContinuousDeployment -# secrets: inherit -# needs: [seed-chain-state] + seed-chain-state: + uses: ./.github/workflows/cd-seed-chain.yml + with: + chain-api-url: https://rpc.app.protonet.us-east.production.kava.io:443 + chain-id: proto_2221-17000 + seed-script-filename: seed-protonet.sh + erc20-deployer-network-name: protonet + genesis_validator_addresses: "kavavaloper1jaw3g097lq9jdrnscchspr2233yhpsxdlq7ula" + kava_version_filepath: ./ci/env/kava-protonet/KAVA.VERSION + secrets: inherit + needs: [start-chain-api] + post-pipeline-metrics: + uses: ./.github/workflows/metric-pipeline.yml + if: always() # always run so we metric failures and successes + with: + aws-region: us-east-1 + metric-name: kava.deploys.testnet.proto + namespace: Kava/ContinuousDeployment + secrets: inherit + needs: [seed-chain-state] \ No newline at end of file From e25fae70e1a2793a6531a3182c5bad31b39d9ee9 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Fri, 20 Sep 2024 17:49:06 -0400 Subject: [PATCH 10/52] fix: increase to 10 seconds --- .github/scripts/seed-protonet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/seed-protonet.sh b/.github/scripts/seed-protonet.sh index 4009c3e3e7..29b6c3b153 100755 --- a/.github/scripts/seed-protonet.sh +++ b/.github/scripts/seed-protonet.sh @@ -7,7 +7,7 @@ set -ex # broadcast mode of `block` in order to # minimize the chance tx's fail due to an # account sequence number mismatch -AVG_SECONDS_BETWEEN_BLOCKS=6.5 +AVG_SECONDS_BETWEEN_BLOCKS=10 # configure kava binary to talk to the desired chain endpoint kava config node "${CHAIN_API_URL}" From 91e7f2876d7bc8124183fac0637564b2fed992c4 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Fri, 20 Sep 2024 17:53:16 -0400 Subject: [PATCH 11/52] fix: change evm_denom to ukava and london and below blocks to null --- ci/env/kava-protonet/genesis.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 39f892d513..0a9bd0a98d 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -235,7 +235,7 @@ "evm": { "accounts": [], "params": { - "evm_denom": "aphoton", + "evm_denom": "ukava", "enable_create": true, "enable_call": true, "extra_eips": [], @@ -253,12 +253,12 @@ "istanbul_block": "0", "muir_glacier_block": "0", "berlin_block": "0", - "london_block": "0", - "arrow_glacier_block": "0", - "gray_glacier_block": "0", - "merge_netsplit_block": "0", - "shanghai_block": "0", - "cancun_block": "0" + "london_block": null, + "arrow_glacier_block": null, + "gray_glacier_block": null, + "merge_netsplit_block": null, + "shanghai_block": null, + "cancun_block": null }, "eip712_allowed_msgs": [], "allow_unprotected_txs": false From 6998fd05c37365c221367643a1bda5160bf8ebe9 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 09:06:53 -0400 Subject: [PATCH 12/52] fix: use shef-protonet-validator-network-ephemeral branch for infra --- .github/workflows/cd-reset-protonet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index a6c77bae8e..f21f846e8e 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -59,7 +59,7 @@ jobs: repository: Kava-Labs/infrastructure token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} path: infrastructure - ref: master + ref: shef-protonet-validator-network-ephemeral - name: Set up Go uses: actions/setup-go@v4 with: From 92282e706858390a2e78d3ad8b43696d890d7b57 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 09:11:48 -0400 Subject: [PATCH 13/52] fix: use akava --- ci/env/kava-protonet/genesis.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 0a9bd0a98d..b1296ab5ea 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -235,7 +235,7 @@ "evm": { "accounts": [], "params": { - "evm_denom": "ukava", + "evm_denom": "akava", "enable_create": true, "enable_call": true, "extra_eips": [], From cf12137eb6aac8ac377b47402fd13592c7550f68 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 09:14:19 -0400 Subject: [PATCH 14/52] fix: use kava_version_filepath --- .github/workflows/cd-seed-chain.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-seed-chain.yml b/.github/workflows/cd-seed-chain.yml index e00d9332f1..504c7addb5 100644 --- a/.github/workflows/cd-seed-chain.yml +++ b/.github/workflows/cd-seed-chain.yml @@ -38,7 +38,7 @@ jobs: - name: get desired version of network id: kava-version run: | - echo "KAVA_VERSION=$(cat ./ci/env/kava-internal-testnet/KAVA.VERSION)" >> $GITHUB_OUTPUT + echo "KAVA_VERSION=$(cat ${{ inputs.kava_version_filepath }})" >> $GITHUB_OUTPUT env: KAVA_VERSION_FILEPATH: ${{ inputs.kava_version_filepath }} - name: checkout version of kava used by network From d619f41090df95d82e8b99c2fb134727b23bf6ae Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 09:51:29 -0400 Subject: [PATCH 15/52] fix: add another loop to keep waiting til fully in standby, helps with enteringStandby --- .github/scripts/put-all-chain-nodes-on-standby.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/scripts/put-all-chain-nodes-on-standby.sh b/.github/scripts/put-all-chain-nodes-on-standby.sh index c84b30c502..dae5ae23fc 100755 --- a/.github/scripts/put-all-chain-nodes-on-standby.sh +++ b/.github/scripts/put-all-chain-nodes-on-standby.sh @@ -19,6 +19,17 @@ do --instance-ids "$chain_node_instance_id" \ --auto-scaling-group-name "$autoscaling_group_name" \ --should-decrement-desired-capacity + + while true; do + autoscaling_group_state=$(aws autoscaling describe-auto-scaling-instances --instance-ids "$chain_node_instance_id" | jq -r '[.AutoScalingInstances | .[].LifecycleState] | join(" ")') + if [ "$autoscaling_group_state" == "Standby" ]; then + echo "instance ($chain_node_instance_id) is now in standby state" + break + else + echo "instance ($chain_node_instance_id) not in standby state yet (current state: $autoscaling_group_state), waiting 10 seconds" + sleep 10 + fi + done ;; *) echo "instance ($chain_node_instance_id) not in an elgible state ($autoscaling_group_state) for going on standby, skipping" From d0ed836fd0c6bb9d64d4703b9c19efa984073395 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 10:45:33 -0400 Subject: [PATCH 16/52] fix: just run reset since reset will start chain too --- .github/workflows/cd-protonet.yml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 47d1759808..6e19ba81cf 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -29,20 +29,6 @@ jobs: playbook-infrastructure-branch: shef-protonet-validator-network-ephemeral secrets: inherit - # start kava with new binary and genesis state on api, peer and seed nodes, place nodes in service once they start and are synched to live - start-chain-api: - uses: ./.github/workflows/cd-start-protonet-chain.yml - with: - aws-region: us-east-1 - chain-tag-name: ChainId - chain-id: proto_2221-17000 - auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node - ssm-document-name: kava-testnet-internal-node-update - playbook-name: start-chain-api-playbook.yml - playbook-infrastructure-branch: master - secrets: inherit - needs: [reset-chain-to-zero-state] - # setup test and development accounts and balances, deploy contracts by calling the chain's api seed-chain-state: uses: ./.github/workflows/cd-seed-chain.yml @@ -54,7 +40,7 @@ jobs: genesis_validator_addresses: "kavavaloper1jaw3g097lq9jdrnscchspr2233yhpsxdlq7ula" kava_version_filepath: ./ci/env/kava-protonet/KAVA.VERSION secrets: inherit - needs: [start-chain-api] + needs: [reset-chain-to-zero-state] post-pipeline-metrics: uses: ./.github/workflows/metric-pipeline.yml if: always() # always run so we metric failures and successes From 982a5564cad58d6c9669c4f7fb541a46450acbba Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 10:45:44 -0400 Subject: [PATCH 17/52] fix: add bring the chain online to reset --- .github/workflows/cd-reset-protonet.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index f21f846e8e..cc05263f96 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -90,3 +90,5 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} AWS_SDK_LOAD_CONFIG: 1 PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} + - name: bring the chain online + run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh \ No newline at end of file From 129aa258f7b82af0cc2d376f020130555ed52e24 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 10:46:21 -0400 Subject: [PATCH 18/52] fix: start chain --- .github/scripts/exit-standby-all-chain-nodes.sh | 11 +++++++++++ .github/workflows/cd-seed-chain.yml | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/scripts/exit-standby-all-chain-nodes.sh b/.github/scripts/exit-standby-all-chain-nodes.sh index 1d5efd7b22..b4da615546 100755 --- a/.github/scripts/exit-standby-all-chain-nodes.sh +++ b/.github/scripts/exit-standby-all-chain-nodes.sh @@ -17,6 +17,17 @@ do aws autoscaling exit-standby \ --instance-ids "$chain_node_instance_id" \ --auto-scaling-group-name "$autoscaling_group_name" + + while true; do + autoscaling_group_state=$(aws autoscaling describe-auto-scaling-instances --instance-ids "$chain_node_instance_id" | jq -r '[.AutoScalingInstances | .[].LifecycleState] | join(" ")') + if [ "$autoscaling_group_state" == "InService" ]; then + echo "instance ($chain_node_instance_id) is now in inService state" + break + else + echo "instance ($chain_node_instance_id) not in standby state yet (current state: $autoscaling_group_state), waiting 10 seconds" + sleep 10 + fi + done ;; *) echo "instance ($chain_node_instance_id) not in an elgible state ($autoscaling_group_state) for exiting standby, skipping" diff --git a/.github/workflows/cd-seed-chain.yml b/.github/workflows/cd-seed-chain.yml index 504c7addb5..6fd34791c0 100644 --- a/.github/workflows/cd-seed-chain.yml +++ b/.github/workflows/cd-seed-chain.yml @@ -38,7 +38,9 @@ jobs: - name: get desired version of network id: kava-version run: | - echo "KAVA_VERSION=$(cat ${{ inputs.kava_version_filepath }})" >> $GITHUB_OUTPUT + KAVA_VERSION=$(cat ${{ inputs.kava_version_filepath }}) + echo "KAVA_VERSION=$KAVA_VERSION" >> $GITHUB_OUTPUT + echo "Kava Version: $KAVA_VERSION" env: KAVA_VERSION_FILEPATH: ${{ inputs.kava_version_filepath }} - name: checkout version of kava used by network From 2b4f24d10e0d6360795a98ef07abbca890e6f673 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 10:46:27 -0400 Subject: [PATCH 19/52] fix: update genesis --- ci/env/kava-protonet/genesis.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index b1296ab5ea..5bc1f86f82 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -76,7 +76,7 @@ "coins": [ { "denom": "ukava", - "amount": "2000000000" + "amount": "1000000000000000000" } ] }, @@ -174,8 +174,7 @@ "base_committee": { "id": "1", "description": "Kava God Committee (testing only)", - "members": ["kava1van3znl6597xgwwh46jgquutnqkwvwszjg04fz", "kava1cxymrk2mqlhc6p08kx8zvsd23vgsm7ftfn9x5d"], - "permissions": [{ "@type": "/kava.committee.v1beta1.GodPermission" }], + "members": ["kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582", "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq"], "permissions": [{ "@type": "/kava.committee.v1beta1.GodPermission" }], "vote_threshold": "0.667000000000000000", "proposal_duration": "604800s", "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" @@ -273,7 +272,7 @@ }, "feemarket": { "params": { - "no_base_fee": false, + "no_base_fee": true, "base_fee_change_denominator": 8, "elasticity_multiplier": 2, "enable_height": "0", @@ -311,7 +310,7 @@ }, "value": { "denom": "ukava", - "amount": "1000000000" + "amount": "500000000" } } ], From bebb594ca7f92cb43550ffb3a9353c5b57960c4f Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 10:50:37 -0400 Subject: [PATCH 20/52] fix: update exit --- .github/workflows/cd-reset-protonet.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index cc05263f96..d09c6b24cb 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -91,4 +91,10 @@ jobs: AWS_SDK_LOAD_CONFIG: 1 PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} - name: bring the chain online - run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh \ No newline at end of file + run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh + env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + CHAIN_ID: ${{ inputs.chain-id }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} \ No newline at end of file From ee51bfad22d12d17434f2c72b8436c19c250bf85 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 11:25:51 -0400 Subject: [PATCH 21/52] fix: update version --- ci/env/kava-protonet/KAVA.VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/KAVA.VERSION b/ci/env/kava-protonet/KAVA.VERSION index 7d207bd50e..e170538a0e 100644 --- a/ci/env/kava-protonet/KAVA.VERSION +++ b/ci/env/kava-protonet/KAVA.VERSION @@ -1 +1 @@ -shef-protonet-validator-network +shef-protonet-validator-network-ci From ac56d13fe7d002573e9d490ba5d70b47b884791f Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 11:52:33 -0400 Subject: [PATCH 22/52] fix: update members --- ci/env/kava-protonet/genesis.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 5bc1f86f82..132bd12cb2 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -174,7 +174,8 @@ "base_committee": { "id": "1", "description": "Kava God Committee (testing only)", - "members": ["kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582", "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq"], "permissions": [{ "@type": "/kava.committee.v1beta1.GodPermission" }], + "members": ["kava1van3znl6597xgwwh46jgquutnqkwvwszjg04fz", "kava1cxymrk2mqlhc6p08kx8zvsd23vgsm7ftfn9x5d"], + "permissions": [{ "@type": "/kava.committee.v1beta1.GodPermission" }], "vote_threshold": "0.667000000000000000", "proposal_duration": "604800s", "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" From badce977126b32862200c658ae543f42efe57ae9 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 12:10:57 -0400 Subject: [PATCH 23/52] fix: put genesis back --- ci/env/kava-protonet/genesis.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 132bd12cb2..231dd30ac6 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -235,7 +235,7 @@ "evm": { "accounts": [], "params": { - "evm_denom": "akava", + "evm_denom": "aphoton", "enable_create": true, "enable_call": true, "extra_eips": [], @@ -253,12 +253,12 @@ "istanbul_block": "0", "muir_glacier_block": "0", "berlin_block": "0", - "london_block": null, - "arrow_glacier_block": null, - "gray_glacier_block": null, - "merge_netsplit_block": null, - "shanghai_block": null, - "cancun_block": null + "london_block": "0", + "arrow_glacier_block": "0", + "gray_glacier_block": "0", + "merge_netsplit_block": "0", + "shanghai_block": "0", + "cancun_block": "0" }, "eip712_allowed_msgs": [], "allow_unprotected_txs": false @@ -273,7 +273,7 @@ }, "feemarket": { "params": { - "no_base_fee": true, + "no_base_fee": false, "base_fee_change_denominator": 8, "elasticity_multiplier": 2, "enable_height": "0", @@ -311,7 +311,7 @@ }, "value": { "denom": "ukava", - "amount": "500000000" + "amount": "1000000000" } } ], From 72a8aa4093757df0432b3a1ae9d28455ad9d1e07 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 12:15:58 -0400 Subject: [PATCH 24/52] fix: evm_denom set to akava --- ci/env/kava-protonet/genesis.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 231dd30ac6..ab551c747e 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -235,7 +235,7 @@ "evm": { "accounts": [], "params": { - "evm_denom": "aphoton", + "evm_denom": "akava", "enable_create": true, "enable_call": true, "extra_eips": [], From b9ff55df214c85ca14d4b36e3c092ff0fb1b0468 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 12:54:02 -0400 Subject: [PATCH 25/52] fix: force --- .github/workflows/cd-protonet.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 6e19ba81cf..6a3a4cccf3 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -29,6 +29,7 @@ jobs: playbook-infrastructure-branch: shef-protonet-validator-network-ephemeral secrets: inherit + # setup test and development accounts and balances, deploy contracts by calling the chain's api seed-chain-state: uses: ./.github/workflows/cd-seed-chain.yml From 7b97d7414ec2700b24560f43ebfbcecbb9f0eeb4 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 13:06:39 -0400 Subject: [PATCH 26/52] fix: add max_gas --- ci/env/kava-protonet/genesis.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index ab551c747e..f532152e1a 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -5,7 +5,8 @@ "consensus_params": { "block": { "max_bytes": "22020096", - "max_gas": "-1" + "max_gas": "20000000", + "time_iota_ms": "1000" }, "evidence": { "max_age_num_blocks": "100000", From 9124b4af76fb9ea59d4a367d4e8c0fb10369d372 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 13:44:37 -0400 Subject: [PATCH 27/52] fix: force --- .github/workflows/cd-protonet.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 6a3a4cccf3..6e19ba81cf 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -29,7 +29,6 @@ jobs: playbook-infrastructure-branch: shef-protonet-validator-network-ephemeral secrets: inherit - # setup test and development accounts and balances, deploy contracts by calling the chain's api seed-chain-state: uses: ./.github/workflows/cd-seed-chain.yml From 3ba904a73d5f08685c45598392036c42e8f66dda Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 14:32:32 -0400 Subject: [PATCH 28/52] fix: force --- .github/workflows/cd-reset-protonet.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index d09c6b24cb..ba9cba1557 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -39,6 +39,7 @@ on: # stop kava # download updated binary and genesis # reset application database state (only done on internal testnet) + jobs: place-chain-nodes-on-standby: runs-on: ubuntu-latest From 7853d63686b9b152d7481dc7e445e0793bafa8b9 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 14:51:39 -0400 Subject: [PATCH 29/52] fix: update genesis.json to match more internal testnet --- ci/env/kava-protonet/genesis.json | 1526 ++++++++++++++++++++++++++++- 1 file changed, 1497 insertions(+), 29 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index f532152e1a..7b8f765cab 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -54,11 +54,173 @@ "account_number": "0", "sequence": "0" }, + { + "@type": "/cosmos.auth.v1beta1.ModuleAccount", + "base_account": { + "address": "kava1cj7njkw2g9fqx4e768zc75dp9sks8u9znxrf0w", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "name": "kavadist", + "permissions": [ + "minter" + ] + }, + { + "@type": "/cosmos.auth.v1beta1.BaseAccount", + "address": "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + { + "@type": "/cosmos.auth.v1beta1.ModuleAccount", + "base_account": { + "address": "kava1mfru9azs5nua2wxcd4sq64g5nt7nn4n8s2w8cu", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "name": "swap", + "permissions": [] + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1ak4pa9z2aty94ze2cs06wsdnkg9hsvfkp40r02", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava123fxg0l602etulhhcdm0vt7l57qya5wjcrwhzz", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava10wlnqzyss4accfqmyxwx5jy5x9nfkwh6qm7n4t", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1vtf08rd2z9fm8qwxa54y3el5vues8ty64qcdyr", + "pub_key": null, + "account_number": "0", + "sequence": "1" + }, + "code_hash": "0xefe54230c8a74092194afdcb21c230b4cc4e07d0e6cd22bf0d3721f518df8ef2" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1wrrekcy2h0zs9shkruuwqsvsldq8hm70yad4ke", + "pub_key": null, + "account_number": "0", + "sequence": "1" + }, + "code_hash": "0xd51cf04c1b78bc48b348e8455c4181539ab0b7ff84bb081fed109cd5feafaede" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1g3kdcr8ah7rs07dk00elnkpmk34e6dcj94306a", + "pub_key": null, + "account_number": "0", + "sequence": "1" + }, + "code_hash": "0" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1xg3g4gadzvlgfqwnsfufnsv6r0gmtnhl9f09p5", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "code_hash": "0" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1kq0kfnnffkna9hknzg8kgx89ljczjtjdt8qrv7", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "code_hash": "0" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxw9ehkk", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" + }, { "@type": "/cosmos.auth.v1beta1.BaseAccount", "address": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", "pub_key": null, - "account_number": "1", + "account_number": "0", + "sequence": "0" + }, + { + "@type": "/cosmos.auth.v1beta1.BaseAccount", + "address": "kava1krh7k30pc9rteejpl2zycj0vau58y8c69xkzws", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "address": "kava1w66m9hdzwgd6uc8g93zqkcumgwzrpcw9e32lf8", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + "code_hash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" + }, + { + "@type": "/ethermint.types.v1.EthAccount", + "base_account": { + "account_number": "23", + "address": "kava1seqjrgakfgzasu5g8gwsmgzwacg85e8nnxeqxl", + "pub_key": null, + "sequence": "1" + }, + "code_hash": "0x45d85d503e0143ffd2bb95d7bcb4dadfc1c05ff005fc7c26e63eb47f496fdafc" + }, + { + "@type": "/cosmos.auth.v1beta1.BaseAccount", + "address": "kava10cy05c0j9udypdrp0wy8a5jtshx67v7zk5sdzp", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, + { + "@type": "/cosmos.auth.v1beta1.BaseAccount", + "address": "kava1qffzssyckxgrd7qm6g59r7rfjpp047kzaefatc", + "pub_key": null, + "account_number": "0", "sequence": "0" } ] @@ -121,6 +283,286 @@ "amount": "1000000000000000" } ] + }, + { + "address": "kava1xg3g4gadzvlgfqwnsfufnsv6r0gmtnhl9f09p5", + "coins": [ + { + "denom": "ukava", + "amount": "1000000000000000000" + } + ] + }, + { + "address": "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn", + "coins": [ + { + "denom": "ukava", + "amount": "100000000000000" + } + ] + }, + { + "address": "kava1cj7njkw2g9fqx4e768zc75dp9sks8u9znxrf0w", + "coins": [ + { + "denom": "hard", + "amount": "100000000000000" + }, + { + "denom": "swp", + "amount": "100000000000000" + }, + { + "denom": "ukava", + "amount": "100000000000000" + } + ] + }, + { + "address": "kava1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxw9ehkk", + "coins": [ + { + "denom": "ukava", + "amount": "1000000000" + } + ] + }, + { + "address": "kava1g3kdcr8ah7rs07dk00elnkpmk34e6dcj94306a", + "coins": [ + { + "denom": "ukava", + "amount": "10000000000000000000000" + } + ] + }, + { + "address": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", + "coins": [ + { + "denom": "bnb", + "amount": "500000000" + }, + { + "denom": "btcb", + "amount": "200000000" + }, + { + "denom": "busd", + "amount": "1000000000000000" + }, + { + "denom": "erc20/axelar/eth", + "amount": "1000000000000000000" + }, + { + "denom": "erc20/axelar/usdc", + "amount": "10000000000" + }, + { + "denom": "erc20/axelar/wbtc", + "amount": "1000000000" + }, + { + "denom": "erc20/bitgo/wbtc", + "amount": "200000000" + }, + { + "denom": "erc20/multichain/usdc", + "amount": "1000000000000000000" + }, + { + "denom": "erc20/multichain/usdt", + "amount": "10000000000" + }, + { + "denom": "erc20/multichain/wbtc", + "amount": "1000000000" + }, + { + "denom": "hard", + "amount": "1000000000" + }, + { + "denom": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", + "amount": "10000000000" + }, + { + "denom": "swp", + "amount": "5000000000" + }, + { + "denom": "ukava", + "amount": "10000000000000" + }, + { + "denom": "usdx", + "amount": "103000000000" + }, + { + "denom": "xrpb", + "amount": "1000000000000000" + } + ] + }, + { + "address": "kava1krh7k30pc9rteejpl2zycj0vau58y8c69xkzws", + "coins": [ + { + "denom": "bnb", + "amount": "100000000000000000" + }, + { + "denom": "btcb", + "amount": "200000000" + }, + { + "denom": "busd", + "amount": "1000000000000000" + }, + { + "denom": "erc20/axelar/eth", + "amount": "1000000000000000000" + }, + { + "denom": "erc20/axelar/usdc", + "amount": "10000000000" + }, + { + "denom": "erc20/axelar/wbtc", + "amount": "1000000000" + }, + { + "denom": "erc20/bitgo/wbtc", + "amount": "200000000" + }, + { + "denom": "erc20/tether/usdt", + "amount": "100000000000" + }, + { + "denom": "hard", + "amount": "1000000000" + }, + { + "denom": "swp", + "amount": "5000000000" + }, + { + "denom": "ukava", + "amount": "10000000000000" + }, + { + "denom": "usdx", + "amount": "103000000000" + }, + { + "denom": "xrpb", + "amount": "103000000000" + } + ] + }, + { + "address": "kava1w66m9hdzwgd6uc8g93zqkcumgwzrpcw9e32lf8", + "coins": [ + { + "denom": "ukava", + "amount": "1000000000" + } + ] + }, + { + "address": "kava1kq0kfnnffkna9hknzg8kgx89ljczjtjdt8qrv7", + "coins": [ + { + "denom": "ukava", + "amount": "1000000000000000000" + } + ] + }, + { + "address": "kava1mfru9azs5nua2wxcd4sq64g5nt7nn4n8s2w8cu", + "coins": [ + { + "denom": "btcb", + "amount": "200000000" + }, + { + "denom": "hard", + "amount": "1000000000" + }, + { + "denom": "swp", + "amount": "5000000000" + }, + { + "denom": "ukava", + "amount": "5000000000" + }, + { + "denom": "usdx", + "amount": "103000000000" + } + ] + }, + { + "address": "kava10cy05c0j9udypdrp0wy8a5jtshx67v7zk5sdzp", + "coins": [ + { + "denom": "btcb", + "amount": "200000000" + }, + { + "denom": "busd", + "amount": "1000000000000000" + }, + { + "denom": "hard", + "amount": "1000000000" + }, + { + "denom": "swp", + "amount": "5000000000" + }, + { + "denom": "ukava", + "amount": "10000000000000" + }, + { + "denom": "usdx", + "amount": "103000000000" + } + ] + }, + { + "address": "kava1qffzssyckxgrd7qm6g59r7rfjpp047kzaefatc", + "coins": [ + { + "denom": "btcb", + "amount": "200000000" + }, + { + "denom": "busd", + "amount": "1000000000000000" + }, + { + "denom": "hard", + "amount": "1000000000" + }, + { + "denom": "swp", + "amount": "5000000000" + }, + { + "denom": "ukava", + "amount": "100000000000000" + }, + { + "denom": "usdx", + "amount": "103000000000" + } + ] } ], "supply": [], @@ -140,32 +582,201 @@ "owners": [] }, "cdp": { + "cdps": [], + "debt_denom": "debt", + "deposits": [], + "gov_denom": "ukava", "params": { - "collateral_params": [], + "circuit_breaker": false, + "liquidation_block_interval": 500, + "collateral_params": [ + { + "denom": "bnb", + "type": "bnb-a", + "liquidation_ratio": "1.500000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "5000000000000" + }, + "stability_fee": "1.000000000158153904", + "auction_size": "50000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "bnb:usd", + "liquidation_market_id": "bnb:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "8" + }, + { + "denom": "btcb", + "type": "btcb-a", + "liquidation_ratio": "1.500000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "10000000000000" + }, + "stability_fee": "1.000000000782997609", + "auction_size": "100000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "btc:usd", + "liquidation_market_id": "btc:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "8" + }, + { + "denom": "busd", + "type": "busd-a", + "liquidation_ratio": "1.010000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "50000000000000" + }, + "stability_fee": "1.000000000000000000", + "auction_size": "1000000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "busd:usd", + "liquidation_market_id": "busd:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "8" + }, + { + "denom": "busd", + "type": "busd-b", + "liquidation_ratio": "1.100000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "1000000000000" + }, + "stability_fee": "1.000000012857214317", + "auction_size": "1000000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "busd:usd", + "liquidation_market_id": "busd:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "8" + }, + { + "denom": "xrpb", + "type": "xrpb-a", + "liquidation_ratio": "1.500000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "5000000000000" + }, + "stability_fee": "1.000000000782997609", + "auction_size": "4000000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "xrp:usd", + "liquidation_market_id": "xrp:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "8" + }, + { + "denom": "ukava", + "type": "ukava-a", + "liquidation_ratio": "1.500000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "250000000000" + }, + "stability_fee": "1.000000000782997609", + "auction_size": "5000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "kava:usd", + "liquidation_market_id": "kava:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "6" + }, + { + "denom": "hard", + "type": "hard-a", + "liquidation_ratio": "1.500000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "100000000000" + }, + "stability_fee": "1.000000000782997609", + "auction_size": "5000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "hard:usd", + "liquidation_market_id": "hard:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "6" + }, + { + "denom": "hbtc", + "type": "hbtc-a", + "liquidation_ratio": "1.500000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "10000000000000" + }, + "stability_fee": "1.000000001547125958", + "auction_size": "100000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "btc:usd", + "liquidation_market_id": "btc:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "8" + }, + { + "denom": "swp", + "type": "swp-a", + "liquidation_ratio": "1.500000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "10000000" + }, + "stability_fee": "1.000000001547125958", + "auction_size": "50000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "swp:usd", + "liquidation_market_id": "swp:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "6" + }, + { + "denom": "erc20/tether/usdt", + "type": "usdt-a", + "liquidation_ratio": "1.010000000000000000", + "debt_limit": { + "denom": "usdx", + "amount": "25000000000000" + }, + "stability_fee": "1.000000000000000000", + "auction_size": "100000000000", + "liquidation_penalty": "0.025000000000000000", + "spot_market_id": "usdt:usd", + "liquidation_market_id": "usdt:usd:30", + "keeper_reward_percentage": "0.010000000000000000", + "check_collateralization_index_count": "10", + "conversion_factor": "6" + } + ], + "debt_auction_lot": "10000000000", + "debt_auction_threshold": "100000000000", "debt_param": { - "denom": "usdx", - "reference_asset": "usd", "conversion_factor": "6", - "debt_floor": "10000000" + "debt_floor": "10000000", + "denom": "usdx", + "reference_asset": "usd" }, "global_debt_limit": { - "denom": "usdx", - "amount": "0" + "amount": "181200010000000", + "denom": "usdx" }, - "surplus_auction_threshold": "500000000000", "surplus_auction_lot": "10000000000", - "debt_auction_threshold": "100000000000", - "debt_auction_lot": "10000000000", - "circuit_breaker": false, - "liquidation_block_interval": "1" + "surplus_auction_threshold": "500000000000" }, - "cdps": [], - "deposits": [], - "starting_cdp_id": "1", - "debt_denom": "debt", - "gov_denom": "ukava", - "previous_accumulation_times": [], - "total_principals": [] + "starting_cdp_id": "1" }, "committee": { "next_proposal_id": "1", @@ -174,13 +785,222 @@ "@type": "/kava.committee.v1beta1.MemberCommittee", "base_committee": { "id": "1", + "description": "Kava Stability Committee", + "members": [ + "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" + ], + "permissions": [ + { + "@type": "/kava.committee.v1beta1.TextPermission" + }, + { + "@type": "/kava.committee.v1beta1.ParamsChangePermission", + "allowed_params_changes": [ + { + "subspace": "auction", + "key": "BidDuration" + }, + { + "subspace": "auction", + "key": "IncrementSurplus" + }, + { + "subspace": "auction", + "key": "IncrementDebt" + }, + { + "subspace": "auction", + "key": "IncrementCollateral" + }, + { + "subspace": "bep3", + "key": "AssetParams" + }, + { + "subspace": "cdp", + "key": "GlobalDebtLimit" + }, + { + "subspace": "cdp", + "key": "SurplusThreshold" + }, + { + "subspace": "cdp", + "key": "SurplusLot" + }, + { + "subspace": "cdp", + "key": "DebtThreshold" + }, + { + "subspace": "cdp", + "key": "DebtLot" + }, + { + "subspace": "cdp", + "key": "DistributionFrequency" + }, + { + "subspace": "cdp", + "key": "CollateralParams" + }, + { + "subspace": "cdp", + "key": "DebtParam" + }, + { + "subspace": "evmutil", + "key": "EnabledConversionPairs" + }, + { + "subspace": "incentive", + "key": "Active" + }, + { + "subspace": "kavadist", + "key": "Active" + }, + { + "subspace": "pricefeed", + "key": "Markets" + }, + { + "subspace": "hard", + "key": "MoneyMarkets" + }, + { + "subspace": "hard", + "key": "MinimumBorrowUSDValue" + } + ] + } + ], + "vote_threshold": "0.667000000000000000", + "proposal_duration": "604800s", + "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" + } + }, + { + "@type": "/kava.committee.v1beta1.MemberCommittee", + "base_committee": { + "id": "2", + "description": "Kava Safety Committee", + "members": [ + "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" + ], + "permissions": [ + { + "@type": "/kava.committee.v1beta1.SoftwareUpgradePermission" + } + ], + "vote_threshold": "0.667000000000000000", + "proposal_duration": "604800s", + "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" + } + }, + { + "@type": "/kava.committee.v1beta1.MemberCommittee", + "base_committee": { + "id": "3", "description": "Kava God Committee (testing only)", - "members": ["kava1van3znl6597xgwwh46jgquutnqkwvwszjg04fz", "kava1cxymrk2mqlhc6p08kx8zvsd23vgsm7ftfn9x5d"], - "permissions": [{ "@type": "/kava.committee.v1beta1.GodPermission" }], + "members": [ + "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" + ], + "permissions": [ + { + "@type": "/kava.committee.v1beta1.GodPermission" + } + ], "vote_threshold": "0.667000000000000000", "proposal_duration": "604800s", "tally_option": "TALLY_OPTION_FIRST_PAST_THE_POST" } + }, + { + "@type": "/kava.committee.v1beta1.TokenCommittee", + "base_committee": { + "id": "4", + "description": "HARD Governance Committee", + "members": [ + "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" + ], + "permissions": [ + { + "@type": "/kava.committee.v1beta1.TextPermission" + }, + { + "@type": "/kava.committee.v1beta1.ParamsChangePermission", + "allowed_params_changes": [ + { + "subspace": "hard", + "key": "MoneyMarkets" + }, + { + "subspace": "hard", + "key": "MinimumBorrowUSDValue" + }, + { + "subspace": "incentive", + "key": "HardSupplyRewardPeriods" + }, + { + "subspace": "incentive", + "key": "HardBorrowRewardPeriods" + }, + { + "subspace": "incentive", + "key": "HardDelegatorRewardPeriods" + } + ] + } + ], + "vote_threshold": "0.667000000000000000", + "proposal_duration": "604800s", + "tally_option": "TALLY_OPTION_DEADLINE" + }, + "quorum": "0.330000000000000000", + "tally_denom": "hard" + }, + { + "@type": "/kava.committee.v1beta1.TokenCommittee", + "base_committee": { + "id": "5", + "description": "SWP Governance Committee", + "members": [ + "kava1fy5zeuutmxzwcx5hncu5q83ug3zcqmxcpwrjsn" + ], + "permissions": [ + { + "@type": "/kava.committee.v1beta1.TextPermission" + }, + { + "@type": "/kava.committee.v1beta1.ParamsChangePermission", + "allowed_params_changes": [ + { + "subspace": "swap", + "key": "AllowedPools" + }, + { + "subspace": "swap", + "key": "SwapFee" + }, + { + "subspace": "incentive", + "key": "DelegatorRewardPeriods" + }, + { + "subspace": "incentive", + "key": "SwapRewardPeriods" + } + ] + } + ], + "vote_threshold": "0.667000000000000000", + "proposal_duration": "604800s", + "tally_option": "TALLY_OPTION_DEADLINE" + }, + "quorum": "0.330000000000000000", + "tally_denom": "swp" } ], "proposals": [], @@ -254,14 +1074,662 @@ "istanbul_block": "0", "muir_glacier_block": "0", "berlin_block": "0", - "london_block": "0", - "arrow_glacier_block": "0", - "gray_glacier_block": "0", - "merge_netsplit_block": "0", - "shanghai_block": "0", - "cancun_block": "0" - }, - "eip712_allowed_msgs": [], + "london_block": null, + "arrow_glacier_block": null, + "gray_glacier_block": null, + "merge_netsplit_block": null, + "shanghai_block": null, + "cancun_block": null + }, + "eip712_allowed_msgs": [ + { + "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertERC20ToCoin", + "msg_value_type_name": "MsgValueEVMConvertERC20ToCoin", + "value_types": [ + { + "name": "initiator", + "type": "string" + }, + { + "name": "receiver", + "type": "string" + }, + { + "name": "kava_erc20_address", + "type": "string" + }, + { + "name": "amount", + "type": "string" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertCoinToERC20", + "msg_value_type_name": "MsgValueEVMConvertCoinToERC20", + "value_types": [ + { + "name": "initiator", + "type": "string" + }, + { + "name": "receiver", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.earn.v1beta1.MsgDeposit", + "msg_value_type_name": "MsgValueEarnDeposit", + "value_types": [ + { + "name": "depositor", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + }, + { + "name": "strategy", + "type": "int32" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.earn.v1beta1.MsgWithdraw", + "msg_value_type_name": "MsgValueEarnWithdraw", + "value_types": [ + { + "name": "from", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + }, + { + "name": "strategy", + "type": "int32" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/cosmos.staking.v1beta1.MsgDelegate", + "msg_value_type_name": "MsgValueStakingDelegate", + "value_types": [ + { + "name": "delegator_address", + "type": "string" + }, + { + "name": "validator_address", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/cosmos.staking.v1beta1.MsgUndelegate", + "msg_value_type_name": "MsgValueStakingUndelegate", + "value_types": [ + { + "name": "delegator_address", + "type": "string" + }, + { + "name": "validator_address", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/cosmos.staking.v1beta1.MsgBeginRedelegate", + "msg_value_type_name": "MsgValueStakingBeginRedelegate", + "value_types": [ + { + "name": "delegator_address", + "type": "string" + }, + { + "name": "validator_src_address", + "type": "string" + }, + { + "name": "validator_dst_address", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.incentive.v1beta1.MsgClaimUSDXMintingReward", + "msg_value_type_name": "MsgValueIncentiveClaimUSDXMintingReward", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "multiplier_name", + "type": "string" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.incentive.v1beta1.MsgClaimHardReward", + "msg_value_type_name": "MsgValueIncentiveClaimHardReward", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "denoms_to_claim", + "type": "IncentiveSelection[]" + } + ], + "nested_types": [ + { + "name": "IncentiveSelection", + "attrs": [ + { + "name": "denom", + "type": "string" + }, + { + "name": "multiplier_name", + "type": "string" + } + ] + } + ] + }, + { + "msg_type_url": "/kava.incentive.v1beta1.MsgClaimDelegatorReward", + "msg_value_type_name": "MsgValueIncentiveClaimDelegatorReward", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "denoms_to_claim", + "type": "IncentiveSelection[]" + } + ], + "nested_types": [ + { + "name": "IncentiveSelection", + "attrs": [ + { + "name": "denom", + "type": "string" + }, + { + "name": "multiplier_name", + "type": "string" + } + ] + } + ] + }, + { + "msg_type_url": "/kava.incentive.v1beta1.MsgClaimSwapReward", + "msg_value_type_name": "MsgValueIncentiveClaimSwapReward", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "denoms_to_claim", + "type": "IncentiveSelection[]" + } + ], + "nested_types": [ + { + "name": "IncentiveSelection", + "attrs": [ + { + "name": "denom", + "type": "string" + }, + { + "name": "multiplier_name", + "type": "string" + } + ] + } + ] + }, + { + "msg_type_url": "/kava.incentive.v1beta1.MsgClaimSavingsReward", + "msg_value_type_name": "MsgValueIncentiveClaimSavingsReward", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "denoms_to_claim", + "type": "IncentiveSelection[]" + } + ], + "nested_types": [ + { + "name": "IncentiveSelection", + "attrs": [ + { + "name": "denom", + "type": "string" + }, + { + "name": "multiplier_name", + "type": "string" + } + ] + } + ] + }, + { + "msg_type_url": "/kava.incentive.v1beta1.MsgClaimEarnReward", + "msg_value_type_name": "MsgValueIncentiveClaimEarnReward", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "denoms_to_claim", + "type": "IncentiveSelection[]" + } + ], + "nested_types": [ + { + "name": "IncentiveSelection", + "attrs": [ + { + "name": "denom", + "type": "string" + }, + { + "name": "multiplier_name", + "type": "string" + } + ] + } + ] + }, + { + "msg_type_url": "/kava.router.v1beta1.MsgMintDeposit", + "msg_value_type_name": "MsgValueRouterMintDeposit", + "value_types": [ + { + "name": "depositor", + "type": "string" + }, + { + "name": "validator", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.router.v1beta1.MsgDelegateMintDeposit", + "msg_value_type_name": "MsgValueRouterDelegateMintDeposit", + "value_types": [ + { + "name": "depositor", + "type": "string" + }, + { + "name": "validator", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.router.v1beta1.MsgWithdrawBurn", + "msg_value_type_name": "MsgValueRouterWithdrawBurn", + "value_types": [ + { + "name": "from", + "type": "string" + }, + { + "name": "validator", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.router.v1beta1.MsgWithdrawBurnUndelegate", + "msg_value_type_name": "MsgValueRouterWithdrawBurnUndelegate", + "value_types": [ + { + "name": "from", + "type": "string" + }, + { + "name": "validator", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/cosmos.gov.v1beta1.MsgVote", + "msg_value_type_name": "MsgValueGovVote", + "value_types": [ + { + "name": "proposal_id", + "type": "uint64" + }, + { + "name": "voter", + "type": "string" + }, + { + "name": "option", + "type": "int32" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/cosmos.bank.v1beta1.MsgSend", + "msg_value_type_name": "MsgValueBankSend", + "value_types": [ + { + "name": "from_address", + "type": "string" + }, + { + "name": "to_address", + "type": "string" + }, + { + "name": "amount", + "type": "Coin[]" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.liquid.v1beta1.MsgMintDerivative", + "msg_value_type_name": "MsgValueMintDerivative", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "validator", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.liquid.v1beta1.MsgBurnDerivative", + "msg_value_type_name": "MsgValueBurnDerivative", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "validator", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.hard.v1beta1.MsgWithdraw", + "msg_value_type_name": "MsgValueHardWithdraw", + "value_types": [ + { + "name": "depositor", + "type": "string" + }, + { + "name": "amount", + "type": "Coin[]" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.hard.v1beta1.MsgDeposit", + "msg_value_type_name": "MsgValueHardDeposit", + "value_types": [ + { + "name": "depositor", + "type": "string" + }, + { + "name": "amount", + "type": "Coin[]" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertCosmosCoinToERC20", + "msg_value_type_name": "MsgConvertCosmosCoinToERC20", + "value_types": [ + { + "name": "initiator", + "type": "string" + }, + { + "name": "receiver", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.evmutil.v1beta1.MsgConvertCosmosCoinFromERC20", + "msg_value_type_name": "MsgConvertCosmosCoinFromERC20", + "value_types": [ + { + "name": "initiator", + "type": "string" + }, + { + "name": "receiver", + "type": "string" + }, + { + "name": "amount", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.cdp.v1beta1.MsgCreateCDP", + "msg_value_type_name": "MsgValueCdpCreateCDP", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "collateral", + "type": "Coin" + }, + { + "name": "principal", + "type": "Coin" + }, + { + "name": "collateral_type", + "type": "string" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.cdp.v1beta1.MsgDeposit", + "msg_value_type_name": "MsgValueCdpDeposit", + "value_types": [ + { + "name": "depositor", + "type": "string" + }, + { + "name": "owner", + "type": "string" + }, + { + "name": "collateral", + "type": "Coin" + }, + { + "name": "collateral_type", + "type": "string" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.cdp.v1beta1.MsgWithdraw", + "msg_value_type_name": "MsgValueCdpWithdraw", + "value_types": [ + { + "name": "depositor", + "type": "string" + }, + { + "name": "owner", + "type": "string" + }, + { + "name": "collateral", + "type": "Coin" + }, + { + "name": "collateral_type", + "type": "string" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.cdp.v1beta1.MsgDrawDebt", + "msg_value_type_name": "MsgValueCdpDrawDebt", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "collateral_type", + "type": "string" + }, + { + "name": "principal", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.cdp.v1beta1.MsgRepayDebt", + "msg_value_type_name": "MsgValueCdpRepayDebt", + "value_types": [ + { + "name": "sender", + "type": "string" + }, + { + "name": "collateral_type", + "type": "string" + }, + { + "name": "payment", + "type": "Coin" + } + ], + "nested_types": [] + }, + { + "msg_type_url": "/kava.committee.v1beta1.MsgVote", + "msg_value_type_name": "MsgValueCommitteeVote", + "value_types": [ + { + "name": "proposal_id", + "type": "uint64" + }, + { + "name": "voter", + "type": "string" + }, + { + "name": "vote_type", + "type": "int32" + } + ], + "nested_types": [] + } + ], "allow_unprotected_txs": false } }, From c85e39d11d868a7ed187ac791f3bce55045ea9d3 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 14:54:05 -0400 Subject: [PATCH 30/52] fix: do only validator for reset for now --- .github/workflows/cd-protonet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 6e19ba81cf..a677fb9661 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -23,7 +23,7 @@ jobs: aws-region: us-east-1 chain-tag-name: ChainId chain-id: proto_2221-17000 - auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node + auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node #,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update playbook-name: reset-chain.yml playbook-infrastructure-branch: shef-protonet-validator-network-ephemeral From 3689b2e3f97eac95dc4ad0f14c045b2f9ffe485f Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 14:57:52 -0400 Subject: [PATCH 31/52] fix: add pricefeed for bnb:usd and swap claims --- ci/env/kava-protonet/genesis.json | 506 +++++++++++++++++++++++++++++- 1 file changed, 503 insertions(+), 3 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 7b8f765cab..7c8f661668 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -1925,7 +1925,40 @@ "usdx_minting_claims": [], "hard_liquidity_provider_claims": [], "delegator_claims": [], - "swap_claims": [], + "swap_claims": [ + { + "base_claim": { + "owner": "kava1ektgdyy0z23qqnd67ns3qvfzgfgjd5xe82lf5c", + "reward": [] + }, + "reward_indexes": [ + { + "collateral_type": "ukava:usdx", + "reward_indexes": [] + } + ] + }, + { + "base_claim": { + "owner": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", + "reward": [] + }, + "reward_indexes": [ + { + "collateral_type": "hard:usdx", + "reward_indexes": [] + }, + { + "collateral_type": "swp:usdx", + "reward_indexes": [] + }, + { + "collateral_type": "ukava:usdx", + "reward_indexes": [] + } + ] + } + ], "savings_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] @@ -2101,9 +2134,476 @@ "params": null, "pricefeed": { "params": { - "markets": [] + "markets": [ + { + "market_id": "bnb:usd", + "base_asset": "bnb", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "bnb:usd:30", + "base_asset": "bnb", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "btc:usd", + "base_asset": "btc", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "btc:usd:30", + "base_asset": "btc", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "eth:usd", + "base_asset": "eth", + "quote_asset": "eth", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "eth:usd:30", + "base_asset": "eth", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "xrp:usd:30", + "base_asset": "xrp", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "xrp:usd", + "base_asset": "xrp", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "busd:usd", + "base_asset": "busd", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "busd:usd:30", + "base_asset": "busd", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "usdc:usd", + "base_asset": "usdc", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "usdc:usd:30", + "base_asset": "usdc", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "usdt:usd", + "base_asset": "usdt", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "usdt:usd:30", + "base_asset": "usdt", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "kava:usd", + "base_asset": "kava", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "kava:usd:30", + "base_asset": "kava", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "hard:usd", + "base_asset": "hard", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "hard:usd:30", + "base_asset": "hard", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "atom:usd", + "base_asset": "atom", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "atom:usd:30", + "base_asset": "atom", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "osmo:usd", + "base_asset": "osmo", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "osmo:usd:30", + "base_asset": "osmo", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "akt:usd", + "base_asset": "akt", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "akt:usd:30", + "base_asset": "akt", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "luna:usd", + "base_asset": "luna", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "luna:usd:30", + "base_asset": "luna", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "usdx:usd", + "base_asset": "usdx", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "usdx:usd:30", + "base_asset": "usdx", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "usdx:usd:720", + "base_asset": "usdx", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "swp:usd", + "base_asset": "swp", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + }, + { + "market_id": "swp:usd:30", + "base_asset": "swp", + "quote_asset": "usd", + "oracles": [ + "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h" + ], + "active": true + } + ] }, - "posted_prices": [] + "posted_prices": [ + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "bnb:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "215.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "bnb:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "217.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "btc:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "29500.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "btc:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "28500.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "eth:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "16250.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "eth:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "16250.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "akt:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "akt:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "osmo:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "4.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "osmo:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "4.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "luna:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "92.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "luna:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "92.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "atom:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "24.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "atom:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "24.962650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "xrp:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "0.552650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "xrp:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "0.552650000000001782" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "busd:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "busd:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "usdx:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "usdx:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "usdx:usd:720", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "kava:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "3.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "kava:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "3.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "hard:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "0.500000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "hard:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "0.500000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "swp:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "2.150000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "swp:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "2.150000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "usdt:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "usdc:usd", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "usdt:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + }, + { + "expiry": "2050-01-01T00:00:00Z", + "market_id": "usdc:usd:30", + "oracle_address": "kava1hdn83q3srldcpan4ex2v4npuae8hmnfrps3e6h", + "price": "1.000000000000000000" + } + ] }, "router": {}, "savings": { From df499b05d541602bf00d59af064937561f25edb8 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 15:34:31 -0400 Subject: [PATCH 32/52] fix: no_base_fee true and other updates --- ci/env/kava-protonet/genesis.json | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 7c8f661668..6a9df9b2f5 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -4,23 +4,21 @@ "initial_height": "1", "consensus_params": { "block": { - "max_bytes": "22020096", + "max_bytes": "200000", "max_gas": "20000000", "time_iota_ms": "1000" }, "evidence": { - "max_age_num_blocks": "100000", - "max_age_duration": "172800000000000", - "max_bytes": "1048576" + "max_age_num_blocks": "1000000", + "max_age_duration": "6000000000000000", + "max_bytes": "50000" }, "validator": { "pub_key_types": [ "ed25519" ] }, - "version": { - "app": "0" - } + "version": {} }, "app_hash": "", "app_state": { @@ -30,7 +28,7 @@ "next_auction_id": "1", "params": { "max_auction_duration": "172800s", - "forward_bid_duration": "86400s", + "forward_bid_duration": "28800s", "reverse_bid_duration": "3600s", "increment_surplus": "0.050000000000000000", "increment_debt": "0.050000000000000000", @@ -47,13 +45,6 @@ "sig_verify_cost_secp256k1": "1000" }, "accounts": [ - { - "@type": "/cosmos.auth.v1beta1.BaseAccount", - "address": "kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582", - "pub_key": null, - "account_number": "0", - "sequence": "0" - }, { "@type": "/cosmos.auth.v1beta1.ModuleAccount", "base_account": { @@ -1742,7 +1733,7 @@ }, "feemarket": { "params": { - "no_base_fee": false, + "no_base_fee": true, "base_fee_change_denominator": 8, "elasticity_multiplier": 2, "enable_height": "0", From 4a80b1ffb808757cf001b4bba0ab5a527964c248 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 15:39:34 -0400 Subject: [PATCH 33/52] fix: put back kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582 auth --- ci/env/kava-protonet/genesis.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 6a9df9b2f5..bed22e5179 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -45,6 +45,13 @@ "sig_verify_cost_secp256k1": "1000" }, "accounts": [ + { + "@type": "/cosmos.auth.v1beta1.BaseAccount", + "address": "kava1jaw3g097lq9jdrnscchspr2233yhpsxdjky582", + "pub_key": null, + "account_number": "0", + "sequence": "0" + }, { "@type": "/cosmos.auth.v1beta1.ModuleAccount", "base_account": { From bf3ed1f3ff632c25a108844899269a58cc86c1dc Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 15:59:43 -0400 Subject: [PATCH 34/52] fix: add rest of genesis.json --- ci/env/kava-protonet/genesis.json | 1352 +++++++++++++++++++++++++++-- 1 file changed, 1294 insertions(+), 58 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index bed22e5179..7b94e39fbd 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -224,7 +224,233 @@ ] }, "authz": { - "authorization": [] + "authorization": [ + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.bank.v1beta1.MsgMultiSend" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.bank.v1beta1.MsgSend" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.distribution.v1beta1.MsgFundCommunityPool" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.staking.v1beta1.MsgBeginRedelegate" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.staking.v1beta1.MsgDelegate" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/cosmos.staking.v1beta1.MsgUndelegate" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.cdp.v1beta1.MsgCreateCDP" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.cdp.v1beta1.MsgDeposit" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.cdp.v1beta1.MsgDrawDebt" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.cdp.v1beta1.MsgRepayDebt" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.cdp.v1beta1.MsgWithdraw" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.hard.v1beta1.MsgBorrow" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.hard.v1beta1.MsgDeposit" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.hard.v1beta1.MsgRepay" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.hard.v1beta1.MsgWithdraw" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.liquid.v1beta1.MsgBurnDerivative" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.liquid.v1beta1.MsgMintDerivative" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.swap.v1beta1.MsgDeposit" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.swap.v1beta1.MsgSwapExactForTokens" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.swap.v1beta1.MsgSwapForExactTokens" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + }, + { + "authorization": { + "@type": "/cosmos.authz.v1beta1.GenericAuthorization", + "msg": "/kava.swap.v1beta1.MsgWithdraw" + }, + "expiration": null, + "grantee": "kava10d07y265gmmuvt4z0w9aw880jnsr700jxh8cq5", + "granter": "kava17d2wax0zhjrrecvaszuyxdf5wcu5a0p4qlx3t5" + } + ] }, "bank": { "params": { @@ -568,12 +794,81 @@ "send_enabled": [] }, "bep3": { - "params": { - "asset_params": [] - }, - "atomic_swaps": [], "supplies": [], - "previous_block_time": "1970-01-01T00:00:01Z" + "atomic_swaps": [], + "previous_block_time": "1970-01-01T00:00:00Z", + "params": { + "asset_params": [ + { + "denom": "btcb", + "coin_id": "0", + "supply_limit": { + "limit": "100000000000", + "time_limited": false, + "time_period": "0", + "time_based_limit": "0" + }, + "active": true, + "deputy_address": "kava1kla4wl0ccv7u85cemvs3y987hqk0afcv7vue84", + "fixed_fee": "2", + "min_swap_amount": "3", + "max_swap_amount": "2000000000", + "min_block_lock": "24686", + "max_block_lock": "86400" + }, + { + "denom": "xrpb", + "coin_id": "144", + "supply_limit": { + "limit": "2000000000000000", + "time_limited": false, + "time_period": "0", + "time_based_limit": "0" + }, + "active": true, + "deputy_address": "kava14q5sawxdxtpap5x5sgzj7v4sp3ucncjlpuk3hs", + "fixed_fee": "100000", + "min_swap_amount": "100001", + "max_swap_amount": "250000000000000", + "min_block_lock": "24686", + "max_block_lock": "86400" + }, + { + "denom": "bnb", + "coin_id": "714", + "supply_limit": { + "limit": "100000000000000", + "time_limited": false, + "time_period": "0", + "time_based_limit": "0" + }, + "active": true, + "deputy_address": "kava1agcvt07tcw0tglu0hmwdecsnuxp2yd45f3avgm", + "fixed_fee": "1000", + "min_swap_amount": "1001", + "max_swap_amount": "500000000000", + "min_block_lock": "24686", + "max_block_lock": "86400" + }, + { + "denom": "busd", + "coin_id": "727", + "supply_limit": { + "limit": "2000000000000000", + "time_limited": false, + "time_period": "0", + "time_based_limit": "0" + }, + "active": true, + "deputy_address": "kava1j9je7f6s0v6k7dmgv6u5k5ru202f5ffsc7af04", + "fixed_fee": "20000", + "min_swap_amount": "20001", + "max_swap_amount": "100000000000000", + "min_block_lock": "24686", + "max_block_lock": "86400" + } + ] + } }, "capability": { "index": "1", @@ -777,7 +1072,6 @@ "starting_cdp_id": "1" }, "committee": { - "next_proposal_id": "1", "committees": [ { "@type": "/kava.committee.v1beta1.MemberCommittee", @@ -1001,18 +1295,19 @@ "tally_denom": "swp" } ], + "next_proposal_id": "1", "proposals": [], "votes": [] }, "community": { "params": { - "upgrade_time_disable_inflation": "0001-01-01T00:00:00Z", - "staking_rewards_per_second": "0.000000000000000000", - "upgrade_time_set_staking_rewards_per_second": "0.000000000000000000" + "upgrade_time_disable_inflation": "2023-11-01T00:00:00Z", + "upgrade_time_set_staking_rewards_per_second": "744191", + "staking_rewards_per_second": "0" }, "staking_rewards_state": { "last_accumulation_time": "0001-01-01T00:00:00Z", - "last_truncation_error": "0.000000000000000000" + "last_truncation_error": "0" } }, "consensus": null, @@ -1024,9 +1319,9 @@ }, "distribution": { "params": { - "community_tax": "0.020000000000000000", - "base_proposer_reward": "0.000000000000000000", - "bonus_proposer_reward": "0.000000000000000000", + "community_tax": "0.000000000000000000", + "base_proposer_reward": "0.010000000000000000", + "bonus_proposer_reward": "0.040000000000000000", "withdraw_addr_enabled": true }, "fee_pool": { @@ -1043,7 +1338,50 @@ }, "earn": { "params": { - "allowed_vaults": [] + "allowed_vaults": [ + { + "denom": "usdx", + "strategies": [ + "STRATEGY_TYPE_HARD" + ] + }, + { + "denom": "ukava", + "strategies": [ + "STRATEGY_TYPE_SAVINGS" + ] + }, + { + "denom": "erc20/multichain/usdc", + "strategies": [ + "STRATEGY_TYPE_SAVINGS" + ], + "is_private_vault": false, + "allowed_depositors": [] + }, + { + "denom": "bkava", + "strategies": [ + "STRATEGY_TYPE_SAVINGS" + ] + }, + { + "denom": "bnb", + "strategies": [ + "STRATEGY_TYPE_SAVINGS" + ], + "is_private_vault": false, + "allowed_depositors": [] + }, + { + "denom": "erc20/multichain/usdt", + "strategies": [ + "STRATEGY_TYPE_SAVINGS" + ], + "is_private_vault": false, + "allowed_depositors": [] + } + ] }, "vault_records": [], "vault_share_records": [] @@ -1052,7 +1390,97 @@ "evidence": [] }, "evm": { - "accounts": [], + "accounts": [ + { + "address": "0x864121A3b64A05d872883a1D0DA04eEe107A64F3", + "code": "608060405234801561001057600080fd5b50600436106102695760003560e01c806379cc679011610151578063a457c2d7116100c3578063d539139311610087578063d5391393146105df578063d547741f146105f4578063dd62ed3e14610607578063e44dbafc14610640578063ec126c7714610667578063ed56531a1461067a57600080fd5b8063a457c2d71461056c578063a9059cbb1461057f578063b32ad1a614610592578063c8e1b4ce146105b9578063ca15c873146105cc57600080fd5b806395d89b411161011557806395d89b41146104ff5780639ac25d08146105075780639dc29fac1461050f5780639e9e466614610522578063a19ff68014610545578063a217fddf1461050757600080fd5b806379cc679014610474578063893d20e8146104875780639010d07c1461048f57806391d14854146104a257806395609212146104b557600080fd5b8063313ce567116101ea578063401d1c73116101ae578063401d1c73146103e457806340c10f19146103f757806342966c681461040a578063628d6cba1461041d5780636f307dc31461043057806370a082311461044b57600080fd5b8063313ce56714610354578063355274ea1461038557806335e1d487146103ab57806336568abe146103be57806339509351146103d157600080fd5b806323fb9eba1161023157806323fb9eba146102e3578063248a9ca3146102f85780632f2ff15d1461031b5780632f4dae9f1461032e5780633092afd51461034157600080fd5b806301ffc9a71461026e57806306fdde0314610296578063095ea7b3146102ab57806318160ddd146102be57806323b872dd146102d0575b600080fd5b61028161027c366004611e25565b61068d565b60405190151581526020015b60405180910390f35b61029e6106b8565b60405161028d9190611e7b565b6102816102b9366004611eca565b61074a565b6002545b60405190815260200161028d565b6102816102de366004611ef4565b610762565b6102f66102f1366004611eca565b610786565b005b6102c2610306366004611f30565b60009081526005602052604090206001015490565b6102f6610329366004611f49565b6107ec565b6102f661033c366004611f30565b610817565b6102f661034f366004611f75565b610830565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000616815260200161028d565b7f00000000000000000000000000000000000000000052b7d2dcc80cd2e40000006102c2565b6102f66103b9366004611f90565b610876565b6102f66103cc366004611f49565b6108de565b6102816103df366004611eca565b610958565b6102f66103f2366004611fd5565b610997565b610281610405366004611eca565b6109e0565b6102f6610418366004611f30565b610a05565b61028161042b366004611f49565b610a12565b60005b6040516001600160a01b03909116815260200161028d565b6102c2610459366004611f75565b6001600160a01b031660009081526020819052604090205490565b6102f6610482366004611eca565b610ab1565b610433610ac6565b61043361049d366004612008565b610ad7565b6102816104b0366004611f49565b610af6565b6104e46104c3366004611f75565b60086020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161028d565b61029e610b21565b6102c2600081565b61028161051d366004611eca565b610b30565b610281610530366004611f30565b60009081526007602052604090205460ff1690565b6102c27f62d52416825983abd68b16e092b60c2eac31fd673bcce92494e063af530d9c3081565b61028161057a366004611eca565b610b55565b61028161058d366004611eca565b610be7565b6102c27fb2a18ae5d0b623b41098012c516d0bf4bef38c068c9e397da870c290888b199981565b6102f66105c7366004611eca565b610bf5565b6102c26105da366004611f30565b610c55565b6102c260008051602061220b83398151915281565b6102f6610602366004611f49565b610c6c565b6102c261061536600461202a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102c27f38cbe5ebce66f5e289a042a8eda57d146aaab8a3f3a9637670043b23d481307081565b610281610675366004612054565b610c92565b6102f6610688366004611f30565b610d06565b60006001600160e01b03198216635a05180f60e01b14806106b257506106b282610db6565b92915050565b6060600380546106c790612079565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390612079565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050905090565b600033610758818585610deb565b5060019392505050565b600033610770858285610f0f565b61077b858585610fa1565b506001949350505050565b6000610792813361117a565b6107aa60008051602061220b83398151915284610af6565b6107cf5760405162461bcd60e51b81526004016107c6906120b4565b60405180910390fd5b506001600160a01b03909116600090815260086020526040902055565b600082815260056020526040902060010154610808813361117a565b61081283836111de565b505050565b6000610823813361117a565b61082c82611200565b5050565b600061083c813361117a565b61085460008051602061220b833981519152836112e9565b506001600160a01b031660009081526008602052604081206001810182905555565b6000610882813361117a565b81806108a157506108a160008051602061220b83398151915285610af6565b6108bd5760405162461bcd60e51b81526004016107c6906120b4565b50506001600160a01b03909116600090815260086020526040902060020155565b6001600160a01b038116331461094e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107c6565b61082c82826112e9565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061075890829086906109929087906120ee565b610deb565b60006109a3813361117a565b6109bb60008051602061220b833981519152856111de565b506001600160a01b039092166000908152600860205260409020600181019190915555565b600060008051602061220b8339815191526109fb813361117a565b610758848461130b565b610a0f33826114b4565b50565b60006001600160a01b038216610a5e5760405162461bcd60e51b81526020600482015260116024820152707a65726f2062696e64206164647265737360781b60448201526064016107c6565b610a6833846114b4565b6040518381526001600160a01b0383169033907f6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c8889060200160405180910390a350600192915050565b610abc823383610f0f565b61082c82826114b4565b6000610ad28180610ad7565b905090565b6000828152600660205260408120610aef908361163b565b9392505050565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546106c790612079565b600060008051602061220b833981519152610b4b813361117a565b61075884846114b4565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610bda5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016107c6565b61077b8286868403610deb565b600033610758818585610fa1565b6000610c01813361117a565b610c1960008051602061220b83398151915284610af6565b610c355760405162461bcd60e51b81526004016107c6906120b4565b506001600160a01b03909116600090815260086020526040902060010155565b60008181526006602052604081206106b290611647565b600082815260056020526040902060010154610c88813361117a565b61081283836112e9565b600060008051602061220b833981519152610cad813361117a565b610cb7848461130b565b836001600160a01b0316857f05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d6185604051610cf391815260200190565b60405180910390a3506001949350505050565b6000610d12813361117a565b61082c82611651565b610d258282610af6565b61082c5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610d5d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610aef836001600160a01b038416611734565b60006001600160e01b03198216637965db0b60e01b14806106b257506301ffc9a760e01b6001600160e01b03198316146106b2565b6001600160a01b038316610e4d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107c6565b6001600160a01b038216610eae5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107c6565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610f9b5781811015610f8e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107c6565b610f9b8484848403610deb565b50505050565b6001600160a01b0383166110055760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107c6565b6001600160a01b0382166110675760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107c6565b611072838383611783565b6001600160a01b038316600090815260208190526040902054818110156110ea5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107c6565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906111219084906120ee565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161116d91815260200190565b60405180910390a3610f9b565b6111848282610af6565b61082c5761119c816001600160a01b0316601461181e565b6111a783602061181e565b6040516020016111b8929190612106565b60408051601f198184030181529082905262461bcd60e51b82526107c691600401611e7b565b6111e88282610d1b565b60008281526006602052604090206108129082610da1565b600081815260076020526040902054819060ff168061124957506000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460ff165b6112955760405162461bcd60e51b815260206004820152601b60248201527f5061757361626c65436f6e74726f6c3a206e6f7420706175736564000000000060448201526064016107c6565b60008281526007602052604090819020805460ff19169055517fd05bfc2250abb0f8fd265a54c53a24359c5484af63cad2e4ce87c78ab751395a906112dd9084815260200190565b60405180910390a15050565b6112f382826119ba565b60008281526006602052604090206108129082611a21565b6001600160a01b0382163014156113645760405162461bcd60e51b815260206004820152601c60248201527f666f72626964206d696e7420746f20616464726573732874686973290000000060448201526064016107c6565b7fb2a18ae5d0b623b41098012c516d0bf4bef38c068c9e397da870c290888b199960005260076020527f5696ae725ce2b6df49ae5fc2132a3b5bfbfa3f910a4f4ebf5d914369aee88e285460ff16156113ed5760405162461bcd60e51b815260206004820152600b60248201526a1b5a5b9d081c185d5cd95960aa1b60448201526064016107c6565b33600090815260086020526040902080548211156114435760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c881b585e08195e18d959591959606a1b60448201526064016107c6565b8181600201600082825461145791906120ee565b90915550506001810154600282015411156114aa5760405162461bcd60e51b81526020600482015260136024820152721b5a5b9d195c8818d85c08195e18d959591959606a1b60448201526064016107c6565b6108128383611a36565b6001600160a01b03821630141561150d5760405162461bcd60e51b815260206004820152601e60248201527f666f72626964206275726e2066726f6d2061646472657373287468697329000060448201526064016107c6565b7f62d52416825983abd68b16e092b60c2eac31fd673bcce92494e063af530d9c3060005260076020527f22c0851725d81d5a2873b6243c078a2bee0ad249f1327d73347baddfab2bafdf5460ff16156115965760405162461bcd60e51b815260206004820152600b60248201526a189d5c9b881c185d5cd95960aa1b60448201526064016107c6565b6115ae60008051602061220b83398151915233610af6565b156116315733600090815260086020526040902060028101548211156116165760405162461bcd60e51b815260206004820152601b60248201527f6d696e746572206275726e20616d6f756e74206578636565646564000000000060448201526064016107c6565b8181600201600082825461162a919061217b565b9091555050505b61082c8282611ac3565b6000610aef8383611c1d565b60006106b2825490565b600081815260076020526040902054819060ff1615801561169d57506000805260076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5460ff16155b6116e95760405162461bcd60e51b815260206004820152601760248201527f5061757361626c65436f6e74726f6c3a2070617573656400000000000000000060448201526064016107c6565b60008281526007602052604090819020805460ff19166001179055517f0cb09dc71d57eeec2046f6854976717e4874a3cf2d6ddeddde337e5b6de6ba31906112dd9084815260200190565b600081815260018301602052604081205461177b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b2565b5060006106b2565b7f38cbe5ebce66f5e289a042a8eda57d146aaab8a3f3a9637670043b23d481307060005260076020527fed3cf84bcbd51c215e74472d803ae179cc7a6cdc7f43fbb4dee24097246f8ede5460ff16156108125760405162461bcd60e51b815260206004820152601b60248201527f746f6b656e207472616e73666572207768696c6520706175736564000000000060448201526064016107c6565b6060600061182d836002612192565b6118389060026120ee565b67ffffffffffffffff811115611850576118506121b1565b6040519080825280601f01601f19166020018201604052801561187a576020820181803683370190505b509050600360fc1b81600081518110611895576118956121c7565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106118c4576118c46121c7565b60200101906001600160f81b031916908160001a90535060006118e8846002612192565b6118f39060016120ee565b90505b600181111561196b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611927576119276121c7565b1a60f81b82828151811061193d5761193d6121c7565b60200101906001600160f81b031916908160001a90535060049490941c93611964816121dd565b90506118f6565b508315610aef5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107c6565b6119c48282610af6565b1561082c5760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610aef836001600160a01b038416611c47565b7f00000000000000000000000000000000000000000052b7d2dcc80cd2e400000081611a6160025490565b611a6b91906120ee565b1115611ab95760405162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a206361702065786365656465640000000000000060448201526064016107c6565b61082c8282611d3a565b6001600160a01b038216611b235760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107c6565b611b2f82600083611783565b6001600160a01b03821660009081526020819052604090205481811015611ba35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107c6565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611bd290849061217b565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000826000018281548110611c3457611c346121c7565b9060005260206000200154905092915050565b60008181526001830160205260408120548015611d30576000611c6b60018361217b565b8554909150600090611c7f9060019061217b565b9050818114611ce4576000866000018281548110611c9f57611c9f6121c7565b9060005260206000200154905080876000018481548110611cc257611cc26121c7565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611cf557611cf56121f4565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106b2565b60009150506106b2565b6001600160a01b038216611d905760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107c6565b611d9c60008383611783565b8060026000828254611dae91906120ee565b90915550506001600160a01b03821660009081526020819052604081208054839290611ddb9084906120ee565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208284031215611e3757600080fd5b81356001600160e01b031981168114610aef57600080fd5b60005b83811015611e6a578181015183820152602001611e52565b83811115610f9b5750506000910152565b6020815260008251806020840152611e9a816040850160208701611e4f565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114611ec557600080fd5b919050565b60008060408385031215611edd57600080fd5b611ee683611eae565b946020939093013593505050565b600080600060608486031215611f0957600080fd5b611f1284611eae565b9250611f2060208501611eae565b9150604084013590509250925092565b600060208284031215611f4257600080fd5b5035919050565b60008060408385031215611f5c57600080fd5b82359150611f6c60208401611eae565b90509250929050565b600060208284031215611f8757600080fd5b610aef82611eae565b600080600060608486031215611fa557600080fd5b611fae84611eae565b92506020840135915060408401358015158114611fca57600080fd5b809150509250925092565b600080600060608486031215611fea57600080fd5b611ff384611eae565b95602085013595506040909401359392505050565b6000806040838503121561201b57600080fd5b50508035926020909101359150565b6000806040838503121561203d57600080fd5b61204683611eae565b9150611f6c60208401611eae565b60008060006060848603121561206957600080fd5b83359250611f2060208501611eae565b600181811c9082168061208d57607f821691505b602082108114156120ae57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600a90820152693737ba1036b4b73a32b960b11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115612101576121016120d8565b500190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161213e816017850160208801611e4f565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161216f816028840160208801611e4f565b01602801949350505050565b60008282101561218d5761218d6120d8565b500390565b60008160001904831182151516156121ac576121ac6120d8565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000816121ec576121ec6120d8565b506000190190565b634e487b7160e01b600052603160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220cc339a6941d06bc62d9fc1f8b87fe583b29c4485e2b35994fed501f5939dfbff64736f6c634300080a0033", + "storage": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000002", + "value": "0x000000000000000000000000000000000000000000000000000000e8d4a51000" + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000003", + "value": "0x55534420436f696e000000000000000000000000000000000000000000000010" + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "value": "0x5553444300000000000000000000000000000000000000000000000000000008" + }, + { + "key": "0x3195c024b2ddd6d9b8f6c836aa52f67fe69376c8903d009b80229b3ce4425f51", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "0x3b88b54959f4503ee0c9a3b506a4cab9144808a26ffb5738a7f73ebfb166a2d0", + "value": "0x000000000000000000000000d8e30f7bcb5211e591bbc463cdab0144e82dffe5" + }, + { + "key": "0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "0x97d7234dec31942b01cd5c0373e4c7aa3667f7ec548e576ecfeb56bf5a66b10f", + "value": "0x00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000" + }, + { + "key": "0x97d7234dec31942b01cd5c0373e4c7aa3667f7ec548e576ecfeb56bf5a66b110", + "value": "0x00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000" + }, + { + "key": "0x97d7234dec31942b01cd5c0373e4c7aa3667f7ec548e576ecfeb56bf5a66b111", + "value": "0x000000000000000000000000000000000000000000000000000000e8d4a51000" + }, + { + "key": "0xb222e2e0d7127c3b552e7babf201dc0c0ddbf11f45feed64faca085ed7c02150", + "value": "0x000000000000000000000000000000000000000000000000000000e8d4a51000" + }, + { + "key": "0xc23b71e4251b5d995f111edd75abbdd7391e77d1e4de9272a5a47a7938b2b1d9", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "0xe43357322becbe3f336cba61d5e956a3bffe95e162759d1e75ffd75e2a65207a", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "0xef04ca62072efdd23897c89e7c2bedf36c8b71841eecbd65f6065698ce50d45d", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + { + "key": "0xf1ca0f4808f7f0c52440675894727c9e66265266cd1e1f5015f8b745ca2de5f3", + "value": "0x000000000000000000000000d8e30f7bcb5211e591bbc463cdab0144e82dffe5" + }, + { + "key": "0xf525d2a6afdb1cc6438b5ed48a66f662a55cdd91eb97bed938a289bd1e6628eb", + "value": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + ] + }, + { + "address": "0x62d2f38dAA1153b381c6ed2A48e7f4673303ac9A", + "code": "608060405234801561001057600080fd5b50600436106100b45760003560e01c806372425d9d1161007157806372425d9d146101a657806386d516e8146101c4578063a8b0574e146101e2578063bce38bd714610200578063c3077fa914610230578063ee82ac5e14610262576100b4565b80630f28c97d146100b9578063252dba42146100d757806327e86d6e14610108578063399542e91461012657806342cbb15c146101585780634d2301cc14610176575b600080fd5b6100c1610292565b6040516100ce91906106a3565b60405180910390f35b6100f160048036038101906100ec91906109d2565b61029a565b6040516100ff929190610b65565b60405180910390f35b610110610423565b60405161011d9190610bae565b60405180910390f35b610140600480360381019061013b9190610c01565b610438565b60405161014f93929190610d6b565b60405180910390f35b610160610457565b60405161016d91906106a3565b60405180910390f35b610190600480360381019061018b9190610da9565b61045f565b60405161019d91906106a3565b60405180910390f35b6101ae610480565b6040516101bb91906106a3565b60405180910390f35b6101cc610488565b6040516101d991906106a3565b60405180910390f35b6101ea610490565b6040516101f79190610de5565b60405180910390f35b61021a60048036038101906102159190610c01565b610498565b6040516102279190610e00565b60405180910390f35b61024a600480360381019061024591906109d2565b610640565b60405161025993929190610d6b565b60405180910390f35b61027c60048036038101906102779190610e4e565b610663565b6040516102899190610bae565b60405180910390f35b600042905090565b60006060439150825167ffffffffffffffff8111156102bc576102bb6106e8565b5b6040519080825280602002602001820160405280156102ef57816020015b60608152602001906001900390816102da5790505b50905060005b835181101561041d5760008085838151811061031457610313610e7b565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1686848151811061034957610348610e7b565b5b6020026020010151602001516040516103629190610ee6565b6000604051808303816000865af19150503d806000811461039f576040519150601f19603f3d011682016040523d82523d6000602084013e6103a4565b606091505b5091509150816103e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e090610f5a565b60405180910390fd5b808484815181106103fd576103fc610e7b565b5b60200260200101819052505050808061041590610fa9565b9150506102f5565b50915091565b60006001436104329190610ff2565b40905090565b60008060604392504340915061044e8585610498565b90509250925092565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b600045905090565b600041905090565b6060815167ffffffffffffffff8111156104b5576104b46106e8565b5b6040519080825280602002602001820160405280156104ee57816020015b6104db61066e565b8152602001906001900390816104d35790505b50905060005b82518110156106395760008084838151811061051357610512610e7b565b5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061054857610547610e7b565b5b6020026020010151602001516040516105619190610ee6565b6000604051808303816000865af19150503d806000811461059e576040519150601f19603f3d011682016040523d82523d6000602084013e6105a3565b606091505b509150915085156105ef57816105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590611098565b60405180910390fd5b5b604051806040016040528083151581526020018281525084848151811061061957610618610e7b565b5b60200260200101819052505050808061063190610fa9565b9150506104f4565b5092915050565b6000806060610650600185610438565b8093508194508295505050509193909250565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b61069d8161068a565b82525050565b60006020820190506106b86000830184610694565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610720826106d7565b810181811067ffffffffffffffff8211171561073f5761073e6106e8565b5b80604052505050565b60006107526106be565b905061075e8282610717565b919050565b600067ffffffffffffffff82111561077e5761077d6106e8565b5b602082029050602081019050919050565b600080fd5b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107c98261079e565b9050919050565b6107d9816107be565b81146107e457600080fd5b50565b6000813590506107f6816107d0565b92915050565b600080fd5b600067ffffffffffffffff82111561081c5761081b6106e8565b5b610825826106d7565b9050602081019050919050565b82818337600083830152505050565b600061085461084f84610801565b610748565b9050828152602081018484840111156108705761086f6107fc565b5b61087b848285610832565b509392505050565b600082601f830112610898576108976106d2565b5b81356108a8848260208601610841565b91505092915050565b6000604082840312156108c7576108c6610794565b5b6108d16040610748565b905060006108e1848285016107e7565b600083015250602082013567ffffffffffffffff81111561090557610904610799565b5b61091184828501610883565b60208301525092915050565b600061093061092b84610763565b610748565b905080838252602082019050602084028301858111156109535761095261078f565b5b835b8181101561099a57803567ffffffffffffffff811115610978576109776106d2565b5b80860161098589826108b1565b85526020850194505050602081019050610955565b5050509392505050565b600082601f8301126109b9576109b86106d2565b5b81356109c984826020860161091d565b91505092915050565b6000602082840312156109e8576109e76106c8565b5b600082013567ffffffffffffffff811115610a0657610a056106cd565b5b610a12848285016109a4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a81578082015181840152602081019050610a66565b83811115610a90576000848401525b50505050565b6000610aa182610a47565b610aab8185610a52565b9350610abb818560208601610a63565b610ac4816106d7565b840191505092915050565b6000610adb8383610a96565b905092915050565b6000602082019050919050565b6000610afb82610a1b565b610b058185610a26565b935083602082028501610b1785610a37565b8060005b85811015610b535784840389528151610b348582610acf565b9450610b3f83610ae3565b925060208a01995050600181019050610b1b565b50829750879550505050505092915050565b6000604082019050610b7a6000830185610694565b8181036020830152610b8c8184610af0565b90509392505050565b6000819050919050565b610ba881610b95565b82525050565b6000602082019050610bc36000830184610b9f565b92915050565b60008115159050919050565b610bde81610bc9565b8114610be957600080fd5b50565b600081359050610bfb81610bd5565b92915050565b60008060408385031215610c1857610c176106c8565b5b6000610c2685828601610bec565b925050602083013567ffffffffffffffff811115610c4757610c466106cd565b5b610c53858286016109a4565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610c9281610bc9565b82525050565b6000604083016000830151610cb06000860182610c89565b5060208301518482036020860152610cc88282610a96565b9150508091505092915050565b6000610ce18383610c98565b905092915050565b6000602082019050919050565b6000610d0182610c5d565b610d0b8185610c68565b935083602082028501610d1d85610c79565b8060005b85811015610d595784840389528151610d3a8582610cd5565b9450610d4583610ce9565b925060208a01995050600181019050610d21565b50829750879550505050505092915050565b6000606082019050610d806000830186610694565b610d8d6020830185610b9f565b8181036040830152610d9f8184610cf6565b9050949350505050565b600060208284031215610dbf57610dbe6106c8565b5b6000610dcd848285016107e7565b91505092915050565b610ddf816107be565b82525050565b6000602082019050610dfa6000830184610dd6565b92915050565b60006020820190508181036000830152610e1a8184610cf6565b905092915050565b610e2b8161068a565b8114610e3657600080fd5b50565b600081359050610e4881610e22565b92915050565b600060208284031215610e6457610e636106c8565b5b6000610e7284828501610e39565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b6000610ec082610a47565b610eca8185610eaa565b9350610eda818560208601610a63565b80840191505092915050565b6000610ef28284610eb5565b915081905092915050565b600082825260208201905092915050565b7f4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564600082015250565b6000610f44602083610efd565b9150610f4f82610f0e565b602082019050919050565b60006020820190508181036000830152610f7381610f37565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610fb48261068a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610fe757610fe6610f7a565b5b600182019050919050565b6000610ffd8261068a565b91506110088361068a565b92508282101561101b5761101a610f7a565b5b828203905092915050565b7f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611082602183610efd565b915061108d82611026565b604082019050919050565b600060208201905081810360008301526110b181611075565b905091905056fea2646970667358221220abd9cadc14e2f74213535fd9ad887c7bdc5f4ea6aa73d9aedcb1f0513098ea8e64736f6c63430008090033", + "storage": [] + }, + { + "address": "0x70C79B608aBBC502c2F61f38E04190fB407BefCF", + "code": "6080604052600436106100a05760003560e01c8063313ce56711610064578063313ce567146101ad57806370a08231146101d857806395d89b4114610215578063a9059cbb14610240578063d0e30db01461027d578063dd62ed3e14610287576100af565b806306fdde03146100b4578063095ea7b3146100df57806318160ddd1461011c57806323b872dd146101475780632e1a7d4d14610184576100af565b366100af576100ad6102c4565b005b600080fd5b3480156100c057600080fd5b506100c961036a565b6040516100d69190610bbe565b60405180910390f35b3480156100eb57600080fd5b5061010660048036038101906101019190610c79565b6103f8565b6040516101139190610cd4565b60405180910390f35b34801561012857600080fd5b506101316104ea565b60405161013e9190610cfe565b60405180910390f35b34801561015357600080fd5b5061016e60048036038101906101699190610d19565b6104f2565b60405161017b9190610cd4565b60405180910390f35b34801561019057600080fd5b506101ab60048036038101906101a69190610d6c565b6108c2565b005b3480156101b957600080fd5b506101c2610a32565b6040516101cf9190610db5565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa9190610dd0565b610a45565b60405161020c9190610cfe565b60405180910390f35b34801561022157600080fd5b5061022a610a5d565b6040516102379190610bbe565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190610c79565b610aeb565b6040516102749190610cd4565b60405180910390f35b6102856102c4565b005b34801561029357600080fd5b506102ae60048036038101906102a99190610dfd565b610b00565b6040516102bb9190610cfe565b60405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103139190610e6c565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040516103609190610cfe565b60405180910390a2565b6000805461037790610ef1565b80601f01602080910402602001604051908101604052809291908181526020018280546103a390610ef1565b80156103f05780601f106103c5576101008083540402835291602001916103f0565b820191906000526020600020905b8154815290600101906020018083116103d357829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104d89190610cfe565b60405180910390a36001905092915050565b600047905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d90610f6f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561064e57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156107a65781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070990610fdb565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461079e9190610ffb565b925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107f59190610ffb565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461084b9190610e6c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108af9190610cfe565b60405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90610f6f565b60405180910390fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109939190610ffb565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156109e0573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b6582604051610a279190610cfe565b60405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054610a6a90610ef1565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9690610ef1565b8015610ae35780601f10610ab857610100808354040283529160200191610ae3565b820191906000526020600020905b815481529060010190602001808311610ac657829003601f168201915b505050505081565b6000610af83384846104f2565b905092915050565b6004602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b5f578082015181840152602081019050610b44565b83811115610b6e576000848401525b50505050565b6000601f19601f8301169050919050565b6000610b9082610b25565b610b9a8185610b30565b9350610baa818560208601610b41565b610bb381610b74565b840191505092915050565b60006020820190508181036000830152610bd88184610b85565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c1082610be5565b9050919050565b610c2081610c05565b8114610c2b57600080fd5b50565b600081359050610c3d81610c17565b92915050565b6000819050919050565b610c5681610c43565b8114610c6157600080fd5b50565b600081359050610c7381610c4d565b92915050565b60008060408385031215610c9057610c8f610be0565b5b6000610c9e85828601610c2e565b9250506020610caf85828601610c64565b9150509250929050565b60008115159050919050565b610cce81610cb9565b82525050565b6000602082019050610ce96000830184610cc5565b92915050565b610cf881610c43565b82525050565b6000602082019050610d136000830184610cef565b92915050565b600080600060608486031215610d3257610d31610be0565b5b6000610d4086828701610c2e565b9350506020610d5186828701610c2e565b9250506040610d6286828701610c64565b9150509250925092565b600060208284031215610d8257610d81610be0565b5b6000610d9084828501610c64565b91505092915050565b600060ff82169050919050565b610daf81610d99565b82525050565b6000602082019050610dca6000830184610da6565b92915050565b600060208284031215610de657610de5610be0565b5b6000610df484828501610c2e565b91505092915050565b60008060408385031215610e1457610e13610be0565b5b6000610e2285828601610c2e565b9250506020610e3385828601610c2e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e7782610c43565b9150610e8283610c43565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610eb757610eb6610e3d565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610f0957607f821691505b60208210811415610f1d57610f1c610ec2565b5b50919050565b7f574b4156413a20616d6f756e74203c2062616c616e6365000000000000000000600082015250565b6000610f59601783610b30565b9150610f6482610f23565b602082019050919050565b60006020820190508181036000830152610f8881610f4c565b9050919050565b7f574b4156413a20616c6c6f77616e6365203c20616d6f756e7400000000000000600082015250565b6000610fc5601983610b30565b9150610fd082610f8f565b602082019050919050565b60006020820190508181036000830152610ff481610fb8565b9050919050565b600061100682610c43565b915061101183610c43565b92508282101561102457611023610e3d565b5b82820390509291505056fea26469706673582212200c0f9b15327ac79d31169413e421bd27d39e9809f7fd940e8929ed9685f5fa4564736f6c63430008090033", + "storage": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000000", + "value": "0x57726170706564204b6176610000000000000000000000000000000000000018" + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000001", + "value": "0x574b41564100000000000000000000000000000000000000000000000000000a" + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000002", + "value": "0x0000000000000000000000000000000000000000000000000000000000000012" + } + ] + } + ], "params": { "evm_denom": "akava", "enable_create": true, @@ -1734,8 +2162,15 @@ "evmutil": { "accounts": [], "params": { - "enabled_conversion_pairs": [], - "allowed_cosmos_denoms": [] + "allowed_cosmos_denoms": [ + { + "cosmos_denom": "hard", + "name": "HARD", + "symbol": "HARD", + "decimals": 6 + } + ], + "enabled_conversion_pairs": [] } }, "feemarket": { @@ -1822,7 +2257,9 @@ "votes": [], "proposals": [], "deposit_params": null, - "voting_params": null, + "voting_params": { + "voting_period": "604800s" + }, "tally_params": null, "params": { "min_deposit": [ @@ -1832,7 +2269,7 @@ } ], "max_deposit_period": "172800s", - "voting_period": "172800s", + "voting_period": "604800s", "quorum": "0.334000000000000000", "threshold": "0.500000000000000000", "veto_threshold": "0.334000000000000000", @@ -1844,7 +2281,296 @@ }, "hard": { "params": { - "money_markets": [], + "money_markets": [ + { + "denom": "btcb", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "1000000000.000000000000000000", + "loan_to_value": "0.500000000000000000" + }, + "spot_market_id": "btc:usd:30", + "conversion_factor": "100000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "erc20/axelar/usdc", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "usdc:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "erc20/axelar/wbtc", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "btc:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "erc20/multichain/wbtc", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "btc:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "erc20/multichain/usdc", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "usdc:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "erc20/multichain/usdt", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "usdt:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "bnb", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "250000000000.000000000000000000", + "loan_to_value": "0.500000000000000000" + }, + "spot_market_id": "bnb:usd:30", + "conversion_factor": "100000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "xrpb", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "10000000000000.000000000000000000", + "loan_to_value": "0.500000000000000000" + }, + "spot_market_id": "xrp:usd:30", + "conversion_factor": "100000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "busd", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "50000000000000.000000000000000000", + "loan_to_value": "0.500000000000000000" + }, + "spot_market_id": "busd:usd:30", + "conversion_factor": "100000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "usdx", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.250000000000000000" + }, + "spot_market_id": "usdx:usd:720", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "ukava", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "500000000000.000000000000000000", + "loan_to_value": "0.500000000000000000" + }, + "spot_market_id": "kava:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "hard", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "hard:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "200000000000.000000000000000000", + "loan_to_value": "0.500000000000000000" + }, + "spot_market_id": "atom:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "ibc/799FDD409719A1122586A629AE8FCA17380351A51C1F47A80A1B8E7F2A491098", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "akt:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "erc20/tether/usdt", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "usdt:usd:30", + "conversion_factor": "1000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + }, + { + "denom": "erc20/bitgo/wbtc", + "borrow_limit": { + "has_max_limit": true, + "maximum_limit": "0.000000000000000000", + "loan_to_value": "0.000000000000000000" + }, + "spot_market_id": "btc:usd:30", + "conversion_factor": "100000000", + "interest_rate_model": { + "base_rate_apy": "0.000000000000000000", + "base_multiplier": "0.050000000000000000", + "kink": "0.800000000000000000", + "jump_multiplier": "5.000000000000000000" + }, + "reserve_factor": "0.025000000000000000", + "keeper_reward_percentage": "0.020000000000000000" + } + ], "minimum_borrow_usd_value": "10.000000000000000000" }, "previous_accumulation_times": [], @@ -1862,8 +2588,7 @@ "params": { "allowed_clients": [ "06-solomachine", - "07-tendermint", - "09-localhost" + "07-tendermint" ] }, "create_localhost": false, @@ -1891,16 +2616,414 @@ "incentive": { "params": { "usdx_minting_reward_periods": [], - "hard_supply_reward_periods": [], + "hard_supply_reward_periods": [ + { + "active": true, + "collateral_type": "usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2024-10-16T14:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "478377" + } + ] + }, + { + "active": true, + "collateral_type": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", + "start": "2022-11-11T15:00:00Z", + "end": "2024-10-16T14:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "9567" + } + ] + }, + { + "active": true, + "collateral_type": "hard", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "4692" + } + ] + }, + { + "active": true, + "collateral_type": "bnb", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "3049" + } + ] + }, + { + "active": true, + "collateral_type": "busd", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "938" + } + ] + }, + { + "active": true, + "collateral_type": "btcb", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "4692" + } + ] + }, + { + "active": true, + "collateral_type": "xrpb", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "2580" + } + ] + }, + { + "active": true, + "collateral_type": "ukava", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "938" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/axelar/usdc", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "989" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/axelar/wbtc", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "787" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/multichain/usdc", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "787" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/multichain/usdt", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "787" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/multichain/wbtc", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "787" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/tether/usdt", + "start": "2023-06-21T15:00:00Z", + "end": "2024-06-21T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "787" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/bitgo/wbtc", + "start": "2022-11-11T15:00:00Z", + "end": "2025-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "787" + } + ] + } + ], "hard_borrow_reward_periods": [], "delegator_reward_periods": [], - "swap_reward_periods": [], - "claim_multipliers": [], - "claim_end": "1970-01-01T00:00:01Z", "savings_reward_periods": [], - "earn_reward_periods": [] + "swap_reward_periods": [ + { + "active": true, + "collateral_type": "bnb:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "2017" + } + ] + }, + { + "active": true, + "collateral_type": "btcb:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "2459" + } + ] + }, + { + "active": true, + "collateral_type": "busd:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "9217" + } + ] + }, + { + "active": true, + "collateral_type": "hard:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "1586" + } + ] + }, + { + "active": true, + "collateral_type": "ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "422" + } + ] + }, + { + "active": true, + "collateral_type": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "1291" + } + ] + }, + { + "active": true, + "collateral_type": "ibc/799FDD409719A1122586A629AE8FCA17380351A51C1F47A80A1B8E7F2A491098:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "242" + } + ] + }, + { + "active": true, + "collateral_type": "swp:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "649" + } + ] + }, + { + "active": true, + "collateral_type": "ukava:usdx", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "3765" + } + ] + }, + { + "active": true, + "collateral_type": "usdx:xrpb", + "start": "2022-11-11T15:00:00Z", + "end": "2025-08-29T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "1187" + } + ] + } + ], + "earn_reward_periods": [ + { + "active": true, + "collateral_type": "bkava", + "start": "2022-10-26T15:00:00Z", + "end": "2024-10-26T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "31891" + } + ] + }, + { + "active": true, + "collateral_type": "bnb", + "start": "2022-12-29T23:00:00Z", + "end": "2024-12-29T23:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "5505" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/multichain/usdc", + "start": "2022-10-26T15:00:00Z", + "end": "2024-10-26T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "5505" + } + ] + }, + { + "active": true, + "collateral_type": "erc20/multichain/usdt", + "start": "2022-11-11T15:00:00Z", + "end": "2024-11-11T15:00:00Z", + "rewards_per_second": [ + { + "denom": "ukava", + "amount": "5505" + } + ] + } + ], + "claim_multipliers": [ + { + "denom": "hard", + "multipliers": [ + { + "name": "large", + "factor": "1.000000000000000000" + } + ] + }, + { + "denom": "ibc/799FDD409719A1122586A629AE8FCA17380351A51C1F47A80A1B8E7F2A491098", + "multipliers": [ + { + "name": "large", + "factor": "1.000000000000000000" + } + ] + }, + { + "denom": "ukava", + "multipliers": [ + { + "name": "large", + "months_lockup": "12", + "factor": "1.000000000000000000" + }, + { + "name": "small", + "months_lockup": "1", + "factor": "0.200000000000000000" + } + ] + }, + { + "denom": "swp", + "multipliers": [ + { + "name": "large", + "factor": "1.000000000000000000" + } + ] + } + ], + "claim_end": "2025-01-01T00:00:00Z" }, - "usdx_reward_state": { + "delegator_reward_state": { + "accumulation_times": [], + "multi_reward_indexes": [] + }, + "hard_borrow_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] }, @@ -1908,21 +3031,21 @@ "accumulation_times": [], "multi_reward_indexes": [] }, - "hard_borrow_reward_state": { + "swap_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] }, - "delegator_reward_state": { + "usdx_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] }, - "swap_reward_state": { + "earn_reward_state": { "accumulation_times": [], "multi_reward_indexes": [] }, - "usdx_minting_claims": [], - "hard_liquidity_provider_claims": [], "delegator_claims": [], + "hard_liquidity_provider_claims": [], + "usdx_minting_claims": [], "swap_claims": [ { "base_claim": { @@ -1957,15 +3080,6 @@ ] } ], - "savings_reward_state": { - "accumulation_times": [], - "multi_reward_indexes": [] - }, - "savings_claims": [], - "earn_reward_state": { - "accumulation_times": [], - "multi_reward_indexes": [] - }, "earn_claims": [] }, "issuance": { @@ -2098,12 +3212,7 @@ "kavadist": { "params": { "active": false, - "periods": [], - "infrastructure_params": { - "infrastructure_periods": [], - "core_rewards": [], - "partner_rewards": [] - } + "periods": [] }, "previous_block_time": "1970-01-01T00:00:01Z" }, @@ -2117,8 +3226,8 @@ "params": { "mint_denom": "ukava", "inflation_rate_change": "0.130000000000000000", - "inflation_max": "0.200000000000000000", - "inflation_min": "0.070000000000000000", + "inflation_max": "0.750000000000000000", + "inflation_min": "0.750000000000000000", "goal_bonded": "0.670000000000000000", "blocks_per_year": "6311520" } @@ -2130,6 +3239,10 @@ "in_flight_packets": {} }, "params": null, + "precisebank": { + "balances": [], + "remainder": "0" + }, "pricefeed": { "params": { "markets": [ @@ -2606,9 +3719,17 @@ "router": {}, "savings": { "params": { - "supported_denoms": [] - }, - "deposits": [] + "supported_denoms": [ + "usdx", + "ukava", + "hard", + "swp", + "bkava", + "bkava-kavavaloper1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxrnrlwp", + "bkava-kavavaloper1w66m9hdzwgd6uc8g93zqkcumgwzrpcw958sh3s", + "erc20/multichain/usdc" + ] + } }, "slashing": { "params": { @@ -2640,11 +3761,126 @@ }, "swap": { "params": { - "allowed_pools": [], - "swap_fee": "0.000000000000000000" + "allowed_pools": [ + { + "token_a": "ukava", + "token_b": "usdx" + }, + { + "token_a": "hard", + "token_b": "usdx" + }, + { + "token_a": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", + "token_b": "usdx" + }, + { + "token_a": "ibc/4129EB76C01ED14052054BB975DE0C6C5010E12FFD9253C20C58BCD828BEE9A5", + "token_b": "usdx" + }, + { + "token_a": "ibc/C72DE26FFF16DE62BE2784E12229BDF5F4465CE8B10530426D6DB53255FF01B2", + "token_b": "usdx" + }, + { + "token_a": "ibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518", + "token_b": "usdx" + }, + { + "token_a": "swp", + "token_b": "usdx" + }, + { + "token_a": "bnb", + "token_b": "usdx" + }, + { + "token_a": "btcb", + "token_b": "usdx" + }, + { + "token_a": "busd", + "token_b": "usdx" + }, + { + "token_a": "usdx", + "token_b": "xrpb" + } + ], + "swap_fee": "0.001500000000000000" }, - "pool_records": [], - "share_records": [] + "pool_records": [ + { + "pool_id": "btcb:usdx", + "reserves_a": { + "amount": "200000000", + "denom": "btcb" + }, + "reserves_b": { + "amount": "100000000000", + "denom": "usdx" + }, + "total_shares": "4472135954" + }, + { + "pool_id": "hard:usdx", + "reserves_a": { + "amount": "1000000000", + "denom": "hard" + }, + "reserves_b": { + "amount": "1000000000", + "denom": "usdx" + }, + "total_shares": "1000000000" + }, + { + "pool_id": "swp:usdx", + "reserves_a": { + "amount": "5000000000", + "denom": "swp" + }, + "reserves_b": { + "amount": "1000000000", + "denom": "usdx" + }, + "total_shares": "2236067977" + }, + { + "pool_id": "ukava:usdx", + "reserves_a": { + "amount": "5000000000", + "denom": "ukava" + }, + "reserves_b": { + "amount": "1000000000", + "denom": "usdx" + }, + "total_shares": "2236067977" + } + ], + "share_records": [ + { + "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", + "pool_id": "btcb:usdx", + "shares_owned": "4472135954" + }, + { + "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", + "pool_id": "hard:usdx", + "shares_owned": "1000000000" + }, + { + "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", + "pool_id": "swp:usdx", + "shares_owned": "2236067977" + }, + { + "depositor": "kava173w2zz287s36ewnnkf4mjansnthnnsz7rtrxqc", + "pool_id": "ukava:usdx", + "shares_owned": "2236067977" + } + ] }, "transfer": { "port_id": "transfer", From aa7263dc0732a9e8bcc598556c5b132c49a9cb31 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 16:55:26 -0400 Subject: [PATCH 35/52] fix: update comments --- .github/workflows/cd-protonet.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index a677fb9661..54d60cf64e 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -11,10 +11,11 @@ on: jobs: # in order: # enter standby (prevents autoscaling group from killing node during deploy) - # stop kava - # take ebs + zfs snapshots + # stop doctor and kava # download updated binary and genesis - # reset application database state (only done on internal testnet) + # reset application database state + # start kava and doctor + # enter inService reset-chain-to-zero-state: # only start cd pipeline if last ci run was successful # if: ${{ github.event.workflow_run.conclusion == 'success' }} @@ -23,7 +24,7 @@ jobs: aws-region: us-east-1 chain-tag-name: ChainId chain-id: proto_2221-17000 - auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node #,kava-protonet-iavl-v1-rpc-api-node + auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update playbook-name: reset-chain.yml playbook-infrastructure-branch: shef-protonet-validator-network-ephemeral @@ -41,12 +42,13 @@ jobs: kava_version_filepath: ./ci/env/kava-protonet/KAVA.VERSION secrets: inherit needs: [reset-chain-to-zero-state] + post-pipeline-metrics: uses: ./.github/workflows/metric-pipeline.yml if: always() # always run so we metric failures and successes with: aws-region: us-east-1 - metric-name: kava.deploys.testnet.proto + metric-name: kava.deploys.protonet.proto namespace: Kava/ContinuousDeployment secrets: inherit needs: [seed-chain-state] \ No newline at end of file From 60765b74ad62e26c15318cd6fab7ee3b2c0e6413 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 16:55:32 -0400 Subject: [PATCH 36/52] fix: update comments --- .github/workflows/cd-reset-protonet.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index ba9cba1557..334a7f8bcc 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -1,4 +1,4 @@ -name: Reset Internal Testnet +name: Reset Protonet on: workflow_call: @@ -36,10 +36,11 @@ on: # in order: # enter standby (prevents autoscaling group from killing node during deploy) -# stop kava +# stop doctor and kava # download updated binary and genesis -# reset application database state (only done on internal testnet) - +# reset application database state +# start kava and doctor +# enter inService jobs: place-chain-nodes-on-standby: runs-on: ubuntu-latest From 2d42ed18334c6bfa1c4510a08cdc087ed83b0501 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 16:55:56 -0400 Subject: [PATCH 37/52] fix: add env for exit-standby-all-chain-nodes --- .github/workflows/cd-start-chain.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/cd-start-chain.yml b/.github/workflows/cd-start-chain.yml index e4b6e168a5..4e7184ba40 100644 --- a/.github/workflows/cd-start-chain.yml +++ b/.github/workflows/cd-start-chain.yml @@ -80,3 +80,9 @@ jobs: PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} - name: bring the chain online run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh + env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + CHAIN_ID: ${{ inputs.chain-id }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} From d204d476f2bd034c0d0ae33b38f3b3e6eabc6744 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 16:56:04 -0400 Subject: [PATCH 38/52] fix: remove unneeded file --- .github/workflows/cd-start-protonet-chain.yml | 90 ------------------- 1 file changed, 90 deletions(-) delete mode 100644 .github/workflows/cd-start-protonet-chain.yml diff --git a/.github/workflows/cd-start-protonet-chain.yml b/.github/workflows/cd-start-protonet-chain.yml deleted file mode 100644 index 4e38de1451..0000000000 --- a/.github/workflows/cd-start-protonet-chain.yml +++ /dev/null @@ -1,90 +0,0 @@ -name: Start Chain - -on: - workflow_call: - inputs: - auto_scaling_group_names: - required: true - type: string - description: 'Comma-separated list of auto-scaling group names' - chain-tag-name: - required: false - type: string - default: 'KavaChainId' - chain-id: - required: true - type: string - aws-region: - required: true - type: string - ssm-document-name: - required: true - type: string - playbook-name: - required: true - type: string - playbook-infrastructure-branch: - required: true - type: string - secrets: - CI_AWS_KEY_ID: - required: true - CI_AWS_KEY_SECRET: - required: true - KAVA_PRIVATE_GITHUB_ACCESS_TOKEN: - required: true - -jobs: - # start kava, allow nodes to start processing requests from users once they are synced to live - serve-traffic: - runs-on: ubuntu-latest - steps: - - name: checkout repo from current commit - uses: actions/checkout@v4 - - name: take the chain offline - run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh - env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} - CHAIN_ID: ${{ inputs.chain-id }} - AWS_REGION: ${{ inputs.aws-region }} - AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} - - name: checkout infrastructure repo - uses: actions/checkout@v4 - with: - repository: Kava-Labs/infrastructure - token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} - path: infrastructure - ref: master - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version-file: go.mod - - name: build kava node updater - run: cd infrastructure/cli/kava-node-updater && make install && cd ../../../ - - name: run start-chain playbook on all chain nodes - run: | - IFS=',' read -r -a auto_scaling_group_names <<< "$AUTO_SCALING_GROUP_NAMES" - for auto_scaling_group_name in "${auto_scaling_group_names[@]}"; do - kava-node-updater \ - --debug \ - --max-retries=2 \ - --aws-ssm-document-name="$SSM_DOCUMENT_NAME" \ - --infrastructure-git-pointer="$PLAYBOOK_INFRASTRUCTURE_BRANCH" \ - --update-playbook-filename="$PLAYBOOK_NAME" \ - --autoscaling-group-name="$auto_scaling_group_name" \ - --max-upgrade-batch-size=0 \ - --node-types="" \ - --wait-for-node-sync-after-upgrade=true - done - env: - SSM_DOCUMENT_NAME: ${{ inputs.ssm-document-name }} - PLAYBOOK_NAME: ${{ inputs.playbook-name }} - AUTO_SCALING_GROUP_NAMES: ${{ inputs.auto_scaling_group_names }} - AWS_REGION: ${{ inputs.aws-region }} - AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} - AWS_SDK_LOAD_CONFIG: 1 - PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} - - name: bring the chain online - run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh From 70c717036f2316174f9639b08368db7f449c8bc5 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 16:56:21 -0400 Subject: [PATCH 39/52] fix: put back to 6.5 secs between blocks --- .github/scripts/seed-protonet.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/seed-protonet.sh b/.github/scripts/seed-protonet.sh index 29b6c3b153..4009c3e3e7 100755 --- a/.github/scripts/seed-protonet.sh +++ b/.github/scripts/seed-protonet.sh @@ -7,7 +7,7 @@ set -ex # broadcast mode of `block` in order to # minimize the chance tx's fail due to an # account sequence number mismatch -AVG_SECONDS_BETWEEN_BLOCKS=10 +AVG_SECONDS_BETWEEN_BLOCKS=6.5 # configure kava binary to talk to the desired chain endpoint kava config node "${CHAIN_API_URL}" From fa15519470558d18ee73b8a8cb92fe9b5807284c Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 23 Sep 2024 17:40:22 -0400 Subject: [PATCH 40/52] fix: put back to master and only run on merging into master --- .github/workflows/cd-protonet.yml | 16 +++++++--------- .github/workflows/cd-reset-protonet.yml | 2 +- ci/env/kava-protonet/KAVA.VERSION | 2 +- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 54d60cf64e..59ec808194 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -1,12 +1,10 @@ name: Continuous Deployment (Protonet) -## run after every successful CI job of new commits to the master branch -#on: -# workflow_run: -# workflows: [Continuous Integration (Kava Master)] -# types: -# - completed +# run after every successful CI job of new commits to the master branch on: - push: + workflow_run: + workflows: [Continuous Integration (Kava Master)] + types: + - completed jobs: # in order: @@ -18,7 +16,7 @@ jobs: # enter inService reset-chain-to-zero-state: # only start cd pipeline if last ci run was successful -# if: ${{ github.event.workflow_run.conclusion == 'success' }} + if: ${{ github.event.workflow_run.conclusion == 'success' }} uses: ./.github/workflows/cd-reset-protonet.yml with: aws-region: us-east-1 @@ -27,7 +25,7 @@ jobs: auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update playbook-name: reset-chain.yml - playbook-infrastructure-branch: shef-protonet-validator-network-ephemeral + playbook-infrastructure-branch: master secrets: inherit # setup test and development accounts and balances, deploy contracts by calling the chain's api diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index 334a7f8bcc..cd22e18a01 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -61,7 +61,7 @@ jobs: repository: Kava-Labs/infrastructure token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} path: infrastructure - ref: shef-protonet-validator-network-ephemeral + ref: master - name: Set up Go uses: actions/setup-go@v4 with: diff --git a/ci/env/kava-protonet/KAVA.VERSION b/ci/env/kava-protonet/KAVA.VERSION index e170538a0e..8b25206ff9 100644 --- a/ci/env/kava-protonet/KAVA.VERSION +++ b/ci/env/kava-protonet/KAVA.VERSION @@ -1 +1 @@ -shef-protonet-validator-network-ci +master \ No newline at end of file From 230c39860fbecfccf0efee34e7fce9157541d526 Mon Sep 17 00:00:00 2001 From: Luke Bayas Date: Mon, 23 Sep 2024 21:32:42 -0400 Subject: [PATCH 41/52] update README for kava-protonet --- ci/env/kava-protonet/README.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/ci/env/kava-protonet/README.md b/ci/env/kava-protonet/README.md index 695206e995..6a4e62316b 100644 --- a/ci/env/kava-protonet/README.md +++ b/ci/env/kava-protonet/README.md @@ -1,11 +1,5 @@ Genesis Updates =============== -- Added the God Committee section to the `app_state.committee.committees` section -- Added dev wallet `kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq` to `app_state.auth.accounts` for genesis account -- Added dev wallet balances to `app_state.bank.balances` to enable this account to fund various other accounts -- Updated `app_state.issuance.params` with different kava assets that will be needed in `seed-protonet.sh` script - -Summary -======= -- We decided to move critical data sections into the genesis.json file to ensure the node that starts up has all relevant state it needs BEFORE we execute any scripts to manipulate state. -- The genesis.json contains the initial dev wallet, genesis account and associated balances to said account which is then used to pre-fund various ancillary kava balances (ex: community) to serve whatever testing purpose to protonet +- The genesis.json account in this directory mimics the values that are present in `kava-internal-testnet` with the exception of `chain-id` and `validator` adjustments +- This file represents the initial state of the node when the validator node starts up in kava with requisite accounts, balances, permissions, etc +- These changes are needed for the `seed-protonet.sh` script to successfully execute in GitHub actions when changes are made to this branch, to reset initial node state From 01e65494ea753ee7dc52ebd94cd2bbbc01db30bf Mon Sep 17 00:00:00 2001 From: Luke Bayas Date: Tue, 24 Sep 2024 12:08:29 -0400 Subject: [PATCH 42/52] mimic what validate-internal-testnet-genesis in validate-protonet-genesis --- .github/workflows/ci-default.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci-default.yml b/.github/workflows/ci-default.yml index 3bfac82330..8ea882a7df 100644 --- a/.github/workflows/ci-default.yml +++ b/.github/workflows/ci-default.yml @@ -139,11 +139,21 @@ jobs: steps: - name: checkout repo from current commit uses: actions/checkout@v4 + - name: save version of kava that will be deployed if this pr is merged + id: kava-version + run: | + echo "KAVA_VERSION=$(cat ./ci/env/kava-internal-testnet/KAVA.VERSION)" >> $GITHUB_OUTPUT + - name: checkout version of kava that will be deployed if this pr is merged + uses: actions/checkout@v4 + with: + ref: ${{ steps.kava-version.outputs.KAVA_VERSION }} - name: Set up Go uses: actions/setup-go@v4 with: go-version-file: go.mod - name: build kava cli run: make install + - name: checkout repo from current commit to validate current branch's genesis + uses: actions/checkout@v4 - name: validate protonet genesis run: kava validate-genesis ci/env/kava-protonet/genesis.json From 1e01e108ffe0ea61b2ac4cf3bb6dd7127b2956b8 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Tue, 24 Sep 2024 14:08:54 -0400 Subject: [PATCH 43/52] fix: remove dup --- ci/env/kava-protonet/genesis.json | 69 ------------------------------- 1 file changed, 69 deletions(-) diff --git a/ci/env/kava-protonet/genesis.json b/ci/env/kava-protonet/genesis.json index 7b94e39fbd..a3e61cb7c2 100644 --- a/ci/env/kava-protonet/genesis.json +++ b/ci/env/kava-protonet/genesis.json @@ -561,75 +561,6 @@ } ] }, - { - "address": "kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq", - "coins": [ - { - "denom": "bnb", - "amount": "500000000" - }, - { - "denom": "btcb", - "amount": "200000000" - }, - { - "denom": "busd", - "amount": "1000000000000000" - }, - { - "denom": "erc20/axelar/eth", - "amount": "1000000000000000000" - }, - { - "denom": "erc20/axelar/usdc", - "amount": "10000000000" - }, - { - "denom": "erc20/axelar/wbtc", - "amount": "1000000000" - }, - { - "denom": "erc20/bitgo/wbtc", - "amount": "200000000" - }, - { - "denom": "erc20/multichain/usdc", - "amount": "1000000000000000000" - }, - { - "denom": "erc20/multichain/usdt", - "amount": "10000000000" - }, - { - "denom": "erc20/multichain/wbtc", - "amount": "1000000000" - }, - { - "denom": "hard", - "amount": "1000000000" - }, - { - "denom": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2", - "amount": "10000000000" - }, - { - "denom": "swp", - "amount": "5000000000" - }, - { - "denom": "ukava", - "amount": "10000000000000" - }, - { - "denom": "usdx", - "amount": "103000000000" - }, - { - "denom": "xrpb", - "amount": "1000000000000000" - } - ] - }, { "address": "kava1krh7k30pc9rteejpl2zycj0vau58y8c69xkzws", "coins": [ From 24a4aab5202fded4c756131ae179e470dc343bcd Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Tue, 24 Sep 2024 19:59:19 -0400 Subject: [PATCH 44/52] fix: restart --- .github/workflows/cd-protonet.yml | 29 ++++-- .github/workflows/cd-reset-protonet.yml | 12 +-- .github/workflows/cd-restart-protonet.yml | 102 ++++++++++++++++++++++ ci/env/kava-protonet/KAVA.VERSION | 2 +- 4 files changed, 127 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/cd-restart-protonet.yml diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 59ec808194..2cef41d626 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -1,10 +1,11 @@ name: Continuous Deployment (Protonet) # run after every successful CI job of new commits to the master branch on: - workflow_run: - workflows: [Continuous Integration (Kava Master)] - types: - - completed + push +# workflow_run: +# workflows: [Continuous Integration (Kava Master)] +# types: +# - completed jobs: # in order: @@ -12,11 +13,12 @@ jobs: # stop doctor and kava # download updated binary and genesis # reset application database state + # restart all once all have been reset # start kava and doctor # enter inService reset-chain-to-zero-state: # only start cd pipeline if last ci run was successful - if: ${{ github.event.workflow_run.conclusion == 'success' }} + #if: ${{ github.event.workflow_run.conclusion == 'success' }} uses: ./.github/workflows/cd-reset-protonet.yml with: aws-region: us-east-1 @@ -25,9 +27,22 @@ jobs: auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update playbook-name: reset-chain.yml - playbook-infrastructure-branch: master + playbook-infrastructure-branch: shef-protonet-validator-network-data-reset secrets: inherit + restart-chain: + uses: ./.github/workflows/cd-restart-protonet.yml + with: + aws-region: us-east-1 + chain-tag-name: ChainId + chain-id: proto_2221-17000 + auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node + ssm-document-name: kava-protonet-iavl-v1-instance-update + playbook-name: restart-chain.yml + playbook-infrastructure-branch: shef-protonet-validator-network-data-reset + secrets: inherit + needs: [ reset-chain-to-zero-state ] + # setup test and development accounts and balances, deploy contracts by calling the chain's api seed-chain-state: uses: ./.github/workflows/cd-seed-chain.yml @@ -39,7 +54,7 @@ jobs: genesis_validator_addresses: "kavavaloper1jaw3g097lq9jdrnscchspr2233yhpsxdlq7ula" kava_version_filepath: ./ci/env/kava-protonet/KAVA.VERSION secrets: inherit - needs: [reset-chain-to-zero-state] + needs: [restart-chain] post-pipeline-metrics: uses: ./.github/workflows/metric-pipeline.yml diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index cd22e18a01..70a79afa8e 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -61,7 +61,7 @@ jobs: repository: Kava-Labs/infrastructure token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} path: infrastructure - ref: master + ref: shef-protonet-validator-network-data-reset - name: Set up Go uses: actions/setup-go@v4 with: @@ -91,12 +91,4 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} AWS_SDK_LOAD_CONFIG: 1 - PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} - - name: bring the chain online - run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh - env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} - CHAIN_ID: ${{ inputs.chain-id }} - AWS_REGION: ${{ inputs.aws-region }} - AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} \ No newline at end of file + PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} \ No newline at end of file diff --git a/.github/workflows/cd-restart-protonet.yml b/.github/workflows/cd-restart-protonet.yml new file mode 100644 index 0000000000..00bb160b5e --- /dev/null +++ b/.github/workflows/cd-restart-protonet.yml @@ -0,0 +1,102 @@ +name: Restart Protonet + +on: + workflow_call: + inputs: + auto_scaling_group_names: + required: true + type: string + description: 'Comma-separated list of auto-scaling group names' + chain-tag-name: + required: false + type: string + default: 'KavaChainId' + chain-id: + required: true + type: string + aws-region: + required: true + type: string + ssm-document-name: + required: true + type: string + playbook-name: + required: true + type: string + playbook-infrastructure-branch: + required: true + type: string + secrets: + CI_AWS_KEY_ID: + required: true + CI_AWS_KEY_SECRET: + required: true + KAVA_PRIVATE_GITHUB_ACCESS_TOKEN: + required: true + +# in order: +# enter standby (prevents autoscaling group from killing node during deploy) +# stop doctor and kava +# download updated binary and genesis +# reset application database state +# start kava and doctor +# enter inService +jobs: + restart-traffic: + runs-on: ubuntu-latest + steps: + - name: checkout repo from current commit + uses: actions/checkout@v4 + - name: take the chain offline + run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh + env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + CHAIN_ID: ${{ inputs.chain-id }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} + - name: checkout infrastructure repo + uses: actions/checkout@v4 + with: + repository: Kava-Labs/infrastructure + token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} + path: infrastructure + ref: shef-protonet-validator-network-data-reset + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + - name: build kava node updater + run: cd infrastructure/cli/kava-node-updater && make install && cd ../../../ + - name: run reset playbook on all chain nodes + run: | + IFS=',' read -r -a auto_scaling_group_names <<< "$AUTO_SCALING_GROUP_NAMES" + for auto_scaling_group_name in "${auto_scaling_group_names[@]}"; do + kava-node-updater \ + --debug \ + --max-retries=2 \ + --aws-ssm-document-name="$SSM_DOCUMENT_NAME" \ + --infrastructure-git-pointer="$PLAYBOOK_INFRASTRUCTURE_BRANCH" \ + --update-playbook-filename="$PLAYBOOK_NAME" \ + --autoscaling-group-name="$auto_scaling_group_name" \ + --max-upgrade-batch-size=0 \ + --node-types="" \ + --wait-for-node-sync-after-upgrade=true + done + env: + SSM_DOCUMENT_NAME: ${{ inputs.ssm-document-name }} + PLAYBOOK_NAME: ${{ inputs.playbook-name }} + AUTO_SCALING_GROUP_NAMES: ${{ inputs.auto_scaling_group_names }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} + AWS_SDK_LOAD_CONFIG: 1 + PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} + - name: bring the chain online + run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh + env: + CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + CHAIN_ID: ${{ inputs.chain-id }} + AWS_REGION: ${{ inputs.aws-region }} + AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} \ No newline at end of file diff --git a/ci/env/kava-protonet/KAVA.VERSION b/ci/env/kava-protonet/KAVA.VERSION index 8b25206ff9..34491d65f8 100644 --- a/ci/env/kava-protonet/KAVA.VERSION +++ b/ci/env/kava-protonet/KAVA.VERSION @@ -1 +1 @@ -master \ No newline at end of file +shef-protonet-validator-network-ci \ No newline at end of file From d3fe3a8da93538ccad3e1dc4d94b476b102b9fb9 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 25 Sep 2024 10:12:13 -0400 Subject: [PATCH 45/52] fix: kvtool?: --- tests/e2e/kvtool | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/kvtool b/tests/e2e/kvtool index 20d8e0dcff..7a258021c1 160000 --- a/tests/e2e/kvtool +++ b/tests/e2e/kvtool @@ -1 +1 @@ -Subproject commit 20d8e0dcff557a456041e7bfea48bf3c6207ef8a +Subproject commit 7a258021c15c671f5146626738c4bbf607b66731 From 8613af8a1400a396663ee4bf67d0c302640c07d7 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 25 Sep 2024 11:46:09 -0400 Subject: [PATCH 46/52] force --- .github/workflows/cd-protonet.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 2cef41d626..a469de14b0 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -30,6 +30,7 @@ jobs: playbook-infrastructure-branch: shef-protonet-validator-network-data-reset secrets: inherit + restart-chain: uses: ./.github/workflows/cd-restart-protonet.yml with: From 18d1f27e37c3a073c89b531a13313d4ab6989076 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 25 Sep 2024 12:04:05 -0400 Subject: [PATCH 47/52] fix: put back to running once merged into master --- .github/workflows/cd-protonet.yml | 15 +++++++-------- .github/workflows/cd-reset-protonet.yml | 2 +- .github/workflows/cd-restart-protonet.yml | 2 +- ci/env/kava-protonet/KAVA.VERSION | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index a469de14b0..f1dc8df85d 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -1,11 +1,10 @@ name: Continuous Deployment (Protonet) # run after every successful CI job of new commits to the master branch on: - push -# workflow_run: -# workflows: [Continuous Integration (Kava Master)] -# types: -# - completed + workflow_run: + workflows: [Continuous Integration (Kava Master)] + types: + - completed jobs: # in order: @@ -18,7 +17,7 @@ jobs: # enter inService reset-chain-to-zero-state: # only start cd pipeline if last ci run was successful - #if: ${{ github.event.workflow_run.conclusion == 'success' }} + if: ${{ github.event.workflow_run.conclusion == 'success' }} uses: ./.github/workflows/cd-reset-protonet.yml with: aws-region: us-east-1 @@ -27,7 +26,7 @@ jobs: auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update playbook-name: reset-chain.yml - playbook-infrastructure-branch: shef-protonet-validator-network-data-reset + playbook-infrastructure-branch: master secrets: inherit @@ -40,7 +39,7 @@ jobs: auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update playbook-name: restart-chain.yml - playbook-infrastructure-branch: shef-protonet-validator-network-data-reset + playbook-infrastructure-branch: master secrets: inherit needs: [ reset-chain-to-zero-state ] diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index 70a79afa8e..f9ca173bc4 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -61,7 +61,7 @@ jobs: repository: Kava-Labs/infrastructure token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} path: infrastructure - ref: shef-protonet-validator-network-data-reset + ref: master - name: Set up Go uses: actions/setup-go@v4 with: diff --git a/.github/workflows/cd-restart-protonet.yml b/.github/workflows/cd-restart-protonet.yml index 00bb160b5e..090367733d 100644 --- a/.github/workflows/cd-restart-protonet.yml +++ b/.github/workflows/cd-restart-protonet.yml @@ -61,7 +61,7 @@ jobs: repository: Kava-Labs/infrastructure token: ${{ secrets.KAVA_PRIVATE_GITHUB_ACCESS_TOKEN }} path: infrastructure - ref: shef-protonet-validator-network-data-reset + ref: master - name: Set up Go uses: actions/setup-go@v4 with: diff --git a/ci/env/kava-protonet/KAVA.VERSION b/ci/env/kava-protonet/KAVA.VERSION index 34491d65f8..8b25206ff9 100644 --- a/ci/env/kava-protonet/KAVA.VERSION +++ b/ci/env/kava-protonet/KAVA.VERSION @@ -1 +1 @@ -shef-protonet-validator-network-ci \ No newline at end of file +master \ No newline at end of file From 064a25263b920eb5e8abcd7f7b6800f892e7cc0e Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 25 Sep 2024 13:36:07 -0400 Subject: [PATCH 48/52] feat: handle when kava-protonet files have changed for reset --- .github/workflows/cd-protonet.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index f1dc8df85d..9faeeaa50e 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -7,6 +7,23 @@ on: - completed jobs: + changed_files: + runs-on: ubuntu-latest + # define output for first job forwarding output of changedProtonetConfig job + outputs: + changedProtonetConfig: ${{ steps.changed-protonet-config.outputs.any_changed }} + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # OR "2" -> To retrieve the preceding commit. + - name: Get all changed protonet files + id: hanged-protonet-config + uses: tj-actions/changed-files@v42 + with: + # Avoid using single or double quotes for multiline patterns + files: | + ci/env/kava-protonet/** + # in order: # enter standby (prevents autoscaling group from killing node during deploy) # stop doctor and kava @@ -17,7 +34,7 @@ jobs: # enter inService reset-chain-to-zero-state: # only start cd pipeline if last ci run was successful - if: ${{ github.event.workflow_run.conclusion == 'success' }} + if: ${{ github.event.workflow_run.conclusion == 'success' && needs.changed_files.outputs.changedProtonetConfig == 'true' }} uses: ./.github/workflows/cd-reset-protonet.yml with: aws-region: us-east-1 From f1de79732b0aba9c24bf16137898706cf2254218 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 25 Sep 2024 13:36:38 -0400 Subject: [PATCH 49/52] fix: add needs changed_files for reset-chain-to-zero-state --- .github/workflows/cd-protonet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 9faeeaa50e..8a0f1d16ae 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -45,7 +45,7 @@ jobs: playbook-name: reset-chain.yml playbook-infrastructure-branch: master secrets: inherit - + needs: [changed_files] restart-chain: uses: ./.github/workflows/cd-restart-protonet.yml From 09bcd107327d05273d3962df07bee02ad77171cf Mon Sep 17 00:00:00 2001 From: sesheffield Date: Wed, 25 Sep 2024 14:03:47 -0400 Subject: [PATCH 50/52] fix: use protonet --- .github/workflows/ci-default.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-default.yml b/.github/workflows/ci-default.yml index 8ea882a7df..c2a5f002c3 100644 --- a/.github/workflows/ci-default.yml +++ b/.github/workflows/ci-default.yml @@ -142,7 +142,7 @@ jobs: - name: save version of kava that will be deployed if this pr is merged id: kava-version run: | - echo "KAVA_VERSION=$(cat ./ci/env/kava-internal-testnet/KAVA.VERSION)" >> $GITHUB_OUTPUT + echo "KAVA_VERSION=$(cat ./ci/env/kava-protonet/KAVA.VERSION)" >> $GITHUB_OUTPUT - name: checkout version of kava that will be deployed if this pr is merged uses: actions/checkout@v4 with: From 54834335e74de3e807d7b1c4845bf176bafcb930 Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Wed, 25 Sep 2024 16:31:54 -0400 Subject: [PATCH 51/52] fix: rename AWS_CHAIN_ID_TAG_NAME --- .github/scripts/exit-standby-all-chain-nodes.sh | 2 +- .github/scripts/put-all-chain-nodes-on-standby.sh | 2 +- .github/workflows/cd-protonet.yml | 6 +++--- .github/workflows/cd-reset-internal-testnet.yml | 2 +- .github/workflows/cd-reset-protonet.yml | 6 +++--- .github/workflows/cd-restart-protonet.yml | 8 ++++---- .github/workflows/cd-start-chain.yml | 6 +++--- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/scripts/exit-standby-all-chain-nodes.sh b/.github/scripts/exit-standby-all-chain-nodes.sh index b4da615546..708f25e321 100755 --- a/.github/scripts/exit-standby-all-chain-nodes.sh +++ b/.github/scripts/exit-standby-all-chain-nodes.sh @@ -2,7 +2,7 @@ set -x # get all the node's ec2 instance ids for the specified chain id -chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:$CHAIN_TAG_NAME,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') +chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:$AWS_CHAIN_ID_TAG_NAME,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') for chain_node_instance_id in ${chain_node_instance_ids} do diff --git a/.github/scripts/put-all-chain-nodes-on-standby.sh b/.github/scripts/put-all-chain-nodes-on-standby.sh index dae5ae23fc..b42f619ea3 100755 --- a/.github/scripts/put-all-chain-nodes-on-standby.sh +++ b/.github/scripts/put-all-chain-nodes-on-standby.sh @@ -2,7 +2,7 @@ set -x # get all the node's ec2 instance ids for the specified chain id KavaChainId -chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:$CHAIN_TAG_NAME,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') +chain_node_instance_ids=$(aws ec2 describe-instances --filters "Name=tag:$AWS_CHAIN_ID_TAG_NAME,Values=$CHAIN_ID" | jq -r '[.Reservations | .[] | .Instances | .[] | .InstanceId] | join(" ")') for chain_node_instance_id in ${chain_node_instance_ids} do diff --git a/.github/workflows/cd-protonet.yml b/.github/workflows/cd-protonet.yml index 8a0f1d16ae..1e08f6ce21 100644 --- a/.github/workflows/cd-protonet.yml +++ b/.github/workflows/cd-protonet.yml @@ -38,7 +38,7 @@ jobs: uses: ./.github/workflows/cd-reset-protonet.yml with: aws-region: us-east-1 - chain-tag-name: ChainId + aws-chain-id-tag-name: ChainId chain-id: proto_2221-17000 auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update @@ -51,7 +51,7 @@ jobs: uses: ./.github/workflows/cd-restart-protonet.yml with: aws-region: us-east-1 - chain-tag-name: ChainId + aws-chain-id-tag-name: ChainId chain-id: proto_2221-17000 auto_scaling_group_names: kava-protonet-iavl-v1-validator-api-node,kava-protonet-iavl-v1-rpc-api-node ssm-document-name: kava-protonet-iavl-v1-instance-update @@ -81,4 +81,4 @@ jobs: metric-name: kava.deploys.protonet.proto namespace: Kava/ContinuousDeployment secrets: inherit - needs: [seed-chain-state] \ No newline at end of file + needs: [seed-chain-state] diff --git a/.github/workflows/cd-reset-internal-testnet.yml b/.github/workflows/cd-reset-internal-testnet.yml index 0406a6e590..71fcc3a408 100644 --- a/.github/workflows/cd-reset-internal-testnet.yml +++ b/.github/workflows/cd-reset-internal-testnet.yml @@ -40,7 +40,7 @@ jobs: - name: take the chain offline run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + AWS_CHAIN_ID_TAG_NAME: ${{ inputs.aws-chain-id-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} diff --git a/.github/workflows/cd-reset-protonet.yml b/.github/workflows/cd-reset-protonet.yml index f9ca173bc4..30028d81ec 100644 --- a/.github/workflows/cd-reset-protonet.yml +++ b/.github/workflows/cd-reset-protonet.yml @@ -7,7 +7,7 @@ on: required: true type: string description: 'Comma-separated list of auto-scaling group names' - chain-tag-name: + aws-chain-id-tag-name: required: false type: string default: 'KavaChainId' @@ -50,7 +50,7 @@ jobs: - name: take the chain offline run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + AWS_CHAIN_ID_TAG_NAME: ${{ inputs.aws-chain-id-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} @@ -91,4 +91,4 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} AWS_SDK_LOAD_CONFIG: 1 - PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} \ No newline at end of file + PLAYBOOK_INFRASTRUCTURE_BRANCH: ${{ inputs.playbook-infrastructure-branch }} diff --git a/.github/workflows/cd-restart-protonet.yml b/.github/workflows/cd-restart-protonet.yml index 090367733d..e5d606195e 100644 --- a/.github/workflows/cd-restart-protonet.yml +++ b/.github/workflows/cd-restart-protonet.yml @@ -7,7 +7,7 @@ on: required: true type: string description: 'Comma-separated list of auto-scaling group names' - chain-tag-name: + aws-chain-id-tag-name: required: false type: string default: 'KavaChainId' @@ -50,7 +50,7 @@ jobs: - name: take the chain offline run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + AWS_CHAIN_ID_TAG_NAME: ${{ inputs.aws-chain-id-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} @@ -95,8 +95,8 @@ jobs: - name: bring the chain online run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + AWS_CHAIN_ID_TAG_NAME: ${{ inputs.aws-chain-id-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} \ No newline at end of file + AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }} diff --git a/.github/workflows/cd-start-chain.yml b/.github/workflows/cd-start-chain.yml index 4e7184ba40..0e693d17a2 100644 --- a/.github/workflows/cd-start-chain.yml +++ b/.github/workflows/cd-start-chain.yml @@ -3,7 +3,7 @@ name: Start Chain on: workflow_call: inputs: - chain-tag-name: + aws-chain-id-tag-name: required: false type: string default: 'KavaChainId' @@ -40,7 +40,7 @@ jobs: - name: take the chain offline run: bash ${GITHUB_WORKSPACE}/.github/scripts/put-all-chain-nodes-on-standby.sh env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + AWS_CHAIN_ID_TAG_NAME: ${{ inputs.aws-chain-id-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} @@ -81,7 +81,7 @@ jobs: - name: bring the chain online run: bash ${GITHUB_WORKSPACE}/.github/scripts/exit-standby-all-chain-nodes.sh env: - CHAIN_TAG_NAME: ${{ inputs.chain-tag-name }} + AWS_CHAIN_ID_TAG_NAME: ${{ inputs.aws-chain-id-tag-name }} CHAIN_ID: ${{ inputs.chain-id }} AWS_REGION: ${{ inputs.aws-region }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }} From 4012a5720b9b34598dc948109fb100bb3fa02cbe Mon Sep 17 00:00:00 2001 From: Sam Sheffield Date: Mon, 30 Sep 2024 18:23:54 -0400 Subject: [PATCH 52/52] fix: newline --- ci/env/kava-protonet/KAVA.VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/env/kava-protonet/KAVA.VERSION b/ci/env/kava-protonet/KAVA.VERSION index 8b25206ff9..1f7391f92b 100644 --- a/ci/env/kava-protonet/KAVA.VERSION +++ b/ci/env/kava-protonet/KAVA.VERSION @@ -1 +1 @@ -master \ No newline at end of file +master