1

Context:

  1. I own a Safe on 1.1.1 version deployed on Ethereum mainnet at address https://etherscan.io/address/0x65ef7d005f854a4cc0128b5b40edd5c4854c28af

  2. I was the only Signer for this safe at the creation time, and I use a Ledger hardware wallet.

  3. Someone sent funds to the Safe address on BSC

  4. I've tried to replay the transaction to deploy a safe on BSC with the same address. The process looks successful (to be confirmed) as the address now appears to be a contract. https://bscscan.com/address/0x65ef7d005f854a4cc0128b5b40edd5c4854c28af

Problem:

I want to interact with the BSC Safe to transfer the funds but I cannot load it using the production UI. I understand that I could potentially use safe-cli instead to operate the Safe.

  1. I did not manage to load the Safe using safe-cli (receiving an error, as if the Safe was non-existent)
  2. Even if it was loading, I would prefer a different solution since I do not want to compromise my Ledger.

Question:

  1. Is the Safe on BSC successfully deployed?
  2. If yes, what could be the reason why I cannot load it with safe-cli?
  3. Is there a workaround to safe-cli with a native Ledger integration? Like setting up locally an older version of the Safe UI? If yes, which version?
  4. I've stumbled upon this script: https://github.com/virendrapatidar/multisig-delegator (specifically the Ledger version). If I understand well, I could use it to delegate the Safe to a dedicated hot wallet (instead of my Ledger), and then use safe-cli with the new delegate, without compromising my primary Ledger wallet. Could it be a solution?

Thank you so much in advance :)

5
  • "I did not manage to load the Safe using safe-cli (receiving an error, as if the Safe was non-existent)". What was the error you received?
    – Tomiwa
    Commented Feb 5, 2023 at 0:17
  • 1. When looking through the Safe API, seems like there is no safe at my address. (safe-transaction-bsc.safe.global/api/v1/safes/…) 2. When trying "multisig-delegator" my error is now "Safe=0x65ef7D005F854A4CC0128B5b40eDD5c4854c28AF does not exist or it's still not indexed".
    – Gandirham
    Commented Feb 5, 2023 at 22:03
  • In addition, when trying to instantiate the safe with safe-cli, I have the following error. "eth_abi.exceptions.InsufficientDataBytes: Tried to read 32 bytes. Only got 0 bytes"
    – Gandirham
    Commented Feb 5, 2023 at 22:06
  • By reviewing the replayed TX for the Safe creation on BSC, I've noticed that there is no mastercopy contract at the address mentioned on the deployment transaction that was replayed. (bscscan.com/address/0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F). I guess this is a major blocker?
    – Gandirham
    Commented Feb 5, 2023 at 22:08
  • You might have to redeploy your contract. Read this: help.gnosis-safe.io/en/articles/…
    – Tomiwa
    Commented Feb 11, 2023 at 5:19

2 Answers 2

0

Yes, the Safe on BSC has been successfully deployed, as it appears as a contract on BSCScan.

The reason why you cannot load the Safe using safe-cli might be due to a mismatch of network IDs or a lack of configuration in safe-cli.

Using a older version of the Safe UI might not work as the integration with Ledger hardware wallet has been updated in recent versions.

Yes, This Repository could be a solution for you as it allows delegation to a hot wallet without compromising your primary Ledger wallet. By delegating the Safe, you can interact with it using safe-cli without compromising the security of your Ledger hardware wallet.

2
  • Please see my comments on the original post.
    – Gandirham
    Commented Feb 5, 2023 at 22:06
  • The error Safe does not exist or it's still not indexed might be because the contract is not deployed correctly. if it is then it might not be indexed properly. and if there is no mastercopy of the contract it might be the reason of why it is not working properly. you can try to deploy a new contact on BSC to check if that will resolve these errors
    – AmariS1
    Commented Feb 6, 2023 at 1:40
0

If yes, what could be the reason why I cannot load it with safe-cli?

That depends on a lot of things. What is the error message you received? What OS are you running? What version of the CLI are you running? etc.

I've stumbled upon this script: https://github.com/virendrapatidar/multisig-delegator... I could use it to delegate the Safe to a dedicated hot wallet, and then use safe-cli with the new delegate. Could it be a solution?

Yes. In fact, I have a potential solution to both of your questions. It's something I've been experimenting with recently. You could run the safe-cli in a cloud environemnt. I made a notebook that allows you to run the safe-cli in a cloud server that way you don't have to worry about OS specific issues that occur when you install a package locally.

You can use it by just adding your desired address and node url operations. Works easily for read only operations like seeing your Safe balance.

The caveat is that if you want to write/execute a transaction, it requires you to enter your private key. Although it uses getpass to offer some degree of obfuscation, it's not perfect.

If you are worried about security of entering private key in a cloud server, here's my suggestion:

  1. Create a "temporary/disposable" signing account.
  2. Give it delegate permissions to do whatever you need. You could use multisig-delegator for this.
  3. Use that signing account in the cloud server to execute transactions
  4. Remove the signing account when finished.
2
  • Thank you. It definitely looks like the appropriate approach. Unfortunately, I cannot interact with the (replayed) safe on BSC. Looks like a mastercopy is missing. I am stuck at this point. Do you have an idea? (+see my comments on original message)
    – Gandirham
    Commented Feb 5, 2023 at 22:11
  • Makes sense. I've replied there.
    – Tomiwa
    Commented Feb 11, 2023 at 5:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.