npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@evmcrispr/module-safe

v0.11.0

Published

Safe multisig operations: propose and execute transactions, manage owners and threshold, attach guards, and install Zodiac modules.

Readme

safe module

Safe multisig operations: propose and execute transactions, manage owners and threshold, attach guards, and install Zodiac modules.

⚗️ Experimental — available at next.evmcrispr.com.

load safe

Configuration variables

Config variables are set with set (fully qualified, including the module prefix) and are only readable by their own module and the user script.

| Variable | Type | Default | Description | |----------|------|---------|-------------| | $safe:serviceUrl | string | — | Custom Safe transaction-service endpoint for the current chain. | | $safe:apiKey | string | — | API key sent to the Safe transaction service. |

Commands

| Command | Description | |---------|-------------| | safe:add-owner | Add an owner to the Safe, optionally updating the threshold (keeps the current one by default). | | safe:change-threshold | Change the signature threshold of the Safe. | | safe:delegate-exec | Call a contract function via DELEGATECALL from the Safe. The code runs in the storage context of the Safe — only use audited libraries you trust. | | safe:disable-module | Disable a module on the Safe. | | safe:enable-module | Enable a module on the Safe, allowing it to execute transactions without owner signatures (e.g. a Zodiac module). | | safe:execute | Execute a Safe transaction on-chain: either a block of commands (connected owner of a 1-threshold Safe) or a fully-confirmed queued transaction by its hash. | | safe:install-delay | Deploy a Zodiac Delay modifier (timelock) owned by the Safe and enable it as a module. | | safe:install-roles | Deploy a Zodiac Roles modifier (fine-grained permissions) owned by the Safe and enable it as a module. | | safe:install-scope-guard | Deploy a Zodiac ScopeGuard owned by the Safe and set it as the transaction guard of the Safe, limiting which targets and functions owners can call. | | safe:new | Deploy a new Safe (v1.4.1 L2 singleton) with the given owners, at a deterministic address. | | safe:propose | Propose a transaction to the Safe queue through the Safe Transaction Service, signed by the connected owner or delegate. | | safe:remove-guard | Remove the transaction guard of the Safe. | | safe:remove-owner | Remove an owner from the Safe, lowering the threshold if it would exceed the remaining owners. | | safe:set-fallback-handler | Set the fallback handler contract of the Safe. | | safe:set-guard | Set a transaction guard on the Safe: a contract that checks every transaction before and after execution (e.g. a Zodiac ScopeGuard). | | safe:swap-owner | Replace an owner of the Safe with a new address. | | safe:verify | Recompute the EIP-712 domain, message and safeTxHash of a queued Safe transaction locally, check them against the Safe Transaction Service and flag dangerous fields, so signers can verify what their wallet displays. | | safe:verify-message | Compute the EIP-712 hashes of an off-chain Safe message (plain string or typed-data JSON) so signers can verify what their wallet displays. |

Helpers

| Helper | Returns | Description | |--------|---------|-------------| | @safe:guard | address | Return the transaction guard address of a Safe (the zero address when no guard is set). | | @safe:isOwner | bool | Return whether an address is an owner of a Safe. | | @safe:messageHash | bytes32 | Return the SafeMessage hash of an off-chain message (plain string or typed-data JSON), as signed by Safe owners or SignMessageLib. | | @safe:modules | array | Return the enabled module addresses of a Safe. | | @safe:nonce | number | Return the current on-chain nonce of a Safe. | | @safe:owners | array | Return the owner addresses of a Safe. | | @safe:threshold | number | Return the signature threshold of a Safe. |