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

gas-advance-snap

v1.0.1

Published

MetaMask Snap for GasAdvance - ERC-7715 Permission Management

Readme

GasAdvance MetaMask Snap

MetaMask Snap extension for managing ERC-7715 permissions and monitoring gas sponsorship for GasAdvance.

Features

  • Permission Management: Grant and revoke ERC-7715 gas recovery permissions
  • Status Monitoring: Check gas sponsorship status and remaining allowances
  • Recovery History: View gas recovery transaction history
  • Notifications: Get alerts when permissions are used or limits are reached

Installation

cd snap
npm install

Development

# Build the Snap
npm run build

# Start development server with hot reload
npm run start

# Serve the Snap for testing
npm run serve

Usage

From a Dapp

// Install the Snap
const snapId = await window.ethereum.request({
  method: 'wallet_requestSnaps',
  params: {
    'npm:gas-advance-snap': {},
  },
});

// Grant a permission
const result = await window.ethereum.request({
  method: 'wallet_invokeSnap',
  params: {
    snapId: 'npm:gas-advance-snap',
    request: {
      method: 'grantPermission',
      params: {
        token: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', // USDC
        dailyLimit: '2000000', // $2 in USDC (6 decimals)
        duration: 7 * 24 * 60 * 60, // 7 days
      },
    },
  },
});

// Get permissions
const permissions = await window.ethereum.request({
  method: 'wallet_invokeSnap',
  params: {
    snapId: 'npm:gas-advance-snap',
    request: {
      method: 'getPermissions',
    },
  },
});

// Get gas sponsorship status
const status = await window.ethereum.request({
  method: 'wallet_invokeSnap',
  params: {
    snapId: 'wallet_invokeSnap',
    request: {
      method: 'getGasStatus',
    },
  },
});

RPC Methods

  • grantPermission - Grant a new ERC-7715 permission
  • revokePermission - Revoke an existing permission
  • getPermissions - Get all user's permissions
  • getGasStatus - Get gas sponsorship status
  • getRecoveryHistory - Get gas recovery history

Contract Addresses

The Snap uses the following contract addresses on Sepolia:

  • GasRecoveryExecutor: 0xfFe8625d50BF8c518f4151e63A3316f316302081
  • SimpleGasSponsor: 0x17c985d17586808d568df79f0D134dB18DE763f4
  • USDC: 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238

Security

  • All transactions require user confirmation
  • Permissions are stored locally in Snap state
  • Contract interactions are read-only where possible
  • Write operations require explicit user approval