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 */}