@prepaid-gas/constants
v0.0.6
Published
Shared constants for Prepaid Gas packages
Maintainers
Readme
@prepaid-gas/constants
Shared constants, contract ABIs, and network configurations for the Prepaid Gas packages.
Installation
npm install @prepaid-gas/constantsQuick Start
Using Contract ABIs
import {
GAS_LIMITED_PAYMASTER_ABI,
ONE_TIME_USE_PAYMASTER_ABI,
CACHE_ENABLED_GAS_LIMITED_PAYMASTER_ABI,
} from '@prepaid-gas/constants';
import { createPublicClient, http } from 'viem';
const client = createPublicClient({
chain: baseSepolia,
transport: http(),
});
// Read from paymaster contract
const scope = await client.readContract({
abi: GAS_LIMITED_PAYMASTER_ABI,
address: '0x3BEeC075aC5A77fFE0F9ee4bbb3DCBd07fA93fbf',
functionName: 'SCOPE',
});Network Configuration
import { getNetworkPreset, getSupportedChainIds, BASE_SEPOLIA_PRESET } from '@prepaid-gas/constants';
// Get configuration for Base Sepolia
const config = getNetworkPreset(84532);
console.log(config?.paymasterAddress.GasLimitedPaymaster);
// Use preset directly
console.log(BASE_SEPOLIA_PRESET.paymasterAddress.GasLimitedPaymaster);
// "0xA1c868aD7fae4159f07493df22E5004aaDb5467D"Constants
import { POST_OP_GAS_LIMIT, POOL_ROOT_HISTORY_SIZE, EXPECTED_PAYMASTER_DATA_SIZE } from '@prepaid-gas/constants';
console.log('Post-op gas limit:', POST_OP_GAS_LIMIT); // 65000n
console.log('Pool root history size:', POOL_ROOT_HISTORY_SIZE); // 64
console.log('Paymaster data size:', EXPECTED_PAYMASTER_DATA_SIZE); // 448Available Exports
Contract ABIs
GAS_LIMITED_PAYMASTER_ABI- Multi-use gas credits with limitsONE_TIME_USE_PAYMASTER_ABI- Single-use credits with nullifier trackingCACHE_ENABLED_GAS_LIMITED_PAYMASTER_ABI- Optimized multi-use with caching
Network Presets
BASE_SEPOLIA_PRESET- Base Sepolia network configurationgetNetworkPreset(chainId)- Get preset by chain IDgetSupportedChainIds()- List supported chain IDs
Constants
POST_OP_GAS_LIMIT- Gas limit for post-operation processing (65000n)POOL_ROOT_HISTORY_SIZE- Number of Merkle roots to maintain (64)EXPECTED_PAYMASTER_DATA_SIZE- Size of paymaster data in bytes (448)CONFIG_SIZE,PRIVACY_PROOF_SIZE- Data structure sizes
Network Types
import type { ChainId, NetworkPreset, PaymasterType } from '@prepaid-gas/constants';Supported Networks
| Network | Chain ID | Status | | ------------ | -------- | --------- | | Base Sepolia | 84532 | ✅ Active |
License
MIT
