Notarize AT Protocol records on Ethereum using EAS (experiment)

initial commit

tree.fail 5a5905f9

+3
.gitignore
··· 1 + .env 2 + .DS_Store 3 + node_modules
+48
package.json
··· 1 + { 2 + "name": "atnotary", 3 + "version": "0.1.0", 4 + "type": "module", 5 + "description": "Notarize AT Protocol records on Ethereum using EAS", 6 + "main": "./dist/lib/index.js", 7 + "types": "./dist/lib/index.d.ts", 8 + "bin": { 9 + "atnotary": "./dist/cli.js" 10 + }, 11 + "exports": { 12 + ".": { 13 + "import": "./dist/lib/index.js", 14 + "types": "./dist/lib/index.d.ts" 15 + } 16 + }, 17 + "files": [ 18 + "dist" 19 + ], 20 + "scripts": { 21 + "build": "tsc", 22 + "dev": "tsx src/cli.ts", 23 + "prepublishOnly": "npm run build" 24 + }, 25 + "dependencies": { 26 + "@atproto/api": "^0.12.29", 27 + "@ethereum-attestation-service/eas-sdk": "^2.9.0", 28 + "viem": "^2.38.0" 29 + }, 30 + "devDependencies": { 31 + "@types/node": "^20.19.21", 32 + "chalk": "^5.6.2", 33 + "commander": "^11.1.0", 34 + "dotenv": "^16.6.1", 35 + "ora": "^8.2.0", 36 + "tsx": "^4.20.6", 37 + "typescript": "^5.9.3" 38 + }, 39 + "keywords": [ 40 + "atproto", 41 + "bluesky", 42 + "ethereum", 43 + "eas", 44 + "notary", 45 + "attestation" 46 + ], 47 + "license": "MIT" 48 + }
+3394
pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + dependencies: 11 + '@atproto/api': 12 + specifier: ^0.12.29 13 + version: 0.12.29 14 + '@ethereum-attestation-service/eas-sdk': 15 + specifier: ^2.9.0 16 + version: 2.9.0(typescript@5.9.3)(zod@3.25.76) 17 + viem: 18 + specifier: ^2.38.0 19 + version: 2.38.0(typescript@5.9.3)(zod@3.25.76) 20 + devDependencies: 21 + '@types/node': 22 + specifier: ^20.19.21 23 + version: 20.19.21 24 + chalk: 25 + specifier: ^5.6.2 26 + version: 5.6.2 27 + commander: 28 + specifier: ^11.1.0 29 + version: 11.1.0 30 + dotenv: 31 + specifier: ^16.6.1 32 + version: 16.6.1 33 + ora: 34 + specifier: ^8.2.0 35 + version: 8.2.0 36 + tsx: 37 + specifier: ^4.20.6 38 + version: 4.20.6 39 + typescript: 40 + specifier: ^5.9.3 41 + version: 5.9.3 42 + 43 + packages: 44 + 45 + '@adraffy/ens-normalize@1.10.1': 46 + resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} 47 + 48 + '@adraffy/ens-normalize@1.11.1': 49 + resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} 50 + 51 + '@atproto/api@0.12.29': 52 + resolution: {integrity: sha512-PyzPLjGWR0qNOMrmj3Nt3N5NuuANSgOk/33Bu3j+rFjjPrHvk9CI6iQPU6zuDaDCoyOTRJRafw8X/aMQw+ilgw==} 53 + 54 + '@atproto/common-web@0.3.2': 55 + resolution: {integrity: sha512-Vx0JtL1/CssJbFAb0UOdvTrkbUautsDfHNOXNTcX2vyPIxH9xOameSqLLunM1hZnOQbJwyjmQCt6TV+bhnanDg==} 56 + 57 + '@atproto/common-web@0.4.3': 58 + resolution: {integrity: sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==} 59 + 60 + '@atproto/lexicon@0.4.14': 61 + resolution: {integrity: sha512-jiKpmH1QER3Gvc7JVY5brwrfo+etFoe57tKPQX/SmPwjvUsFnJAow5xLIryuBaJgFAhnTZViXKs41t//pahGHQ==} 62 + 63 + '@atproto/syntax@0.3.4': 64 + resolution: {integrity: sha512-8CNmi5DipOLaVeSMPggMe7FCksVag0aO6XZy9WflbduTKM4dFZVCs4686UeMLfGRXX+X966XgwECHoLYrovMMg==} 65 + 66 + '@atproto/syntax@0.4.1': 67 + resolution: {integrity: sha512-CJdImtLAiFO+0z3BWTtxwk6aY5w4t8orHTMVJgkf++QRJWTxPbIFko/0hrkADB7n2EruDxDSeAgfUGehpH6ngw==} 68 + 69 + '@atproto/xrpc@0.5.0': 70 + resolution: {integrity: sha512-swu+wyOLvYW4l3n+VAuJbHcPcES+tin2Lsrp8Bw5aIXIICiuFn1YMFlwK9JwVUzTH21Py1s1nHEjr4CJeElJog==} 71 + 72 + '@esbuild/aix-ppc64@0.25.10': 73 + resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==} 74 + engines: {node: '>=18'} 75 + cpu: [ppc64] 76 + os: [aix] 77 + 78 + '@esbuild/android-arm64@0.25.10': 79 + resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==} 80 + engines: {node: '>=18'} 81 + cpu: [arm64] 82 + os: [android] 83 + 84 + '@esbuild/android-arm@0.25.10': 85 + resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==} 86 + engines: {node: '>=18'} 87 + cpu: [arm] 88 + os: [android] 89 + 90 + '@esbuild/android-x64@0.25.10': 91 + resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==} 92 + engines: {node: '>=18'} 93 + cpu: [x64] 94 + os: [android] 95 + 96 + '@esbuild/darwin-arm64@0.25.10': 97 + resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==} 98 + engines: {node: '>=18'} 99 + cpu: [arm64] 100 + os: [darwin] 101 + 102 + '@esbuild/darwin-x64@0.25.10': 103 + resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==} 104 + engines: {node: '>=18'} 105 + cpu: [x64] 106 + os: [darwin] 107 + 108 + '@esbuild/freebsd-arm64@0.25.10': 109 + resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==} 110 + engines: {node: '>=18'} 111 + cpu: [arm64] 112 + os: [freebsd] 113 + 114 + '@esbuild/freebsd-x64@0.25.10': 115 + resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==} 116 + engines: {node: '>=18'} 117 + cpu: [x64] 118 + os: [freebsd] 119 + 120 + '@esbuild/linux-arm64@0.25.10': 121 + resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==} 122 + engines: {node: '>=18'} 123 + cpu: [arm64] 124 + os: [linux] 125 + 126 + '@esbuild/linux-arm@0.25.10': 127 + resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==} 128 + engines: {node: '>=18'} 129 + cpu: [arm] 130 + os: [linux] 131 + 132 + '@esbuild/linux-ia32@0.25.10': 133 + resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==} 134 + engines: {node: '>=18'} 135 + cpu: [ia32] 136 + os: [linux] 137 + 138 + '@esbuild/linux-loong64@0.25.10': 139 + resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==} 140 + engines: {node: '>=18'} 141 + cpu: [loong64] 142 + os: [linux] 143 + 144 + '@esbuild/linux-mips64el@0.25.10': 145 + resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==} 146 + engines: {node: '>=18'} 147 + cpu: [mips64el] 148 + os: [linux] 149 + 150 + '@esbuild/linux-ppc64@0.25.10': 151 + resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==} 152 + engines: {node: '>=18'} 153 + cpu: [ppc64] 154 + os: [linux] 155 + 156 + '@esbuild/linux-riscv64@0.25.10': 157 + resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==} 158 + engines: {node: '>=18'} 159 + cpu: [riscv64] 160 + os: [linux] 161 + 162 + '@esbuild/linux-s390x@0.25.10': 163 + resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==} 164 + engines: {node: '>=18'} 165 + cpu: [s390x] 166 + os: [linux] 167 + 168 + '@esbuild/linux-x64@0.25.10': 169 + resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==} 170 + engines: {node: '>=18'} 171 + cpu: [x64] 172 + os: [linux] 173 + 174 + '@esbuild/netbsd-arm64@0.25.10': 175 + resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==} 176 + engines: {node: '>=18'} 177 + cpu: [arm64] 178 + os: [netbsd] 179 + 180 + '@esbuild/netbsd-x64@0.25.10': 181 + resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==} 182 + engines: {node: '>=18'} 183 + cpu: [x64] 184 + os: [netbsd] 185 + 186 + '@esbuild/openbsd-arm64@0.25.10': 187 + resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==} 188 + engines: {node: '>=18'} 189 + cpu: [arm64] 190 + os: [openbsd] 191 + 192 + '@esbuild/openbsd-x64@0.25.10': 193 + resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==} 194 + engines: {node: '>=18'} 195 + cpu: [x64] 196 + os: [openbsd] 197 + 198 + '@esbuild/openharmony-arm64@0.25.10': 199 + resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==} 200 + engines: {node: '>=18'} 201 + cpu: [arm64] 202 + os: [openharmony] 203 + 204 + '@esbuild/sunos-x64@0.25.10': 205 + resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==} 206 + engines: {node: '>=18'} 207 + cpu: [x64] 208 + os: [sunos] 209 + 210 + '@esbuild/win32-arm64@0.25.10': 211 + resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==} 212 + engines: {node: '>=18'} 213 + cpu: [arm64] 214 + os: [win32] 215 + 216 + '@esbuild/win32-ia32@0.25.10': 217 + resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==} 218 + engines: {node: '>=18'} 219 + cpu: [ia32] 220 + os: [win32] 221 + 222 + '@esbuild/win32-x64@0.25.10': 223 + resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==} 224 + engines: {node: '>=18'} 225 + cpu: [x64] 226 + os: [win32] 227 + 228 + '@ethereum-attestation-service/eas-contracts@1.7.1': 229 + resolution: {integrity: sha512-z2MeCrkp4JrtOMBHQt5fcdbxryC+xxofoPzzv3wcx5GbfG27PpkXRKxlSlb1l2jIT1YfDc701rixbP6vHaEN3Q==} 230 + 231 + '@ethereum-attestation-service/eas-sdk@2.9.0': 232 + resolution: {integrity: sha512-jEtBlhfm0HFkl64jAa4rxOXjEQkblTHqSmLFhttPf9y+ALEOk4qgJzV9knnJ7Yh+jFs1jxbTrVeUGap03Fwy9g==} 233 + 234 + '@ethereumjs/common@3.2.0': 235 + resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==} 236 + 237 + '@ethereumjs/rlp@4.0.1': 238 + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} 239 + engines: {node: '>=14'} 240 + hasBin: true 241 + 242 + '@ethereumjs/tx@4.2.0': 243 + resolution: {integrity: sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==} 244 + engines: {node: '>=14'} 245 + 246 + '@ethereumjs/util@8.1.0': 247 + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} 248 + engines: {node: '>=14'} 249 + 250 + '@ethersproject/abi@5.8.0': 251 + resolution: {integrity: sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==} 252 + 253 + '@ethersproject/abstract-provider@5.8.0': 254 + resolution: {integrity: sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==} 255 + 256 + '@ethersproject/abstract-signer@5.8.0': 257 + resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} 258 + 259 + '@ethersproject/address@5.8.0': 260 + resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} 261 + 262 + '@ethersproject/base64@5.8.0': 263 + resolution: {integrity: sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==} 264 + 265 + '@ethersproject/bignumber@5.8.0': 266 + resolution: {integrity: sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==} 267 + 268 + '@ethersproject/bytes@5.8.0': 269 + resolution: {integrity: sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==} 270 + 271 + '@ethersproject/constants@5.8.0': 272 + resolution: {integrity: sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==} 273 + 274 + '@ethersproject/hash@5.8.0': 275 + resolution: {integrity: sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==} 276 + 277 + '@ethersproject/keccak256@5.8.0': 278 + resolution: {integrity: sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==} 279 + 280 + '@ethersproject/logger@5.8.0': 281 + resolution: {integrity: sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==} 282 + 283 + '@ethersproject/networks@5.8.0': 284 + resolution: {integrity: sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==} 285 + 286 + '@ethersproject/properties@5.8.0': 287 + resolution: {integrity: sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==} 288 + 289 + '@ethersproject/rlp@5.8.0': 290 + resolution: {integrity: sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==} 291 + 292 + '@ethersproject/signing-key@5.8.0': 293 + resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} 294 + 295 + '@ethersproject/strings@5.8.0': 296 + resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} 297 + 298 + '@ethersproject/transactions@5.8.0': 299 + resolution: {integrity: sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==} 300 + 301 + '@ethersproject/web@5.8.0': 302 + resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} 303 + 304 + '@fastify/busboy@2.1.1': 305 + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} 306 + engines: {node: '>=14'} 307 + 308 + '@metamask/abi-utils@2.0.4': 309 + resolution: {integrity: sha512-StnIgUB75x7a7AgUhiaUZDpCsqGp7VkNnZh2XivXkJ6mPkE83U8ARGQj5MbRis7VJY8BC5V1AbB1fjdh0hupPQ==} 310 + engines: {node: '>=16.0.0'} 311 + 312 + '@metamask/eth-sig-util@4.0.1': 313 + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} 314 + engines: {node: '>=12.0.0'} 315 + 316 + '@metamask/superstruct@3.2.1': 317 + resolution: {integrity: sha512-fLgJnDOXFmuVlB38rUN5SmU7hAFQcCjrg3Vrxz67KTY7YHFnSNEKvX4avmEBdOI0yTCxZjwMCFEqsC8k2+Wd3g==} 318 + engines: {node: '>=16.0.0'} 319 + 320 + '@metamask/utils@9.3.0': 321 + resolution: {integrity: sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g==} 322 + engines: {node: '>=16.0.0'} 323 + 324 + '@noble/ciphers@1.3.0': 325 + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} 326 + engines: {node: ^14.21.3 || >=16} 327 + 328 + '@noble/curves@1.2.0': 329 + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} 330 + 331 + '@noble/curves@1.4.2': 332 + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} 333 + 334 + '@noble/curves@1.9.0': 335 + resolution: {integrity: sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==} 336 + engines: {node: ^14.21.3 || >=16} 337 + 338 + '@noble/curves@1.9.1': 339 + resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} 340 + engines: {node: ^14.21.3 || >=16} 341 + 342 + '@noble/hashes@1.2.0': 343 + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} 344 + 345 + '@noble/hashes@1.3.2': 346 + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} 347 + engines: {node: '>= 16'} 348 + 349 + '@noble/hashes@1.4.0': 350 + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} 351 + engines: {node: '>= 16'} 352 + 353 + '@noble/hashes@1.8.0': 354 + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} 355 + engines: {node: ^14.21.3 || >=16} 356 + 357 + '@noble/secp256k1@1.7.1': 358 + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} 359 + 360 + '@nomicfoundation/edr-darwin-arm64@0.3.8': 361 + resolution: {integrity: sha512-eB0leCexS8sQEmfyD72cdvLj9djkBzQGP4wSQw6SNf2I4Sw4Cnzb3d45caG2FqFFjbvfqL0t+badUUIceqQuMw==} 362 + engines: {node: '>= 18'} 363 + 364 + '@nomicfoundation/edr-darwin-x64@0.3.8': 365 + resolution: {integrity: sha512-JksVCS1N5ClwVF14EvO25HCQ+Laljh/KRfHERMVAC9ZwPbTuAd/9BtKvToCBi29uCHWqsXMI4lxCApYQv2nznw==} 366 + engines: {node: '>= 18'} 367 + 368 + '@nomicfoundation/edr-linux-arm64-gnu@0.3.8': 369 + resolution: {integrity: sha512-raCE+fOeNXhVBLUo87cgsHSGvYYRB6arih4eG6B9KGACWK5Veebtm9xtKeiD8YCsdUlUfat6F7ibpeNm91fpsA==} 370 + engines: {node: '>= 18'} 371 + 372 + '@nomicfoundation/edr-linux-arm64-musl@0.3.8': 373 + resolution: {integrity: sha512-PwiDp4wBZWMCIy29eKkv8moTKRrpiSDlrc+GQMSZLhOAm8T33JKKXPwD/2EbplbhCygJDGXZdtEKl9x9PaH66A==} 374 + engines: {node: '>= 18'} 375 + 376 + '@nomicfoundation/edr-linux-x64-gnu@0.3.8': 377 + resolution: {integrity: sha512-6AcvA/XKoipGap5jJmQ9Y6yT7Uf39D9lu2hBcDCXnXbMcXaDGw4mn1/L4R63D+9VGZyu1PqlcJixCUZlGGIWlg==} 378 + engines: {node: '>= 18'} 379 + 380 + '@nomicfoundation/edr-linux-x64-musl@0.3.8': 381 + resolution: {integrity: sha512-cxb0sEmZjlwhYWO28sPsV64VDx31ekskhC1IsDXU1p9ntjHSJRmW4KEIqJ2O3QwJap/kLKfMS6TckvY10gjc6w==} 382 + engines: {node: '>= 18'} 383 + 384 + '@nomicfoundation/edr-win32-x64-msvc@0.3.8': 385 + resolution: {integrity: sha512-yVuVPqRRNLZk7TbBMkKw7lzCvI8XO8fNTPTYxymGadjr9rEGRuNTU1yBXjfJ59I1jJU/X2TSkRk1OFX0P5tpZQ==} 386 + engines: {node: '>= 18'} 387 + 388 + '@nomicfoundation/edr@0.3.8': 389 + resolution: {integrity: sha512-u2UJ5QpznSHVkZRh6ePWoeVb6kmPrrqh08gCnZ9FHlJV9CITqlrTQHJkacd+INH31jx88pTAJnxePE4XAiH5qg==} 390 + engines: {node: '>= 18'} 391 + 392 + '@nomicfoundation/ethereumjs-common@4.0.4': 393 + resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} 394 + 395 + '@nomicfoundation/ethereumjs-rlp@5.0.4': 396 + resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} 397 + engines: {node: '>=18'} 398 + hasBin: true 399 + 400 + '@nomicfoundation/ethereumjs-tx@5.0.4': 401 + resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} 402 + engines: {node: '>=18'} 403 + peerDependencies: 404 + c-kzg: ^2.1.2 405 + peerDependenciesMeta: 406 + c-kzg: 407 + optional: true 408 + 409 + '@nomicfoundation/ethereumjs-util@9.0.4': 410 + resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} 411 + engines: {node: '>=18'} 412 + peerDependencies: 413 + c-kzg: ^2.1.2 414 + peerDependenciesMeta: 415 + c-kzg: 416 + optional: true 417 + 418 + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': 419 + resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} 420 + engines: {node: '>= 12'} 421 + 422 + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': 423 + resolution: {integrity: sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==} 424 + engines: {node: '>= 12'} 425 + 426 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': 427 + resolution: {integrity: sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==} 428 + engines: {node: '>= 12'} 429 + 430 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': 431 + resolution: {integrity: sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==} 432 + engines: {node: '>= 12'} 433 + 434 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': 435 + resolution: {integrity: sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==} 436 + engines: {node: '>= 12'} 437 + 438 + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': 439 + resolution: {integrity: sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==} 440 + engines: {node: '>= 12'} 441 + 442 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': 443 + resolution: {integrity: sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==} 444 + engines: {node: '>= 12'} 445 + 446 + '@nomicfoundation/solidity-analyzer@0.1.2': 447 + resolution: {integrity: sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==} 448 + engines: {node: '>= 12'} 449 + 450 + '@openzeppelin/merkle-tree@1.0.8': 451 + resolution: {integrity: sha512-E2c9/Y3vjZXwVvPZKqCKUn7upnvam1P1ZhowJyZVQSkzZm5WhumtaRr+wkUXrZVfkIc7Gfrl7xzabElqDL09ow==} 452 + 453 + '@scure/base@1.1.9': 454 + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} 455 + 456 + '@scure/base@1.2.6': 457 + resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} 458 + 459 + '@scure/bip32@1.1.5': 460 + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} 461 + 462 + '@scure/bip32@1.4.0': 463 + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} 464 + 465 + '@scure/bip32@1.7.0': 466 + resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} 467 + 468 + '@scure/bip39@1.1.1': 469 + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} 470 + 471 + '@scure/bip39@1.3.0': 472 + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} 473 + 474 + '@scure/bip39@1.6.0': 475 + resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} 476 + 477 + '@sentry/core@5.30.0': 478 + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} 479 + engines: {node: '>=6'} 480 + 481 + '@sentry/hub@5.30.0': 482 + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} 483 + engines: {node: '>=6'} 484 + 485 + '@sentry/minimal@5.30.0': 486 + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} 487 + engines: {node: '>=6'} 488 + 489 + '@sentry/node@5.30.0': 490 + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} 491 + engines: {node: '>=6'} 492 + 493 + '@sentry/tracing@5.30.0': 494 + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} 495 + engines: {node: '>=6'} 496 + 497 + '@sentry/types@5.30.0': 498 + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} 499 + engines: {node: '>=6'} 500 + 501 + '@sentry/utils@5.30.0': 502 + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} 503 + engines: {node: '>=6'} 504 + 505 + '@types/bn.js@4.11.6': 506 + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} 507 + 508 + '@types/bn.js@5.2.0': 509 + resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} 510 + 511 + '@types/debug@4.1.12': 512 + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 513 + 514 + '@types/lru-cache@5.1.1': 515 + resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} 516 + 517 + '@types/ms@2.1.0': 518 + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} 519 + 520 + '@types/node@20.19.21': 521 + resolution: {integrity: sha512-CsGG2P3I5y48RPMfprQGfy4JPRZ6csfC3ltBZSRItG3ngggmNY/qs2uZKp4p9VbrpqNNSMzUZNFZKzgOGnd/VA==} 522 + 523 + '@types/node@22.7.5': 524 + resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} 525 + 526 + '@types/pbkdf2@3.1.2': 527 + resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} 528 + 529 + '@types/secp256k1@4.0.7': 530 + resolution: {integrity: sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw==} 531 + 532 + abitype@1.1.0: 533 + resolution: {integrity: sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A==} 534 + peerDependencies: 535 + typescript: '>=5.0.4' 536 + zod: ^3.22.0 || ^4.0.0 537 + peerDependenciesMeta: 538 + typescript: 539 + optional: true 540 + zod: 541 + optional: true 542 + 543 + adm-zip@0.4.16: 544 + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} 545 + engines: {node: '>=0.3.0'} 546 + 547 + aes-js@4.0.0-beta.5: 548 + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} 549 + 550 + agent-base@6.0.2: 551 + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 552 + engines: {node: '>= 6.0.0'} 553 + 554 + aggregate-error@3.1.0: 555 + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 556 + engines: {node: '>=8'} 557 + 558 + ansi-align@3.0.1: 559 + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} 560 + 561 + ansi-colors@4.1.3: 562 + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 563 + engines: {node: '>=6'} 564 + 565 + ansi-escapes@4.3.2: 566 + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 567 + engines: {node: '>=8'} 568 + 569 + ansi-regex@5.0.1: 570 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 571 + engines: {node: '>=8'} 572 + 573 + ansi-regex@6.2.2: 574 + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} 575 + engines: {node: '>=12'} 576 + 577 + ansi-styles@3.2.1: 578 + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 579 + engines: {node: '>=4'} 580 + 581 + ansi-styles@4.3.0: 582 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 583 + engines: {node: '>=8'} 584 + 585 + anymatch@3.1.3: 586 + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 587 + engines: {node: '>= 8'} 588 + 589 + argparse@2.0.1: 590 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 591 + 592 + available-typed-arrays@1.0.7: 593 + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 594 + engines: {node: '>= 0.4'} 595 + 596 + await-lock@2.2.2: 597 + resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} 598 + 599 + balanced-match@1.0.2: 600 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 601 + 602 + base-x@3.0.11: 603 + resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} 604 + 605 + binary-extensions@2.3.0: 606 + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 607 + engines: {node: '>=8'} 608 + 609 + blakejs@1.2.1: 610 + resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} 611 + 612 + bn.js@4.12.2: 613 + resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} 614 + 615 + bn.js@5.2.2: 616 + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} 617 + 618 + boxen@5.1.2: 619 + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} 620 + engines: {node: '>=10'} 621 + 622 + brace-expansion@1.1.12: 623 + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} 624 + 625 + brace-expansion@2.0.2: 626 + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 627 + 628 + braces@3.0.3: 629 + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 630 + engines: {node: '>=8'} 631 + 632 + brorand@1.1.0: 633 + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} 634 + 635 + browser-stdout@1.3.1: 636 + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} 637 + 638 + browserify-aes@1.2.0: 639 + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} 640 + 641 + bs58@4.0.1: 642 + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} 643 + 644 + bs58check@2.1.2: 645 + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} 646 + 647 + buffer-from@1.1.2: 648 + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 649 + 650 + buffer-xor@1.0.3: 651 + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} 652 + 653 + bytes@3.1.2: 654 + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 655 + engines: {node: '>= 0.8'} 656 + 657 + call-bind-apply-helpers@1.0.2: 658 + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 659 + engines: {node: '>= 0.4'} 660 + 661 + call-bind@1.0.8: 662 + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 663 + engines: {node: '>= 0.4'} 664 + 665 + call-bound@1.0.4: 666 + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 667 + engines: {node: '>= 0.4'} 668 + 669 + camelcase@6.3.0: 670 + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 671 + engines: {node: '>=10'} 672 + 673 + chalk@2.4.2: 674 + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 675 + engines: {node: '>=4'} 676 + 677 + chalk@4.1.2: 678 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 679 + engines: {node: '>=10'} 680 + 681 + chalk@5.6.2: 682 + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} 683 + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 684 + 685 + chokidar@3.6.0: 686 + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 687 + engines: {node: '>= 8.10.0'} 688 + 689 + ci-info@2.0.0: 690 + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} 691 + 692 + cipher-base@1.0.7: 693 + resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} 694 + engines: {node: '>= 0.10'} 695 + 696 + clean-stack@2.2.0: 697 + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 698 + engines: {node: '>=6'} 699 + 700 + cli-boxes@2.2.1: 701 + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} 702 + engines: {node: '>=6'} 703 + 704 + cli-cursor@5.0.0: 705 + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} 706 + engines: {node: '>=18'} 707 + 708 + cli-spinners@2.9.2: 709 + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 710 + engines: {node: '>=6'} 711 + 712 + cliui@7.0.4: 713 + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 714 + 715 + color-convert@1.9.3: 716 + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 717 + 718 + color-convert@2.0.1: 719 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 720 + engines: {node: '>=7.0.0'} 721 + 722 + color-name@1.1.3: 723 + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 724 + 725 + color-name@1.1.4: 726 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 727 + 728 + command-exists@1.2.9: 729 + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} 730 + 731 + commander@11.1.0: 732 + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} 733 + engines: {node: '>=16'} 734 + 735 + commander@3.0.2: 736 + resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} 737 + 738 + concat-map@0.0.1: 739 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 740 + 741 + cookie@0.4.2: 742 + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} 743 + engines: {node: '>= 0.6'} 744 + 745 + core-util-is@1.0.3: 746 + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 747 + 748 + crc-32@1.2.2: 749 + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} 750 + engines: {node: '>=0.8'} 751 + hasBin: true 752 + 753 + create-hash@1.2.0: 754 + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} 755 + 756 + create-hmac@1.1.7: 757 + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} 758 + 759 + debug@4.4.3: 760 + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 761 + engines: {node: '>=6.0'} 762 + peerDependencies: 763 + supports-color: '*' 764 + peerDependenciesMeta: 765 + supports-color: 766 + optional: true 767 + 768 + decamelize@4.0.0: 769 + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} 770 + engines: {node: '>=10'} 771 + 772 + define-data-property@1.1.4: 773 + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 774 + engines: {node: '>= 0.4'} 775 + 776 + depd@2.0.0: 777 + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 778 + engines: {node: '>= 0.8'} 779 + 780 + diff@5.2.0: 781 + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} 782 + engines: {node: '>=0.3.1'} 783 + 784 + dotenv@16.6.1: 785 + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} 786 + engines: {node: '>=12'} 787 + 788 + dunder-proto@1.0.1: 789 + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 790 + engines: {node: '>= 0.4'} 791 + 792 + elliptic@6.6.1: 793 + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} 794 + 795 + emoji-regex@10.5.0: 796 + resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} 797 + 798 + emoji-regex@8.0.0: 799 + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 800 + 801 + enquirer@2.4.1: 802 + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} 803 + engines: {node: '>=8.6'} 804 + 805 + env-paths@2.2.1: 806 + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 807 + engines: {node: '>=6'} 808 + 809 + es-define-property@1.0.1: 810 + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 811 + engines: {node: '>= 0.4'} 812 + 813 + es-errors@1.3.0: 814 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 815 + engines: {node: '>= 0.4'} 816 + 817 + es-object-atoms@1.1.1: 818 + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 819 + engines: {node: '>= 0.4'} 820 + 821 + esbuild@0.25.10: 822 + resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==} 823 + engines: {node: '>=18'} 824 + hasBin: true 825 + 826 + escalade@3.2.0: 827 + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 828 + engines: {node: '>=6'} 829 + 830 + escape-string-regexp@1.0.5: 831 + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 832 + engines: {node: '>=0.8.0'} 833 + 834 + escape-string-regexp@4.0.0: 835 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 836 + engines: {node: '>=10'} 837 + 838 + ethereum-cryptography@0.1.3: 839 + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} 840 + 841 + ethereum-cryptography@1.2.0: 842 + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} 843 + 844 + ethereum-cryptography@2.2.1: 845 + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} 846 + 847 + ethereum-cryptography@3.2.0: 848 + resolution: {integrity: sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==} 849 + engines: {node: ^14.21.3 || >=16, npm: '>=9'} 850 + 851 + ethereumjs-abi@0.6.8: 852 + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} 853 + deprecated: This library has been deprecated and usage is discouraged. 854 + 855 + ethereumjs-util@6.2.1: 856 + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} 857 + 858 + ethers@6.15.0: 859 + resolution: {integrity: sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==} 860 + engines: {node: '>=14.0.0'} 861 + 862 + ethjs-util@0.1.6: 863 + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} 864 + engines: {node: '>=6.5.0', npm: '>=3'} 865 + 866 + eventemitter3@5.0.1: 867 + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} 868 + 869 + evp_bytestokey@1.0.3: 870 + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} 871 + 872 + fill-range@7.1.1: 873 + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 874 + engines: {node: '>=8'} 875 + 876 + find-up@2.1.0: 877 + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 878 + engines: {node: '>=4'} 879 + 880 + find-up@5.0.0: 881 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 882 + engines: {node: '>=10'} 883 + 884 + flat@5.0.2: 885 + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} 886 + hasBin: true 887 + 888 + follow-redirects@1.15.11: 889 + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} 890 + engines: {node: '>=4.0'} 891 + peerDependencies: 892 + debug: '*' 893 + peerDependenciesMeta: 894 + debug: 895 + optional: true 896 + 897 + for-each@0.3.5: 898 + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 899 + engines: {node: '>= 0.4'} 900 + 901 + fp-ts@1.19.3: 902 + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} 903 + 904 + fs-extra@0.30.0: 905 + resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} 906 + 907 + fs-extra@7.0.1: 908 + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 909 + engines: {node: '>=6 <7 || >=8'} 910 + 911 + fs.realpath@1.0.0: 912 + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 913 + 914 + fsevents@2.3.3: 915 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 916 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 917 + os: [darwin] 918 + 919 + function-bind@1.1.2: 920 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 921 + 922 + get-caller-file@2.0.5: 923 + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 924 + engines: {node: 6.* || 8.* || >= 10.*} 925 + 926 + get-east-asian-width@1.4.0: 927 + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} 928 + engines: {node: '>=18'} 929 + 930 + get-intrinsic@1.3.0: 931 + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 932 + engines: {node: '>= 0.4'} 933 + 934 + get-proto@1.0.1: 935 + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 936 + engines: {node: '>= 0.4'} 937 + 938 + get-tsconfig@4.12.0: 939 + resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==} 940 + 941 + glob-parent@5.1.2: 942 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 943 + engines: {node: '>= 6'} 944 + 945 + glob@7.2.0: 946 + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 947 + deprecated: Glob versions prior to v9 are no longer supported 948 + 949 + glob@8.1.0: 950 + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} 951 + engines: {node: '>=12'} 952 + deprecated: Glob versions prior to v9 are no longer supported 953 + 954 + gopd@1.2.0: 955 + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 956 + engines: {node: '>= 0.4'} 957 + 958 + graceful-fs@4.2.11: 959 + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 960 + 961 + graphemer@1.4.0: 962 + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 963 + 964 + hardhat@2.22.4: 965 + resolution: {integrity: sha512-09qcXJFBHQUaraJkYNr7XlmwjOj27xBB0SL2rYS024hTj9tPMbp26AFjlf5quBMO9SR4AJFg+4qWahcYcvXBuQ==} 966 + hasBin: true 967 + peerDependencies: 968 + ts-node: '*' 969 + typescript: '*' 970 + peerDependenciesMeta: 971 + ts-node: 972 + optional: true 973 + typescript: 974 + optional: true 975 + 976 + has-flag@3.0.0: 977 + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 978 + engines: {node: '>=4'} 979 + 980 + has-flag@4.0.0: 981 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 982 + engines: {node: '>=8'} 983 + 984 + has-property-descriptors@1.0.2: 985 + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 986 + 987 + has-symbols@1.1.0: 988 + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 989 + engines: {node: '>= 0.4'} 990 + 991 + has-tostringtag@1.0.2: 992 + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 993 + engines: {node: '>= 0.4'} 994 + 995 + hash-base@3.1.2: 996 + resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} 997 + engines: {node: '>= 0.8'} 998 + 999 + hash.js@1.1.7: 1000 + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} 1001 + 1002 + hasown@2.0.2: 1003 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1004 + engines: {node: '>= 0.4'} 1005 + 1006 + he@1.2.0: 1007 + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 1008 + hasBin: true 1009 + 1010 + hmac-drbg@1.0.1: 1011 + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} 1012 + 1013 + http-errors@2.0.0: 1014 + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1015 + engines: {node: '>= 0.8'} 1016 + 1017 + https-proxy-agent@5.0.1: 1018 + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 1019 + engines: {node: '>= 6'} 1020 + 1021 + iconv-lite@0.4.24: 1022 + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1023 + engines: {node: '>=0.10.0'} 1024 + 1025 + immutable@4.3.7: 1026 + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} 1027 + 1028 + indent-string@4.0.0: 1029 + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1030 + engines: {node: '>=8'} 1031 + 1032 + inflight@1.0.6: 1033 + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1034 + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1035 + 1036 + inherits@2.0.4: 1037 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1038 + 1039 + io-ts@1.10.4: 1040 + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} 1041 + 1042 + is-binary-path@2.1.0: 1043 + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1044 + engines: {node: '>=8'} 1045 + 1046 + is-callable@1.2.7: 1047 + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1048 + engines: {node: '>= 0.4'} 1049 + 1050 + is-extglob@2.1.1: 1051 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1052 + engines: {node: '>=0.10.0'} 1053 + 1054 + is-fullwidth-code-point@3.0.0: 1055 + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1056 + engines: {node: '>=8'} 1057 + 1058 + is-glob@4.0.3: 1059 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1060 + engines: {node: '>=0.10.0'} 1061 + 1062 + is-hex-prefixed@1.0.0: 1063 + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} 1064 + engines: {node: '>=6.5.0', npm: '>=3'} 1065 + 1066 + is-interactive@2.0.0: 1067 + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 1068 + engines: {node: '>=12'} 1069 + 1070 + is-number@7.0.0: 1071 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1072 + engines: {node: '>=0.12.0'} 1073 + 1074 + is-plain-obj@2.1.0: 1075 + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} 1076 + engines: {node: '>=8'} 1077 + 1078 + is-typed-array@1.1.15: 1079 + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 1080 + engines: {node: '>= 0.4'} 1081 + 1082 + is-unicode-supported@0.1.0: 1083 + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 1084 + engines: {node: '>=10'} 1085 + 1086 + is-unicode-supported@1.3.0: 1087 + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 1088 + engines: {node: '>=12'} 1089 + 1090 + is-unicode-supported@2.1.0: 1091 + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 1092 + engines: {node: '>=18'} 1093 + 1094 + isarray@1.0.0: 1095 + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1096 + 1097 + isarray@2.0.5: 1098 + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1099 + 1100 + iso-datestring-validator@2.2.2: 1101 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 1102 + 1103 + isows@1.0.7: 1104 + resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} 1105 + peerDependencies: 1106 + ws: '*' 1107 + 1108 + js-base64@3.7.8: 1109 + resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} 1110 + 1111 + js-sha3@0.8.0: 1112 + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} 1113 + 1114 + js-yaml@4.1.0: 1115 + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1116 + hasBin: true 1117 + 1118 + jsonfile@2.4.0: 1119 + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} 1120 + 1121 + jsonfile@4.0.0: 1122 + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1123 + 1124 + keccak@3.0.4: 1125 + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} 1126 + engines: {node: '>=10.0.0'} 1127 + 1128 + klaw@1.3.1: 1129 + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} 1130 + 1131 + locate-path@2.0.0: 1132 + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 1133 + engines: {node: '>=4'} 1134 + 1135 + locate-path@6.0.0: 1136 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1137 + engines: {node: '>=10'} 1138 + 1139 + lodash@4.17.21: 1140 + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1141 + 1142 + log-symbols@4.1.0: 1143 + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 1144 + engines: {node: '>=10'} 1145 + 1146 + log-symbols@6.0.0: 1147 + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} 1148 + engines: {node: '>=18'} 1149 + 1150 + lru_map@0.3.3: 1151 + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} 1152 + 1153 + math-intrinsics@1.1.0: 1154 + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1155 + engines: {node: '>= 0.4'} 1156 + 1157 + md5.js@1.3.5: 1158 + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} 1159 + 1160 + memorystream@0.3.1: 1161 + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} 1162 + engines: {node: '>= 0.10.0'} 1163 + 1164 + micro-ftch@0.3.1: 1165 + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} 1166 + 1167 + mimic-function@5.0.1: 1168 + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} 1169 + engines: {node: '>=18'} 1170 + 1171 + minimalistic-assert@1.0.1: 1172 + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} 1173 + 1174 + minimalistic-crypto-utils@1.0.1: 1175 + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} 1176 + 1177 + minimatch@3.1.2: 1178 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1179 + 1180 + minimatch@5.1.6: 1181 + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1182 + engines: {node: '>=10'} 1183 + 1184 + mnemonist@0.38.5: 1185 + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} 1186 + 1187 + mocha@10.8.2: 1188 + resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} 1189 + engines: {node: '>= 14.0.0'} 1190 + hasBin: true 1191 + 1192 + ms@2.1.3: 1193 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1194 + 1195 + multiformats@9.9.0: 1196 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 1197 + 1198 + node-addon-api@2.0.2: 1199 + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} 1200 + 1201 + node-addon-api@5.1.0: 1202 + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} 1203 + 1204 + node-gyp-build@4.8.4: 1205 + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} 1206 + hasBin: true 1207 + 1208 + normalize-path@3.0.0: 1209 + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1210 + engines: {node: '>=0.10.0'} 1211 + 1212 + obliterator@2.0.5: 1213 + resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} 1214 + 1215 + once@1.4.0: 1216 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1217 + 1218 + onetime@7.0.0: 1219 + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} 1220 + engines: {node: '>=18'} 1221 + 1222 + ora@8.2.0: 1223 + resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} 1224 + engines: {node: '>=18'} 1225 + 1226 + os-tmpdir@1.0.2: 1227 + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1228 + engines: {node: '>=0.10.0'} 1229 + 1230 + ox@0.9.6: 1231 + resolution: {integrity: sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg==} 1232 + peerDependencies: 1233 + typescript: '>=5.4.0' 1234 + peerDependenciesMeta: 1235 + typescript: 1236 + optional: true 1237 + 1238 + p-limit@1.3.0: 1239 + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 1240 + engines: {node: '>=4'} 1241 + 1242 + p-limit@3.1.0: 1243 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1244 + engines: {node: '>=10'} 1245 + 1246 + p-locate@2.0.0: 1247 + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 1248 + engines: {node: '>=4'} 1249 + 1250 + p-locate@5.0.0: 1251 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1252 + engines: {node: '>=10'} 1253 + 1254 + p-map@4.0.0: 1255 + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 1256 + engines: {node: '>=10'} 1257 + 1258 + p-try@1.0.0: 1259 + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 1260 + engines: {node: '>=4'} 1261 + 1262 + pako@2.1.0: 1263 + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} 1264 + 1265 + path-exists@3.0.0: 1266 + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 1267 + engines: {node: '>=4'} 1268 + 1269 + path-exists@4.0.0: 1270 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1271 + engines: {node: '>=8'} 1272 + 1273 + path-is-absolute@1.0.1: 1274 + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1275 + engines: {node: '>=0.10.0'} 1276 + 1277 + path-parse@1.0.7: 1278 + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1279 + 1280 + pbkdf2@3.1.5: 1281 + resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} 1282 + engines: {node: '>= 0.10'} 1283 + 1284 + picomatch@2.3.1: 1285 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1286 + engines: {node: '>=8.6'} 1287 + 1288 + pony-cause@2.1.11: 1289 + resolution: {integrity: sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==} 1290 + engines: {node: '>=12.0.0'} 1291 + 1292 + possible-typed-array-names@1.1.0: 1293 + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 1294 + engines: {node: '>= 0.4'} 1295 + 1296 + process-nextick-args@2.0.1: 1297 + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 1298 + 1299 + randombytes@2.1.0: 1300 + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 1301 + 1302 + raw-body@2.5.2: 1303 + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} 1304 + engines: {node: '>= 0.8'} 1305 + 1306 + readable-stream@2.3.8: 1307 + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 1308 + 1309 + readable-stream@3.6.2: 1310 + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1311 + engines: {node: '>= 6'} 1312 + 1313 + readdirp@3.6.0: 1314 + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1315 + engines: {node: '>=8.10.0'} 1316 + 1317 + require-directory@2.1.1: 1318 + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1319 + engines: {node: '>=0.10.0'} 1320 + 1321 + require-from-string@2.0.2: 1322 + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 1323 + engines: {node: '>=0.10.0'} 1324 + 1325 + resolve-pkg-maps@1.0.0: 1326 + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1327 + 1328 + resolve@1.17.0: 1329 + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} 1330 + 1331 + restore-cursor@5.1.0: 1332 + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} 1333 + engines: {node: '>=18'} 1334 + 1335 + rimraf@2.7.1: 1336 + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 1337 + deprecated: Rimraf versions prior to v4 are no longer supported 1338 + hasBin: true 1339 + 1340 + ripemd160@2.0.3: 1341 + resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} 1342 + engines: {node: '>= 0.8'} 1343 + 1344 + rlp@2.2.7: 1345 + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} 1346 + hasBin: true 1347 + 1348 + safe-buffer@5.1.2: 1349 + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 1350 + 1351 + safe-buffer@5.2.1: 1352 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1353 + 1354 + safer-buffer@2.1.2: 1355 + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1356 + 1357 + scrypt-js@3.0.1: 1358 + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} 1359 + 1360 + secp256k1@4.0.4: 1361 + resolution: {integrity: sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==} 1362 + engines: {node: '>=18.0.0'} 1363 + 1364 + semver@5.7.2: 1365 + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 1366 + hasBin: true 1367 + 1368 + semver@6.3.1: 1369 + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1370 + hasBin: true 1371 + 1372 + semver@7.7.3: 1373 + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} 1374 + engines: {node: '>=10'} 1375 + hasBin: true 1376 + 1377 + serialize-javascript@6.0.2: 1378 + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} 1379 + 1380 + set-function-length@1.2.2: 1381 + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1382 + engines: {node: '>= 0.4'} 1383 + 1384 + setimmediate@1.0.5: 1385 + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} 1386 + 1387 + setprototypeof@1.2.0: 1388 + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1389 + 1390 + sha.js@2.4.12: 1391 + resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} 1392 + engines: {node: '>= 0.10'} 1393 + hasBin: true 1394 + 1395 + signal-exit@4.1.0: 1396 + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1397 + engines: {node: '>=14'} 1398 + 1399 + solc@0.7.3: 1400 + resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} 1401 + engines: {node: '>=8.0.0'} 1402 + hasBin: true 1403 + 1404 + source-map-support@0.5.21: 1405 + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1406 + 1407 + source-map@0.6.1: 1408 + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1409 + engines: {node: '>=0.10.0'} 1410 + 1411 + stacktrace-parser@0.1.11: 1412 + resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==} 1413 + engines: {node: '>=6'} 1414 + 1415 + statuses@2.0.1: 1416 + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 1417 + engines: {node: '>= 0.8'} 1418 + 1419 + stdin-discarder@0.2.2: 1420 + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} 1421 + engines: {node: '>=18'} 1422 + 1423 + string-width@4.2.3: 1424 + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1425 + engines: {node: '>=8'} 1426 + 1427 + string-width@7.2.0: 1428 + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 1429 + engines: {node: '>=18'} 1430 + 1431 + string_decoder@1.1.1: 1432 + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 1433 + 1434 + string_decoder@1.3.0: 1435 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1436 + 1437 + strip-ansi@6.0.1: 1438 + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1439 + engines: {node: '>=8'} 1440 + 1441 + strip-ansi@7.1.2: 1442 + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} 1443 + engines: {node: '>=12'} 1444 + 1445 + strip-hex-prefix@1.0.0: 1446 + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} 1447 + engines: {node: '>=6.5.0', npm: '>=3'} 1448 + 1449 + strip-json-comments@3.1.1: 1450 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1451 + engines: {node: '>=8'} 1452 + 1453 + supports-color@5.5.0: 1454 + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1455 + engines: {node: '>=4'} 1456 + 1457 + supports-color@7.2.0: 1458 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1459 + engines: {node: '>=8'} 1460 + 1461 + supports-color@8.1.1: 1462 + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 1463 + engines: {node: '>=10'} 1464 + 1465 + tlds@1.260.0: 1466 + resolution: {integrity: sha512-78+28EWBhCEE7qlyaHA9OR3IPvbCLiDh3Ckla593TksfFc9vfTsgvH7eS+dr3o9qr31gwGbogcI16yN91PoRjQ==} 1467 + hasBin: true 1468 + 1469 + tmp@0.0.33: 1470 + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 1471 + engines: {node: '>=0.6.0'} 1472 + 1473 + to-buffer@1.2.2: 1474 + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} 1475 + engines: {node: '>= 0.4'} 1476 + 1477 + to-regex-range@5.0.1: 1478 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1479 + engines: {node: '>=8.0'} 1480 + 1481 + toidentifier@1.0.1: 1482 + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 1483 + engines: {node: '>=0.6'} 1484 + 1485 + tslib@1.14.1: 1486 + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 1487 + 1488 + tslib@2.7.0: 1489 + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} 1490 + 1491 + tsort@0.0.1: 1492 + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} 1493 + 1494 + tsx@4.20.6: 1495 + resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==} 1496 + engines: {node: '>=18.0.0'} 1497 + hasBin: true 1498 + 1499 + tweetnacl-util@0.15.1: 1500 + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} 1501 + 1502 + tweetnacl@1.0.3: 1503 + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} 1504 + 1505 + type-fest@0.20.2: 1506 + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1507 + engines: {node: '>=10'} 1508 + 1509 + type-fest@0.21.3: 1510 + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 1511 + engines: {node: '>=10'} 1512 + 1513 + type-fest@0.7.1: 1514 + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} 1515 + engines: {node: '>=8'} 1516 + 1517 + typed-array-buffer@1.0.3: 1518 + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 1519 + engines: {node: '>= 0.4'} 1520 + 1521 + typescript@5.9.3: 1522 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 1523 + engines: {node: '>=14.17'} 1524 + hasBin: true 1525 + 1526 + uint8arrays@3.0.0: 1527 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 1528 + 1529 + undici-types@6.19.8: 1530 + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1531 + 1532 + undici-types@6.21.0: 1533 + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1534 + 1535 + undici@5.29.0: 1536 + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} 1537 + engines: {node: '>=14.0'} 1538 + 1539 + universalify@0.1.2: 1540 + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1541 + engines: {node: '>= 4.0.0'} 1542 + 1543 + unpipe@1.0.0: 1544 + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 1545 + engines: {node: '>= 0.8'} 1546 + 1547 + util-deprecate@1.0.2: 1548 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1549 + 1550 + uuid@8.3.2: 1551 + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} 1552 + hasBin: true 1553 + 1554 + uuid@9.0.1: 1555 + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} 1556 + hasBin: true 1557 + 1558 + viem@2.38.0: 1559 + resolution: {integrity: sha512-YU5TG8dgBNeYPrCMww0u9/JVeq2ZCk9fzk6QybrPkBooFysamHXL1zC3ua10aLPt9iWoA/gSVf1D9w7nc5B1aA==} 1560 + peerDependencies: 1561 + typescript: '>=5.0.4' 1562 + peerDependenciesMeta: 1563 + typescript: 1564 + optional: true 1565 + 1566 + which-typed-array@1.1.19: 1567 + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 1568 + engines: {node: '>= 0.4'} 1569 + 1570 + widest-line@3.1.0: 1571 + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} 1572 + engines: {node: '>=8'} 1573 + 1574 + workerpool@6.5.1: 1575 + resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} 1576 + 1577 + wrap-ansi@7.0.0: 1578 + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1579 + engines: {node: '>=10'} 1580 + 1581 + wrappy@1.0.2: 1582 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1583 + 1584 + ws@7.5.10: 1585 + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} 1586 + engines: {node: '>=8.3.0'} 1587 + peerDependencies: 1588 + bufferutil: ^4.0.1 1589 + utf-8-validate: ^5.0.2 1590 + peerDependenciesMeta: 1591 + bufferutil: 1592 + optional: true 1593 + utf-8-validate: 1594 + optional: true 1595 + 1596 + ws@8.17.1: 1597 + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} 1598 + engines: {node: '>=10.0.0'} 1599 + peerDependencies: 1600 + bufferutil: ^4.0.1 1601 + utf-8-validate: '>=5.0.2' 1602 + peerDependenciesMeta: 1603 + bufferutil: 1604 + optional: true 1605 + utf-8-validate: 1606 + optional: true 1607 + 1608 + ws@8.18.3: 1609 + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} 1610 + engines: {node: '>=10.0.0'} 1611 + peerDependencies: 1612 + bufferutil: ^4.0.1 1613 + utf-8-validate: '>=5.0.2' 1614 + peerDependenciesMeta: 1615 + bufferutil: 1616 + optional: true 1617 + utf-8-validate: 1618 + optional: true 1619 + 1620 + y18n@5.0.8: 1621 + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1622 + engines: {node: '>=10'} 1623 + 1624 + yargs-parser@20.2.9: 1625 + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 1626 + engines: {node: '>=10'} 1627 + 1628 + yargs-unparser@2.0.0: 1629 + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} 1630 + engines: {node: '>=10'} 1631 + 1632 + yargs@16.2.0: 1633 + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} 1634 + engines: {node: '>=10'} 1635 + 1636 + yocto-queue@0.1.0: 1637 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1638 + engines: {node: '>=10'} 1639 + 1640 + zod@3.25.76: 1641 + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 1642 + 1643 + snapshots: 1644 + 1645 + '@adraffy/ens-normalize@1.10.1': {} 1646 + 1647 + '@adraffy/ens-normalize@1.11.1': {} 1648 + 1649 + '@atproto/api@0.12.29': 1650 + dependencies: 1651 + '@atproto/common-web': 0.3.2 1652 + '@atproto/lexicon': 0.4.14 1653 + '@atproto/syntax': 0.3.4 1654 + '@atproto/xrpc': 0.5.0 1655 + await-lock: 2.2.2 1656 + multiformats: 9.9.0 1657 + tlds: 1.260.0 1658 + 1659 + '@atproto/common-web@0.3.2': 1660 + dependencies: 1661 + graphemer: 1.4.0 1662 + multiformats: 9.9.0 1663 + uint8arrays: 3.0.0 1664 + zod: 3.25.76 1665 + 1666 + '@atproto/common-web@0.4.3': 1667 + dependencies: 1668 + graphemer: 1.4.0 1669 + multiformats: 9.9.0 1670 + uint8arrays: 3.0.0 1671 + zod: 3.25.76 1672 + 1673 + '@atproto/lexicon@0.4.14': 1674 + dependencies: 1675 + '@atproto/common-web': 0.4.3 1676 + '@atproto/syntax': 0.4.1 1677 + iso-datestring-validator: 2.2.2 1678 + multiformats: 9.9.0 1679 + zod: 3.25.76 1680 + 1681 + '@atproto/syntax@0.3.4': {} 1682 + 1683 + '@atproto/syntax@0.4.1': {} 1684 + 1685 + '@atproto/xrpc@0.5.0': 1686 + dependencies: 1687 + '@atproto/lexicon': 0.4.14 1688 + zod: 3.25.76 1689 + 1690 + '@esbuild/aix-ppc64@0.25.10': 1691 + optional: true 1692 + 1693 + '@esbuild/android-arm64@0.25.10': 1694 + optional: true 1695 + 1696 + '@esbuild/android-arm@0.25.10': 1697 + optional: true 1698 + 1699 + '@esbuild/android-x64@0.25.10': 1700 + optional: true 1701 + 1702 + '@esbuild/darwin-arm64@0.25.10': 1703 + optional: true 1704 + 1705 + '@esbuild/darwin-x64@0.25.10': 1706 + optional: true 1707 + 1708 + '@esbuild/freebsd-arm64@0.25.10': 1709 + optional: true 1710 + 1711 + '@esbuild/freebsd-x64@0.25.10': 1712 + optional: true 1713 + 1714 + '@esbuild/linux-arm64@0.25.10': 1715 + optional: true 1716 + 1717 + '@esbuild/linux-arm@0.25.10': 1718 + optional: true 1719 + 1720 + '@esbuild/linux-ia32@0.25.10': 1721 + optional: true 1722 + 1723 + '@esbuild/linux-loong64@0.25.10': 1724 + optional: true 1725 + 1726 + '@esbuild/linux-mips64el@0.25.10': 1727 + optional: true 1728 + 1729 + '@esbuild/linux-ppc64@0.25.10': 1730 + optional: true 1731 + 1732 + '@esbuild/linux-riscv64@0.25.10': 1733 + optional: true 1734 + 1735 + '@esbuild/linux-s390x@0.25.10': 1736 + optional: true 1737 + 1738 + '@esbuild/linux-x64@0.25.10': 1739 + optional: true 1740 + 1741 + '@esbuild/netbsd-arm64@0.25.10': 1742 + optional: true 1743 + 1744 + '@esbuild/netbsd-x64@0.25.10': 1745 + optional: true 1746 + 1747 + '@esbuild/openbsd-arm64@0.25.10': 1748 + optional: true 1749 + 1750 + '@esbuild/openbsd-x64@0.25.10': 1751 + optional: true 1752 + 1753 + '@esbuild/openharmony-arm64@0.25.10': 1754 + optional: true 1755 + 1756 + '@esbuild/sunos-x64@0.25.10': 1757 + optional: true 1758 + 1759 + '@esbuild/win32-arm64@0.25.10': 1760 + optional: true 1761 + 1762 + '@esbuild/win32-ia32@0.25.10': 1763 + optional: true 1764 + 1765 + '@esbuild/win32-x64@0.25.10': 1766 + optional: true 1767 + 1768 + '@ethereum-attestation-service/eas-contracts@1.7.1(typescript@5.9.3)': 1769 + dependencies: 1770 + hardhat: 2.22.4(typescript@5.9.3) 1771 + transitivePeerDependencies: 1772 + - bufferutil 1773 + - c-kzg 1774 + - supports-color 1775 + - ts-node 1776 + - typescript 1777 + - utf-8-validate 1778 + 1779 + '@ethereum-attestation-service/eas-sdk@2.9.0(typescript@5.9.3)(zod@3.25.76)': 1780 + dependencies: 1781 + '@ethereum-attestation-service/eas-contracts': 1.7.1(typescript@5.9.3) 1782 + '@openzeppelin/merkle-tree': 1.0.8 1783 + ethers: 6.15.0 1784 + js-base64: 3.7.8 1785 + lodash: 4.17.21 1786 + multiformats: 9.9.0 1787 + pako: 2.1.0 1788 + semver: 7.7.3 1789 + viem: 2.38.0(typescript@5.9.3)(zod@3.25.76) 1790 + transitivePeerDependencies: 1791 + - bufferutil 1792 + - c-kzg 1793 + - supports-color 1794 + - ts-node 1795 + - typescript 1796 + - utf-8-validate 1797 + - zod 1798 + 1799 + '@ethereumjs/common@3.2.0': 1800 + dependencies: 1801 + '@ethereumjs/util': 8.1.0 1802 + crc-32: 1.2.2 1803 + 1804 + '@ethereumjs/rlp@4.0.1': {} 1805 + 1806 + '@ethereumjs/tx@4.2.0': 1807 + dependencies: 1808 + '@ethereumjs/common': 3.2.0 1809 + '@ethereumjs/rlp': 4.0.1 1810 + '@ethereumjs/util': 8.1.0 1811 + ethereum-cryptography: 2.2.1 1812 + 1813 + '@ethereumjs/util@8.1.0': 1814 + dependencies: 1815 + '@ethereumjs/rlp': 4.0.1 1816 + ethereum-cryptography: 2.2.1 1817 + micro-ftch: 0.3.1 1818 + 1819 + '@ethersproject/abi@5.8.0': 1820 + dependencies: 1821 + '@ethersproject/address': 5.8.0 1822 + '@ethersproject/bignumber': 5.8.0 1823 + '@ethersproject/bytes': 5.8.0 1824 + '@ethersproject/constants': 5.8.0 1825 + '@ethersproject/hash': 5.8.0 1826 + '@ethersproject/keccak256': 5.8.0 1827 + '@ethersproject/logger': 5.8.0 1828 + '@ethersproject/properties': 5.8.0 1829 + '@ethersproject/strings': 5.8.0 1830 + 1831 + '@ethersproject/abstract-provider@5.8.0': 1832 + dependencies: 1833 + '@ethersproject/bignumber': 5.8.0 1834 + '@ethersproject/bytes': 5.8.0 1835 + '@ethersproject/logger': 5.8.0 1836 + '@ethersproject/networks': 5.8.0 1837 + '@ethersproject/properties': 5.8.0 1838 + '@ethersproject/transactions': 5.8.0 1839 + '@ethersproject/web': 5.8.0 1840 + 1841 + '@ethersproject/abstract-signer@5.8.0': 1842 + dependencies: 1843 + '@ethersproject/abstract-provider': 5.8.0 1844 + '@ethersproject/bignumber': 5.8.0 1845 + '@ethersproject/bytes': 5.8.0 1846 + '@ethersproject/logger': 5.8.0 1847 + '@ethersproject/properties': 5.8.0 1848 + 1849 + '@ethersproject/address@5.8.0': 1850 + dependencies: 1851 + '@ethersproject/bignumber': 5.8.0 1852 + '@ethersproject/bytes': 5.8.0 1853 + '@ethersproject/keccak256': 5.8.0 1854 + '@ethersproject/logger': 5.8.0 1855 + '@ethersproject/rlp': 5.8.0 1856 + 1857 + '@ethersproject/base64@5.8.0': 1858 + dependencies: 1859 + '@ethersproject/bytes': 5.8.0 1860 + 1861 + '@ethersproject/bignumber@5.8.0': 1862 + dependencies: 1863 + '@ethersproject/bytes': 5.8.0 1864 + '@ethersproject/logger': 5.8.0 1865 + bn.js: 5.2.2 1866 + 1867 + '@ethersproject/bytes@5.8.0': 1868 + dependencies: 1869 + '@ethersproject/logger': 5.8.0 1870 + 1871 + '@ethersproject/constants@5.8.0': 1872 + dependencies: 1873 + '@ethersproject/bignumber': 5.8.0 1874 + 1875 + '@ethersproject/hash@5.8.0': 1876 + dependencies: 1877 + '@ethersproject/abstract-signer': 5.8.0 1878 + '@ethersproject/address': 5.8.0 1879 + '@ethersproject/base64': 5.8.0 1880 + '@ethersproject/bignumber': 5.8.0 1881 + '@ethersproject/bytes': 5.8.0 1882 + '@ethersproject/keccak256': 5.8.0 1883 + '@ethersproject/logger': 5.8.0 1884 + '@ethersproject/properties': 5.8.0 1885 + '@ethersproject/strings': 5.8.0 1886 + 1887 + '@ethersproject/keccak256@5.8.0': 1888 + dependencies: 1889 + '@ethersproject/bytes': 5.8.0 1890 + js-sha3: 0.8.0 1891 + 1892 + '@ethersproject/logger@5.8.0': {} 1893 + 1894 + '@ethersproject/networks@5.8.0': 1895 + dependencies: 1896 + '@ethersproject/logger': 5.8.0 1897 + 1898 + '@ethersproject/properties@5.8.0': 1899 + dependencies: 1900 + '@ethersproject/logger': 5.8.0 1901 + 1902 + '@ethersproject/rlp@5.8.0': 1903 + dependencies: 1904 + '@ethersproject/bytes': 5.8.0 1905 + '@ethersproject/logger': 5.8.0 1906 + 1907 + '@ethersproject/signing-key@5.8.0': 1908 + dependencies: 1909 + '@ethersproject/bytes': 5.8.0 1910 + '@ethersproject/logger': 5.8.0 1911 + '@ethersproject/properties': 5.8.0 1912 + bn.js: 5.2.2 1913 + elliptic: 6.6.1 1914 + hash.js: 1.1.7 1915 + 1916 + '@ethersproject/strings@5.8.0': 1917 + dependencies: 1918 + '@ethersproject/bytes': 5.8.0 1919 + '@ethersproject/constants': 5.8.0 1920 + '@ethersproject/logger': 5.8.0 1921 + 1922 + '@ethersproject/transactions@5.8.0': 1923 + dependencies: 1924 + '@ethersproject/address': 5.8.0 1925 + '@ethersproject/bignumber': 5.8.0 1926 + '@ethersproject/bytes': 5.8.0 1927 + '@ethersproject/constants': 5.8.0 1928 + '@ethersproject/keccak256': 5.8.0 1929 + '@ethersproject/logger': 5.8.0 1930 + '@ethersproject/properties': 5.8.0 1931 + '@ethersproject/rlp': 5.8.0 1932 + '@ethersproject/signing-key': 5.8.0 1933 + 1934 + '@ethersproject/web@5.8.0': 1935 + dependencies: 1936 + '@ethersproject/base64': 5.8.0 1937 + '@ethersproject/bytes': 5.8.0 1938 + '@ethersproject/logger': 5.8.0 1939 + '@ethersproject/properties': 5.8.0 1940 + '@ethersproject/strings': 5.8.0 1941 + 1942 + '@fastify/busboy@2.1.1': {} 1943 + 1944 + '@metamask/abi-utils@2.0.4': 1945 + dependencies: 1946 + '@metamask/superstruct': 3.2.1 1947 + '@metamask/utils': 9.3.0 1948 + transitivePeerDependencies: 1949 + - supports-color 1950 + 1951 + '@metamask/eth-sig-util@4.0.1': 1952 + dependencies: 1953 + ethereumjs-abi: 0.6.8 1954 + ethereumjs-util: 6.2.1 1955 + ethjs-util: 0.1.6 1956 + tweetnacl: 1.0.3 1957 + tweetnacl-util: 0.15.1 1958 + 1959 + '@metamask/superstruct@3.2.1': {} 1960 + 1961 + '@metamask/utils@9.3.0': 1962 + dependencies: 1963 + '@ethereumjs/tx': 4.2.0 1964 + '@metamask/superstruct': 3.2.1 1965 + '@noble/hashes': 1.8.0 1966 + '@scure/base': 1.2.6 1967 + '@types/debug': 4.1.12 1968 + debug: 4.4.3(supports-color@8.1.1) 1969 + pony-cause: 2.1.11 1970 + semver: 7.7.3 1971 + uuid: 9.0.1 1972 + transitivePeerDependencies: 1973 + - supports-color 1974 + 1975 + '@noble/ciphers@1.3.0': {} 1976 + 1977 + '@noble/curves@1.2.0': 1978 + dependencies: 1979 + '@noble/hashes': 1.3.2 1980 + 1981 + '@noble/curves@1.4.2': 1982 + dependencies: 1983 + '@noble/hashes': 1.4.0 1984 + 1985 + '@noble/curves@1.9.0': 1986 + dependencies: 1987 + '@noble/hashes': 1.8.0 1988 + 1989 + '@noble/curves@1.9.1': 1990 + dependencies: 1991 + '@noble/hashes': 1.8.0 1992 + 1993 + '@noble/hashes@1.2.0': {} 1994 + 1995 + '@noble/hashes@1.3.2': {} 1996 + 1997 + '@noble/hashes@1.4.0': {} 1998 + 1999 + '@noble/hashes@1.8.0': {} 2000 + 2001 + '@noble/secp256k1@1.7.1': {} 2002 + 2003 + '@nomicfoundation/edr-darwin-arm64@0.3.8': {} 2004 + 2005 + '@nomicfoundation/edr-darwin-x64@0.3.8': {} 2006 + 2007 + '@nomicfoundation/edr-linux-arm64-gnu@0.3.8': {} 2008 + 2009 + '@nomicfoundation/edr-linux-arm64-musl@0.3.8': {} 2010 + 2011 + '@nomicfoundation/edr-linux-x64-gnu@0.3.8': {} 2012 + 2013 + '@nomicfoundation/edr-linux-x64-musl@0.3.8': {} 2014 + 2015 + '@nomicfoundation/edr-win32-x64-msvc@0.3.8': {} 2016 + 2017 + '@nomicfoundation/edr@0.3.8': 2018 + dependencies: 2019 + '@nomicfoundation/edr-darwin-arm64': 0.3.8 2020 + '@nomicfoundation/edr-darwin-x64': 0.3.8 2021 + '@nomicfoundation/edr-linux-arm64-gnu': 0.3.8 2022 + '@nomicfoundation/edr-linux-arm64-musl': 0.3.8 2023 + '@nomicfoundation/edr-linux-x64-gnu': 0.3.8 2024 + '@nomicfoundation/edr-linux-x64-musl': 0.3.8 2025 + '@nomicfoundation/edr-win32-x64-msvc': 0.3.8 2026 + 2027 + '@nomicfoundation/ethereumjs-common@4.0.4': 2028 + dependencies: 2029 + '@nomicfoundation/ethereumjs-util': 9.0.4 2030 + transitivePeerDependencies: 2031 + - c-kzg 2032 + 2033 + '@nomicfoundation/ethereumjs-rlp@5.0.4': {} 2034 + 2035 + '@nomicfoundation/ethereumjs-tx@5.0.4': 2036 + dependencies: 2037 + '@nomicfoundation/ethereumjs-common': 4.0.4 2038 + '@nomicfoundation/ethereumjs-rlp': 5.0.4 2039 + '@nomicfoundation/ethereumjs-util': 9.0.4 2040 + ethereum-cryptography: 0.1.3 2041 + 2042 + '@nomicfoundation/ethereumjs-util@9.0.4': 2043 + dependencies: 2044 + '@nomicfoundation/ethereumjs-rlp': 5.0.4 2045 + ethereum-cryptography: 0.1.3 2046 + 2047 + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': 2048 + optional: true 2049 + 2050 + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': 2051 + optional: true 2052 + 2053 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': 2054 + optional: true 2055 + 2056 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': 2057 + optional: true 2058 + 2059 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': 2060 + optional: true 2061 + 2062 + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': 2063 + optional: true 2064 + 2065 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': 2066 + optional: true 2067 + 2068 + '@nomicfoundation/solidity-analyzer@0.1.2': 2069 + optionalDependencies: 2070 + '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.2 2071 + '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.2 2072 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.2 2073 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.2 2074 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.2 2075 + '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 2076 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 2077 + 2078 + '@openzeppelin/merkle-tree@1.0.8': 2079 + dependencies: 2080 + '@metamask/abi-utils': 2.0.4 2081 + ethereum-cryptography: 3.2.0 2082 + transitivePeerDependencies: 2083 + - supports-color 2084 + 2085 + '@scure/base@1.1.9': {} 2086 + 2087 + '@scure/base@1.2.6': {} 2088 + 2089 + '@scure/bip32@1.1.5': 2090 + dependencies: 2091 + '@noble/hashes': 1.2.0 2092 + '@noble/secp256k1': 1.7.1 2093 + '@scure/base': 1.1.9 2094 + 2095 + '@scure/bip32@1.4.0': 2096 + dependencies: 2097 + '@noble/curves': 1.4.2 2098 + '@noble/hashes': 1.4.0 2099 + '@scure/base': 1.1.9 2100 + 2101 + '@scure/bip32@1.7.0': 2102 + dependencies: 2103 + '@noble/curves': 1.9.1 2104 + '@noble/hashes': 1.8.0 2105 + '@scure/base': 1.2.6 2106 + 2107 + '@scure/bip39@1.1.1': 2108 + dependencies: 2109 + '@noble/hashes': 1.2.0 2110 + '@scure/base': 1.1.9 2111 + 2112 + '@scure/bip39@1.3.0': 2113 + dependencies: 2114 + '@noble/hashes': 1.4.0 2115 + '@scure/base': 1.1.9 2116 + 2117 + '@scure/bip39@1.6.0': 2118 + dependencies: 2119 + '@noble/hashes': 1.8.0 2120 + '@scure/base': 1.2.6 2121 + 2122 + '@sentry/core@5.30.0': 2123 + dependencies: 2124 + '@sentry/hub': 5.30.0 2125 + '@sentry/minimal': 5.30.0 2126 + '@sentry/types': 5.30.0 2127 + '@sentry/utils': 5.30.0 2128 + tslib: 1.14.1 2129 + 2130 + '@sentry/hub@5.30.0': 2131 + dependencies: 2132 + '@sentry/types': 5.30.0 2133 + '@sentry/utils': 5.30.0 2134 + tslib: 1.14.1 2135 + 2136 + '@sentry/minimal@5.30.0': 2137 + dependencies: 2138 + '@sentry/hub': 5.30.0 2139 + '@sentry/types': 5.30.0 2140 + tslib: 1.14.1 2141 + 2142 + '@sentry/node@5.30.0': 2143 + dependencies: 2144 + '@sentry/core': 5.30.0 2145 + '@sentry/hub': 5.30.0 2146 + '@sentry/tracing': 5.30.0 2147 + '@sentry/types': 5.30.0 2148 + '@sentry/utils': 5.30.0 2149 + cookie: 0.4.2 2150 + https-proxy-agent: 5.0.1 2151 + lru_map: 0.3.3 2152 + tslib: 1.14.1 2153 + transitivePeerDependencies: 2154 + - supports-color 2155 + 2156 + '@sentry/tracing@5.30.0': 2157 + dependencies: 2158 + '@sentry/hub': 5.30.0 2159 + '@sentry/minimal': 5.30.0 2160 + '@sentry/types': 5.30.0 2161 + '@sentry/utils': 5.30.0 2162 + tslib: 1.14.1 2163 + 2164 + '@sentry/types@5.30.0': {} 2165 + 2166 + '@sentry/utils@5.30.0': 2167 + dependencies: 2168 + '@sentry/types': 5.30.0 2169 + tslib: 1.14.1 2170 + 2171 + '@types/bn.js@4.11.6': 2172 + dependencies: 2173 + '@types/node': 20.19.21 2174 + 2175 + '@types/bn.js@5.2.0': 2176 + dependencies: 2177 + '@types/node': 20.19.21 2178 + 2179 + '@types/debug@4.1.12': 2180 + dependencies: 2181 + '@types/ms': 2.1.0 2182 + 2183 + '@types/lru-cache@5.1.1': {} 2184 + 2185 + '@types/ms@2.1.0': {} 2186 + 2187 + '@types/node@20.19.21': 2188 + dependencies: 2189 + undici-types: 6.21.0 2190 + 2191 + '@types/node@22.7.5': 2192 + dependencies: 2193 + undici-types: 6.19.8 2194 + 2195 + '@types/pbkdf2@3.1.2': 2196 + dependencies: 2197 + '@types/node': 20.19.21 2198 + 2199 + '@types/secp256k1@4.0.7': 2200 + dependencies: 2201 + '@types/node': 20.19.21 2202 + 2203 + abitype@1.1.0(typescript@5.9.3)(zod@3.25.76): 2204 + optionalDependencies: 2205 + typescript: 5.9.3 2206 + zod: 3.25.76 2207 + 2208 + adm-zip@0.4.16: {} 2209 + 2210 + aes-js@4.0.0-beta.5: {} 2211 + 2212 + agent-base@6.0.2: 2213 + dependencies: 2214 + debug: 4.4.3(supports-color@8.1.1) 2215 + transitivePeerDependencies: 2216 + - supports-color 2217 + 2218 + aggregate-error@3.1.0: 2219 + dependencies: 2220 + clean-stack: 2.2.0 2221 + indent-string: 4.0.0 2222 + 2223 + ansi-align@3.0.1: 2224 + dependencies: 2225 + string-width: 4.2.3 2226 + 2227 + ansi-colors@4.1.3: {} 2228 + 2229 + ansi-escapes@4.3.2: 2230 + dependencies: 2231 + type-fest: 0.21.3 2232 + 2233 + ansi-regex@5.0.1: {} 2234 + 2235 + ansi-regex@6.2.2: {} 2236 + 2237 + ansi-styles@3.2.1: 2238 + dependencies: 2239 + color-convert: 1.9.3 2240 + 2241 + ansi-styles@4.3.0: 2242 + dependencies: 2243 + color-convert: 2.0.1 2244 + 2245 + anymatch@3.1.3: 2246 + dependencies: 2247 + normalize-path: 3.0.0 2248 + picomatch: 2.3.1 2249 + 2250 + argparse@2.0.1: {} 2251 + 2252 + available-typed-arrays@1.0.7: 2253 + dependencies: 2254 + possible-typed-array-names: 1.1.0 2255 + 2256 + await-lock@2.2.2: {} 2257 + 2258 + balanced-match@1.0.2: {} 2259 + 2260 + base-x@3.0.11: 2261 + dependencies: 2262 + safe-buffer: 5.2.1 2263 + 2264 + binary-extensions@2.3.0: {} 2265 + 2266 + blakejs@1.2.1: {} 2267 + 2268 + bn.js@4.12.2: {} 2269 + 2270 + bn.js@5.2.2: {} 2271 + 2272 + boxen@5.1.2: 2273 + dependencies: 2274 + ansi-align: 3.0.1 2275 + camelcase: 6.3.0 2276 + chalk: 4.1.2 2277 + cli-boxes: 2.2.1 2278 + string-width: 4.2.3 2279 + type-fest: 0.20.2 2280 + widest-line: 3.1.0 2281 + wrap-ansi: 7.0.0 2282 + 2283 + brace-expansion@1.1.12: 2284 + dependencies: 2285 + balanced-match: 1.0.2 2286 + concat-map: 0.0.1 2287 + 2288 + brace-expansion@2.0.2: 2289 + dependencies: 2290 + balanced-match: 1.0.2 2291 + 2292 + braces@3.0.3: 2293 + dependencies: 2294 + fill-range: 7.1.1 2295 + 2296 + brorand@1.1.0: {} 2297 + 2298 + browser-stdout@1.3.1: {} 2299 + 2300 + browserify-aes@1.2.0: 2301 + dependencies: 2302 + buffer-xor: 1.0.3 2303 + cipher-base: 1.0.7 2304 + create-hash: 1.2.0 2305 + evp_bytestokey: 1.0.3 2306 + inherits: 2.0.4 2307 + safe-buffer: 5.2.1 2308 + 2309 + bs58@4.0.1: 2310 + dependencies: 2311 + base-x: 3.0.11 2312 + 2313 + bs58check@2.1.2: 2314 + dependencies: 2315 + bs58: 4.0.1 2316 + create-hash: 1.2.0 2317 + safe-buffer: 5.2.1 2318 + 2319 + buffer-from@1.1.2: {} 2320 + 2321 + buffer-xor@1.0.3: {} 2322 + 2323 + bytes@3.1.2: {} 2324 + 2325 + call-bind-apply-helpers@1.0.2: 2326 + dependencies: 2327 + es-errors: 1.3.0 2328 + function-bind: 1.1.2 2329 + 2330 + call-bind@1.0.8: 2331 + dependencies: 2332 + call-bind-apply-helpers: 1.0.2 2333 + es-define-property: 1.0.1 2334 + get-intrinsic: 1.3.0 2335 + set-function-length: 1.2.2 2336 + 2337 + call-bound@1.0.4: 2338 + dependencies: 2339 + call-bind-apply-helpers: 1.0.2 2340 + get-intrinsic: 1.3.0 2341 + 2342 + camelcase@6.3.0: {} 2343 + 2344 + chalk@2.4.2: 2345 + dependencies: 2346 + ansi-styles: 3.2.1 2347 + escape-string-regexp: 1.0.5 2348 + supports-color: 5.5.0 2349 + 2350 + chalk@4.1.2: 2351 + dependencies: 2352 + ansi-styles: 4.3.0 2353 + supports-color: 7.2.0 2354 + 2355 + chalk@5.6.2: {} 2356 + 2357 + chokidar@3.6.0: 2358 + dependencies: 2359 + anymatch: 3.1.3 2360 + braces: 3.0.3 2361 + glob-parent: 5.1.2 2362 + is-binary-path: 2.1.0 2363 + is-glob: 4.0.3 2364 + normalize-path: 3.0.0 2365 + readdirp: 3.6.0 2366 + optionalDependencies: 2367 + fsevents: 2.3.3 2368 + 2369 + ci-info@2.0.0: {} 2370 + 2371 + cipher-base@1.0.7: 2372 + dependencies: 2373 + inherits: 2.0.4 2374 + safe-buffer: 5.2.1 2375 + to-buffer: 1.2.2 2376 + 2377 + clean-stack@2.2.0: {} 2378 + 2379 + cli-boxes@2.2.1: {} 2380 + 2381 + cli-cursor@5.0.0: 2382 + dependencies: 2383 + restore-cursor: 5.1.0 2384 + 2385 + cli-spinners@2.9.2: {} 2386 + 2387 + cliui@7.0.4: 2388 + dependencies: 2389 + string-width: 4.2.3 2390 + strip-ansi: 6.0.1 2391 + wrap-ansi: 7.0.0 2392 + 2393 + color-convert@1.9.3: 2394 + dependencies: 2395 + color-name: 1.1.3 2396 + 2397 + color-convert@2.0.1: 2398 + dependencies: 2399 + color-name: 1.1.4 2400 + 2401 + color-name@1.1.3: {} 2402 + 2403 + color-name@1.1.4: {} 2404 + 2405 + command-exists@1.2.9: {} 2406 + 2407 + commander@11.1.0: {} 2408 + 2409 + commander@3.0.2: {} 2410 + 2411 + concat-map@0.0.1: {} 2412 + 2413 + cookie@0.4.2: {} 2414 + 2415 + core-util-is@1.0.3: {} 2416 + 2417 + crc-32@1.2.2: {} 2418 + 2419 + create-hash@1.2.0: 2420 + dependencies: 2421 + cipher-base: 1.0.7 2422 + inherits: 2.0.4 2423 + md5.js: 1.3.5 2424 + ripemd160: 2.0.3 2425 + sha.js: 2.4.12 2426 + 2427 + create-hmac@1.1.7: 2428 + dependencies: 2429 + cipher-base: 1.0.7 2430 + create-hash: 1.2.0 2431 + inherits: 2.0.4 2432 + ripemd160: 2.0.3 2433 + safe-buffer: 5.2.1 2434 + sha.js: 2.4.12 2435 + 2436 + debug@4.4.3(supports-color@8.1.1): 2437 + dependencies: 2438 + ms: 2.1.3 2439 + optionalDependencies: 2440 + supports-color: 8.1.1 2441 + 2442 + decamelize@4.0.0: {} 2443 + 2444 + define-data-property@1.1.4: 2445 + dependencies: 2446 + es-define-property: 1.0.1 2447 + es-errors: 1.3.0 2448 + gopd: 1.2.0 2449 + 2450 + depd@2.0.0: {} 2451 + 2452 + diff@5.2.0: {} 2453 + 2454 + dotenv@16.6.1: {} 2455 + 2456 + dunder-proto@1.0.1: 2457 + dependencies: 2458 + call-bind-apply-helpers: 1.0.2 2459 + es-errors: 1.3.0 2460 + gopd: 1.2.0 2461 + 2462 + elliptic@6.6.1: 2463 + dependencies: 2464 + bn.js: 4.12.2 2465 + brorand: 1.1.0 2466 + hash.js: 1.1.7 2467 + hmac-drbg: 1.0.1 2468 + inherits: 2.0.4 2469 + minimalistic-assert: 1.0.1 2470 + minimalistic-crypto-utils: 1.0.1 2471 + 2472 + emoji-regex@10.5.0: {} 2473 + 2474 + emoji-regex@8.0.0: {} 2475 + 2476 + enquirer@2.4.1: 2477 + dependencies: 2478 + ansi-colors: 4.1.3 2479 + strip-ansi: 6.0.1 2480 + 2481 + env-paths@2.2.1: {} 2482 + 2483 + es-define-property@1.0.1: {} 2484 + 2485 + es-errors@1.3.0: {} 2486 + 2487 + es-object-atoms@1.1.1: 2488 + dependencies: 2489 + es-errors: 1.3.0 2490 + 2491 + esbuild@0.25.10: 2492 + optionalDependencies: 2493 + '@esbuild/aix-ppc64': 0.25.10 2494 + '@esbuild/android-arm': 0.25.10 2495 + '@esbuild/android-arm64': 0.25.10 2496 + '@esbuild/android-x64': 0.25.10 2497 + '@esbuild/darwin-arm64': 0.25.10 2498 + '@esbuild/darwin-x64': 0.25.10 2499 + '@esbuild/freebsd-arm64': 0.25.10 2500 + '@esbuild/freebsd-x64': 0.25.10 2501 + '@esbuild/linux-arm': 0.25.10 2502 + '@esbuild/linux-arm64': 0.25.10 2503 + '@esbuild/linux-ia32': 0.25.10 2504 + '@esbuild/linux-loong64': 0.25.10 2505 + '@esbuild/linux-mips64el': 0.25.10 2506 + '@esbuild/linux-ppc64': 0.25.10 2507 + '@esbuild/linux-riscv64': 0.25.10 2508 + '@esbuild/linux-s390x': 0.25.10 2509 + '@esbuild/linux-x64': 0.25.10 2510 + '@esbuild/netbsd-arm64': 0.25.10 2511 + '@esbuild/netbsd-x64': 0.25.10 2512 + '@esbuild/openbsd-arm64': 0.25.10 2513 + '@esbuild/openbsd-x64': 0.25.10 2514 + '@esbuild/openharmony-arm64': 0.25.10 2515 + '@esbuild/sunos-x64': 0.25.10 2516 + '@esbuild/win32-arm64': 0.25.10 2517 + '@esbuild/win32-ia32': 0.25.10 2518 + '@esbuild/win32-x64': 0.25.10 2519 + 2520 + escalade@3.2.0: {} 2521 + 2522 + escape-string-regexp@1.0.5: {} 2523 + 2524 + escape-string-regexp@4.0.0: {} 2525 + 2526 + ethereum-cryptography@0.1.3: 2527 + dependencies: 2528 + '@types/pbkdf2': 3.1.2 2529 + '@types/secp256k1': 4.0.7 2530 + blakejs: 1.2.1 2531 + browserify-aes: 1.2.0 2532 + bs58check: 2.1.2 2533 + create-hash: 1.2.0 2534 + create-hmac: 1.1.7 2535 + hash.js: 1.1.7 2536 + keccak: 3.0.4 2537 + pbkdf2: 3.1.5 2538 + randombytes: 2.1.0 2539 + safe-buffer: 5.2.1 2540 + scrypt-js: 3.0.1 2541 + secp256k1: 4.0.4 2542 + setimmediate: 1.0.5 2543 + 2544 + ethereum-cryptography@1.2.0: 2545 + dependencies: 2546 + '@noble/hashes': 1.2.0 2547 + '@noble/secp256k1': 1.7.1 2548 + '@scure/bip32': 1.1.5 2549 + '@scure/bip39': 1.1.1 2550 + 2551 + ethereum-cryptography@2.2.1: 2552 + dependencies: 2553 + '@noble/curves': 1.4.2 2554 + '@noble/hashes': 1.4.0 2555 + '@scure/bip32': 1.4.0 2556 + '@scure/bip39': 1.3.0 2557 + 2558 + ethereum-cryptography@3.2.0: 2559 + dependencies: 2560 + '@noble/ciphers': 1.3.0 2561 + '@noble/curves': 1.9.0 2562 + '@noble/hashes': 1.8.0 2563 + '@scure/bip32': 1.7.0 2564 + '@scure/bip39': 1.6.0 2565 + 2566 + ethereumjs-abi@0.6.8: 2567 + dependencies: 2568 + bn.js: 4.12.2 2569 + ethereumjs-util: 6.2.1 2570 + 2571 + ethereumjs-util@6.2.1: 2572 + dependencies: 2573 + '@types/bn.js': 4.11.6 2574 + bn.js: 4.12.2 2575 + create-hash: 1.2.0 2576 + elliptic: 6.6.1 2577 + ethereum-cryptography: 0.1.3 2578 + ethjs-util: 0.1.6 2579 + rlp: 2.2.7 2580 + 2581 + ethers@6.15.0: 2582 + dependencies: 2583 + '@adraffy/ens-normalize': 1.10.1 2584 + '@noble/curves': 1.2.0 2585 + '@noble/hashes': 1.3.2 2586 + '@types/node': 22.7.5 2587 + aes-js: 4.0.0-beta.5 2588 + tslib: 2.7.0 2589 + ws: 8.17.1 2590 + transitivePeerDependencies: 2591 + - bufferutil 2592 + - utf-8-validate 2593 + 2594 + ethjs-util@0.1.6: 2595 + dependencies: 2596 + is-hex-prefixed: 1.0.0 2597 + strip-hex-prefix: 1.0.0 2598 + 2599 + eventemitter3@5.0.1: {} 2600 + 2601 + evp_bytestokey@1.0.3: 2602 + dependencies: 2603 + md5.js: 1.3.5 2604 + safe-buffer: 5.2.1 2605 + 2606 + fill-range@7.1.1: 2607 + dependencies: 2608 + to-regex-range: 5.0.1 2609 + 2610 + find-up@2.1.0: 2611 + dependencies: 2612 + locate-path: 2.0.0 2613 + 2614 + find-up@5.0.0: 2615 + dependencies: 2616 + locate-path: 6.0.0 2617 + path-exists: 4.0.0 2618 + 2619 + flat@5.0.2: {} 2620 + 2621 + follow-redirects@1.15.11(debug@4.4.3): 2622 + optionalDependencies: 2623 + debug: 4.4.3(supports-color@8.1.1) 2624 + 2625 + for-each@0.3.5: 2626 + dependencies: 2627 + is-callable: 1.2.7 2628 + 2629 + fp-ts@1.19.3: {} 2630 + 2631 + fs-extra@0.30.0: 2632 + dependencies: 2633 + graceful-fs: 4.2.11 2634 + jsonfile: 2.4.0 2635 + klaw: 1.3.1 2636 + path-is-absolute: 1.0.1 2637 + rimraf: 2.7.1 2638 + 2639 + fs-extra@7.0.1: 2640 + dependencies: 2641 + graceful-fs: 4.2.11 2642 + jsonfile: 4.0.0 2643 + universalify: 0.1.2 2644 + 2645 + fs.realpath@1.0.0: {} 2646 + 2647 + fsevents@2.3.3: 2648 + optional: true 2649 + 2650 + function-bind@1.1.2: {} 2651 + 2652 + get-caller-file@2.0.5: {} 2653 + 2654 + get-east-asian-width@1.4.0: {} 2655 + 2656 + get-intrinsic@1.3.0: 2657 + dependencies: 2658 + call-bind-apply-helpers: 1.0.2 2659 + es-define-property: 1.0.1 2660 + es-errors: 1.3.0 2661 + es-object-atoms: 1.1.1 2662 + function-bind: 1.1.2 2663 + get-proto: 1.0.1 2664 + gopd: 1.2.0 2665 + has-symbols: 1.1.0 2666 + hasown: 2.0.2 2667 + math-intrinsics: 1.1.0 2668 + 2669 + get-proto@1.0.1: 2670 + dependencies: 2671 + dunder-proto: 1.0.1 2672 + es-object-atoms: 1.1.1 2673 + 2674 + get-tsconfig@4.12.0: 2675 + dependencies: 2676 + resolve-pkg-maps: 1.0.0 2677 + 2678 + glob-parent@5.1.2: 2679 + dependencies: 2680 + is-glob: 4.0.3 2681 + 2682 + glob@7.2.0: 2683 + dependencies: 2684 + fs.realpath: 1.0.0 2685 + inflight: 1.0.6 2686 + inherits: 2.0.4 2687 + minimatch: 3.1.2 2688 + once: 1.4.0 2689 + path-is-absolute: 1.0.1 2690 + 2691 + glob@8.1.0: 2692 + dependencies: 2693 + fs.realpath: 1.0.0 2694 + inflight: 1.0.6 2695 + inherits: 2.0.4 2696 + minimatch: 5.1.6 2697 + once: 1.4.0 2698 + 2699 + gopd@1.2.0: {} 2700 + 2701 + graceful-fs@4.2.11: {} 2702 + 2703 + graphemer@1.4.0: {} 2704 + 2705 + hardhat@2.22.4(typescript@5.9.3): 2706 + dependencies: 2707 + '@ethersproject/abi': 5.8.0 2708 + '@metamask/eth-sig-util': 4.0.1 2709 + '@nomicfoundation/edr': 0.3.8 2710 + '@nomicfoundation/ethereumjs-common': 4.0.4 2711 + '@nomicfoundation/ethereumjs-tx': 5.0.4 2712 + '@nomicfoundation/ethereumjs-util': 9.0.4 2713 + '@nomicfoundation/solidity-analyzer': 0.1.2 2714 + '@sentry/node': 5.30.0 2715 + '@types/bn.js': 5.2.0 2716 + '@types/lru-cache': 5.1.1 2717 + adm-zip: 0.4.16 2718 + aggregate-error: 3.1.0 2719 + ansi-escapes: 4.3.2 2720 + boxen: 5.1.2 2721 + chalk: 2.4.2 2722 + chokidar: 3.6.0 2723 + ci-info: 2.0.0 2724 + debug: 4.4.3(supports-color@8.1.1) 2725 + enquirer: 2.4.1 2726 + env-paths: 2.2.1 2727 + ethereum-cryptography: 1.2.0 2728 + ethereumjs-abi: 0.6.8 2729 + find-up: 2.1.0 2730 + fp-ts: 1.19.3 2731 + fs-extra: 7.0.1 2732 + glob: 7.2.0 2733 + immutable: 4.3.7 2734 + io-ts: 1.10.4 2735 + keccak: 3.0.4 2736 + lodash: 4.17.21 2737 + mnemonist: 0.38.5 2738 + mocha: 10.8.2 2739 + p-map: 4.0.0 2740 + raw-body: 2.5.2 2741 + resolve: 1.17.0 2742 + semver: 6.3.1 2743 + solc: 0.7.3(debug@4.4.3) 2744 + source-map-support: 0.5.21 2745 + stacktrace-parser: 0.1.11 2746 + tsort: 0.0.1 2747 + undici: 5.29.0 2748 + uuid: 8.3.2 2749 + ws: 7.5.10 2750 + optionalDependencies: 2751 + typescript: 5.9.3 2752 + transitivePeerDependencies: 2753 + - bufferutil 2754 + - c-kzg 2755 + - supports-color 2756 + - utf-8-validate 2757 + 2758 + has-flag@3.0.0: {} 2759 + 2760 + has-flag@4.0.0: {} 2761 + 2762 + has-property-descriptors@1.0.2: 2763 + dependencies: 2764 + es-define-property: 1.0.1 2765 + 2766 + has-symbols@1.1.0: {} 2767 + 2768 + has-tostringtag@1.0.2: 2769 + dependencies: 2770 + has-symbols: 1.1.0 2771 + 2772 + hash-base@3.1.2: 2773 + dependencies: 2774 + inherits: 2.0.4 2775 + readable-stream: 2.3.8 2776 + safe-buffer: 5.2.1 2777 + to-buffer: 1.2.2 2778 + 2779 + hash.js@1.1.7: 2780 + dependencies: 2781 + inherits: 2.0.4 2782 + minimalistic-assert: 1.0.1 2783 + 2784 + hasown@2.0.2: 2785 + dependencies: 2786 + function-bind: 1.1.2 2787 + 2788 + he@1.2.0: {} 2789 + 2790 + hmac-drbg@1.0.1: 2791 + dependencies: 2792 + hash.js: 1.1.7 2793 + minimalistic-assert: 1.0.1 2794 + minimalistic-crypto-utils: 1.0.1 2795 + 2796 + http-errors@2.0.0: 2797 + dependencies: 2798 + depd: 2.0.0 2799 + inherits: 2.0.4 2800 + setprototypeof: 1.2.0 2801 + statuses: 2.0.1 2802 + toidentifier: 1.0.1 2803 + 2804 + https-proxy-agent@5.0.1: 2805 + dependencies: 2806 + agent-base: 6.0.2 2807 + debug: 4.4.3(supports-color@8.1.1) 2808 + transitivePeerDependencies: 2809 + - supports-color 2810 + 2811 + iconv-lite@0.4.24: 2812 + dependencies: 2813 + safer-buffer: 2.1.2 2814 + 2815 + immutable@4.3.7: {} 2816 + 2817 + indent-string@4.0.0: {} 2818 + 2819 + inflight@1.0.6: 2820 + dependencies: 2821 + once: 1.4.0 2822 + wrappy: 1.0.2 2823 + 2824 + inherits@2.0.4: {} 2825 + 2826 + io-ts@1.10.4: 2827 + dependencies: 2828 + fp-ts: 1.19.3 2829 + 2830 + is-binary-path@2.1.0: 2831 + dependencies: 2832 + binary-extensions: 2.3.0 2833 + 2834 + is-callable@1.2.7: {} 2835 + 2836 + is-extglob@2.1.1: {} 2837 + 2838 + is-fullwidth-code-point@3.0.0: {} 2839 + 2840 + is-glob@4.0.3: 2841 + dependencies: 2842 + is-extglob: 2.1.1 2843 + 2844 + is-hex-prefixed@1.0.0: {} 2845 + 2846 + is-interactive@2.0.0: {} 2847 + 2848 + is-number@7.0.0: {} 2849 + 2850 + is-plain-obj@2.1.0: {} 2851 + 2852 + is-typed-array@1.1.15: 2853 + dependencies: 2854 + which-typed-array: 1.1.19 2855 + 2856 + is-unicode-supported@0.1.0: {} 2857 + 2858 + is-unicode-supported@1.3.0: {} 2859 + 2860 + is-unicode-supported@2.1.0: {} 2861 + 2862 + isarray@1.0.0: {} 2863 + 2864 + isarray@2.0.5: {} 2865 + 2866 + iso-datestring-validator@2.2.2: {} 2867 + 2868 + isows@1.0.7(ws@8.18.3): 2869 + dependencies: 2870 + ws: 8.18.3 2871 + 2872 + js-base64@3.7.8: {} 2873 + 2874 + js-sha3@0.8.0: {} 2875 + 2876 + js-yaml@4.1.0: 2877 + dependencies: 2878 + argparse: 2.0.1 2879 + 2880 + jsonfile@2.4.0: 2881 + optionalDependencies: 2882 + graceful-fs: 4.2.11 2883 + 2884 + jsonfile@4.0.0: 2885 + optionalDependencies: 2886 + graceful-fs: 4.2.11 2887 + 2888 + keccak@3.0.4: 2889 + dependencies: 2890 + node-addon-api: 2.0.2 2891 + node-gyp-build: 4.8.4 2892 + readable-stream: 3.6.2 2893 + 2894 + klaw@1.3.1: 2895 + optionalDependencies: 2896 + graceful-fs: 4.2.11 2897 + 2898 + locate-path@2.0.0: 2899 + dependencies: 2900 + p-locate: 2.0.0 2901 + path-exists: 3.0.0 2902 + 2903 + locate-path@6.0.0: 2904 + dependencies: 2905 + p-locate: 5.0.0 2906 + 2907 + lodash@4.17.21: {} 2908 + 2909 + log-symbols@4.1.0: 2910 + dependencies: 2911 + chalk: 4.1.2 2912 + is-unicode-supported: 0.1.0 2913 + 2914 + log-symbols@6.0.0: 2915 + dependencies: 2916 + chalk: 5.6.2 2917 + is-unicode-supported: 1.3.0 2918 + 2919 + lru_map@0.3.3: {} 2920 + 2921 + math-intrinsics@1.1.0: {} 2922 + 2923 + md5.js@1.3.5: 2924 + dependencies: 2925 + hash-base: 3.1.2 2926 + inherits: 2.0.4 2927 + safe-buffer: 5.2.1 2928 + 2929 + memorystream@0.3.1: {} 2930 + 2931 + micro-ftch@0.3.1: {} 2932 + 2933 + mimic-function@5.0.1: {} 2934 + 2935 + minimalistic-assert@1.0.1: {} 2936 + 2937 + minimalistic-crypto-utils@1.0.1: {} 2938 + 2939 + minimatch@3.1.2: 2940 + dependencies: 2941 + brace-expansion: 1.1.12 2942 + 2943 + minimatch@5.1.6: 2944 + dependencies: 2945 + brace-expansion: 2.0.2 2946 + 2947 + mnemonist@0.38.5: 2948 + dependencies: 2949 + obliterator: 2.0.5 2950 + 2951 + mocha@10.8.2: 2952 + dependencies: 2953 + ansi-colors: 4.1.3 2954 + browser-stdout: 1.3.1 2955 + chokidar: 3.6.0 2956 + debug: 4.4.3(supports-color@8.1.1) 2957 + diff: 5.2.0 2958 + escape-string-regexp: 4.0.0 2959 + find-up: 5.0.0 2960 + glob: 8.1.0 2961 + he: 1.2.0 2962 + js-yaml: 4.1.0 2963 + log-symbols: 4.1.0 2964 + minimatch: 5.1.6 2965 + ms: 2.1.3 2966 + serialize-javascript: 6.0.2 2967 + strip-json-comments: 3.1.1 2968 + supports-color: 8.1.1 2969 + workerpool: 6.5.1 2970 + yargs: 16.2.0 2971 + yargs-parser: 20.2.9 2972 + yargs-unparser: 2.0.0 2973 + 2974 + ms@2.1.3: {} 2975 + 2976 + multiformats@9.9.0: {} 2977 + 2978 + node-addon-api@2.0.2: {} 2979 + 2980 + node-addon-api@5.1.0: {} 2981 + 2982 + node-gyp-build@4.8.4: {} 2983 + 2984 + normalize-path@3.0.0: {} 2985 + 2986 + obliterator@2.0.5: {} 2987 + 2988 + once@1.4.0: 2989 + dependencies: 2990 + wrappy: 1.0.2 2991 + 2992 + onetime@7.0.0: 2993 + dependencies: 2994 + mimic-function: 5.0.1 2995 + 2996 + ora@8.2.0: 2997 + dependencies: 2998 + chalk: 5.6.2 2999 + cli-cursor: 5.0.0 3000 + cli-spinners: 2.9.2 3001 + is-interactive: 2.0.0 3002 + is-unicode-supported: 2.1.0 3003 + log-symbols: 6.0.0 3004 + stdin-discarder: 0.2.2 3005 + string-width: 7.2.0 3006 + strip-ansi: 7.1.2 3007 + 3008 + os-tmpdir@1.0.2: {} 3009 + 3010 + ox@0.9.6(typescript@5.9.3)(zod@3.25.76): 3011 + dependencies: 3012 + '@adraffy/ens-normalize': 1.11.1 3013 + '@noble/ciphers': 1.3.0 3014 + '@noble/curves': 1.9.1 3015 + '@noble/hashes': 1.8.0 3016 + '@scure/bip32': 1.7.0 3017 + '@scure/bip39': 1.6.0 3018 + abitype: 1.1.0(typescript@5.9.3)(zod@3.25.76) 3019 + eventemitter3: 5.0.1 3020 + optionalDependencies: 3021 + typescript: 5.9.3 3022 + transitivePeerDependencies: 3023 + - zod 3024 + 3025 + p-limit@1.3.0: 3026 + dependencies: 3027 + p-try: 1.0.0 3028 + 3029 + p-limit@3.1.0: 3030 + dependencies: 3031 + yocto-queue: 0.1.0 3032 + 3033 + p-locate@2.0.0: 3034 + dependencies: 3035 + p-limit: 1.3.0 3036 + 3037 + p-locate@5.0.0: 3038 + dependencies: 3039 + p-limit: 3.1.0 3040 + 3041 + p-map@4.0.0: 3042 + dependencies: 3043 + aggregate-error: 3.1.0 3044 + 3045 + p-try@1.0.0: {} 3046 + 3047 + pako@2.1.0: {} 3048 + 3049 + path-exists@3.0.0: {} 3050 + 3051 + path-exists@4.0.0: {} 3052 + 3053 + path-is-absolute@1.0.1: {} 3054 + 3055 + path-parse@1.0.7: {} 3056 + 3057 + pbkdf2@3.1.5: 3058 + dependencies: 3059 + create-hash: 1.2.0 3060 + create-hmac: 1.1.7 3061 + ripemd160: 2.0.3 3062 + safe-buffer: 5.2.1 3063 + sha.js: 2.4.12 3064 + to-buffer: 1.2.2 3065 + 3066 + picomatch@2.3.1: {} 3067 + 3068 + pony-cause@2.1.11: {} 3069 + 3070 + possible-typed-array-names@1.1.0: {} 3071 + 3072 + process-nextick-args@2.0.1: {} 3073 + 3074 + randombytes@2.1.0: 3075 + dependencies: 3076 + safe-buffer: 5.2.1 3077 + 3078 + raw-body@2.5.2: 3079 + dependencies: 3080 + bytes: 3.1.2 3081 + http-errors: 2.0.0 3082 + iconv-lite: 0.4.24 3083 + unpipe: 1.0.0 3084 + 3085 + readable-stream@2.3.8: 3086 + dependencies: 3087 + core-util-is: 1.0.3 3088 + inherits: 2.0.4 3089 + isarray: 1.0.0 3090 + process-nextick-args: 2.0.1 3091 + safe-buffer: 5.1.2 3092 + string_decoder: 1.1.1 3093 + util-deprecate: 1.0.2 3094 + 3095 + readable-stream@3.6.2: 3096 + dependencies: 3097 + inherits: 2.0.4 3098 + string_decoder: 1.3.0 3099 + util-deprecate: 1.0.2 3100 + 3101 + readdirp@3.6.0: 3102 + dependencies: 3103 + picomatch: 2.3.1 3104 + 3105 + require-directory@2.1.1: {} 3106 + 3107 + require-from-string@2.0.2: {} 3108 + 3109 + resolve-pkg-maps@1.0.0: {} 3110 + 3111 + resolve@1.17.0: 3112 + dependencies: 3113 + path-parse: 1.0.7 3114 + 3115 + restore-cursor@5.1.0: 3116 + dependencies: 3117 + onetime: 7.0.0 3118 + signal-exit: 4.1.0 3119 + 3120 + rimraf@2.7.1: 3121 + dependencies: 3122 + glob: 7.2.0 3123 + 3124 + ripemd160@2.0.3: 3125 + dependencies: 3126 + hash-base: 3.1.2 3127 + inherits: 2.0.4 3128 + 3129 + rlp@2.2.7: 3130 + dependencies: 3131 + bn.js: 5.2.2 3132 + 3133 + safe-buffer@5.1.2: {} 3134 + 3135 + safe-buffer@5.2.1: {} 3136 + 3137 + safer-buffer@2.1.2: {} 3138 + 3139 + scrypt-js@3.0.1: {} 3140 + 3141 + secp256k1@4.0.4: 3142 + dependencies: 3143 + elliptic: 6.6.1 3144 + node-addon-api: 5.1.0 3145 + node-gyp-build: 4.8.4 3146 + 3147 + semver@5.7.2: {} 3148 + 3149 + semver@6.3.1: {} 3150 + 3151 + semver@7.7.3: {} 3152 + 3153 + serialize-javascript@6.0.2: 3154 + dependencies: 3155 + randombytes: 2.1.0 3156 + 3157 + set-function-length@1.2.2: 3158 + dependencies: 3159 + define-data-property: 1.1.4 3160 + es-errors: 1.3.0 3161 + function-bind: 1.1.2 3162 + get-intrinsic: 1.3.0 3163 + gopd: 1.2.0 3164 + has-property-descriptors: 1.0.2 3165 + 3166 + setimmediate@1.0.5: {} 3167 + 3168 + setprototypeof@1.2.0: {} 3169 + 3170 + sha.js@2.4.12: 3171 + dependencies: 3172 + inherits: 2.0.4 3173 + safe-buffer: 5.2.1 3174 + to-buffer: 1.2.2 3175 + 3176 + signal-exit@4.1.0: {} 3177 + 3178 + solc@0.7.3(debug@4.4.3): 3179 + dependencies: 3180 + command-exists: 1.2.9 3181 + commander: 3.0.2 3182 + follow-redirects: 1.15.11(debug@4.4.3) 3183 + fs-extra: 0.30.0 3184 + js-sha3: 0.8.0 3185 + memorystream: 0.3.1 3186 + require-from-string: 2.0.2 3187 + semver: 5.7.2 3188 + tmp: 0.0.33 3189 + transitivePeerDependencies: 3190 + - debug 3191 + 3192 + source-map-support@0.5.21: 3193 + dependencies: 3194 + buffer-from: 1.1.2 3195 + source-map: 0.6.1 3196 + 3197 + source-map@0.6.1: {} 3198 + 3199 + stacktrace-parser@0.1.11: 3200 + dependencies: 3201 + type-fest: 0.7.1 3202 + 3203 + statuses@2.0.1: {} 3204 + 3205 + stdin-discarder@0.2.2: {} 3206 + 3207 + string-width@4.2.3: 3208 + dependencies: 3209 + emoji-regex: 8.0.0 3210 + is-fullwidth-code-point: 3.0.0 3211 + strip-ansi: 6.0.1 3212 + 3213 + string-width@7.2.0: 3214 + dependencies: 3215 + emoji-regex: 10.5.0 3216 + get-east-asian-width: 1.4.0 3217 + strip-ansi: 7.1.2 3218 + 3219 + string_decoder@1.1.1: 3220 + dependencies: 3221 + safe-buffer: 5.1.2 3222 + 3223 + string_decoder@1.3.0: 3224 + dependencies: 3225 + safe-buffer: 5.2.1 3226 + 3227 + strip-ansi@6.0.1: 3228 + dependencies: 3229 + ansi-regex: 5.0.1 3230 + 3231 + strip-ansi@7.1.2: 3232 + dependencies: 3233 + ansi-regex: 6.2.2 3234 + 3235 + strip-hex-prefix@1.0.0: 3236 + dependencies: 3237 + is-hex-prefixed: 1.0.0 3238 + 3239 + strip-json-comments@3.1.1: {} 3240 + 3241 + supports-color@5.5.0: 3242 + dependencies: 3243 + has-flag: 3.0.0 3244 + 3245 + supports-color@7.2.0: 3246 + dependencies: 3247 + has-flag: 4.0.0 3248 + 3249 + supports-color@8.1.1: 3250 + dependencies: 3251 + has-flag: 4.0.0 3252 + 3253 + tlds@1.260.0: {} 3254 + 3255 + tmp@0.0.33: 3256 + dependencies: 3257 + os-tmpdir: 1.0.2 3258 + 3259 + to-buffer@1.2.2: 3260 + dependencies: 3261 + isarray: 2.0.5 3262 + safe-buffer: 5.2.1 3263 + typed-array-buffer: 1.0.3 3264 + 3265 + to-regex-range@5.0.1: 3266 + dependencies: 3267 + is-number: 7.0.0 3268 + 3269 + toidentifier@1.0.1: {} 3270 + 3271 + tslib@1.14.1: {} 3272 + 3273 + tslib@2.7.0: {} 3274 + 3275 + tsort@0.0.1: {} 3276 + 3277 + tsx@4.20.6: 3278 + dependencies: 3279 + esbuild: 0.25.10 3280 + get-tsconfig: 4.12.0 3281 + optionalDependencies: 3282 + fsevents: 2.3.3 3283 + 3284 + tweetnacl-util@0.15.1: {} 3285 + 3286 + tweetnacl@1.0.3: {} 3287 + 3288 + type-fest@0.20.2: {} 3289 + 3290 + type-fest@0.21.3: {} 3291 + 3292 + type-fest@0.7.1: {} 3293 + 3294 + typed-array-buffer@1.0.3: 3295 + dependencies: 3296 + call-bound: 1.0.4 3297 + es-errors: 1.3.0 3298 + is-typed-array: 1.1.15 3299 + 3300 + typescript@5.9.3: {} 3301 + 3302 + uint8arrays@3.0.0: 3303 + dependencies: 3304 + multiformats: 9.9.0 3305 + 3306 + undici-types@6.19.8: {} 3307 + 3308 + undici-types@6.21.0: {} 3309 + 3310 + undici@5.29.0: 3311 + dependencies: 3312 + '@fastify/busboy': 2.1.1 3313 + 3314 + universalify@0.1.2: {} 3315 + 3316 + unpipe@1.0.0: {} 3317 + 3318 + util-deprecate@1.0.2: {} 3319 + 3320 + uuid@8.3.2: {} 3321 + 3322 + uuid@9.0.1: {} 3323 + 3324 + viem@2.38.0(typescript@5.9.3)(zod@3.25.76): 3325 + dependencies: 3326 + '@noble/curves': 1.9.1 3327 + '@noble/hashes': 1.8.0 3328 + '@scure/bip32': 1.7.0 3329 + '@scure/bip39': 1.6.0 3330 + abitype: 1.1.0(typescript@5.9.3)(zod@3.25.76) 3331 + isows: 1.0.7(ws@8.18.3) 3332 + ox: 0.9.6(typescript@5.9.3)(zod@3.25.76) 3333 + ws: 8.18.3 3334 + optionalDependencies: 3335 + typescript: 5.9.3 3336 + transitivePeerDependencies: 3337 + - bufferutil 3338 + - utf-8-validate 3339 + - zod 3340 + 3341 + which-typed-array@1.1.19: 3342 + dependencies: 3343 + available-typed-arrays: 1.0.7 3344 + call-bind: 1.0.8 3345 + call-bound: 1.0.4 3346 + for-each: 0.3.5 3347 + get-proto: 1.0.1 3348 + gopd: 1.2.0 3349 + has-tostringtag: 1.0.2 3350 + 3351 + widest-line@3.1.0: 3352 + dependencies: 3353 + string-width: 4.2.3 3354 + 3355 + workerpool@6.5.1: {} 3356 + 3357 + wrap-ansi@7.0.0: 3358 + dependencies: 3359 + ansi-styles: 4.3.0 3360 + string-width: 4.2.3 3361 + strip-ansi: 6.0.1 3362 + 3363 + wrappy@1.0.2: {} 3364 + 3365 + ws@7.5.10: {} 3366 + 3367 + ws@8.17.1: {} 3368 + 3369 + ws@8.18.3: {} 3370 + 3371 + y18n@5.0.8: {} 3372 + 3373 + yargs-parser@20.2.9: {} 3374 + 3375 + yargs-unparser@2.0.0: 3376 + dependencies: 3377 + camelcase: 6.3.0 3378 + decamelize: 4.0.0 3379 + flat: 5.0.2 3380 + is-plain-obj: 2.1.0 3381 + 3382 + yargs@16.2.0: 3383 + dependencies: 3384 + cliui: 7.0.4 3385 + escalade: 3.2.0 3386 + get-caller-file: 2.0.5 3387 + require-directory: 2.1.1 3388 + string-width: 4.2.3 3389 + y18n: 5.0.8 3390 + yargs-parser: 20.2.9 3391 + 3392 + yocto-queue@0.1.0: {} 3393 + 3394 + zod@3.25.76: {}
+154
src/cli.ts
··· 1 + #!/usr/bin/env node 2 + 3 + import { Command } from 'commander'; 4 + import chalk from 'chalk'; 5 + import ora from 'ora'; 6 + import * as dotenv from 'dotenv'; 7 + import { ATProtocolNotary } from './lib/index.js'; 8 + 9 + dotenv.config(); 10 + 11 + const program = new Command(); 12 + 13 + program 14 + .name('atnotary') 15 + .description('Notarize AT Protocol records on Ethereum using EAS') 16 + .version('0.1.0'); 17 + 18 + // Initialize command 19 + program 20 + .command('init') 21 + .description('Initialize: create EAS schema (one-time setup)') 22 + .option('-n, --network <network>', 'Network to use', 'sepolia') 23 + .action(async (options) => { 24 + try { 25 + console.log(chalk.blue('🔧 Initializing EAS Schema\n')); 26 + 27 + const spinner = ora('Connecting to network...').start(); 28 + 29 + const notary = new ATProtocolNotary({ 30 + privateKey: process.env.PRIVATE_KEY!, 31 + }, options.network); 32 + 33 + const address = await notary.getAddress(); 34 + spinner.succeed(`Connected: ${address}`); 35 + 36 + spinner.start('Creating schema on EAS...'); 37 + const schemaUID = await notary.initializeSchema(); 38 + 39 + spinner.succeed('Schema created!'); 40 + 41 + console.log(chalk.green('\n✅ Schema UID:'), chalk.cyan(schemaUID)); 42 + console.log(chalk.yellow('\n⚠️ Add this to your .env file:')); 43 + console.log(chalk.gray(`SCHEMA_UID="${schemaUID}"\n`)); 44 + 45 + } catch (error: any) { 46 + console.error(chalk.red('Error:'), error.message); 47 + process.exit(1); 48 + } 49 + }); 50 + 51 + // Notarize command 52 + program 53 + .command('notarize <recordURI>') 54 + .description('Notarize an AT Protocol record') 55 + .option('-n, --network <network>', 'Network to use', 'sepolia') 56 + .action(async (recordURI: string, options) => { 57 + try { 58 + console.log(chalk.blue('🔐 AT Protocol Notary\n')); 59 + 60 + const spinner = ora('Initializing...').start(); 61 + 62 + const notary = new ATProtocolNotary({ 63 + privateKey: process.env.PRIVATE_KEY!, 64 + schemaUID: process.env.SCHEMA_UID, 65 + }, options.network); 66 + 67 + spinner.succeed('Initialized'); 68 + 69 + spinner.start('Fetching record from AT Protocol...'); 70 + const record = await notary.fetchRecord(recordURI); 71 + spinner.succeed('Record fetched'); 72 + 73 + console.log(chalk.gray('\nRecord preview:')); 74 + console.log(chalk.gray(JSON.stringify(record.value, null, 2).substring(0, 200) + '...\n')); 75 + 76 + spinner.start('Creating attestation...'); 77 + const result = await notary.notarizeRecord(recordURI); 78 + spinner.succeed('Attestation created!'); 79 + 80 + console.log(chalk.green('\n✅ Notarization Complete!\n')); 81 + console.log(chalk.blue('Attestation UID:'), chalk.cyan(result.attestationUID)); 82 + console.log(chalk.blue('Record URI:'), chalk.gray(result.recordURI)); 83 + console.log(chalk.blue('Content Hash:'), chalk.gray(result.contentHash)); 84 + console.log(chalk.blue('Lexicon:'), chalk.gray(result.lexicon)); 85 + console.log(chalk.blue('Transaction:'), chalk.gray(result.transactionHash)); 86 + 87 + console.log(chalk.yellow('\n📋 View on EAS Explorer:')); 88 + console.log(chalk.cyan(result.explorerURL + '\n')); 89 + 90 + console.log(chalk.yellow('🔍 Verify with:')); 91 + console.log(chalk.gray(`atnotary verify ${result.attestationUID}\n`)); 92 + 93 + } catch (error: any) { 94 + console.error(chalk.red('Error:'), error.message); 95 + process.exit(1); 96 + } 97 + }); 98 + 99 + // Verify command 100 + program 101 + .command('verify <attestationUID>') 102 + .description('Verify an attestation') 103 + .option('-n, --network <network>', 'Network to use', 'sepolia') 104 + .option('-c, --compare', 'Compare with current record state') 105 + .action(async (attestationUID: string, options) => { 106 + try { 107 + console.log(chalk.blue('🔍 Verifying Attestation\n')); 108 + 109 + const spinner = ora('Fetching attestation from EAS...').start(); 110 + 111 + const notary = new ATProtocolNotary({ 112 + privateKey: process.env.PRIVATE_KEY!, 113 + schemaUID: process.env.SCHEMA_UID, 114 + }, options.network); 115 + 116 + const attestation = await notary.verifyAttestation(attestationUID); 117 + spinner.succeed('Attestation found'); 118 + 119 + console.log(chalk.green('\n✅ Attestation Valid\n')); 120 + console.log(chalk.blue('UID:'), chalk.cyan(attestation.uid)); 121 + console.log(chalk.blue('Record URI:'), chalk.gray(attestation.recordURI)); 122 + console.log(chalk.blue('Content Hash:'), chalk.gray(attestation.contentHash)); 123 + console.log(chalk.blue('Lexicon:'), chalk.gray(attestation.lexicon)); 124 + console.log(chalk.blue('Timestamp:'), chalk.gray(new Date(attestation.timestamp * 1000).toISOString())); 125 + console.log(chalk.blue('Attester:'), chalk.gray(attestation.attester)); 126 + console.log(chalk.blue('Revoked:'), attestation.revoked ? chalk.red('Yes') : chalk.green('No')); 127 + 128 + // Compare with current if requested 129 + if (options.compare) { 130 + console.log(chalk.yellow('\n🔄 Comparing with current record...')); 131 + 132 + const comparison = await notary.compareWithCurrent(attestation); 133 + 134 + if (!comparison.exists) { 135 + console.log(chalk.red('⚠ Record has been deleted')); 136 + } else if (comparison.matches) { 137 + console.log(chalk.green('✓ Content matches attestation (unchanged)')); 138 + } else { 139 + console.log(chalk.yellow('⚠ Content has changed since attestation')); 140 + console.log(chalk.gray(` Original: ${attestation.contentHash.substring(0, 20)}...`)); 141 + console.log(chalk.gray(` Current: ${comparison.currentHash!.substring(0, 20)}...`)); 142 + } 143 + } 144 + 145 + console.log(chalk.blue('\n📋 View on explorer:')); 146 + console.log(chalk.cyan(attestation.explorerURL + '\n')); 147 + 148 + } catch (error: any) { 149 + console.error(chalk.red('Error:'), error.message); 150 + process.exit(1); 151 + } 152 + }); 153 + 154 + program.parse();
+3
src/lib/index.ts
··· 1 + export { ATProtocolNotary } from './notary.js'; 2 + export * from './types.js'; 3 + export * from './utils.js';
+370
src/lib/notary.ts
··· 1 + import { AtpAgent } from '@atproto/api'; 2 + import { 3 + createPublicClient, 4 + createWalletClient, 5 + http, 6 + type Address, 7 + type Hash, 8 + type PublicClient, 9 + type WalletClient, 10 + zeroAddress, 11 + encodeAbiParameters, 12 + parseAbiParameters, 13 + decodeAbiParameters, 14 + keccak256, 15 + toHex, 16 + } from 'viem'; 17 + import { privateKeyToAccount } from 'viem/accounts'; 18 + import { sepolia, base, baseSepolia } from 'viem/chains'; 19 + import type { NotaryConfig, NotarizationResult, AttestationData } from './types'; 20 + import { parseRecordURI, hashContent, getExplorerURL } from './utils'; 21 + 22 + // Chain configurations 23 + const CHAIN_CONFIG = { 24 + 'sepolia': { 25 + chain: sepolia, 26 + rpcUrl: 'https://1rpc.io/sepolia', 27 + easContractAddress: '0xC2679fBD37d54388Ce493F1DB75320D236e1815e' as Address, 28 + schemaRegistryAddress: '0x0a7E2Ff54e76B8E6659aedc9103FB21c038050D0' as Address, 29 + }, 30 + 'base-sepolia': { 31 + chain: baseSepolia, 32 + rpcUrl: 'https://sepolia.base.org', 33 + easContractAddress: '0x4200000000000000000000000000000000000021' as Address, 34 + schemaRegistryAddress: '0x4200000000000000000000000000000000000020' as Address, 35 + }, 36 + 'base': { 37 + chain: base, 38 + rpcUrl: 'https://mainnet.base.org', 39 + easContractAddress: '0x4200000000000000000000000000000000000021' as Address, 40 + schemaRegistryAddress: '0x4200000000000000000000000000000000000020' as Address, 41 + } 42 + }; 43 + 44 + const SCHEMA_STRING = "string recordURI,bytes32 contentHash,string lexicon,uint256 timestamp"; 45 + 46 + // EAS Contract ABIs 47 + const SCHEMA_REGISTRY_ABI = [ 48 + { 49 + type: 'function', 50 + name: 'register', 51 + inputs: [ 52 + { name: 'schema', type: 'string' }, 53 + { name: 'resolver', type: 'address' }, 54 + { name: 'revocable', type: 'bool' } 55 + ], 56 + outputs: [{ name: 'uid', type: 'bytes32' }], 57 + stateMutability: 'nonpayable', 58 + }, 59 + ] as const; 60 + 61 + const EAS_ABI = [ 62 + { 63 + type: 'function', 64 + name: 'attest', 65 + inputs: [ 66 + { 67 + name: 'request', 68 + type: 'tuple', 69 + components: [ 70 + { name: 'schema', type: 'bytes32' }, 71 + { 72 + name: 'data', 73 + type: 'tuple', 74 + components: [ 75 + { name: 'recipient', type: 'address' }, 76 + { name: 'expirationTime', type: 'uint64' }, 77 + { name: 'revocable', type: 'bool' }, 78 + { name: 'refUID', type: 'bytes32' }, 79 + { name: 'data', type: 'bytes' }, 80 + { name: 'value', type: 'uint256' }, 81 + ], 82 + }, 83 + ], 84 + }, 85 + ], 86 + outputs: [{ name: 'uid', type: 'bytes32' }], 87 + stateMutability: 'payable', 88 + }, 89 + { 90 + type: 'function', 91 + name: 'getAttestation', 92 + inputs: [{ name: 'uid', type: 'bytes32' }], 93 + outputs: [ 94 + { 95 + name: 'attestation', 96 + type: 'tuple', 97 + components: [ 98 + { name: 'uid', type: 'bytes32' }, 99 + { name: 'schema', type: 'bytes32' }, 100 + { name: 'time', type: 'uint64' }, 101 + { name: 'expirationTime', type: 'uint64' }, 102 + { name: 'revocationTime', type: 'uint64' }, 103 + { name: 'refUID', type: 'bytes32' }, 104 + { name: 'recipient', type: 'address' }, 105 + { name: 'attester', type: 'address' }, 106 + { name: 'revocable', type: 'bool' }, 107 + { name: 'data', type: 'bytes' }, 108 + ], 109 + }, 110 + ], 111 + stateMutability: 'view', 112 + }, 113 + ] as const; 114 + 115 + // Helper to encode attestation data 116 + function encodeAttestationData(params: { 117 + recordURI: string; 118 + contentHash: Hash; 119 + lexicon: string; 120 + timestamp: number; 121 + }): Hash { 122 + return encodeAbiParameters( 123 + parseAbiParameters(SCHEMA_STRING), 124 + [params.recordURI, params.contentHash, params.lexicon, BigInt(params.timestamp)] 125 + ); 126 + } 127 + 128 + // Helper to decode attestation data 129 + function decodeAttestationData(data: Hash): { 130 + recordURI: string; 131 + contentHash: Hash; 132 + lexicon: string; 133 + timestamp: number; 134 + } { 135 + const [recordURI, contentHash, lexicon, timestamp] = decodeAbiParameters( 136 + parseAbiParameters(SCHEMA_STRING), 137 + data 138 + ); 139 + 140 + return { 141 + recordURI: recordURI as string, 142 + contentHash: contentHash as Hash, 143 + lexicon: lexicon as string, 144 + timestamp: Number(timestamp), 145 + }; 146 + } 147 + 148 + export class ATProtocolNotary { 149 + private config: Required<NotaryConfig>; 150 + private publicClient: PublicClient; 151 + private walletClient: WalletClient; 152 + private account: ReturnType<typeof privateKeyToAccount>; 153 + private network: string; 154 + private chainConfig: typeof CHAIN_CONFIG[keyof typeof CHAIN_CONFIG]; 155 + 156 + constructor(config: NotaryConfig, network: string = 'sepolia') { 157 + this.network = network; 158 + this.chainConfig = CHAIN_CONFIG[network as keyof typeof CHAIN_CONFIG] || CHAIN_CONFIG['sepolia']; 159 + 160 + this.config = { 161 + privateKey: config.privateKey, 162 + rpcUrl: config.rpcUrl || this.chainConfig.rpcUrl, 163 + easContractAddress: (config.easContractAddress || this.chainConfig.easContractAddress) as Address, 164 + schemaRegistryAddress: (config.schemaRegistryAddress || this.chainConfig.schemaRegistryAddress) as Address, 165 + schemaUID: config.schemaUID || '', 166 + }; 167 + 168 + if (!this.config.privateKey) { 169 + throw new Error('Private key is required'); 170 + } 171 + 172 + // Create account from private key 173 + this.account = privateKeyToAccount(this.config.privateKey as Hash); 174 + 175 + // Create public client (for reading) 176 + this.publicClient = createPublicClient({ 177 + chain: this.chainConfig.chain, 178 + transport: http(this.config.rpcUrl), 179 + }); 180 + 181 + // Create wallet client (for writing) 182 + this.walletClient = createWalletClient({ 183 + account: this.account, 184 + chain: this.chainConfig.chain, 185 + transport: http(this.config.rpcUrl), 186 + }); 187 + } 188 + 189 + /** 190 + * Initialize: Create EAS schema (one-time setup) 191 + */ 192 + async initializeSchema(): Promise<string> { 193 + 194 + // Call register function on SchemaRegistry 195 + const hash = await this.walletClient.writeContract({ 196 + address: this.config.schemaRegistryAddress, 197 + abi: SCHEMA_REGISTRY_ABI, 198 + functionName: 'register', 199 + args: [SCHEMA_STRING, zeroAddress, true], 200 + }); 201 + 202 + // Wait for transaction receipt 203 + const receipt = await this.publicClient.waitForTransactionReceipt({ hash }); 204 + 205 + // Extract schema UID from logs 206 + // The SchemaRegistered event emits the schema UID 207 + if (receipt.logs.length > 0) { 208 + // The first topic after the event signature is the schema UID 209 + const schemaUID = receipt.logs[0].topics[1]; 210 + if (schemaUID) { 211 + return schemaUID; 212 + } 213 + } 214 + 215 + // Fallback: return transaction hash 216 + return hash; 217 + } 218 + 219 + /** 220 + * Fetch a record from AT Protocol 221 + */ 222 + async fetchRecord(recordURI: string): Promise<any> { 223 + const { did, collection, rkey } = parseRecordURI(recordURI); 224 + 225 + const agent = new AtpAgent({ service: 'https://public.api.bsky.app' }); 226 + 227 + const response = await agent.com.atproto.repo.getRecord({ 228 + repo: did, 229 + collection: collection, 230 + rkey: rkey 231 + }); 232 + 233 + return response.data; 234 + } 235 + 236 + /** 237 + * Notarize an AT Protocol record on Ethereum 238 + */ 239 + async notarizeRecord(recordURI: string): Promise<NotarizationResult> { 240 + if (!this.config.schemaUID) { 241 + throw new Error('Schema UID not set. Run initializeSchema() first.'); 242 + } 243 + 244 + // Parse URI 245 + const { collection } = parseRecordURI(recordURI); 246 + 247 + // Fetch record 248 + const record = await this.fetchRecord(recordURI); 249 + 250 + // Generate content hash 251 + const contentHash = hashContent(record.value); 252 + 253 + // Encode attestation data 254 + const encodedData = encodeAttestationData({ 255 + recordURI, 256 + contentHash: contentHash as Hash, 257 + lexicon: collection, 258 + timestamp: Math.floor(Date.now() / 1000), 259 + }); 260 + 261 + // Create attestation request 262 + const attestationRequest = { 263 + schema: this.config.schemaUID as Hash, 264 + data: { 265 + recipient: zeroAddress, 266 + expirationTime: 0n, 267 + revocable: true, 268 + refUID: '0x0000000000000000000000000000000000000000000000000000000000000000' as Hash, 269 + data: encodedData, 270 + value: 0n, 271 + }, 272 + }; 273 + 274 + // First simulate to get the return value (UID) 275 + const { result: uid } = await this.publicClient.simulateContract({ 276 + address: this.config.easContractAddress, 277 + abi: EAS_ABI, 278 + functionName: 'attest', 279 + args: [attestationRequest], 280 + account: this.account, 281 + }); 282 + 283 + // Then submit the actual transaction 284 + const hash = await this.walletClient.writeContract({ 285 + address: this.config.easContractAddress, 286 + abi: EAS_ABI, 287 + functionName: 'attest', 288 + args: [attestationRequest], 289 + }); 290 + 291 + // Wait for transaction 292 + await this.publicClient.waitForTransactionReceipt({ hash }); 293 + 294 + // Use the UID from simulation 295 + const attestationUID = uid; 296 + 297 + return { 298 + attestationUID, 299 + recordURI, 300 + contentHash, 301 + lexicon: collection, 302 + transactionHash: hash, 303 + explorerURL: getExplorerURL(attestationUID, this.network), 304 + }; 305 + } 306 + 307 + /** 308 + * Verify an attestation 309 + */ 310 + async verifyAttestation(attestationUID: string): Promise<AttestationData> { 311 + // Read attestation from contract 312 + const attestation = await this.publicClient.readContract({ 313 + address: this.config.easContractAddress, 314 + abi: EAS_ABI, 315 + functionName: 'getAttestation', 316 + args: [attestationUID as Hash], 317 + }); 318 + 319 + // Check if attestation exists 320 + if (attestation.uid === '0x0000000000000000000000000000000000000000000000000000000000000000') { 321 + throw new Error('Attestation not found'); 322 + } 323 + 324 + // Decode attestation data 325 + const decodedData = decodeAttestationData(attestation.data as Hash); 326 + 327 + return { 328 + uid: attestationUID, 329 + recordURI: decodedData.recordURI, 330 + contentHash: decodedData.contentHash, 331 + lexicon: decodedData.lexicon, 332 + timestamp: decodedData.timestamp, 333 + attester: attestation.attester, 334 + revoked: attestation.revocationTime > 0n, 335 + explorerURL: getExplorerURL(attestationUID, this.network), 336 + }; 337 + } 338 + 339 + /** 340 + * Compare attestation with current record state 341 + */ 342 + async compareWithCurrent(attestationData: AttestationData): Promise<{ 343 + exists: boolean; 344 + matches: boolean; 345 + currentHash?: string; 346 + }> { 347 + try { 348 + const record = await this.fetchRecord(attestationData.recordURI); 349 + const currentHash = hashContent(record.value); 350 + 351 + return { 352 + exists: true, 353 + matches: currentHash === attestationData.contentHash, 354 + currentHash, 355 + }; 356 + } catch (error: any) { 357 + if (error.message?.includes('RecordNotFound')) { 358 + return { exists: false, matches: false }; 359 + } 360 + throw error; 361 + } 362 + } 363 + 364 + /** 365 + * Get signer address 366 + */ 367 + getAddress(): Address { 368 + return this.account.address; 369 + } 370 + }
+33
src/lib/types.ts
··· 1 + export interface NotaryConfig { 2 + privateKey: string; 3 + rpcUrl?: string; 4 + easContractAddress?: string; 5 + schemaRegistryAddress?: string; 6 + schemaUID?: string; 7 + } 8 + 9 + export interface NotarizationResult { 10 + attestationUID: string; 11 + recordURI: string; 12 + contentHash: string; 13 + lexicon: string; 14 + transactionHash: string; 15 + explorerURL: string; 16 + } 17 + 18 + export interface AttestationData { 19 + uid: string; 20 + recordURI: string; 21 + contentHash: string; 22 + lexicon: string; 23 + timestamp: number; 24 + attester: string; 25 + revoked: boolean; 26 + explorerURL: string; 27 + } 28 + 29 + export interface RecordInfo { 30 + did: string; 31 + collection: string; 32 + rkey: string; 33 + }
+32
src/lib/utils.ts
··· 1 + import * as crypto from 'crypto'; 2 + 3 + export function parseRecordURI(uri: string): { did: string; collection: string; rkey: string } { 4 + const match = uri.match(/^at:\/\/(did:[^\/]+)\/([^\/]+)\/(.+)$/); 5 + if (!match) { 6 + throw new Error('Invalid AT Protocol URI format. Expected: at://did:plc:xxx/collection/rkey'); 7 + } 8 + 9 + return { 10 + did: match[1], 11 + collection: match[2], 12 + rkey: match[3] 13 + }; 14 + } 15 + 16 + export function hashContent(content: any): string { 17 + const jsonString = JSON.stringify(content, null, 0); 18 + return '0x' + crypto.createHash('sha256').update(jsonString).digest('hex'); 19 + } 20 + 21 + export function getExplorerURL(attestationUID: string, network: string = 'sepolia'): string { 22 + const explorers: Record<string, string> = { 23 + 'sepolia': 'https://sepolia.easscan.org', 24 + 'base-sepolia': 'https://base-sepolia.easscan.org', 25 + 'base': 'https://base.easscan.org', 26 + 'optimism': 'https://optimism.easscan.org', 27 + 'arbitrum': 'https://arbitrum.easscan.org', 28 + }; 29 + 30 + const baseURL = explorers[network] || explorers['sepolia']; 31 + return `${baseURL}/attestation/view/${attestationUID}`; 32 + }
+45
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + // Language and Environment 4 + "target": "ES2022", 5 + "lib": ["ES2022"], 6 + "module": "ES2022", 7 + "moduleResolution": "bundler", 8 + 9 + // Emit 10 + "outDir": "./dist", 11 + "rootDir": "./src", 12 + "declaration": true, 13 + "declarationMap": true, 14 + "sourceMap": true, 15 + "removeComments": true, 16 + 17 + // Interop Constraints 18 + "esModuleInterop": true, 19 + "allowSyntheticDefaultImports": true, 20 + "forceConsistentCasingInFileNames": true, 21 + "isolatedModules": true, 22 + 23 + // Type Checking 24 + "strict": true, 25 + "noUnusedLocals": true, 26 + "noUnusedParameters": true, 27 + "noImplicitReturns": true, 28 + "noFallthroughCasesInSwitch": true, 29 + "noUncheckedIndexedAccess": true, 30 + 31 + // Completeness 32 + "skipLibCheck": true, 33 + 34 + // Resolution 35 + "resolveJsonModule": true, 36 + "allowImportingTsExtensions": false 37 + }, 38 + "include": [ 39 + "src/**/*" 40 + ], 41 + "exclude": [ 42 + "node_modules", 43 + "dist" 44 + ] 45 + }