sui icon indicating copy to clipboard operation
sui copied to clipboard

Support for MoveCall and Contract-Upgrade via Multi-Signature

Open LeviHHH opened this issue 2 years ago • 4 comments

Description

We are currently using Multi-Signature account to upgrade our contract and manage it as an admin. However, we have encountered an issue with sui tools as they do not yet support MoveCall and Package-upgrade. We are in urgent need of this feature and would like to request that it be added to the sui tools.

MoveCall and Package-upgrade are critical functionalities that would enable us to efficiently manage our contract and upgrade it as needed. We believe that the inclusion of these features in sui tools would greatly enhance our experience and make it easier for us to manage our contract.

Furthermore, this functionality will be also needed for other teams when mainnet launch. It will increase the overall security of all protocols deployed to sui network.

We would appreciate it if the sui tools team could prioritize the addition of MoveCall and Package-upgrade support in Multi-Signature account. We are looking forward to hearing from you soon.

LeviHHH avatar Apr 21 '23 03:04 LeviHHH

And why dest sui tools not support import/export private key?

LeviHHH avatar Apr 21 '23 03:04 LeviHHH

Would you mind sharing more detail about which tools do not support multi-sig? In the CLI, you should be able to do an upgrade with a multi-sig account like this:

sui client upgrade <my_package> -- serialize-output # will dump base64 tx
sui keytool sign --data <base64_tx> --address <my_multi_sig_address>

sblackshear avatar Apr 22 '23 16:04 sblackshear

Would you mind sharing more detail about which tools do not support multi-sig? In the CLI, you should be able to do an upgrade with a multi-sig account like this: ...

I ran sui client upgrade --upgrade-capability <UPGRADE_CAPABILITY> --gas-budget 500000000 <my_package> --serialize-output, but got error:

error: Found argument '--serialize-output' which wasn't expected, or isn't valid in this context

        If you tried to supply `--serialize-output` as a value rather than a flag, use `-- --serialize-output`

USAGE:
    sui client upgrade --upgrade-capability <UPGRADE_CAPABILITY> --gas-budget <GAS_BUDGET> --skip-fetch-latest-git-deps <package_path>

Is this feature new? I'm using the version from a week ago.

LeviHHH avatar Apr 23 '23 03:04 LeviHHH

My mistake--I thought --serialize-output was a global option, but I see that it was specific to publish and was indeed not supported by upgrade.

I put up https://github.com/MystenLabs/sui/pull/11233 to make all tx construction commands support --serialize-output.

sblackshear avatar Apr 23 '23 16:04 sblackshear