Closed MaxMustermann2 closed 4 months ago
Command:
exocored tx operator register-operator --meta-info operator4 --commission-rate 0 --commission-max-rate 1 --commission-max-change-rate 1 --from testaccount1 --node http://localhost:20000 --fees 50000000000aexo
Error Log:
gas estimate: 152564
auth_info:
fee:
amount:
- amount: "5225469564"
denom: aexo
gas_limit: "152564"
granter: ""
payer: ""
signer_infos: []
tip: null
body:
extension_options: []
memo: ""
messages:
- '@type': /exocore.operator.v1.RegisterOperatorReq
from_address: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
info:
approve_addr: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
client_chain_earnings_addr:
earning_info_list: []
commission:
commission_rates:
max_change_rate: "1.000000000000000000"
max_rate: "1.000000000000000000"
rate: "0.000000000000000000"
update_time: "1970-01-01T00:00:00Z"
earnings_addr: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
operator_meta_info: jessica1
non_critical_extension_options: []
timeout_height: "0"
signatures: []
confirm transaction before signing and broadcasting [y/N]: y
code: 111222
codespace: undefined
data: ""
events: []
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: "recovered: expected *legacytx.LegacyMsg when using amino JSON\nstack:\ngoroutine
160346 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x5e\ngithub.com/cosmos/cosmos-sdk/baseapp.NewBaseApp.newDefaultRecoveryMiddleware.func3({0x2cbbd00?,
0xc001a7be40})\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/baseapp/recovery.go:71 +0x26\ngithub.com/cosmos/cosmos-sdk/baseapp.NewBaseApp.newDefaultRecoveryMiddleware.newRecoveryMiddleware.func5({0x2cbbd00?,
0xc001a7be40?})\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/baseapp/recovery.go:39 +0x2d\ngithub.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x2cbbd00,
0xc001a7be40}, 0x13ff00f0?)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/baseapp/recovery.go:28
+0x2f\ngithub.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x2cbbd00, 0xc001a7be40},
0x0?)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/baseapp/recovery.go:33 +0x53\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runTx.func1()\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/baseapp/baseapp.go:641
+0xfe\npanic({0x2cbbd00?, 0xc001a7be40?})\n\truntime/panic.go:920 +0x270\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.SetUpContextDecorator.AnteHandle.func1()\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/setup.go:57
+0x1e5\npanic({0x2cbbd00?, 0xc001a7be40?})\n\truntime/panic.go:914 +0x21f\ngithub.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx.StdSignBytes({0xc009d2cdf8,
0x14}, 0xa9, 0x2, 0x0, {{0xc005dad488, 0x1, 0x1}, 0x30d40, {0x0, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/migrations/legacytx/stdsign.go:60
+0x438\ngithub.com/evmos/evmos/v14/ethereum/eip712.decodeProtobufSignDoc({0xc002aba820,
0x18b, 0x18b})\n\tgithub.com/evmos/evmos/v14@v14.0.0-rc4/ethereum/eip712/encoding.go:183
+0x729\ngithub.com/evmos/evmos/v14/ethereum/eip712.GetEIP712TypedDataForMsg({0xc002aba820,
0x18b, 0x18b})\n\tgithub.com/evmos/evmos/v14@v14.0.0-rc4/ethereum/eip712/encoding.go:60
+0x251\ngithub.com/evmos/evmos/v14/ethereum/eip712.GetEIP712BytesForMsg({0xc002aba820?,
0x40?, 0x21?})\n\tgithub.com/evmos/evmos/v14@v14.0.0-rc4/ethereum/eip712/encoding.go:38
+0x58\ngithub.com/evmos/evmos/v14/crypto/ethsecp256k1.PubKey.verifySignatureAsEIP712({{0xc0066091a0?,
0xf103fd?, 0xc003d73dd0?}}, {0xc002aba820, 0x18b, 0x18b}, {0xc0030e6b40, 0x41, 0x41})\n\tgithub.com/evmos/evmos/v14@v14.0.0-rc4/crypto/ethsecp256k1/ethsecp256k1.go:222
+0x65\ngithub.com/evmos/evmos/v14/crypto/ethsecp256k1.PubKey.VerifySignature({{0xc0066091a0?,
0x4290ed?, 0x40d2b68?}}, {0xc002aba820, 0x18b, 0x18b}, {0xc0030e6b40, 0x41, 0x41})\n\tgithub.com/evmos/evmos/v14@v14.0.0-rc4/crypto/ethsecp256k1/ethsecp256k1.go:215
+0xaa\ngithub.com/cosmos/cosmos-sdk/x/auth/signing.VerifySignature({0x4108838?,
0xc005dad440}, {{0xc003d73dd0, 0x2a}, {0xc0075a75d8, 0x14}, 0xa9, 0x2, {0x4108838,
0xc005dad440}}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/signing/verify.go:21
+0x10d\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.SigVerificationDecorator.AnteHandle({{_,
_}, {_, _}}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, ...},
...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/sigverify.go:292
+0x63a\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.SigGasConsumeDecorator.AnteHandle({{_,
_}, _}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/sigverify.go:194
+0x577\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.ValidateSigCountDecorator.AnteHandle({{_,
_}}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/sigverify.go:384
+0x3ce\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.SetPubKeyDecorator.AnteHandle({{_,
_}}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/sigverify.go:126
+0xad7\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/ExocoreNetwork/exocore/app/ante/cosmos.DeductFeeDecorator.AnteHandle({{0x7f32a80bd438,
0xc001217900}, {0x7f32a0469a18, 0xc0015e8f20}, {0x40c22a0, 0xc000e2b640}, {0x40c2280,
0xc001985fb0}, {0x40d1a60, 0xc001945e10}, ...}, ...)\n\tgithub.com/ExocoreNetwork/exocore/app/ante/cosmos/fees.go:88
+0x397\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.ConsumeTxSizeGasDecorator.AnteHandle({{_,
_}}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/basic.go:143
+0x5af\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/ExocoreNetwork/exocore/app/ante/cosmos.MinGasPriceDecorator.AnteHandle({{_,
_}, {_, _}}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, ...},
...}, ...)\n\tgithub.com/ExocoreNetwork/exocore/app/ante/cosmos/min_price.go:38
+0x3d2\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.ValidateMemoDecorator.AnteHandle({{_,
_}}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/basic.go:67
+0x1b9\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.TxTimeoutHeightDecorator.AnteHandle({},
{{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, 0x35b45f, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/basic.go:206
+0x26e\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.ValidateBasicDecorator.AnteHandle({},
{{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, 0x35b45f, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/basic.go:34
+0x14e\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.RejectExtensionOptionsDecorator.AnteHandle({_},
{{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, 0x35b45f, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/ext.go:52
+0x10e\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/cosmos/cosmos-sdk/x/auth/ante.SetUpContextDecorator.AnteHandle({},
{{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, 0x35b45f, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/x/auth/ante/setup.go:62
+0x56e\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/ExocoreNetwork/exocore/app/ante/cosmos.AuthzLimiterDecorator.AnteHandle({{_,
_, _}}, {{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
...}, ...}, ...}, ...)\n\tgithub.com/ExocoreNetwork/exocore/app/ante/cosmos/authz.go:33
+0x18e\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/ExocoreNetwork/exocore/app/ante/cosmos.RejectMessagesDecorator.AnteHandle({},
{{0x40f9158, 0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8,
0x14}, 0x35b45f, ...}, ...}, ...)\n\tgithub.com/ExocoreNetwork/exocore/app/ante/cosmos/reject_msgs.go:25
+0x14e\ngithub.com/cosmos/cosmos-sdk/types.ChainAnteDecorators.func1({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/types/handler.go:49
+0x136\ngithub.com/ExocoreNetwork/exocore/app.(*ExocoreApp).setAnteHandler.NewAnteHandler.func2({{0x40f9158,
0x5f8e340}, {0x4114290, 0xc008926000}, {{0xb, 0x0}, {0xc0075a75d8, 0x14}, 0x35b45f,
{0x2286648f, ...}, ...}, ...}, ...)\n\tgithub.com/ExocoreNetwork/exocore/app/ante/ante.go:53
+0x218\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runTx(0xc000320d20, 0x0,
{0xc002ad0a80, 0x1b5, 0x1b6})\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/baseapp/baseapp.go:696
+0x4f9\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).CheckTx(0xc000320d20, {{0xc002ad0a80?,
0x868940c709eefc85?, 0x4ed8aa4a391c0cb3?}, 0x5b9cca4f?})\n\tgithub.com/cosmos/cosmos-sdk@v0.47.5/baseapp/abci.go:370
+0x86\ngithub.com/cometbft/cometbft/abci/client.(*localClient).CheckTxAsync(0xc001a00600,
{{0xc002ad0a80?, 0x0?, 0x0?}, 0x307cbd8?})\n\tgithub.com/cometbft/cometbft@v0.37.2/abci/client/local_client.go:93
+0x102\ngithub.com/cometbft/cometbft/proxy.(*appConnMempool).CheckTxAsync(0xc000df65a0,
{{0xc002ad0a80?, 0x548c3d?, 0xc00307cc68?}, 0x432c05?})\n\tgithub.com/cometbft/cometbft@v0.37.2/proxy/app_conn.go:154
+0x171\ngithub.com/cometbft/cometbft/mempool/v0.(*CListMempool).CheckTx(0xc000e4fd40,
{0xc002ad0a80, 0x1b5, 0x1b6}, 0xc005dad008, {0x20?, {0x0?, 0x50003?}})\n\tgithub.com/cometbft/cometbft@v0.37.2/mempool/v0/clist_mempool.go:254
+0x1c3\ngithub.com/cometbft/cometbft/rpc/core.BroadcastTxSync(0xc0068d6ae0, {0xc002ad0a80,
0x1b5, 0x1b6})\n\tgithub.com/cometbft/cometbft@v0.37.2/rpc/core/mempool.go:35 +0xe4\nreflect.Value.call({0x2cfa080?,
0x3ae68d8?, 0x3195360?}, {0x31a7644, 0x4}, {0xc005d58150, 0x2, 0x439572?})\n\treflect/value.go:596
+0xce7\nreflect.Value.Call({0x2cfa080?, 0x3ae68d8?, 0x251?}, {0xc005d58150?, 0x3195360?,
0xc0032ebc00?})\n\treflect/value.go:380 +0xb9\ngithub.com/cometbft/cometbft/rpc/jsonrpc/server.RegisterRPCFuncs.makeJSONRPCHandler.func3({0x40e95b0,
0xc005dacf60}, 0xc004f87300)\n\tgithub.com/cometbft/cometbft@v0.37.2/rpc/jsonrpc/server/http_json_handler.go:108
+0xcf0\ngithub.com/cometbft/cometbft/rpc/jsonrpc/server.RegisterRPCFuncs.handleInvalidJSONRPCPaths.func4({0x40e95b0?,
0xc005dacf60?}, 0x7f32a8041380?)\n\tgithub.com/cometbft/cometbft@v0.37.2/rpc/jsonrpc/server/http_json_handler.go:140
+0x42\nnet/http.HandlerFunc.ServeHTTP(0xc000600000?, {0x40e95b0?, 0xc005dacf60?},
0xc00307d968?)\n\tnet/http/server.go:2136 +0x29\nnet/http.(*ServeMux).ServeHTTP(0xc000600000?,
{0x40e95b0, 0xc005dacf60}, 0xc004f87300)\n\tnet/http/server.go:2514 +0x142\ngithub.com/cometbft/cometbft/rpc/jsonrpc/server.maxBytesHandler.ServeHTTP({{0x40c3660?,
0xc0005ba180?}, 0xd?}, {0x40e95b0?, 0xc005dacf60}, 0xc004f87300)\n\tgithub.com/cometbft/cometbft@v0.37.2/rpc/jsonrpc/server/http_server.go:256
+0x11c\ngithub.com/cometbft/cometbft/rpc/jsonrpc/server.Serve.RecoverAndLogHandler.func1({0x40df760?,
0xc000916540}, 0xc004f87300)\n\tgithub.com/cometbft/cometbft@v0.37.2/rpc/jsonrpc/server/http_server.go:229
+0x26f\nnet/http.HandlerFunc.ServeHTTP(0x432f85?, {0x40df760?, 0xc000916540?}, 0xc000916501?)\n\tnet/http/server.go:2136
+0x29\nnet/http.serverHandler.ServeHTTP({0x40d2398?}, {0x40df760?, 0xc000916540?},
0x6?)\n\tnet/http/server.go:2938 +0x8e\nnet/http.(*conn).serve(0xc006cb3710, {0x40f9660,
0xc004fc3b60})\n\tnet/http/server.go:2009 +0x5f4\ncreated by net/http.(*Server).Serve
in goroutine 97\n\tnet/http/server.go:3086 +0x5cb\n: panic"
The latest commit fixes it.
Please ensure to supply lots of gas with --gas auto --gas-adjustment 2.0 --gas-prices 34251aexo
The last commit resolves this error as well.
Tested 5099fcb8a5b2d9259c0798488e4307be66030c2a, still gets the error here https://github.com/ExocoreNetwork/exocore/pull/46#issuecomment-2084582779.
More investigation: This did not happen on single node running a new chain, happens on the export testnet V1 data and import bootstrap data, and three nodes consensus.
After register operator, it is ok to query operator info with get-operator-info
, but not able to query consensus key get-operator-cons-key
and consensus address get-operator-cons-address
, and there is no info for the new added operator in get-all-operator-cons-addrs
and get-all-operators-by-chain-id
[root@testnet-exochain ~]# exocored query operator get-operator-info exo16hgwvex9jm4ztxpf2d7dee56qd50tch2a84c6a --home ~/.tmp-exocored/
approve_addr: exo16hgwvex9jm4ztxpf2d7dee56qd50tch2a84c6a
client_chain_earnings_addr:
earning_info_list: []
commission:
commission_rates:
max_change_rate: "1.000000000000000000"
max_rate: "1.000000000000000000"
rate: "0.000000000000000000"
update_time: "2024-05-06T10:07:45.065045865Z"
earnings_addr: exo16hgwvex9jm4ztxpf2d7dee56qd50tch2a84c6a
operator_meta_info: operator4
[root@testnet-exochain ~]# exocored query operator get-operator-cons-address exo16hgwvex9jm4ztxpf2d7dee56qd50tch2a84c6a exocoretestnet_233-1 --home ~/.tmp-exocored/
Error: rpc error: code = InvalidArgument desc = no key assigned: invalid request
exocored query operator get-operator-cons-key exo16hgwvex9jm4ztxpf2d7dee56qd50tch2a84c6a exocoretestnet_233-1 --home ~/.tmp-exocored
Error: rpc error: code = InvalidArgument desc = no key assigned: invalid request
[root@testnet-exochain ~]# exocored query operator get-all-operator-cons-addrs exocoretestnet_233-1 --home ~/.tmp-exocored/
operator_cons_addrs:
- cons_addr: exovalcons18z3p42xn8pjk338upvzp794h02wh7p4t7jj9jx
operator_acc_addr: exo18cggcpvwspnd5c6ny8wrqxpffj5zmhklprtnph
pagination:
next_key: null
total: "1"
[root@testnet-exochain ~]# exocored query operator get-all-operators-by-chain-id exocoretestnet_233-1 --home ~/.tmp-exocored/
operator_cons_keys:
- operator_acc_addr: exo18cggcpvwspnd5c6ny8wrqxpffj5zmhklprtnph
public_key:
ed25519: 8PaRnlIsW5fbLIJVv/dD+d/d162fw3ywwWcLSA0PmRQ=
pagination:
next_key: null
total: "1"
BREAKING: the format of storing the previous consensus keys has changed. Previously, they were indexed by operator's AccAddress and chainID. Now they are indexed by the reverse of it, that is, chainID + AccAddress. This is done to ensure easy clearing of the data for each specific AVS.
BREAKING: the prefixSlashAssetsState
and another prefix were sharing
the same value of 5 BytePrefixForOperatorAndChainIDToConsKey
. This has
been fixed.
Test binary: https://github.com/ExocoreNetwork/exocore/pull/46/commits/95bde9820c246ab750e3e0071eb8a1453528ceb9
exocored tx operator opt-into-avs exocoretestnet_233-1 --from dev0 --home ~/.tmp-exocored/ --gas-prices 5000000aexo
exocored tx operator set-cons-key exocoretestnet_233-1 '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"LlzL2PWhXBgDyTuK1qNXhHxy3+dpcq8ZkT9/GSY6318="}' --from dev0 --home ~/.tmp-exocored --gas-prices 5000000aexo
Retesting.
Test Result For https://github.com/ExocoreNetwork/exocore/pull/46/commits/eb2959c17f5ebd7440ce2f0bbbb3e40da114d43d, test scenario:
I cannot reproduce this error. If it doesn't stop consensus, it looks to be an issue in the sender-side of things, especially based on the logs which do not mention anything related to the modules.
Register operator, opt into avs, set consensus key, then initiate key removal and opt-out avs. check the specific operator info and all operator info. [The consensus key still shows ]
That is intentional. It stays till maturity of the unbonding period. However, let me discuss with Timmy again - based on the slashing design this will change.
I cannot reproduce this error. If it doesn't stop consensus, it looks to be an issue in the sender-side of things, especially based on the logs which do not mention anything related to the modules.
I am able to reproduce this error by providing the wrong chain id to the call. This means it is a problem of the sender and not the receiver and is not a cause for concern. It does not stop consensus at all.
The same doesn't hold for tx bank send
which reports a nice clean error. Let me see if we can get that.
Test object: https://github.com/ExocoreNetwork/exocore/pull/46/commits/11a8a960af2947c6e4a49de16cd9e968b917c030
Scenario 1. deployer1 account is under default folder ~/.exocored and no balances, shows key not found
error.
exocored tx operator register-operator --meta-info deployer1 --commission-rate 0 --commission-max-rate 1 --commission-max-change-rate 1 --from deployer1 --node http://localhost:20000 --gas-prices 7aexo
Enter keyring passphrase (attempt 1/3):
Error: rpc error: code = NotFound desc = rpc error: code = NotFound desc = account exo1hn2qgt0yn8g5u4gqrn9myjj4ruae2syk76pvk5 not found: key not found
Scenario 2. testaccount1 has balances, and is under default folder ~/.exocored. register operator successfully.
exocored tx operator register-operator --meta-info testoperator1 --commission-rate 0 --commission-max-rate 1 --commission-max-change-rate 1 --from testaccount1 --node http://localhost:20000 --gas-prices 7aexo
Enter keyring passphrase (attempt 1/3):
auth_info:
fee:
amount:
- amount: "1400000"
denom: aexo
gas_limit: "200000"
granter: ""
payer: ""
signer_infos: []
tip: null
body:
extension_options: []
memo: ""
messages:
- '@type': /exocore.operator.v1.RegisterOperatorReq
from_address: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
info:
approve_addr: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
client_chain_earnings_addr:
earning_info_list: []
commission:
commission_rates:
max_change_rate: "1.000000000000000000"
max_rate: "1.000000000000000000"
rate: "0.000000000000000000"
update_time: "1970-01-01T00:00:00Z"
earnings_addr: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
operator_meta_info: testoperator1
non_critical_extension_options: []
timeout_height: "0"
signatures: []
confirm transaction before signing and broadcasting [y/N]: y
code: 0
codespace: ""
data: ""
events: []
gas_used: "0"
gas_wanted: "0"
height: "0"
info: ""
logs: []
raw_log: '[]'
timestamp: ""
tx: null
txhash: A89DC8B45AB57A87B309CE2FC6A3913B9779831C8EF7C5FBA2B8F4A18C51322C
exocored query operator get-operator-info exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj --n
ode http://localhost:20000
approve_addr: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
client_chain_earnings_addr:
earning_info_list: []
commission:
commission_rates:
max_change_rate: "1.000000000000000000"
max_rate: "1.000000000000000000"
rate: "0.000000000000000000"
update_time: "2024-05-23T08:52:11.854962787Z"
earnings_addr: exo1nkh04qzxed98megzz53xx9a4uju599zg3rw0mj
operator_meta_info: testoperator1
ValidateBasic
as advised by the documentation.x/assets/keeper/app_chain.go
has been removed and replaced (for now) with simple checks thatchainID == ctx.ChainID()
.consensus_keys.go
andopt.go
within the operator keeper is now shared and dependent. Opting into any Cosmos-based chain is therefore a two step process - first, opt into the AVS and then supply a consensus public key separately. Opting out is the reverse of this.x/dogfood
.BREAKING: the format of storing the previous consensus keys has changed. Previously, they were indexed by operator's AccAddress and chainID. Now they are indexed by the reverse of it, that is, chainID + AccAddress. This is done to ensure easy clearing of the data for each specific AVS.
BREAKING: the
prefixSlashAssetsState
and another prefix were sharing the same value of 5BytePrefixForOperatorAndChainIDToConsKey
. This has been fixed.