EOSIO / eos

An open source smart contract platform
https://developers.eos.io/manuals/eos
MIT License
11.27k stars 3.6k forks source link

multisig configured account error #9055

Closed varshadqz closed 4 years ago

varshadqz commented 4 years ago

I am following the given tutorial of multisig : https://steemit.com/eos/@genereos/eos-multisig-tutorial And I am stuck for the command

cleos multisig exec partner11111 payme -p partner11111@active

I have the same name accounts as in the tutorial. For running this command it gives error:

Error 3090003: Provided keys, permissions, and delays do not satisfy declared authorizations Ensure that you have the related private keys inside your wallet and your wallet is unlocked. Error Details: transaction declares authority '{"actor":"mymultisig11","permission":"active"}', but does not have signatures for it under a provided delay of 0 ms, provided permissions [{"actor":"eosio.msig","permission":"eosio.code"}], provided keys [], and a delay max limit of 3888000000 ms pending console output:

Wallets are unlocked, keys are imported. Can anyone please help me with this error.

zma commented 4 years ago

Hi @varshadqz I tried the tutorials steps and the results are expected (with one small change to command cleos multisig review partner11111 payme -p partner22222@active by removing -p partner22222@active which is not required). Can you try again and list all the commands you executed and the results?

zma commented 4 years ago

BTW: please check whether you set the eosio.msig account as privileged one by

cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active

If it is not privileged one, it may report errors as you saw.

varshadqz commented 4 years ago

Hi @zma thanx for the reply. For this:

Hi @varshadqz I tried the tutorials steps and the results are expected (with one small change to command cleos multisig review partner11111 payme -p partner22222@active by removing -p partner22222@active which is not required). Can you try again and list all the commands you executed and the results?

This change is already done by me. Thanx

varshadqz commented 4 years ago

BTW: please check whether you set the eosio.msig account as privileged one by

cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active

If it is not privileged one, it may report errors as you saw.

For this command I am having following error:

error 2020-05-07T07:45:04.890 cleos main.cpp:4013 main ] Failed with error: Assert Exception (10) !action_type.empty(): Unknown action setpriv in contract eosio

zma commented 4 years ago

For this command I am having following error:

error 2020-05-07T07:45:04.890 cleos main.cpp:4013 main ] Failed with error: Assert Exception (10) !action_type.empty(): Unknown action setpriv in contract eosio

It's an action from the system contract - https://github.com/EOSIO/eosio.contracts/blob/master/contracts/eosio.system/src/eosio.system.cpp#L119 . If the system contract is not deployed, you need to deploy it first. Here is a tutorial https://developers.eos.io/welcome/latest/tutorials/bios-boot-sequence/ .

varshadqz commented 4 years ago

Deploying eosio.system contract using command:

cleos set contract eosio /home/varshakhandre14/contracts/newcontract/eosio.contracts/build/contracts/eosio.system/

stuck with error:

error 2020-05-12T10:25:58.871 cleos main.cpp:4013 main ] Failed with error: deadline 2020-05-12T10:25:58.869 exceeded by 86us (2) deadline 2020-05-12T10:25:58.869 exceeded by 86us

Added transaction execution time in config.ini still getting the same issue.

heifner commented 4 years ago

deadline ... exceeded by ..us error is do to the limit set by http-max-response-time-ms which defaults to 30ms. Increase this setting.

varshadqz commented 4 years ago

deadline ... exceeded by ..us error is do to the limit set by http-max-response-time-ms which defaults to 30ms. Increase this setting.

My current settings are http-max-response-time-ms=1000and max-transaction-time = 1000. I guess 1000 is more than enough or I need to increase more?

varshadqz commented 4 years ago

BTW: please check whether you set the eosio.msig account as privileged one by

cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active

If it is not privileged one, it may report errors as you saw.

For this command I am having following error:

error 2020-05-07T07:45:04.890 cleos main.cpp:4013 main ] Failed with error: Assert Exception (10) !action_type.empty(): Unknown action setpriv in contract eosio

Hey, @zma thanx! after setting eosio.msig account as privileged, the transaction gets executed.

varshadqz commented 4 years ago

I have one confusion. I was trying to set cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active before it was giving error. Then I follow https://developers.eos.io/welcome/latest/tutorials/bios-boot-sequence to deploy eosio.system contract. According to this tutorial before we need to deploy system contract old version then deploy system contract new version. Old version system contract is deployed but the new version did not get deployed either giving deadline ... exceeded by ..us error. At this point, cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active and cleos multisig exec partner11111 payme -p partner11111@active commands executed successfully. Is this normal, even if the system contract new version is not deployed?

zma commented 4 years ago

Glad to know it works for you now.

I have one confusion. I was trying to set cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active before it was giving error. Then I follow https://developers.eos.io/welcome/latest/tutorials/bios-boot-sequence to deploy eosio.system contract. According to this tutorial before we need to deploy system contract old version then deploy system contract new version. Old version system contract is deployed but the new version did not get deployed either giving deadline ... exceeded by ..us error. At this point, cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active and cleos multisig exec partner11111 payme -p partner11111@active commands executed successfully. Is this normal, even if the system contract new version is not deployed?

It sounds your new system contract version was deployed because the setpriv action can be called.

It is possible the transaction for deploying contract was executed successfully. The time out is the communication between cleos and the nodeos.

You may try to update the system contract again. If it is already updated, you will get messages fro cloes like

Skipping set code because the new code is the same as the existing code
Skipping set abi because the new abi is the same as the existing abi
no transaction is sent

Did you try to set http-max-response-time-ms as @heifner suggested? It may help.

varshadqz commented 4 years ago

Glad to know it works for you now.

I have one confusion. I was trying to set cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active before it was giving error. Then I follow https://developers.eos.io/welcome/latest/tutorials/bios-boot-sequence to deploy eosio.system contract. According to this tutorial before we need to deploy system contract old version then deploy system contract new version. Old version system contract is deployed but the new version did not get deployed either giving deadline ... exceeded by ..us error. At this point, cleos push action eosio setpriv '{"account":"eosio.msig","is_priv":"1"}' -p eosio@active and cleos multisig exec partner11111 payme -p partner11111@active commands executed successfully. Is this normal, even if the system contract new version is not deployed?

It sounds your new system contract version was deployed because the setpriv action can be called.

It is possible the transaction for deploying contract was executed successfully. The time out is the communication between cleos and the nodeos.

You may try to update the system contract again. If it is already updated, you will get messages fro cloes like

Skipping set code because the new code is the same as the existing code
Skipping set abi because the new abi is the same as the existing abi
no transaction is sent

Did you try to set http-max-response-time-ms as @heifner suggested? It may help.

Yes, I already tried http-max-response-time-ms. Anyways, Thank you for your answer.