├── .gitignore ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── public ├── built-with-taquito.png └── favicon.png ├── src ├── App.css ├── App.tsx ├── components │ ├── ConnectWallet.tsx │ ├── DisconnectWallet.tsx │ ├── Transfers.tsx │ └── UpdateContract.tsx ├── main.tsx ├── nodeSpecific.ts └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Taquito React template 2 | 3 | ![Built with Taquito][logo] 4 | 5 | A minimal React setup for starting developing Tezos DApps quickly with Taquito. 6 | 7 | ## Getting Started 8 | 9 | 1. Make sure you have https://nodejs.org/ installed on your computer 10 | 2. Create a new repository from taquito-boilerplate by clicking "Use this template". 11 | 3. Clone your new repository: 12 | 13 | `git clone ` 14 | 15 | 4. Change your current working directory to the newly cloned repository directory. 16 | 5. Install dependencies: 17 | 18 | `npm install` 19 | 20 | 6. Start development server: 21 | 22 | `npm run dev` 23 | 24 | 7. Open http://localhost:5173/ in your browser to see a sample application. 25 | 26 | ## Building the App 27 | 28 | 1. Run the command: 29 | 30 | `npm run build` 31 | 32 | 2. After you have build the app you can run it locally: 33 | 34 | `npm run preview` 35 | 36 | 3. Open http://localhost:4173/ in your browser to see the production build. 37 | 38 | For more information read the [Vite Guide](https://vitejs.dev/guide/static-deploy.html) 39 | 40 | [logo]: https://raw.githubusercontent.com/ecadlabs/taquito-boilerplate/master/assets/built-with-taquito.png "Built with Taquito" 41 | 42 | > ## Polyfill 43 | > 44 | > Before we start we need to add the following dependencies in order to not get polyfill issues. The reason for this step is that certain required dependencies are Node APIs, thus not included in Browsers. But still needed for communication and interaction with Wallets and Smart Contracts. 45 | > For a better understanding here are the steps described. 46 | > 47 | > You do not need to do the steps as it is already configured. 48 | > 49 | > Run `npm install buffer stream-browserify util events process` 50 | > 51 | > Then create a new file `nodeSpecific.ts` in the src folder of the project and add: 52 | > ```js 53 | > import { Buffer } from 'buffer' 54 | > 55 | > globalThis.Buffer = Buffer 56 | > ``` 57 | > 58 | > Then open the `index.html` file and add the following script in the body. 59 | > It should look like this: 60 | > 61 | > ```js 62 | > 63 | >
64 | > //add this line 65 | > 66 | > 67 | > ``` 68 | > 69 | > Finally open the `vite.config.ts` file and add the `resolve` part: 70 | > 71 | > ```js 72 | > import { defineConfig } from 'vite' 73 | > import react from '@vitejs/plugin-react-swc' 74 | > 75 | > // https://vitejs.dev/config/ 76 | > export default defineConfig({ 77 | > define: { 78 | > global: {}, 79 | > }, 80 | > plugins: [react()], 81 | > resolve: { 82 | > alias: { 83 | > stream: 'stream-browserify', 84 | > os: 'os-browserify/browser', 85 | > util: 'util', 86 | > process: 'process/browser', 87 | > buffer: 'buffer', 88 | > }, 89 | > }, 90 | > }) 91 | > ``` 92 | > 93 | > Now we can run the app. 94 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 13 | Taquito Boilerplate 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "taquito-boilerplate-react", 3 | "version": "0.2.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "taquito-boilerplate-react", 9 | "version": "0.2.0", 10 | "dependencies": { 11 | "@taquito/beacon-wallet": "^17.0.0", 12 | "@taquito/taquito": "^17.0.0", 13 | "buffer": "^6.0.3", 14 | "events": "^3.3.0", 15 | "qrcode-generator": "^1.4.4", 16 | "react": "^18.2.0", 17 | "react-dom": "^18.2.0", 18 | "stream-browserify": "^3.0.0", 19 | "util": "^0.12.5" 20 | }, 21 | "devDependencies": { 22 | "@types/node": "^20.4.1", 23 | "@types/react": "^18.2.14", 24 | "@types/react-dom": "^18.2.6", 25 | "@vitejs/plugin-react-swc": "^3.3.2", 26 | "typescript": "^5.1.6", 27 | "vite": "^4.4.2" 28 | } 29 | }, 30 | "node_modules/@airgap/beacon-core": { 31 | "version": "4.0.2", 32 | "resolved": "https://registry.npmjs.org/@airgap/beacon-core/-/beacon-core-4.0.2.tgz", 33 | "integrity": "sha512-a6mAn6BfbejBQI95tRc6pIZ0VS6MTK9MZ7iXPTLF9hrnCHiROmrCgNKst8qp2dcE0Ehk7z/hGs2WliJzi657YA==", 34 | "dependencies": { 35 | "@airgap/beacon-types": "4.0.2", 36 | "@airgap/beacon-utils": "4.0.2", 37 | "@stablelib/ed25519": "^1.0.3", 38 | "@stablelib/nacl": "^1.0.4", 39 | "@stablelib/utf8": "^1.0.1", 40 | "@stablelib/x25519-session": "^1.0.4", 41 | "bs58check": "2.1.2" 42 | } 43 | }, 44 | "node_modules/@airgap/beacon-dapp": { 45 | "version": "4.0.2", 46 | "resolved": "https://registry.npmjs.org/@airgap/beacon-dapp/-/beacon-dapp-4.0.2.tgz", 47 | "integrity": "sha512-7vjvcM470GPfDkizYpuUzJ7Fus7X/zkFeXYTkxx69Dt5TlmKg09YNfRtvrFMDbf4OKnjbaRfVhqzwfYkpaRbPg==", 48 | "dependencies": { 49 | "@airgap/beacon-core": "4.0.2", 50 | "@airgap/beacon-transport-matrix": "4.0.2", 51 | "@airgap/beacon-transport-postmessage": "4.0.2", 52 | "@airgap/beacon-transport-walletconnect": "4.0.2", 53 | "@airgap/beacon-ui": "4.0.2" 54 | } 55 | }, 56 | "node_modules/@airgap/beacon-transport-matrix": { 57 | "version": "4.0.2", 58 | "resolved": "https://registry.npmjs.org/@airgap/beacon-transport-matrix/-/beacon-transport-matrix-4.0.2.tgz", 59 | "integrity": "sha512-sidXWA9QkcdpTLObsgMIIePq2+6eHn8djSK2UeoAWZpVOky+jpaIU78UlzqgDzMrO9inzu/xwsuXlk5Nmy1RyA==", 60 | "dependencies": { 61 | "@airgap/beacon-core": "4.0.2", 62 | "@airgap/beacon-utils": "4.0.2", 63 | "axios": "0.24.0" 64 | } 65 | }, 66 | "node_modules/@airgap/beacon-transport-postmessage": { 67 | "version": "4.0.2", 68 | "resolved": "https://registry.npmjs.org/@airgap/beacon-transport-postmessage/-/beacon-transport-postmessage-4.0.2.tgz", 69 | "integrity": "sha512-UDHigcIRD5/VdKX3YDj+CVHYWafYg3N8nHT5yQ2JOU5nsQhD2y5NNNp/7U7I44CcD4OeK9d2slV+lnp8lBYe1g==", 70 | "dependencies": { 71 | "@airgap/beacon-core": "4.0.2", 72 | "@airgap/beacon-types": "4.0.2", 73 | "@airgap/beacon-utils": "4.0.2" 74 | } 75 | }, 76 | "node_modules/@airgap/beacon-transport-walletconnect": { 77 | "version": "4.0.2", 78 | "resolved": "https://registry.npmjs.org/@airgap/beacon-transport-walletconnect/-/beacon-transport-walletconnect-4.0.2.tgz", 79 | "integrity": "sha512-t4ZrgyImVf8UIhVa6ei/p1STVKNdRq5WSoop8eTSqArIHVj4zk2dr5J0ihbe64UyLAX1O0Z7yV+dUVoH+kVWGw==", 80 | "dependencies": { 81 | "@airgap/beacon-core": "4.0.2", 82 | "@airgap/beacon-types": "4.0.2", 83 | "@airgap/beacon-utils": "4.0.2", 84 | "@walletconnect/sign-client": "2.7.0" 85 | } 86 | }, 87 | "node_modules/@airgap/beacon-types": { 88 | "version": "4.0.2", 89 | "resolved": "https://registry.npmjs.org/@airgap/beacon-types/-/beacon-types-4.0.2.tgz", 90 | "integrity": "sha512-MWbE+350Yd7aICBEwTVIkty/YmKO5eTDsMbReUCNH8qf64gGhj/ZXEN6FPwMab+qKdmACgCkmbbtAXGGtmjwrA==", 91 | "dependencies": { 92 | "@types/chrome": "0.0.163" 93 | } 94 | }, 95 | "node_modules/@airgap/beacon-ui": { 96 | "version": "4.0.2", 97 | "resolved": "https://registry.npmjs.org/@airgap/beacon-ui/-/beacon-ui-4.0.2.tgz", 98 | "integrity": "sha512-ZTcvdQ5GNlQ58M0Fduoq/KqsulBXeBN6jKiHnzHM3e98syy953DKQoDhU2NXNZiJ7AvEGO3s/fd+BN8y/+CVuQ==", 99 | "dependencies": { 100 | "@airgap/beacon-core": "4.0.2", 101 | "@airgap/beacon-transport-postmessage": "4.0.2", 102 | "@airgap/beacon-types": "4.0.2", 103 | "@airgap/beacon-utils": "4.0.2", 104 | "qrcode-svg": "^1.1.0", 105 | "solid-js": "^1.6.6" 106 | } 107 | }, 108 | "node_modules/@airgap/beacon-utils": { 109 | "version": "4.0.2", 110 | "resolved": "https://registry.npmjs.org/@airgap/beacon-utils/-/beacon-utils-4.0.2.tgz", 111 | "integrity": "sha512-5TfOI3ZolQQ9WNHogEO3SY4M2Paqbb3hf8DvolFofST6Brp0qyxkwZ0i99puahgwRo+B0qGilZpkLCYl72DMQg==", 112 | "dependencies": { 113 | "@stablelib/ed25519": "^1.0.3", 114 | "@stablelib/nacl": "^1.0.3", 115 | "@stablelib/random": "^1.0.2", 116 | "@stablelib/utf8": "^1.0.1", 117 | "bs58check": "2.1.2" 118 | } 119 | }, 120 | "node_modules/@esbuild/android-arm": { 121 | "version": "0.18.11", 122 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", 123 | "integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", 124 | "cpu": [ 125 | "arm" 126 | ], 127 | "dev": true, 128 | "optional": true, 129 | "os": [ 130 | "android" 131 | ], 132 | "engines": { 133 | "node": ">=12" 134 | } 135 | }, 136 | "node_modules/@esbuild/android-arm64": { 137 | "version": "0.18.11", 138 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", 139 | "integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", 140 | "cpu": [ 141 | "arm64" 142 | ], 143 | "dev": true, 144 | "optional": true, 145 | "os": [ 146 | "android" 147 | ], 148 | "engines": { 149 | "node": ">=12" 150 | } 151 | }, 152 | "node_modules/@esbuild/android-x64": { 153 | "version": "0.18.11", 154 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", 155 | "integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", 156 | "cpu": [ 157 | "x64" 158 | ], 159 | "dev": true, 160 | "optional": true, 161 | "os": [ 162 | "android" 163 | ], 164 | "engines": { 165 | "node": ">=12" 166 | } 167 | }, 168 | "node_modules/@esbuild/darwin-arm64": { 169 | "version": "0.18.11", 170 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", 171 | "integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", 172 | "cpu": [ 173 | "arm64" 174 | ], 175 | "dev": true, 176 | "optional": true, 177 | "os": [ 178 | "darwin" 179 | ], 180 | "engines": { 181 | "node": ">=12" 182 | } 183 | }, 184 | "node_modules/@esbuild/darwin-x64": { 185 | "version": "0.18.11", 186 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", 187 | "integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", 188 | "cpu": [ 189 | "x64" 190 | ], 191 | "dev": true, 192 | "optional": true, 193 | "os": [ 194 | "darwin" 195 | ], 196 | "engines": { 197 | "node": ">=12" 198 | } 199 | }, 200 | "node_modules/@esbuild/freebsd-arm64": { 201 | "version": "0.18.11", 202 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", 203 | "integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", 204 | "cpu": [ 205 | "arm64" 206 | ], 207 | "dev": true, 208 | "optional": true, 209 | "os": [ 210 | "freebsd" 211 | ], 212 | "engines": { 213 | "node": ">=12" 214 | } 215 | }, 216 | "node_modules/@esbuild/freebsd-x64": { 217 | "version": "0.18.11", 218 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", 219 | "integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", 220 | "cpu": [ 221 | "x64" 222 | ], 223 | "dev": true, 224 | "optional": true, 225 | "os": [ 226 | "freebsd" 227 | ], 228 | "engines": { 229 | "node": ">=12" 230 | } 231 | }, 232 | "node_modules/@esbuild/linux-arm": { 233 | "version": "0.18.11", 234 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", 235 | "integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", 236 | "cpu": [ 237 | "arm" 238 | ], 239 | "dev": true, 240 | "optional": true, 241 | "os": [ 242 | "linux" 243 | ], 244 | "engines": { 245 | "node": ">=12" 246 | } 247 | }, 248 | "node_modules/@esbuild/linux-arm64": { 249 | "version": "0.18.11", 250 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", 251 | "integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", 252 | "cpu": [ 253 | "arm64" 254 | ], 255 | "dev": true, 256 | "optional": true, 257 | "os": [ 258 | "linux" 259 | ], 260 | "engines": { 261 | "node": ">=12" 262 | } 263 | }, 264 | "node_modules/@esbuild/linux-ia32": { 265 | "version": "0.18.11", 266 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", 267 | "integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", 268 | "cpu": [ 269 | "ia32" 270 | ], 271 | "dev": true, 272 | "optional": true, 273 | "os": [ 274 | "linux" 275 | ], 276 | "engines": { 277 | "node": ">=12" 278 | } 279 | }, 280 | "node_modules/@esbuild/linux-loong64": { 281 | "version": "0.18.11", 282 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", 283 | "integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", 284 | "cpu": [ 285 | "loong64" 286 | ], 287 | "dev": true, 288 | "optional": true, 289 | "os": [ 290 | "linux" 291 | ], 292 | "engines": { 293 | "node": ">=12" 294 | } 295 | }, 296 | "node_modules/@esbuild/linux-mips64el": { 297 | "version": "0.18.11", 298 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", 299 | "integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", 300 | "cpu": [ 301 | "mips64el" 302 | ], 303 | "dev": true, 304 | "optional": true, 305 | "os": [ 306 | "linux" 307 | ], 308 | "engines": { 309 | "node": ">=12" 310 | } 311 | }, 312 | "node_modules/@esbuild/linux-ppc64": { 313 | "version": "0.18.11", 314 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", 315 | "integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", 316 | "cpu": [ 317 | "ppc64" 318 | ], 319 | "dev": true, 320 | "optional": true, 321 | "os": [ 322 | "linux" 323 | ], 324 | "engines": { 325 | "node": ">=12" 326 | } 327 | }, 328 | "node_modules/@esbuild/linux-riscv64": { 329 | "version": "0.18.11", 330 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", 331 | "integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", 332 | "cpu": [ 333 | "riscv64" 334 | ], 335 | "dev": true, 336 | "optional": true, 337 | "os": [ 338 | "linux" 339 | ], 340 | "engines": { 341 | "node": ">=12" 342 | } 343 | }, 344 | "node_modules/@esbuild/linux-s390x": { 345 | "version": "0.18.11", 346 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", 347 | "integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", 348 | "cpu": [ 349 | "s390x" 350 | ], 351 | "dev": true, 352 | "optional": true, 353 | "os": [ 354 | "linux" 355 | ], 356 | "engines": { 357 | "node": ">=12" 358 | } 359 | }, 360 | "node_modules/@esbuild/linux-x64": { 361 | "version": "0.18.11", 362 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", 363 | "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", 364 | "cpu": [ 365 | "x64" 366 | ], 367 | "dev": true, 368 | "optional": true, 369 | "os": [ 370 | "linux" 371 | ], 372 | "engines": { 373 | "node": ">=12" 374 | } 375 | }, 376 | "node_modules/@esbuild/netbsd-x64": { 377 | "version": "0.18.11", 378 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", 379 | "integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", 380 | "cpu": [ 381 | "x64" 382 | ], 383 | "dev": true, 384 | "optional": true, 385 | "os": [ 386 | "netbsd" 387 | ], 388 | "engines": { 389 | "node": ">=12" 390 | } 391 | }, 392 | "node_modules/@esbuild/openbsd-x64": { 393 | "version": "0.18.11", 394 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", 395 | "integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", 396 | "cpu": [ 397 | "x64" 398 | ], 399 | "dev": true, 400 | "optional": true, 401 | "os": [ 402 | "openbsd" 403 | ], 404 | "engines": { 405 | "node": ">=12" 406 | } 407 | }, 408 | "node_modules/@esbuild/sunos-x64": { 409 | "version": "0.18.11", 410 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", 411 | "integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", 412 | "cpu": [ 413 | "x64" 414 | ], 415 | "dev": true, 416 | "optional": true, 417 | "os": [ 418 | "sunos" 419 | ], 420 | "engines": { 421 | "node": ">=12" 422 | } 423 | }, 424 | "node_modules/@esbuild/win32-arm64": { 425 | "version": "0.18.11", 426 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", 427 | "integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", 428 | "cpu": [ 429 | "arm64" 430 | ], 431 | "dev": true, 432 | "optional": true, 433 | "os": [ 434 | "win32" 435 | ], 436 | "engines": { 437 | "node": ">=12" 438 | } 439 | }, 440 | "node_modules/@esbuild/win32-ia32": { 441 | "version": "0.18.11", 442 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", 443 | "integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", 444 | "cpu": [ 445 | "ia32" 446 | ], 447 | "dev": true, 448 | "optional": true, 449 | "os": [ 450 | "win32" 451 | ], 452 | "engines": { 453 | "node": ">=12" 454 | } 455 | }, 456 | "node_modules/@esbuild/win32-x64": { 457 | "version": "0.18.11", 458 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", 459 | "integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", 460 | "cpu": [ 461 | "x64" 462 | ], 463 | "dev": true, 464 | "optional": true, 465 | "os": [ 466 | "win32" 467 | ], 468 | "engines": { 469 | "node": ">=12" 470 | } 471 | }, 472 | "node_modules/@stablelib/aead": { 473 | "version": "1.0.1", 474 | "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", 475 | "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" 476 | }, 477 | "node_modules/@stablelib/binary": { 478 | "version": "1.0.1", 479 | "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", 480 | "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", 481 | "dependencies": { 482 | "@stablelib/int": "^1.0.1" 483 | } 484 | }, 485 | "node_modules/@stablelib/blake2b": { 486 | "version": "1.0.1", 487 | "resolved": "https://registry.npmjs.org/@stablelib/blake2b/-/blake2b-1.0.1.tgz", 488 | "integrity": "sha512-B3KyKoBAjkIFeH7romcF96i+pVFYk7K2SBQ1pZvaxV+epSBXJ+n0C66esUhyz6FF+5FbdQVm77C5fzGFcEZpKA==", 489 | "dependencies": { 490 | "@stablelib/binary": "^1.0.1", 491 | "@stablelib/hash": "^1.0.1", 492 | "@stablelib/wipe": "^1.0.1" 493 | } 494 | }, 495 | "node_modules/@stablelib/bytes": { 496 | "version": "1.0.1", 497 | "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", 498 | "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" 499 | }, 500 | "node_modules/@stablelib/chacha": { 501 | "version": "1.0.1", 502 | "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", 503 | "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", 504 | "dependencies": { 505 | "@stablelib/binary": "^1.0.1", 506 | "@stablelib/wipe": "^1.0.1" 507 | } 508 | }, 509 | "node_modules/@stablelib/chacha20poly1305": { 510 | "version": "1.0.1", 511 | "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", 512 | "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", 513 | "dependencies": { 514 | "@stablelib/aead": "^1.0.1", 515 | "@stablelib/binary": "^1.0.1", 516 | "@stablelib/chacha": "^1.0.1", 517 | "@stablelib/constant-time": "^1.0.1", 518 | "@stablelib/poly1305": "^1.0.1", 519 | "@stablelib/wipe": "^1.0.1" 520 | } 521 | }, 522 | "node_modules/@stablelib/constant-time": { 523 | "version": "1.0.1", 524 | "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", 525 | "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" 526 | }, 527 | "node_modules/@stablelib/ed25519": { 528 | "version": "1.0.3", 529 | "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", 530 | "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", 531 | "dependencies": { 532 | "@stablelib/random": "^1.0.2", 533 | "@stablelib/sha512": "^1.0.1", 534 | "@stablelib/wipe": "^1.0.1" 535 | } 536 | }, 537 | "node_modules/@stablelib/hash": { 538 | "version": "1.0.1", 539 | "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", 540 | "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" 541 | }, 542 | "node_modules/@stablelib/hkdf": { 543 | "version": "1.0.1", 544 | "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", 545 | "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", 546 | "dependencies": { 547 | "@stablelib/hash": "^1.0.1", 548 | "@stablelib/hmac": "^1.0.1", 549 | "@stablelib/wipe": "^1.0.1" 550 | } 551 | }, 552 | "node_modules/@stablelib/hmac": { 553 | "version": "1.0.1", 554 | "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", 555 | "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", 556 | "dependencies": { 557 | "@stablelib/constant-time": "^1.0.1", 558 | "@stablelib/hash": "^1.0.1", 559 | "@stablelib/wipe": "^1.0.1" 560 | } 561 | }, 562 | "node_modules/@stablelib/int": { 563 | "version": "1.0.1", 564 | "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", 565 | "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" 566 | }, 567 | "node_modules/@stablelib/keyagreement": { 568 | "version": "1.0.1", 569 | "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", 570 | "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", 571 | "dependencies": { 572 | "@stablelib/bytes": "^1.0.1" 573 | } 574 | }, 575 | "node_modules/@stablelib/nacl": { 576 | "version": "1.0.4", 577 | "resolved": "https://registry.npmjs.org/@stablelib/nacl/-/nacl-1.0.4.tgz", 578 | "integrity": "sha512-PJ2U/MrkXSKUM8C4qFs87WeCNxri7KQwR8Cdwm9q2sweGuAtTvOJGuW0F3N+zn+ySLPJA98SYWSSpogMJ1gCmw==", 579 | "dependencies": { 580 | "@stablelib/poly1305": "^1.0.1", 581 | "@stablelib/random": "^1.0.2", 582 | "@stablelib/wipe": "^1.0.1", 583 | "@stablelib/x25519": "^1.0.3", 584 | "@stablelib/xsalsa20": "^1.0.2" 585 | } 586 | }, 587 | "node_modules/@stablelib/poly1305": { 588 | "version": "1.0.1", 589 | "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", 590 | "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", 591 | "dependencies": { 592 | "@stablelib/constant-time": "^1.0.1", 593 | "@stablelib/wipe": "^1.0.1" 594 | } 595 | }, 596 | "node_modules/@stablelib/random": { 597 | "version": "1.0.2", 598 | "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", 599 | "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", 600 | "dependencies": { 601 | "@stablelib/binary": "^1.0.1", 602 | "@stablelib/wipe": "^1.0.1" 603 | } 604 | }, 605 | "node_modules/@stablelib/salsa20": { 606 | "version": "1.0.2", 607 | "resolved": "https://registry.npmjs.org/@stablelib/salsa20/-/salsa20-1.0.2.tgz", 608 | "integrity": "sha512-nfjKzw0KTKrrKBasEP+j7UP4I8Xudom8lVZIBCp0kQNARXq72IlSic0oabg2FC1NU68L4RdHrNJDd8bFwrphYA==", 609 | "dependencies": { 610 | "@stablelib/binary": "^1.0.1", 611 | "@stablelib/constant-time": "^1.0.1", 612 | "@stablelib/wipe": "^1.0.1" 613 | } 614 | }, 615 | "node_modules/@stablelib/sha256": { 616 | "version": "1.0.1", 617 | "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", 618 | "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", 619 | "dependencies": { 620 | "@stablelib/binary": "^1.0.1", 621 | "@stablelib/hash": "^1.0.1", 622 | "@stablelib/wipe": "^1.0.1" 623 | } 624 | }, 625 | "node_modules/@stablelib/sha512": { 626 | "version": "1.0.1", 627 | "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", 628 | "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", 629 | "dependencies": { 630 | "@stablelib/binary": "^1.0.1", 631 | "@stablelib/hash": "^1.0.1", 632 | "@stablelib/wipe": "^1.0.1" 633 | } 634 | }, 635 | "node_modules/@stablelib/utf8": { 636 | "version": "1.0.1", 637 | "resolved": "https://registry.npmjs.org/@stablelib/utf8/-/utf8-1.0.1.tgz", 638 | "integrity": "sha512-FrYD1xadah/TtAP6VJ04lDD5h9rdDj/d8wH/jMYTtHqZBv9z2btdvEU8vTxdjdkFmo1b/BH+t3R1wi/mYhCCNg==" 639 | }, 640 | "node_modules/@stablelib/wipe": { 641 | "version": "1.0.1", 642 | "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", 643 | "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" 644 | }, 645 | "node_modules/@stablelib/x25519": { 646 | "version": "1.0.3", 647 | "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", 648 | "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", 649 | "dependencies": { 650 | "@stablelib/keyagreement": "^1.0.1", 651 | "@stablelib/random": "^1.0.2", 652 | "@stablelib/wipe": "^1.0.1" 653 | } 654 | }, 655 | "node_modules/@stablelib/x25519-session": { 656 | "version": "1.0.4", 657 | "resolved": "https://registry.npmjs.org/@stablelib/x25519-session/-/x25519-session-1.0.4.tgz", 658 | "integrity": "sha512-UZw67EJWSNTaou7Qp086fzGek7crrCQl2K7MoqEzslXxrm6vybySfcdsqaZ0ZpKq19IHWK8G0wAlFBy70srm3w==", 659 | "dependencies": { 660 | "@stablelib/blake2b": "^1.0.1", 661 | "@stablelib/keyagreement": "^1.0.1", 662 | "@stablelib/random": "^1.0.2", 663 | "@stablelib/wipe": "^1.0.1", 664 | "@stablelib/x25519": "^1.0.3" 665 | } 666 | }, 667 | "node_modules/@stablelib/xsalsa20": { 668 | "version": "1.0.2", 669 | "resolved": "https://registry.npmjs.org/@stablelib/xsalsa20/-/xsalsa20-1.0.2.tgz", 670 | "integrity": "sha512-7XdBGbcNgBShmuhDXv1G1WPVCkjZdkb1oPMzSidO7Fve0MHntH6TjFkj5bfLI+aRE+61weO076vYpP/jmaAYog==", 671 | "dependencies": { 672 | "@stablelib/binary": "^1.0.1", 673 | "@stablelib/salsa20": "^1.0.2", 674 | "@stablelib/wipe": "^1.0.1" 675 | } 676 | }, 677 | "node_modules/@swc/core": { 678 | "version": "1.3.68", 679 | "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.68.tgz", 680 | "integrity": "sha512-njGQuJO+Wy06dEayt70cf0c/KI3HGjm4iW9LLViVLBuYNzJ4SSdNfzejludzufu6im+dsDJ0i3QjgWhAIcVHMQ==", 681 | "dev": true, 682 | "hasInstallScript": true, 683 | "engines": { 684 | "node": ">=10" 685 | }, 686 | "funding": { 687 | "type": "opencollective", 688 | "url": "https://opencollective.com/swc" 689 | }, 690 | "optionalDependencies": { 691 | "@swc/core-darwin-arm64": "1.3.68", 692 | "@swc/core-darwin-x64": "1.3.68", 693 | "@swc/core-linux-arm-gnueabihf": "1.3.68", 694 | "@swc/core-linux-arm64-gnu": "1.3.68", 695 | "@swc/core-linux-arm64-musl": "1.3.68", 696 | "@swc/core-linux-x64-gnu": "1.3.68", 697 | "@swc/core-linux-x64-musl": "1.3.68", 698 | "@swc/core-win32-arm64-msvc": "1.3.68", 699 | "@swc/core-win32-ia32-msvc": "1.3.68", 700 | "@swc/core-win32-x64-msvc": "1.3.68" 701 | }, 702 | "peerDependencies": { 703 | "@swc/helpers": "^0.5.0" 704 | }, 705 | "peerDependenciesMeta": { 706 | "@swc/helpers": { 707 | "optional": true 708 | } 709 | } 710 | }, 711 | "node_modules/@swc/core-darwin-arm64": { 712 | "version": "1.3.68", 713 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.68.tgz", 714 | "integrity": "sha512-Z5pNxeuP2NxpOHTzDQkJs0wAPLnTlglZnR3WjObijwvdwT/kw1Y5EPDKM/BVSIeG40SPMkDLBbI0aj0qyXzrBA==", 715 | "cpu": [ 716 | "arm64" 717 | ], 718 | "dev": true, 719 | "optional": true, 720 | "os": [ 721 | "darwin" 722 | ], 723 | "engines": { 724 | "node": ">=10" 725 | } 726 | }, 727 | "node_modules/@swc/core-darwin-x64": { 728 | "version": "1.3.68", 729 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.68.tgz", 730 | "integrity": "sha512-ZHl42g6yXhfX4PzAQ0BNvBXpt/OcbAHfubWRN6eXELK3fiNnxL7QBW1if7iizlq6iA+Mj1pwHyyUit1pz0+fgA==", 731 | "cpu": [ 732 | "x64" 733 | ], 734 | "dev": true, 735 | "optional": true, 736 | "os": [ 737 | "darwin" 738 | ], 739 | "engines": { 740 | "node": ">=10" 741 | } 742 | }, 743 | "node_modules/@swc/core-linux-arm-gnueabihf": { 744 | "version": "1.3.68", 745 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.68.tgz", 746 | "integrity": "sha512-Mk8f6KCOQ2CNAR4PtWajIjS6XKSSR7ZYDOCf1GXRxhS3qEyQH7V8elWvqWYqHcT4foO60NUmxA/NOM/dQrdO1A==", 747 | "cpu": [ 748 | "arm" 749 | ], 750 | "dev": true, 751 | "optional": true, 752 | "os": [ 753 | "linux" 754 | ], 755 | "engines": { 756 | "node": ">=10" 757 | } 758 | }, 759 | "node_modules/@swc/core-linux-arm64-gnu": { 760 | "version": "1.3.68", 761 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.68.tgz", 762 | "integrity": "sha512-RhBllggh9t9sIxaRgRcGrVaS7fDk6KsIqR6b9+dwU5OyDr4ZyHWw1ZaH/1/HAebuXYhNBjoNUiRtca6lKRIPgQ==", 763 | "cpu": [ 764 | "arm64" 765 | ], 766 | "dev": true, 767 | "optional": true, 768 | "os": [ 769 | "linux" 770 | ], 771 | "engines": { 772 | "node": ">=10" 773 | } 774 | }, 775 | "node_modules/@swc/core-linux-arm64-musl": { 776 | "version": "1.3.68", 777 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.68.tgz", 778 | "integrity": "sha512-8K3zjU+tFgn6yGDEeD343gkKaHU9dhz77NiVkI1VzwRaT/Ag5pwl5eMQ1yStm8koNFzn3zq6rGjHfI5g2yI5Wg==", 779 | "cpu": [ 780 | "arm64" 781 | ], 782 | "dev": true, 783 | "optional": true, 784 | "os": [ 785 | "linux" 786 | ], 787 | "engines": { 788 | "node": ">=10" 789 | } 790 | }, 791 | "node_modules/@swc/core-linux-x64-gnu": { 792 | "version": "1.3.68", 793 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.68.tgz", 794 | "integrity": "sha512-4xAnvsBOyeTL0AB8GWlRKDM/hsysJ5jr5qvdKKI3rZfJgnnxl/xSX6TJKPsJ8gygfUJ3BmfCbmUmEyeDZ3YPvA==", 795 | "cpu": [ 796 | "x64" 797 | ], 798 | "dev": true, 799 | "optional": true, 800 | "os": [ 801 | "linux" 802 | ], 803 | "engines": { 804 | "node": ">=10" 805 | } 806 | }, 807 | "node_modules/@swc/core-linux-x64-musl": { 808 | "version": "1.3.68", 809 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.68.tgz", 810 | "integrity": "sha512-RCpaBo1fcpy1EFdjF+I7N4lfzOaHXVV0iMw/ABM+0PD6tp3V/9pxsguaZyeAHyEiUlDA6PZ4TfXv5zfnXEgW4Q==", 811 | "cpu": [ 812 | "x64" 813 | ], 814 | "dev": true, 815 | "optional": true, 816 | "os": [ 817 | "linux" 818 | ], 819 | "engines": { 820 | "node": ">=10" 821 | } 822 | }, 823 | "node_modules/@swc/core-win32-arm64-msvc": { 824 | "version": "1.3.68", 825 | "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.68.tgz", 826 | "integrity": "sha512-v2WZvXrSslYEpY1nqpItyamL4DyaJinmOkXvM8Bc1LLKU5rGuvmBdjUYg/5Y+o0AUynuiWubpgHNOkBWiCvfqw==", 827 | "cpu": [ 828 | "arm64" 829 | ], 830 | "dev": true, 831 | "optional": true, 832 | "os": [ 833 | "win32" 834 | ], 835 | "engines": { 836 | "node": ">=10" 837 | } 838 | }, 839 | "node_modules/@swc/core-win32-ia32-msvc": { 840 | "version": "1.3.68", 841 | "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.68.tgz", 842 | "integrity": "sha512-HH5NJrIdzkJs+1xxprie0qSCMBeL9yeEhcC1yZTzYv8bwmabOUSdtKIqS55iYP/2hLWn9CTbvKPmLOIhCopW3Q==", 843 | "cpu": [ 844 | "ia32" 845 | ], 846 | "dev": true, 847 | "optional": true, 848 | "os": [ 849 | "win32" 850 | ], 851 | "engines": { 852 | "node": ">=10" 853 | } 854 | }, 855 | "node_modules/@swc/core-win32-x64-msvc": { 856 | "version": "1.3.68", 857 | "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.68.tgz", 858 | "integrity": "sha512-9HZVtLQUgK8r/yXQdwe0VBexbIcrY6+fBROhs7AAPWdewpaUeLkwQEJk6TbYr9CQuHw26FFGg6SjwAiqXF+kgQ==", 859 | "cpu": [ 860 | "x64" 861 | ], 862 | "dev": true, 863 | "optional": true, 864 | "os": [ 865 | "win32" 866 | ], 867 | "engines": { 868 | "node": ">=10" 869 | } 870 | }, 871 | "node_modules/@taquito/beacon-wallet": { 872 | "version": "17.0.0", 873 | "resolved": "https://registry.npmjs.org/@taquito/beacon-wallet/-/beacon-wallet-17.0.0.tgz", 874 | "integrity": "sha512-OKuN2V2xLMeSb0u3nfzSjZDYV4mIB4pur2eR8xa+NhkXlY0gkQXjmZ3K9lwtjKcU3GI0iv5IVod4blYyHNeNvg==", 875 | "dependencies": { 876 | "@airgap/beacon-dapp": "4.0.2", 877 | "@taquito/core": "^17.0.0", 878 | "@taquito/taquito": "^17.0.0" 879 | }, 880 | "engines": { 881 | "node": ">=16" 882 | } 883 | }, 884 | "node_modules/@taquito/core": { 885 | "version": "17.0.0", 886 | "resolved": "https://registry.npmjs.org/@taquito/core/-/core-17.0.0.tgz", 887 | "integrity": "sha512-N+ww8+whR8T07XZLlcEyjTQCYfAZif9s1dTqagWW0V9l/EIXsnl1tL2MBfZnVcJDMhKoIk1MjofS0gYc0hld2Q==", 888 | "engines": { 889 | "node": ">=16" 890 | } 891 | }, 892 | "node_modules/@taquito/http-utils": { 893 | "version": "17.0.0", 894 | "resolved": "https://registry.npmjs.org/@taquito/http-utils/-/http-utils-17.0.0.tgz", 895 | "integrity": "sha512-oyzZEr7k/HUQotFGGegXyixmUOB9jWsypTjWDmuElutDmO0GjFh33zii7vn57kZ1GmX4f0z45yiBp0w3flvhbA==", 896 | "dependencies": { 897 | "@taquito/core": "^17.0.0", 898 | "axios": "^0.26.0" 899 | }, 900 | "engines": { 901 | "node": ">=16" 902 | } 903 | }, 904 | "node_modules/@taquito/http-utils/node_modules/axios": { 905 | "version": "0.26.1", 906 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", 907 | "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", 908 | "dependencies": { 909 | "follow-redirects": "^1.14.8" 910 | } 911 | }, 912 | "node_modules/@taquito/local-forging": { 913 | "version": "17.0.0", 914 | "resolved": "https://registry.npmjs.org/@taquito/local-forging/-/local-forging-17.0.0.tgz", 915 | "integrity": "sha512-5VSbNGFb9WX9o/7mg49PjnwNeYMbf4JRZvrmxxWcffvfaNFnNW5X1iys+I7kHQA6HivhX73d6lVBiJkq2cQ3ag==", 916 | "dependencies": { 917 | "@taquito/core": "^17.0.0", 918 | "@taquito/utils": "^17.0.0", 919 | "bignumber.js": "^9.1.0" 920 | }, 921 | "engines": { 922 | "node": ">=16" 923 | } 924 | }, 925 | "node_modules/@taquito/michel-codec": { 926 | "version": "17.0.0", 927 | "resolved": "https://registry.npmjs.org/@taquito/michel-codec/-/michel-codec-17.0.0.tgz", 928 | "integrity": "sha512-0wD4r1bfBzoZ3QpxN7grD/gHt8RcNehQ7Ped4quKh4iGmNmd4ej+/LEvw/kX5082M4mGbUMC0UwH2Go+J6C1ow==", 929 | "dependencies": { 930 | "@taquito/core": "^17.0.0" 931 | }, 932 | "engines": { 933 | "node": ">=16" 934 | } 935 | }, 936 | "node_modules/@taquito/michelson-encoder": { 937 | "version": "17.0.0", 938 | "resolved": "https://registry.npmjs.org/@taquito/michelson-encoder/-/michelson-encoder-17.0.0.tgz", 939 | "integrity": "sha512-K2y8i7qjniWwjgI2illmBSiWO5B7zYBwTPS+CMw9OsxfMSaw5z8x4dMeBw5Bumc1p2SWo/jcU9U5qOnTVpxdeg==", 940 | "dependencies": { 941 | "@taquito/rpc": "^17.0.0", 942 | "@taquito/utils": "^17.0.0", 943 | "bignumber.js": "^9.1.0", 944 | "fast-json-stable-stringify": "^2.1.0" 945 | }, 946 | "engines": { 947 | "node": ">=16" 948 | } 949 | }, 950 | "node_modules/@taquito/rpc": { 951 | "version": "17.0.0", 952 | "resolved": "https://registry.npmjs.org/@taquito/rpc/-/rpc-17.0.0.tgz", 953 | "integrity": "sha512-5btSJNvdfHdoftXqUWheVh5pxos6YlmRb7q1A2z9Y49ocjz7wqr4aCuXeRsG1iESZ69V2DUr33t51joidVsDXA==", 954 | "dependencies": { 955 | "@taquito/core": "^17.0.0", 956 | "@taquito/http-utils": "^17.0.0", 957 | "@taquito/utils": "^17.0.0", 958 | "bignumber.js": "^9.1.0" 959 | }, 960 | "engines": { 961 | "node": ">=16" 962 | } 963 | }, 964 | "node_modules/@taquito/taquito": { 965 | "version": "17.0.0", 966 | "resolved": "https://registry.npmjs.org/@taquito/taquito/-/taquito-17.0.0.tgz", 967 | "integrity": "sha512-yLrP6lbgO4k1a9PoTDZxIasYmc3QxEJ4R59vgPPIlWQJfz0ZTBV9fPQNlwyTtRjjzgvX1gRN1VtpuddkcGjKrA==", 968 | "hasInstallScript": true, 969 | "dependencies": { 970 | "@taquito/core": "^17.0.0", 971 | "@taquito/http-utils": "^17.0.0", 972 | "@taquito/local-forging": "^17.0.0", 973 | "@taquito/michel-codec": "^17.0.0", 974 | "@taquito/michelson-encoder": "^17.0.0", 975 | "@taquito/rpc": "^17.0.0", 976 | "@taquito/utils": "^17.0.0", 977 | "bignumber.js": "^9.1.0", 978 | "rxjs": "^6.6.3" 979 | }, 980 | "engines": { 981 | "node": ">=16" 982 | } 983 | }, 984 | "node_modules/@taquito/utils": { 985 | "version": "17.0.0", 986 | "resolved": "https://registry.npmjs.org/@taquito/utils/-/utils-17.0.0.tgz", 987 | "integrity": "sha512-/Bg4UoQenriINVK727OpK0AWe1x1SFSdiRZD3cGMMu2fXaFQdG2Hx031bf46GN+Tqk/PuDchjA83UfQk05qBXQ==", 988 | "dependencies": { 989 | "@stablelib/blake2b": "^1.0.1", 990 | "@stablelib/ed25519": "^1.0.3", 991 | "@taquito/core": "^17.0.0", 992 | "@types/bs58check": "^2.1.0", 993 | "bignumber.js": "^9.1.0", 994 | "blakejs": "^1.2.1", 995 | "bs58check": "^2.1.2", 996 | "buffer": "^6.0.3", 997 | "elliptic": "^6.5.4", 998 | "typedarray-to-buffer": "^4.0.0" 999 | }, 1000 | "engines": { 1001 | "node": ">=16" 1002 | } 1003 | }, 1004 | "node_modules/@types/bs58check": { 1005 | "version": "2.1.0", 1006 | "resolved": "https://registry.npmjs.org/@types/bs58check/-/bs58check-2.1.0.tgz", 1007 | "integrity": "sha512-OxsysnJQh82vy9DRbOcw9m2j/WiyqZLn0YBhKxdQ+aCwoHj+tWzyCgpwAkr79IfDXZKxc6h7k89T9pwS78CqTQ==", 1008 | "dependencies": { 1009 | "@types/node": "*" 1010 | } 1011 | }, 1012 | "node_modules/@types/chrome": { 1013 | "version": "0.0.163", 1014 | "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.163.tgz", 1015 | "integrity": "sha512-g+3E2tg/ukFsEgH+tB3a/b+J1VSvq/8gh2Jwih9eq+T3Idrz7ngj97u+/ya58Bfei2TQtPlRivj1FsCaSnukDA==", 1016 | "dependencies": { 1017 | "@types/filesystem": "*", 1018 | "@types/har-format": "*" 1019 | } 1020 | }, 1021 | "node_modules/@types/filesystem": { 1022 | "version": "0.0.32", 1023 | "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.32.tgz", 1024 | "integrity": "sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==", 1025 | "dependencies": { 1026 | "@types/filewriter": "*" 1027 | } 1028 | }, 1029 | "node_modules/@types/filewriter": { 1030 | "version": "0.0.29", 1031 | "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.29.tgz", 1032 | "integrity": "sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==" 1033 | }, 1034 | "node_modules/@types/har-format": { 1035 | "version": "1.2.11", 1036 | "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.11.tgz", 1037 | "integrity": "sha512-T232/TneofqK30AD1LRrrf8KnjLvzrjWDp7eWST5KoiSzrBfRsLrWDPk4STQPW4NZG6v2MltnduBVmakbZOBIQ==" 1038 | }, 1039 | "node_modules/@types/node": { 1040 | "version": "20.4.1", 1041 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", 1042 | "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==" 1043 | }, 1044 | "node_modules/@types/prop-types": { 1045 | "version": "15.7.5", 1046 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 1047 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 1048 | "dev": true 1049 | }, 1050 | "node_modules/@types/react": { 1051 | "version": "18.2.14", 1052 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.14.tgz", 1053 | "integrity": "sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==", 1054 | "dev": true, 1055 | "dependencies": { 1056 | "@types/prop-types": "*", 1057 | "@types/scheduler": "*", 1058 | "csstype": "^3.0.2" 1059 | } 1060 | }, 1061 | "node_modules/@types/react-dom": { 1062 | "version": "18.2.6", 1063 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", 1064 | "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", 1065 | "dev": true, 1066 | "dependencies": { 1067 | "@types/react": "*" 1068 | } 1069 | }, 1070 | "node_modules/@types/scheduler": { 1071 | "version": "0.16.3", 1072 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", 1073 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", 1074 | "dev": true 1075 | }, 1076 | "node_modules/@vitejs/plugin-react-swc": { 1077 | "version": "3.3.2", 1078 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.2.tgz", 1079 | "integrity": "sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA==", 1080 | "dev": true, 1081 | "dependencies": { 1082 | "@swc/core": "^1.3.61" 1083 | }, 1084 | "peerDependencies": { 1085 | "vite": "^4" 1086 | } 1087 | }, 1088 | "node_modules/@walletconnect/core": { 1089 | "version": "2.7.0", 1090 | "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.7.0.tgz", 1091 | "integrity": "sha512-xUeFPpElybgn1a+lknqtHleei4VyuV/4qWgB1nP8qQUAO6a5pNsioODrnB2VAPdUHJYBdx2dCt2maRk6g53IPQ==", 1092 | "dependencies": { 1093 | "@walletconnect/heartbeat": "1.2.1", 1094 | "@walletconnect/jsonrpc-provider": "^1.0.12", 1095 | "@walletconnect/jsonrpc-utils": "^1.0.7", 1096 | "@walletconnect/jsonrpc-ws-connection": "^1.0.11", 1097 | "@walletconnect/keyvaluestorage": "^1.0.2", 1098 | "@walletconnect/logger": "^2.0.1", 1099 | "@walletconnect/relay-api": "^1.0.9", 1100 | "@walletconnect/relay-auth": "^1.0.4", 1101 | "@walletconnect/safe-json": "^1.0.2", 1102 | "@walletconnect/time": "^1.0.2", 1103 | "@walletconnect/types": "2.7.0", 1104 | "@walletconnect/utils": "2.7.0", 1105 | "events": "^3.3.0", 1106 | "lodash.isequal": "4.5.0", 1107 | "uint8arrays": "^3.1.0" 1108 | } 1109 | }, 1110 | "node_modules/@walletconnect/environment": { 1111 | "version": "1.0.1", 1112 | "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", 1113 | "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", 1114 | "dependencies": { 1115 | "tslib": "1.14.1" 1116 | } 1117 | }, 1118 | "node_modules/@walletconnect/events": { 1119 | "version": "1.0.1", 1120 | "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", 1121 | "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", 1122 | "dependencies": { 1123 | "keyvaluestorage-interface": "^1.0.0", 1124 | "tslib": "1.14.1" 1125 | } 1126 | }, 1127 | "node_modules/@walletconnect/heartbeat": { 1128 | "version": "1.2.1", 1129 | "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz", 1130 | "integrity": "sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==", 1131 | "dependencies": { 1132 | "@walletconnect/events": "^1.0.1", 1133 | "@walletconnect/time": "^1.0.2", 1134 | "tslib": "1.14.1" 1135 | } 1136 | }, 1137 | "node_modules/@walletconnect/jsonrpc-provider": { 1138 | "version": "1.0.13", 1139 | "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz", 1140 | "integrity": "sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==", 1141 | "dependencies": { 1142 | "@walletconnect/jsonrpc-utils": "^1.0.8", 1143 | "@walletconnect/safe-json": "^1.0.2", 1144 | "tslib": "1.14.1" 1145 | } 1146 | }, 1147 | "node_modules/@walletconnect/jsonrpc-types": { 1148 | "version": "1.0.3", 1149 | "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz", 1150 | "integrity": "sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==", 1151 | "dependencies": { 1152 | "keyvaluestorage-interface": "^1.0.0", 1153 | "tslib": "1.14.1" 1154 | } 1155 | }, 1156 | "node_modules/@walletconnect/jsonrpc-utils": { 1157 | "version": "1.0.8", 1158 | "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", 1159 | "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", 1160 | "dependencies": { 1161 | "@walletconnect/environment": "^1.0.1", 1162 | "@walletconnect/jsonrpc-types": "^1.0.3", 1163 | "tslib": "1.14.1" 1164 | } 1165 | }, 1166 | "node_modules/@walletconnect/jsonrpc-ws-connection": { 1167 | "version": "1.0.13", 1168 | "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz", 1169 | "integrity": "sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg==", 1170 | "dependencies": { 1171 | "@walletconnect/jsonrpc-utils": "^1.0.6", 1172 | "@walletconnect/safe-json": "^1.0.2", 1173 | "events": "^3.3.0", 1174 | "tslib": "1.14.1", 1175 | "ws": "^7.5.1" 1176 | } 1177 | }, 1178 | "node_modules/@walletconnect/keyvaluestorage": { 1179 | "version": "1.0.2", 1180 | "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", 1181 | "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", 1182 | "dependencies": { 1183 | "safe-json-utils": "^1.1.1", 1184 | "tslib": "1.14.1" 1185 | }, 1186 | "peerDependencies": { 1187 | "@react-native-async-storage/async-storage": "1.x", 1188 | "lokijs": "1.x" 1189 | }, 1190 | "peerDependenciesMeta": { 1191 | "@react-native-async-storage/async-storage": { 1192 | "optional": true 1193 | }, 1194 | "lokijs": { 1195 | "optional": true 1196 | } 1197 | } 1198 | }, 1199 | "node_modules/@walletconnect/logger": { 1200 | "version": "2.0.1", 1201 | "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", 1202 | "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", 1203 | "dependencies": { 1204 | "pino": "7.11.0", 1205 | "tslib": "1.14.1" 1206 | } 1207 | }, 1208 | "node_modules/@walletconnect/relay-api": { 1209 | "version": "1.0.9", 1210 | "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz", 1211 | "integrity": "sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==", 1212 | "dependencies": { 1213 | "@walletconnect/jsonrpc-types": "^1.0.2", 1214 | "tslib": "1.14.1" 1215 | } 1216 | }, 1217 | "node_modules/@walletconnect/relay-auth": { 1218 | "version": "1.0.4", 1219 | "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", 1220 | "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", 1221 | "dependencies": { 1222 | "@stablelib/ed25519": "^1.0.2", 1223 | "@stablelib/random": "^1.0.1", 1224 | "@walletconnect/safe-json": "^1.0.1", 1225 | "@walletconnect/time": "^1.0.2", 1226 | "tslib": "1.14.1", 1227 | "uint8arrays": "^3.0.0" 1228 | } 1229 | }, 1230 | "node_modules/@walletconnect/safe-json": { 1231 | "version": "1.0.2", 1232 | "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", 1233 | "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", 1234 | "dependencies": { 1235 | "tslib": "1.14.1" 1236 | } 1237 | }, 1238 | "node_modules/@walletconnect/sign-client": { 1239 | "version": "2.7.0", 1240 | "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.7.0.tgz", 1241 | "integrity": "sha512-K99xa6GSFS04U+140yrIEi/VJJJ0Q1ov4jCaiqa9euILDKxlBsM7m5GR+9sq6oYyj18SluJY4CJTdeOXUJlarA==", 1242 | "dependencies": { 1243 | "@walletconnect/core": "2.7.0", 1244 | "@walletconnect/events": "^1.0.1", 1245 | "@walletconnect/heartbeat": "1.2.1", 1246 | "@walletconnect/jsonrpc-utils": "^1.0.7", 1247 | "@walletconnect/logger": "^2.0.1", 1248 | "@walletconnect/time": "^1.0.2", 1249 | "@walletconnect/types": "2.7.0", 1250 | "@walletconnect/utils": "2.7.0", 1251 | "events": "^3.3.0" 1252 | } 1253 | }, 1254 | "node_modules/@walletconnect/time": { 1255 | "version": "1.0.2", 1256 | "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", 1257 | "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", 1258 | "dependencies": { 1259 | "tslib": "1.14.1" 1260 | } 1261 | }, 1262 | "node_modules/@walletconnect/types": { 1263 | "version": "2.7.0", 1264 | "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.7.0.tgz", 1265 | "integrity": "sha512-aMUDUtO79WSBtC/bDetE6aFwdgwJr0tJ8nC8gnAl5ELsrjygEKCn6M8Q+v6nP9svG9yf5Rds4cImxCT6BWwTyw==", 1266 | "dependencies": { 1267 | "@walletconnect/events": "^1.0.1", 1268 | "@walletconnect/heartbeat": "1.2.1", 1269 | "@walletconnect/jsonrpc-types": "^1.0.2", 1270 | "@walletconnect/keyvaluestorage": "^1.0.2", 1271 | "@walletconnect/logger": "^2.0.1", 1272 | "events": "^3.3.0" 1273 | } 1274 | }, 1275 | "node_modules/@walletconnect/utils": { 1276 | "version": "2.7.0", 1277 | "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.7.0.tgz", 1278 | "integrity": "sha512-k32jrQeyJsNZPdmtmg85Y3QgaS5YfzYSPrAxRC2uUD1ts7rrI6P5GG2iXNs3AvWKOuCgsp/PqU8s7AC7CRUscw==", 1279 | "dependencies": { 1280 | "@stablelib/chacha20poly1305": "1.0.1", 1281 | "@stablelib/hkdf": "1.0.1", 1282 | "@stablelib/random": "^1.0.2", 1283 | "@stablelib/sha256": "1.0.1", 1284 | "@stablelib/x25519": "^1.0.3", 1285 | "@walletconnect/jsonrpc-utils": "^1.0.7", 1286 | "@walletconnect/relay-api": "^1.0.9", 1287 | "@walletconnect/safe-json": "^1.0.2", 1288 | "@walletconnect/time": "^1.0.2", 1289 | "@walletconnect/types": "2.7.0", 1290 | "@walletconnect/window-getters": "^1.0.1", 1291 | "@walletconnect/window-metadata": "^1.0.1", 1292 | "detect-browser": "5.3.0", 1293 | "query-string": "7.1.1", 1294 | "uint8arrays": "^3.1.0" 1295 | } 1296 | }, 1297 | "node_modules/@walletconnect/window-getters": { 1298 | "version": "1.0.1", 1299 | "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", 1300 | "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", 1301 | "dependencies": { 1302 | "tslib": "1.14.1" 1303 | } 1304 | }, 1305 | "node_modules/@walletconnect/window-metadata": { 1306 | "version": "1.0.1", 1307 | "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", 1308 | "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", 1309 | "dependencies": { 1310 | "@walletconnect/window-getters": "^1.0.1", 1311 | "tslib": "1.14.1" 1312 | } 1313 | }, 1314 | "node_modules/atomic-sleep": { 1315 | "version": "1.0.0", 1316 | "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", 1317 | "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", 1318 | "engines": { 1319 | "node": ">=8.0.0" 1320 | } 1321 | }, 1322 | "node_modules/available-typed-arrays": { 1323 | "version": "1.0.5", 1324 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", 1325 | "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", 1326 | "engines": { 1327 | "node": ">= 0.4" 1328 | }, 1329 | "funding": { 1330 | "url": "https://github.com/sponsors/ljharb" 1331 | } 1332 | }, 1333 | "node_modules/axios": { 1334 | "version": "0.24.0", 1335 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", 1336 | "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", 1337 | "dependencies": { 1338 | "follow-redirects": "^1.14.4" 1339 | } 1340 | }, 1341 | "node_modules/base-x": { 1342 | "version": "3.0.9", 1343 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", 1344 | "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", 1345 | "dependencies": { 1346 | "safe-buffer": "^5.0.1" 1347 | } 1348 | }, 1349 | "node_modules/base64-js": { 1350 | "version": "1.5.1", 1351 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 1352 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 1353 | "funding": [ 1354 | { 1355 | "type": "github", 1356 | "url": "https://github.com/sponsors/feross" 1357 | }, 1358 | { 1359 | "type": "patreon", 1360 | "url": "https://www.patreon.com/feross" 1361 | }, 1362 | { 1363 | "type": "consulting", 1364 | "url": "https://feross.org/support" 1365 | } 1366 | ] 1367 | }, 1368 | "node_modules/bignumber.js": { 1369 | "version": "9.1.1", 1370 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", 1371 | "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", 1372 | "engines": { 1373 | "node": "*" 1374 | } 1375 | }, 1376 | "node_modules/blakejs": { 1377 | "version": "1.2.1", 1378 | "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", 1379 | "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" 1380 | }, 1381 | "node_modules/bn.js": { 1382 | "version": "4.12.0", 1383 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 1384 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 1385 | }, 1386 | "node_modules/brorand": { 1387 | "version": "1.1.0", 1388 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 1389 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" 1390 | }, 1391 | "node_modules/bs58": { 1392 | "version": "4.0.1", 1393 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", 1394 | "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", 1395 | "dependencies": { 1396 | "base-x": "^3.0.2" 1397 | } 1398 | }, 1399 | "node_modules/bs58check": { 1400 | "version": "2.1.2", 1401 | "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", 1402 | "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", 1403 | "dependencies": { 1404 | "bs58": "^4.0.0", 1405 | "create-hash": "^1.1.0", 1406 | "safe-buffer": "^5.1.2" 1407 | } 1408 | }, 1409 | "node_modules/buffer": { 1410 | "version": "6.0.3", 1411 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 1412 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 1413 | "funding": [ 1414 | { 1415 | "type": "github", 1416 | "url": "https://github.com/sponsors/feross" 1417 | }, 1418 | { 1419 | "type": "patreon", 1420 | "url": "https://www.patreon.com/feross" 1421 | }, 1422 | { 1423 | "type": "consulting", 1424 | "url": "https://feross.org/support" 1425 | } 1426 | ], 1427 | "dependencies": { 1428 | "base64-js": "^1.3.1", 1429 | "ieee754": "^1.2.1" 1430 | } 1431 | }, 1432 | "node_modules/call-bind": { 1433 | "version": "1.0.2", 1434 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 1435 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 1436 | "dependencies": { 1437 | "function-bind": "^1.1.1", 1438 | "get-intrinsic": "^1.0.2" 1439 | }, 1440 | "funding": { 1441 | "url": "https://github.com/sponsors/ljharb" 1442 | } 1443 | }, 1444 | "node_modules/cipher-base": { 1445 | "version": "1.0.4", 1446 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 1447 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 1448 | "dependencies": { 1449 | "inherits": "^2.0.1", 1450 | "safe-buffer": "^5.0.1" 1451 | } 1452 | }, 1453 | "node_modules/create-hash": { 1454 | "version": "1.2.0", 1455 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 1456 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 1457 | "dependencies": { 1458 | "cipher-base": "^1.0.1", 1459 | "inherits": "^2.0.1", 1460 | "md5.js": "^1.3.4", 1461 | "ripemd160": "^2.0.1", 1462 | "sha.js": "^2.4.0" 1463 | } 1464 | }, 1465 | "node_modules/csstype": { 1466 | "version": "3.1.2", 1467 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 1468 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" 1469 | }, 1470 | "node_modules/decode-uri-component": { 1471 | "version": "0.2.2", 1472 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", 1473 | "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", 1474 | "engines": { 1475 | "node": ">=0.10" 1476 | } 1477 | }, 1478 | "node_modules/detect-browser": { 1479 | "version": "5.3.0", 1480 | "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", 1481 | "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" 1482 | }, 1483 | "node_modules/duplexify": { 1484 | "version": "4.1.2", 1485 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", 1486 | "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", 1487 | "dependencies": { 1488 | "end-of-stream": "^1.4.1", 1489 | "inherits": "^2.0.3", 1490 | "readable-stream": "^3.1.1", 1491 | "stream-shift": "^1.0.0" 1492 | } 1493 | }, 1494 | "node_modules/elliptic": { 1495 | "version": "6.5.4", 1496 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", 1497 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", 1498 | "dependencies": { 1499 | "bn.js": "^4.11.9", 1500 | "brorand": "^1.1.0", 1501 | "hash.js": "^1.0.0", 1502 | "hmac-drbg": "^1.0.1", 1503 | "inherits": "^2.0.4", 1504 | "minimalistic-assert": "^1.0.1", 1505 | "minimalistic-crypto-utils": "^1.0.1" 1506 | } 1507 | }, 1508 | "node_modules/end-of-stream": { 1509 | "version": "1.4.4", 1510 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 1511 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 1512 | "dependencies": { 1513 | "once": "^1.4.0" 1514 | } 1515 | }, 1516 | "node_modules/esbuild": { 1517 | "version": "0.18.11", 1518 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", 1519 | "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", 1520 | "dev": true, 1521 | "hasInstallScript": true, 1522 | "bin": { 1523 | "esbuild": "bin/esbuild" 1524 | }, 1525 | "engines": { 1526 | "node": ">=12" 1527 | }, 1528 | "optionalDependencies": { 1529 | "@esbuild/android-arm": "0.18.11", 1530 | "@esbuild/android-arm64": "0.18.11", 1531 | "@esbuild/android-x64": "0.18.11", 1532 | "@esbuild/darwin-arm64": "0.18.11", 1533 | "@esbuild/darwin-x64": "0.18.11", 1534 | "@esbuild/freebsd-arm64": "0.18.11", 1535 | "@esbuild/freebsd-x64": "0.18.11", 1536 | "@esbuild/linux-arm": "0.18.11", 1537 | "@esbuild/linux-arm64": "0.18.11", 1538 | "@esbuild/linux-ia32": "0.18.11", 1539 | "@esbuild/linux-loong64": "0.18.11", 1540 | "@esbuild/linux-mips64el": "0.18.11", 1541 | "@esbuild/linux-ppc64": "0.18.11", 1542 | "@esbuild/linux-riscv64": "0.18.11", 1543 | "@esbuild/linux-s390x": "0.18.11", 1544 | "@esbuild/linux-x64": "0.18.11", 1545 | "@esbuild/netbsd-x64": "0.18.11", 1546 | "@esbuild/openbsd-x64": "0.18.11", 1547 | "@esbuild/sunos-x64": "0.18.11", 1548 | "@esbuild/win32-arm64": "0.18.11", 1549 | "@esbuild/win32-ia32": "0.18.11", 1550 | "@esbuild/win32-x64": "0.18.11" 1551 | } 1552 | }, 1553 | "node_modules/events": { 1554 | "version": "3.3.0", 1555 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 1556 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 1557 | "engines": { 1558 | "node": ">=0.8.x" 1559 | } 1560 | }, 1561 | "node_modules/fast-json-stable-stringify": { 1562 | "version": "2.1.0", 1563 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1564 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 1565 | }, 1566 | "node_modules/fast-redact": { 1567 | "version": "3.2.0", 1568 | "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.2.0.tgz", 1569 | "integrity": "sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==", 1570 | "engines": { 1571 | "node": ">=6" 1572 | } 1573 | }, 1574 | "node_modules/filter-obj": { 1575 | "version": "1.1.0", 1576 | "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", 1577 | "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", 1578 | "engines": { 1579 | "node": ">=0.10.0" 1580 | } 1581 | }, 1582 | "node_modules/follow-redirects": { 1583 | "version": "1.15.2", 1584 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 1585 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", 1586 | "funding": [ 1587 | { 1588 | "type": "individual", 1589 | "url": "https://github.com/sponsors/RubenVerborgh" 1590 | } 1591 | ], 1592 | "engines": { 1593 | "node": ">=4.0" 1594 | }, 1595 | "peerDependenciesMeta": { 1596 | "debug": { 1597 | "optional": true 1598 | } 1599 | } 1600 | }, 1601 | "node_modules/for-each": { 1602 | "version": "0.3.3", 1603 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", 1604 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", 1605 | "dependencies": { 1606 | "is-callable": "^1.1.3" 1607 | } 1608 | }, 1609 | "node_modules/fsevents": { 1610 | "version": "2.3.2", 1611 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1612 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1613 | "dev": true, 1614 | "hasInstallScript": true, 1615 | "optional": true, 1616 | "os": [ 1617 | "darwin" 1618 | ], 1619 | "engines": { 1620 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1621 | } 1622 | }, 1623 | "node_modules/function-bind": { 1624 | "version": "1.1.1", 1625 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1626 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1627 | }, 1628 | "node_modules/get-intrinsic": { 1629 | "version": "1.2.1", 1630 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", 1631 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", 1632 | "dependencies": { 1633 | "function-bind": "^1.1.1", 1634 | "has": "^1.0.3", 1635 | "has-proto": "^1.0.1", 1636 | "has-symbols": "^1.0.3" 1637 | }, 1638 | "funding": { 1639 | "url": "https://github.com/sponsors/ljharb" 1640 | } 1641 | }, 1642 | "node_modules/gopd": { 1643 | "version": "1.0.1", 1644 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 1645 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 1646 | "dependencies": { 1647 | "get-intrinsic": "^1.1.3" 1648 | }, 1649 | "funding": { 1650 | "url": "https://github.com/sponsors/ljharb" 1651 | } 1652 | }, 1653 | "node_modules/has": { 1654 | "version": "1.0.3", 1655 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1656 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1657 | "dependencies": { 1658 | "function-bind": "^1.1.1" 1659 | }, 1660 | "engines": { 1661 | "node": ">= 0.4.0" 1662 | } 1663 | }, 1664 | "node_modules/has-proto": { 1665 | "version": "1.0.1", 1666 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 1667 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", 1668 | "engines": { 1669 | "node": ">= 0.4" 1670 | }, 1671 | "funding": { 1672 | "url": "https://github.com/sponsors/ljharb" 1673 | } 1674 | }, 1675 | "node_modules/has-symbols": { 1676 | "version": "1.0.3", 1677 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1678 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 1679 | "engines": { 1680 | "node": ">= 0.4" 1681 | }, 1682 | "funding": { 1683 | "url": "https://github.com/sponsors/ljharb" 1684 | } 1685 | }, 1686 | "node_modules/has-tostringtag": { 1687 | "version": "1.0.0", 1688 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 1689 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 1690 | "dependencies": { 1691 | "has-symbols": "^1.0.2" 1692 | }, 1693 | "engines": { 1694 | "node": ">= 0.4" 1695 | }, 1696 | "funding": { 1697 | "url": "https://github.com/sponsors/ljharb" 1698 | } 1699 | }, 1700 | "node_modules/hash-base": { 1701 | "version": "3.1.0", 1702 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", 1703 | "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", 1704 | "dependencies": { 1705 | "inherits": "^2.0.4", 1706 | "readable-stream": "^3.6.0", 1707 | "safe-buffer": "^5.2.0" 1708 | }, 1709 | "engines": { 1710 | "node": ">=4" 1711 | } 1712 | }, 1713 | "node_modules/hash.js": { 1714 | "version": "1.1.7", 1715 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 1716 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 1717 | "dependencies": { 1718 | "inherits": "^2.0.3", 1719 | "minimalistic-assert": "^1.0.1" 1720 | } 1721 | }, 1722 | "node_modules/hmac-drbg": { 1723 | "version": "1.0.1", 1724 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1725 | "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", 1726 | "dependencies": { 1727 | "hash.js": "^1.0.3", 1728 | "minimalistic-assert": "^1.0.0", 1729 | "minimalistic-crypto-utils": "^1.0.1" 1730 | } 1731 | }, 1732 | "node_modules/ieee754": { 1733 | "version": "1.2.1", 1734 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1735 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1736 | "funding": [ 1737 | { 1738 | "type": "github", 1739 | "url": "https://github.com/sponsors/feross" 1740 | }, 1741 | { 1742 | "type": "patreon", 1743 | "url": "https://www.patreon.com/feross" 1744 | }, 1745 | { 1746 | "type": "consulting", 1747 | "url": "https://feross.org/support" 1748 | } 1749 | ] 1750 | }, 1751 | "node_modules/inherits": { 1752 | "version": "2.0.4", 1753 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1754 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1755 | }, 1756 | "node_modules/is-arguments": { 1757 | "version": "1.1.1", 1758 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", 1759 | "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", 1760 | "dependencies": { 1761 | "call-bind": "^1.0.2", 1762 | "has-tostringtag": "^1.0.0" 1763 | }, 1764 | "engines": { 1765 | "node": ">= 0.4" 1766 | }, 1767 | "funding": { 1768 | "url": "https://github.com/sponsors/ljharb" 1769 | } 1770 | }, 1771 | "node_modules/is-callable": { 1772 | "version": "1.2.7", 1773 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", 1774 | "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", 1775 | "engines": { 1776 | "node": ">= 0.4" 1777 | }, 1778 | "funding": { 1779 | "url": "https://github.com/sponsors/ljharb" 1780 | } 1781 | }, 1782 | "node_modules/is-generator-function": { 1783 | "version": "1.0.10", 1784 | "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", 1785 | "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", 1786 | "dependencies": { 1787 | "has-tostringtag": "^1.0.0" 1788 | }, 1789 | "engines": { 1790 | "node": ">= 0.4" 1791 | }, 1792 | "funding": { 1793 | "url": "https://github.com/sponsors/ljharb" 1794 | } 1795 | }, 1796 | "node_modules/is-typed-array": { 1797 | "version": "1.1.10", 1798 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", 1799 | "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", 1800 | "dependencies": { 1801 | "available-typed-arrays": "^1.0.5", 1802 | "call-bind": "^1.0.2", 1803 | "for-each": "^0.3.3", 1804 | "gopd": "^1.0.1", 1805 | "has-tostringtag": "^1.0.0" 1806 | }, 1807 | "engines": { 1808 | "node": ">= 0.4" 1809 | }, 1810 | "funding": { 1811 | "url": "https://github.com/sponsors/ljharb" 1812 | } 1813 | }, 1814 | "node_modules/js-tokens": { 1815 | "version": "4.0.0", 1816 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1817 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1818 | }, 1819 | "node_modules/keyvaluestorage-interface": { 1820 | "version": "1.0.0", 1821 | "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", 1822 | "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" 1823 | }, 1824 | "node_modules/lodash.isequal": { 1825 | "version": "4.5.0", 1826 | "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", 1827 | "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" 1828 | }, 1829 | "node_modules/loose-envify": { 1830 | "version": "1.4.0", 1831 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1832 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1833 | "dependencies": { 1834 | "js-tokens": "^3.0.0 || ^4.0.0" 1835 | }, 1836 | "bin": { 1837 | "loose-envify": "cli.js" 1838 | } 1839 | }, 1840 | "node_modules/md5.js": { 1841 | "version": "1.3.5", 1842 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 1843 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 1844 | "dependencies": { 1845 | "hash-base": "^3.0.0", 1846 | "inherits": "^2.0.1", 1847 | "safe-buffer": "^5.1.2" 1848 | } 1849 | }, 1850 | "node_modules/minimalistic-assert": { 1851 | "version": "1.0.1", 1852 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 1853 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 1854 | }, 1855 | "node_modules/minimalistic-crypto-utils": { 1856 | "version": "1.0.1", 1857 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 1858 | "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" 1859 | }, 1860 | "node_modules/multiformats": { 1861 | "version": "9.9.0", 1862 | "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 1863 | "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 1864 | }, 1865 | "node_modules/nanoid": { 1866 | "version": "3.3.6", 1867 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1868 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 1869 | "dev": true, 1870 | "funding": [ 1871 | { 1872 | "type": "github", 1873 | "url": "https://github.com/sponsors/ai" 1874 | } 1875 | ], 1876 | "bin": { 1877 | "nanoid": "bin/nanoid.cjs" 1878 | }, 1879 | "engines": { 1880 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1881 | } 1882 | }, 1883 | "node_modules/on-exit-leak-free": { 1884 | "version": "0.2.0", 1885 | "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", 1886 | "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" 1887 | }, 1888 | "node_modules/once": { 1889 | "version": "1.4.0", 1890 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1891 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1892 | "dependencies": { 1893 | "wrappy": "1" 1894 | } 1895 | }, 1896 | "node_modules/picocolors": { 1897 | "version": "1.0.0", 1898 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1899 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1900 | "dev": true 1901 | }, 1902 | "node_modules/pino": { 1903 | "version": "7.11.0", 1904 | "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", 1905 | "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", 1906 | "dependencies": { 1907 | "atomic-sleep": "^1.0.0", 1908 | "fast-redact": "^3.0.0", 1909 | "on-exit-leak-free": "^0.2.0", 1910 | "pino-abstract-transport": "v0.5.0", 1911 | "pino-std-serializers": "^4.0.0", 1912 | "process-warning": "^1.0.0", 1913 | "quick-format-unescaped": "^4.0.3", 1914 | "real-require": "^0.1.0", 1915 | "safe-stable-stringify": "^2.1.0", 1916 | "sonic-boom": "^2.2.1", 1917 | "thread-stream": "^0.15.1" 1918 | }, 1919 | "bin": { 1920 | "pino": "bin.js" 1921 | } 1922 | }, 1923 | "node_modules/pino-abstract-transport": { 1924 | "version": "0.5.0", 1925 | "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", 1926 | "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", 1927 | "dependencies": { 1928 | "duplexify": "^4.1.2", 1929 | "split2": "^4.0.0" 1930 | } 1931 | }, 1932 | "node_modules/pino-std-serializers": { 1933 | "version": "4.0.0", 1934 | "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", 1935 | "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" 1936 | }, 1937 | "node_modules/postcss": { 1938 | "version": "8.4.25", 1939 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz", 1940 | "integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==", 1941 | "dev": true, 1942 | "funding": [ 1943 | { 1944 | "type": "opencollective", 1945 | "url": "https://opencollective.com/postcss/" 1946 | }, 1947 | { 1948 | "type": "tidelift", 1949 | "url": "https://tidelift.com/funding/github/npm/postcss" 1950 | }, 1951 | { 1952 | "type": "github", 1953 | "url": "https://github.com/sponsors/ai" 1954 | } 1955 | ], 1956 | "dependencies": { 1957 | "nanoid": "^3.3.6", 1958 | "picocolors": "^1.0.0", 1959 | "source-map-js": "^1.0.2" 1960 | }, 1961 | "engines": { 1962 | "node": "^10 || ^12 || >=14" 1963 | } 1964 | }, 1965 | "node_modules/process-warning": { 1966 | "version": "1.0.0", 1967 | "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", 1968 | "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" 1969 | }, 1970 | "node_modules/qrcode-generator": { 1971 | "version": "1.4.4", 1972 | "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.4.4.tgz", 1973 | "integrity": "sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw==" 1974 | }, 1975 | "node_modules/qrcode-svg": { 1976 | "version": "1.1.0", 1977 | "resolved": "https://registry.npmjs.org/qrcode-svg/-/qrcode-svg-1.1.0.tgz", 1978 | "integrity": "sha512-XyQCIXux1zEIA3NPb0AeR8UMYvXZzWEhgdBgBjH9gO7M48H9uoHzviNz8pXw3UzrAcxRRRn9gxHewAVK7bn9qw==", 1979 | "bin": { 1980 | "qrcode-svg": "bin/qrcode-svg.js" 1981 | } 1982 | }, 1983 | "node_modules/query-string": { 1984 | "version": "7.1.1", 1985 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", 1986 | "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", 1987 | "dependencies": { 1988 | "decode-uri-component": "^0.2.0", 1989 | "filter-obj": "^1.1.0", 1990 | "split-on-first": "^1.0.0", 1991 | "strict-uri-encode": "^2.0.0" 1992 | }, 1993 | "engines": { 1994 | "node": ">=6" 1995 | }, 1996 | "funding": { 1997 | "url": "https://github.com/sponsors/sindresorhus" 1998 | } 1999 | }, 2000 | "node_modules/quick-format-unescaped": { 2001 | "version": "4.0.4", 2002 | "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", 2003 | "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" 2004 | }, 2005 | "node_modules/react": { 2006 | "version": "18.2.0", 2007 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 2008 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 2009 | "dependencies": { 2010 | "loose-envify": "^1.1.0" 2011 | }, 2012 | "engines": { 2013 | "node": ">=0.10.0" 2014 | } 2015 | }, 2016 | "node_modules/react-dom": { 2017 | "version": "18.2.0", 2018 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 2019 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 2020 | "dependencies": { 2021 | "loose-envify": "^1.1.0", 2022 | "scheduler": "^0.23.0" 2023 | }, 2024 | "peerDependencies": { 2025 | "react": "^18.2.0" 2026 | } 2027 | }, 2028 | "node_modules/readable-stream": { 2029 | "version": "3.6.2", 2030 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 2031 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 2032 | "dependencies": { 2033 | "inherits": "^2.0.3", 2034 | "string_decoder": "^1.1.1", 2035 | "util-deprecate": "^1.0.1" 2036 | }, 2037 | "engines": { 2038 | "node": ">= 6" 2039 | } 2040 | }, 2041 | "node_modules/real-require": { 2042 | "version": "0.1.0", 2043 | "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", 2044 | "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", 2045 | "engines": { 2046 | "node": ">= 12.13.0" 2047 | } 2048 | }, 2049 | "node_modules/ripemd160": { 2050 | "version": "2.0.2", 2051 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 2052 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 2053 | "dependencies": { 2054 | "hash-base": "^3.0.0", 2055 | "inherits": "^2.0.1" 2056 | } 2057 | }, 2058 | "node_modules/rollup": { 2059 | "version": "3.26.2", 2060 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.2.tgz", 2061 | "integrity": "sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==", 2062 | "dev": true, 2063 | "bin": { 2064 | "rollup": "dist/bin/rollup" 2065 | }, 2066 | "engines": { 2067 | "node": ">=14.18.0", 2068 | "npm": ">=8.0.0" 2069 | }, 2070 | "optionalDependencies": { 2071 | "fsevents": "~2.3.2" 2072 | } 2073 | }, 2074 | "node_modules/rxjs": { 2075 | "version": "6.6.7", 2076 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 2077 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 2078 | "dependencies": { 2079 | "tslib": "^1.9.0" 2080 | }, 2081 | "engines": { 2082 | "npm": ">=2.0.0" 2083 | } 2084 | }, 2085 | "node_modules/safe-buffer": { 2086 | "version": "5.2.1", 2087 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2088 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2089 | "funding": [ 2090 | { 2091 | "type": "github", 2092 | "url": "https://github.com/sponsors/feross" 2093 | }, 2094 | { 2095 | "type": "patreon", 2096 | "url": "https://www.patreon.com/feross" 2097 | }, 2098 | { 2099 | "type": "consulting", 2100 | "url": "https://feross.org/support" 2101 | } 2102 | ] 2103 | }, 2104 | "node_modules/safe-json-utils": { 2105 | "version": "1.1.1", 2106 | "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", 2107 | "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==" 2108 | }, 2109 | "node_modules/safe-stable-stringify": { 2110 | "version": "2.4.3", 2111 | "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", 2112 | "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", 2113 | "engines": { 2114 | "node": ">=10" 2115 | } 2116 | }, 2117 | "node_modules/scheduler": { 2118 | "version": "0.23.0", 2119 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 2120 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 2121 | "dependencies": { 2122 | "loose-envify": "^1.1.0" 2123 | } 2124 | }, 2125 | "node_modules/seroval": { 2126 | "version": "0.5.1", 2127 | "resolved": "https://registry.npmjs.org/seroval/-/seroval-0.5.1.tgz", 2128 | "integrity": "sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==", 2129 | "engines": { 2130 | "node": ">=10" 2131 | } 2132 | }, 2133 | "node_modules/sha.js": { 2134 | "version": "2.4.11", 2135 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 2136 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 2137 | "dependencies": { 2138 | "inherits": "^2.0.1", 2139 | "safe-buffer": "^5.0.1" 2140 | }, 2141 | "bin": { 2142 | "sha.js": "bin.js" 2143 | } 2144 | }, 2145 | "node_modules/solid-js": { 2146 | "version": "1.7.7", 2147 | "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.7.7.tgz", 2148 | "integrity": "sha512-SPdYVke/Z6Za24PBTbULyQYPrhGO1ZbPany76atO2zF2dmYn2pCotbsw1JtlgWnr9dK2JbwPGnA3ODTGPLhZNw==", 2149 | "dependencies": { 2150 | "csstype": "^3.1.0", 2151 | "seroval": "^0.5.0" 2152 | } 2153 | }, 2154 | "node_modules/sonic-boom": { 2155 | "version": "2.8.0", 2156 | "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", 2157 | "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", 2158 | "dependencies": { 2159 | "atomic-sleep": "^1.0.0" 2160 | } 2161 | }, 2162 | "node_modules/source-map-js": { 2163 | "version": "1.0.2", 2164 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2165 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2166 | "dev": true, 2167 | "engines": { 2168 | "node": ">=0.10.0" 2169 | } 2170 | }, 2171 | "node_modules/split-on-first": { 2172 | "version": "1.1.0", 2173 | "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", 2174 | "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", 2175 | "engines": { 2176 | "node": ">=6" 2177 | } 2178 | }, 2179 | "node_modules/split2": { 2180 | "version": "4.2.0", 2181 | "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", 2182 | "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", 2183 | "engines": { 2184 | "node": ">= 10.x" 2185 | } 2186 | }, 2187 | "node_modules/stream-browserify": { 2188 | "version": "3.0.0", 2189 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", 2190 | "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", 2191 | "dependencies": { 2192 | "inherits": "~2.0.4", 2193 | "readable-stream": "^3.5.0" 2194 | } 2195 | }, 2196 | "node_modules/stream-shift": { 2197 | "version": "1.0.1", 2198 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", 2199 | "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" 2200 | }, 2201 | "node_modules/strict-uri-encode": { 2202 | "version": "2.0.0", 2203 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", 2204 | "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", 2205 | "engines": { 2206 | "node": ">=4" 2207 | } 2208 | }, 2209 | "node_modules/string_decoder": { 2210 | "version": "1.3.0", 2211 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2212 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2213 | "dependencies": { 2214 | "safe-buffer": "~5.2.0" 2215 | } 2216 | }, 2217 | "node_modules/thread-stream": { 2218 | "version": "0.15.2", 2219 | "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", 2220 | "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", 2221 | "dependencies": { 2222 | "real-require": "^0.1.0" 2223 | } 2224 | }, 2225 | "node_modules/tslib": { 2226 | "version": "1.14.1", 2227 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2228 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2229 | }, 2230 | "node_modules/typedarray-to-buffer": { 2231 | "version": "4.0.0", 2232 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-4.0.0.tgz", 2233 | "integrity": "sha512-6dOYeZfS3O9RtRD1caom0sMxgK59b27+IwoNy8RDPsmslSGOyU+mpTamlaIW7aNKi90ZQZ9DFaZL3YRoiSCULQ==", 2234 | "funding": [ 2235 | { 2236 | "type": "github", 2237 | "url": "https://github.com/sponsors/feross" 2238 | }, 2239 | { 2240 | "type": "patreon", 2241 | "url": "https://www.patreon.com/feross" 2242 | }, 2243 | { 2244 | "type": "consulting", 2245 | "url": "https://feross.org/support" 2246 | } 2247 | ] 2248 | }, 2249 | "node_modules/typescript": { 2250 | "version": "5.1.6", 2251 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", 2252 | "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", 2253 | "dev": true, 2254 | "bin": { 2255 | "tsc": "bin/tsc", 2256 | "tsserver": "bin/tsserver" 2257 | }, 2258 | "engines": { 2259 | "node": ">=14.17" 2260 | } 2261 | }, 2262 | "node_modules/uint8arrays": { 2263 | "version": "3.1.1", 2264 | "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", 2265 | "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", 2266 | "dependencies": { 2267 | "multiformats": "^9.4.2" 2268 | } 2269 | }, 2270 | "node_modules/util": { 2271 | "version": "0.12.5", 2272 | "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", 2273 | "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", 2274 | "dependencies": { 2275 | "inherits": "^2.0.3", 2276 | "is-arguments": "^1.0.4", 2277 | "is-generator-function": "^1.0.7", 2278 | "is-typed-array": "^1.1.3", 2279 | "which-typed-array": "^1.1.2" 2280 | } 2281 | }, 2282 | "node_modules/util-deprecate": { 2283 | "version": "1.0.2", 2284 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2285 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 2286 | }, 2287 | "node_modules/vite": { 2288 | "version": "4.4.2", 2289 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.2.tgz", 2290 | "integrity": "sha512-zUcsJN+UvdSyHhYa277UHhiJ3iq4hUBwHavOpsNUGsTgjBeoBlK8eDt+iT09pBq0h9/knhG/SPrZiM7cGmg7NA==", 2291 | "dev": true, 2292 | "dependencies": { 2293 | "esbuild": "^0.18.10", 2294 | "postcss": "^8.4.24", 2295 | "rollup": "^3.25.2" 2296 | }, 2297 | "bin": { 2298 | "vite": "bin/vite.js" 2299 | }, 2300 | "engines": { 2301 | "node": "^14.18.0 || >=16.0.0" 2302 | }, 2303 | "funding": { 2304 | "url": "https://github.com/vitejs/vite?sponsor=1" 2305 | }, 2306 | "optionalDependencies": { 2307 | "fsevents": "~2.3.2" 2308 | }, 2309 | "peerDependencies": { 2310 | "@types/node": ">= 14", 2311 | "less": "*", 2312 | "lightningcss": "^1.21.0", 2313 | "sass": "*", 2314 | "stylus": "*", 2315 | "sugarss": "*", 2316 | "terser": "^5.4.0" 2317 | }, 2318 | "peerDependenciesMeta": { 2319 | "@types/node": { 2320 | "optional": true 2321 | }, 2322 | "less": { 2323 | "optional": true 2324 | }, 2325 | "lightningcss": { 2326 | "optional": true 2327 | }, 2328 | "sass": { 2329 | "optional": true 2330 | }, 2331 | "stylus": { 2332 | "optional": true 2333 | }, 2334 | "sugarss": { 2335 | "optional": true 2336 | }, 2337 | "terser": { 2338 | "optional": true 2339 | } 2340 | } 2341 | }, 2342 | "node_modules/which-typed-array": { 2343 | "version": "1.1.9", 2344 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", 2345 | "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", 2346 | "dependencies": { 2347 | "available-typed-arrays": "^1.0.5", 2348 | "call-bind": "^1.0.2", 2349 | "for-each": "^0.3.3", 2350 | "gopd": "^1.0.1", 2351 | "has-tostringtag": "^1.0.0", 2352 | "is-typed-array": "^1.1.10" 2353 | }, 2354 | "engines": { 2355 | "node": ">= 0.4" 2356 | }, 2357 | "funding": { 2358 | "url": "https://github.com/sponsors/ljharb" 2359 | } 2360 | }, 2361 | "node_modules/wrappy": { 2362 | "version": "1.0.2", 2363 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2364 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 2365 | }, 2366 | "node_modules/ws": { 2367 | "version": "7.5.9", 2368 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", 2369 | "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", 2370 | "engines": { 2371 | "node": ">=8.3.0" 2372 | }, 2373 | "peerDependencies": { 2374 | "bufferutil": "^4.0.1", 2375 | "utf-8-validate": "^5.0.2" 2376 | }, 2377 | "peerDependenciesMeta": { 2378 | "bufferutil": { 2379 | "optional": true 2380 | }, 2381 | "utf-8-validate": { 2382 | "optional": true 2383 | } 2384 | } 2385 | } 2386 | } 2387 | } 2388 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "taquito-boilerplate-react", 3 | "private": true, 4 | "version": "0.2.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc && vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "react": "^18.2.0", 13 | "react-dom": "^18.2.0", 14 | "@taquito/beacon-wallet": "^17.0.0", 15 | "@taquito/taquito": "^17.0.0", 16 | "qrcode-generator": "^1.4.4", 17 | "stream-browserify": "^3.0.0", 18 | "buffer": "^6.0.3", 19 | "events": "^3.3.0", 20 | "util": "^0.12.5" 21 | }, 22 | "devDependencies": { 23 | "@types/react": "^18.2.14", 24 | "@types/react-dom": "^18.2.6", 25 | "@types/node": "^20.4.1", 26 | "@vitejs/plugin-react-swc": "^3.3.2", 27 | "typescript": "^5.1.6", 28 | "vite": "^4.4.2" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/built-with-taquito.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ecadlabs/taquito-react-template/2f3b0d4d36f3c316b02d73c73f733def4053ddf9/public/built-with-taquito.png -------------------------------------------------------------------------------- /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ecadlabs/taquito-react-template/2f3b0d4d36f3c316b02d73c73f733def4053ddf9/public/favicon.png -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | html, 2 | body, 3 | #root { 4 | height: 100%; 5 | width: 100%; 6 | margin: 0px; 7 | padding: 0px; 8 | font-size: 1rem; 9 | } 10 | 11 | #root { 12 | display: grid; 13 | } 14 | 15 | .main-box { 16 | margin: auto; 17 | } 18 | 19 | .title { 20 | display: flex; 21 | flex-direction: row; 22 | justify-content: space-between; 23 | align-items: center; 24 | } 25 | 26 | h1 { 27 | color: #35636e; 28 | text-align: left; 29 | } 30 | 31 | header { 32 | font-size: 1.5rem; 33 | padding: 20px; 34 | background-color: #35636e; 35 | color: white; 36 | } 37 | 38 | #dialog { 39 | display: flex; 40 | flex-direction: column; 41 | width: 500px; 42 | border: 1px solid #35636e; 43 | border-radius: 3px; 44 | } 45 | 46 | #content { 47 | display: flex; 48 | flex-direction: column; 49 | padding: 20px; 50 | } 51 | 52 | #footer { 53 | display: flex; 54 | justify-content: flex-end; 55 | padding-top: 20px; 56 | } 57 | 58 | .buttons { 59 | display: flex; 60 | flex-direction: row; 61 | justify-content: space-around; 62 | padding: 0px 10px 20px 10px; 63 | } 64 | 65 | .button { 66 | margin-top: 0px; 67 | margin-bottom: 5px; 68 | color: #35636e; 69 | font-size: 1rem; 70 | padding: 15px; 71 | background-color: white; 72 | border-radius: 3px; 73 | border: solid 2px #35636e; 74 | outline: none; 75 | cursor: pointer; 76 | transition: 0.2s; 77 | } 78 | .button:hover { 79 | color: white; 80 | background-color: #35636e; 81 | } 82 | .button:active { 83 | margin-top: 5px; 84 | margin-bottom: 0px; 85 | } 86 | 87 | #public-token { 88 | word-break: break-word; 89 | } 90 | #public-token-copy, 91 | #public-token-copy__copied { 92 | float: right; 93 | text-align: center; 94 | margin: 15px 10px; 95 | padding: 5px; 96 | cursor: pointer; 97 | transition: 0.2s; 98 | } 99 | #public-token-copy:hover { 100 | border-radius: 3px; 101 | color: white; 102 | background-color: #35636e; 103 | } 104 | 105 | .text-align-center { 106 | text-align: center; 107 | } 108 | 109 | a { 110 | text-decoration: none; 111 | color: royalblue; 112 | } 113 | a:hover { 114 | font-style: italic; 115 | } 116 | 117 | #tabs { 118 | display: flex; 119 | flex-direction: row; 120 | justify-content: space-around; 121 | border: none; 122 | color: #35636e; 123 | margin: 0px; 124 | transition: 0.3s; 125 | } 126 | 127 | #tabs div { 128 | width: 80%; 129 | padding: 20px; 130 | margin: 0px 10px; 131 | border: solid 1px #35636e; 132 | border-bottom: none; 133 | text-align: center; 134 | border-top-left-radius: 3px; 135 | border-top-right-radius: 3px; 136 | cursor: pointer; 137 | } 138 | 139 | #tabs div.active { 140 | background-color: #35636e; 141 | color: white; 142 | } 143 | 144 | #transfer-inputs { 145 | display: flex; 146 | flex-direction: row; 147 | justify-content: center; 148 | align-items: center; 149 | padding: 0px 10px 20px 10px; 150 | } 151 | 152 | #transfer-inputs input[type="text"] { 153 | padding: 15px; 154 | border-top-left-radius: 3px; 155 | border-bottom-left-radius: 3px; 156 | border: solid 2px #35636e; 157 | outline: none; 158 | font-size: 1rem; 159 | border-right: none; 160 | margin-top: 0px; 161 | margin-bottom: 5px; 162 | } 163 | 164 | #transfer-inputs input[type="number"] { 165 | padding: 15px; 166 | width: 60px; 167 | border: solid 2px #35636e; 168 | border-top-right-radius: 3px; 169 | border-bottom-right-radius: 3px; 170 | border-left: none; 171 | outline: none; 172 | margin-right: 5px; 173 | font-size: 1rem; 174 | margin-top: 0px; 175 | margin-bottom: 5px; 176 | text-align: right; 177 | } 178 | 179 | /* Removes arrows in input number */ 180 | /* Chrome, Safari, Edge, Opera */ 181 | input::-webkit-outer-spin-button, 182 | input::-webkit-inner-spin-button { 183 | -webkit-appearance: none; 184 | margin: 0; 185 | } 186 | 187 | /* Firefox */ 188 | input[type="number"] { 189 | -moz-appearance: textfield; 190 | } 191 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import { TezosToolkit } from "@taquito/taquito"; 3 | import "./App.css"; 4 | import ConnectButton from "./components/ConnectWallet"; 5 | import DisconnectButton from "./components/DisconnectWallet"; 6 | import qrcode from "qrcode-generator"; 7 | import UpdateContract from "./components/UpdateContract"; 8 | import Transfers from "./components/Transfers"; 9 | 10 | enum BeaconConnection { 11 | NONE = "", 12 | LISTENING = "Listening to P2P channel", 13 | CONNECTED = "Channel connected", 14 | PERMISSION_REQUEST_SENT = "Permission request sent, waiting for response", 15 | PERMISSION_REQUEST_SUCCESS = "Wallet is connected", 16 | } 17 | 18 | const App = () => { 19 | const [Tezos, setTezos] = useState( 20 | new TezosToolkit("https://ghostnet.ecadinfra.com") 21 | ); 22 | const [contract, setContract] = useState(undefined); 23 | const [publicToken, setPublicToken] = useState(null); 24 | const [wallet, setWallet] = useState(null); 25 | const [userAddress, setUserAddress] = useState(""); 26 | const [userBalance, setUserBalance] = useState(0); 27 | const [storage, setStorage] = useState(0); 28 | const [copiedPublicToken, setCopiedPublicToken] = useState(false); 29 | const [beaconConnection, setBeaconConnection] = useState(false); 30 | const [activeTab, setActiveTab] = useState("transfer"); 31 | 32 | // Ghostnet Increment/Decrement contract 33 | const contractAddress: string = "KT1QMGSLynvwwSfGbaiJ8gzWHibTCweCGcu8"; 34 | 35 | const generateQrCode = (): { __html: string } => { 36 | const qr = qrcode(0, "L"); 37 | qr.addData(publicToken || ""); 38 | qr.make(); 39 | 40 | return { __html: qr.createImgTag(4) }; 41 | }; 42 | 43 | if (publicToken && (!userAddress || isNaN(userBalance))) { 44 | return ( 45 |
46 |

Taquito React template

47 |
48 |
Try the Taquito React template!
49 |
50 |

51 |   Connecting to 52 | your wallet 53 |

54 |
58 |

59 | {copiedPublicToken ? ( 60 | 61 | 62 | 63 | ) : ( 64 | { 67 | if (publicToken) { 68 | navigator.clipboard.writeText(publicToken); 69 | setCopiedPublicToken(true); 70 | setTimeout(() => setCopiedPublicToken(false), 2000); 71 | } 72 | }} 73 | > 74 | 75 | 76 | )} 77 | 78 | 79 | Public token: {publicToken} 80 | 81 |

82 |

83 | Status: {beaconConnection ? "Connected" : "Disconnected"} 84 |

85 |
86 |
87 | 90 |
91 | ); 92 | } else if (userAddress && !isNaN(userBalance)) { 93 | return ( 94 |
95 |

Taquito Boilerplate

96 |
97 |
setActiveTab("transfer")} 101 | > 102 | Make a transfer 103 |
104 |
setActiveTab("contract")} 108 | > 109 | Interact with a contract 110 |
111 |
112 |
113 |
114 | {activeTab === "transfer" ? ( 115 |
116 |

Make a transfer

117 | 122 |
123 | ) : ( 124 |
125 |

126 | Current counter: {storage} 127 |

128 | 135 |
136 | )} 137 |

138 |   139 | 144 | {contractAddress} 145 | 146 |

147 |

148 |   149 | 154 | {userAddress} 155 | 156 |

157 |

158 |   159 | {(userBalance / 1000000).toLocaleString("en-US")} ꜩ 160 |

161 |
162 | 171 |
172 | 175 |
176 | ); 177 | } else if (!publicToken && !userAddress && !userBalance) { 178 | return ( 179 |
180 |
181 |

Taquito React template

182 | 183 | netlify-button 187 | 188 |
189 |
190 |
Welcome to the Taquito React template!
191 |
192 |

Hello!

193 |

194 | This is a template Tezos dApp built using Taquito. It's a starting 195 | point for you to hack on and build your own dApp for Tezos. 196 |
197 | If you have not done so already, go to the{" "} 198 | 203 | Taquito React template Github page 204 | {" "} 205 | and click the "Use this template" button. 206 |

207 |

Go forth and Tezos!

208 |
209 | 221 |
222 | 225 |
226 | ); 227 | } else { 228 | return
An error has occurred
; 229 | } 230 | }; 231 | 232 | export default App; 233 | -------------------------------------------------------------------------------- /src/components/ConnectWallet.tsx: -------------------------------------------------------------------------------- 1 | import React, { Dispatch, SetStateAction, useState, useEffect } from "react"; 2 | import { TezosToolkit } from "@taquito/taquito"; 3 | import { BeaconWallet } from "@taquito/beacon-wallet"; 4 | import { 5 | NetworkType, 6 | BeaconEvent, 7 | defaultEventCallbacks, 8 | } from "@airgap/beacon-dapp"; 9 | 10 | type ButtonProps = { 11 | Tezos: TezosToolkit; 12 | setContract: Dispatch>; 13 | setWallet: Dispatch>; 14 | setUserAddress: Dispatch>; 15 | setUserBalance: Dispatch>; 16 | setStorage: Dispatch>; 17 | contractAddress: string; 18 | setBeaconConnection: Dispatch>; 19 | setPublicToken: Dispatch>; 20 | wallet: BeaconWallet; 21 | }; 22 | 23 | const ConnectButton = ({ 24 | Tezos, 25 | setContract, 26 | setWallet, 27 | setUserAddress, 28 | setUserBalance, 29 | setStorage, 30 | contractAddress, 31 | setBeaconConnection, 32 | setPublicToken, 33 | wallet, 34 | }: ButtonProps): JSX.Element => { 35 | const setup = async (userAddress: string): Promise => { 36 | setUserAddress(userAddress); 37 | // updates balance 38 | const balance = await Tezos.tz.getBalance(userAddress); 39 | setUserBalance(balance.toNumber()); 40 | // creates contract instance 41 | const contract = await Tezos.wallet.at(contractAddress); 42 | const storage: any = await contract.storage(); 43 | setContract(contract); 44 | setStorage(storage.toNumber()); 45 | }; 46 | 47 | const connectWallet = async (): Promise => { 48 | try { 49 | await wallet.requestPermissions({ 50 | network: { 51 | type: NetworkType.GHOSTNET, 52 | rpcUrl: "https://ghostnet.ecadinfra.com", 53 | }, 54 | }); 55 | // gets user's address 56 | const userAddress = await wallet.getPKH(); 57 | await setup(userAddress); 58 | setBeaconConnection(true); 59 | } catch (error) { 60 | console.log(error); 61 | } 62 | }; 63 | 64 | useEffect(() => { 65 | (async () => { 66 | // creates a wallet instance 67 | const wallet = new BeaconWallet({ 68 | name: "Taquito React template", 69 | preferredNetwork: NetworkType.GHOSTNET, 70 | disableDefaultEvents: false, // Disable all events when true/ UI. This also disables the pairing alert. 71 | }); 72 | Tezos.setWalletProvider(wallet); 73 | setWallet(wallet); 74 | // checks if wallet was connected before 75 | const activeAccount = await wallet.client.getActiveAccount(); 76 | if (activeAccount) { 77 | const userAddress = await wallet.getPKH(); 78 | await setup(userAddress); 79 | setBeaconConnection(true); 80 | } 81 | })(); 82 | }, []); 83 | 84 | return ( 85 |
86 | 91 |
92 | ); 93 | }; 94 | 95 | export default ConnectButton; 96 | -------------------------------------------------------------------------------- /src/components/DisconnectWallet.tsx: -------------------------------------------------------------------------------- 1 | import React, { Dispatch, SetStateAction } from "react"; 2 | import { BeaconWallet } from "@taquito/beacon-wallet"; 3 | import { TezosToolkit } from "@taquito/taquito"; 4 | 5 | interface ButtonProps { 6 | wallet: BeaconWallet | null; 7 | setPublicToken: Dispatch>; 8 | setUserAddress: Dispatch>; 9 | setUserBalance: Dispatch>; 10 | setWallet: Dispatch>; 11 | setTezos: Dispatch>; 12 | setBeaconConnection: Dispatch>; 13 | } 14 | 15 | const DisconnectButton = ({ 16 | wallet, 17 | setPublicToken, 18 | setUserAddress, 19 | setUserBalance, 20 | setWallet, 21 | setTezos, 22 | setBeaconConnection 23 | }: ButtonProps): JSX.Element => { 24 | const disconnectWallet = async (): Promise => { 25 | if (wallet) { 26 | await wallet.clearActiveAccount(); 27 | } 28 | setUserAddress(""); 29 | setUserBalance(0); 30 | setWallet(null); 31 | const tezosTK = new TezosToolkit("https://ghostnet.ecadinfra.com"); 32 | setTezos(tezosTK); 33 | setBeaconConnection(false); 34 | setPublicToken(null); 35 | }; 36 | 37 | return ( 38 |
39 | 42 |
43 | ); 44 | }; 45 | 46 | export default DisconnectButton; 47 | -------------------------------------------------------------------------------- /src/components/Transfers.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, Dispatch, SetStateAction } from "react"; 2 | import { TezosToolkit } from "@taquito/taquito"; 3 | 4 | const Transfers = ({ 5 | Tezos, 6 | setUserBalance, 7 | userAddress 8 | }: { 9 | Tezos: TezosToolkit; 10 | setUserBalance: Dispatch>; 11 | userAddress: string; 12 | }): JSX.Element => { 13 | const [recipient, setRecipient] = useState(""); 14 | const [amount, setAmount] = useState(""); 15 | const [loading, setLoading] = useState(false); 16 | 17 | const sendTransfer = async (): Promise => { 18 | if (recipient && amount) { 19 | setLoading(true); 20 | try { 21 | const op = await Tezos.wallet 22 | .transfer({ to: recipient, amount: parseInt(amount) }) 23 | .send(); 24 | await op.confirmation(); 25 | setRecipient(""); 26 | setAmount(""); 27 | const balance = await Tezos.tz.getBalance(userAddress); 28 | setUserBalance(balance.toNumber()); 29 | } catch (error) { 30 | console.log(error); 31 | } finally { 32 | setLoading(false); 33 | } 34 | } 35 | }; 36 | 37 | return ( 38 |
39 | setRecipient(e.target.value)} 44 | /> 45 | setAmount(e.target.value)} 50 | /> 51 | 66 |
67 | ); 68 | }; 69 | 70 | export default Transfers; 71 | -------------------------------------------------------------------------------- /src/components/UpdateContract.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, Dispatch, SetStateAction } from "react"; 2 | import { TezosToolkit, WalletContract } from "@taquito/taquito"; 3 | 4 | interface UpdateContractProps { 5 | contract: WalletContract | any; 6 | setUserBalance: Dispatch>; 7 | Tezos: TezosToolkit; 8 | userAddress: string; 9 | setStorage: Dispatch>; 10 | } 11 | 12 | const UpdateContract = ({ contract, setUserBalance, Tezos, userAddress, setStorage }: UpdateContractProps) => { 13 | const [loadingIncrement, setLoadingIncrement] = useState(false); 14 | const [loadingDecrement, setLoadingDecrement] = useState(false); 15 | 16 | const increment = async (): Promise => { 17 | setLoadingIncrement(true); 18 | try { 19 | const op = await contract.methods.increment(1).send(); 20 | await op.confirmation(); 21 | const newStorage: any = await contract.storage(); 22 | if (newStorage) setStorage(newStorage.toNumber()); 23 | setUserBalance(await Tezos.tz.getBalance(userAddress)); 24 | } catch (error) { 25 | console.log(error); 26 | } finally { 27 | setLoadingIncrement(false); 28 | } 29 | }; 30 | 31 | const decrement = async (): Promise => { 32 | setLoadingDecrement(true); 33 | try { 34 | const op = await contract.methods.decrement(1).send(); 35 | await op.confirmation(); 36 | const newStorage: any = await contract.storage(); 37 | if (newStorage) setStorage(newStorage.toNumber()); 38 | setUserBalance(await Tezos.tz.getBalance(userAddress)); 39 | } catch (error) { 40 | console.log(error); 41 | } finally { 42 | setLoadingDecrement(false); 43 | } 44 | }; 45 | 46 | if (!contract && !userAddress) return
 
; 47 | return ( 48 |
49 | 60 | 71 |
72 | ); 73 | }; 74 | 75 | export default UpdateContract; 76 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./App"; 4 | 5 | ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( 6 | 7 | 8 | 9 | ); 10 | -------------------------------------------------------------------------------- /src/nodeSpecific.ts: -------------------------------------------------------------------------------- 1 | import { Buffer } from "buffer"; 2 | 3 | globalThis.Buffer = Buffer; 4 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 6 | "allowJs": false, 7 | "skipLibCheck": true, 8 | "esModuleInterop": false, 9 | "allowSyntheticDefaultImports": true, 10 | "strict": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "module": "ESNext", 13 | "moduleResolution": "Node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx" 18 | }, 19 | "include": ["src"], 20 | "references": [{ "path": "./tsconfig.node.json" }] 21 | } 22 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react-swc"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | define: { 7 | global: {}, 8 | }, 9 | build: { 10 | commonjsOptions: { 11 | transformMixedEsModules: true, 12 | }, 13 | }, 14 | plugins: [react()], 15 | resolve: { 16 | alias: { 17 | stream: "stream-browserify", 18 | os: "os-browserify/browser", 19 | util: "util", 20 | process: "process/browser", 21 | buffer: "buffer", 22 | }, 23 | }, 24 | }); 25 | --------------------------------------------------------------------------------