├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── scripts └── publish.ts ├── src ├── frameSupport.ts ├── index.ts └── test.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | coverage 4 | coverage.json 5 | typechain 6 | typechain-types 7 | # Default ignored files 8 | /shelf/ 9 | /workspace.xml 10 | # Editor-based HTTP Client requests 11 | /httpRequests/ 12 | 13 | # Hardhat files 14 | cache 15 | artifacts 16 | 17 | # Phat 18 | .phat 19 | dist 20 | polkadot-account.json 21 | 22 | tmp 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | Logo 5 | 6 | 7 |

FrameHub-Template

8 | 9 |

10 | Host Farcaster Frames on decentralized serverless cloud. 11 |
12 | Explore the docs » 13 |
14 |
15 | View Demo 16 | · 17 | Report Bug 18 | · 19 | Telegram Discussion 20 |

21 |
22 | 23 | ## About The Project 24 | 25 | ![](https://i.imgur.com/DqcisLn.png) 26 | 27 | FrameHub is a decentralized Farcaster Frame hosting protocol. Unlike Vercel or other FaaS, it allows you to publish your Frame to IPFS and hosts it on a fully decentralized FaaS cloud with the following benefits: 28 | 29 | - 💨 Ship Fast: Build and ship with familiar toolchain in minutes 30 | - ⛑️ Secure: Execution guarded by rock solid TEE / Intel SGX 31 | - 🔒 Private: Host API keys and user privacy at ease 32 | - 💎 Unstoppable: Powered by IPFS and [Phala](https://phala.network)'s 35k+ decentralized TEE workers 33 | 34 | ## Getting Started 35 | 36 | ### Prepare 37 | 38 | ```bash 39 | npm install 40 | ``` 41 | 42 | ### Test Locally 43 | 44 | ```bash 45 | npx ts-node src/test.ts 46 | ``` 47 | 48 | ### Compile 49 | 50 | Build your frame and output at `dist/index.js`. 51 | 52 | ```bash 53 | npm run build 54 | # yarn build 55 | ``` 56 | 57 | ### Publish to IPFS 58 | 59 | Build your frame and upload to IPFS 60 | 61 | ```bash 62 | npm run publish 63 | # yarn publish 64 | ``` 65 | 66 | Upon a successful upload, the command should show the URL to access your frame. 67 | > Frame deployed at: https://frames.phatfn.xyz/ipfs/Qma4ejJPfuB9ag63TrWWd379QA1rKf1HyXJmLE5k16dAYk 68 | 69 |
70 | New to thirdweb? 71 | We use thirdweb Storage to host IPFS contents. If you are new to thirdweb, the command will guide you to create your account or login to your existing account from the browser. (You may need to forward port 8976 if you are accessing a remote console via SSH.) 72 |
73 | 74 | ### Access the Published Frame 75 | 76 | Once published, your frame is availabe at the URL: `https://frames.phatfn.xyz/ipfs/`. You can get it from the "Publish to IPFS" step. 77 | 78 | You can test it with `curl`. 79 | 80 | ```bash 81 | curl https://frames.phatfn.xyz/ipfs/ 82 | ``` 83 | 84 | You can test the frame with the [Warpcast frame simulator](https://warpcast.com/~/developers/frames) with the URL. 85 | 86 | ## Advanced Usage 87 | 88 | ### Add Secrets 89 | 90 | By default, all of the compiled JS code is visible for anyone to view if they look at IPFS CID. This makes private info like API keys, signer keys, etc. vulnerable to be stolen. To protect devs from leaking keys, we have added a field called `secret` in the `Request` object. It allows you to store secrets in a vault for your Frame to access. 91 | 92 |
93 | How to Add Secrets 94 | 95 | The steps to add a `secret` is simple. We will add the [Neynar](https://neynar.com) API Key in this example by creating a secret JSON object with the `apiKey`: 96 | 97 | ```json 98 | {"apiKey": ""} 99 | ``` 100 | 101 | Then in your frame code, you will be able to access the secret key via `req.secret` object: 102 | 103 | ```js 104 | async function POST(req: Request): Promise { 105 | const apiKey = req.secret?.apiKey 106 | } 107 | ``` 108 | 109 | > Note: Before continuing, make sure to publish your compiled JS code, so you can add secrets to the CID. 110 | 111 | **Open terminal** 112 | Use `curl` to `POST` your secrets to `https://frames.phatfn.xyz/vaults`. Replace `IPFS_CID` with the CID to the compile JS code in IPFS, and replace `` with your Neynar API key. 113 | 114 | The command will look like this: 115 | ```shell 116 | curl https://frames.phatfn.xyz/vaults -H 'Content-Type: application/json' -d '{"cid": "IPFS_CID", "data": {"apiKey": ""}}' 117 | # Output: 118 | # {"token":"e85ae53d2ba4ca8d","key":"e781ef31210e0362","succeed":true} 119 | ``` 120 | 121 | The API returns a `token` and a `key`. The `key` is the id of your secret. It can be used to specify which secret you are going to pass to your frame. The `token` can be used by the developer to access the raw secret. You should never leak the `token`. 122 | 123 | To verify the secret, run the following command where `key` and `token` are replaced with the values from adding your `secret` to the vault. 124 | ```shell 125 | curl https://frames.phatfn.xyz/vaults// 126 | ``` 127 | 128 | Expected output: 129 | ```shell 130 | {"data":{"apiKey":""},"succeed":true} 131 | ``` 132 | 133 | To see where the code is used in this template, check out [index.ts](./src/index.ts) line 36. 134 | 135 | If you are using secrets, make sure that your Cast URL is set in the following syntax where `cid` is the IPFS CID of your compiled JS file and `key` is the `key` from adding secrets to your vault. 136 | ```text 137 | https://frames.phatfn.xyz/ipfs/?key= 138 | ``` 139 | 140 | https://github.com/Phala-Network/phat-frame-template/assets/64296537/620ad981-73a8-46c0-8cfd-16d2e245abfc 141 | 142 |
143 | 144 | (TBD: instantiate, ...) 145 | 146 | ## Roadmap 147 | 148 | - [x] Publish to IPFS command 149 | - [x] Support secrets 150 | - [ ] Free "Publish to IPFS" command 151 | - [ ] SVG generation 152 | - [ ] Database 153 | 154 | ## FAQ 155 | 156 |
157 | What packages can I use in the frame server? 158 |
    159 |
  • Most of the npm packages are supported: viem, onchainkit, ….
  • 160 |
  • Some packages with some advanced features are not supported:
  • 161 |
      162 |
    • Large code size. Compiled bundle should be less than 500kb.
    • 163 |
    • Large memory usage, like image generation
    • 164 |
    • Web Assembly
    • 165 |
    • Browser only features: local storage, service workers, etc
    • 166 |
    167 |
168 |
169 | 170 |
171 | What’s the spec of the Javascript runtime? 172 |
    173 |
  • The code runs inside a tailored QuickJS engine
  • 174 |
  • Available features: ES2023, async, fetch, setTimeout, setInterval, bigint
  • 175 |
  • Resource limits
  • 176 |
      177 |
    • Max execution time 10s
    • 178 |
    • Max memory usage: 16 mb
    • 179 |
    • Max code size: 500 kb
    • 180 |
    • Limited CPU burst: CPU time between async calls is limited. e.g. Too complex for-loop may hit the burst limit.
    • 181 |
    182 |
183 |
184 | 185 |
186 | Why is the serverless platform secure? 187 |
    188 |
  • Your code on FrameHub is fully secure, private, and permissionless. Nobody can manipulate your program, steal any data from it, or censor it.
  • 189 |
  • Security: The code is executed in the decentralized TEE network running on Phala Network. It runs code inside a secure blackbox (called enclave) created by the CPU. It generates cryptographic proofs verifiable on Phala blockchain. It proves that the hosted code is exactly the one you deployed.
  • 190 |
  • Privacy: You can safely put secrets like API keys or user privacy on FrameHub. The code runs inside TEE hardware blackboxs. The memory of the program is fully encrypted by the TEE. It blocks any unauthorized access to your data.
  • 191 |
  • Learn more at Phala Network Homepage
  • 192 |
193 | 194 |
195 | What's TEE / Intel SGX? 196 |
200 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phat-frame-template", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "phat-frame-template", 9 | "version": "1.0.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@coinbase/onchainkit": "^0.5.4" 13 | }, 14 | "devDependencies": { 15 | "@phala/fn": "~0.2.14", 16 | "tsx": "^4.7.0", 17 | "typechain": "^8.1.0", 18 | "typescript": "^5.2.2" 19 | }, 20 | "engines": { 21 | "node": ">=18" 22 | } 23 | }, 24 | "node_modules/@adraffy/ens-normalize": { 25 | "version": "1.10.0", 26 | "license": "MIT" 27 | }, 28 | "node_modules/@coinbase/onchainkit": { 29 | "version": "0.5.4", 30 | "resolved": "https://registry.npmjs.org/@coinbase/onchainkit/-/onchainkit-0.5.4.tgz", 31 | "integrity": "sha512-fF8cwAmamM/az1TBbaZVPcAdrCdZ3db2FPIdRoWPrcLIU2Xmdw7EM2uaiwzzbfoGDkkgEt4nUefAH5P4mFrORw==", 32 | "peerDependencies": { 33 | "react": "^18", 34 | "react-dom": "^18", 35 | "viem": "^2.7.0" 36 | } 37 | }, 38 | "node_modules/@cspotcode/source-map-support": { 39 | "version": "0.8.1", 40 | "dev": true, 41 | "license": "MIT", 42 | "dependencies": { 43 | "@jridgewell/trace-mapping": "0.3.9" 44 | }, 45 | "engines": { 46 | "node": ">=12" 47 | } 48 | }, 49 | "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { 50 | "version": "0.3.9", 51 | "dev": true, 52 | "license": "MIT", 53 | "dependencies": { 54 | "@jridgewell/resolve-uri": "^3.0.3", 55 | "@jridgewell/sourcemap-codec": "^1.4.10" 56 | } 57 | }, 58 | "node_modules/@esbuild/aix-ppc64": { 59 | "version": "0.19.12", 60 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", 61 | "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", 62 | "cpu": [ 63 | "ppc64" 64 | ], 65 | "dev": true, 66 | "optional": true, 67 | "os": [ 68 | "aix" 69 | ], 70 | "engines": { 71 | "node": ">=12" 72 | } 73 | }, 74 | "node_modules/@esbuild/android-arm": { 75 | "version": "0.19.12", 76 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", 77 | "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", 78 | "cpu": [ 79 | "arm" 80 | ], 81 | "dev": true, 82 | "optional": true, 83 | "os": [ 84 | "android" 85 | ], 86 | "engines": { 87 | "node": ">=12" 88 | } 89 | }, 90 | "node_modules/@esbuild/android-arm64": { 91 | "version": "0.19.12", 92 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", 93 | "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", 94 | "cpu": [ 95 | "arm64" 96 | ], 97 | "dev": true, 98 | "optional": true, 99 | "os": [ 100 | "android" 101 | ], 102 | "engines": { 103 | "node": ">=12" 104 | } 105 | }, 106 | "node_modules/@esbuild/android-x64": { 107 | "version": "0.19.12", 108 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", 109 | "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", 110 | "cpu": [ 111 | "x64" 112 | ], 113 | "dev": true, 114 | "optional": true, 115 | "os": [ 116 | "android" 117 | ], 118 | "engines": { 119 | "node": ">=12" 120 | } 121 | }, 122 | "node_modules/@esbuild/darwin-arm64": { 123 | "version": "0.19.12", 124 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", 125 | "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", 126 | "cpu": [ 127 | "arm64" 128 | ], 129 | "dev": true, 130 | "optional": true, 131 | "os": [ 132 | "darwin" 133 | ], 134 | "engines": { 135 | "node": ">=12" 136 | } 137 | }, 138 | "node_modules/@esbuild/darwin-x64": { 139 | "version": "0.19.12", 140 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", 141 | "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", 142 | "cpu": [ 143 | "x64" 144 | ], 145 | "dev": true, 146 | "optional": true, 147 | "os": [ 148 | "darwin" 149 | ], 150 | "engines": { 151 | "node": ">=12" 152 | } 153 | }, 154 | "node_modules/@esbuild/freebsd-arm64": { 155 | "version": "0.19.12", 156 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", 157 | "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", 158 | "cpu": [ 159 | "arm64" 160 | ], 161 | "dev": true, 162 | "optional": true, 163 | "os": [ 164 | "freebsd" 165 | ], 166 | "engines": { 167 | "node": ">=12" 168 | } 169 | }, 170 | "node_modules/@esbuild/freebsd-x64": { 171 | "version": "0.19.12", 172 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", 173 | "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", 174 | "cpu": [ 175 | "x64" 176 | ], 177 | "dev": true, 178 | "optional": true, 179 | "os": [ 180 | "freebsd" 181 | ], 182 | "engines": { 183 | "node": ">=12" 184 | } 185 | }, 186 | "node_modules/@esbuild/linux-arm": { 187 | "version": "0.19.12", 188 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", 189 | "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", 190 | "cpu": [ 191 | "arm" 192 | ], 193 | "dev": true, 194 | "optional": true, 195 | "os": [ 196 | "linux" 197 | ], 198 | "engines": { 199 | "node": ">=12" 200 | } 201 | }, 202 | "node_modules/@esbuild/linux-arm64": { 203 | "version": "0.19.12", 204 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", 205 | "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", 206 | "cpu": [ 207 | "arm64" 208 | ], 209 | "dev": true, 210 | "optional": true, 211 | "os": [ 212 | "linux" 213 | ], 214 | "engines": { 215 | "node": ">=12" 216 | } 217 | }, 218 | "node_modules/@esbuild/linux-ia32": { 219 | "version": "0.19.12", 220 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", 221 | "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", 222 | "cpu": [ 223 | "ia32" 224 | ], 225 | "dev": true, 226 | "optional": true, 227 | "os": [ 228 | "linux" 229 | ], 230 | "engines": { 231 | "node": ">=12" 232 | } 233 | }, 234 | "node_modules/@esbuild/linux-loong64": { 235 | "version": "0.19.12", 236 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", 237 | "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", 238 | "cpu": [ 239 | "loong64" 240 | ], 241 | "dev": true, 242 | "optional": true, 243 | "os": [ 244 | "linux" 245 | ], 246 | "engines": { 247 | "node": ">=12" 248 | } 249 | }, 250 | "node_modules/@esbuild/linux-mips64el": { 251 | "version": "0.19.12", 252 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", 253 | "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", 254 | "cpu": [ 255 | "mips64el" 256 | ], 257 | "dev": true, 258 | "optional": true, 259 | "os": [ 260 | "linux" 261 | ], 262 | "engines": { 263 | "node": ">=12" 264 | } 265 | }, 266 | "node_modules/@esbuild/linux-ppc64": { 267 | "version": "0.19.12", 268 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", 269 | "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", 270 | "cpu": [ 271 | "ppc64" 272 | ], 273 | "dev": true, 274 | "optional": true, 275 | "os": [ 276 | "linux" 277 | ], 278 | "engines": { 279 | "node": ">=12" 280 | } 281 | }, 282 | "node_modules/@esbuild/linux-riscv64": { 283 | "version": "0.19.12", 284 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", 285 | "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", 286 | "cpu": [ 287 | "riscv64" 288 | ], 289 | "dev": true, 290 | "optional": true, 291 | "os": [ 292 | "linux" 293 | ], 294 | "engines": { 295 | "node": ">=12" 296 | } 297 | }, 298 | "node_modules/@esbuild/linux-s390x": { 299 | "version": "0.19.12", 300 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", 301 | "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", 302 | "cpu": [ 303 | "s390x" 304 | ], 305 | "dev": true, 306 | "optional": true, 307 | "os": [ 308 | "linux" 309 | ], 310 | "engines": { 311 | "node": ">=12" 312 | } 313 | }, 314 | "node_modules/@esbuild/linux-x64": { 315 | "version": "0.19.12", 316 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", 317 | "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", 318 | "cpu": [ 319 | "x64" 320 | ], 321 | "dev": true, 322 | "optional": true, 323 | "os": [ 324 | "linux" 325 | ], 326 | "engines": { 327 | "node": ">=12" 328 | } 329 | }, 330 | "node_modules/@esbuild/netbsd-x64": { 331 | "version": "0.19.12", 332 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", 333 | "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", 334 | "cpu": [ 335 | "x64" 336 | ], 337 | "dev": true, 338 | "optional": true, 339 | "os": [ 340 | "netbsd" 341 | ], 342 | "engines": { 343 | "node": ">=12" 344 | } 345 | }, 346 | "node_modules/@esbuild/openbsd-x64": { 347 | "version": "0.19.12", 348 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", 349 | "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", 350 | "cpu": [ 351 | "x64" 352 | ], 353 | "dev": true, 354 | "optional": true, 355 | "os": [ 356 | "openbsd" 357 | ], 358 | "engines": { 359 | "node": ">=12" 360 | } 361 | }, 362 | "node_modules/@esbuild/sunos-x64": { 363 | "version": "0.19.12", 364 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", 365 | "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", 366 | "cpu": [ 367 | "x64" 368 | ], 369 | "dev": true, 370 | "optional": true, 371 | "os": [ 372 | "sunos" 373 | ], 374 | "engines": { 375 | "node": ">=12" 376 | } 377 | }, 378 | "node_modules/@esbuild/win32-arm64": { 379 | "version": "0.19.12", 380 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", 381 | "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", 382 | "cpu": [ 383 | "arm64" 384 | ], 385 | "dev": true, 386 | "optional": true, 387 | "os": [ 388 | "win32" 389 | ], 390 | "engines": { 391 | "node": ">=12" 392 | } 393 | }, 394 | "node_modules/@esbuild/win32-ia32": { 395 | "version": "0.19.12", 396 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", 397 | "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", 398 | "cpu": [ 399 | "ia32" 400 | ], 401 | "dev": true, 402 | "optional": true, 403 | "os": [ 404 | "win32" 405 | ], 406 | "engines": { 407 | "node": ">=12" 408 | } 409 | }, 410 | "node_modules/@esbuild/win32-x64": { 411 | "version": "0.19.12", 412 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", 413 | "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", 414 | "cpu": [ 415 | "x64" 416 | ], 417 | "dev": true, 418 | "optional": true, 419 | "os": [ 420 | "win32" 421 | ], 422 | "engines": { 423 | "node": ">=12" 424 | } 425 | }, 426 | "node_modules/@fastify/busboy": { 427 | "version": "2.1.0", 428 | "dev": true, 429 | "license": "MIT", 430 | "engines": { 431 | "node": ">=14" 432 | } 433 | }, 434 | "node_modules/@jridgewell/gen-mapping": { 435 | "version": "0.3.3", 436 | "dev": true, 437 | "license": "MIT", 438 | "dependencies": { 439 | "@jridgewell/set-array": "^1.0.1", 440 | "@jridgewell/sourcemap-codec": "^1.4.10", 441 | "@jridgewell/trace-mapping": "^0.3.9" 442 | }, 443 | "engines": { 444 | "node": ">=6.0.0" 445 | } 446 | }, 447 | "node_modules/@jridgewell/resolve-uri": { 448 | "version": "3.1.1", 449 | "dev": true, 450 | "license": "MIT", 451 | "engines": { 452 | "node": ">=6.0.0" 453 | } 454 | }, 455 | "node_modules/@jridgewell/set-array": { 456 | "version": "1.1.2", 457 | "dev": true, 458 | "license": "MIT", 459 | "engines": { 460 | "node": ">=6.0.0" 461 | } 462 | }, 463 | "node_modules/@jridgewell/source-map": { 464 | "version": "0.3.5", 465 | "dev": true, 466 | "license": "MIT", 467 | "dependencies": { 468 | "@jridgewell/gen-mapping": "^0.3.0", 469 | "@jridgewell/trace-mapping": "^0.3.9" 470 | } 471 | }, 472 | "node_modules/@jridgewell/sourcemap-codec": { 473 | "version": "1.4.15", 474 | "dev": true, 475 | "license": "MIT" 476 | }, 477 | "node_modules/@jridgewell/trace-mapping": { 478 | "version": "0.3.22", 479 | "dev": true, 480 | "license": "MIT", 481 | "dependencies": { 482 | "@jridgewell/resolve-uri": "^3.1.0", 483 | "@jridgewell/sourcemap-codec": "^1.4.14" 484 | } 485 | }, 486 | "node_modules/@kwsites/file-exists": { 487 | "version": "1.1.1", 488 | "dev": true, 489 | "license": "MIT", 490 | "dependencies": { 491 | "debug": "^4.1.1" 492 | } 493 | }, 494 | "node_modules/@kwsites/promise-deferred": { 495 | "version": "1.1.1", 496 | "dev": true, 497 | "license": "MIT" 498 | }, 499 | "node_modules/@noble/curves": { 500 | "version": "1.2.0", 501 | "license": "MIT", 502 | "dependencies": { 503 | "@noble/hashes": "1.3.2" 504 | }, 505 | "funding": { 506 | "url": "https://paulmillr.com/funding/" 507 | } 508 | }, 509 | "node_modules/@noble/curves/node_modules/@noble/hashes": { 510 | "version": "1.3.2", 511 | "license": "MIT", 512 | "engines": { 513 | "node": ">= 16" 514 | }, 515 | "funding": { 516 | "url": "https://paulmillr.com/funding/" 517 | } 518 | }, 519 | "node_modules/@noble/hashes": { 520 | "version": "1.3.3", 521 | "license": "MIT", 522 | "engines": { 523 | "node": ">= 16" 524 | }, 525 | "funding": { 526 | "url": "https://paulmillr.com/funding/" 527 | } 528 | }, 529 | "node_modules/@nodelib/fs.scandir": { 530 | "version": "2.1.5", 531 | "dev": true, 532 | "license": "MIT", 533 | "dependencies": { 534 | "@nodelib/fs.stat": "2.0.5", 535 | "run-parallel": "^1.1.9" 536 | }, 537 | "engines": { 538 | "node": ">= 8" 539 | } 540 | }, 541 | "node_modules/@nodelib/fs.stat": { 542 | "version": "2.0.5", 543 | "dev": true, 544 | "license": "MIT", 545 | "engines": { 546 | "node": ">= 8" 547 | } 548 | }, 549 | "node_modules/@nodelib/fs.walk": { 550 | "version": "1.2.8", 551 | "dev": true, 552 | "license": "MIT", 553 | "dependencies": { 554 | "@nodelib/fs.scandir": "2.1.5", 555 | "fastq": "^1.6.0" 556 | }, 557 | "engines": { 558 | "node": ">= 8" 559 | } 560 | }, 561 | "node_modules/@oclif/core": { 562 | "version": "2.15.0", 563 | "dev": true, 564 | "license": "MIT", 565 | "dependencies": { 566 | "@types/cli-progress": "^3.11.0", 567 | "ansi-escapes": "^4.3.2", 568 | "ansi-styles": "^4.3.0", 569 | "cardinal": "^2.1.1", 570 | "chalk": "^4.1.2", 571 | "clean-stack": "^3.0.1", 572 | "cli-progress": "^3.12.0", 573 | "debug": "^4.3.4", 574 | "ejs": "^3.1.8", 575 | "get-package-type": "^0.1.0", 576 | "globby": "^11.1.0", 577 | "hyperlinker": "^1.0.0", 578 | "indent-string": "^4.0.0", 579 | "is-wsl": "^2.2.0", 580 | "js-yaml": "^3.14.1", 581 | "natural-orderby": "^2.0.3", 582 | "object-treeify": "^1.1.33", 583 | "password-prompt": "^1.1.2", 584 | "slice-ansi": "^4.0.0", 585 | "string-width": "^4.2.3", 586 | "strip-ansi": "^6.0.1", 587 | "supports-color": "^8.1.1", 588 | "supports-hyperlinks": "^2.2.0", 589 | "ts-node": "^10.9.1", 590 | "tslib": "^2.5.0", 591 | "widest-line": "^3.1.0", 592 | "wordwrap": "^1.0.0", 593 | "wrap-ansi": "^7.0.0" 594 | }, 595 | "engines": { 596 | "node": ">=14.0.0" 597 | } 598 | }, 599 | "node_modules/@oclif/core/node_modules/supports-color": { 600 | "version": "8.1.1", 601 | "dev": true, 602 | "license": "MIT", 603 | "dependencies": { 604 | "has-flag": "^4.0.0" 605 | }, 606 | "engines": { 607 | "node": ">=10" 608 | }, 609 | "funding": { 610 | "url": "https://github.com/chalk/supports-color?sponsor=1" 611 | } 612 | }, 613 | "node_modules/@oclif/core/node_modules/wrap-ansi": { 614 | "version": "7.0.0", 615 | "dev": true, 616 | "license": "MIT", 617 | "dependencies": { 618 | "ansi-styles": "^4.0.0", 619 | "string-width": "^4.1.0", 620 | "strip-ansi": "^6.0.0" 621 | }, 622 | "engines": { 623 | "node": ">=10" 624 | }, 625 | "funding": { 626 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 627 | } 628 | }, 629 | "node_modules/@phala/fn": { 630 | "version": "0.2.14", 631 | "resolved": "https://registry.npmjs.org/@phala/fn/-/fn-0.2.14.tgz", 632 | "integrity": "sha512-07D19VDEM9k2w7mc1dQFqrXHJGD07a+Nk/XpLqyckjxJJPOarsaBVdceJV+OakYnbYd4gAvM/niliybNl714EA==", 633 | "dev": true, 634 | "dependencies": { 635 | "@oclif/core": "^2", 636 | "@phala/pink-env": "^1.0.13", 637 | "@phala/sdk": "0.6.0-beta.14", 638 | "@types/node-fetch": "2", 639 | "chalk": "4", 640 | "dotenv": "^16.3.1", 641 | "ethers": "^6.7.1", 642 | "filesize": "^10.0.12", 643 | "inquirer": "8", 644 | "ora": "5", 645 | "quickjs-emscripten": "^0.23.0", 646 | "quickjs-emscripten-sync": "^1.5.2", 647 | "simple-git": "^3.19.1", 648 | "string-replace-loader": "^3.1.0", 649 | "sync-rpc": "^1.3.6", 650 | "terser-webpack-plugin": "^5.3.9", 651 | "ts-loader": "^9.4.4", 652 | "ts-node": "^10.9.1", 653 | "typescript": "^5.2.2", 654 | "undici": "^5.27.0", 655 | "upath": "^2.0.1", 656 | "webpack": "^5.88.2", 657 | "webpack-merge": "^5.9.0", 658 | "webpack-virtual-modules": "^0.5.0" 659 | }, 660 | "bin": { 661 | "phat-fn": "bin/run" 662 | }, 663 | "engines": { 664 | "node": ">=18" 665 | } 666 | }, 667 | "node_modules/@phala/pink-env": { 668 | "version": "1.0.13", 669 | "dev": true, 670 | "license": "Apache-2.0" 671 | }, 672 | "node_modules/@phala/sdk": { 673 | "version": "0.6.0-beta.14", 674 | "dev": true, 675 | "license": "Apache-2.0", 676 | "dependencies": { 677 | "@polkadot/api": "~10.11.1", 678 | "@polkadot/api-contract": "~10.11.1", 679 | "@polkadot/extension-inject": "~0.46.6", 680 | "@polkadot/keyring": "~12.6.1", 681 | "@polkadot/networks": "~12.6.1", 682 | "@polkadot/types": "~10.11.1", 683 | "@polkadot/types-augment": "~10.11.1", 684 | "@polkadot/types-codec": "~10.11.1", 685 | "@polkadot/ui-keyring": "~3.6.4", 686 | "@polkadot/ui-settings": "~3.6.4", 687 | "@polkadot/util": "~12.6.1", 688 | "@polkadot/util-crypto": "~12.6.1", 689 | "browserify-cipher": "^1.0.1", 690 | "cross-fetch": "^4.0.0", 691 | "protobufjs": "^7.2.4", 692 | "ramda": "^0.29.1", 693 | "randombytes": "^2.1.0", 694 | "rxjs": "^7.8.1", 695 | "viem": "^1.5.0" 696 | }, 697 | "engines": { 698 | "node": ">=18" 699 | } 700 | }, 701 | "node_modules/@phala/sdk/node_modules/@noble/curves": { 702 | "version": "1.2.0", 703 | "dev": true, 704 | "license": "MIT", 705 | "dependencies": { 706 | "@noble/hashes": "1.3.2" 707 | }, 708 | "funding": { 709 | "url": "https://paulmillr.com/funding/" 710 | } 711 | }, 712 | "node_modules/@phala/sdk/node_modules/@noble/hashes": { 713 | "version": "1.3.2", 714 | "dev": true, 715 | "license": "MIT", 716 | "engines": { 717 | "node": ">= 16" 718 | }, 719 | "funding": { 720 | "url": "https://paulmillr.com/funding/" 721 | } 722 | }, 723 | "node_modules/@phala/sdk/node_modules/abitype": { 724 | "version": "0.9.8", 725 | "dev": true, 726 | "funding": [ 727 | { 728 | "type": "github", 729 | "url": "https://github.com/sponsors/wagmi-dev" 730 | } 731 | ], 732 | "license": "MIT", 733 | "peerDependencies": { 734 | "typescript": ">=5.0.4", 735 | "zod": "^3 >=3.19.1" 736 | }, 737 | "peerDependenciesMeta": { 738 | "typescript": { 739 | "optional": true 740 | }, 741 | "zod": { 742 | "optional": true 743 | } 744 | } 745 | }, 746 | "node_modules/@phala/sdk/node_modules/viem": { 747 | "version": "1.21.4", 748 | "dev": true, 749 | "funding": [ 750 | { 751 | "type": "github", 752 | "url": "https://github.com/sponsors/wevm" 753 | } 754 | ], 755 | "license": "MIT", 756 | "dependencies": { 757 | "@adraffy/ens-normalize": "1.10.0", 758 | "@noble/curves": "1.2.0", 759 | "@noble/hashes": "1.3.2", 760 | "@scure/bip32": "1.3.2", 761 | "@scure/bip39": "1.2.1", 762 | "abitype": "0.9.8", 763 | "isows": "1.0.3", 764 | "ws": "8.13.0" 765 | }, 766 | "peerDependencies": { 767 | "typescript": ">=5.0.4" 768 | }, 769 | "peerDependenciesMeta": { 770 | "typescript": { 771 | "optional": true 772 | } 773 | } 774 | }, 775 | "node_modules/@polkadot/api": { 776 | "version": "10.11.2", 777 | "dev": true, 778 | "license": "Apache-2.0", 779 | "dependencies": { 780 | "@polkadot/api-augment": "10.11.2", 781 | "@polkadot/api-base": "10.11.2", 782 | "@polkadot/api-derive": "10.11.2", 783 | "@polkadot/keyring": "^12.6.2", 784 | "@polkadot/rpc-augment": "10.11.2", 785 | "@polkadot/rpc-core": "10.11.2", 786 | "@polkadot/rpc-provider": "10.11.2", 787 | "@polkadot/types": "10.11.2", 788 | "@polkadot/types-augment": "10.11.2", 789 | "@polkadot/types-codec": "10.11.2", 790 | "@polkadot/types-create": "10.11.2", 791 | "@polkadot/types-known": "10.11.2", 792 | "@polkadot/util": "^12.6.2", 793 | "@polkadot/util-crypto": "^12.6.2", 794 | "eventemitter3": "^5.0.1", 795 | "rxjs": "^7.8.1", 796 | "tslib": "^2.6.2" 797 | }, 798 | "engines": { 799 | "node": ">=18" 800 | } 801 | }, 802 | "node_modules/@polkadot/api-augment": { 803 | "version": "10.11.2", 804 | "dev": true, 805 | "license": "Apache-2.0", 806 | "dependencies": { 807 | "@polkadot/api-base": "10.11.2", 808 | "@polkadot/rpc-augment": "10.11.2", 809 | "@polkadot/types": "10.11.2", 810 | "@polkadot/types-augment": "10.11.2", 811 | "@polkadot/types-codec": "10.11.2", 812 | "@polkadot/util": "^12.6.2", 813 | "tslib": "^2.6.2" 814 | }, 815 | "engines": { 816 | "node": ">=18" 817 | } 818 | }, 819 | "node_modules/@polkadot/api-base": { 820 | "version": "10.11.2", 821 | "dev": true, 822 | "license": "Apache-2.0", 823 | "dependencies": { 824 | "@polkadot/rpc-core": "10.11.2", 825 | "@polkadot/types": "10.11.2", 826 | "@polkadot/util": "^12.6.2", 827 | "rxjs": "^7.8.1", 828 | "tslib": "^2.6.2" 829 | }, 830 | "engines": { 831 | "node": ">=18" 832 | } 833 | }, 834 | "node_modules/@polkadot/api-contract": { 835 | "version": "10.11.2", 836 | "dev": true, 837 | "license": "Apache-2.0", 838 | "dependencies": { 839 | "@polkadot/api": "10.11.2", 840 | "@polkadot/api-augment": "10.11.2", 841 | "@polkadot/types": "10.11.2", 842 | "@polkadot/types-codec": "10.11.2", 843 | "@polkadot/types-create": "10.11.2", 844 | "@polkadot/util": "^12.6.2", 845 | "@polkadot/util-crypto": "^12.6.2", 846 | "rxjs": "^7.8.1", 847 | "tslib": "^2.6.2" 848 | }, 849 | "engines": { 850 | "node": ">=18" 851 | } 852 | }, 853 | "node_modules/@polkadot/api-derive": { 854 | "version": "10.11.2", 855 | "dev": true, 856 | "license": "Apache-2.0", 857 | "dependencies": { 858 | "@polkadot/api": "10.11.2", 859 | "@polkadot/api-augment": "10.11.2", 860 | "@polkadot/api-base": "10.11.2", 861 | "@polkadot/rpc-core": "10.11.2", 862 | "@polkadot/types": "10.11.2", 863 | "@polkadot/types-codec": "10.11.2", 864 | "@polkadot/util": "^12.6.2", 865 | "@polkadot/util-crypto": "^12.6.2", 866 | "rxjs": "^7.8.1", 867 | "tslib": "^2.6.2" 868 | }, 869 | "engines": { 870 | "node": ">=18" 871 | } 872 | }, 873 | "node_modules/@polkadot/extension-inject": { 874 | "version": "0.46.6", 875 | "dev": true, 876 | "license": "Apache-2.0", 877 | "dependencies": { 878 | "@polkadot/api": "^10.11.1", 879 | "@polkadot/rpc-provider": "^10.11.1", 880 | "@polkadot/types": "^10.11.1", 881 | "@polkadot/util": "^12.6.1", 882 | "@polkadot/util-crypto": "^12.6.1", 883 | "@polkadot/x-global": "^12.6.1", 884 | "tslib": "^2.6.2" 885 | }, 886 | "engines": { 887 | "node": ">=18" 888 | }, 889 | "peerDependencies": { 890 | "@polkadot/api": "*", 891 | "@polkadot/util": "*" 892 | } 893 | }, 894 | "node_modules/@polkadot/keyring": { 895 | "version": "12.6.2", 896 | "dev": true, 897 | "license": "Apache-2.0", 898 | "dependencies": { 899 | "@polkadot/util": "12.6.2", 900 | "@polkadot/util-crypto": "12.6.2", 901 | "tslib": "^2.6.2" 902 | }, 903 | "engines": { 904 | "node": ">=18" 905 | }, 906 | "peerDependencies": { 907 | "@polkadot/util": "12.6.2", 908 | "@polkadot/util-crypto": "12.6.2" 909 | } 910 | }, 911 | "node_modules/@polkadot/networks": { 912 | "version": "12.6.2", 913 | "dev": true, 914 | "license": "Apache-2.0", 915 | "dependencies": { 916 | "@polkadot/util": "12.6.2", 917 | "@substrate/ss58-registry": "^1.44.0", 918 | "tslib": "^2.6.2" 919 | }, 920 | "engines": { 921 | "node": ">=18" 922 | } 923 | }, 924 | "node_modules/@polkadot/rpc-augment": { 925 | "version": "10.11.2", 926 | "dev": true, 927 | "license": "Apache-2.0", 928 | "dependencies": { 929 | "@polkadot/rpc-core": "10.11.2", 930 | "@polkadot/types": "10.11.2", 931 | "@polkadot/types-codec": "10.11.2", 932 | "@polkadot/util": "^12.6.2", 933 | "tslib": "^2.6.2" 934 | }, 935 | "engines": { 936 | "node": ">=18" 937 | } 938 | }, 939 | "node_modules/@polkadot/rpc-core": { 940 | "version": "10.11.2", 941 | "dev": true, 942 | "license": "Apache-2.0", 943 | "dependencies": { 944 | "@polkadot/rpc-augment": "10.11.2", 945 | "@polkadot/rpc-provider": "10.11.2", 946 | "@polkadot/types": "10.11.2", 947 | "@polkadot/util": "^12.6.2", 948 | "rxjs": "^7.8.1", 949 | "tslib": "^2.6.2" 950 | }, 951 | "engines": { 952 | "node": ">=18" 953 | } 954 | }, 955 | "node_modules/@polkadot/rpc-provider": { 956 | "version": "10.11.2", 957 | "dev": true, 958 | "license": "Apache-2.0", 959 | "dependencies": { 960 | "@polkadot/keyring": "^12.6.2", 961 | "@polkadot/types": "10.11.2", 962 | "@polkadot/types-support": "10.11.2", 963 | "@polkadot/util": "^12.6.2", 964 | "@polkadot/util-crypto": "^12.6.2", 965 | "@polkadot/x-fetch": "^12.6.2", 966 | "@polkadot/x-global": "^12.6.2", 967 | "@polkadot/x-ws": "^12.6.2", 968 | "eventemitter3": "^5.0.1", 969 | "mock-socket": "^9.3.1", 970 | "nock": "^13.4.0", 971 | "tslib": "^2.6.2" 972 | }, 973 | "engines": { 974 | "node": ">=18" 975 | }, 976 | "optionalDependencies": { 977 | "@substrate/connect": "0.7.35" 978 | } 979 | }, 980 | "node_modules/@polkadot/types": { 981 | "version": "10.11.2", 982 | "dev": true, 983 | "license": "Apache-2.0", 984 | "dependencies": { 985 | "@polkadot/keyring": "^12.6.2", 986 | "@polkadot/types-augment": "10.11.2", 987 | "@polkadot/types-codec": "10.11.2", 988 | "@polkadot/types-create": "10.11.2", 989 | "@polkadot/util": "^12.6.2", 990 | "@polkadot/util-crypto": "^12.6.2", 991 | "rxjs": "^7.8.1", 992 | "tslib": "^2.6.2" 993 | }, 994 | "engines": { 995 | "node": ">=18" 996 | } 997 | }, 998 | "node_modules/@polkadot/types-augment": { 999 | "version": "10.11.2", 1000 | "dev": true, 1001 | "license": "Apache-2.0", 1002 | "dependencies": { 1003 | "@polkadot/types": "10.11.2", 1004 | "@polkadot/types-codec": "10.11.2", 1005 | "@polkadot/util": "^12.6.2", 1006 | "tslib": "^2.6.2" 1007 | }, 1008 | "engines": { 1009 | "node": ">=18" 1010 | } 1011 | }, 1012 | "node_modules/@polkadot/types-codec": { 1013 | "version": "10.11.2", 1014 | "dev": true, 1015 | "license": "Apache-2.0", 1016 | "dependencies": { 1017 | "@polkadot/util": "^12.6.2", 1018 | "@polkadot/x-bigint": "^12.6.2", 1019 | "tslib": "^2.6.2" 1020 | }, 1021 | "engines": { 1022 | "node": ">=18" 1023 | } 1024 | }, 1025 | "node_modules/@polkadot/types-create": { 1026 | "version": "10.11.2", 1027 | "dev": true, 1028 | "license": "Apache-2.0", 1029 | "dependencies": { 1030 | "@polkadot/types-codec": "10.11.2", 1031 | "@polkadot/util": "^12.6.2", 1032 | "tslib": "^2.6.2" 1033 | }, 1034 | "engines": { 1035 | "node": ">=18" 1036 | } 1037 | }, 1038 | "node_modules/@polkadot/types-known": { 1039 | "version": "10.11.2", 1040 | "dev": true, 1041 | "license": "Apache-2.0", 1042 | "dependencies": { 1043 | "@polkadot/networks": "^12.6.2", 1044 | "@polkadot/types": "10.11.2", 1045 | "@polkadot/types-codec": "10.11.2", 1046 | "@polkadot/types-create": "10.11.2", 1047 | "@polkadot/util": "^12.6.2", 1048 | "tslib": "^2.6.2" 1049 | }, 1050 | "engines": { 1051 | "node": ">=18" 1052 | } 1053 | }, 1054 | "node_modules/@polkadot/types-support": { 1055 | "version": "10.11.2", 1056 | "dev": true, 1057 | "license": "Apache-2.0", 1058 | "dependencies": { 1059 | "@polkadot/util": "^12.6.2", 1060 | "tslib": "^2.6.2" 1061 | }, 1062 | "engines": { 1063 | "node": ">=18" 1064 | } 1065 | }, 1066 | "node_modules/@polkadot/ui-keyring": { 1067 | "version": "3.6.4", 1068 | "dev": true, 1069 | "license": "Apache-2.0", 1070 | "dependencies": { 1071 | "@polkadot/keyring": "^12.6.1", 1072 | "@polkadot/ui-settings": "3.6.4", 1073 | "@polkadot/util": "^12.6.1", 1074 | "@polkadot/util-crypto": "^12.6.1", 1075 | "mkdirp": "^3.0.1", 1076 | "rxjs": "^7.8.1", 1077 | "store": "^2.0.12", 1078 | "tslib": "^2.6.2" 1079 | }, 1080 | "engines": { 1081 | "node": ">=18" 1082 | }, 1083 | "peerDependencies": { 1084 | "@polkadot/keyring": "*", 1085 | "@polkadot/ui-settings": "*", 1086 | "@polkadot/util": "*" 1087 | } 1088 | }, 1089 | "node_modules/@polkadot/ui-keyring/node_modules/mkdirp": { 1090 | "version": "3.0.1", 1091 | "dev": true, 1092 | "license": "MIT", 1093 | "bin": { 1094 | "mkdirp": "dist/cjs/src/bin.js" 1095 | }, 1096 | "engines": { 1097 | "node": ">=10" 1098 | }, 1099 | "funding": { 1100 | "url": "https://github.com/sponsors/isaacs" 1101 | } 1102 | }, 1103 | "node_modules/@polkadot/ui-settings": { 1104 | "version": "3.6.4", 1105 | "dev": true, 1106 | "license": "Apache-2.0", 1107 | "dependencies": { 1108 | "@polkadot/networks": "^12.6.1", 1109 | "@polkadot/util": "^12.6.1", 1110 | "eventemitter3": "^5.0.1", 1111 | "store": "^2.0.12", 1112 | "tslib": "^2.6.2" 1113 | }, 1114 | "engines": { 1115 | "node": ">=18" 1116 | }, 1117 | "peerDependencies": { 1118 | "@polkadot/networks": "*", 1119 | "@polkadot/util": "*" 1120 | } 1121 | }, 1122 | "node_modules/@polkadot/util": { 1123 | "version": "12.6.2", 1124 | "dev": true, 1125 | "license": "Apache-2.0", 1126 | "dependencies": { 1127 | "@polkadot/x-bigint": "12.6.2", 1128 | "@polkadot/x-global": "12.6.2", 1129 | "@polkadot/x-textdecoder": "12.6.2", 1130 | "@polkadot/x-textencoder": "12.6.2", 1131 | "@types/bn.js": "^5.1.5", 1132 | "bn.js": "^5.2.1", 1133 | "tslib": "^2.6.2" 1134 | }, 1135 | "engines": { 1136 | "node": ">=18" 1137 | } 1138 | }, 1139 | "node_modules/@polkadot/util-crypto": { 1140 | "version": "12.6.2", 1141 | "dev": true, 1142 | "license": "Apache-2.0", 1143 | "dependencies": { 1144 | "@noble/curves": "^1.3.0", 1145 | "@noble/hashes": "^1.3.3", 1146 | "@polkadot/networks": "12.6.2", 1147 | "@polkadot/util": "12.6.2", 1148 | "@polkadot/wasm-crypto": "^7.3.2", 1149 | "@polkadot/wasm-util": "^7.3.2", 1150 | "@polkadot/x-bigint": "12.6.2", 1151 | "@polkadot/x-randomvalues": "12.6.2", 1152 | "@scure/base": "^1.1.5", 1153 | "tslib": "^2.6.2" 1154 | }, 1155 | "engines": { 1156 | "node": ">=18" 1157 | }, 1158 | "peerDependencies": { 1159 | "@polkadot/util": "12.6.2" 1160 | } 1161 | }, 1162 | "node_modules/@polkadot/util-crypto/node_modules/@noble/curves": { 1163 | "version": "1.3.0", 1164 | "dev": true, 1165 | "license": "MIT", 1166 | "dependencies": { 1167 | "@noble/hashes": "1.3.3" 1168 | }, 1169 | "funding": { 1170 | "url": "https://paulmillr.com/funding/" 1171 | } 1172 | }, 1173 | "node_modules/@polkadot/wasm-bridge": { 1174 | "version": "7.3.2", 1175 | "dev": true, 1176 | "license": "Apache-2.0", 1177 | "dependencies": { 1178 | "@polkadot/wasm-util": "7.3.2", 1179 | "tslib": "^2.6.2" 1180 | }, 1181 | "engines": { 1182 | "node": ">=18" 1183 | }, 1184 | "peerDependencies": { 1185 | "@polkadot/util": "*", 1186 | "@polkadot/x-randomvalues": "*" 1187 | } 1188 | }, 1189 | "node_modules/@polkadot/wasm-crypto": { 1190 | "version": "7.3.2", 1191 | "dev": true, 1192 | "license": "Apache-2.0", 1193 | "dependencies": { 1194 | "@polkadot/wasm-bridge": "7.3.2", 1195 | "@polkadot/wasm-crypto-asmjs": "7.3.2", 1196 | "@polkadot/wasm-crypto-init": "7.3.2", 1197 | "@polkadot/wasm-crypto-wasm": "7.3.2", 1198 | "@polkadot/wasm-util": "7.3.2", 1199 | "tslib": "^2.6.2" 1200 | }, 1201 | "engines": { 1202 | "node": ">=18" 1203 | }, 1204 | "peerDependencies": { 1205 | "@polkadot/util": "*", 1206 | "@polkadot/x-randomvalues": "*" 1207 | } 1208 | }, 1209 | "node_modules/@polkadot/wasm-crypto-asmjs": { 1210 | "version": "7.3.2", 1211 | "dev": true, 1212 | "license": "Apache-2.0", 1213 | "dependencies": { 1214 | "tslib": "^2.6.2" 1215 | }, 1216 | "engines": { 1217 | "node": ">=18" 1218 | }, 1219 | "peerDependencies": { 1220 | "@polkadot/util": "*" 1221 | } 1222 | }, 1223 | "node_modules/@polkadot/wasm-crypto-init": { 1224 | "version": "7.3.2", 1225 | "dev": true, 1226 | "license": "Apache-2.0", 1227 | "dependencies": { 1228 | "@polkadot/wasm-bridge": "7.3.2", 1229 | "@polkadot/wasm-crypto-asmjs": "7.3.2", 1230 | "@polkadot/wasm-crypto-wasm": "7.3.2", 1231 | "@polkadot/wasm-util": "7.3.2", 1232 | "tslib": "^2.6.2" 1233 | }, 1234 | "engines": { 1235 | "node": ">=18" 1236 | }, 1237 | "peerDependencies": { 1238 | "@polkadot/util": "*", 1239 | "@polkadot/x-randomvalues": "*" 1240 | } 1241 | }, 1242 | "node_modules/@polkadot/wasm-crypto-wasm": { 1243 | "version": "7.3.2", 1244 | "dev": true, 1245 | "license": "Apache-2.0", 1246 | "dependencies": { 1247 | "@polkadot/wasm-util": "7.3.2", 1248 | "tslib": "^2.6.2" 1249 | }, 1250 | "engines": { 1251 | "node": ">=18" 1252 | }, 1253 | "peerDependencies": { 1254 | "@polkadot/util": "*" 1255 | } 1256 | }, 1257 | "node_modules/@polkadot/wasm-util": { 1258 | "version": "7.3.2", 1259 | "dev": true, 1260 | "license": "Apache-2.0", 1261 | "dependencies": { 1262 | "tslib": "^2.6.2" 1263 | }, 1264 | "engines": { 1265 | "node": ">=18" 1266 | }, 1267 | "peerDependencies": { 1268 | "@polkadot/util": "*" 1269 | } 1270 | }, 1271 | "node_modules/@polkadot/x-bigint": { 1272 | "version": "12.6.2", 1273 | "dev": true, 1274 | "license": "Apache-2.0", 1275 | "dependencies": { 1276 | "@polkadot/x-global": "12.6.2", 1277 | "tslib": "^2.6.2" 1278 | }, 1279 | "engines": { 1280 | "node": ">=18" 1281 | } 1282 | }, 1283 | "node_modules/@polkadot/x-fetch": { 1284 | "version": "12.6.2", 1285 | "dev": true, 1286 | "license": "Apache-2.0", 1287 | "dependencies": { 1288 | "@polkadot/x-global": "12.6.2", 1289 | "node-fetch": "^3.3.2", 1290 | "tslib": "^2.6.2" 1291 | }, 1292 | "engines": { 1293 | "node": ">=18" 1294 | } 1295 | }, 1296 | "node_modules/@polkadot/x-fetch/node_modules/node-fetch": { 1297 | "version": "3.3.2", 1298 | "dev": true, 1299 | "license": "MIT", 1300 | "dependencies": { 1301 | "data-uri-to-buffer": "^4.0.0", 1302 | "fetch-blob": "^3.1.4", 1303 | "formdata-polyfill": "^4.0.10" 1304 | }, 1305 | "engines": { 1306 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1307 | }, 1308 | "funding": { 1309 | "type": "opencollective", 1310 | "url": "https://opencollective.com/node-fetch" 1311 | } 1312 | }, 1313 | "node_modules/@polkadot/x-global": { 1314 | "version": "12.6.2", 1315 | "dev": true, 1316 | "license": "Apache-2.0", 1317 | "dependencies": { 1318 | "tslib": "^2.6.2" 1319 | }, 1320 | "engines": { 1321 | "node": ">=18" 1322 | } 1323 | }, 1324 | "node_modules/@polkadot/x-randomvalues": { 1325 | "version": "12.6.2", 1326 | "dev": true, 1327 | "license": "Apache-2.0", 1328 | "dependencies": { 1329 | "@polkadot/x-global": "12.6.2", 1330 | "tslib": "^2.6.2" 1331 | }, 1332 | "engines": { 1333 | "node": ">=18" 1334 | }, 1335 | "peerDependencies": { 1336 | "@polkadot/util": "12.6.2", 1337 | "@polkadot/wasm-util": "*" 1338 | } 1339 | }, 1340 | "node_modules/@polkadot/x-textdecoder": { 1341 | "version": "12.6.2", 1342 | "dev": true, 1343 | "license": "Apache-2.0", 1344 | "dependencies": { 1345 | "@polkadot/x-global": "12.6.2", 1346 | "tslib": "^2.6.2" 1347 | }, 1348 | "engines": { 1349 | "node": ">=18" 1350 | } 1351 | }, 1352 | "node_modules/@polkadot/x-textencoder": { 1353 | "version": "12.6.2", 1354 | "dev": true, 1355 | "license": "Apache-2.0", 1356 | "dependencies": { 1357 | "@polkadot/x-global": "12.6.2", 1358 | "tslib": "^2.6.2" 1359 | }, 1360 | "engines": { 1361 | "node": ">=18" 1362 | } 1363 | }, 1364 | "node_modules/@polkadot/x-ws": { 1365 | "version": "12.6.2", 1366 | "dev": true, 1367 | "license": "Apache-2.0", 1368 | "dependencies": { 1369 | "@polkadot/x-global": "12.6.2", 1370 | "tslib": "^2.6.2", 1371 | "ws": "^8.15.1" 1372 | }, 1373 | "engines": { 1374 | "node": ">=18" 1375 | } 1376 | }, 1377 | "node_modules/@polkadot/x-ws/node_modules/ws": { 1378 | "version": "8.16.0", 1379 | "dev": true, 1380 | "license": "MIT", 1381 | "engines": { 1382 | "node": ">=10.0.0" 1383 | }, 1384 | "peerDependencies": { 1385 | "bufferutil": "^4.0.1", 1386 | "utf-8-validate": ">=5.0.2" 1387 | }, 1388 | "peerDependenciesMeta": { 1389 | "bufferutil": { 1390 | "optional": true 1391 | }, 1392 | "utf-8-validate": { 1393 | "optional": true 1394 | } 1395 | } 1396 | }, 1397 | "node_modules/@protobufjs/aspromise": { 1398 | "version": "1.1.2", 1399 | "dev": true, 1400 | "license": "BSD-3-Clause" 1401 | }, 1402 | "node_modules/@protobufjs/base64": { 1403 | "version": "1.1.2", 1404 | "dev": true, 1405 | "license": "BSD-3-Clause" 1406 | }, 1407 | "node_modules/@protobufjs/codegen": { 1408 | "version": "2.0.4", 1409 | "dev": true, 1410 | "license": "BSD-3-Clause" 1411 | }, 1412 | "node_modules/@protobufjs/eventemitter": { 1413 | "version": "1.1.0", 1414 | "dev": true, 1415 | "license": "BSD-3-Clause" 1416 | }, 1417 | "node_modules/@protobufjs/fetch": { 1418 | "version": "1.1.0", 1419 | "dev": true, 1420 | "license": "BSD-3-Clause", 1421 | "dependencies": { 1422 | "@protobufjs/aspromise": "^1.1.1", 1423 | "@protobufjs/inquire": "^1.1.0" 1424 | } 1425 | }, 1426 | "node_modules/@protobufjs/float": { 1427 | "version": "1.0.2", 1428 | "dev": true, 1429 | "license": "BSD-3-Clause" 1430 | }, 1431 | "node_modules/@protobufjs/inquire": { 1432 | "version": "1.1.0", 1433 | "dev": true, 1434 | "license": "BSD-3-Clause" 1435 | }, 1436 | "node_modules/@protobufjs/path": { 1437 | "version": "1.1.2", 1438 | "dev": true, 1439 | "license": "BSD-3-Clause" 1440 | }, 1441 | "node_modules/@protobufjs/pool": { 1442 | "version": "1.1.0", 1443 | "dev": true, 1444 | "license": "BSD-3-Clause" 1445 | }, 1446 | "node_modules/@protobufjs/utf8": { 1447 | "version": "1.1.0", 1448 | "dev": true, 1449 | "license": "BSD-3-Clause" 1450 | }, 1451 | "node_modules/@scure/base": { 1452 | "version": "1.1.5", 1453 | "license": "MIT", 1454 | "funding": { 1455 | "url": "https://paulmillr.com/funding/" 1456 | } 1457 | }, 1458 | "node_modules/@scure/bip32": { 1459 | "version": "1.3.2", 1460 | "license": "MIT", 1461 | "dependencies": { 1462 | "@noble/curves": "~1.2.0", 1463 | "@noble/hashes": "~1.3.2", 1464 | "@scure/base": "~1.1.2" 1465 | }, 1466 | "funding": { 1467 | "url": "https://paulmillr.com/funding/" 1468 | } 1469 | }, 1470 | "node_modules/@scure/bip39": { 1471 | "version": "1.2.1", 1472 | "license": "MIT", 1473 | "dependencies": { 1474 | "@noble/hashes": "~1.3.0", 1475 | "@scure/base": "~1.1.0" 1476 | }, 1477 | "funding": { 1478 | "url": "https://paulmillr.com/funding/" 1479 | } 1480 | }, 1481 | "node_modules/@substrate/connect": { 1482 | "version": "0.7.35", 1483 | "dev": true, 1484 | "hasInstallScript": true, 1485 | "license": "GPL-3.0-only", 1486 | "optional": true, 1487 | "dependencies": { 1488 | "@substrate/connect-extension-protocol": "^1.0.1", 1489 | "smoldot": "2.0.7" 1490 | } 1491 | }, 1492 | "node_modules/@substrate/connect-extension-protocol": { 1493 | "version": "1.0.1", 1494 | "dev": true, 1495 | "license": "GPL-3.0-only", 1496 | "optional": true 1497 | }, 1498 | "node_modules/@substrate/ss58-registry": { 1499 | "version": "1.46.0", 1500 | "dev": true, 1501 | "license": "Apache-2.0" 1502 | }, 1503 | "node_modules/@tsconfig/node10": { 1504 | "version": "1.0.9", 1505 | "dev": true, 1506 | "license": "MIT" 1507 | }, 1508 | "node_modules/@tsconfig/node12": { 1509 | "version": "1.0.11", 1510 | "dev": true, 1511 | "license": "MIT" 1512 | }, 1513 | "node_modules/@tsconfig/node14": { 1514 | "version": "1.0.3", 1515 | "dev": true, 1516 | "license": "MIT" 1517 | }, 1518 | "node_modules/@tsconfig/node16": { 1519 | "version": "1.0.4", 1520 | "dev": true, 1521 | "license": "MIT" 1522 | }, 1523 | "node_modules/@types/bn.js": { 1524 | "version": "5.1.5", 1525 | "dev": true, 1526 | "license": "MIT", 1527 | "dependencies": { 1528 | "@types/node": "*" 1529 | } 1530 | }, 1531 | "node_modules/@types/cli-progress": { 1532 | "version": "3.11.5", 1533 | "dev": true, 1534 | "license": "MIT", 1535 | "dependencies": { 1536 | "@types/node": "*" 1537 | } 1538 | }, 1539 | "node_modules/@types/eslint": { 1540 | "version": "8.56.2", 1541 | "dev": true, 1542 | "license": "MIT", 1543 | "dependencies": { 1544 | "@types/estree": "*", 1545 | "@types/json-schema": "*" 1546 | } 1547 | }, 1548 | "node_modules/@types/eslint-scope": { 1549 | "version": "3.7.7", 1550 | "dev": true, 1551 | "license": "MIT", 1552 | "dependencies": { 1553 | "@types/eslint": "*", 1554 | "@types/estree": "*" 1555 | } 1556 | }, 1557 | "node_modules/@types/estree": { 1558 | "version": "1.0.5", 1559 | "dev": true, 1560 | "license": "MIT" 1561 | }, 1562 | "node_modules/@types/json-schema": { 1563 | "version": "7.0.15", 1564 | "dev": true, 1565 | "license": "MIT" 1566 | }, 1567 | "node_modules/@types/node": { 1568 | "version": "20.11.16", 1569 | "dev": true, 1570 | "license": "MIT", 1571 | "dependencies": { 1572 | "undici-types": "~5.26.4" 1573 | } 1574 | }, 1575 | "node_modules/@types/node-fetch": { 1576 | "version": "2.6.11", 1577 | "dev": true, 1578 | "license": "MIT", 1579 | "dependencies": { 1580 | "@types/node": "*", 1581 | "form-data": "^4.0.0" 1582 | } 1583 | }, 1584 | "node_modules/@types/prettier": { 1585 | "version": "2.7.3", 1586 | "dev": true, 1587 | "license": "MIT" 1588 | }, 1589 | "node_modules/@webassemblyjs/ast": { 1590 | "version": "1.11.6", 1591 | "dev": true, 1592 | "license": "MIT", 1593 | "dependencies": { 1594 | "@webassemblyjs/helper-numbers": "1.11.6", 1595 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6" 1596 | } 1597 | }, 1598 | "node_modules/@webassemblyjs/floating-point-hex-parser": { 1599 | "version": "1.11.6", 1600 | "dev": true, 1601 | "license": "MIT" 1602 | }, 1603 | "node_modules/@webassemblyjs/helper-api-error": { 1604 | "version": "1.11.6", 1605 | "dev": true, 1606 | "license": "MIT" 1607 | }, 1608 | "node_modules/@webassemblyjs/helper-buffer": { 1609 | "version": "1.11.6", 1610 | "dev": true, 1611 | "license": "MIT" 1612 | }, 1613 | "node_modules/@webassemblyjs/helper-numbers": { 1614 | "version": "1.11.6", 1615 | "dev": true, 1616 | "license": "MIT", 1617 | "dependencies": { 1618 | "@webassemblyjs/floating-point-hex-parser": "1.11.6", 1619 | "@webassemblyjs/helper-api-error": "1.11.6", 1620 | "@xtuc/long": "4.2.2" 1621 | } 1622 | }, 1623 | "node_modules/@webassemblyjs/helper-wasm-bytecode": { 1624 | "version": "1.11.6", 1625 | "dev": true, 1626 | "license": "MIT" 1627 | }, 1628 | "node_modules/@webassemblyjs/helper-wasm-section": { 1629 | "version": "1.11.6", 1630 | "dev": true, 1631 | "license": "MIT", 1632 | "dependencies": { 1633 | "@webassemblyjs/ast": "1.11.6", 1634 | "@webassemblyjs/helper-buffer": "1.11.6", 1635 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1636 | "@webassemblyjs/wasm-gen": "1.11.6" 1637 | } 1638 | }, 1639 | "node_modules/@webassemblyjs/ieee754": { 1640 | "version": "1.11.6", 1641 | "dev": true, 1642 | "license": "MIT", 1643 | "dependencies": { 1644 | "@xtuc/ieee754": "^1.2.0" 1645 | } 1646 | }, 1647 | "node_modules/@webassemblyjs/leb128": { 1648 | "version": "1.11.6", 1649 | "dev": true, 1650 | "license": "Apache-2.0", 1651 | "dependencies": { 1652 | "@xtuc/long": "4.2.2" 1653 | } 1654 | }, 1655 | "node_modules/@webassemblyjs/utf8": { 1656 | "version": "1.11.6", 1657 | "dev": true, 1658 | "license": "MIT" 1659 | }, 1660 | "node_modules/@webassemblyjs/wasm-edit": { 1661 | "version": "1.11.6", 1662 | "dev": true, 1663 | "license": "MIT", 1664 | "dependencies": { 1665 | "@webassemblyjs/ast": "1.11.6", 1666 | "@webassemblyjs/helper-buffer": "1.11.6", 1667 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1668 | "@webassemblyjs/helper-wasm-section": "1.11.6", 1669 | "@webassemblyjs/wasm-gen": "1.11.6", 1670 | "@webassemblyjs/wasm-opt": "1.11.6", 1671 | "@webassemblyjs/wasm-parser": "1.11.6", 1672 | "@webassemblyjs/wast-printer": "1.11.6" 1673 | } 1674 | }, 1675 | "node_modules/@webassemblyjs/wasm-gen": { 1676 | "version": "1.11.6", 1677 | "dev": true, 1678 | "license": "MIT", 1679 | "dependencies": { 1680 | "@webassemblyjs/ast": "1.11.6", 1681 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1682 | "@webassemblyjs/ieee754": "1.11.6", 1683 | "@webassemblyjs/leb128": "1.11.6", 1684 | "@webassemblyjs/utf8": "1.11.6" 1685 | } 1686 | }, 1687 | "node_modules/@webassemblyjs/wasm-opt": { 1688 | "version": "1.11.6", 1689 | "dev": true, 1690 | "license": "MIT", 1691 | "dependencies": { 1692 | "@webassemblyjs/ast": "1.11.6", 1693 | "@webassemblyjs/helper-buffer": "1.11.6", 1694 | "@webassemblyjs/wasm-gen": "1.11.6", 1695 | "@webassemblyjs/wasm-parser": "1.11.6" 1696 | } 1697 | }, 1698 | "node_modules/@webassemblyjs/wasm-parser": { 1699 | "version": "1.11.6", 1700 | "dev": true, 1701 | "license": "MIT", 1702 | "dependencies": { 1703 | "@webassemblyjs/ast": "1.11.6", 1704 | "@webassemblyjs/helper-api-error": "1.11.6", 1705 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1706 | "@webassemblyjs/ieee754": "1.11.6", 1707 | "@webassemblyjs/leb128": "1.11.6", 1708 | "@webassemblyjs/utf8": "1.11.6" 1709 | } 1710 | }, 1711 | "node_modules/@webassemblyjs/wast-printer": { 1712 | "version": "1.11.6", 1713 | "dev": true, 1714 | "license": "MIT", 1715 | "dependencies": { 1716 | "@webassemblyjs/ast": "1.11.6", 1717 | "@xtuc/long": "4.2.2" 1718 | } 1719 | }, 1720 | "node_modules/@xtuc/ieee754": { 1721 | "version": "1.2.0", 1722 | "dev": true, 1723 | "license": "BSD-3-Clause" 1724 | }, 1725 | "node_modules/@xtuc/long": { 1726 | "version": "4.2.2", 1727 | "dev": true, 1728 | "license": "Apache-2.0" 1729 | }, 1730 | "node_modules/abitype": { 1731 | "version": "1.0.0", 1732 | "license": "MIT", 1733 | "peer": true, 1734 | "funding": { 1735 | "url": "https://github.com/sponsors/wevm" 1736 | }, 1737 | "peerDependencies": { 1738 | "typescript": ">=5.0.4", 1739 | "zod": "^3 >=3.22.0" 1740 | }, 1741 | "peerDependenciesMeta": { 1742 | "typescript": { 1743 | "optional": true 1744 | }, 1745 | "zod": { 1746 | "optional": true 1747 | } 1748 | } 1749 | }, 1750 | "node_modules/acorn": { 1751 | "version": "8.11.3", 1752 | "dev": true, 1753 | "license": "MIT", 1754 | "bin": { 1755 | "acorn": "bin/acorn" 1756 | }, 1757 | "engines": { 1758 | "node": ">=0.4.0" 1759 | } 1760 | }, 1761 | "node_modules/acorn-import-assertions": { 1762 | "version": "1.9.0", 1763 | "dev": true, 1764 | "license": "MIT", 1765 | "peerDependencies": { 1766 | "acorn": "^8" 1767 | } 1768 | }, 1769 | "node_modules/acorn-walk": { 1770 | "version": "8.3.2", 1771 | "dev": true, 1772 | "license": "MIT", 1773 | "engines": { 1774 | "node": ">=0.4.0" 1775 | } 1776 | }, 1777 | "node_modules/aes-js": { 1778 | "version": "4.0.0-beta.5", 1779 | "dev": true, 1780 | "license": "MIT" 1781 | }, 1782 | "node_modules/ajv": { 1783 | "version": "6.12.6", 1784 | "dev": true, 1785 | "license": "MIT", 1786 | "dependencies": { 1787 | "fast-deep-equal": "^3.1.1", 1788 | "fast-json-stable-stringify": "^2.0.0", 1789 | "json-schema-traverse": "^0.4.1", 1790 | "uri-js": "^4.2.2" 1791 | }, 1792 | "funding": { 1793 | "type": "github", 1794 | "url": "https://github.com/sponsors/epoberezkin" 1795 | } 1796 | }, 1797 | "node_modules/ajv-keywords": { 1798 | "version": "3.5.2", 1799 | "dev": true, 1800 | "license": "MIT", 1801 | "peerDependencies": { 1802 | "ajv": "^6.9.1" 1803 | } 1804 | }, 1805 | "node_modules/ansi-escapes": { 1806 | "version": "4.3.2", 1807 | "dev": true, 1808 | "license": "MIT", 1809 | "dependencies": { 1810 | "type-fest": "^0.21.3" 1811 | }, 1812 | "engines": { 1813 | "node": ">=8" 1814 | }, 1815 | "funding": { 1816 | "url": "https://github.com/sponsors/sindresorhus" 1817 | } 1818 | }, 1819 | "node_modules/ansi-regex": { 1820 | "version": "5.0.1", 1821 | "dev": true, 1822 | "license": "MIT", 1823 | "engines": { 1824 | "node": ">=8" 1825 | } 1826 | }, 1827 | "node_modules/ansi-styles": { 1828 | "version": "4.3.0", 1829 | "dev": true, 1830 | "license": "MIT", 1831 | "dependencies": { 1832 | "color-convert": "^2.0.1" 1833 | }, 1834 | "engines": { 1835 | "node": ">=8" 1836 | }, 1837 | "funding": { 1838 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1839 | } 1840 | }, 1841 | "node_modules/ansicolors": { 1842 | "version": "0.3.2", 1843 | "dev": true, 1844 | "license": "MIT" 1845 | }, 1846 | "node_modules/arg": { 1847 | "version": "4.1.3", 1848 | "dev": true, 1849 | "license": "MIT" 1850 | }, 1851 | "node_modules/argparse": { 1852 | "version": "1.0.10", 1853 | "dev": true, 1854 | "license": "MIT", 1855 | "dependencies": { 1856 | "sprintf-js": "~1.0.2" 1857 | } 1858 | }, 1859 | "node_modules/array-back": { 1860 | "version": "3.1.0", 1861 | "dev": true, 1862 | "license": "MIT", 1863 | "engines": { 1864 | "node": ">=6" 1865 | } 1866 | }, 1867 | "node_modules/array-union": { 1868 | "version": "2.1.0", 1869 | "dev": true, 1870 | "license": "MIT", 1871 | "engines": { 1872 | "node": ">=8" 1873 | } 1874 | }, 1875 | "node_modules/astral-regex": { 1876 | "version": "2.0.0", 1877 | "dev": true, 1878 | "license": "MIT", 1879 | "engines": { 1880 | "node": ">=8" 1881 | } 1882 | }, 1883 | "node_modules/async": { 1884 | "version": "3.2.5", 1885 | "dev": true, 1886 | "license": "MIT" 1887 | }, 1888 | "node_modules/asynckit": { 1889 | "version": "0.4.0", 1890 | "dev": true, 1891 | "license": "MIT" 1892 | }, 1893 | "node_modules/balanced-match": { 1894 | "version": "1.0.2", 1895 | "dev": true, 1896 | "license": "MIT" 1897 | }, 1898 | "node_modules/base64-js": { 1899 | "version": "1.5.1", 1900 | "dev": true, 1901 | "funding": [ 1902 | { 1903 | "type": "github", 1904 | "url": "https://github.com/sponsors/feross" 1905 | }, 1906 | { 1907 | "type": "patreon", 1908 | "url": "https://www.patreon.com/feross" 1909 | }, 1910 | { 1911 | "type": "consulting", 1912 | "url": "https://feross.org/support" 1913 | } 1914 | ], 1915 | "license": "MIT" 1916 | }, 1917 | "node_modules/big.js": { 1918 | "version": "5.2.2", 1919 | "dev": true, 1920 | "license": "MIT", 1921 | "engines": { 1922 | "node": "*" 1923 | } 1924 | }, 1925 | "node_modules/bl": { 1926 | "version": "4.1.0", 1927 | "dev": true, 1928 | "license": "MIT", 1929 | "dependencies": { 1930 | "buffer": "^5.5.0", 1931 | "inherits": "^2.0.4", 1932 | "readable-stream": "^3.4.0" 1933 | } 1934 | }, 1935 | "node_modules/bn.js": { 1936 | "version": "5.2.1", 1937 | "dev": true, 1938 | "license": "MIT" 1939 | }, 1940 | "node_modules/brace-expansion": { 1941 | "version": "2.0.1", 1942 | "dev": true, 1943 | "license": "MIT", 1944 | "dependencies": { 1945 | "balanced-match": "^1.0.0" 1946 | } 1947 | }, 1948 | "node_modules/braces": { 1949 | "version": "3.0.2", 1950 | "dev": true, 1951 | "license": "MIT", 1952 | "dependencies": { 1953 | "fill-range": "^7.0.1" 1954 | }, 1955 | "engines": { 1956 | "node": ">=8" 1957 | } 1958 | }, 1959 | "node_modules/browserify-aes": { 1960 | "version": "1.2.0", 1961 | "dev": true, 1962 | "license": "MIT", 1963 | "dependencies": { 1964 | "buffer-xor": "^1.0.3", 1965 | "cipher-base": "^1.0.0", 1966 | "create-hash": "^1.1.0", 1967 | "evp_bytestokey": "^1.0.3", 1968 | "inherits": "^2.0.1", 1969 | "safe-buffer": "^5.0.1" 1970 | } 1971 | }, 1972 | "node_modules/browserify-cipher": { 1973 | "version": "1.0.1", 1974 | "dev": true, 1975 | "license": "MIT", 1976 | "dependencies": { 1977 | "browserify-aes": "^1.0.4", 1978 | "browserify-des": "^1.0.0", 1979 | "evp_bytestokey": "^1.0.0" 1980 | } 1981 | }, 1982 | "node_modules/browserify-des": { 1983 | "version": "1.0.2", 1984 | "dev": true, 1985 | "license": "MIT", 1986 | "dependencies": { 1987 | "cipher-base": "^1.0.1", 1988 | "des.js": "^1.0.0", 1989 | "inherits": "^2.0.1", 1990 | "safe-buffer": "^5.1.2" 1991 | } 1992 | }, 1993 | "node_modules/browserslist": { 1994 | "version": "4.22.3", 1995 | "dev": true, 1996 | "funding": [ 1997 | { 1998 | "type": "opencollective", 1999 | "url": "https://opencollective.com/browserslist" 2000 | }, 2001 | { 2002 | "type": "tidelift", 2003 | "url": "https://tidelift.com/funding/github/npm/browserslist" 2004 | }, 2005 | { 2006 | "type": "github", 2007 | "url": "https://github.com/sponsors/ai" 2008 | } 2009 | ], 2010 | "license": "MIT", 2011 | "dependencies": { 2012 | "caniuse-lite": "^1.0.30001580", 2013 | "electron-to-chromium": "^1.4.648", 2014 | "node-releases": "^2.0.14", 2015 | "update-browserslist-db": "^1.0.13" 2016 | }, 2017 | "bin": { 2018 | "browserslist": "cli.js" 2019 | }, 2020 | "engines": { 2021 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 2022 | } 2023 | }, 2024 | "node_modules/buffer": { 2025 | "version": "5.7.1", 2026 | "dev": true, 2027 | "funding": [ 2028 | { 2029 | "type": "github", 2030 | "url": "https://github.com/sponsors/feross" 2031 | }, 2032 | { 2033 | "type": "patreon", 2034 | "url": "https://www.patreon.com/feross" 2035 | }, 2036 | { 2037 | "type": "consulting", 2038 | "url": "https://feross.org/support" 2039 | } 2040 | ], 2041 | "license": "MIT", 2042 | "dependencies": { 2043 | "base64-js": "^1.3.1", 2044 | "ieee754": "^1.1.13" 2045 | } 2046 | }, 2047 | "node_modules/buffer-from": { 2048 | "version": "1.1.2", 2049 | "dev": true, 2050 | "license": "MIT" 2051 | }, 2052 | "node_modules/buffer-xor": { 2053 | "version": "1.0.3", 2054 | "dev": true, 2055 | "license": "MIT" 2056 | }, 2057 | "node_modules/caniuse-lite": { 2058 | "version": "1.0.30001584", 2059 | "dev": true, 2060 | "funding": [ 2061 | { 2062 | "type": "opencollective", 2063 | "url": "https://opencollective.com/browserslist" 2064 | }, 2065 | { 2066 | "type": "tidelift", 2067 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 2068 | }, 2069 | { 2070 | "type": "github", 2071 | "url": "https://github.com/sponsors/ai" 2072 | } 2073 | ], 2074 | "license": "CC-BY-4.0" 2075 | }, 2076 | "node_modules/cardinal": { 2077 | "version": "2.1.1", 2078 | "dev": true, 2079 | "license": "MIT", 2080 | "dependencies": { 2081 | "ansicolors": "~0.3.2", 2082 | "redeyed": "~2.1.0" 2083 | }, 2084 | "bin": { 2085 | "cdl": "bin/cdl.js" 2086 | } 2087 | }, 2088 | "node_modules/chalk": { 2089 | "version": "4.1.2", 2090 | "dev": true, 2091 | "license": "MIT", 2092 | "dependencies": { 2093 | "ansi-styles": "^4.1.0", 2094 | "supports-color": "^7.1.0" 2095 | }, 2096 | "engines": { 2097 | "node": ">=10" 2098 | }, 2099 | "funding": { 2100 | "url": "https://github.com/chalk/chalk?sponsor=1" 2101 | } 2102 | }, 2103 | "node_modules/chardet": { 2104 | "version": "0.7.0", 2105 | "dev": true, 2106 | "license": "MIT" 2107 | }, 2108 | "node_modules/chrome-trace-event": { 2109 | "version": "1.0.3", 2110 | "dev": true, 2111 | "license": "MIT", 2112 | "engines": { 2113 | "node": ">=6.0" 2114 | } 2115 | }, 2116 | "node_modules/cipher-base": { 2117 | "version": "1.0.4", 2118 | "dev": true, 2119 | "license": "MIT", 2120 | "dependencies": { 2121 | "inherits": "^2.0.1", 2122 | "safe-buffer": "^5.0.1" 2123 | } 2124 | }, 2125 | "node_modules/clean-stack": { 2126 | "version": "3.0.1", 2127 | "dev": true, 2128 | "license": "MIT", 2129 | "dependencies": { 2130 | "escape-string-regexp": "4.0.0" 2131 | }, 2132 | "engines": { 2133 | "node": ">=10" 2134 | }, 2135 | "funding": { 2136 | "url": "https://github.com/sponsors/sindresorhus" 2137 | } 2138 | }, 2139 | "node_modules/clean-stack/node_modules/escape-string-regexp": { 2140 | "version": "4.0.0", 2141 | "dev": true, 2142 | "license": "MIT", 2143 | "engines": { 2144 | "node": ">=10" 2145 | }, 2146 | "funding": { 2147 | "url": "https://github.com/sponsors/sindresorhus" 2148 | } 2149 | }, 2150 | "node_modules/cli-cursor": { 2151 | "version": "3.1.0", 2152 | "dev": true, 2153 | "license": "MIT", 2154 | "dependencies": { 2155 | "restore-cursor": "^3.1.0" 2156 | }, 2157 | "engines": { 2158 | "node": ">=8" 2159 | } 2160 | }, 2161 | "node_modules/cli-progress": { 2162 | "version": "3.12.0", 2163 | "dev": true, 2164 | "license": "MIT", 2165 | "dependencies": { 2166 | "string-width": "^4.2.3" 2167 | }, 2168 | "engines": { 2169 | "node": ">=4" 2170 | } 2171 | }, 2172 | "node_modules/cli-spinners": { 2173 | "version": "2.9.2", 2174 | "dev": true, 2175 | "license": "MIT", 2176 | "engines": { 2177 | "node": ">=6" 2178 | }, 2179 | "funding": { 2180 | "url": "https://github.com/sponsors/sindresorhus" 2181 | } 2182 | }, 2183 | "node_modules/cli-width": { 2184 | "version": "3.0.0", 2185 | "dev": true, 2186 | "license": "ISC", 2187 | "engines": { 2188 | "node": ">= 10" 2189 | } 2190 | }, 2191 | "node_modules/clone": { 2192 | "version": "1.0.4", 2193 | "dev": true, 2194 | "license": "MIT", 2195 | "engines": { 2196 | "node": ">=0.8" 2197 | } 2198 | }, 2199 | "node_modules/clone-deep": { 2200 | "version": "4.0.1", 2201 | "dev": true, 2202 | "license": "MIT", 2203 | "dependencies": { 2204 | "is-plain-object": "^2.0.4", 2205 | "kind-of": "^6.0.2", 2206 | "shallow-clone": "^3.0.0" 2207 | }, 2208 | "engines": { 2209 | "node": ">=6" 2210 | } 2211 | }, 2212 | "node_modules/color-convert": { 2213 | "version": "2.0.1", 2214 | "dev": true, 2215 | "license": "MIT", 2216 | "dependencies": { 2217 | "color-name": "~1.1.4" 2218 | }, 2219 | "engines": { 2220 | "node": ">=7.0.0" 2221 | } 2222 | }, 2223 | "node_modules/color-name": { 2224 | "version": "1.1.4", 2225 | "dev": true, 2226 | "license": "MIT" 2227 | }, 2228 | "node_modules/combined-stream": { 2229 | "version": "1.0.8", 2230 | "dev": true, 2231 | "license": "MIT", 2232 | "dependencies": { 2233 | "delayed-stream": "~1.0.0" 2234 | }, 2235 | "engines": { 2236 | "node": ">= 0.8" 2237 | } 2238 | }, 2239 | "node_modules/command-line-args": { 2240 | "version": "5.2.1", 2241 | "dev": true, 2242 | "license": "MIT", 2243 | "dependencies": { 2244 | "array-back": "^3.1.0", 2245 | "find-replace": "^3.0.0", 2246 | "lodash.camelcase": "^4.3.0", 2247 | "typical": "^4.0.0" 2248 | }, 2249 | "engines": { 2250 | "node": ">=4.0.0" 2251 | } 2252 | }, 2253 | "node_modules/command-line-args/node_modules/typical": { 2254 | "version": "4.0.0", 2255 | "dev": true, 2256 | "license": "MIT", 2257 | "engines": { 2258 | "node": ">=8" 2259 | } 2260 | }, 2261 | "node_modules/command-line-usage": { 2262 | "version": "6.1.3", 2263 | "dev": true, 2264 | "license": "MIT", 2265 | "dependencies": { 2266 | "array-back": "^4.0.2", 2267 | "chalk": "^2.4.2", 2268 | "table-layout": "^1.0.2", 2269 | "typical": "^5.2.0" 2270 | }, 2271 | "engines": { 2272 | "node": ">=8.0.0" 2273 | } 2274 | }, 2275 | "node_modules/command-line-usage/node_modules/ansi-styles": { 2276 | "version": "3.2.1", 2277 | "dev": true, 2278 | "license": "MIT", 2279 | "dependencies": { 2280 | "color-convert": "^1.9.0" 2281 | }, 2282 | "engines": { 2283 | "node": ">=4" 2284 | } 2285 | }, 2286 | "node_modules/command-line-usage/node_modules/array-back": { 2287 | "version": "4.0.2", 2288 | "dev": true, 2289 | "license": "MIT", 2290 | "engines": { 2291 | "node": ">=8" 2292 | } 2293 | }, 2294 | "node_modules/command-line-usage/node_modules/chalk": { 2295 | "version": "2.4.2", 2296 | "dev": true, 2297 | "license": "MIT", 2298 | "dependencies": { 2299 | "ansi-styles": "^3.2.1", 2300 | "escape-string-regexp": "^1.0.5", 2301 | "supports-color": "^5.3.0" 2302 | }, 2303 | "engines": { 2304 | "node": ">=4" 2305 | } 2306 | }, 2307 | "node_modules/command-line-usage/node_modules/color-convert": { 2308 | "version": "1.9.3", 2309 | "dev": true, 2310 | "license": "MIT", 2311 | "dependencies": { 2312 | "color-name": "1.1.3" 2313 | } 2314 | }, 2315 | "node_modules/command-line-usage/node_modules/color-name": { 2316 | "version": "1.1.3", 2317 | "dev": true, 2318 | "license": "MIT" 2319 | }, 2320 | "node_modules/command-line-usage/node_modules/has-flag": { 2321 | "version": "3.0.0", 2322 | "dev": true, 2323 | "license": "MIT", 2324 | "engines": { 2325 | "node": ">=4" 2326 | } 2327 | }, 2328 | "node_modules/command-line-usage/node_modules/supports-color": { 2329 | "version": "5.5.0", 2330 | "dev": true, 2331 | "license": "MIT", 2332 | "dependencies": { 2333 | "has-flag": "^3.0.0" 2334 | }, 2335 | "engines": { 2336 | "node": ">=4" 2337 | } 2338 | }, 2339 | "node_modules/commander": { 2340 | "version": "2.20.3", 2341 | "dev": true, 2342 | "license": "MIT" 2343 | }, 2344 | "node_modules/concat-map": { 2345 | "version": "0.0.1", 2346 | "dev": true, 2347 | "license": "MIT" 2348 | }, 2349 | "node_modules/create-hash": { 2350 | "version": "1.2.0", 2351 | "dev": true, 2352 | "license": "MIT", 2353 | "dependencies": { 2354 | "cipher-base": "^1.0.1", 2355 | "inherits": "^2.0.1", 2356 | "md5.js": "^1.3.4", 2357 | "ripemd160": "^2.0.1", 2358 | "sha.js": "^2.4.0" 2359 | } 2360 | }, 2361 | "node_modules/create-require": { 2362 | "version": "1.1.1", 2363 | "dev": true, 2364 | "license": "MIT" 2365 | }, 2366 | "node_modules/cross-fetch": { 2367 | "version": "4.0.0", 2368 | "dev": true, 2369 | "license": "MIT", 2370 | "dependencies": { 2371 | "node-fetch": "^2.6.12" 2372 | } 2373 | }, 2374 | "node_modules/cross-spawn": { 2375 | "version": "7.0.3", 2376 | "dev": true, 2377 | "license": "MIT", 2378 | "dependencies": { 2379 | "path-key": "^3.1.0", 2380 | "shebang-command": "^2.0.0", 2381 | "which": "^2.0.1" 2382 | }, 2383 | "engines": { 2384 | "node": ">= 8" 2385 | } 2386 | }, 2387 | "node_modules/data-uri-to-buffer": { 2388 | "version": "4.0.1", 2389 | "dev": true, 2390 | "license": "MIT", 2391 | "engines": { 2392 | "node": ">= 12" 2393 | } 2394 | }, 2395 | "node_modules/debug": { 2396 | "version": "4.3.4", 2397 | "dev": true, 2398 | "license": "MIT", 2399 | "dependencies": { 2400 | "ms": "2.1.2" 2401 | }, 2402 | "engines": { 2403 | "node": ">=6.0" 2404 | }, 2405 | "peerDependenciesMeta": { 2406 | "supports-color": { 2407 | "optional": true 2408 | } 2409 | } 2410 | }, 2411 | "node_modules/deep-extend": { 2412 | "version": "0.6.0", 2413 | "dev": true, 2414 | "license": "MIT", 2415 | "engines": { 2416 | "node": ">=4.0.0" 2417 | } 2418 | }, 2419 | "node_modules/defaults": { 2420 | "version": "1.0.4", 2421 | "dev": true, 2422 | "license": "MIT", 2423 | "dependencies": { 2424 | "clone": "^1.0.2" 2425 | }, 2426 | "funding": { 2427 | "url": "https://github.com/sponsors/sindresorhus" 2428 | } 2429 | }, 2430 | "node_modules/delayed-stream": { 2431 | "version": "1.0.0", 2432 | "dev": true, 2433 | "license": "MIT", 2434 | "engines": { 2435 | "node": ">=0.4.0" 2436 | } 2437 | }, 2438 | "node_modules/des.js": { 2439 | "version": "1.1.0", 2440 | "dev": true, 2441 | "license": "MIT", 2442 | "dependencies": { 2443 | "inherits": "^2.0.1", 2444 | "minimalistic-assert": "^1.0.0" 2445 | } 2446 | }, 2447 | "node_modules/diff": { 2448 | "version": "4.0.2", 2449 | "dev": true, 2450 | "license": "BSD-3-Clause", 2451 | "engines": { 2452 | "node": ">=0.3.1" 2453 | } 2454 | }, 2455 | "node_modules/dir-glob": { 2456 | "version": "3.0.1", 2457 | "dev": true, 2458 | "license": "MIT", 2459 | "dependencies": { 2460 | "path-type": "^4.0.0" 2461 | }, 2462 | "engines": { 2463 | "node": ">=8" 2464 | } 2465 | }, 2466 | "node_modules/dotenv": { 2467 | "version": "16.4.1", 2468 | "dev": true, 2469 | "license": "BSD-2-Clause", 2470 | "engines": { 2471 | "node": ">=12" 2472 | }, 2473 | "funding": { 2474 | "url": "https://github.com/motdotla/dotenv?sponsor=1" 2475 | } 2476 | }, 2477 | "node_modules/ejs": { 2478 | "version": "3.1.9", 2479 | "dev": true, 2480 | "license": "Apache-2.0", 2481 | "dependencies": { 2482 | "jake": "^10.8.5" 2483 | }, 2484 | "bin": { 2485 | "ejs": "bin/cli.js" 2486 | }, 2487 | "engines": { 2488 | "node": ">=0.10.0" 2489 | } 2490 | }, 2491 | "node_modules/electron-to-chromium": { 2492 | "version": "1.4.656", 2493 | "dev": true, 2494 | "license": "ISC" 2495 | }, 2496 | "node_modules/emoji-regex": { 2497 | "version": "8.0.0", 2498 | "dev": true, 2499 | "license": "MIT" 2500 | }, 2501 | "node_modules/emojis-list": { 2502 | "version": "3.0.0", 2503 | "dev": true, 2504 | "license": "MIT", 2505 | "engines": { 2506 | "node": ">= 4" 2507 | } 2508 | }, 2509 | "node_modules/enhanced-resolve": { 2510 | "version": "5.15.0", 2511 | "dev": true, 2512 | "license": "MIT", 2513 | "dependencies": { 2514 | "graceful-fs": "^4.2.4", 2515 | "tapable": "^2.2.0" 2516 | }, 2517 | "engines": { 2518 | "node": ">=10.13.0" 2519 | } 2520 | }, 2521 | "node_modules/es-module-lexer": { 2522 | "version": "1.4.1", 2523 | "dev": true, 2524 | "license": "MIT" 2525 | }, 2526 | "node_modules/esbuild": { 2527 | "version": "0.19.12", 2528 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", 2529 | "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", 2530 | "dev": true, 2531 | "hasInstallScript": true, 2532 | "bin": { 2533 | "esbuild": "bin/esbuild" 2534 | }, 2535 | "engines": { 2536 | "node": ">=12" 2537 | }, 2538 | "optionalDependencies": { 2539 | "@esbuild/aix-ppc64": "0.19.12", 2540 | "@esbuild/android-arm": "0.19.12", 2541 | "@esbuild/android-arm64": "0.19.12", 2542 | "@esbuild/android-x64": "0.19.12", 2543 | "@esbuild/darwin-arm64": "0.19.12", 2544 | "@esbuild/darwin-x64": "0.19.12", 2545 | "@esbuild/freebsd-arm64": "0.19.12", 2546 | "@esbuild/freebsd-x64": "0.19.12", 2547 | "@esbuild/linux-arm": "0.19.12", 2548 | "@esbuild/linux-arm64": "0.19.12", 2549 | "@esbuild/linux-ia32": "0.19.12", 2550 | "@esbuild/linux-loong64": "0.19.12", 2551 | "@esbuild/linux-mips64el": "0.19.12", 2552 | "@esbuild/linux-ppc64": "0.19.12", 2553 | "@esbuild/linux-riscv64": "0.19.12", 2554 | "@esbuild/linux-s390x": "0.19.12", 2555 | "@esbuild/linux-x64": "0.19.12", 2556 | "@esbuild/netbsd-x64": "0.19.12", 2557 | "@esbuild/openbsd-x64": "0.19.12", 2558 | "@esbuild/sunos-x64": "0.19.12", 2559 | "@esbuild/win32-arm64": "0.19.12", 2560 | "@esbuild/win32-ia32": "0.19.12", 2561 | "@esbuild/win32-x64": "0.19.12" 2562 | } 2563 | }, 2564 | "node_modules/escalade": { 2565 | "version": "3.1.1", 2566 | "dev": true, 2567 | "license": "MIT", 2568 | "engines": { 2569 | "node": ">=6" 2570 | } 2571 | }, 2572 | "node_modules/escape-string-regexp": { 2573 | "version": "1.0.5", 2574 | "dev": true, 2575 | "license": "MIT", 2576 | "engines": { 2577 | "node": ">=0.8.0" 2578 | } 2579 | }, 2580 | "node_modules/eslint-scope": { 2581 | "version": "5.1.1", 2582 | "dev": true, 2583 | "license": "BSD-2-Clause", 2584 | "dependencies": { 2585 | "esrecurse": "^4.3.0", 2586 | "estraverse": "^4.1.1" 2587 | }, 2588 | "engines": { 2589 | "node": ">=8.0.0" 2590 | } 2591 | }, 2592 | "node_modules/esprima": { 2593 | "version": "4.0.1", 2594 | "dev": true, 2595 | "license": "BSD-2-Clause", 2596 | "bin": { 2597 | "esparse": "bin/esparse.js", 2598 | "esvalidate": "bin/esvalidate.js" 2599 | }, 2600 | "engines": { 2601 | "node": ">=4" 2602 | } 2603 | }, 2604 | "node_modules/esrecurse": { 2605 | "version": "4.3.0", 2606 | "dev": true, 2607 | "license": "BSD-2-Clause", 2608 | "dependencies": { 2609 | "estraverse": "^5.2.0" 2610 | }, 2611 | "engines": { 2612 | "node": ">=4.0" 2613 | } 2614 | }, 2615 | "node_modules/esrecurse/node_modules/estraverse": { 2616 | "version": "5.3.0", 2617 | "dev": true, 2618 | "license": "BSD-2-Clause", 2619 | "engines": { 2620 | "node": ">=4.0" 2621 | } 2622 | }, 2623 | "node_modules/estraverse": { 2624 | "version": "4.3.0", 2625 | "dev": true, 2626 | "license": "BSD-2-Clause", 2627 | "engines": { 2628 | "node": ">=4.0" 2629 | } 2630 | }, 2631 | "node_modules/ethers": { 2632 | "version": "6.10.0", 2633 | "dev": true, 2634 | "funding": [ 2635 | { 2636 | "type": "individual", 2637 | "url": "https://github.com/sponsors/ethers-io/" 2638 | }, 2639 | { 2640 | "type": "individual", 2641 | "url": "https://www.buymeacoffee.com/ricmoo" 2642 | } 2643 | ], 2644 | "license": "MIT", 2645 | "dependencies": { 2646 | "@adraffy/ens-normalize": "1.10.0", 2647 | "@noble/curves": "1.2.0", 2648 | "@noble/hashes": "1.3.2", 2649 | "@types/node": "18.15.13", 2650 | "aes-js": "4.0.0-beta.5", 2651 | "tslib": "2.4.0", 2652 | "ws": "8.5.0" 2653 | }, 2654 | "engines": { 2655 | "node": ">=14.0.0" 2656 | } 2657 | }, 2658 | "node_modules/ethers/node_modules/@noble/curves": { 2659 | "version": "1.2.0", 2660 | "dev": true, 2661 | "license": "MIT", 2662 | "dependencies": { 2663 | "@noble/hashes": "1.3.2" 2664 | }, 2665 | "funding": { 2666 | "url": "https://paulmillr.com/funding/" 2667 | } 2668 | }, 2669 | "node_modules/ethers/node_modules/@noble/hashes": { 2670 | "version": "1.3.2", 2671 | "dev": true, 2672 | "license": "MIT", 2673 | "engines": { 2674 | "node": ">= 16" 2675 | }, 2676 | "funding": { 2677 | "url": "https://paulmillr.com/funding/" 2678 | } 2679 | }, 2680 | "node_modules/ethers/node_modules/@types/node": { 2681 | "version": "18.15.13", 2682 | "dev": true, 2683 | "license": "MIT" 2684 | }, 2685 | "node_modules/ethers/node_modules/tslib": { 2686 | "version": "2.4.0", 2687 | "dev": true, 2688 | "license": "0BSD" 2689 | }, 2690 | "node_modules/ethers/node_modules/ws": { 2691 | "version": "8.5.0", 2692 | "dev": true, 2693 | "license": "MIT", 2694 | "engines": { 2695 | "node": ">=10.0.0" 2696 | }, 2697 | "peerDependencies": { 2698 | "bufferutil": "^4.0.1", 2699 | "utf-8-validate": "^5.0.2" 2700 | }, 2701 | "peerDependenciesMeta": { 2702 | "bufferutil": { 2703 | "optional": true 2704 | }, 2705 | "utf-8-validate": { 2706 | "optional": true 2707 | } 2708 | } 2709 | }, 2710 | "node_modules/eventemitter3": { 2711 | "version": "5.0.1", 2712 | "dev": true, 2713 | "license": "MIT" 2714 | }, 2715 | "node_modules/events": { 2716 | "version": "3.3.0", 2717 | "dev": true, 2718 | "license": "MIT", 2719 | "engines": { 2720 | "node": ">=0.8.x" 2721 | } 2722 | }, 2723 | "node_modules/evp_bytestokey": { 2724 | "version": "1.0.3", 2725 | "dev": true, 2726 | "license": "MIT", 2727 | "dependencies": { 2728 | "md5.js": "^1.3.4", 2729 | "safe-buffer": "^5.1.1" 2730 | } 2731 | }, 2732 | "node_modules/external-editor": { 2733 | "version": "3.1.0", 2734 | "dev": true, 2735 | "license": "MIT", 2736 | "dependencies": { 2737 | "chardet": "^0.7.0", 2738 | "iconv-lite": "^0.4.24", 2739 | "tmp": "^0.0.33" 2740 | }, 2741 | "engines": { 2742 | "node": ">=4" 2743 | } 2744 | }, 2745 | "node_modules/fast-deep-equal": { 2746 | "version": "3.1.3", 2747 | "dev": true, 2748 | "license": "MIT" 2749 | }, 2750 | "node_modules/fast-glob": { 2751 | "version": "3.3.2", 2752 | "dev": true, 2753 | "license": "MIT", 2754 | "dependencies": { 2755 | "@nodelib/fs.stat": "^2.0.2", 2756 | "@nodelib/fs.walk": "^1.2.3", 2757 | "glob-parent": "^5.1.2", 2758 | "merge2": "^1.3.0", 2759 | "micromatch": "^4.0.4" 2760 | }, 2761 | "engines": { 2762 | "node": ">=8.6.0" 2763 | } 2764 | }, 2765 | "node_modules/fast-json-stable-stringify": { 2766 | "version": "2.1.0", 2767 | "dev": true, 2768 | "license": "MIT" 2769 | }, 2770 | "node_modules/fastq": { 2771 | "version": "1.17.0", 2772 | "dev": true, 2773 | "license": "ISC", 2774 | "dependencies": { 2775 | "reusify": "^1.0.4" 2776 | } 2777 | }, 2778 | "node_modules/fetch-blob": { 2779 | "version": "3.2.0", 2780 | "dev": true, 2781 | "funding": [ 2782 | { 2783 | "type": "github", 2784 | "url": "https://github.com/sponsors/jimmywarting" 2785 | }, 2786 | { 2787 | "type": "paypal", 2788 | "url": "https://paypal.me/jimmywarting" 2789 | } 2790 | ], 2791 | "license": "MIT", 2792 | "dependencies": { 2793 | "node-domexception": "^1.0.0", 2794 | "web-streams-polyfill": "^3.0.3" 2795 | }, 2796 | "engines": { 2797 | "node": "^12.20 || >= 14.13" 2798 | } 2799 | }, 2800 | "node_modules/figures": { 2801 | "version": "3.2.0", 2802 | "dev": true, 2803 | "license": "MIT", 2804 | "dependencies": { 2805 | "escape-string-regexp": "^1.0.5" 2806 | }, 2807 | "engines": { 2808 | "node": ">=8" 2809 | }, 2810 | "funding": { 2811 | "url": "https://github.com/sponsors/sindresorhus" 2812 | } 2813 | }, 2814 | "node_modules/filelist": { 2815 | "version": "1.0.4", 2816 | "dev": true, 2817 | "license": "Apache-2.0", 2818 | "dependencies": { 2819 | "minimatch": "^5.0.1" 2820 | } 2821 | }, 2822 | "node_modules/filelist/node_modules/minimatch": { 2823 | "version": "5.1.6", 2824 | "dev": true, 2825 | "license": "ISC", 2826 | "dependencies": { 2827 | "brace-expansion": "^2.0.1" 2828 | }, 2829 | "engines": { 2830 | "node": ">=10" 2831 | } 2832 | }, 2833 | "node_modules/filesize": { 2834 | "version": "10.1.0", 2835 | "dev": true, 2836 | "license": "BSD-3-Clause", 2837 | "engines": { 2838 | "node": ">= 10.4.0" 2839 | } 2840 | }, 2841 | "node_modules/fill-range": { 2842 | "version": "7.0.1", 2843 | "dev": true, 2844 | "license": "MIT", 2845 | "dependencies": { 2846 | "to-regex-range": "^5.0.1" 2847 | }, 2848 | "engines": { 2849 | "node": ">=8" 2850 | } 2851 | }, 2852 | "node_modules/find-replace": { 2853 | "version": "3.0.0", 2854 | "dev": true, 2855 | "license": "MIT", 2856 | "dependencies": { 2857 | "array-back": "^3.0.1" 2858 | }, 2859 | "engines": { 2860 | "node": ">=4.0.0" 2861 | } 2862 | }, 2863 | "node_modules/flat": { 2864 | "version": "5.0.2", 2865 | "dev": true, 2866 | "license": "BSD-3-Clause", 2867 | "bin": { 2868 | "flat": "cli.js" 2869 | } 2870 | }, 2871 | "node_modules/form-data": { 2872 | "version": "4.0.0", 2873 | "dev": true, 2874 | "license": "MIT", 2875 | "dependencies": { 2876 | "asynckit": "^0.4.0", 2877 | "combined-stream": "^1.0.8", 2878 | "mime-types": "^2.1.12" 2879 | }, 2880 | "engines": { 2881 | "node": ">= 6" 2882 | } 2883 | }, 2884 | "node_modules/formdata-polyfill": { 2885 | "version": "4.0.10", 2886 | "dev": true, 2887 | "license": "MIT", 2888 | "dependencies": { 2889 | "fetch-blob": "^3.1.2" 2890 | }, 2891 | "engines": { 2892 | "node": ">=12.20.0" 2893 | } 2894 | }, 2895 | "node_modules/fs-extra": { 2896 | "version": "7.0.1", 2897 | "dev": true, 2898 | "license": "MIT", 2899 | "dependencies": { 2900 | "graceful-fs": "^4.1.2", 2901 | "jsonfile": "^4.0.0", 2902 | "universalify": "^0.1.0" 2903 | }, 2904 | "engines": { 2905 | "node": ">=6 <7 || >=8" 2906 | } 2907 | }, 2908 | "node_modules/fs.realpath": { 2909 | "version": "1.0.0", 2910 | "dev": true, 2911 | "license": "ISC" 2912 | }, 2913 | "node_modules/fsevents": { 2914 | "version": "2.3.3", 2915 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2916 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2917 | "dev": true, 2918 | "hasInstallScript": true, 2919 | "optional": true, 2920 | "os": [ 2921 | "darwin" 2922 | ], 2923 | "engines": { 2924 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2925 | } 2926 | }, 2927 | "node_modules/get-package-type": { 2928 | "version": "0.1.0", 2929 | "dev": true, 2930 | "license": "MIT", 2931 | "engines": { 2932 | "node": ">=8.0.0" 2933 | } 2934 | }, 2935 | "node_modules/get-port": { 2936 | "version": "3.2.0", 2937 | "dev": true, 2938 | "license": "MIT", 2939 | "engines": { 2940 | "node": ">=4" 2941 | } 2942 | }, 2943 | "node_modules/get-tsconfig": { 2944 | "version": "4.7.2", 2945 | "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", 2946 | "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", 2947 | "dev": true, 2948 | "dependencies": { 2949 | "resolve-pkg-maps": "^1.0.0" 2950 | }, 2951 | "funding": { 2952 | "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 2953 | } 2954 | }, 2955 | "node_modules/glob": { 2956 | "version": "7.1.7", 2957 | "dev": true, 2958 | "license": "ISC", 2959 | "dependencies": { 2960 | "fs.realpath": "^1.0.0", 2961 | "inflight": "^1.0.4", 2962 | "inherits": "2", 2963 | "minimatch": "^3.0.4", 2964 | "once": "^1.3.0", 2965 | "path-is-absolute": "^1.0.0" 2966 | }, 2967 | "engines": { 2968 | "node": "*" 2969 | }, 2970 | "funding": { 2971 | "url": "https://github.com/sponsors/isaacs" 2972 | } 2973 | }, 2974 | "node_modules/glob-parent": { 2975 | "version": "5.1.2", 2976 | "dev": true, 2977 | "license": "ISC", 2978 | "dependencies": { 2979 | "is-glob": "^4.0.1" 2980 | }, 2981 | "engines": { 2982 | "node": ">= 6" 2983 | } 2984 | }, 2985 | "node_modules/glob-to-regexp": { 2986 | "version": "0.4.1", 2987 | "dev": true, 2988 | "license": "BSD-2-Clause" 2989 | }, 2990 | "node_modules/globby": { 2991 | "version": "11.1.0", 2992 | "dev": true, 2993 | "license": "MIT", 2994 | "dependencies": { 2995 | "array-union": "^2.1.0", 2996 | "dir-glob": "^3.0.1", 2997 | "fast-glob": "^3.2.9", 2998 | "ignore": "^5.2.0", 2999 | "merge2": "^1.4.1", 3000 | "slash": "^3.0.0" 3001 | }, 3002 | "engines": { 3003 | "node": ">=10" 3004 | }, 3005 | "funding": { 3006 | "url": "https://github.com/sponsors/sindresorhus" 3007 | } 3008 | }, 3009 | "node_modules/graceful-fs": { 3010 | "version": "4.2.11", 3011 | "dev": true, 3012 | "license": "ISC" 3013 | }, 3014 | "node_modules/has-flag": { 3015 | "version": "4.0.0", 3016 | "dev": true, 3017 | "license": "MIT", 3018 | "engines": { 3019 | "node": ">=8" 3020 | } 3021 | }, 3022 | "node_modules/hash-base": { 3023 | "version": "3.1.0", 3024 | "dev": true, 3025 | "license": "MIT", 3026 | "dependencies": { 3027 | "inherits": "^2.0.4", 3028 | "readable-stream": "^3.6.0", 3029 | "safe-buffer": "^5.2.0" 3030 | }, 3031 | "engines": { 3032 | "node": ">=4" 3033 | } 3034 | }, 3035 | "node_modules/hyperlinker": { 3036 | "version": "1.0.0", 3037 | "dev": true, 3038 | "license": "MIT", 3039 | "engines": { 3040 | "node": ">=4" 3041 | } 3042 | }, 3043 | "node_modules/iconv-lite": { 3044 | "version": "0.4.24", 3045 | "dev": true, 3046 | "license": "MIT", 3047 | "dependencies": { 3048 | "safer-buffer": ">= 2.1.2 < 3" 3049 | }, 3050 | "engines": { 3051 | "node": ">=0.10.0" 3052 | } 3053 | }, 3054 | "node_modules/ieee754": { 3055 | "version": "1.2.1", 3056 | "dev": true, 3057 | "funding": [ 3058 | { 3059 | "type": "github", 3060 | "url": "https://github.com/sponsors/feross" 3061 | }, 3062 | { 3063 | "type": "patreon", 3064 | "url": "https://www.patreon.com/feross" 3065 | }, 3066 | { 3067 | "type": "consulting", 3068 | "url": "https://feross.org/support" 3069 | } 3070 | ], 3071 | "license": "BSD-3-Clause" 3072 | }, 3073 | "node_modules/ignore": { 3074 | "version": "5.3.1", 3075 | "dev": true, 3076 | "license": "MIT", 3077 | "engines": { 3078 | "node": ">= 4" 3079 | } 3080 | }, 3081 | "node_modules/indent-string": { 3082 | "version": "4.0.0", 3083 | "dev": true, 3084 | "license": "MIT", 3085 | "engines": { 3086 | "node": ">=8" 3087 | } 3088 | }, 3089 | "node_modules/inflight": { 3090 | "version": "1.0.6", 3091 | "dev": true, 3092 | "license": "ISC", 3093 | "dependencies": { 3094 | "once": "^1.3.0", 3095 | "wrappy": "1" 3096 | } 3097 | }, 3098 | "node_modules/inherits": { 3099 | "version": "2.0.4", 3100 | "dev": true, 3101 | "license": "ISC" 3102 | }, 3103 | "node_modules/inquirer": { 3104 | "version": "8.2.6", 3105 | "dev": true, 3106 | "license": "MIT", 3107 | "dependencies": { 3108 | "ansi-escapes": "^4.2.1", 3109 | "chalk": "^4.1.1", 3110 | "cli-cursor": "^3.1.0", 3111 | "cli-width": "^3.0.0", 3112 | "external-editor": "^3.0.3", 3113 | "figures": "^3.0.0", 3114 | "lodash": "^4.17.21", 3115 | "mute-stream": "0.0.8", 3116 | "ora": "^5.4.1", 3117 | "run-async": "^2.4.0", 3118 | "rxjs": "^7.5.5", 3119 | "string-width": "^4.1.0", 3120 | "strip-ansi": "^6.0.0", 3121 | "through": "^2.3.6", 3122 | "wrap-ansi": "^6.0.1" 3123 | }, 3124 | "engines": { 3125 | "node": ">=12.0.0" 3126 | } 3127 | }, 3128 | "node_modules/is-docker": { 3129 | "version": "2.2.1", 3130 | "dev": true, 3131 | "license": "MIT", 3132 | "bin": { 3133 | "is-docker": "cli.js" 3134 | }, 3135 | "engines": { 3136 | "node": ">=8" 3137 | }, 3138 | "funding": { 3139 | "url": "https://github.com/sponsors/sindresorhus" 3140 | } 3141 | }, 3142 | "node_modules/is-extglob": { 3143 | "version": "2.1.1", 3144 | "dev": true, 3145 | "license": "MIT", 3146 | "engines": { 3147 | "node": ">=0.10.0" 3148 | } 3149 | }, 3150 | "node_modules/is-fullwidth-code-point": { 3151 | "version": "3.0.0", 3152 | "dev": true, 3153 | "license": "MIT", 3154 | "engines": { 3155 | "node": ">=8" 3156 | } 3157 | }, 3158 | "node_modules/is-glob": { 3159 | "version": "4.0.3", 3160 | "dev": true, 3161 | "license": "MIT", 3162 | "dependencies": { 3163 | "is-extglob": "^2.1.1" 3164 | }, 3165 | "engines": { 3166 | "node": ">=0.10.0" 3167 | } 3168 | }, 3169 | "node_modules/is-interactive": { 3170 | "version": "1.0.0", 3171 | "dev": true, 3172 | "license": "MIT", 3173 | "engines": { 3174 | "node": ">=8" 3175 | } 3176 | }, 3177 | "node_modules/is-number": { 3178 | "version": "7.0.0", 3179 | "dev": true, 3180 | "license": "MIT", 3181 | "engines": { 3182 | "node": ">=0.12.0" 3183 | } 3184 | }, 3185 | "node_modules/is-plain-object": { 3186 | "version": "2.0.4", 3187 | "dev": true, 3188 | "license": "MIT", 3189 | "dependencies": { 3190 | "isobject": "^3.0.1" 3191 | }, 3192 | "engines": { 3193 | "node": ">=0.10.0" 3194 | } 3195 | }, 3196 | "node_modules/is-unicode-supported": { 3197 | "version": "0.1.0", 3198 | "dev": true, 3199 | "license": "MIT", 3200 | "engines": { 3201 | "node": ">=10" 3202 | }, 3203 | "funding": { 3204 | "url": "https://github.com/sponsors/sindresorhus" 3205 | } 3206 | }, 3207 | "node_modules/is-wsl": { 3208 | "version": "2.2.0", 3209 | "dev": true, 3210 | "license": "MIT", 3211 | "dependencies": { 3212 | "is-docker": "^2.0.0" 3213 | }, 3214 | "engines": { 3215 | "node": ">=8" 3216 | } 3217 | }, 3218 | "node_modules/isexe": { 3219 | "version": "2.0.0", 3220 | "dev": true, 3221 | "license": "ISC" 3222 | }, 3223 | "node_modules/isobject": { 3224 | "version": "3.0.1", 3225 | "dev": true, 3226 | "license": "MIT", 3227 | "engines": { 3228 | "node": ">=0.10.0" 3229 | } 3230 | }, 3231 | "node_modules/isows": { 3232 | "version": "1.0.3", 3233 | "funding": [ 3234 | { 3235 | "type": "github", 3236 | "url": "https://github.com/sponsors/wagmi-dev" 3237 | } 3238 | ], 3239 | "license": "MIT", 3240 | "peerDependencies": { 3241 | "ws": "*" 3242 | } 3243 | }, 3244 | "node_modules/jake": { 3245 | "version": "10.8.7", 3246 | "dev": true, 3247 | "license": "Apache-2.0", 3248 | "dependencies": { 3249 | "async": "^3.2.3", 3250 | "chalk": "^4.0.2", 3251 | "filelist": "^1.0.4", 3252 | "minimatch": "^3.1.2" 3253 | }, 3254 | "bin": { 3255 | "jake": "bin/cli.js" 3256 | }, 3257 | "engines": { 3258 | "node": ">=10" 3259 | } 3260 | }, 3261 | "node_modules/jest-worker": { 3262 | "version": "27.5.1", 3263 | "dev": true, 3264 | "license": "MIT", 3265 | "dependencies": { 3266 | "@types/node": "*", 3267 | "merge-stream": "^2.0.0", 3268 | "supports-color": "^8.0.0" 3269 | }, 3270 | "engines": { 3271 | "node": ">= 10.13.0" 3272 | } 3273 | }, 3274 | "node_modules/jest-worker/node_modules/supports-color": { 3275 | "version": "8.1.1", 3276 | "dev": true, 3277 | "license": "MIT", 3278 | "dependencies": { 3279 | "has-flag": "^4.0.0" 3280 | }, 3281 | "engines": { 3282 | "node": ">=10" 3283 | }, 3284 | "funding": { 3285 | "url": "https://github.com/chalk/supports-color?sponsor=1" 3286 | } 3287 | }, 3288 | "node_modules/js-sha3": { 3289 | "version": "0.8.0", 3290 | "dev": true, 3291 | "license": "MIT" 3292 | }, 3293 | "node_modules/js-tokens": { 3294 | "version": "4.0.0", 3295 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3296 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3297 | "peer": true 3298 | }, 3299 | "node_modules/js-yaml": { 3300 | "version": "3.14.1", 3301 | "dev": true, 3302 | "license": "MIT", 3303 | "dependencies": { 3304 | "argparse": "^1.0.7", 3305 | "esprima": "^4.0.0" 3306 | }, 3307 | "bin": { 3308 | "js-yaml": "bin/js-yaml.js" 3309 | } 3310 | }, 3311 | "node_modules/json-parse-even-better-errors": { 3312 | "version": "2.3.1", 3313 | "dev": true, 3314 | "license": "MIT" 3315 | }, 3316 | "node_modules/json-schema-traverse": { 3317 | "version": "0.4.1", 3318 | "dev": true, 3319 | "license": "MIT" 3320 | }, 3321 | "node_modules/json-stringify-safe": { 3322 | "version": "5.0.1", 3323 | "dev": true, 3324 | "license": "ISC" 3325 | }, 3326 | "node_modules/json5": { 3327 | "version": "2.2.3", 3328 | "dev": true, 3329 | "license": "MIT", 3330 | "bin": { 3331 | "json5": "lib/cli.js" 3332 | }, 3333 | "engines": { 3334 | "node": ">=6" 3335 | } 3336 | }, 3337 | "node_modules/jsonfile": { 3338 | "version": "4.0.0", 3339 | "dev": true, 3340 | "license": "MIT", 3341 | "optionalDependencies": { 3342 | "graceful-fs": "^4.1.6" 3343 | } 3344 | }, 3345 | "node_modules/kind-of": { 3346 | "version": "6.0.3", 3347 | "dev": true, 3348 | "license": "MIT", 3349 | "engines": { 3350 | "node": ">=0.10.0" 3351 | } 3352 | }, 3353 | "node_modules/loader-runner": { 3354 | "version": "4.3.0", 3355 | "dev": true, 3356 | "license": "MIT", 3357 | "engines": { 3358 | "node": ">=6.11.5" 3359 | } 3360 | }, 3361 | "node_modules/loader-utils": { 3362 | "version": "2.0.4", 3363 | "dev": true, 3364 | "license": "MIT", 3365 | "dependencies": { 3366 | "big.js": "^5.2.2", 3367 | "emojis-list": "^3.0.0", 3368 | "json5": "^2.1.2" 3369 | }, 3370 | "engines": { 3371 | "node": ">=8.9.0" 3372 | } 3373 | }, 3374 | "node_modules/lodash": { 3375 | "version": "4.17.21", 3376 | "dev": true, 3377 | "license": "MIT" 3378 | }, 3379 | "node_modules/lodash.camelcase": { 3380 | "version": "4.3.0", 3381 | "dev": true, 3382 | "license": "MIT" 3383 | }, 3384 | "node_modules/log-symbols": { 3385 | "version": "4.1.0", 3386 | "dev": true, 3387 | "license": "MIT", 3388 | "dependencies": { 3389 | "chalk": "^4.1.0", 3390 | "is-unicode-supported": "^0.1.0" 3391 | }, 3392 | "engines": { 3393 | "node": ">=10" 3394 | }, 3395 | "funding": { 3396 | "url": "https://github.com/sponsors/sindresorhus" 3397 | } 3398 | }, 3399 | "node_modules/long": { 3400 | "version": "5.2.3", 3401 | "dev": true, 3402 | "license": "Apache-2.0" 3403 | }, 3404 | "node_modules/loose-envify": { 3405 | "version": "1.4.0", 3406 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 3407 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 3408 | "peer": true, 3409 | "dependencies": { 3410 | "js-tokens": "^3.0.0 || ^4.0.0" 3411 | }, 3412 | "bin": { 3413 | "loose-envify": "cli.js" 3414 | } 3415 | }, 3416 | "node_modules/lru-cache": { 3417 | "version": "6.0.0", 3418 | "dev": true, 3419 | "license": "ISC", 3420 | "dependencies": { 3421 | "yallist": "^4.0.0" 3422 | }, 3423 | "engines": { 3424 | "node": ">=10" 3425 | } 3426 | }, 3427 | "node_modules/make-error": { 3428 | "version": "1.3.6", 3429 | "dev": true, 3430 | "license": "ISC" 3431 | }, 3432 | "node_modules/md5.js": { 3433 | "version": "1.3.5", 3434 | "dev": true, 3435 | "license": "MIT", 3436 | "dependencies": { 3437 | "hash-base": "^3.0.0", 3438 | "inherits": "^2.0.1", 3439 | "safe-buffer": "^5.1.2" 3440 | } 3441 | }, 3442 | "node_modules/merge-stream": { 3443 | "version": "2.0.0", 3444 | "dev": true, 3445 | "license": "MIT" 3446 | }, 3447 | "node_modules/merge2": { 3448 | "version": "1.4.1", 3449 | "dev": true, 3450 | "license": "MIT", 3451 | "engines": { 3452 | "node": ">= 8" 3453 | } 3454 | }, 3455 | "node_modules/micromatch": { 3456 | "version": "4.0.5", 3457 | "dev": true, 3458 | "license": "MIT", 3459 | "dependencies": { 3460 | "braces": "^3.0.2", 3461 | "picomatch": "^2.3.1" 3462 | }, 3463 | "engines": { 3464 | "node": ">=8.6" 3465 | } 3466 | }, 3467 | "node_modules/mime-db": { 3468 | "version": "1.52.0", 3469 | "dev": true, 3470 | "license": "MIT", 3471 | "engines": { 3472 | "node": ">= 0.6" 3473 | } 3474 | }, 3475 | "node_modules/mime-types": { 3476 | "version": "2.1.35", 3477 | "dev": true, 3478 | "license": "MIT", 3479 | "dependencies": { 3480 | "mime-db": "1.52.0" 3481 | }, 3482 | "engines": { 3483 | "node": ">= 0.6" 3484 | } 3485 | }, 3486 | "node_modules/mimic-fn": { 3487 | "version": "2.1.0", 3488 | "dev": true, 3489 | "license": "MIT", 3490 | "engines": { 3491 | "node": ">=6" 3492 | } 3493 | }, 3494 | "node_modules/minimalistic-assert": { 3495 | "version": "1.0.1", 3496 | "dev": true, 3497 | "license": "ISC" 3498 | }, 3499 | "node_modules/minimatch": { 3500 | "version": "3.1.2", 3501 | "dev": true, 3502 | "license": "ISC", 3503 | "dependencies": { 3504 | "brace-expansion": "^1.1.7" 3505 | }, 3506 | "engines": { 3507 | "node": "*" 3508 | } 3509 | }, 3510 | "node_modules/minimatch/node_modules/brace-expansion": { 3511 | "version": "1.1.11", 3512 | "dev": true, 3513 | "license": "MIT", 3514 | "dependencies": { 3515 | "balanced-match": "^1.0.0", 3516 | "concat-map": "0.0.1" 3517 | } 3518 | }, 3519 | "node_modules/mkdirp": { 3520 | "version": "1.0.4", 3521 | "dev": true, 3522 | "license": "MIT", 3523 | "bin": { 3524 | "mkdirp": "bin/cmd.js" 3525 | }, 3526 | "engines": { 3527 | "node": ">=10" 3528 | } 3529 | }, 3530 | "node_modules/mock-socket": { 3531 | "version": "9.3.1", 3532 | "dev": true, 3533 | "license": "MIT", 3534 | "engines": { 3535 | "node": ">= 8" 3536 | } 3537 | }, 3538 | "node_modules/ms": { 3539 | "version": "2.1.2", 3540 | "dev": true, 3541 | "license": "MIT" 3542 | }, 3543 | "node_modules/mute-stream": { 3544 | "version": "0.0.8", 3545 | "dev": true, 3546 | "license": "ISC" 3547 | }, 3548 | "node_modules/natural-orderby": { 3549 | "version": "2.0.3", 3550 | "dev": true, 3551 | "license": "MIT", 3552 | "engines": { 3553 | "node": "*" 3554 | } 3555 | }, 3556 | "node_modules/neo-async": { 3557 | "version": "2.6.2", 3558 | "dev": true, 3559 | "license": "MIT" 3560 | }, 3561 | "node_modules/nock": { 3562 | "version": "13.5.1", 3563 | "dev": true, 3564 | "license": "MIT", 3565 | "dependencies": { 3566 | "debug": "^4.1.0", 3567 | "json-stringify-safe": "^5.0.1", 3568 | "propagate": "^2.0.0" 3569 | }, 3570 | "engines": { 3571 | "node": ">= 10.13" 3572 | } 3573 | }, 3574 | "node_modules/node-domexception": { 3575 | "version": "1.0.0", 3576 | "dev": true, 3577 | "funding": [ 3578 | { 3579 | "type": "github", 3580 | "url": "https://github.com/sponsors/jimmywarting" 3581 | }, 3582 | { 3583 | "type": "github", 3584 | "url": "https://paypal.me/jimmywarting" 3585 | } 3586 | ], 3587 | "license": "MIT", 3588 | "engines": { 3589 | "node": ">=10.5.0" 3590 | } 3591 | }, 3592 | "node_modules/node-fetch": { 3593 | "version": "2.7.0", 3594 | "dev": true, 3595 | "license": "MIT", 3596 | "dependencies": { 3597 | "whatwg-url": "^5.0.0" 3598 | }, 3599 | "engines": { 3600 | "node": "4.x || >=6.0.0" 3601 | }, 3602 | "peerDependencies": { 3603 | "encoding": "^0.1.0" 3604 | }, 3605 | "peerDependenciesMeta": { 3606 | "encoding": { 3607 | "optional": true 3608 | } 3609 | } 3610 | }, 3611 | "node_modules/node-fetch/node_modules/tr46": { 3612 | "version": "0.0.3", 3613 | "dev": true, 3614 | "license": "MIT" 3615 | }, 3616 | "node_modules/node-fetch/node_modules/webidl-conversions": { 3617 | "version": "3.0.1", 3618 | "dev": true, 3619 | "license": "BSD-2-Clause" 3620 | }, 3621 | "node_modules/node-fetch/node_modules/whatwg-url": { 3622 | "version": "5.0.0", 3623 | "dev": true, 3624 | "license": "MIT", 3625 | "dependencies": { 3626 | "tr46": "~0.0.3", 3627 | "webidl-conversions": "^3.0.0" 3628 | } 3629 | }, 3630 | "node_modules/node-releases": { 3631 | "version": "2.0.14", 3632 | "dev": true, 3633 | "license": "MIT" 3634 | }, 3635 | "node_modules/object-treeify": { 3636 | "version": "1.1.33", 3637 | "dev": true, 3638 | "license": "MIT", 3639 | "engines": { 3640 | "node": ">= 10" 3641 | } 3642 | }, 3643 | "node_modules/once": { 3644 | "version": "1.4.0", 3645 | "dev": true, 3646 | "license": "ISC", 3647 | "dependencies": { 3648 | "wrappy": "1" 3649 | } 3650 | }, 3651 | "node_modules/onetime": { 3652 | "version": "5.1.2", 3653 | "dev": true, 3654 | "license": "MIT", 3655 | "dependencies": { 3656 | "mimic-fn": "^2.1.0" 3657 | }, 3658 | "engines": { 3659 | "node": ">=6" 3660 | }, 3661 | "funding": { 3662 | "url": "https://github.com/sponsors/sindresorhus" 3663 | } 3664 | }, 3665 | "node_modules/ora": { 3666 | "version": "5.4.1", 3667 | "dev": true, 3668 | "license": "MIT", 3669 | "dependencies": { 3670 | "bl": "^4.1.0", 3671 | "chalk": "^4.1.0", 3672 | "cli-cursor": "^3.1.0", 3673 | "cli-spinners": "^2.5.0", 3674 | "is-interactive": "^1.0.0", 3675 | "is-unicode-supported": "^0.1.0", 3676 | "log-symbols": "^4.1.0", 3677 | "strip-ansi": "^6.0.0", 3678 | "wcwidth": "^1.0.1" 3679 | }, 3680 | "engines": { 3681 | "node": ">=10" 3682 | }, 3683 | "funding": { 3684 | "url": "https://github.com/sponsors/sindresorhus" 3685 | } 3686 | }, 3687 | "node_modules/os-tmpdir": { 3688 | "version": "1.0.2", 3689 | "dev": true, 3690 | "license": "MIT", 3691 | "engines": { 3692 | "node": ">=0.10.0" 3693 | } 3694 | }, 3695 | "node_modules/password-prompt": { 3696 | "version": "1.1.3", 3697 | "dev": true, 3698 | "license": "0BSD", 3699 | "dependencies": { 3700 | "ansi-escapes": "^4.3.2", 3701 | "cross-spawn": "^7.0.3" 3702 | } 3703 | }, 3704 | "node_modules/path-is-absolute": { 3705 | "version": "1.0.1", 3706 | "dev": true, 3707 | "license": "MIT", 3708 | "engines": { 3709 | "node": ">=0.10.0" 3710 | } 3711 | }, 3712 | "node_modules/path-key": { 3713 | "version": "3.1.1", 3714 | "dev": true, 3715 | "license": "MIT", 3716 | "engines": { 3717 | "node": ">=8" 3718 | } 3719 | }, 3720 | "node_modules/path-type": { 3721 | "version": "4.0.0", 3722 | "dev": true, 3723 | "license": "MIT", 3724 | "engines": { 3725 | "node": ">=8" 3726 | } 3727 | }, 3728 | "node_modules/picocolors": { 3729 | "version": "1.0.0", 3730 | "dev": true, 3731 | "license": "ISC" 3732 | }, 3733 | "node_modules/picomatch": { 3734 | "version": "2.3.1", 3735 | "dev": true, 3736 | "license": "MIT", 3737 | "engines": { 3738 | "node": ">=8.6" 3739 | }, 3740 | "funding": { 3741 | "url": "https://github.com/sponsors/jonschlinkert" 3742 | } 3743 | }, 3744 | "node_modules/prettier": { 3745 | "version": "2.8.8", 3746 | "dev": true, 3747 | "license": "MIT", 3748 | "bin": { 3749 | "prettier": "bin-prettier.js" 3750 | }, 3751 | "engines": { 3752 | "node": ">=10.13.0" 3753 | }, 3754 | "funding": { 3755 | "url": "https://github.com/prettier/prettier?sponsor=1" 3756 | } 3757 | }, 3758 | "node_modules/propagate": { 3759 | "version": "2.0.1", 3760 | "dev": true, 3761 | "license": "MIT", 3762 | "engines": { 3763 | "node": ">= 8" 3764 | } 3765 | }, 3766 | "node_modules/protobufjs": { 3767 | "version": "7.2.6", 3768 | "dev": true, 3769 | "hasInstallScript": true, 3770 | "license": "BSD-3-Clause", 3771 | "dependencies": { 3772 | "@protobufjs/aspromise": "^1.1.2", 3773 | "@protobufjs/base64": "^1.1.2", 3774 | "@protobufjs/codegen": "^2.0.4", 3775 | "@protobufjs/eventemitter": "^1.1.0", 3776 | "@protobufjs/fetch": "^1.1.0", 3777 | "@protobufjs/float": "^1.0.2", 3778 | "@protobufjs/inquire": "^1.1.0", 3779 | "@protobufjs/path": "^1.1.2", 3780 | "@protobufjs/pool": "^1.1.0", 3781 | "@protobufjs/utf8": "^1.1.0", 3782 | "@types/node": ">=13.7.0", 3783 | "long": "^5.0.0" 3784 | }, 3785 | "engines": { 3786 | "node": ">=12.0.0" 3787 | } 3788 | }, 3789 | "node_modules/punycode": { 3790 | "version": "2.3.1", 3791 | "dev": true, 3792 | "license": "MIT", 3793 | "engines": { 3794 | "node": ">=6" 3795 | } 3796 | }, 3797 | "node_modules/queue-microtask": { 3798 | "version": "1.2.3", 3799 | "dev": true, 3800 | "funding": [ 3801 | { 3802 | "type": "github", 3803 | "url": "https://github.com/sponsors/feross" 3804 | }, 3805 | { 3806 | "type": "patreon", 3807 | "url": "https://www.patreon.com/feross" 3808 | }, 3809 | { 3810 | "type": "consulting", 3811 | "url": "https://feross.org/support" 3812 | } 3813 | ], 3814 | "license": "MIT" 3815 | }, 3816 | "node_modules/quickjs-emscripten": { 3817 | "version": "0.23.0", 3818 | "dev": true, 3819 | "license": "MIT" 3820 | }, 3821 | "node_modules/quickjs-emscripten-sync": { 3822 | "version": "1.5.2", 3823 | "dev": true, 3824 | "license": "MIT", 3825 | "engines": { 3826 | "node": ">=12" 3827 | }, 3828 | "peerDependencies": { 3829 | "quickjs-emscripten": "*" 3830 | } 3831 | }, 3832 | "node_modules/ramda": { 3833 | "version": "0.29.1", 3834 | "dev": true, 3835 | "license": "MIT", 3836 | "funding": { 3837 | "type": "opencollective", 3838 | "url": "https://opencollective.com/ramda" 3839 | } 3840 | }, 3841 | "node_modules/randombytes": { 3842 | "version": "2.1.0", 3843 | "dev": true, 3844 | "license": "MIT", 3845 | "dependencies": { 3846 | "safe-buffer": "^5.1.0" 3847 | } 3848 | }, 3849 | "node_modules/react": { 3850 | "version": "18.2.0", 3851 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 3852 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 3853 | "peer": true, 3854 | "dependencies": { 3855 | "loose-envify": "^1.1.0" 3856 | }, 3857 | "engines": { 3858 | "node": ">=0.10.0" 3859 | } 3860 | }, 3861 | "node_modules/react-dom": { 3862 | "version": "18.2.0", 3863 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 3864 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 3865 | "peer": true, 3866 | "dependencies": { 3867 | "loose-envify": "^1.1.0", 3868 | "scheduler": "^0.23.0" 3869 | }, 3870 | "peerDependencies": { 3871 | "react": "^18.2.0" 3872 | } 3873 | }, 3874 | "node_modules/readable-stream": { 3875 | "version": "3.6.2", 3876 | "dev": true, 3877 | "license": "MIT", 3878 | "dependencies": { 3879 | "inherits": "^2.0.3", 3880 | "string_decoder": "^1.1.1", 3881 | "util-deprecate": "^1.0.1" 3882 | }, 3883 | "engines": { 3884 | "node": ">= 6" 3885 | } 3886 | }, 3887 | "node_modules/redeyed": { 3888 | "version": "2.1.1", 3889 | "dev": true, 3890 | "license": "MIT", 3891 | "dependencies": { 3892 | "esprima": "~4.0.0" 3893 | } 3894 | }, 3895 | "node_modules/reduce-flatten": { 3896 | "version": "2.0.0", 3897 | "dev": true, 3898 | "license": "MIT", 3899 | "engines": { 3900 | "node": ">=6" 3901 | } 3902 | }, 3903 | "node_modules/resolve-pkg-maps": { 3904 | "version": "1.0.0", 3905 | "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 3906 | "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 3907 | "dev": true, 3908 | "funding": { 3909 | "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 3910 | } 3911 | }, 3912 | "node_modules/restore-cursor": { 3913 | "version": "3.1.0", 3914 | "dev": true, 3915 | "license": "MIT", 3916 | "dependencies": { 3917 | "onetime": "^5.1.0", 3918 | "signal-exit": "^3.0.2" 3919 | }, 3920 | "engines": { 3921 | "node": ">=8" 3922 | } 3923 | }, 3924 | "node_modules/reusify": { 3925 | "version": "1.0.4", 3926 | "dev": true, 3927 | "license": "MIT", 3928 | "engines": { 3929 | "iojs": ">=1.0.0", 3930 | "node": ">=0.10.0" 3931 | } 3932 | }, 3933 | "node_modules/ripemd160": { 3934 | "version": "2.0.2", 3935 | "dev": true, 3936 | "license": "MIT", 3937 | "dependencies": { 3938 | "hash-base": "^3.0.0", 3939 | "inherits": "^2.0.1" 3940 | } 3941 | }, 3942 | "node_modules/run-async": { 3943 | "version": "2.4.1", 3944 | "dev": true, 3945 | "license": "MIT", 3946 | "engines": { 3947 | "node": ">=0.12.0" 3948 | } 3949 | }, 3950 | "node_modules/run-parallel": { 3951 | "version": "1.2.0", 3952 | "dev": true, 3953 | "funding": [ 3954 | { 3955 | "type": "github", 3956 | "url": "https://github.com/sponsors/feross" 3957 | }, 3958 | { 3959 | "type": "patreon", 3960 | "url": "https://www.patreon.com/feross" 3961 | }, 3962 | { 3963 | "type": "consulting", 3964 | "url": "https://feross.org/support" 3965 | } 3966 | ], 3967 | "license": "MIT", 3968 | "dependencies": { 3969 | "queue-microtask": "^1.2.2" 3970 | } 3971 | }, 3972 | "node_modules/rxjs": { 3973 | "version": "7.8.1", 3974 | "dev": true, 3975 | "license": "Apache-2.0", 3976 | "dependencies": { 3977 | "tslib": "^2.1.0" 3978 | } 3979 | }, 3980 | "node_modules/safe-buffer": { 3981 | "version": "5.2.1", 3982 | "dev": true, 3983 | "funding": [ 3984 | { 3985 | "type": "github", 3986 | "url": "https://github.com/sponsors/feross" 3987 | }, 3988 | { 3989 | "type": "patreon", 3990 | "url": "https://www.patreon.com/feross" 3991 | }, 3992 | { 3993 | "type": "consulting", 3994 | "url": "https://feross.org/support" 3995 | } 3996 | ], 3997 | "license": "MIT" 3998 | }, 3999 | "node_modules/safer-buffer": { 4000 | "version": "2.1.2", 4001 | "dev": true, 4002 | "license": "MIT" 4003 | }, 4004 | "node_modules/scheduler": { 4005 | "version": "0.23.0", 4006 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 4007 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 4008 | "peer": true, 4009 | "dependencies": { 4010 | "loose-envify": "^1.1.0" 4011 | } 4012 | }, 4013 | "node_modules/schema-utils": { 4014 | "version": "3.3.0", 4015 | "dev": true, 4016 | "license": "MIT", 4017 | "dependencies": { 4018 | "@types/json-schema": "^7.0.8", 4019 | "ajv": "^6.12.5", 4020 | "ajv-keywords": "^3.5.2" 4021 | }, 4022 | "engines": { 4023 | "node": ">= 10.13.0" 4024 | }, 4025 | "funding": { 4026 | "type": "opencollective", 4027 | "url": "https://opencollective.com/webpack" 4028 | } 4029 | }, 4030 | "node_modules/semver": { 4031 | "version": "7.5.4", 4032 | "dev": true, 4033 | "license": "ISC", 4034 | "dependencies": { 4035 | "lru-cache": "^6.0.0" 4036 | }, 4037 | "bin": { 4038 | "semver": "bin/semver.js" 4039 | }, 4040 | "engines": { 4041 | "node": ">=10" 4042 | } 4043 | }, 4044 | "node_modules/serialize-javascript": { 4045 | "version": "6.0.2", 4046 | "dev": true, 4047 | "license": "BSD-3-Clause", 4048 | "dependencies": { 4049 | "randombytes": "^2.1.0" 4050 | } 4051 | }, 4052 | "node_modules/sha.js": { 4053 | "version": "2.4.11", 4054 | "dev": true, 4055 | "license": "(MIT AND BSD-3-Clause)", 4056 | "dependencies": { 4057 | "inherits": "^2.0.1", 4058 | "safe-buffer": "^5.0.1" 4059 | }, 4060 | "bin": { 4061 | "sha.js": "bin.js" 4062 | } 4063 | }, 4064 | "node_modules/shallow-clone": { 4065 | "version": "3.0.1", 4066 | "dev": true, 4067 | "license": "MIT", 4068 | "dependencies": { 4069 | "kind-of": "^6.0.2" 4070 | }, 4071 | "engines": { 4072 | "node": ">=8" 4073 | } 4074 | }, 4075 | "node_modules/shebang-command": { 4076 | "version": "2.0.0", 4077 | "dev": true, 4078 | "license": "MIT", 4079 | "dependencies": { 4080 | "shebang-regex": "^3.0.0" 4081 | }, 4082 | "engines": { 4083 | "node": ">=8" 4084 | } 4085 | }, 4086 | "node_modules/shebang-regex": { 4087 | "version": "3.0.0", 4088 | "dev": true, 4089 | "license": "MIT", 4090 | "engines": { 4091 | "node": ">=8" 4092 | } 4093 | }, 4094 | "node_modules/signal-exit": { 4095 | "version": "3.0.7", 4096 | "dev": true, 4097 | "license": "ISC" 4098 | }, 4099 | "node_modules/simple-git": { 4100 | "version": "3.22.0", 4101 | "dev": true, 4102 | "license": "MIT", 4103 | "dependencies": { 4104 | "@kwsites/file-exists": "^1.1.1", 4105 | "@kwsites/promise-deferred": "^1.1.1", 4106 | "debug": "^4.3.4" 4107 | }, 4108 | "funding": { 4109 | "type": "github", 4110 | "url": "https://github.com/steveukx/git-js?sponsor=1" 4111 | } 4112 | }, 4113 | "node_modules/slash": { 4114 | "version": "3.0.0", 4115 | "dev": true, 4116 | "license": "MIT", 4117 | "engines": { 4118 | "node": ">=8" 4119 | } 4120 | }, 4121 | "node_modules/slice-ansi": { 4122 | "version": "4.0.0", 4123 | "dev": true, 4124 | "license": "MIT", 4125 | "dependencies": { 4126 | "ansi-styles": "^4.0.0", 4127 | "astral-regex": "^2.0.0", 4128 | "is-fullwidth-code-point": "^3.0.0" 4129 | }, 4130 | "engines": { 4131 | "node": ">=10" 4132 | }, 4133 | "funding": { 4134 | "url": "https://github.com/chalk/slice-ansi?sponsor=1" 4135 | } 4136 | }, 4137 | "node_modules/smoldot": { 4138 | "version": "2.0.7", 4139 | "dev": true, 4140 | "license": "GPL-3.0-or-later WITH Classpath-exception-2.0", 4141 | "optional": true, 4142 | "dependencies": { 4143 | "ws": "^8.8.1" 4144 | } 4145 | }, 4146 | "node_modules/smoldot/node_modules/ws": { 4147 | "version": "8.16.0", 4148 | "dev": true, 4149 | "license": "MIT", 4150 | "optional": true, 4151 | "engines": { 4152 | "node": ">=10.0.0" 4153 | }, 4154 | "peerDependencies": { 4155 | "bufferutil": "^4.0.1", 4156 | "utf-8-validate": ">=5.0.2" 4157 | }, 4158 | "peerDependenciesMeta": { 4159 | "bufferutil": { 4160 | "optional": true 4161 | }, 4162 | "utf-8-validate": { 4163 | "optional": true 4164 | } 4165 | } 4166 | }, 4167 | "node_modules/source-map-support": { 4168 | "version": "0.5.21", 4169 | "dev": true, 4170 | "license": "MIT", 4171 | "dependencies": { 4172 | "buffer-from": "^1.0.0", 4173 | "source-map": "^0.6.0" 4174 | } 4175 | }, 4176 | "node_modules/source-map-support/node_modules/source-map": { 4177 | "version": "0.6.1", 4178 | "dev": true, 4179 | "license": "BSD-3-Clause", 4180 | "engines": { 4181 | "node": ">=0.10.0" 4182 | } 4183 | }, 4184 | "node_modules/sprintf-js": { 4185 | "version": "1.0.3", 4186 | "dev": true, 4187 | "license": "BSD-3-Clause" 4188 | }, 4189 | "node_modules/store": { 4190 | "version": "2.0.12", 4191 | "dev": true, 4192 | "license": "MIT", 4193 | "engines": { 4194 | "node": "*" 4195 | } 4196 | }, 4197 | "node_modules/string_decoder": { 4198 | "version": "1.3.0", 4199 | "dev": true, 4200 | "license": "MIT", 4201 | "dependencies": { 4202 | "safe-buffer": "~5.2.0" 4203 | } 4204 | }, 4205 | "node_modules/string-format": { 4206 | "version": "2.0.0", 4207 | "dev": true, 4208 | "license": "WTFPL OR MIT" 4209 | }, 4210 | "node_modules/string-replace-loader": { 4211 | "version": "3.1.0", 4212 | "dev": true, 4213 | "license": "MIT", 4214 | "dependencies": { 4215 | "loader-utils": "^2.0.0", 4216 | "schema-utils": "^3.0.0" 4217 | }, 4218 | "peerDependencies": { 4219 | "webpack": "^5" 4220 | } 4221 | }, 4222 | "node_modules/string-width": { 4223 | "version": "4.2.3", 4224 | "dev": true, 4225 | "license": "MIT", 4226 | "dependencies": { 4227 | "emoji-regex": "^8.0.0", 4228 | "is-fullwidth-code-point": "^3.0.0", 4229 | "strip-ansi": "^6.0.1" 4230 | }, 4231 | "engines": { 4232 | "node": ">=8" 4233 | } 4234 | }, 4235 | "node_modules/strip-ansi": { 4236 | "version": "6.0.1", 4237 | "dev": true, 4238 | "license": "MIT", 4239 | "dependencies": { 4240 | "ansi-regex": "^5.0.1" 4241 | }, 4242 | "engines": { 4243 | "node": ">=8" 4244 | } 4245 | }, 4246 | "node_modules/supports-color": { 4247 | "version": "7.2.0", 4248 | "dev": true, 4249 | "license": "MIT", 4250 | "dependencies": { 4251 | "has-flag": "^4.0.0" 4252 | }, 4253 | "engines": { 4254 | "node": ">=8" 4255 | } 4256 | }, 4257 | "node_modules/supports-hyperlinks": { 4258 | "version": "2.3.0", 4259 | "dev": true, 4260 | "license": "MIT", 4261 | "dependencies": { 4262 | "has-flag": "^4.0.0", 4263 | "supports-color": "^7.0.0" 4264 | }, 4265 | "engines": { 4266 | "node": ">=8" 4267 | } 4268 | }, 4269 | "node_modules/sync-rpc": { 4270 | "version": "1.3.6", 4271 | "dev": true, 4272 | "license": "MIT", 4273 | "dependencies": { 4274 | "get-port": "^3.1.0" 4275 | } 4276 | }, 4277 | "node_modules/table-layout": { 4278 | "version": "1.0.2", 4279 | "dev": true, 4280 | "license": "MIT", 4281 | "dependencies": { 4282 | "array-back": "^4.0.1", 4283 | "deep-extend": "~0.6.0", 4284 | "typical": "^5.2.0", 4285 | "wordwrapjs": "^4.0.0" 4286 | }, 4287 | "engines": { 4288 | "node": ">=8.0.0" 4289 | } 4290 | }, 4291 | "node_modules/table-layout/node_modules/array-back": { 4292 | "version": "4.0.2", 4293 | "dev": true, 4294 | "license": "MIT", 4295 | "engines": { 4296 | "node": ">=8" 4297 | } 4298 | }, 4299 | "node_modules/tapable": { 4300 | "version": "2.2.1", 4301 | "dev": true, 4302 | "license": "MIT", 4303 | "engines": { 4304 | "node": ">=6" 4305 | } 4306 | }, 4307 | "node_modules/terser": { 4308 | "version": "5.27.0", 4309 | "dev": true, 4310 | "license": "BSD-2-Clause", 4311 | "dependencies": { 4312 | "@jridgewell/source-map": "^0.3.3", 4313 | "acorn": "^8.8.2", 4314 | "commander": "^2.20.0", 4315 | "source-map-support": "~0.5.20" 4316 | }, 4317 | "bin": { 4318 | "terser": "bin/terser" 4319 | }, 4320 | "engines": { 4321 | "node": ">=10" 4322 | } 4323 | }, 4324 | "node_modules/terser-webpack-plugin": { 4325 | "version": "5.3.10", 4326 | "dev": true, 4327 | "license": "MIT", 4328 | "dependencies": { 4329 | "@jridgewell/trace-mapping": "^0.3.20", 4330 | "jest-worker": "^27.4.5", 4331 | "schema-utils": "^3.1.1", 4332 | "serialize-javascript": "^6.0.1", 4333 | "terser": "^5.26.0" 4334 | }, 4335 | "engines": { 4336 | "node": ">= 10.13.0" 4337 | }, 4338 | "funding": { 4339 | "type": "opencollective", 4340 | "url": "https://opencollective.com/webpack" 4341 | }, 4342 | "peerDependencies": { 4343 | "webpack": "^5.1.0" 4344 | }, 4345 | "peerDependenciesMeta": { 4346 | "@swc/core": { 4347 | "optional": true 4348 | }, 4349 | "esbuild": { 4350 | "optional": true 4351 | }, 4352 | "uglify-js": { 4353 | "optional": true 4354 | } 4355 | } 4356 | }, 4357 | "node_modules/through": { 4358 | "version": "2.3.8", 4359 | "dev": true, 4360 | "license": "MIT" 4361 | }, 4362 | "node_modules/tmp": { 4363 | "version": "0.0.33", 4364 | "dev": true, 4365 | "license": "MIT", 4366 | "dependencies": { 4367 | "os-tmpdir": "~1.0.2" 4368 | }, 4369 | "engines": { 4370 | "node": ">=0.6.0" 4371 | } 4372 | }, 4373 | "node_modules/to-regex-range": { 4374 | "version": "5.0.1", 4375 | "dev": true, 4376 | "license": "MIT", 4377 | "dependencies": { 4378 | "is-number": "^7.0.0" 4379 | }, 4380 | "engines": { 4381 | "node": ">=8.0" 4382 | } 4383 | }, 4384 | "node_modules/ts-command-line-args": { 4385 | "version": "2.5.1", 4386 | "dev": true, 4387 | "license": "ISC", 4388 | "dependencies": { 4389 | "chalk": "^4.1.0", 4390 | "command-line-args": "^5.1.1", 4391 | "command-line-usage": "^6.1.0", 4392 | "string-format": "^2.0.0" 4393 | }, 4394 | "bin": { 4395 | "write-markdown": "dist/write-markdown.js" 4396 | } 4397 | }, 4398 | "node_modules/ts-essentials": { 4399 | "version": "7.0.3", 4400 | "dev": true, 4401 | "license": "MIT", 4402 | "peerDependencies": { 4403 | "typescript": ">=3.7.0" 4404 | } 4405 | }, 4406 | "node_modules/ts-loader": { 4407 | "version": "9.5.1", 4408 | "dev": true, 4409 | "license": "MIT", 4410 | "dependencies": { 4411 | "chalk": "^4.1.0", 4412 | "enhanced-resolve": "^5.0.0", 4413 | "micromatch": "^4.0.0", 4414 | "semver": "^7.3.4", 4415 | "source-map": "^0.7.4" 4416 | }, 4417 | "engines": { 4418 | "node": ">=12.0.0" 4419 | }, 4420 | "peerDependencies": { 4421 | "typescript": "*", 4422 | "webpack": "^5.0.0" 4423 | } 4424 | }, 4425 | "node_modules/ts-loader/node_modules/source-map": { 4426 | "version": "0.7.4", 4427 | "dev": true, 4428 | "license": "BSD-3-Clause", 4429 | "engines": { 4430 | "node": ">= 8" 4431 | } 4432 | }, 4433 | "node_modules/ts-node": { 4434 | "version": "10.9.2", 4435 | "dev": true, 4436 | "license": "MIT", 4437 | "dependencies": { 4438 | "@cspotcode/source-map-support": "^0.8.0", 4439 | "@tsconfig/node10": "^1.0.7", 4440 | "@tsconfig/node12": "^1.0.7", 4441 | "@tsconfig/node14": "^1.0.0", 4442 | "@tsconfig/node16": "^1.0.2", 4443 | "acorn": "^8.4.1", 4444 | "acorn-walk": "^8.1.1", 4445 | "arg": "^4.1.0", 4446 | "create-require": "^1.1.0", 4447 | "diff": "^4.0.1", 4448 | "make-error": "^1.1.1", 4449 | "v8-compile-cache-lib": "^3.0.1", 4450 | "yn": "3.1.1" 4451 | }, 4452 | "bin": { 4453 | "ts-node": "dist/bin.js", 4454 | "ts-node-cwd": "dist/bin-cwd.js", 4455 | "ts-node-esm": "dist/bin-esm.js", 4456 | "ts-node-script": "dist/bin-script.js", 4457 | "ts-node-transpile-only": "dist/bin-transpile.js", 4458 | "ts-script": "dist/bin-script-deprecated.js" 4459 | }, 4460 | "peerDependencies": { 4461 | "@swc/core": ">=1.2.50", 4462 | "@swc/wasm": ">=1.2.50", 4463 | "@types/node": "*", 4464 | "typescript": ">=2.7" 4465 | }, 4466 | "peerDependenciesMeta": { 4467 | "@swc/core": { 4468 | "optional": true 4469 | }, 4470 | "@swc/wasm": { 4471 | "optional": true 4472 | } 4473 | } 4474 | }, 4475 | "node_modules/tslib": { 4476 | "version": "2.6.2", 4477 | "dev": true, 4478 | "license": "0BSD" 4479 | }, 4480 | "node_modules/tsx": { 4481 | "version": "4.7.0", 4482 | "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz", 4483 | "integrity": "sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==", 4484 | "dev": true, 4485 | "dependencies": { 4486 | "esbuild": "~0.19.10", 4487 | "get-tsconfig": "^4.7.2" 4488 | }, 4489 | "bin": { 4490 | "tsx": "dist/cli.mjs" 4491 | }, 4492 | "engines": { 4493 | "node": ">=18.0.0" 4494 | }, 4495 | "optionalDependencies": { 4496 | "fsevents": "~2.3.3" 4497 | } 4498 | }, 4499 | "node_modules/type-fest": { 4500 | "version": "0.21.3", 4501 | "dev": true, 4502 | "license": "(MIT OR CC0-1.0)", 4503 | "engines": { 4504 | "node": ">=10" 4505 | }, 4506 | "funding": { 4507 | "url": "https://github.com/sponsors/sindresorhus" 4508 | } 4509 | }, 4510 | "node_modules/typechain": { 4511 | "version": "8.3.2", 4512 | "dev": true, 4513 | "license": "MIT", 4514 | "dependencies": { 4515 | "@types/prettier": "^2.1.1", 4516 | "debug": "^4.3.1", 4517 | "fs-extra": "^7.0.0", 4518 | "glob": "7.1.7", 4519 | "js-sha3": "^0.8.0", 4520 | "lodash": "^4.17.15", 4521 | "mkdirp": "^1.0.4", 4522 | "prettier": "^2.3.1", 4523 | "ts-command-line-args": "^2.2.0", 4524 | "ts-essentials": "^7.0.1" 4525 | }, 4526 | "bin": { 4527 | "typechain": "dist/cli/cli.js" 4528 | }, 4529 | "peerDependencies": { 4530 | "typescript": ">=4.3.0" 4531 | } 4532 | }, 4533 | "node_modules/typescript": { 4534 | "version": "5.3.3", 4535 | "devOptional": true, 4536 | "license": "Apache-2.0", 4537 | "bin": { 4538 | "tsc": "bin/tsc", 4539 | "tsserver": "bin/tsserver" 4540 | }, 4541 | "engines": { 4542 | "node": ">=14.17" 4543 | } 4544 | }, 4545 | "node_modules/typical": { 4546 | "version": "5.2.0", 4547 | "dev": true, 4548 | "license": "MIT", 4549 | "engines": { 4550 | "node": ">=8" 4551 | } 4552 | }, 4553 | "node_modules/undici": { 4554 | "version": "5.28.2", 4555 | "dev": true, 4556 | "license": "MIT", 4557 | "dependencies": { 4558 | "@fastify/busboy": "^2.0.0" 4559 | }, 4560 | "engines": { 4561 | "node": ">=14.0" 4562 | } 4563 | }, 4564 | "node_modules/undici-types": { 4565 | "version": "5.26.5", 4566 | "dev": true, 4567 | "license": "MIT" 4568 | }, 4569 | "node_modules/universalify": { 4570 | "version": "0.1.2", 4571 | "dev": true, 4572 | "license": "MIT", 4573 | "engines": { 4574 | "node": ">= 4.0.0" 4575 | } 4576 | }, 4577 | "node_modules/upath": { 4578 | "version": "2.0.1", 4579 | "dev": true, 4580 | "license": "MIT", 4581 | "engines": { 4582 | "node": ">=4", 4583 | "yarn": "*" 4584 | } 4585 | }, 4586 | "node_modules/update-browserslist-db": { 4587 | "version": "1.0.13", 4588 | "dev": true, 4589 | "funding": [ 4590 | { 4591 | "type": "opencollective", 4592 | "url": "https://opencollective.com/browserslist" 4593 | }, 4594 | { 4595 | "type": "tidelift", 4596 | "url": "https://tidelift.com/funding/github/npm/browserslist" 4597 | }, 4598 | { 4599 | "type": "github", 4600 | "url": "https://github.com/sponsors/ai" 4601 | } 4602 | ], 4603 | "license": "MIT", 4604 | "dependencies": { 4605 | "escalade": "^3.1.1", 4606 | "picocolors": "^1.0.0" 4607 | }, 4608 | "bin": { 4609 | "update-browserslist-db": "cli.js" 4610 | }, 4611 | "peerDependencies": { 4612 | "browserslist": ">= 4.21.0" 4613 | } 4614 | }, 4615 | "node_modules/uri-js": { 4616 | "version": "4.4.1", 4617 | "dev": true, 4618 | "license": "BSD-2-Clause", 4619 | "dependencies": { 4620 | "punycode": "^2.1.0" 4621 | } 4622 | }, 4623 | "node_modules/util-deprecate": { 4624 | "version": "1.0.2", 4625 | "dev": true, 4626 | "license": "MIT" 4627 | }, 4628 | "node_modules/v8-compile-cache-lib": { 4629 | "version": "3.0.1", 4630 | "dev": true, 4631 | "license": "MIT" 4632 | }, 4633 | "node_modules/viem": { 4634 | "version": "2.7.3", 4635 | "funding": [ 4636 | { 4637 | "type": "github", 4638 | "url": "https://github.com/sponsors/wevm" 4639 | } 4640 | ], 4641 | "license": "MIT", 4642 | "peer": true, 4643 | "dependencies": { 4644 | "@adraffy/ens-normalize": "1.10.0", 4645 | "@noble/curves": "1.2.0", 4646 | "@noble/hashes": "1.3.2", 4647 | "@scure/bip32": "1.3.2", 4648 | "@scure/bip39": "1.2.1", 4649 | "abitype": "1.0.0", 4650 | "isows": "1.0.3", 4651 | "ws": "8.13.0" 4652 | }, 4653 | "peerDependencies": { 4654 | "typescript": ">=5.0.4" 4655 | }, 4656 | "peerDependenciesMeta": { 4657 | "typescript": { 4658 | "optional": true 4659 | } 4660 | } 4661 | }, 4662 | "node_modules/viem/node_modules/@noble/curves": { 4663 | "version": "1.2.0", 4664 | "license": "MIT", 4665 | "peer": true, 4666 | "dependencies": { 4667 | "@noble/hashes": "1.3.2" 4668 | }, 4669 | "funding": { 4670 | "url": "https://paulmillr.com/funding/" 4671 | } 4672 | }, 4673 | "node_modules/viem/node_modules/@noble/hashes": { 4674 | "version": "1.3.2", 4675 | "license": "MIT", 4676 | "peer": true, 4677 | "engines": { 4678 | "node": ">= 16" 4679 | }, 4680 | "funding": { 4681 | "url": "https://paulmillr.com/funding/" 4682 | } 4683 | }, 4684 | "node_modules/watchpack": { 4685 | "version": "2.4.0", 4686 | "dev": true, 4687 | "license": "MIT", 4688 | "dependencies": { 4689 | "glob-to-regexp": "^0.4.1", 4690 | "graceful-fs": "^4.1.2" 4691 | }, 4692 | "engines": { 4693 | "node": ">=10.13.0" 4694 | } 4695 | }, 4696 | "node_modules/wcwidth": { 4697 | "version": "1.0.1", 4698 | "dev": true, 4699 | "license": "MIT", 4700 | "dependencies": { 4701 | "defaults": "^1.0.3" 4702 | } 4703 | }, 4704 | "node_modules/web-streams-polyfill": { 4705 | "version": "3.3.2", 4706 | "dev": true, 4707 | "license": "MIT", 4708 | "engines": { 4709 | "node": ">= 8" 4710 | } 4711 | }, 4712 | "node_modules/webpack": { 4713 | "version": "5.90.1", 4714 | "dev": true, 4715 | "license": "MIT", 4716 | "dependencies": { 4717 | "@types/eslint-scope": "^3.7.3", 4718 | "@types/estree": "^1.0.5", 4719 | "@webassemblyjs/ast": "^1.11.5", 4720 | "@webassemblyjs/wasm-edit": "^1.11.5", 4721 | "@webassemblyjs/wasm-parser": "^1.11.5", 4722 | "acorn": "^8.7.1", 4723 | "acorn-import-assertions": "^1.9.0", 4724 | "browserslist": "^4.21.10", 4725 | "chrome-trace-event": "^1.0.2", 4726 | "enhanced-resolve": "^5.15.0", 4727 | "es-module-lexer": "^1.2.1", 4728 | "eslint-scope": "5.1.1", 4729 | "events": "^3.2.0", 4730 | "glob-to-regexp": "^0.4.1", 4731 | "graceful-fs": "^4.2.9", 4732 | "json-parse-even-better-errors": "^2.3.1", 4733 | "loader-runner": "^4.2.0", 4734 | "mime-types": "^2.1.27", 4735 | "neo-async": "^2.6.2", 4736 | "schema-utils": "^3.2.0", 4737 | "tapable": "^2.1.1", 4738 | "terser-webpack-plugin": "^5.3.10", 4739 | "watchpack": "^2.4.0", 4740 | "webpack-sources": "^3.2.3" 4741 | }, 4742 | "bin": { 4743 | "webpack": "bin/webpack.js" 4744 | }, 4745 | "engines": { 4746 | "node": ">=10.13.0" 4747 | }, 4748 | "funding": { 4749 | "type": "opencollective", 4750 | "url": "https://opencollective.com/webpack" 4751 | }, 4752 | "peerDependenciesMeta": { 4753 | "webpack-cli": { 4754 | "optional": true 4755 | } 4756 | } 4757 | }, 4758 | "node_modules/webpack-merge": { 4759 | "version": "5.10.0", 4760 | "dev": true, 4761 | "license": "MIT", 4762 | "dependencies": { 4763 | "clone-deep": "^4.0.1", 4764 | "flat": "^5.0.2", 4765 | "wildcard": "^2.0.0" 4766 | }, 4767 | "engines": { 4768 | "node": ">=10.0.0" 4769 | } 4770 | }, 4771 | "node_modules/webpack-sources": { 4772 | "version": "3.2.3", 4773 | "dev": true, 4774 | "license": "MIT", 4775 | "engines": { 4776 | "node": ">=10.13.0" 4777 | } 4778 | }, 4779 | "node_modules/webpack-virtual-modules": { 4780 | "version": "0.5.0", 4781 | "dev": true, 4782 | "license": "MIT" 4783 | }, 4784 | "node_modules/which": { 4785 | "version": "2.0.2", 4786 | "dev": true, 4787 | "license": "ISC", 4788 | "dependencies": { 4789 | "isexe": "^2.0.0" 4790 | }, 4791 | "bin": { 4792 | "node-which": "bin/node-which" 4793 | }, 4794 | "engines": { 4795 | "node": ">= 8" 4796 | } 4797 | }, 4798 | "node_modules/widest-line": { 4799 | "version": "3.1.0", 4800 | "dev": true, 4801 | "license": "MIT", 4802 | "dependencies": { 4803 | "string-width": "^4.0.0" 4804 | }, 4805 | "engines": { 4806 | "node": ">=8" 4807 | } 4808 | }, 4809 | "node_modules/wildcard": { 4810 | "version": "2.0.1", 4811 | "dev": true, 4812 | "license": "MIT" 4813 | }, 4814 | "node_modules/wordwrap": { 4815 | "version": "1.0.0", 4816 | "dev": true, 4817 | "license": "MIT" 4818 | }, 4819 | "node_modules/wordwrapjs": { 4820 | "version": "4.0.1", 4821 | "dev": true, 4822 | "license": "MIT", 4823 | "dependencies": { 4824 | "reduce-flatten": "^2.0.0", 4825 | "typical": "^5.2.0" 4826 | }, 4827 | "engines": { 4828 | "node": ">=8.0.0" 4829 | } 4830 | }, 4831 | "node_modules/wrap-ansi": { 4832 | "version": "6.2.0", 4833 | "dev": true, 4834 | "license": "MIT", 4835 | "dependencies": { 4836 | "ansi-styles": "^4.0.0", 4837 | "string-width": "^4.1.0", 4838 | "strip-ansi": "^6.0.0" 4839 | }, 4840 | "engines": { 4841 | "node": ">=8" 4842 | } 4843 | }, 4844 | "node_modules/wrappy": { 4845 | "version": "1.0.2", 4846 | "dev": true, 4847 | "license": "ISC" 4848 | }, 4849 | "node_modules/ws": { 4850 | "version": "8.13.0", 4851 | "license": "MIT", 4852 | "engines": { 4853 | "node": ">=10.0.0" 4854 | }, 4855 | "peerDependencies": { 4856 | "bufferutil": "^4.0.1", 4857 | "utf-8-validate": ">=5.0.2" 4858 | }, 4859 | "peerDependenciesMeta": { 4860 | "bufferutil": { 4861 | "optional": true 4862 | }, 4863 | "utf-8-validate": { 4864 | "optional": true 4865 | } 4866 | } 4867 | }, 4868 | "node_modules/yallist": { 4869 | "version": "4.0.0", 4870 | "dev": true, 4871 | "license": "ISC" 4872 | }, 4873 | "node_modules/yn": { 4874 | "version": "3.1.1", 4875 | "dev": true, 4876 | "license": "MIT", 4877 | "engines": { 4878 | "node": ">=6" 4879 | } 4880 | } 4881 | } 4882 | } 4883 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phat-frame-template", 3 | "version": "1.0.0", 4 | "license": "MIT", 5 | "engines": { 6 | "node": ">=18" 7 | }, 8 | "scripts": { 9 | "build": "phat-fn build --experimentalAsync", 10 | "test": "tsx src/test.ts", 11 | "lint": "tsc --noEmit", 12 | "publish": "phat-fn build --experimentalAsync && tsx scripts/publish.ts" 13 | }, 14 | "devDependencies": { 15 | "@phala/fn": "~0.2.14", 16 | "tsx": "^4.7.0", 17 | "typechain": "^8.1.0", 18 | "typescript": "^5.2.2" 19 | }, 20 | "dependencies": { 21 | "@coinbase/onchainkit": "^0.5.4" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /scripts/publish.ts: -------------------------------------------------------------------------------- 1 | // Call Thirdweb upload command to deploy compiled frame 2 | import { spawn } from 'child_process' 3 | 4 | try { 5 | const command = 'npx thirdweb upload dist/index.js' 6 | const childProcess = spawn(command, { shell: true }) 7 | 8 | childProcess.stdout.on('data', (data) => { 9 | process.stdout.write(data) 10 | }) 11 | 12 | let stderr = '' 13 | childProcess.stderr.on('data', (data) => { 14 | process.stderr.write(data) 15 | stderr += data 16 | }) 17 | 18 | childProcess.on('close', (code) => { 19 | if (code === 0) { 20 | const regex = /ipfs:\/\/([a-zA-Z0-9]+)/; 21 | const match = stderr.match(regex); 22 | 23 | if (match) { 24 | const ipfsCid = match[1]; 25 | console.log(`\nFrame deployed at: https://frames.phatfn.xyz/ipfs/${ipfsCid}`) 26 | console.log(`Simulate with Frames.js debugger: https://debugger.framesjs.org/debug?url=https://frames.phatfn.xyz/ipfs/${ipfsCid}`) 27 | } else { 28 | console.log('IPFS CID not found'); 29 | } 30 | } else { 31 | console.log(`Command exited with code ${code}`) 32 | } 33 | }); 34 | } catch (error) { 35 | console.error('Error:', error) 36 | } -------------------------------------------------------------------------------- /src/frameSupport.ts: -------------------------------------------------------------------------------- 1 | export interface SerializedRequest { 2 | method: 'GET' | 'POST' | 'PATCH' | 'PUT'; 3 | path: string; 4 | queries: Record; 5 | headers: Record; 6 | body?: string; 7 | secret?: Record; 8 | } 9 | 10 | export class Request implements SerializedRequest { 11 | method: 'GET' | 'POST' | 'PATCH' | 'PUT'; 12 | path: string; 13 | queries: Record; 14 | headers: Record; 15 | body?: string; 16 | secret?: Record; 17 | constructor(raw: SerializedRequest) { 18 | this.body = raw.body; 19 | this.queries = raw.queries; 20 | this.headers = raw.headers; 21 | this.method = raw.method; 22 | this.path = raw.path; 23 | this.secret = raw.secret; 24 | } 25 | async json(): Promise { 26 | return JSON.parse(this.body!) 27 | } 28 | } 29 | 30 | type ResponseOption = { 31 | status?: number, 32 | headers?: Record 33 | } 34 | export class Response { 35 | status: number; 36 | body?: string; 37 | headers: Record; 38 | constructor(body: string, options?: ResponseOption) { 39 | this.status = options?.status ?? 200; 40 | this.body = body; 41 | this.headers = { 42 | 'Content-Type': 'text/html; charset=UTF-8', 43 | 'Access-Control-Allow-Origin': '*', 44 | ...options?.headers 45 | } 46 | } 47 | } 48 | 49 | export type Metadata = { 50 | title: string, 51 | description: string, 52 | openGraph: { 53 | title: string, 54 | description: string, 55 | images: [string], 56 | }, 57 | other: Record, 58 | } 59 | 60 | export function renderOpenGraph(metadata: Metadata): string { 61 | const sortedMetadata = Object.entries(metadata.other) 62 | .sort((a, b) => a[0] < b[0] ? -1 : (a[0] > b[0] ? 1 : 0)) 63 | return ` 64 | 65 | 66 | 67 | 68 | 69 | 70 | ${metadata.title} 71 | ${sortedMetadata.map(([k, v]) => ` 72 | `).join('')} 73 | 74 | 75 |
76 |

Logo

77 |

Frame hosted on FrameHub, a fully decentralized Vercel for Frame.

78 | 79 |
80 | 81 | ` 82 | } 83 | 84 | export type RouteConfig = { 85 | GET?: (req: Request) => Promise, 86 | POST?: (req: Request) => Promise, 87 | PATCH?: (req: Request) => Promise, 88 | PUT?: (req: Request) => Promise, 89 | } 90 | 91 | export async function route(config: RouteConfig, request: string) { 92 | const reqObj: SerializedRequest = JSON.parse(request) 93 | let response: Response; 94 | const method = reqObj.method 95 | const req = new Request(reqObj) 96 | if (method == 'GET' && config.GET) { 97 | response = await config.GET(req); 98 | } else if (method == 'POST' && config.POST) { 99 | response = await config.POST(req); 100 | } else if (method == 'PATCH' && config.PATCH) { 101 | response = await config.PATCH(req); 102 | } else if (method == 'PUT' && config.PUT) { 103 | response = await config.PUT(req); 104 | } else { 105 | response = new Response('Not Found'); 106 | response.status = 404 107 | } 108 | return JSON.stringify(response) 109 | } 110 | 111 | // Only works for ascii string 112 | export function stringToHex(str: string): string { 113 | let hex = ''; 114 | for (let i = 0; i < str.length; i++) { 115 | hex += str.charCodeAt(i).toString(16).padStart(2, '0'); 116 | } 117 | return '0x' + hex; 118 | } 119 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { type FrameRequest } from '@coinbase/onchainkit' 2 | import { getFrameMetadata } from '@coinbase/onchainkit/dist/lib/core/getFrameMetadata' 3 | import { getFrameMessage } from '@coinbase/onchainkit/dist/lib/core/getFrameMessage' 4 | import { Request, Response, renderOpenGraph, route } from './frameSupport' 5 | 6 | const BASE_URL = 'https://frames.phatfn.xyz' 7 | const image = 'https://i.imgur.com/belk1Ha.png' 8 | 9 | async function GET(req: Request): Promise { 10 | const secret = req.queries?.key ?? ''; 11 | const frameMetadata = getFrameMetadata({ 12 | buttons: [ 13 | { 14 | label: 'FrameHub Template\nClick Here!', 15 | }, 16 | ], 17 | image: image, 18 | post_url: BASE_URL + req.path + `?key=${secret[0]}`, 19 | }); 20 | 21 | return new Response(renderOpenGraph({ 22 | title: BASE_URL + req.path, 23 | description: 'FrameHub', 24 | openGraph: { 25 | title: BASE_URL + req.path, 26 | description: 'FrameHub', 27 | images: [image], 28 | }, 29 | other: frameMetadata, 30 | }), 31 | { headers: { 'Cache-Control': 'public, max-age=86400' } } 32 | ); 33 | } 34 | 35 | async function getResponse(req: Request): Promise { 36 | let accountAddress: string | undefined = ''; 37 | const secret = req.queries?.key ?? '' 38 | const apiKey = req.secret?.apiKey ?? 'NEYNAR_API'; 39 | 40 | const body: FrameRequest = await req.json(); 41 | 42 | const { isValid, message } = await getFrameMessage(body, { neynarApiKey: `${apiKey}`}); 43 | 44 | if (isValid) { 45 | accountAddress = message.interactor.verified_accounts[0]; 46 | } 47 | const frameMetadata = getFrameMetadata({ 48 | buttons: [ 49 | { 50 | label: `Phat Hello to ${accountAddress}`, 51 | }, 52 | ], 53 | image: image, 54 | post_url: BASE_URL + req.path + `?key=${secret[0]}`, 55 | }); 56 | 57 | return new Response(renderOpenGraph({ 58 | title: BASE_URL + req.path, 59 | description: 'FrameHub', 60 | openGraph: { 61 | title: BASE_URL + req.path, 62 | description: 'FrameHub', 63 | images: [image], 64 | }, 65 | other: frameMetadata, 66 | }), 67 | { headers: { 'Cache-Control': 'public, max-age=86400' } } 68 | ); 69 | } 70 | 71 | async function POST(req: any): Promise { 72 | return getResponse(req); 73 | } 74 | 75 | export default async function main(request: string) { 76 | return await route({GET, POST}, request) 77 | } 78 | -------------------------------------------------------------------------------- /src/test.ts: -------------------------------------------------------------------------------- 1 | import main from './index' 2 | 3 | async function execute(inputObj: any) { 4 | const inputJson = JSON.stringify(inputObj) 5 | console.log('INPUT:', inputJson) 6 | return await main(inputJson) 7 | } 8 | 9 | const sampleInput = { 10 | "untrustedData": { 11 | "fid": 2, 12 | "url": "https://fcpolls.com/polls/1", 13 | "messageHash": "0xd2b1ddc6c88e865a33cb1a565e0058d757042974", 14 | "timestamp": 1706243218, 15 | "network": 1, 16 | "buttonIndex": 2, 17 | "castId": { 18 | "fid": 226, 19 | "hash": "0xa48dd46161d8e57725f5e26e34ec19c13ff7f3b9" 20 | } 21 | }, 22 | "trustedData": { 23 | "messageBytes": "d2b1ddc6c88e865a33cb1a565e0058d757042974..." 24 | } 25 | } 26 | 27 | async function test() { 28 | const getResult = await execute({ 29 | method: 'GET', 30 | path: '/ipfs/QmVHbLYhhYA5z6yKpQr4JWr3D54EhbSsh7e7BFAAyrkkMf', 31 | queries: {}, 32 | secret: {}, 33 | headers: {}, 34 | }) 35 | console.log('GET RESULT:', JSON.parse(getResult)) 36 | 37 | const postResult = await execute({ 38 | method: 'POST', 39 | path: '/ipfs/QmVHbLYhhYA5z6yKpQr4JWr3D54EhbSsh7e7BFAAyrkkMf', 40 | queries: { 41 | page: ['1'], 42 | }, 43 | secret: {}, 44 | headers: {}, 45 | body: JSON.stringify(sampleInput) 46 | }) 47 | console.log('POST RESULT:', JSON.parse(postResult)) 48 | } 49 | 50 | test().then(() => {}).catch(err => console.error(err)).finally(() => process.exit()) 51 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2020", 4 | "module": "es6", 5 | "esModuleInterop": true, 6 | "forceConsistentCasingInFileNames": true, 7 | "strict": true, 8 | "skipLibCheck": true, 9 | "resolveJsonModule": true, 10 | "moduleResolution": "node", 11 | "paths": { 12 | "@coinbase/onchainkit/dist/lib/*": ["./node_modules/@coinbase/onchainkit/dist/types/*"] 13 | } 14 | } 15 | } 16 | --------------------------------------------------------------------------------