Closed wangsai-silence closed 2 months ago
curl --location 'https://lcd.orai.io/cosmos/tx/v1beta1/txs' \ --header 'X-Token: b8d2b943cede474c8d7456a1209ca50c' \ --header 'chainId: orai' \ --header 'Content-Type: application/json' \ --data '{ "tx_bytes": "CpIBCo8BChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEm8KK29yYWkxN2p0NTJ1MHhxdmw0MDQ2c3lscWV0eGo1OTU4bDJ4OHpqOWhtOXQSK29yYWkxeGVtdnF0cTZxM2hjd2w2ZG5jZDNqNnpwZ2ZlbmZzamc5bnN3d2MaEwoEb3JhaRILNDQ0MDAwMDAwMDASgwMK7AIK0AIKKS9jb3Ntb3MuY3J5cHRvLm11bHRpc2lnLkxlZ2FjeUFtaW5vUHViS2V5EqICCAISRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiECrIfMcIgTI4rJ9XP8cWYFpFGq0rgGntDPdB9MUw/QseoSRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEC8CKxuVPSpCstW8bykJFUxtD06WP87vIWjCTPJwmpNZsSRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEC5P0LtzioI7w1wKPgiezfu5FsibKmYIU06rCBarA06vUSRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDDy3+nyjpxLME2S36OqKlfKO+kkGlK2NienXA+FCpoOISFRITCgUIBBIBwBIECgIIfxIECgIIfxgfEhIKDAoEb3JhaRIEMTAwMBCgjQYahAEKQEKzXvcey0JEwMLgB04vB0ghGz4PNkx/wgM8IUmglXGFMoePc5dm/oyJkxiFV4t5xZK59iLH+kZzh5x3bfM0UzYKQBU9mUHIZItS6Db1Rp98SJKBS+8HI2BwZvHx0Dxtu4WHNFYkZ6VgWwjza7Kb54DW2v3MPX+qoyAws5Vn7udznF0=", "mode": "BROADCAST_MODE_BLOCK" }'
This is a raw tx alredy be sent to chain two weeks ago and executed properly. But when I tried to broadcast it today with new node version, I got a unexpected error from node
"raw_log": "Invalid pubkey type: PubKeyMultisigThreshold: invalid pubkey"
.I get same error when using a newly build multisg tx.
Please check method TestVerifyMultisignature
for the correction
curl --location 'https://lcd.orai.io/cosmos/tx/v1beta1/txs' \ --header 'X-Token: b8d2b943cede474c8d7456a1209ca50c' \ --header 'chainId: orai' \ --header 'Content-Type: application/json' \ --data '{ "tx_bytes": "CpIBCo8BChwvY29zbW9zLmJhbmsudjFiZXRhMS5Nc2dTZW5kEm8KK29yYWkxN2p0NTJ1MHhxdmw0MDQ2c3lscWV0eGo1OTU4bDJ4OHpqOWhtOXQSK29yYWkxeGVtdnF0cTZxM2hjd2w2ZG5jZDNqNnpwZ2ZlbmZzamc5bnN3d2MaEwoEb3JhaRILNDQ0MDAwMDAwMDASgwMK7AIK0AIKKS9jb3Ntb3MuY3J5cHRvLm11bHRpc2lnLkxlZ2FjeUFtaW5vUHViS2V5EqICCAISRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiECrIfMcIgTI4rJ9XP8cWYFpFGq0rgGntDPdB9MUw/QseoSRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEC8CKxuVPSpCstW8bykJFUxtD06WP87vIWjCTPJwmpNZsSRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEC5P0LtzioI7w1wKPgiezfu5FsibKmYIU06rCBarA06vUSRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiEDDy3+nyjpxLME2S36OqKlfKO+kkGlK2NienXA+FCpoOISFRITCgUIBBIBwBIECgIIfxIECgIIfxgfEhIKDAoEb3JhaRIEMTAwMBCgjQYahAEKQEKzXvcey0JEwMLgB04vB0ghGz4PNkx/wgM8IUmglXGFMoePc5dm/oyJkxiFV4t5xZK59iLH+kZzh5x3bfM0UzYKQBU9mUHIZItS6Db1Rp98SJKBS+8HI2BwZvHx0Dxtu4WHNFYkZ6VgWwjza7Kb54DW2v3MPX+qoyAws5Vn7udznF0=", "mode": "BROADCAST_MODE_BLOCK" }'
This is a raw tx alredy be sent to chain two weeks ago and executed properly. But when I tried to broadcast it today with new node version, I got a unexpected error from node
"raw_log": "Invalid pubkey type: PubKeyMultisigThreshold: invalid pubkey"
. I get same error when using a newly build multisg tx.Please check method
TestVerifyMultisignature
for the correction
My code works well with other comsos chains and old version orai chain. I think it's a bug from oraichain. Error occurs at this line: https://github.com/oraichain/ethermint/blob/3a9a2f2dabad466c267b8c3a421d4f146dc5a20a/app/ante/eip712.go#L191 . I don't think my tx has any relation with evm
@wangsai-silence thank you for reporting. I understand the problem now. it was this function: https://github.com/oraichain/ethermint/blob/3a9a2f2dabad466c267b8c3a421d4f146dc5a20a/x/evm/keeper/keeper.go#L443
We didn't think there would be a different pubkey type other than secp256k1
and eth_secp256k1
. In your case, the multisig transaction is in the fallback case, which causes the error.
We'll fix it in the upcoming upgrade asap.
hey, can i work on this issue ? if yes can someone explain more about it
@naman1402 Hi mate, we have fixed the issue via this commit: https://github.com/oraichain/ethermint/commit/7e4df27e54fd77ca460fd339ff4d3feb2d3d9e64
Basically, we added a fallback case when converting the pubkey to a AccAddress
so that it covers all cases including the multi-sign pubkey type.
This is a raw tx alredy be sent to chain two weeks ago and executed properly. But when I tried to broadcast it today with new node version, I got a unexpected error from node
"raw_log": "Invalid pubkey type: PubKeyMultisigThreshold: invalid pubkey"
.I get same error when using a newly build multisg tx.