diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/next.config.js @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/package.json b/package.json index e73f451..3bb4ed5 100644 --- a/package.json +++ b/package.json @@ -47,12 +47,17 @@ "@vitest/ui": "^2.0.1", "@wagmi/cli": "latest", "autoprefixer": "^10.4.19", + "browserify-zlib": "^0.2.0", "bufferutil": "^4.0.7", + "crypto-browserify": "^3.12.1", "encoding": "^0.1.13", + "https-browserify": "^1.0.0", "jsdom": "^24.1.0", "lokijs": "^1.5.12", "pino-pretty": "^10.2.0", "postcss": "^8.4.38", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", "supports-color": "^9.4.0", "tailwindcss": "^3.4.0", "typescript": "^5.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 928c411..9040a82 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,12 +93,21 @@ importers: autoprefixer: specifier: ^10.4.19 version: 10.4.20(postcss@8.4.47) + browserify-zlib: + specifier: ^0.2.0 + version: 0.2.0 bufferutil: specifier: ^4.0.7 version: 4.0.8 + crypto-browserify: + specifier: ^3.12.1 + version: 3.12.1 encoding: specifier: ^0.1.13 version: 0.1.13 + https-browserify: + specifier: ^1.0.0 + version: 1.0.0 jsdom: specifier: ^24.1.0 version: 24.1.3(bufferutil@4.0.8)(supports-color@9.4.0)(utf-8-validate@6.0.5) @@ -111,6 +120,12 @@ importers: postcss: specifier: ^8.4.38 version: 8.4.47 + stream-browserify: + specifier: ^3.0.0 + version: 3.0.0 + stream-http: + specifier: ^3.2.0 + version: 3.2.0 supports-color: specifier: ^9.4.0 version: 9.4.0 @@ -2520,6 +2535,9 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -2638,6 +2656,26 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.1: + resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} + engines: {node: '>= 0.10'} + + browserify-sign@4.2.3: + resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} + engines: {node: '>= 0.12'} + + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + browserslist@4.24.2: resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -2649,6 +2687,9 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -2656,6 +2697,9 @@ packages: resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} engines: {node: '>=6.14.2'} + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + bundle-require@4.2.1: resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2751,6 +2795,9 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -2866,6 +2913,15 @@ packages: engines: {node: '>=0.8'} hasBin: true + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} @@ -2879,6 +2935,10 @@ packages: crossws@0.3.1: resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==} + crypto-browserify@3.12.1: + resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} + engines: {node: '>= 0.10'} + css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -2992,6 +3052,9 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} @@ -3013,6 +3076,9 @@ packages: didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} @@ -3179,6 +3245,9 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -3412,6 +3481,10 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + hash-base@3.0.4: + resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} + engines: {node: '>=4'} + hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} @@ -3459,6 +3532,9 @@ packages: resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + https-proxy-agent@7.0.5: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} @@ -3934,6 +4010,9 @@ packages: marky@1.2.5: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + media-query-parser@2.0.2: resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==} @@ -4012,6 +4091,10 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -4301,6 +4384,13 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + parse-asn1@5.1.7: + resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + engines: {node: '>= 0.10'} + parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -4350,6 +4440,10 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + permissionless@0.1.46: resolution: {integrity: sha512-FQU9u7wZkemg3Ymv2Eq92LuyvI7kv57Okdx/ZBIXt/jSj2p4r3HAVlqkCLcawbR7PS/1OoiajgvkRA3y3QqQFA==} peerDependencies: @@ -4514,6 +4608,9 @@ packages: psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} @@ -4561,6 +4658,12 @@ packages: radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -4742,6 +4845,9 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + rollup@4.24.4: resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -4947,6 +5053,12 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} + stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + + stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} @@ -8564,6 +8676,12 @@ snapshots: asap@2.0.6: {} + asn1.js@4.10.1: + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + assertion-error@2.0.1: {} ast-types@0.15.2: @@ -8720,6 +8838,51 @@ snapshots: brorand@1.1.0: {} + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-cipher@1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + browserify-des@1.0.2: + dependencies: + cipher-base: 1.0.4 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-rsa@4.1.1: + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + browserify-sign@4.2.3: + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.6.0 + hash-base: 3.0.4 + inherits: 2.0.4 + parse-asn1: 5.1.7 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + + browserify-zlib@0.2.0: + dependencies: + pako: 1.0.11 + browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001677 @@ -8733,6 +8896,8 @@ snapshots: buffer-from@1.1.2: {} + buffer-xor@1.0.3: {} + buffer@6.0.3: dependencies: base64-js: 1.5.1 @@ -8742,6 +8907,8 @@ snapshots: dependencies: node-gyp-build: 4.8.2 + builtin-status-codes@3.0.0: {} + bundle-require@4.2.1(esbuild@0.19.12): dependencies: esbuild: 0.19.12 @@ -8845,6 +9012,11 @@ snapshots: ci-info@3.9.0: {} + cipher-base@1.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + citty@0.1.6: dependencies: consola: 3.2.3 @@ -8949,6 +9121,28 @@ snapshots: crc-32@1.2.2: {} + create-ecdh@4.0.4: + dependencies: + bn.js: 4.12.0 + elliptic: 6.6.0 + + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + cross-fetch@3.1.8(encoding@0.1.13): dependencies: node-fetch: 2.7.0(encoding@0.1.13) @@ -8971,6 +9165,21 @@ snapshots: dependencies: uncrypto: 0.1.3 + crypto-browserify@3.12.1: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.3 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + hash-base: 3.0.4 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + css-what@6.1.0: {} css.escape@1.5.1: {} @@ -9069,6 +9278,11 @@ snapshots: depd@2.0.0: {} + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + destr@2.0.3: {} destroy@1.2.0: {} @@ -9081,6 +9295,12 @@ snapshots: didyoumean@1.2.2: {} + diffie-hellman@5.0.3: + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dijkstrajs@1.0.3: {} dlv@1.1.3: {} @@ -9308,6 +9528,11 @@ snapshots: events@3.3.0: {} + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + execa@5.1.1: dependencies: cross-spawn: 7.0.3 @@ -9571,6 +9796,11 @@ snapshots: dependencies: has-symbols: 1.0.3 + hash-base@3.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + hash.js@1.1.7: dependencies: inherits: 2.0.4 @@ -9625,6 +9855,8 @@ snapshots: http-shutdown@1.2.2: {} + https-browserify@1.0.0: {} + https-proxy-agent@7.0.5(supports-color@9.4.0): dependencies: agent-base: 7.1.1(supports-color@9.4.0) @@ -10152,6 +10384,12 @@ snapshots: marky@1.2.5: {} + md5.js@1.3.5: + dependencies: + hash-base: 3.0.4 + inherits: 2.0.4 + safe-buffer: 5.2.1 + media-query-parser@2.0.2: dependencies: '@babel/runtime': 7.26.0 @@ -10348,6 +10586,11 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + miller-rabin@4.0.1: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + mime-db@1.52.0: {} mime-types@2.1.35: @@ -10606,6 +10849,17 @@ snapshots: package-json-from-dist@1.0.1: {} + pako@1.0.11: {} + + parse-asn1@5.1.7: + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + hash-base: 3.0.4 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + parse-json@4.0.0: dependencies: error-ex: 1.3.2 @@ -10640,6 +10894,14 @@ snapshots: pathval@2.0.0: {} + pbkdf2@3.1.2: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + permissionless@0.1.46(viem@2.21.42(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@6.0.5)(zod@3.23.8)): dependencies: viem: 2.21.42(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@6.0.5)(zod@3.23.8) @@ -10814,6 +11076,15 @@ snapshots: psl@1.9.0: {} + public-encrypt@4.0.3: + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + parse-asn1: 5.1.7 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + pump@3.0.2: dependencies: end-of-stream: 1.4.4 @@ -10861,6 +11132,15 @@ snapshots: radix3@1.1.2: {} + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + randomfill@1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + range-parser@1.2.1: {} react-devtools-core@5.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.5): @@ -11091,6 +11371,11 @@ snapshots: dependencies: glob: 7.2.3 + ripemd160@2.0.2: + dependencies: + hash-base: 3.0.4 + inherits: 2.0.4 + rollup@4.24.4: dependencies: '@types/estree': 1.0.6 @@ -11324,6 +11609,18 @@ snapshots: dependencies: internal-slot: 1.0.7 + stream-browserify@3.0.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + stream-http@3.2.0: + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + stream-shift@1.0.3: {} streamsearch@1.1.0: {} diff --git a/public/apple-touch-icon.svg b/public/apple-touch-icon.svg new file mode 100644 index 0000000..6c49ef4 --- /dev/null +++ b/public/apple-touch-icon.svg @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..fd9fb62 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/public/icon.svg b/public/icon.svg new file mode 100644 index 0000000..fd9fb62 --- /dev/null +++ b/public/icon.svg @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/public/logo-swap.svg b/public/logo-swap.svg new file mode 100644 index 0000000..ebdc4b7 --- /dev/null +++ b/public/logo-swap.svg @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 0000000..c0bbfc4 --- /dev/null +++ b/public/logo.svg @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/public/token-icons/1inch.png b/public/token-icons/1inch.png new file mode 100644 index 0000000..4dcbbc4 Binary files /dev/null and b/public/token-icons/1inch.png differ diff --git a/public/token-icons/aave.png b/public/token-icons/aave.png new file mode 100644 index 0000000..090231c Binary files /dev/null and b/public/token-icons/aave.png differ diff --git a/public/token-icons/aero.png b/public/token-icons/aero.png new file mode 100644 index 0000000..5455267 Binary files /dev/null and b/public/token-icons/aero.png differ diff --git a/public/token-icons/arb.png b/public/token-icons/arb.png new file mode 100644 index 0000000..c75b0fd Binary files /dev/null and b/public/token-icons/arb.png differ diff --git a/public/token-icons/axlusdc.png b/public/token-icons/axlusdc.png new file mode 100644 index 0000000..4241025 Binary files /dev/null and b/public/token-icons/axlusdc.png differ diff --git a/public/token-icons/bal.png b/public/token-icons/bal.png new file mode 100644 index 0000000..cbf382e Binary files /dev/null and b/public/token-icons/bal.png differ diff --git a/public/token-icons/bald.png b/public/token-icons/bald.png new file mode 100644 index 0000000..5e92570 Binary files /dev/null and b/public/token-icons/bald.png differ diff --git a/public/token-icons/cbeth.png b/public/token-icons/cbeth.png new file mode 100644 index 0000000..5938baa Binary files /dev/null and b/public/token-icons/cbeth.png differ diff --git a/public/token-icons/comp.png b/public/token-icons/comp.png new file mode 100644 index 0000000..f2713d9 Binary files /dev/null and b/public/token-icons/comp.png differ diff --git a/public/token-icons/crv.png b/public/token-icons/crv.png new file mode 100644 index 0000000..9308328 Binary files /dev/null and b/public/token-icons/crv.png differ diff --git a/public/token-icons/dai.png b/public/token-icons/dai.png new file mode 100644 index 0000000..4e3ea5f Binary files /dev/null and b/public/token-icons/dai.png differ diff --git a/public/token-icons/degen.png b/public/token-icons/degen.png new file mode 100644 index 0000000..ecf5bd2 Binary files /dev/null and b/public/token-icons/degen.png differ diff --git a/public/token-icons/eth.png b/public/token-icons/eth.png new file mode 100644 index 0000000..1e0c190 Binary files /dev/null and b/public/token-icons/eth.png differ diff --git a/public/token-icons/gala.png b/public/token-icons/gala.png new file mode 100644 index 0000000..a9f3440 Binary files /dev/null and b/public/token-icons/gala.png differ diff --git a/public/token-icons/gmx.png b/public/token-icons/gmx.png new file mode 100644 index 0000000..a27528a Binary files /dev/null and b/public/token-icons/gmx.png differ diff --git a/public/token-icons/joe.png b/public/token-icons/joe.png new file mode 100644 index 0000000..68fb024 Binary files /dev/null and b/public/token-icons/joe.png differ diff --git a/public/token-icons/link.png b/public/token-icons/link.png new file mode 100644 index 0000000..b32aa21 Binary files /dev/null and b/public/token-icons/link.png differ diff --git a/public/token-icons/lyra.png b/public/token-icons/lyra.png new file mode 100644 index 0000000..0637b9c Binary files /dev/null and b/public/token-icons/lyra.png differ diff --git a/public/token-icons/magic.png b/public/token-icons/magic.png new file mode 100644 index 0000000..a342e5a Binary files /dev/null and b/public/token-icons/magic.png differ diff --git a/public/token-icons/matic.png b/public/token-icons/matic.png new file mode 100644 index 0000000..0a337cd Binary files /dev/null and b/public/token-icons/matic.png differ diff --git a/public/token-icons/mim.png b/public/token-icons/mim.png new file mode 100644 index 0000000..5b73dc1 Binary files /dev/null and b/public/token-icons/mim.png differ diff --git a/public/token-icons/mkr.png b/public/token-icons/mkr.png new file mode 100644 index 0000000..9e0fa14 Binary files /dev/null and b/public/token-icons/mkr.png differ diff --git a/public/token-icons/op.png b/public/token-icons/op.png new file mode 100644 index 0000000..7fc4ce3 Binary files /dev/null and b/public/token-icons/op.png differ diff --git a/public/token-icons/pendle.png b/public/token-icons/pendle.png new file mode 100644 index 0000000..887ac89 Binary files /dev/null and b/public/token-icons/pendle.png differ diff --git a/public/token-icons/perp.png b/public/token-icons/perp.png new file mode 100644 index 0000000..2781041 Binary files /dev/null and b/public/token-icons/perp.png differ diff --git a/public/token-icons/reth.png b/public/token-icons/reth.png new file mode 100644 index 0000000..2a0ce44 Binary files /dev/null and b/public/token-icons/reth.png differ diff --git a/public/token-icons/snx.png b/public/token-icons/snx.png new file mode 100644 index 0000000..32d483f Binary files /dev/null and b/public/token-icons/snx.png differ diff --git a/public/token-icons/sushi.png b/public/token-icons/sushi.png new file mode 100644 index 0000000..af7e422 Binary files /dev/null and b/public/token-icons/sushi.png differ diff --git a/public/token-icons/thales.png b/public/token-icons/thales.png new file mode 100644 index 0000000..bc5c611 Binary files /dev/null and b/public/token-icons/thales.png differ diff --git a/public/token-icons/uni.png b/public/token-icons/uni.png new file mode 100644 index 0000000..04afe35 Binary files /dev/null and b/public/token-icons/uni.png differ diff --git a/public/token-icons/usdc.png b/public/token-icons/usdc.png new file mode 100644 index 0000000..4241025 Binary files /dev/null and b/public/token-icons/usdc.png differ diff --git a/public/token-icons/usdt.png b/public/token-icons/usdt.png new file mode 100644 index 0000000..7a497d0 Binary files /dev/null and b/public/token-icons/usdt.png differ diff --git a/public/token-icons/velo.png b/public/token-icons/velo.png new file mode 100644 index 0000000..2ce631d Binary files /dev/null and b/public/token-icons/velo.png differ diff --git a/public/token-icons/wbtc.png b/public/token-icons/wbtc.png new file mode 100644 index 0000000..6f2dbd1 Binary files /dev/null and b/public/token-icons/wbtc.png differ diff --git a/public/token-icons/weth.png b/public/token-icons/weth.png new file mode 100644 index 0000000..f4258bf Binary files /dev/null and b/public/token-icons/weth.png differ diff --git a/public/token-icons/yfi.png b/public/token-icons/yfi.png new file mode 100644 index 0000000..1d64491 Binary files /dev/null and b/public/token-icons/yfi.png differ diff --git a/scripts/download-token-icons.ts b/scripts/download-token-icons.ts new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/scripts/download-token-icons.ts @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 97d4ee5..d483e09 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -3,23 +3,25 @@ import { Inter } from 'next/font/google'; import './global.css'; import '@coinbase/onchainkit/styles.css'; import '@rainbow-me/rainbowkit/styles.css'; -import OnchainProviders from 'src/components/OnchainProviders'; +import OnchainProviders from '@/components/OnchainProviders'; const inter = Inter({ subsets: ['latin'] }); export const metadata: Metadata = { title: 'Chainable', description: 'Swap tokens on Base', + icons: { + icon: '/logo-swap.svg', + shortcut: '/logo-swap.svg', + }, }; -export default function RootLayout({ - children, -}: { children: React.ReactNode }) { +export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - + - {children} + {children} - + ); } diff --git a/src/app/page.tsx b/src/app/page.tsx index cab2149..e19d43b 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,7 +1,6 @@ 'use client'; -import Footer from 'src/components/Footer'; -import Swapper from 'src/components/Swapper'; -import { CHAINABLE_LINK } from 'src/constants/links'; +import SwapModal from '../components/Swapper'; +import { Footer } from '../components/Footer'; import LoginButton from '../components/LoginButton'; export default function Home() { @@ -10,7 +9,7 @@ export default function Home() { {/* Top Navigation Bar */}