I am forking mainnet so that I can simulate a proposal to a DAO via multisig that I do not own, using hardhat, ethers, and typescript. When I create a transaction, there's no way to set up a Safe transaction service for an L1 mainnet fork to my knowledge--the safe-infrastructure repository in github appears to be L2 only.

How can I test multisig transactions on a forked mainnet for a multisig I don't own? The Safe transaction service doesn't work for my local hardhat fork, and I can't run an L1 tx service locally.

Edit in response to comment: SafeService is part of '@safe-global/api-kit' and is a programmatic way to connect to a Safe transaction service that manages signatures and proposals. However, initializing the SafeService requires the URI of the service itself, like 'https://safe-transaction-mainnet.safe.global', which is listed on Safe's website. It's a separate service on some cloud server.

I'd have to run a local version of the minimal tx service backend from this repo: https://github.com/safe-global/safe-infrastructure BUT it's only for L2s! So no forked mainnet, I don't think? Any ideas?

  • Where are the signature code/patern used? Jun 15 at 17:00
  • Please see clarification above in question body.
    – Morgan W
    Jun 15 at 20:19


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.