Multi-Sig Guidance

On the testnet, I performed the multi-sig example illustrated at: Secret Network Light Client | Secret Network

That worked fine for a transaction sending a token from one address to another.

I then wanted to try controlling minting of a SNIP-20 token via multi-signature. I used the "Configurable SNIP-20 Token Contract at: GitHub - baedrik/configurable-snip20: A base SNIP-20 implementation that allows you to specify during creation whether you want your token to have a public total supply, the ability to convert SCRT to the token, the ability to convert the token to SCRT, mint ability, and/or burn ability

Added a multi-signature public key using the token contract’s “add_minters” function.
That worked fine.

I then attempted to create an offline transaction to mint tokens using:

secretcli tx compute execute secret15m0feupa7nrk3gl8kzep38vecxr7lzuhv6dyfg ‘{“mint”: {“recipient”:“secret1jpsxlfzwthky48rq5fffq84fx84gxy8vhxf4xf”,“amount”:“1000000000000”,“memo”:“testing”}}’ --from=secret14m2pfpe20fsw7f0anctgyyzhhmk6mz69wpkdqa --generate-only > unsignedTx.json

I received the following error:
ERROR: missing flag --enclave-key. To create an offline transaction, you must specify path to the enclave key.

I’m thinking the “tx compute execute” is a little more involved than the “tx send” requiring references to TEEs (path to enclave key?). I’m thinking I need to dig a little deeper into the computational privacy aspects of the protocol. However, I believe that there are several legitimate use cases for multi-sig control for computational operations.

I’m fairly new to the Secret Network and could benefit from guidance of those more knowledgeable. Can anyone point me to information that may help me get a handle on how to properly do this on the Secret Network?

Thanks in advance,

maxkoda

Hey there Max!
The --enclave-key flag requires specifying a path to the io-master-cert.der file. You can retrieve this file, as well as node-master-cert.der from the chain by running this command in your home directory:

secretcli q register secret-network-params

After you ran this command, add --enclave-key ~/io-master-cert.der to your original command.

You may also need to add:

  • --chain-id secret-2
  • --code-hash $SXMR_CODE_HASH
  • --account-number $YOUR_ACCOUNT_NUMBER

You can get the account number by running:

secretcli q account $YOUR_ADDRESS

Let us know if you run into any more trouble! Happy to help :slight_smile:

Thank you. I’ll try that and let you know if I have any additional questions.

Thanks again!

1 Like

Worked! I was able to successfully control the minting with multi-sig.

Thank you very much for your assist reuven! Much appreciated.

3 Likes