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

eip7702-tool

v3.4.1

Published

πŸ”₯ EIP-7702 Wallet Toolkit β€” 29 jaringan + deteksi EIP-7702 per RPC, cek WL/allowlist airdrop, jelajahi OpenSea, create wallets, send ETH/tokens, delegate EOA, batch execute, rescue assets, revoke delegation & approvals, wizard deploy ERC-20/721/1155, PK9

Readme

Typing SVG


πŸš€ Quick Start

Tanpa install (via npx):

npx eip7702-tool

Atau dari source:

git clone https://github.com/nemoobc/EIP-7702-TOOL.git
cd EIP-7702-TOOL
npm install
npm start

Butuh Node.js v18+. Untuk fitur Mining PoW: npm install --include=optional (solver native).

Pertama kali? Pilih menu 2. Create Wallet, lalu funding di Sepolia via menu 17. Mining POW atau faucet. Default network sudah Sepolia testnet β€” aman untuk eksperimen.


✨ Fitur


🌐 Jaringan

30 jaringan bawaan. Kolom EIP-7702 berarti apakah RPC default-nya benar-benar memproses transaksi tipe-4 β€” diverifikasi dengan probe langsung, bukan asumsi (lihat audit/probe-final.json).

Tool selalu memverifikasi ulang RPC aktif saat dipakai dan menampilkan statusnya.

πŸ”΄ Mainnet β€” konfirmasi "YA" WAJIB

| Network | Chain ID | Native | EIP-7702 | RPC default | |:--|--:|:--|:--:|:--| | Ethereum | 1 | ETH | βœ… | ethereum-rpc.publicnode.com | | Arbitrum One | 42161 | ETH | βœ… | arb1.arbitrum.io/rpc | | OP Mainnet | 10 | ETH | βœ… | mainnet.optimism.io | | Base | 8453 | ETH | βœ… | mainnet.base.org | | Polygon | 137 | POL | βœ… | 1rpc.io/matic | | BNB Smart Chain | 56 | BNB | βœ… | bsc-dataseed.bnbchain.org | | Linea | 59144 | ETH | βœ… | rpc.linea.build | | Scroll | 534352 | ETH | βœ… | rpc.scroll.io | | Mantle | 5000 | MNT | βœ… | rpc.mantle.xyz | | Celo | 42220 | CELO | βœ… | forno.celo.org | | Gnosis | 100 | xDAI | βœ… | rpc.gnosischain.com | | Taiko | 167000 | ETH | βœ… | rpc.mainnet.taiko.xyz | | Berachain | 80094 | BERA | βœ… | rpc.berachain.com | | zkSync Era | 324 | ETH | ❌ | mainnet.era.zksync.io | | Blast | 81457 | ETH | ❌ | rpc.blast.io | | Mode | 34443 | ETH | ❌ | mainnet.mode.network | | Avalanche C-Chain | 43114 | AVAX | ❌ | api.avax.network/ext/bc/C/rpc | | Metis | 1088 | METIS | ❌ | andromeda.metis.io/?owner=1088 | | Zora | 7777777 | ETH | ❌ | rpc.zora.energy | | Robinhood Chain | 4663 | ETH | βœ… | rpc.mainnet.chain.robinhood.com |

🟒 Testnet

| Network | Chain ID | EIP-7702 | RPC default | |:--|--:|:--:|:--| | Sepolia (default) | 11155111 | βœ… | ethereum-sepolia-rpc.publicnode.com | | Hoodi | 560048 | βœ… | ethereum-hoodi-rpc.publicnode.com | | Arbitrum Sepolia | 421614 | βœ… | sepolia-rollup.arbitrum.io/rpc | | OP Sepolia | 11155420 | βœ… | sepolia.optimism.io | | Base Sepolia | 84532 | βœ… | sepolia.base.org | | Polygon Amoy | 80002 | βœ… | polygon-amoy-bor-rpc.publicnode.com | | BNB Testnet | 97 | βœ… | data-seed-prebsc-1-s1.bnbchain.org:8545 | | Avalanche Fuji | 43113 | ❌ | api.avax-test.network/ext/bc/C/rpc | | Gnosis Chiado | 10200 | βœ… | rpc.chiadochain.net |

πŸ”΅ Lokal

Local (anvil/hardhat) β€” chainId 31337, RPC http://127.0.0.1:8545

Jaringan yang TIDAK mendukung EIP-7702 masih bisa dipakai untuk kirim ETH/token dan deploy kontrak biasa. Hanya fitur delegasi (menu 1, 8, 9, 14, dan mode sponsor menu 18) yang tidak bisa.

Holesky (17000) dihapus dari daftar. Testnet ini deprecated sejak September 2025 dan endpoint publiknya sudah mati (dicek 2026-09-29). Gunakan Hoodi.

πŸ—οΈ Cara Kerja EIP-7702

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”   sign auth    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   type-4 tx   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   EOA   β”‚ ─────────────► β”‚ Authorizationβ”‚ ────────────► β”‚ Kode akun   β”‚
β”‚ (target)β”‚                β”‚ {chainId,    β”‚               β”‚ 0xef0100β€–implβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                β”‚  impl,nonce} β”‚               β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                      β”‚ delegatecall
                     sponsor bayar gas ─────────►        β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                                                         β”‚ Kontrak implβ”‚
                                                         β”‚ rescue/batchβ”‚
                                                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Self-sponsored: EOA mengirim tx sendiri (auth nonce = nonce + 1)
  • Sponsored: pihak lain membayar gas; EOA hanya tanda tangan authorization
  • Revoke: delegasi ke alamat 0x0 β†’ akun kembali EOA biasa

Tool ini menangani RLP encoding, signing, nonce management, dan estimasi gas secara otomatis.


πŸ“š Panduan Singkat

Kirim ETH / Token

Pilih menu 10/11 β†’ pilih wallet β†’ masukkan tujuan β†’ mode manual/MAX β†’ konfirmasi. Input bisa dalam ETH atau USD (konversi otomatis via CoinGecko).

Rescue Assets (wallet terkunci)

Menu 8 β†’ deploy kontrak rescue (sekali, lalu reuse) β†’ target hanya sign authorization β†’ sponsor membayar gas β†’ aset pindah atomik ke alamat SAFE.

Approval Manager

Menu 18 β†’ pilih mode scan:

  • Token populer β€” 19 token bawaan (USDT, USDC, DAI, WETH, WBTC, LINK, UNI, AAVE, SHIB, MATIC, ARB, OP, PEPE, CRV, SNX, SUSHI, COMP, MKR, LDO) + alamat token kustom
  • Menyeluruh β€” semua token apa pun via Etherscan API (API key gratis); riwayat approval diambil dari event log blockchain lalu diverifikasi allowance() per spender

Lalu pilih yang mau di-revoke:

  • Self β€” owner bayar gas
  • Sponsor β€” via EIP-7702 atomic dengan kontrak approvalRevoker

Nilai allowance ditampilkan sesuai decimals token (mis. USDT 6 desimal, WETH 18), bukan angka wei mentah.

Di RPC publik, mode populer dibatasi riwayat ~1M blok terakhir. Mode menyeluruh tidak terpengaruh karena data diambil dari Etherscan.

Wizard Deploy

Menu 15 β†’ pilih ERC-20/721/1155 β†’ kombinasikan fitur (mintable, burnable, pausable, roles, permit, flash minting, UUPS proxy) β†’ deploy β†’ verifikasi otomatis ke Sourcify & Blockscout.

Mode UUPS proxy mendeploy implementasi + proxy dalam 2 transaksi berurutan: initialize ikut di dalam transaksi deploy proxy (via delegatecall), sehingga tidak ada jendela antara deploy dan initialize yang bisa di-frontrun attacker. Nama kontrak & simbol disanitasi sebelum masuk template Solidity (karakter berbahaya dibuang β€” cegah suntikan kode ke template).

Mining POW (Sepolia)

Menu 17 β†’ ambil CAPTCHA token dari sepolia-faucet.pk910.de β†’ mining CryptoNight berjalan β†’ checkpoint claim tiap 0.05 ETH β†’ opsional auto-delegate EIP-7702 setelah claim.


🎫 Cek WL / Allowlist (menu 19)

Buat yang lagi ngikut WL airdrop NFT β€” cek eligibility tanpa buka 50 tab.

Menu 19 β†’ tempel link allowlist β†’ tool cek semua wallet kamu otomatis

Dua mode:

| Mode | Kapan dipakai | |:--|:--| | 1) Daftar allowlist | Project bagi file/JSON/CSV berisi alamat (atau link download-nya) | | 2) Merkle proof | Project hanya beri root + proof milik kamu, bukan daftar lengkap |

Format yang didukung β€” semuanya auto-deteksi, tak perlu pilih:

| Format | Contoh | |:--|:--| | JSON array string | ["0xabc…","0xdef…"] | | JSON array objek | [{"address":"0xabc…","maxAmount":2,"claimed":false}] | | JSON wrapper | {"wallets":[…]}, {"allowlist":[…]}, {"data":[…]} | | CSV | 0xabc…,2,false (standar OpenSea: alamat, limit, harga) | | Teks polos | satu alamat per baris |

Auto-detect wallet: semua wallet tersimpan dicek sekaligus (cukup satu password), plus alamat lain yang kamu ketik. Kalau password dikosongkan, tool tidak gagal β€” dia minta alamat manual.

⚠️ Tool ini jujur soal 4 status

| Status | Arti | |:--|:--| | βœ… ELIGIBLE | alamat ada di allowlist, belum diklaim | | 🟑 SUDAH DI-KLAIM | ada di allowlist tapi sudah pernah diklaim | | ❌ TIDAK ADA | alamat tidak ada di allowlist | | ⚠️ TIDAK BISA DIVERIFIKASI | sumbernya tidak bisa dibaca β€” bukan berarti tidak eligible |

Status keempat itu yang paling penting. Kalau allowlist butuh login, belum dipublikasikan, atau gating-nya on-chain, tool akan bilang tidak bisa diverifikasi β€” bukan diam-diam menampilkan "tidak eligible". Kalau kamu lihat status itu, cek manual di situs project.

Untuk tiap address yang cocok, tool menampilkan jatah (kalau ada), tier, dan baris asal tempat address itu ditemukan β€” supaya bisa kamu verifikasi sendiri.

Keamanan: isi allowlist diperlakukan sebagai data, bukan instruksi. Yang diekstrak hanya alamat 0x (tepat 40 hex). Tidak ada isi file yang dieksekusi atau ditampilkan mentah. Link dicek anti-SSRF (host jaringan internal diblokir), dibatasi 32 MB dan 25 detik.

πŸ” Alur lengkap: cek β†’ harga β†’ keamanan β†’ mint

Begitu ada wallet yang ELIGIBLE, tool otomatis menjalankan empat tahap. Setiap tahap bisa menghentikan tahap berikutnya, dan tidak ada jalan pintas.

| Tahap | Yang dilakukan | Kalau gagal | |:--|:--|:--| | 1. Eligibilitas | Status 4 di atas | berhenti, tak ada yang dikirim | | 2. Harga total | harga per item Γ— jatah, dari kolom harga allowlist + stages[] OpenSea, plus cross-check | "harga tidak terdeteksi" β€” bukan 0 | | 3. Keamanan | kontrak punya kode? proxy? status OpenSea? saldo gas? honeypot? | BERBAHAYA = stop keras; sisanya = minta ketik SAH | | 4. Wallet baru | reminder wajib, harus ketik YA | berhenti |

Deteksi harga memakai tiga sumber nyata dan tidak pernah menebak: kolom harga di CSV allowlist (standar OpenSea alamat,limit,harga), stages[] dari OpenSea /drops/{slug} (harga, mulai/selesai, maks per wallet, is_minting), lalu cross-check antar keduanya. Kalau keduanya beda, bedanya ditampilkan. Perhitungannya pakai aritmetika string (decMulInt/decToWei) β€” bukan float, karena 0.1 Γ— 3 di float = 0.30000000000000004 dan user akan melihat total yang tidak pernah ada.

Pemeriksaan keamanan yang dijalankan:

| Cek | Cara | Level | |:--|:--|:--| | Kontrak punya kode? | eth_getCode | none β†’ BAHAYA (itu EOA) | | Proxy/clone? | deteksi EIP-1167 (45 byte) & EIP-1967 (slot) | PERINGAT β€” aturan bisa berubah | | OpenSea menandai? | is_disabled, is_suspicious, NSFW, safelist | disabled/suspicious β†’ BAHAYA | | Saldo gas cukup? | saldo vs ~0.003 ETH | kurang β†’ BAHAYA | | Sudah punya token? | balanceOf | >0 β†’ PERINGAT (cek dobel-claim) | | Honeypot | simulasi transferFrom ke alamat baru | revert β†’ BAHAYA |

Yang tidak bisa dibuktikan, bukan berarti aman maupun berbahaya β€” tool mengatakannya terus terang dan meminta konfirmasi eksplisit:

  • Saldo 0 belum bisa diuji honeypot. Pola twoAddressHoneypot melaporkan balanceOf = 0 lalu menolak transfer. Jadi saldo kosong bukan bukti aman.
  • balanceOf gagal didekode (kontrak ternyata bukan ERC-721/1155) β†’ dilaporkan "gagal cek", bukan diam-diam jadi "saldo 0".

Aturan mainnya: BERBAHAYA tidak bisa di-lewati apa pun. PERLU KONFIRMASI MANUAL bisa β€” tapi hanya setelah tool mencetak persis apa yang tak terverifikasi dan kamu mengetiknya SAH. Itu pengakuan, bukan klaim bahwa tool sudah memverifikasi.

⚠️ Selalu pakai wallet baru

Reminders ini muncul sebagai gerbang, bukan catatan kaki, dan harus dilewati sebelum konfirmasi mint:

GUNAKAN WALLET BARU, BUKAN WALLET UTAMAMU. Alasan: kontrak NFT bisa menyalin allowance tanpa izin, dan kalau ternyata proyeknya menipu, wallet lamamu yang kena. Dana kecil di wallet baru jauh lebih murah daripada seluruh portofolio utama.

Kalau wallet baru kena jebakan, yang hilang cuma dana kecil itu β€” bukan seluruh portofolio. Wallet ini tidak mengirim transaksi mint: parameter tiap proyek berbeda (mint, mintAllowList(proof), safeMint…), jadi setelah konfirmasi tool menampilkan contract address + parameter yang perlu dicek manual di explorer, atau kamu bisa pakai menu 1 (Batch Call) kalau sudah tahu calldata-nya.


πŸ–ΌοΈ OpenSea (menu 20)

Jelajahi NFT pakai OpenSea API v2. Baca saja β€” tidak ada transaksi dari menu ini.

Menu 20 β†’ pilih aksi

| # | Aksi | |:--|:--| | 1 | NFT yang dimiliki sebuah alamat | | 2 | Ringkasan nilai portfolio (USD) | | 3 | Detail NFT + traits + rarity rank | | 4 | Cari collection / token | | 5 | Harga pasar: listing terendah + top offer | | 6 | Riwayat aktivitas sebuah NFT | | 7 | Info collection |

API key. Kalau belum ada, tool menawarkan ambil key instan gratis di https://pro.opensea.io (tanpa daftar, berlaku 7 hari, kuota 600 request/jam baca). Alternatif: set OPENSEA_API_KEY di environment.

Jaringan yang didukung OpenSea hanya 13 dari 29 milik tool ini. OpenSea tidak punya BNB, Linea, Scroll, Celo, Mantle, zkSync, Metis, Taiko, Mode β€” dan tidak ada testnet sama sekali. Kalau jaringan aktif tidak didukung, tool menolak dengan pesan jelas (tidak diam-diam gagal).

Yang tidak bisa dilakukan dari sini: membuat listing, cancel order, atau menerima offer. Semua itu butuh signature dari wallet kamu + API key dengan scope tulis. Tool sengaja tidak berpura-pura bisa.


πŸ§ͺ Testing

Jalankan semuanya dengan satu perintah:

node audit/run.cjs              # semua suite, paralel
node audit/run.cjs --fast       # tanpa fuzzer & tanpa fork (dev cepat, ~30s)
node audit/run.cjs --no-fork    # lewati suite yang butuh anvil fork (CI tanpa RPC)
node audit/run.cjs --only wl    # satu suite saja
node audit/run.cjs --skip fuzz  # kecuali suite tertentu
node audit/run.cjs --allow-skip # suite yang SKIP tak dihitung gagal

Runner Node menjalankan suite paralel (bukan satu per satu seperti .sh lama) dan menyalakan semua anvil sekaligus, lalu menunggu lewat poll paralel. Test yang butuh anvil kontrol (unit) menunggu anvil-nya; yang lain langsung jalan paralel.

SKIP β‰  LULUS. Suite yang keluar 0 tapi tanpa ringkasan PASS n | FAIL m ditandai ↻ dan dihitung GAGAL β€” kalau tidak, tes yang tak jalan bisa disamarkan jadi hijau. Sebab skip selalu ikut dicetak. Pakai --allow-skip hanya kalau memang sengaja melewatkannya.

Jalan di mesin remote (satu koneksi):

SSH_HOST=... SSH_USER=... SSH_PASS=... python3 audit/remote-test.py

audit/remote-test.py melakukan semuanya dalam satu koneksi SSH: cek sintaks β†’ deteksi environment β†’ pasang Foundry/anvil kalau belum ada β†’ kirim project β†’ npm install β†’ jalankan suite β†’ laporkan β†’ bersihkan folder remote. Pakai --keep (jangan hapus folder remote), --fast, --no-fork, --upload-only, atau --run "perintah".

Autentikasi memakai sshpass -e (password lewat env, bukan argv) plus SSH multiplexing (ControlMaster/ControlPersist): koneksi pertama membuat socket master, perintah berikutnya menumpang di koneksi yang sama tanpa handshake ulang β€” tanpa sshpass otomatis jatuh ke jalur pty.

| Suite | Isi | Jumlah | |:--|:--|--:| | audit/test-unit.cjs | katalog jaringan, deteksi 7702 (dengan anvil kontrol shanghai/prague), guard chainId, RLP, kompilasi 182 variasi kontrak, mode file | 43 | | audit/test-docs.cjs | konsistensi README/CHANGELOG/package.json ↔ kode (angka, nama network, command, teks bersih) | 25 | | audit/test-guard.cjs | konfirmasi "YA" di 9 chain + cakupan guard | 10 | | audit/test-adversarial.cjs | serangan balik ke guard: injeksi input, chain custom/tak dikenal, URL rusak, timeout, path traversal | 18 | | audit/test-e2e.cjs | seluruh fitur di anvil (prague hardfork): kirim ETH, delegasi, batch, revoke, rescue atomic, approval revoker, ERC-20/721/1155, UUPS | 26 | | audit/test-wl.cjs | parser allowlist 10+ format, SSRF guard, verifikasi Merkle (vektor asli), skala 100rb alamat, 4 status | 82 | | audit/test-wl-http.cjs | ingestion dari file & server sungguhan, batas 32 MB, sumber tak terbaca | 12 | | audit/test-opensea.cjs | parser OpenSea terhadap fixture API asli (audit/fixtures/), bukan mock | 81 | | audit/test-opensea-thousandart.cjs | regresi Robinhood Chain 4663 + fixture thousandart | 31 | | audit/test-bugregress.cjs | kunci 33 bug yang ditemukan 30 Sep (8 lama + 25 alur WL/harga/honeypot/config) agar tak balik lagi | 53 | | audit/test-wallet-create.cjs | create wallet: mnemonic + private key tampil, tanpa prompt; keystore scrypt 0600/0700, password salah ditolak | 12 | | audit/test-claim-airdrop.cjs | Claim Airdrop ERC-20 di fork Sepolia dengan transaksi on-chain sungguhan: delegasi tipe-4, minimum on-chain, token 6 desimal, penolakan sponsor/target/token, revoke | 34 | | audit/test-claim-airdrop-mainnet.cjs | Claim Airdrop di fork Ethereum mainnet dengan token ASLI (USDC/USDT/DAI sungguhan, whale Binance 14 di-impersonate) β€” nol mock token | 20 | | audit/test-fuzz.cjs | fuzzer: mutasi fixture OpenSea + allowlist acak (4 seed Γ— 2500 iterasi β‰ˆ 356rb panggilan), cek tak ada crash & tak ada nilai fabricated | 10000 | | audit/test-wl-fork.cjs | alur WL di fork Ethereum mainnet + fork Sepolia: kontrak nyata, clone EIP-1167, kontrak honeypot sungguhan, kontrol negatif DAI, uji 4 gerbang alur | 46 | | audit/test-features.cjs | regresi lintas menu: salah nomor wallet tak lagi jatuh ke wallet #1 (10 fitur), ganti network yang RPC-nya tak cocok ditolak tanpa menyentuh config, tombol panah tak bocor ke password, keystore lama tak ditimpa, deployed-contracts.json korup dicadangkan, kirim ETH/token memakai parser ketat, paginasi riwayat approval berhenti β€” plus CRUD network, path/export wallet, loadAllWalletAddresses (await), provider aktif, RLP, ambang PoW, scan approval on-chain, gas/harga, kirim ETH, verifikasi kontrak β€” plus konstanta katalog, lookup kontrak rescue/airdrop, pintu keluar dini Claim Airdrop β€” plus alur multi-langkah (bagian 20–25): formatAllowance/decimals approval, parseNonceInput, rescue (sponsor PK rusak, alamat token, jumlah abc, melebihi saldo), batch (nonce sebelum delegasi, total > saldo), ganti jaringan OpenSea (RPC ikut pindah), wizard UUPS yang kini initialize di transaksi deploy | 80 |

Total 10573 tes. run-all.sh menyalakan anvil sendiri dengan hardfork shanghai (7702 mati) dan prague (7702 hidup) sebagai kontrol, lalu anvil fork mainnet + Sepolia untuk tes alur WL. Kalau RPC publik tak terjangkau, stage fork mengatakannya SKIP secara terbuka β€” bukan dihitung lulus. Gate deteksi yang tidak bisa membedakan keduanya dianggap gagal β€” sebab detektor yang tidak bisa menangkap ketiadaan fitur = detektor palsu.

Probe jaringan nyata (butuh internet):

node audit/probe-final.cjs     # mengetuk 47 endpoint, menulis audit/probe-final.json

πŸ”’ Security

  • Private key tidak pernah leaving komputer β€” wallet disimpan sebagai keystore terenkripsi di ~/.wallet-cli/wallets/
  • File keystore & config ditulis dengan mode 0600, folder 0700 (tidak world-readable)
  • Import private key/mnemonic memakai input tersembunyi β€” tidak tampil di layar atau scrollback
  • Konfirmasi "YA" diminta untuk semua 20 jaringan uang nyata, bukan hanya Ethereum mainnet
  • Tool mencocokkan chainId config dengan chainId asli endpoint sebelum mengirim apa pun
  • Tool memverifikasi dukungan EIP-7702 RPC dan memblokir fitur 7702 bila endpoint tidak mendukung
  • Kontrak rescue/batch/revoker punya access control ketat: hanya rescuer/deployer yang bisa memanggil
  • Registry kontrak deploy di-scope per chainId β€” tidak ada reuse lintas-jaringan
  • Input nama/simbol Wizard Deploy disanitasi sebelum masuk template Solidity β€” karakter berbahaya (", }, //, dll) dibuang sehingga template tidak bisa disuntik kode tambahan (sebelum fix, simbol X"); function backdoor()... terbukti meng-compile fungsi backdoor saat deploy)
  • Alamat & jumlah input Rescue/Batch/Claim divalidasi (isAddress, angka bulat) sebelum konfirmasi; nonce transaksi divalidasi sebagai bilangan bulat non-negatif

⚠️ Delegasi EIP-7702 tidak kedaluwarsa

Ini penting dan sering terlewat. Setelah fitur delegasi selesai, EOA tetap menjalankan kode kontrak tersebut pada setiap transaksi sampai ada yang mengirim revoke (menu 9).

Untuk fitur Rescue Assets konsekuensinya serius: kontrak rescue memberi sponsor hak memanggil rescueETH() / rescueERC20All() yang memindahkan seluruh saldo ke alamat SAFE β€” kapan pun, tanpa tanda tangan Anda lagi. Dana yang masuk setelah rescue ikut tersapu.

Tool kini menampilkan peringatan eksplisit sebelum dan setelah tiap operasi delegasi. Selalu jalankan menu 9 (Revoke Delegation) segera setelah selesai.

Rekomendasi tambahan:

  • Gunakan wallet baru khusus testing, jangan wallet utama
  • Untuk mainnet, pakai RPC berbayar (Alchemy/QuickNode) β€” RPC publik sering rate-limit
  • Backup folder ~/.wallet-cli/wallets/ dan mnemonic di tempat aman
  • Verifikasi dukungan 7702 sebelum rely pada RPC tertentu (menu 13 β†’ 5 mengetuk semua endpoint)

Allowlist & OpenSea

  • Isi allowlist = data, bukan instruksi. Hanya alamat 0x 40 hex yang diekstrak.
  • Fetch allowlist diblokir ke jaringan internal (anti-SSRF), dibatasi 32 MB / 25 detik.
  • Verifikasi Merkle dibungkus try/catch penuh β€” proof rusak dari pihak ketiga menghasilkan "tidak terverifikasi", bukan crash.
  • OpenSea: hanya GET. Tidak ada wallet signing, tidak ada transaksi.

Laporkan kerentanan: buka Security Advisory (jangan public issue).

⚠️ Disclaimer

Software ini disediakan apa adanya, tanpa jaminan apa pun. Transaksi blockchain bersifat final dan tidak dapat dibatalkan. Pengguna bertanggung jawab penuh atas private key, transaksi, dan penggunaan tool ini di jaringan mana pun. Verifikasi setiap alamat dan jumlah sebelum konfirmasi.


❓ FAQ

Transaksi gagal di mainnet? RPC publik rate-limited / tidak support type-4 β†’ ganti ke Alchemy/QuickNode. Cek juga saldo gas.

Support hardware wallet? Belum. Saat ini JSON keystore saja.

Berapa banyak token discan Approval Manager? 19 token populer + token kustom yang Anda tambahkan.

Support multi-chain? Ya β€” Mainnet, Sepolia, Arbitrum, OP, Base, Polygon, BSC, dan custom network.


πŸ”§ Troubleshooting

| Error | Solusi | |-------|--------| | RPC provider does not support EIP-7702 | Ganti ke Alchemy/QuickNode | | Insufficient funds for gas | Tambah saldo ETH | | Transaction nonce too low | Tunggu beberapa detik, ulangi | | Solver CryptoNight belum tersedia | npm install --include=optional (butuh Python untuk build native) | | Password salah atau file wallet rusak | Cek password / buat wallet baru | | Session tidak ditemukan (mining) | Session expired, buat session baru |


πŸ’ Donate

Ethereum / Sepolia: 0x5e02fac179dfbd8a63fa7058011b348fdbba7158


πŸ“œ Lisensi

MIT β€” lihat LICENSE.