diff --git a/app/app.go b/app/app.go index ce0bf01fa1..da606464e3 100644 --- a/app/app.go +++ b/app/app.go @@ -129,6 +129,7 @@ var Upgrades = []upgrades.Upgrade{ upgrades.Upgrade_0_6_0, upgrades.Upgrade_0_6_0_RC3, upgrades.Upgrade_0_6_1, + upgrades.Upgrade_0_6_2, } // this line is used by starport scaffolding # stargate/wasm/app/enabledProposals diff --git a/app/upgrades/empty_upgrades.go b/app/upgrades/empty_upgrades.go index 1b8a13c74e..1d853f8bb3 100644 --- a/app/upgrades/empty_upgrades.go +++ b/app/upgrades/empty_upgrades.go @@ -77,3 +77,13 @@ var Upgrade_0_6_1 = Upgrade{ }, // create CreateUpgradeHandler in upgrades.go below StoreUpgrades: store.StoreUpgrades{}, // StoreUpgrades has 3 fields: Added/Renamed/Deleted any module that fits these description should be added in the way below } + +var Upgrade_0_6_2 = Upgrade{ + UpgradeName: "v0.6.2", // upgrade name defined few lines above + CreateUpgradeHandler: func(m *module.Manager, c module.Configurator, bapm BaseAppParamManager, lk *keepers.LavaKeepers) upgradetypes.UpgradeHandler { + return func(ctx sdk.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { + return m.RunMigrations(ctx, c, vm) + } + }, // create CreateUpgradeHandler in upgrades.go below + StoreUpgrades: store.StoreUpgrades{}, // StoreUpgrades has 3 fields: Added/Renamed/Deleted any module that fits these description should be added in the way below +} diff --git a/cookbook/spec_add_canto.json b/cookbook/spec_add_canto.json new file mode 100644 index 0000000000..dc294cefe2 --- /dev/null +++ b/cookbook/spec_add_canto.json @@ -0,0 +1,1351 @@ +{ + "proposal": { + "title": "Add Specs: Canto", + "description": "Adding new specification support for relaying Canto data on Lava", + "specs": [ + { + "index": "CANTO", + "name": "canto mainnet", + "enabled": true, + "imports": [ "ETH1","COS5" ], + "reliability_threshold": 268435455, + "data_reliability_enabled": true, + "block_distance_for_finalized_data": 0, + "blocks_in_finalization_proof": 1, + "average_block_time": "6500", + "allowed_block_lag_for_qos_sync": "3", + "min_stake_provider": { + "denom": "ulava", + "amount": "50000000000" + }, + "min_stake_client": { + "denom": "ulava", + "amount": "5000000000" + }, + "apis": [ + { + "name": "/canto/v1/csr/contract/{address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/v1/csr/nft/{nftId}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/v1/csr/csrs", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/v1/csr/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/v1/csr/turnstile", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/epochs/v1/current_epoch", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/epochs/v1/epochs", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/erc20/v1/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/erc20/v1/token_pairs/{token}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/erc20/v1/token_pairs", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/fees/v1/fees/{deployer_address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/fees/v1/fees/{contract_address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/fees/v1/fees", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/fees/v1/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/govshuttle/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/inflation/v1/circulating_supply", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/inflation/v1/epoch_mint_provision", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/inflation/v1/inflation_rate", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/inflation/v1/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/inflation/v1/period", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/inflation/v1/skipped_epochs", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/recovery/v1/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/canto/vesting/v1/balances/{address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/authz/v1beta1/grants/grantee/{grantee}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/authz/v1beta1/grants/granter/{granter}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/bank/v1beta1/balances/{address}/by_denom", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/bank/v1beta1/spendable_balances/{address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/interfaces", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/interfaces/{interface_name}/implementations", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/app_descriptor/authn", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/app_descriptor/chain", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/app_descriptor/codec", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/app_descriptor/configuration", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/app_descriptor/query_services", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/feegrant/v1beta1/issued/{granter}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/slashing/v1beta1/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/cosmos/tx/v1beta1/txs/block/{height}", + "block_parsing": { + "parser_arg": [ + "0" + ], + "parser_func": "PARSE_BY_ARG" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/account/{address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/balances/{address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/base_fee", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/codes/{address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/cosmos_account/{address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/estimate_gas", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/eth_call", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/storage/{address}/{key}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/trace_block", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/trace_tx", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/evm/v1/validator_account/{cons_address}", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/feemarket/v1/base_fee", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/feemarket/v1/block_gas", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ethermint/feemarket/v1/params", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + }, + { + "name": "/ibc/core/client/v1/consensus_states/{client_id}/heights", + "block_parsing": { + "parser_arg": [ + "latest" + ], + "parser_func": "DEFAULT" + }, + "compute_units": "10", + "enabled": true, + "api_interfaces": [ + { + "category": { + "deterministic": true, + "local": false, + "subscription": false, + "stateful": 0 + }, + "interface": "rest", + "type": "GET", + "extra_compute_units": "0" + } + ] + } + ] + } + ] + }, + "deposit": "10000000ulava" +} diff --git a/protocol/chainlib/chainproxy/thirdparty/grpcServerRegistery.go b/protocol/chainlib/chainproxy/thirdparty/grpcServerRegistery.go index 8ce3828858..16d89a6c42 100644 --- a/protocol/chainlib/chainproxy/thirdparty/grpcServerRegistery.go +++ b/protocol/chainlib/chainproxy/thirdparty/grpcServerRegistery.go @@ -56,6 +56,10 @@ func RegisterServer(chain string, cb func(ctx context.Context, method string, re cosmos_thirdparty.RegisterCosmosProtobufs(s, cb) ibc_thirdparty.RegisterCosmosProtobufs(s, cb) //TODO: add other evmos protobufs missing + case "CANTO", "CANTOT": + cosmos_thirdparty.RegisterCosmosProtobufs(s, cb) + ibc_thirdparty.RegisterCosmosProtobufs(s, cb) + //TODO: add other canto protobufs missing default: utils.LavaFormatFatal("Unsupported Chain Server: "+chain, nil, nil) } diff --git a/scripts/init_chain_commands.sh b/scripts/init_chain_commands.sh index 1e349fcc56..5f8d31a758 100755 --- a/scripts/init_chain_commands.sh +++ b/scripts/init_chain_commands.sh @@ -8,12 +8,16 @@ screen -wipe GASPRICE="0.000000001ulava" lavad tx gov submit-proposal spec-add ./cookbook/spec_add_ethereum.json,./cookbook/spec_add_cosmoshub.json,./cookbook/spec_add_lava.json,./cookbook/spec_add_osmosis.json,./cookbook/spec_add_fantom.json,./cookbook/spec_add_celo.json,./cookbook/spec_add_optimism.json -y --from alice --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx gov vote 1 yes -y --from alice --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE - sleep 4 lavad tx gov submit-proposal spec-add ./cookbook/spec_add_arbitrum.json,./cookbook/spec_add_starknet.json,./cookbook/spec_add_aptos.json,./cookbook/spec_add_juno.json,./cookbook/spec_add_polygon.json,./cookbook/spec_add_evmos.json,./cookbook/spec_add_base.json -y --from alice --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx gov vote 2 yes -y --from alice --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +sleep 4 +lavad tx gov submit-proposal spec-add ./cookbook/spec_add_canto.json -y --from alice --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +lavad tx gov vote 3 yes -y --from alice --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE + + CLIENTSTAKE="500000000000ulava" PROVIDERSTAKE="500000000000ulava" @@ -32,10 +36,11 @@ lavad tx pairing stake-client "APT1" $CLIENTSTAKE 1 -y --from user1 --gas-adju lavad tx pairing stake-client "STRK" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx pairing stake-client "JUN1" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx pairing stake-client "COS5" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE -lavad tx pairing stake-client "POLYGON1" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE -lavad tx pairing stake-client "EVMOS" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +lavad tx pairing stake-client "POLYGON1" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +lavad tx pairing stake-client "EVMOS" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx pairing stake-client "OPTM" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE -lavad tx pairing stake-client "BASET" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +lavad tx pairing stake-client "BASET" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +lavad tx pairing stake-client "CANTO" $CLIENTSTAKE 1 -y --from user1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE # Ethereum providers @@ -92,7 +97,8 @@ lavad tx pairing stake-provider "POLYGON1" $PROVIDERSTAKE "127.0.0.1:4346,jsonrp # Optimism Providers lavad tx pairing stake-provider "OPTM" $PROVIDERSTAKE "127.0.0.1:6003,jsonrpc,1" 1 -y --from servicer1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx pairing stake-provider "OPTM" $PROVIDERSTAKE "127.0.0.1:6004,jsonrpc,1" 1 -y --from servicer2 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE -lavad tx pairing stake-provider "OPTM" $PROVIDERSTAKE "127.0.0.1:6005,jsonrpc,1" 1 -y --from servicer3 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE4 +lavad tx pairing stake-provider "OPTM" $PROVIDERSTAKE "127.0.0.1:6005,jsonrpc,1" 1 -y --from servicer3 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE + # Base Providers lavad tx pairing stake-provider "BASET" $PROVIDERSTAKE "127.0.0.1:6000,jsonrpc,1" 1 -y --from servicer1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx pairing stake-provider "BASET" $PROVIDERSTAKE "127.0.0.1:6001,jsonrpc,1" 1 -y --from servicer2 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE @@ -130,6 +136,10 @@ lavad tx pairing stake-provider "EVMOS" $PROVIDERSTAKE "127.0.0.1:4347,jsonrpc,1 lavad tx pairing stake-provider "EVMOS" $PROVIDERSTAKE "127.0.0.1:4351,jsonrpc,1 127.0.0.1:4352,tendermintrpc,1 127.0.0.1:4353,rest,1 127.0.0.1:4354,grpc,1" 1 -y --from servicer2 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE lavad tx pairing stake-provider "EVMOS" $PROVIDERSTAKE "127.0.0.1:4355,jsonrpc,1 127.0.0.1:4356,tendermintrpc,1 127.0.0.1:4357,rest,1 127.0.0.1:4358,grpc,1" 1 -y --from servicer3 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +# canto Providers +lavad tx pairing stake-provider "CANTO" $PROVIDERSTAKE "127.0.0.1:6006,jsonrpc,1 127.0.0.1:6009,tendermintrpc,1 127.0.0.1:6012,rest,1 127.0.0.1:6015,grpc,1" 1 -y --from servicer1 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +lavad tx pairing stake-provider "CANTO" $PROVIDERSTAKE "127.0.0.1:6007,jsonrpc,1 127.0.0.1:6010,tendermintrpc,1 127.0.0.1:6013,rest,1 127.0.0.1:6016,grpc,1" 1 -y --from servicer2 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE +lavad tx pairing stake-provider "CANTO" $PROVIDERSTAKE "127.0.0.1:6008,jsonrpc,1 127.0.0.1:6011,tendermintrpc,1 127.0.0.1:6014,rest,1 127.0.0.1:6017,grpc,1" 1 -y --from servicer3 --gas-adjustment "1.5" --gas "auto" --gas-prices $GASPRICE echo "---------------Queries------------------" lavad query pairing providers "ETH1" diff --git a/scripts/setup_providers.sh b/scripts/setup_providers.sh index 9d69bfefde..ade75d10b6 100755 --- a/scripts/setup_providers.sh +++ b/scripts/setup_providers.sh @@ -142,6 +142,20 @@ screen -S evmos_providers -X screen -t win09 -X bash -c "source ~/.bashrc; lavad screen -S evmos_providers -X screen -t win10 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 4354 $EVMOS_GRPC EVMOS grpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer2 2>&1 | tee $LOGS_DIR/EVMOS_grpc1.log" screen -S evmos_providers -X screen -t win11 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 4358 $EVMOS_GRPC EVMOS grpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer3 2>&1 | tee $LOGS_DIR/EVMOS_grpc2.log" +# Canto Providers +screen -d -m -S canto_providers bash -c "source ~/.bashrc; lavad server 127.0.0.1 6006 $CANTO_RPC CANTO jsonrpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer1 2>&1 | tee $LOGS_DIR/CANTO_jsonrpc1.log" +screen -S canto_providers -X screen -t win1 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6007 $CANTO_RPC CANTO jsonrpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer2 2>&1 | tee $LOGS_DIR/CANTO_jsonrpc2.log" +screen -S canto_providers -X screen -t win2 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6008 $CANTO_RPC CANTO jsonrpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer3 2>&1 | tee $LOGS_DIR/CANTO_jsonrpc3.log" +screen -S canto_providers -X screen -t win3 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6009 $CANTO_TENDERMINT CANTO tendermintrpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer1 --tendermint-http-endpoint $CANTO_TENDERMINT 2>&1 | tee $LOGS_DIR/CANTO_tender1.log" +screen -S canto_providers -X screen -t win4 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6010 $CANTO_TENDERMINT CANTO tendermintrpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer2 --tendermint-http-endpoint $CANTO_TENDERMINT 2>&1 | tee $LOGS_DIR/CANTO_tender2.log" +screen -S canto_providers -X screen -t win5 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6011 $CANTO_TENDERMINT CANTO tendermintrpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer3 --tendermint-http-endpoint $CANTO_TENDERMINT 2>&1 | tee $LOGS_DIR/CANTO_tender3.log" +screen -S canto_providers -X screen -t win6 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6012 $CANTO_REST CANTO rest $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer1 2>&1 | tee $LOGS_DIR/CANTO_rest1.log" +screen -S canto_providers -X screen -t win7 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6013 $CANTO_REST CANTO rest $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer2 2>&1 | tee $LOGS_DIR/CANTO_rest2.log" +screen -S canto_providers -X screen -t win8 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6014 $CANTO_REST CANTO rest $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer3 2>&1 | tee $LOGS_DIR/CANTO_rest3.log" +screen -S canto_providers -X screen -t win09 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6015 $CANTO_GRPC CANTO grpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer1 2>&1 | tee $LOGS_DIR/CANTO_grpc1.log" +screen -S canto_providers -X screen -t win10 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6016 $CANTO_GRPC CANTO grpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer2 2>&1 | tee $LOGS_DIR/CANTO_grpc2.log" +screen -S canto_providers -X screen -t win11 -X bash -c "source ~/.bashrc; lavad server 127.0.0.1 6017 $CANTO_GRPC CANTO grpc $EXTRA_PROVIDER_FLAGS --geolocation 1 --log_level debug --from servicer3 2>&1 | tee $LOGS_DIR/CANTO_grpc3.log" + # Setup Portals screen -d -m -S portals bash -c "source ~/.bashrc; lavad rpcconsumer 127.0.0.1:3333 ETH1 jsonrpc $EXTRA_PORTAL_FLAGS --geolocation 1 --log_level debug --from user1 2>&1 | tee $LOGS_DIR/PORTAL_ETH_3333.log" && sleep 0.25 screen -S portals -X screen -t win3 -X bash -c "source ~/.bashrc; lavad rpcconsumer 127.0.0.1:3336 FTM250 jsonrpc $EXTRA_PORTAL_FLAGS --geolocation 1 --log_level debug --from user1 2>&1 | tee $LOGS_DIR/PORTAL_FTM250_3336.log" @@ -161,6 +175,8 @@ screen -S portals -X screen -t win7 -X bash -c "source ~/.bashrc; lavad rpccons screen -S portals -X screen -t win10 -X bash -c "source ~/.bashrc; lavad rpcconsumer 127.0.0.1:3343 COS5 rest 127.0.0.1:3344 COS5 tendermintrpc 127.0.0.1:3356 COS5 grpc $EXTRA_PORTAL_FLAGS --geolocation 1 --log_level debug --from user1 2>&1 | tee $LOGS_DIR/PORTAL_3343.log" screen -S portals -X screen -t win16 -X bash -c "source ~/.bashrc; lavad rpcconsumer 127.0.0.1:3349 JUN1 rest 127.0.0.1:3350 JUN1 tendermintrpc 127.0.0.1:3355 JUN1 grpc $EXTRA_PORTAL_FLAGS --geolocation 1 --log_level debug --from user1 2>&1 | tee $LOGS_DIR/PORTAL_3349.log" screen -S portals -X screen -t win19 -X bash -c "source ~/.bashrc; lavad rpcconsumer 127.0.0.1:3360 EVMOS jsonrpc 127.0.0.1:3357 EVMOS rest 127.0.0.1:3358 EVMOS tendermintrpc 127.0.0.1:3359 EVMOS grpc $EXTRA_PORTAL_FLAGS --geolocation 1 --log_level debug --from user1 2>&1 | tee $LOGS_DIR/PORTAL_EVMOS.log" +screen -S portals -X screen -t win22 -X bash -c "source ~/.bashrc; lavad rpcconsumer 127.0.0.1:3363 CANTO jsonrpc 127.0.0.1:3364 CANTO rest 127.0.0.1:3365 CANTO tendermintrpc 127.0.0.1:3366 CANTO grpc $EXTRA_PORTAL_FLAGS --geolocation 1 --log_level debug --from user1 2>&1 | tee $LOGS_DIR/PORTAL_CANTO.log" + echo "--- setting up screens done ---" screen -ls \ No newline at end of file