Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Allows to easily create tx to be signed through CLI and submitted on a Safe

License

NotificationsYou must be signed in to change notification settings

morpho-org/safer

Repository files navigation

Safer is a tool that helps you sign & submit transactions to a Safe, without requiring any interaction with Safe's backend or frontend.

Safer is a set of Foundry scripts that can be used as fallback in case Safe App is down and the blockchain is the only thing that can be trusted.

Safer enables submitting complex transactions without the need of intermediaries.

Safer unlocks true DAO resilience.

Getting Started

  • InstallFoundry.
  • Runmake to initialize the repository.
  • Create a.env file from the template.env.example file.
    • Set the environment variableSENDER to the address used to execute the transaction on the Safe. If you don't execute the tx, you don't need to set it.
    • Use the environment variableSAFE_NONCE to override a transaction's nonce. Remove it to use the default, latest Safe nonce. Leave it blank to use nonce 0.
    • Use the environment variableFOUNDRY_ETH_RPC_URL to customize the RPC endpoint used. This is useful to interact with a Safe deployed on another chain than Ethereum mainnet (the default one).

Build a Safe tx

  • Runmake tx and follow the steps to create a Safe transaction usingcreate-safe-tx; OR
  • Put the transaction's raw data indata/tx.json

Sign a Safe tx

  1. To sign the data with a Ledger, run:make sign:ledger
  2. Share the content ofdata/signatures.txt with the signer who will execute the transaction on the Safe

Batch signatures and execute transaction

  1. Make sure at leastthreshold signatures are available indata/signatures.txt, each one per line
  2. To execute the transaction on the Safe with a Ledger, run:make exec:ledger

Advanced options

Hardware Wallet support

Withmake sign &make exec, one can also use any other wallet provider available withcast:

  • make cmd:interactive to input the private key to the command prompt
  • make cmd:ledger to use a Ledger
  • make cmd:trezor to use a Trezor
  • make cmd:keystore to use a keystore
  • make cmd:"private-key 0x..." if you really want to save your private key to your shell's history...

You can also append anycast parameter:

  • make sign:"ledger --mnemonic 1 --mnemonic-index 1" ormake exec:"ledger --mnemonics foo --mnemonic-indexes 1" to use another account than the default one at index0

Transaction details

{"to":"0x0000000000000000000000000000000000000000","value":"0",// The tx value (in ETH), must be a string"data":"0x",// The raw tx data, must start with 0x"operation":0,// 0 for a call, 1 for a delegatecall"safeTxGas":0,"baseGas":0,"gasPrice":0,"gasToken":"0x0000000000000000000000000000000000000000",// Indicates the tx will consume the chain's default gas token (ETH on mainnet)"refundReceiver":"0x0000000000000000000000000000000000000000"// Indicates the tx's refund receiver will be the address executing the tx}

About

Allows to easily create tx to be signed through CLI and submitted on a Safe

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp