diff --git a/package.json b/package.json index 0f6eb30..7b331d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "create-turbo-eth", - "version": "0.1.2", + "version": "0.1.3", "description": "Create web3 apps in turbo mode.", "author": "Vitor @marthendalnunes", "license": "MIT", diff --git a/src/config/integrations.ts b/src/config/integrations.ts index 19e6774..80443e4 100644 --- a/src/config/integrations.ts +++ b/src/config/integrations.ts @@ -186,6 +186,21 @@ export const integrationOptions: Integrations = { }, ], }, + connext: { + name: 'Connext', + pageDependencies: [ + { + dependencyPath: dataConfigPath, + type: 'snippet', + regexList: [/\n\s*connext: \{\s*name: 'Connext',[\s\S]*?imgDark: '\/integrations\/connext.png',\s*\},/g], + }, + { + dependencyPath: indexPagePath, + type: 'snippet', + regexList: [/\n\s*{\s*title: turboIntegrations\.connext\.name,[\s\S]*?<\/IsDarkTheme>\s*<\/div>\s*\),\s*},/g], + }, + ], + }, starter: { name: 'Starter', pageDependencies: [ diff --git a/src/types.ts b/src/types.ts index b238b9d..73e89a6 100644 --- a/src/types.ts +++ b/src/types.ts @@ -69,6 +69,7 @@ export type AvailableIntegrations = | 'openai' | 'pooltogether-v4' | 'session-keys' + | 'connext' | 'starter' export type Integrations = Record diff --git a/template/base/app/(general)/page.tsx b/template/base/app/(general)/page.tsx index a7e937d..40cbf3b 100644 --- a/template/base/app/(general)/page.tsx +++ b/template/base/app/(general)/page.tsx @@ -297,6 +297,21 @@ const features = [ ), }, + { + title: turboIntegrations.connext.name, + description: turboIntegrations.connext.description, + href: turboIntegrations.connext.href, + demo: ( +
+ + PoolTogether logo + + + PoolTogether logo + +
+ ), + }, { title: turboIntegrations.starter.name, description: turboIntegrations.starter.description, diff --git a/template/base/data/turbo-integrations.ts b/template/base/data/turbo-integrations.ts index 0d15799..2868763 100644 --- a/template/base/data/turbo-integrations.ts +++ b/template/base/data/turbo-integrations.ts @@ -72,6 +72,14 @@ export const turboIntegrations = { imgLight: '/integrations/pooltogether.svg', imgDark: '/integrations/pooltogether.svg', }, + connext: { + name: 'Connext', + href: '/integration/connext', + url: 'https://docs.connext.network/', + description: 'Connext is a modular protocol for securely passing funds and data between chains.', + imgLight: '/integrations/connext.png', + imgDark: '/integrations/connext.png', + }, starter: { name: 'Starter Template', href: '/integration/starter', diff --git a/template/base/package.json b/template/base/package.json index eb9d978..6bae55e 100644 --- a/template/base/package.json +++ b/template/base/package.json @@ -37,6 +37,8 @@ }, "packageManager": "pnpm@7.1.8", "dependencies": { + "@connext/nxtp-utils": "^2.0.3", + "@connext/sdk": "2.0.4-alpha.2", "@lit-protocol/lit-node-client": "2.1.161", "@prisma/client": "^4.8.1", "@radix-ui/react-accordion": "^1.1.0", @@ -80,6 +82,7 @@ "iron-session": "^6.3.1", "jotai": "^1.13.0", "luxon": "^3.2.1", + "moment": "^2.29.4", "next": "13.4.0", "next-themes": "^0.2.1", "react": "^18.2.0", diff --git a/template/base/pnpm-lock.yaml b/template/base/pnpm-lock.yaml index 6ff0a58..5cf858f 100644 --- a/template/base/pnpm-lock.yaml +++ b/template/base/pnpm-lock.yaml @@ -1,6 +1,12 @@ lockfileVersion: '6.0' dependencies: + '@connext/nxtp-utils': + specifier: ^2.0.3 + version: 2.0.3(sinon@15.2.0) + '@connext/sdk': + specifier: 2.0.4-alpha.2 + version: 2.0.4-alpha.2(sinon@15.2.0)(ts-node@10.9.1)(typescript@4.9.4) '@lit-protocol/lit-node-client': specifier: 2.1.161 version: 2.1.161(@ethersproject/contracts@5.7.0)(@ethersproject/hash@5.7.0)(@ethersproject/providers@5.7.2)(@ethersproject/wallet@5.7.0)(react@18.2.0) @@ -130,6 +136,9 @@ dependencies: luxon: specifier: ^3.2.1 version: 3.3.0 + moment: + specifier: ^2.29.4 + version: 2.29.4 next: specifier: 13.4.0 version: 13.4.0(@babel/core@7.18.5)(react-dom@18.2.0)(react@18.2.0) @@ -349,7 +358,7 @@ packages: '@babel/traverse': 7.21.2 '@babel/types': 7.21.2 convert-source-map: 1.9.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.0 @@ -371,7 +380,7 @@ packages: '@babel/traverse': 7.21.2 '@babel/types': 7.21.2 convert-source-map: 1.9.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.0 @@ -478,7 +487,7 @@ packages: '@babel/core': 7.21.0 '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0) '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.2 semver: 6.3.0 @@ -1624,7 +1633,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/parser': 7.21.2 '@babel/types': 7.21.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -1641,7 +1650,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/parser': 7.21.8 '@babel/types': 7.21.5 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -1664,6 +1673,37 @@ packages: to-fast-properties: 2.0.0 dev: true + /@chainsafe/as-sha256@0.3.1: + resolution: {integrity: sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==} + dev: false + + /@chainsafe/persistent-merkle-tree@0.4.2: + resolution: {integrity: sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + dev: false + + /@chainsafe/persistent-merkle-tree@0.5.0: + resolution: {integrity: sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + dev: false + + /@chainsafe/ssz@0.10.2: + resolution: {integrity: sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + '@chainsafe/persistent-merkle-tree': 0.5.0 + dev: false + + /@chainsafe/ssz@0.9.4: + resolution: {integrity: sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + '@chainsafe/persistent-merkle-tree': 0.4.2 + case: 1.6.3 + dev: false + /@coinbase/wallet-sdk@3.6.6: resolution: {integrity: sha512-vX+epj/Ttjo7XRwlr3TFUUfW5GTRMvORpERPwiu7z2jl3DSVL4rXLmHt5y6LDPlUVreas2gumdcFbu0fLRG9Jg==} engines: {node: '>= 10.0.0'} @@ -1866,6 +1906,117 @@ packages: protobufjs: 6.11.3 dev: false + /@connext/nxtp-txservice@2.0.0-alpha.1(sinon@15.2.0)(ts-node@10.9.1)(typescript@4.9.4): + resolution: {integrity: sha512-EbzayMvkLB8WhshcKSwbsW0y5q/4XY/k12OJSAMyYeYW38EH7jKdp32Ag4Vs9txwVmPnvAuiKoMM68dWzSX1Vg==} + dependencies: + '@connext/nxtp-utils': 2.0.0-alpha.1(sinon@15.2.0) + '@connext/smart-contracts': 2.0.0-alpha.1(ethers@5.7.2)(ts-node@10.9.1)(typescript@4.9.4) + '@sinclair/typebox': 0.25.21 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + ethers: 5.7.2 + evt: 2.4.13 + interval-promise: 1.4.0 + p-queue: 6.6.2 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - sinon + - supports-color + - ts-node + - typescript + - utf-8-validate + dev: false + + /@connext/nxtp-utils@2.0.0-alpha.1(sinon@15.2.0): + resolution: {integrity: sha512-55+M+FUq5leI0VFLKyM6htbOECRe6IE++5zVlQ5E9UidpRS/CNYQpXHObBpzyvm7tmHiGwZgwoYa0BocXaYTyQ==} + dependencies: + '@maticnetwork/maticjs': 3.6.0-beta.6 + '@maticnetwork/maticjs-web3': 1.0.4(@maticnetwork/maticjs@3.6.0-beta.6) + '@sinclair/typebox': 0.25.21 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + axios: 1.3.3 + chai: 4.3.7 + chai-as-promised: 7.1.1(chai@4.3.7) + chai-subset: 1.6.0 + ethers: 5.7.2 + hyperid: 3.1.1 + merkletreejs: 0.3.9 + pino: 8.10.0 + secp256k1: 4.0.3 + sinon-chai: 3.7.0(chai@4.3.7)(sinon@15.2.0) + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - sinon + - supports-color + - utf-8-validate + dev: false + + /@connext/nxtp-utils@2.0.3(sinon@15.2.0): + resolution: {integrity: sha512-oDvBxnRyv4wa0FYybnj6kyWT1Esam/F+z1A4FX9TLgRI2J3hPlD8MIkqQ54HXL+H5YD7UG23vq5t8R8Lp7uCWg==} + dependencies: + '@maticnetwork/maticjs': 3.6.0-beta.11 + '@maticnetwork/maticjs-web3': 1.0.4(@maticnetwork/maticjs@3.6.0-beta.11) + '@sinclair/typebox': 0.25.21 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + axios: 1.3.3 + chai: 4.3.7 + chai-as-promised: 7.1.1(chai@4.3.7) + chai-subset: 1.6.0 + ethers: 5.7.2 + hyperid: 3.1.1 + merkletreejs: 0.3.9 + pino: 8.10.0 + secp256k1: 4.0.3 + sinon-chai: 3.7.0(chai@4.3.7)(sinon@15.2.0) + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - sinon + - supports-color + - utf-8-validate + dev: false + + /@connext/sdk@2.0.4-alpha.2(sinon@15.2.0)(ts-node@10.9.1)(typescript@4.9.4): + resolution: {integrity: sha512-FP8IBRVIAnhRouY+O+inTcIhsk18rWAexW2eLMMztgO3iJ7c7Oi7Nng+Nfbp+l8ls9+3tyX2DrEw2LHKGIE3jQ==} + dependencies: + '@connext/nxtp-txservice': 2.0.0-alpha.1(sinon@15.2.0)(ts-node@10.9.1)(typescript@4.9.4) + '@connext/nxtp-utils': 2.0.3(sinon@15.2.0) + '@sinclair/typebox': 0.25.21 + ethers: 5.7.2 + isomorphic-fetch: 3.0.0 + memoizee: 0.4.15 + typedoc: 0.23.25(typescript@4.9.4) + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - sinon + - supports-color + - ts-node + - typescript + - utf-8-validate + dev: false + + /@connext/smart-contracts@2.0.0-alpha.1(ethers@5.7.2)(ts-node@10.9.1)(typescript@4.9.4): + resolution: {integrity: sha512-4ugt7DhZIuVplJHHb5OBMaVxywe2rC+9UzzPYpH02j//0E9GqwY2nv7VWvK8obEMPQiMCp6Seq9myylMF/ZpFQ==} + dependencies: + '@eth-optimism/sdk': 2.0.1(ethers@5.7.2)(ts-node@10.9.1)(typescript@4.9.4) + transitivePeerDependencies: + - bufferutil + - ethers + - supports-color + - ts-node + - typescript + - utf-8-validate + dev: false + /@cosmjs/amino@0.30.1: resolution: {integrity: sha512-yNHnzmvAlkETDYIpeCTdVqgvrdt1qgkOXwuRVi8s27UKI5hfqyE9fJ/fuunXE6ZZPnKkjIecDznmuUOMrMvw4w==} dependencies: @@ -2043,7 +2194,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) espree: 9.5.0 globals: 13.20.0 ignore: 5.2.4 @@ -2055,6 +2206,117 @@ packages: - supports-color dev: true + /@eth-optimism/contracts-bedrock@0.13.1(ts-node@10.9.1)(typescript@4.9.4): + resolution: {integrity: sha512-Jgw8PkV90S0+06AxjI13lULdxO9eHzPvBOTSIxdig8V/EXykJdENGXk83JE3oKBaK5umMcT/44qk73ilxnP7kQ==} + dependencies: + '@eth-optimism/core-utils': 0.12.0 + '@openzeppelin/contracts': 4.7.3 + '@openzeppelin/contracts-upgradeable': 4.7.3 + ethers: 5.7.2 + hardhat: 2.16.1(ts-node@10.9.1)(typescript@4.9.4) + transitivePeerDependencies: + - bufferutil + - supports-color + - ts-node + - typescript + - utf-8-validate + dev: false + + /@eth-optimism/contracts@0.5.40(ethers@5.7.2): + resolution: {integrity: sha512-MrzV0nvsymfO/fursTB7m/KunkPsCndltVgfdHaT1Aj5Vi6R/doKIGGkOofHX+8B6VMZpuZosKCMQ5lQuqjt8w==} + peerDependencies: + ethers: ^5 + dependencies: + '@eth-optimism/core-utils': 0.12.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + ethers: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@eth-optimism/core-utils@0.12.0: + resolution: {integrity: sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==} + dependencies: + '@ethersproject/abi': 5.7.0 + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/contracts': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/providers': 5.7.2 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + bufio: 1.2.0 + chai: 4.3.7 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@eth-optimism/sdk@2.0.1(ethers@5.7.2)(ts-node@10.9.1)(typescript@4.9.4): + resolution: {integrity: sha512-sTgAvtnAda7Se+r0CLptKb0tk18YzJ7XEZB9h3QsCCPYn1DzWnKLHhKdeKcyiHL5JYZ5/dz28fD7U4wF4ch/fQ==} + peerDependencies: + ethers: ^5 + dependencies: + '@eth-optimism/contracts': 0.5.40(ethers@5.7.2) + '@eth-optimism/contracts-bedrock': 0.13.1(ts-node@10.9.1)(typescript@4.9.4) + '@eth-optimism/core-utils': 0.12.0 + ethers: 5.7.2 + lodash: 4.17.21 + merkletreejs: 0.2.32 + rlp: 2.2.7 + transitivePeerDependencies: + - bufferutil + - supports-color + - ts-node + - typescript + - utf-8-validate + dev: false + + /@ethereumjs/block@3.6.3: + resolution: {integrity: sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==} + dependencies: + '@ethereumjs/common': 2.6.5 + '@ethereumjs/tx': 3.5.2 + ethereumjs-util: 7.1.5 + merkle-patricia-tree: 4.2.4 + dev: false + + /@ethereumjs/common@2.5.0: + resolution: {integrity: sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==} + dependencies: + crc-32: 1.2.2 + ethereumjs-util: 7.1.5 + dev: false + + /@ethereumjs/common@2.6.5: + resolution: {integrity: sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==} + dependencies: + crc-32: 1.2.2 + ethereumjs-util: 7.1.5 + dev: false + + /@ethereumjs/tx@3.3.2: + resolution: {integrity: sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==} + dependencies: + '@ethereumjs/common': 2.6.5 + ethereumjs-util: 7.1.5 + dev: false + + /@ethereumjs/tx@3.5.2: + resolution: {integrity: sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==} + dependencies: + '@ethereumjs/common': 2.6.5 + ethereumjs-util: 7.1.5 + dev: false + /@ethersproject/abi@5.5.0: resolution: {integrity: sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==} dependencies: @@ -2682,7 +2944,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3049,6 +3311,69 @@ packages: dependencies: '@lit-labs/ssr-dom-shim': 1.1.1 + /@maticnetwork/maticjs-web3@1.0.4(@maticnetwork/maticjs@3.6.0-beta.11): + resolution: {integrity: sha512-cMnp42jjGNfVZRL80yUYfD9abcyUC2VpKvjFQtU44A3A0M9sbCtOOMMkE4k8FWoccxIPi891rtc+nowdNahKxg==} + peerDependencies: + '@maticnetwork/maticjs': ^3.2.0 + dependencies: + '@maticnetwork/maticjs': 3.6.0-beta.11 + web3: 1.10.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: false + + /@maticnetwork/maticjs-web3@1.0.4(@maticnetwork/maticjs@3.6.0-beta.6): + resolution: {integrity: sha512-cMnp42jjGNfVZRL80yUYfD9abcyUC2VpKvjFQtU44A3A0M9sbCtOOMMkE4k8FWoccxIPi891rtc+nowdNahKxg==} + peerDependencies: + '@maticnetwork/maticjs': ^3.2.0 + dependencies: + '@maticnetwork/maticjs': 3.6.0-beta.6 + web3: 1.10.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: false + + /@maticnetwork/maticjs@3.6.0-beta.11: + resolution: {integrity: sha512-bwlTaW95wTQaM1/9vbUbhOR/JB4KsoozaTJTgknITZa3N94L4YP2LTnrbBa3ie76QDtbQ8j4uZ1BDqtCm0k1aQ==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethereumjs/block': 3.6.3 + ethereumjs-util: 7.1.5 + merkle-patricia-tree: 4.2.4 + node-fetch: 2.6.9 + transitivePeerDependencies: + - encoding + dev: false + + /@maticnetwork/maticjs@3.6.0-beta.6: + resolution: {integrity: sha512-ALqovN3BvLPeZNuXyKZ+ag5q3pljeIbNSBVcneHneZ0p6rBIU35kdRogkAV21buPeA4IKVRfF6Oeio8qIb7wIQ==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethereumjs/block': 3.6.3 + ethereumjs-util: 7.1.5 + merkle-patricia-tree: 4.2.4 + node-fetch: 2.6.9 + transitivePeerDependencies: + - encoding + dev: false + + /@metamask/eth-sig-util@4.0.1: + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} + engines: {node: '>=12.0.0'} + dependencies: + ethereumjs-abi: 0.6.8 + ethereumjs-util: 6.2.1 + ethjs-util: 0.1.6 + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + dev: false + /@metamask/safe-event-emitter@2.0.0: resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==} @@ -3057,7 +3382,7 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@types/debug': 4.1.7 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) semver: 7.5.0 superstruct: 1.0.3 transitivePeerDependencies: @@ -3248,6 +3573,10 @@ packages: /@noble/ed25519@1.7.3: resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + /@noble/hashes@1.2.0: + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + dev: false + /@noble/hashes@1.3.0: resolution: {integrity: sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==} @@ -3272,70 +3601,342 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@peculiar/asn1-schema@2.3.3: - resolution: {integrity: sha512-6GptMYDMyWBHTUKndHaDsRZUO/XMSgIns2krxcm2L7SEExRHwawFvSwNBhqNPR9HJwv3MruAiF1bhN0we6j6GQ==} + /@nomicfoundation/ethereumjs-block@5.0.1: + resolution: {integrity: sha512-u1Yioemi6Ckj3xspygu/SfFvm8vZEO8/Yx5a1QLzi6nVU0jz3Pg2OmHKJ5w+D9Ogk1vhwRiqEBAqcb0GVhCyHw==} + engines: {node: '>=14'} dependencies: - asn1js: 3.0.5 - pvtsutils: 1.3.2 - tslib: 2.5.0 + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-trie': 6.0.1 + '@nomicfoundation/ethereumjs-tx': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + ethereum-cryptography: 0.1.3 + ethers: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: false - /@peculiar/json-schema@1.1.12: - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} + /@nomicfoundation/ethereumjs-blockchain@7.0.1: + resolution: {integrity: sha512-NhzndlGg829XXbqJEYrF1VeZhAwSPgsK/OB7TVrdzft3y918hW5KNd7gIZ85sn6peDZOdjBsAXIpXZ38oBYE5A==} + engines: {node: '>=14'} dependencies: - tslib: 2.5.0 + '@nomicfoundation/ethereumjs-block': 5.0.1 + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-ethash': 3.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-trie': 6.0.1 + '@nomicfoundation/ethereumjs-tx': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + abstract-level: 1.0.3 + debug: 4.3.4(supports-color@8.1.1) + ethereum-cryptography: 0.1.3 + level: 8.0.0 + lru-cache: 5.1.1 + memory-level: 1.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate dev: false - /@peculiar/webcrypto@1.4.1: - resolution: {integrity: sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw==} - engines: {node: '>=10.12.0'} + /@nomicfoundation/ethereumjs-common@4.0.1: + resolution: {integrity: sha512-OBErlkfp54GpeiE06brBW/TTbtbuBJV5YI5Nz/aB2evTDo+KawyEzPjBlSr84z/8MFfj8wS2wxzQX1o32cev5g==} dependencies: - '@peculiar/asn1-schema': 2.3.3 - '@peculiar/json-schema': 1.1.12 - pvtsutils: 1.3.2 - tslib: 2.5.0 - webcrypto-core: 1.7.6 + '@nomicfoundation/ethereumjs-util': 9.0.1 + crc-32: 1.2.2 dev: false - /@pedrouid/environment@1.0.1: - resolution: {integrity: sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==} - - /@pkgr/utils@2.4.0: - resolution: {integrity: sha512-2OCURAmRtdlL8iUDTypMrrxfwe8frXTeXaxGsVOaYtc/wrUyk8Z/0OBetM7cdlsy7ZFWlMX72VogKeh+A4Xcjw==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + /@nomicfoundation/ethereumjs-ethash@3.0.1: + resolution: {integrity: sha512-KDjGIB5igzWOp8Ik5I6QiRH5DH+XgILlplsHR7TEuWANZA759G6krQ6o8bvj+tRUz08YygMQu/sGd9mJ1DYT8w==} + engines: {node: '>=14'} dependencies: - cross-spawn: 7.0.3 - fast-glob: 3.2.12 - is-glob: 4.0.3 - open: 9.1.0 - picocolors: 1.0.0 - tslib: 2.5.0 - dev: true + '@nomicfoundation/ethereumjs-block': 5.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + abstract-level: 1.0.3 + bigint-crypto-utils: 3.3.0 + ethereum-cryptography: 0.1.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false - /@prisma/client@4.11.0(prisma@4.11.0): - resolution: {integrity: sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==} - engines: {node: '>=14.17'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true + /@nomicfoundation/ethereumjs-evm@2.0.1: + resolution: {integrity: sha512-oL8vJcnk0Bx/onl+TgQOQ1t/534GKFaEG17fZmwtPFeH8S5soiBYPCLUrvANOl4sCp9elYxIMzIiTtMtNNN8EQ==} + engines: {node: '>=14'} dependencies: - '@prisma/engines-version': 4.11.0-57.8fde8fef4033376662cad983758335009d522acb - prisma: 4.11.0 + '@ethersproject/providers': 5.7.2 + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-tx': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + debug: 4.3.4(supports-color@8.1.1) + ethereum-cryptography: 0.1.3 + mcl-wasm: 0.7.9 + rustbn.js: 0.2.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate dev: false - /@prisma/engines-version@4.11.0-57.8fde8fef4033376662cad983758335009d522acb: - resolution: {integrity: sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g==} + /@nomicfoundation/ethereumjs-rlp@5.0.1: + resolution: {integrity: sha512-xtxrMGa8kP4zF5ApBQBtjlSbN5E2HI8m8FYgVSYAnO6ssUoY5pVPGy2H8+xdf/bmMa22Ce8nWMH3aEW8CcqMeQ==} + engines: {node: '>=14'} + hasBin: true dev: false - /@prisma/engines@4.11.0: - resolution: {integrity: sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==} - requiresBuild: true + /@nomicfoundation/ethereumjs-statemanager@2.0.1: + resolution: {integrity: sha512-B5ApMOnlruVOR7gisBaYwFX+L/AP7i/2oAahatssjPIBVDF6wTX1K7Qpa39E/nzsH8iYuL3krkYeUFIdO3EMUQ==} + dependencies: + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + debug: 4.3.4(supports-color@8.1.1) + ethereum-cryptography: 0.1.3 + ethers: 5.7.2 + js-sdsl: 4.3.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false - /@protobufjs/aspromise@1.1.2: + /@nomicfoundation/ethereumjs-trie@6.0.1: + resolution: {integrity: sha512-A64It/IMpDVODzCgxDgAAla8jNjNtsoQZIzZUfIV5AY6Coi4nvn7+VReBn5itlxMiL2yaTlQr9TRWp3CSI6VoA==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + '@types/readable-stream': 2.3.15 + ethereum-cryptography: 0.1.3 + readable-stream: 3.6.2 + dev: false + + /@nomicfoundation/ethereumjs-tx@5.0.1: + resolution: {integrity: sha512-0HwxUF2u2hrsIM1fsasjXvlbDOq1ZHFV2dd1yGq8CA+MEYhaxZr8OTScpVkkxqMwBcc5y83FyPl0J9MZn3kY0w==} + engines: {node: '>=14'} + dependencies: + '@chainsafe/ssz': 0.9.4 + '@ethersproject/providers': 5.7.2 + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + ethereum-cryptography: 0.1.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@nomicfoundation/ethereumjs-util@9.0.1: + resolution: {integrity: sha512-TwbhOWQ8QoSCFhV/DDfSmyfFIHjPjFBj957219+V3jTZYZ2rf9PmDtNOeZWAE3p3vlp8xb02XGpd0v6nTUPbsA==} + engines: {node: '>=14'} + dependencies: + '@chainsafe/ssz': 0.10.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + ethereum-cryptography: 0.1.3 + dev: false + + /@nomicfoundation/ethereumjs-vm@7.0.1: + resolution: {integrity: sha512-rArhyn0jPsS/D+ApFsz3yVJMQ29+pVzNZ0VJgkzAZ+7FqXSRtThl1C1prhmlVr3YNUlfpZ69Ak+RUT4g7VoOuQ==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-block': 5.0.1 + '@nomicfoundation/ethereumjs-blockchain': 7.0.1 + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-evm': 2.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-statemanager': 2.0.1 + '@nomicfoundation/ethereumjs-trie': 6.0.1 + '@nomicfoundation/ethereumjs-tx': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + debug: 4.3.4(supports-color@8.1.1) + ethereum-cryptography: 0.1.3 + mcl-wasm: 0.7.9 + rustbn.js: 0.2.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1: + resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1: + resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1: + resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1: + resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1: + resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1: + resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1: + resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1: + resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1: + resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1: + resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nomicfoundation/solidity-analyzer@0.1.1: + resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} + engines: {node: '>= 12'} + optionalDependencies: + '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 + '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 + '@nomicfoundation/solidity-analyzer-freebsd-x64': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.1 + '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-arm64-msvc': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-ia32-msvc': 0.1.1 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 + dev: false + + /@openzeppelin/contracts-upgradeable@4.7.3: + resolution: {integrity: sha512-+wuegAMaLcZnLCJIvrVUDzA9z/Wp93f0Dla/4jJvIhijRrPabjQbZe6fWiECLaJyfn5ci9fqf9vTw3xpQOad2A==} + dev: false + + /@openzeppelin/contracts@4.7.3: + resolution: {integrity: sha512-dGRS0agJzu8ybo44pCIf3xBaPQN/65AIXNgK8+4gzKd5kbvlqyxryUYVLJv7fK98Seyd2hDZzVEHSWAh0Bt1Yw==} + dev: false + + /@peculiar/asn1-schema@2.3.3: + resolution: {integrity: sha512-6GptMYDMyWBHTUKndHaDsRZUO/XMSgIns2krxcm2L7SEExRHwawFvSwNBhqNPR9HJwv3MruAiF1bhN0we6j6GQ==} + dependencies: + asn1js: 3.0.5 + pvtsutils: 1.3.2 + tslib: 2.5.0 + dev: false + + /@peculiar/json-schema@1.1.12: + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} + dependencies: + tslib: 2.5.0 + dev: false + + /@peculiar/webcrypto@1.4.1: + resolution: {integrity: sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw==} + engines: {node: '>=10.12.0'} + dependencies: + '@peculiar/asn1-schema': 2.3.3 + '@peculiar/json-schema': 1.1.12 + pvtsutils: 1.3.2 + tslib: 2.5.0 + webcrypto-core: 1.7.6 + dev: false + + /@pedrouid/environment@1.0.1: + resolution: {integrity: sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==} + + /@pkgr/utils@2.4.0: + resolution: {integrity: sha512-2OCURAmRtdlL8iUDTypMrrxfwe8frXTeXaxGsVOaYtc/wrUyk8Z/0OBetM7cdlsy7ZFWlMX72VogKeh+A4Xcjw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.2.12 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.5.0 + dev: true + + /@prisma/client@4.11.0(prisma@4.11.0): + resolution: {integrity: sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==} + engines: {node: '>=14.17'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + '@prisma/engines-version': 4.11.0-57.8fde8fef4033376662cad983758335009d522acb + prisma: 4.11.0 + dev: false + + /@prisma/engines-version@4.11.0-57.8fde8fef4033376662cad983758335009d522acb: + resolution: {integrity: sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g==} + dev: false + + /@prisma/engines@4.11.0: + resolution: {integrity: sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==} + requiresBuild: true + + /@protobufjs/aspromise@1.1.2: resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} dev: false @@ -4270,6 +4871,14 @@ packages: /@scure/base@1.1.1: resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} + /@scure/bip32@1.1.5: + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/base': 1.1.1 + dev: false + /@scure/bip32@1.3.0: resolution: {integrity: sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==} dependencies: @@ -4277,12 +4886,128 @@ packages: '@noble/hashes': 1.3.0 '@scure/base': 1.1.1 + /@scure/bip39@1.1.1: + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} + dependencies: + '@noble/hashes': 1.2.0 + '@scure/base': 1.1.1 + dev: false + /@scure/bip39@1.2.0: resolution: {integrity: sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==} dependencies: '@noble/hashes': 1.3.0 '@scure/base': 1.1.1 + /@sentry/core@5.30.0: + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: false + + /@sentry/hub@5.30.0: + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} + dependencies: + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: false + + /@sentry/minimal@5.30.0: + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/types': 5.30.0 + tslib: 1.14.1 + dev: false + + /@sentry/node@5.30.0: + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} + dependencies: + '@sentry/core': 5.30.0 + '@sentry/hub': 5.30.0 + '@sentry/tracing': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + cookie: 0.4.2 + https-proxy-agent: 5.0.1 + lru_map: 0.3.3 + tslib: 1.14.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@sentry/tracing@5.30.0: + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + dev: false + + /@sentry/types@5.30.0: + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} + dev: false + + /@sentry/utils@5.30.0: + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} + dependencies: + '@sentry/types': 5.30.0 + tslib: 1.14.1 + dev: false + + /@sinclair/typebox@0.25.21: + resolution: {integrity: sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==} + dev: false + + /@sindresorhus/is@4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: false + + /@sinonjs/commons@2.0.0: + resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + dependencies: + type-detect: 4.0.8 + dev: false + + /@sinonjs/commons@3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + dependencies: + type-detect: 4.0.8 + dev: false + + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + dependencies: + '@sinonjs/commons': 3.0.0 + dev: false + + /@sinonjs/samsam@8.0.0: + resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} + dependencies: + '@sinonjs/commons': 2.0.0 + lodash.get: 4.4.2 + type-detect: 4.0.8 + dev: false + + /@sinonjs/text-encoding@0.7.2: + resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} + dev: false + /@solana/buffer-layout@4.0.1: resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} engines: {node: '>=5.10'} @@ -4577,6 +5302,20 @@ packages: tslib: 2.5.0 dev: false + /@szmarczak/http-timer@4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + dependencies: + defer-to-connect: 2.0.1 + dev: false + + /@szmarczak/http-timer@5.0.1: + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + dependencies: + defer-to-connect: 2.0.1 + dev: false + /@t3-oss/env-core@0.4.0(typescript@4.9.4)(zod@3.21.4): resolution: {integrity: sha512-6JlMp0Vru15q/axHzBKsQQjiyGS6k+EsZBY1iErGVmOGzNSoVluBahnYFP7tEkwZ7KoRgSq4NRIc1Ez7SVYuxQ==} peerDependencies: @@ -4722,6 +5461,10 @@ packages: /@tsconfig/node16@1.0.3: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + /@types/abstract-leveldown@7.2.1: + resolution: {integrity: sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ==} + dev: false + /@types/accepts@1.3.5: resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} dependencies: @@ -4732,6 +5475,18 @@ packages: resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} dev: true + /@types/bn.js@4.11.6: + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + dependencies: + '@types/node': 17.0.45 + dev: false + + /@types/bn.js@5.1.1: + resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} + dependencies: + '@types/node': 17.0.45 + dev: false + /@types/body-parser@1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: @@ -4739,6 +5494,15 @@ packages: '@types/node': 17.0.45 dev: false + /@types/cacheable-request@6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + dependencies: + '@types/http-cache-semantics': 4.0.1 + '@types/keyv': 3.1.4 + '@types/node': 17.0.45 + '@types/responselike': 1.0.0 + dev: false + /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: @@ -4793,6 +5557,10 @@ packages: resolution: {integrity: sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==} dev: false + /@types/http-cache-semantics@4.0.1: + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + dev: false + /@types/http-errors@2.0.1: resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} dev: false @@ -4809,8 +5577,14 @@ packages: resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} dev: false - /@types/koa-compose@3.2.5: - resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==} + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 17.0.45 + dev: false + + /@types/koa-compose@3.2.5: + resolution: {integrity: sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==} dependencies: '@types/koa': 2.13.5 dev: false @@ -4828,10 +5602,26 @@ packages: '@types/node': 17.0.45 dev: false + /@types/level-errors@3.0.0: + resolution: {integrity: sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==} + dev: false + + /@types/levelup@4.3.3: + resolution: {integrity: sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==} + dependencies: + '@types/abstract-leveldown': 7.2.1 + '@types/level-errors': 3.0.0 + '@types/node': 17.0.45 + dev: false + /@types/long@4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} dev: false + /@types/lru-cache@5.1.1: + resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + dev: false + /@types/luxon@3.2.0: resolution: {integrity: sha512-lGmaGFoaXHuOLXFvuju2bfvZRqxAqkHPx9Y9IQdQABrinJJshJwfNCKV+u7rR3kJbiqfTF/NhOkcxxAFrObyaA==} dev: true @@ -4871,6 +5661,12 @@ packages: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true + /@types/pbkdf2@3.1.0: + resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} + dependencies: + '@types/node': 17.0.45 + dev: false + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} @@ -4907,9 +5703,28 @@ packages: '@types/scheduler': 0.16.2 csstype: 3.1.1 + /@types/readable-stream@2.3.15: + resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} + dependencies: + '@types/node': 17.0.45 + safe-buffer: 5.1.2 + dev: false + + /@types/responselike@1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 17.0.45 + dev: false + /@types/scheduler@0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} + /@types/secp256k1@4.0.3: + resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} + dependencies: + '@types/node': 17.0.45 + dev: false + /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true @@ -4949,7 +5764,7 @@ packages: '@typescript-eslint/scope-manager': 5.59.11 '@typescript-eslint/type-utils': 5.59.11(eslint@8.30.0)(typescript@4.9.4) '@typescript-eslint/utils': 5.59.11(eslint@8.30.0)(typescript@4.9.4) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 @@ -4974,7 +5789,7 @@ packages: '@typescript-eslint/scope-manager': 5.59.11 '@typescript-eslint/types': 5.59.11 '@typescript-eslint/typescript-estree': 5.59.11(typescript@4.9.4) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 typescript: 4.9.4 transitivePeerDependencies: @@ -5009,7 +5824,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 5.59.11(typescript@4.9.4) '@typescript-eslint/utils': 5.59.11(eslint@8.30.0)(typescript@4.9.4) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.30.0 tsutils: 3.21.0(typescript@4.9.4) typescript: 4.9.4 @@ -5038,7 +5853,7 @@ packages: dependencies: '@typescript-eslint/types': 5.54.1 '@typescript-eslint/visitor-keys': 5.54.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.0 @@ -5059,7 +5874,7 @@ packages: dependencies: '@typescript-eslint/types': 5.59.11 '@typescript-eslint/visitor-keys': 5.59.11 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.0 @@ -5901,7 +6716,53 @@ packages: engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 - dev: true + + /abortcontroller-polyfill@1.7.5: + resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==} + dev: false + + /abstract-level@1.0.3: + resolution: {integrity: sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==} + engines: {node: '>=12'} + dependencies: + buffer: 6.0.3 + catering: 2.1.1 + is-buffer: 2.0.5 + level-supports: 4.0.1 + level-transcoder: 1.0.1 + module-error: 1.0.2 + queue-microtask: 1.2.3 + dev: false + + /abstract-leveldown@6.2.3: + resolution: {integrity: sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==} + engines: {node: '>=6'} + dependencies: + buffer: 5.7.1 + immediate: 3.3.0 + level-concat-iterator: 2.0.1 + level-supports: 1.0.1 + xtend: 4.0.2 + dev: false + + /abstract-leveldown@6.3.0: + resolution: {integrity: sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==} + engines: {node: '>=6'} + dependencies: + buffer: 5.7.1 + immediate: 3.3.0 + level-concat-iterator: 2.0.1 + level-supports: 1.0.1 + xtend: 4.0.2 + dev: false + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: false /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -5936,17 +6797,31 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + /adm-zip@0.4.16: + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} + dev: false + /aes-js@3.0.0: resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} /aes-js@3.1.2: resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: false + /agentkeepalive@4.3.0: resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) depd: 2.0.0 humanize-ms: 1.2.1 transitivePeerDependencies: @@ -5958,12 +6833,22 @@ packages: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: true /ahocorasick@1.0.2: resolution: {integrity: sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==} dev: false + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -5971,7 +6856,6 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -5980,14 +6864,22 @@ packages: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - dev: true + + /ansi-colors@4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: false /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - dev: true /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -5998,6 +6890,10 @@ packages: engines: {node: '>=12'} dev: true + /ansi-sequence-parser@1.1.0: + resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} + dev: false + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -6043,7 +6939,6 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true /aria-hidden@1.2.3: resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} @@ -6065,6 +6960,10 @@ packages: is-array-buffer: 3.0.2 dev: true + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: false + /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true @@ -6120,6 +7019,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: false + /asn1js@3.0.5: resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} engines: {node: '>=12.0.0'} @@ -6129,6 +7034,15 @@ packages: tslib: 2.5.0 dev: false + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: false + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: false + /ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: true @@ -6138,6 +7052,10 @@ packages: engines: {node: '>=8'} dev: true + /async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + dev: false + /async-mutex@0.2.6: resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} dependencies: @@ -6171,6 +7089,14 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: false + + /aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: false + /axe-core@4.6.3: resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} engines: {node: '>=4'} @@ -6179,14 +7105,24 @@ packages: /axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.2(debug@4.3.4) + transitivePeerDependencies: + - debug + + /axios@1.3.3: + resolution: {integrity: sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==} + dependencies: + follow-redirects: 1.15.2(debug@4.3.4) + form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug + dev: false /axios@1.3.4: resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.2(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -6250,6 +7186,12 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: false + /bech32@1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} @@ -6265,6 +7207,15 @@ packages: dependencies: bindings: 1.5.0 + /bigint-crypto-utils@3.3.0: + resolution: {integrity: sha512-jOTSb+drvEDxEq6OuUybOAv/xxoh3cuYRUIPyu8sSHQNKM303UQ2R1DAo45o1AkcIXw6fzbaFI1+xGGdaXs2lg==} + engines: {node: '>=14.0.0'} + dev: false + + /bignumber.js@9.1.1: + resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} + dev: false + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -6284,6 +7235,10 @@ packages: inherits: 2.0.4 readable-stream: 3.6.2 + /blakejs@1.2.1: + resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} + dev: false + /blob-to-it@1.0.4: resolution: {integrity: sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==} dependencies: @@ -6304,12 +7259,60 @@ packages: multiformats: 11.0.2 dev: false + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: false + + /bn.js@4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + dev: false + /bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} /bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + /body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true @@ -6334,6 +7337,12 @@ packages: balanced-match: 1.0.2 concat-map: 0.0.1 + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: false + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -6343,10 +7352,34 @@ packages: /brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + /browser-level@1.0.1: + resolution: {integrity: sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==} + dependencies: + abstract-level: 1.0.3 + catering: 2.1.1 + module-error: 1.0.2 + run-parallel-limit: 1.1.0 + dev: false + /browser-readablestream-to-it@1.0.3: resolution: {integrity: sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==} dev: false + /browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + dev: false + + /browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + 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 + dev: false + /browserslist@4.21.5: resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -6362,6 +7395,37 @@ packages: dependencies: base-x: 3.0.9 + /bs58check@2.1.2: + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + dependencies: + bs58: 4.0.1 + create-hash: 1.2.0 + safe-buffer: 5.2.1 + dev: false + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: false + + /buffer-reverse@1.0.1: + resolution: {integrity: sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==} + dev: false + + /buffer-to-arraybuffer@0.0.5: + resolution: {integrity: sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==} + dev: false + + /buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + dev: false + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: @@ -6375,6 +7439,11 @@ packages: dependencies: node-gyp-build: 4.6.0 + /bufio@1.2.0: + resolution: {integrity: sha512-UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==} + engines: {node: '>=8.0.0'} + dev: false + /bundle-name@3.0.0: resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} engines: {node: '>=12'} @@ -6399,11 +7468,39 @@ packages: streamsearch: 1.1.0 dev: false + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: false + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} dev: true + /cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + dev: false + + /cacheable-lookup@6.1.0: + resolution: {integrity: sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==} + engines: {node: '>=10.6.0'} + dev: false + + /cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.2 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + dev: false + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -6442,7 +7539,6 @@ packages: /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - dev: true /caniuse-lite@1.0.30001464: resolution: {integrity: sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==} @@ -6463,11 +7559,52 @@ packages: upper-case-first: 2.0.2 dev: true + /case@1.6.3: + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} + dev: false + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: false + + /catering@2.1.1: + resolution: {integrity: sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==} + engines: {node: '>=6'} + dev: false + /cborg@1.10.1: resolution: {integrity: sha512-et6Qm8MOUY2kCWa5GKk2MlBVoPjHv0hQBmlzI/Z7+5V3VJCeIkGehIB3vWknNsm2kOkAIs6wEKJFJo8luWQQ/w==} hasBin: true dev: false + /chai-as-promised@7.1.1(chai@4.3.7): + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} + peerDependencies: + chai: '>= 2.1.2 < 5' + dependencies: + chai: 4.3.7 + check-error: 1.0.2 + dev: false + + /chai-subset@1.6.0: + resolution: {integrity: sha512-K3d+KmqdS5XKW5DWPd5sgNffL3uxdDe+6GdnJh3AYPhwnBGRY5urfvfcbRtWIvvpz+KxkL9FeBB6MZewLUNwug==} + engines: {node: '>=4'} + dev: false + + /chai@4.3.7: + resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 4.1.3 + get-func-name: 2.0.0 + loupe: 2.3.6 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: false + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -6509,6 +7646,10 @@ packages: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: false + /check-error@1.0.2: + resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + dev: false + /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -6523,6 +7664,37 @@ packages: optionalDependencies: fsevents: 2.3.2 + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false + + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: false + + /cids@0.7.5: + resolution: {integrity: sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==} + engines: {node: '>=4.0.0', npm: '>=3.0.0'} + deprecated: This module has been superseded by the multiformats module + dependencies: + buffer: 5.7.1 + class-is: 1.1.0 + multibase: 0.6.1 + multicodec: 1.0.4 + multihashes: 0.4.21 + dev: false + + /cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + + /class-is@1.1.0: + resolution: {integrity: sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==} + dev: false + /class-variance-authority@0.4.0(typescript@4.9.4): resolution: {integrity: sha512-74enNN8O9ZNieycac/y8FxqgyzZhZbxmCitAtAeUrLPlxjSd5zA7LfpprmxEcOmQBnaGs5hYhiSGnJ0mqrtBLQ==} peerDependencies: @@ -6534,10 +7706,21 @@ packages: typescript: 4.9.4 dev: false + /classic-level@1.3.0: + resolution: {integrity: sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==} + engines: {node: '>=12'} + requiresBuild: true + dependencies: + abstract-level: 1.0.3 + catering: 2.1.1 + module-error: 1.0.2 + napi-macros: 2.2.2 + node-gyp-build: 4.6.0 + dev: false + /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - dev: true /cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} @@ -6585,6 +7768,14 @@ packages: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: false + /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -6594,6 +7785,12 @@ packages: wrap-ansi: 7.0.0 dev: true + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: false + /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -6640,6 +7837,10 @@ packages: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: false + /command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + dev: false + /commander@10.0.0: resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} engines: {node: '>=14'} @@ -6648,6 +7849,10 @@ packages: /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + /commander@3.0.2: + resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} + dev: false + /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -6687,6 +7892,26 @@ packages: upper-case: 2.0.2 dev: true + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /content-hash@2.5.2: + resolution: {integrity: sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==} + dependencies: + cids: 0.7.5 + multicodec: 0.5.7 + multihashes: 0.4.21 + dev: false + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: false + /conventional-changelog-angular@5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} engines: {node: '>=10'} @@ -6720,6 +7945,15 @@ packages: /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: false + + /cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + dev: false + /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} @@ -6736,13 +7970,25 @@ packages: browserslist: 4.21.5 dev: true + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: false + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: false - /cosmiconfig-typescript-loader@4.3.0(@types/node@17.0.45)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.4): - resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} - engines: {node: '>=12', npm: '>=6'} + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: false + + /cosmiconfig-typescript-loader@4.3.0(@types/node@17.0.45)(cosmiconfig@8.1.0)(ts-node@10.9.1)(typescript@4.9.4): + resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} + engines: {node: '>=12', npm: '>=6'} peerDependencies: '@types/node': '*' cosmiconfig: '>=7' @@ -6783,6 +8029,33 @@ packages: protobufjs: 6.11.3 dev: false + /crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + dev: false + + /create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: false + + /create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + 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 + dev: false + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -6802,6 +8075,10 @@ packages: which: 2.0.2 dev: true + /crypto-js@3.3.0: + resolution: {integrity: sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==} + dev: false + /css-mediaquery@0.1.2: resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==} dev: false @@ -6853,6 +8130,13 @@ packages: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} dev: false + /d@1.0.1: + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} + dependencies: + es5-ext: 0.10.62 + type: 1.2.0 + dev: false + /dag-jose@1.0.0: resolution: {integrity: sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g==} dependencies: @@ -6869,6 +8153,13 @@ packages: engines: {node: '>=8'} dev: true + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: false + /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} @@ -6881,6 +8172,17 @@ packages: '@babel/runtime': 7.21.5 dev: true + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: false + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -6892,7 +8194,7 @@ packages: ms: 2.1.3 dev: true - /debug@4.3.4: + /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -6902,6 +8204,7 @@ packages: optional: true dependencies: ms: 2.1.2 + supports-color: 8.1.1 /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -6915,6 +8218,11 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + /decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + dev: false + /decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} dependencies: @@ -6925,10 +8233,31 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} + /decompress-response@3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: false + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: false + /deep-equal@2.2.0: resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} dependencies: @@ -6993,6 +8322,19 @@ packages: clone: 1.0.4 dev: true + /defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: false + + /deferred-leveldown@5.3.0: + resolution: {integrity: sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==} + engines: {node: '>=6'} + dependencies: + abstract-leveldown: 6.2.3 + inherits: 2.0.4 + dev: false + /define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -7026,6 +8368,11 @@ packages: engines: {node: '>=6'} dev: false + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: false + /detect-browser@5.3.0: resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} @@ -7073,6 +8420,11 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + /diff@5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} + dev: false + /diff@5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} @@ -7094,7 +8446,7 @@ packages: /dns-over-http-resolver@1.2.3(node-fetch@2.6.9): resolution: {integrity: sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) native-fetch: 3.0.0(node-fetch@2.6.9) receptacle: 1.3.2 transitivePeerDependencies: @@ -7128,6 +8480,10 @@ packages: entities: 2.2.0 dev: true + /dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + dev: false + /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true @@ -7183,6 +8539,17 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: false + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: false + /eip1193-provider@1.0.1: resolution: {integrity: sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==} dependencies: @@ -7223,6 +8590,21 @@ packages: /encode-utf8@1.0.3: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: false + + /encoding-down@6.3.0: + resolution: {integrity: sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==} + engines: {node: '>=6'} + dependencies: + abstract-leveldown: 6.3.0 + inherits: 2.0.4 + level-codec: 9.0.2 + level-errors: 2.0.1 + dev: false + /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} dependencies: @@ -7242,6 +8624,13 @@ packages: tapable: 2.2.1 dev: true + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: false + /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true @@ -7251,10 +8640,22 @@ packages: engines: {node: '>=0.12'} dev: true + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: false + /err-code@3.0.1: resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==} dev: false + /errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + dependencies: + prr: 1.0.1 + dev: false + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -7339,6 +8740,24 @@ packages: is-symbol: 1.0.4 dev: true + /es5-ext@0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.1.0 + dev: false + + /es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 + dev: false + /es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} @@ -7347,6 +8766,22 @@ packages: dependencies: es6-promise: 4.2.8 + /es6-symbol@3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + dependencies: + d: 1.0.1 + ext: 1.7.0 + dev: false + + /es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + dev: false + /esbuild-android-64@0.15.13: resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==} engines: {node: '>=12'} @@ -7561,6 +8996,10 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: false + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -7568,7 +9007,6 @@ packages: /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true /eslint-config-next@13.4.0(eslint@8.30.0)(typescript@4.9.4): resolution: {integrity: sha512-FkO3QRyUEKAHM4ie0xAcxo7fQ8gWevuLqgf6/g1Y6zWybqSa4FNeJr4hqqTbP25xIRgUUIPILBlx9RSH4C6+gQ==} @@ -7621,7 +9059,7 @@ packages: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.13.0 eslint: 8.30.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.30.0) @@ -7953,7 +9391,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 @@ -8027,6 +9465,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + /eth-block-tracker@6.1.0: resolution: {integrity: sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ==} engines: {node: '>=14.0.0'} @@ -8038,6 +9481,13 @@ packages: transitivePeerDependencies: - supports-color + /eth-ens-namehash@2.0.8: + resolution: {integrity: sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==} + dependencies: + idna-uts46-hx: 2.3.1 + js-sha3: 0.5.7 + dev: false + /eth-json-rpc-filters@5.1.0: resolution: {integrity: sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ==} engines: {node: '>=14.0.0'} @@ -8048,6 +9498,29 @@ packages: json-rpc-engine: 6.1.0 pify: 5.0.0 + /eth-lib@0.1.29: + resolution: {integrity: sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + nano-json-stream-parser: 0.1.2 + servify: 0.1.12 + ws: 3.3.3 + xhr-request-promise: 0.1.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /eth-lib@0.2.8: + resolution: {integrity: sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + xhr-request-promise: 0.1.3 + dev: false + /eth-query@2.1.2: resolution: {integrity: sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==} dependencies: @@ -8059,6 +9532,71 @@ packages: dependencies: fast-safe-stringify: 2.1.1 + /ethereum-bloom-filters@1.0.10: + resolution: {integrity: sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==} + dependencies: + js-sha3: 0.8.0 + dev: false + + /ethereum-cryptography@0.1.3: + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} + dependencies: + '@types/pbkdf2': 3.1.0 + '@types/secp256k1': 4.0.3 + blakejs: 1.2.1 + browserify-aes: 1.2.0 + bs58check: 2.1.2 + create-hash: 1.2.0 + create-hmac: 1.1.7 + hash.js: 1.1.7 + keccak: 3.0.3 + pbkdf2: 3.1.2 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + scrypt-js: 3.0.1 + secp256k1: 4.0.3 + setimmediate: 1.0.5 + dev: false + + /ethereum-cryptography@1.2.0: + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/bip32': 1.1.5 + '@scure/bip39': 1.1.1 + dev: false + + /ethereumjs-abi@0.6.8: + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + dependencies: + bn.js: 4.12.0 + ethereumjs-util: 6.2.1 + dev: false + + /ethereumjs-util@6.2.1: + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} + dependencies: + '@types/bn.js': 4.11.6 + bn.js: 4.12.0 + create-hash: 1.2.0 + elliptic: 6.5.4 + ethereum-cryptography: 0.1.3 + ethjs-util: 0.1.6 + rlp: 2.2.7 + dev: false + + /ethereumjs-util@7.1.5: + resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} + engines: {node: '>=10.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + bn.js: 5.2.1 + create-hash: 1.2.0 + ethereum-cryptography: 0.1.3 + rlp: 2.2.7 + dev: false + /ethers@5.5.1: resolution: {integrity: sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==} dependencies: @@ -8134,10 +9672,36 @@ packages: - bufferutil - utf-8-validate + /ethjs-unit@0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + dev: false + + /ethjs-util@0.1.6: + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + dev: false + + /event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + dev: false + /event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - dev: true + + /eventemitter3@4.0.4: + resolution: {integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==} + dev: false /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -8151,6 +9715,21 @@ packages: engines: {node: '>=14.18'} dev: false + /evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: false + + /evt@2.4.13: + resolution: {integrity: sha512-haTVOsmjzk+28zpzvVwan9Zw2rLQF2izgi7BKjAPRzZAfcv+8scL0TpM8MzvGNKFYHiy+Bq3r6FYIIUPl9kt3A==} + dependencies: + minimal-polyfills: 2.2.3 + run-exclusive: 2.2.19 + tsafe: 1.6.4 + dev: false + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -8211,17 +9790,66 @@ packages: strip-final-newline: 3.0.0 dev: true + /express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + dependencies: + type: 2.7.2 + dev: false + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: false + /eyes@0.1.8: resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} engines: {node: '> 0.1.90'} /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true /fast-diff@1.2.0: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} @@ -8243,7 +9871,6 @@ packages: /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} @@ -8292,6 +9919,28 @@ packages: resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} engines: {node: '>=0.10.0'} + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + dependencies: + locate-path: 2.0.0 + dev: false + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -8305,7 +9954,6 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true /find-up@6.3.0: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} @@ -8323,11 +9971,16 @@ packages: rimraf: 3.0.2 dev: true + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: false + /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true - /follow-redirects@1.15.2: + /follow-redirects@1.15.2(debug@4.3.4): resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} peerDependencies: @@ -8335,12 +9988,31 @@ packages: peerDependenciesMeta: debug: optional: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: false + + /form-data-encoder@1.7.1: + resolution: {integrity: sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==} + dev: false + + /form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -8357,6 +10029,15 @@ packages: fetch-blob: 3.2.0 dev: true + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fp-ts@1.19.3: + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} + dev: false + /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true @@ -8376,6 +10057,21 @@ packages: '@emotion/is-prop-valid': 0.8.8 dev: false + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: false + + /fs-extra@0.30.0: + resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 2.4.0 + klaw: 1.3.1 + path-is-absolute: 1.0.1 + rimraf: 2.7.1 + dev: false + /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -8394,9 +10090,31 @@ packages: universalify: 2.0.0 dev: true + /fs-extra@4.0.3: + resolution: {integrity: sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + + /fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: false + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} @@ -8418,6 +10136,10 @@ packages: functions-have-names: 1.2.3 dev: true + /functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + dev: false + /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true @@ -8430,6 +10152,10 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + /get-func-name@2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + dev: false + /get-intrinsic@1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: @@ -8446,10 +10172,16 @@ packages: engines: {node: '>=6'} dev: false + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: false + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -8463,6 +10195,12 @@ packages: resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} dev: true + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: false + /git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} @@ -8498,6 +10236,17 @@ packages: path-is-absolute: 1.0.1 dev: true + /glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -8507,7 +10256,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true /global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} @@ -8516,6 +10264,13 @@ packages: ini: 1.3.8 dev: true + /global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + dependencies: + min-document: 2.19.0 + process: 0.11.10 + dev: false + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -8561,9 +10316,44 @@ packages: dependencies: get-intrinsic: 1.2.0 + /got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.0 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + dev: false + + /got@12.1.0: + resolution: {integrity: sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==} + engines: {node: '>=14.16'} + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 5.0.1 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.0 + cacheable-lookup: 6.1.0 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + form-data-encoder: 1.7.1 + get-stream: 6.0.1 + http2-wrapper: 2.2.0 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 2.0.1 + dev: false + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} @@ -8577,11 +10367,95 @@ packages: uint8arrays: 4.0.3 dev: false + /har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + dev: false + + /har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + dev: false + /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} dev: true + /hardhat@2.16.1(ts-node@10.9.1)(typescript@4.9.4): + resolution: {integrity: sha512-QpBjGXFhhSYoYBGEHyoau/A63crZOP+i3GbNxzLGkL6IklzT+piN14+wGnINNCg5BLSKisQI/RAySPzaWRcx/g==} + engines: {node: '>=14.0.0'} + hasBin: true + peerDependencies: + ts-node: '*' + typescript: '*' + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true + dependencies: + '@ethersproject/abi': 5.7.0 + '@metamask/eth-sig-util': 4.0.1 + '@nomicfoundation/ethereumjs-block': 5.0.1 + '@nomicfoundation/ethereumjs-blockchain': 7.0.1 + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-evm': 2.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-statemanager': 2.0.1 + '@nomicfoundation/ethereumjs-trie': 6.0.1 + '@nomicfoundation/ethereumjs-tx': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + '@nomicfoundation/ethereumjs-vm': 7.0.1 + '@nomicfoundation/solidity-analyzer': 0.1.1 + '@sentry/node': 5.30.0 + '@types/bn.js': 5.1.1 + '@types/lru-cache': 5.1.1 + abort-controller: 3.0.0 + adm-zip: 0.4.16 + aggregate-error: 3.1.0 + ansi-escapes: 4.3.2 + chalk: 2.4.2 + chokidar: 3.5.3 + ci-info: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + enquirer: 2.3.6 + env-paths: 2.2.1 + ethereum-cryptography: 1.2.0 + ethereumjs-abi: 0.6.8 + find-up: 2.1.0 + fp-ts: 1.19.3 + fs-extra: 7.0.1 + glob: 7.2.0 + immutable: 4.3.0 + io-ts: 1.10.4 + keccak: 3.0.3 + lodash: 4.17.21 + mnemonist: 0.38.5 + mocha: 10.2.0 + p-map: 4.0.0 + raw-body: 2.5.2 + resolve: 1.17.0 + semver: 6.3.0 + solc: 0.7.3(debug@4.3.4) + source-map-support: 0.5.21 + stacktrace-parser: 0.1.10 + ts-node: 10.9.1(@types/node@17.0.45)(typescript@4.9.4) + tsort: 0.0.1 + typescript: 4.9.4 + undici: 5.22.1 + uuid: 8.3.2 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true @@ -8620,6 +10494,15 @@ packages: dependencies: function-bind: 1.1.1 + /hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: false + /hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: @@ -8630,6 +10513,11 @@ packages: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} dev: false + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: false + /header-case@2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: @@ -8658,6 +10546,60 @@ packages: lru-cache: 6.0.0 dev: true + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: false + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /http-https@1.0.0: + resolution: {integrity: sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==} + dev: false + + /http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.17.0 + dev: false + + /http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: false + + /http2-wrapper@2.2.0: + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: false + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: false + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -8689,10 +10631,24 @@ packages: hasBin: true dev: true + /hyperid@3.1.1: + resolution: {integrity: sha512-RveV33kIksycSf7HLkq1sHB5wW0OwuX8ot8MYnY++gaaPXGFfKpBncHrAWxdpuEeRlazUMGWefwP1w6o6GaumA==} + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + dev: false + /hyphenate-style-name@1.0.4: resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} dev: false + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -8700,6 +10656,13 @@ packages: safer-buffer: 2.1.2 dev: false + /idna-uts46-hx@2.3.1: + resolution: {integrity: sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==} + engines: {node: '>=4.0.0'} + dependencies: + punycode: 2.1.0 + dev: false + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -8712,6 +10675,18 @@ packages: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} dev: false + /immediate@3.2.3: + resolution: {integrity: sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==} + dev: false + + /immediate@3.3.0: + resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + dev: false + + /immutable@4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + dev: false + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -8728,14 +10703,12 @@ packages: /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - dev: true /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -8782,17 +10755,32 @@ packages: side-channel: 1.0.4 dev: true + /interval-promise@1.4.0: + resolution: {integrity: sha512-PUwEmGqUglJhb6M01JNvMDvxr4DA8FCeYoYCLHPEcBBZiq/8yOpCchfs1VJui7fXj69l170gAxzF1FeSA0nSlg==} + dev: false + /invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 dev: false + /io-ts@1.10.4: + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} + dependencies: + fp-ts: 1.19.3 + dev: false + /ip-regex@4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} dev: false + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + /ipfs-core-types@0.10.3(node-fetch@2.6.9): resolution: {integrity: sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw==} dependencies: @@ -8812,7 +10800,7 @@ packages: any-signal: 3.0.1 blob-to-it: 1.0.4 browser-readablestream-to-it: 1.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) err-code: 3.0.1 ipfs-core-types: 0.10.3(node-fetch@2.6.9) ipfs-unixfs: 6.0.9 @@ -8844,7 +10832,7 @@ packages: '@ipld/dag-pb': 2.1.18 any-signal: 3.0.1 dag-jose: 1.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) err-code: 3.0.1 ipfs-core-types: 0.10.3(node-fetch@2.6.9) ipfs-core-utils: 0.14.3(node-fetch@2.6.9) @@ -9052,6 +11040,10 @@ packages: engines: {node: '>=12'} dev: true + /is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + dev: false + /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -9064,6 +11056,11 @@ packages: dependencies: is-extglob: 2.1.1 + /is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + dev: false + /is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -9129,6 +11126,10 @@ packages: engines: {node: '>=12'} dev: false + /is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + dev: false + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -9191,6 +11192,11 @@ packages: /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: false + /is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -9220,6 +11226,10 @@ packages: is-docker: 2.2.1 dev: true + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: false @@ -9237,6 +11247,15 @@ packages: engines: {node: '>=12'} dev: false + /isomorphic-fetch@3.0.0: + resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + dependencies: + node-fetch: 2.6.9 + whatwg-fetch: 3.6.2 + transitivePeerDependencies: + - encoding + dev: false + /isomorphic-ws@4.0.1(ws@7.5.9): resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: @@ -9251,6 +11270,10 @@ packages: dependencies: ws: 8.12.0 + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: false + /it-all@1.0.6: resolution: {integrity: sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==} dev: false @@ -9394,7 +11417,10 @@ packages: /js-sdsl@4.3.0: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - dev: true + + /js-sha3@0.5.7: + resolution: {integrity: sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==} + dev: false /js-sha3@0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} @@ -9407,7 +11433,10 @@ packages: hasBin: true dependencies: argparse: 2.0.1 - dev: true + + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: false /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} @@ -9419,6 +11448,10 @@ packages: engines: {node: '>=4'} hasBin: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: false + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -9435,11 +11468,13 @@ packages: /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: false /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -9460,6 +11495,22 @@ packages: engines: {node: '>=6'} hasBin: true + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: false + + /jsonfile@2.4.0: + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -9472,6 +11523,16 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} + /jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: false + /jsx-ast-utils@3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} @@ -9489,6 +11550,10 @@ packages: setimmediate: 1.0.5 dev: false + /just-extend@4.2.1: + resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==} + dev: false + /keccak@3.0.3: resolution: {integrity: sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==} engines: {node: '>=10.0.0'} @@ -9498,6 +11563,12 @@ packages: node-gyp-build: 4.6.0 readable-stream: 3.6.2 + /keyv@4.5.2: + resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + dependencies: + json-buffer: 3.0.1 + dev: false + /keyvaluestorage-interface@1.0.0: resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} @@ -9506,6 +11577,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /klaw@1.3.1: + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -9521,6 +11598,98 @@ packages: language-subtag-registry: 0.3.22 dev: true + /level-codec@9.0.2: + resolution: {integrity: sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==} + engines: {node: '>=6'} + dependencies: + buffer: 5.7.1 + dev: false + + /level-concat-iterator@2.0.1: + resolution: {integrity: sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==} + engines: {node: '>=6'} + dev: false + + /level-errors@2.0.1: + resolution: {integrity: sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==} + engines: {node: '>=6'} + dependencies: + errno: 0.1.8 + dev: false + + /level-iterator-stream@4.0.2: + resolution: {integrity: sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==} + engines: {node: '>=6'} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + dev: false + + /level-mem@5.0.1: + resolution: {integrity: sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==} + engines: {node: '>=6'} + dependencies: + level-packager: 5.1.1 + memdown: 5.1.0 + dev: false + + /level-packager@5.1.1: + resolution: {integrity: sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==} + engines: {node: '>=6'} + dependencies: + encoding-down: 6.3.0 + levelup: 4.4.0 + dev: false + + /level-supports@1.0.1: + resolution: {integrity: sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==} + engines: {node: '>=6'} + dependencies: + xtend: 4.0.2 + dev: false + + /level-supports@4.0.1: + resolution: {integrity: sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==} + engines: {node: '>=12'} + dev: false + + /level-transcoder@1.0.1: + resolution: {integrity: sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==} + engines: {node: '>=12'} + dependencies: + buffer: 6.0.3 + module-error: 1.0.2 + dev: false + + /level-ws@2.0.0: + resolution: {integrity: sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==} + engines: {node: '>=6'} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + dev: false + + /level@8.0.0: + resolution: {integrity: sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==} + engines: {node: '>=12'} + dependencies: + browser-level: 1.0.1 + classic-level: 1.3.0 + dev: false + + /levelup@4.4.0: + resolution: {integrity: sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==} + engines: {node: '>=6'} + dependencies: + deferred-leveldown: 5.3.0 + level-errors: 2.0.1 + level-iterator-stream: 4.0.2 + level-supports: 1.0.1 + xtend: 4.0.2 + dev: false + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -9561,7 +11730,7 @@ packages: chalk: 5.2.0 cli-truncate: 3.1.0 commander: 10.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) execa: 7.1.0 lilconfig: 2.1.0 listr2: 5.0.8 @@ -9658,6 +11827,14 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: false + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -9669,7 +11846,6 @@ packages: engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - dev: true /locate-path@7.2.0: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} @@ -9690,6 +11866,10 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: false + /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} @@ -9730,6 +11910,14 @@ packages: /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: false + /log-symbols@5.1.0: resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} engines: {node: '>=12'} @@ -9762,12 +11950,28 @@ packages: dependencies: js-tokens: 4.0.0 + /loupe@2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + dependencies: + get-func-name: 2.0.0 + dev: false + /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.5.0 dev: true + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: false + + /lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -9779,8 +11983,26 @@ packages: dependencies: yallist: 4.0.0 - /luxon@3.3.0: - resolution: {integrity: sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==} + /lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + dependencies: + es5-ext: 0.10.62 + dev: false + + /lru_map@0.3.3: + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + dev: false + + /ltgt@2.2.1: + resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} + dev: false + + /lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + dev: false + + /luxon@3.3.0: + resolution: {integrity: sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==} engines: {node: '>=12'} dev: false @@ -9802,12 +12024,31 @@ packages: engines: {node: '>=8'} dev: true + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + dev: false + /matchmediaquery@0.3.1: resolution: {integrity: sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==} dependencies: css-mediaquery: 0.1.2 dev: false + /mcl-wasm@0.7.9: + resolution: {integrity: sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==} + engines: {node: '>=8.9.0'} + dev: false + + /md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: false + /mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: @@ -9864,6 +12105,50 @@ packages: '@babel/runtime': 7.21.5 dev: false + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /memdown@5.1.0: + resolution: {integrity: sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==} + engines: {node: '>=6'} + dependencies: + abstract-leveldown: 6.2.3 + functional-red-black-tree: 1.0.1 + immediate: 3.2.3 + inherits: 2.0.4 + ltgt: 2.2.1 + safe-buffer: 5.2.1 + dev: false + + /memoizee@0.4.15: + resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-weak-map: 2.0.3 + event-emitter: 0.3.5 + is-promise: 2.2.2 + lru-queue: 0.1.0 + next-tick: 1.1.0 + timers-ext: 0.1.7 + dev: false + + /memory-level@1.0.0: + resolution: {integrity: sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==} + engines: {node: '>=12'} + dependencies: + abstract-level: 1.0.3 + functional-red-black-tree: 1.0.1 + module-error: 1.0.2 + dev: false + + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: false + /meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} @@ -9881,6 +12166,10 @@ packages: yargs-parser: 20.2.9 dev: true + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: false + /merge-options@3.0.4: resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==} engines: {node: '>=10'} @@ -9896,6 +12185,44 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + /merkle-patricia-tree@4.2.4: + resolution: {integrity: sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==} + dependencies: + '@types/levelup': 4.3.3 + ethereumjs-util: 7.1.5 + level-mem: 5.0.1 + level-ws: 2.0.0 + readable-stream: 3.6.2 + semaphore-async-await: 1.5.1 + dev: false + + /merkletreejs@0.2.32: + resolution: {integrity: sha512-TostQBiwYRIwSE5++jGmacu3ODcKAgqb0Y/pnIohXS7sWxh1gCkSptbmF1a43faehRDpcHf7J/kv0Ml2D/zblQ==} + engines: {node: '>= 7.6.0'} + dependencies: + bignumber.js: 9.1.1 + buffer-reverse: 1.0.1 + crypto-js: 3.3.0 + treeify: 1.1.0 + web3-utils: 1.10.0 + dev: false + + /merkletreejs@0.3.9: + resolution: {integrity: sha512-NjlATjJr4NEn9s8v/VEHhgwRWaE1eA/Une07d9SEqKzULJi1Wsh0Y3svwJdP2bYLMmgSBHzOrNydMWM1NN9VeQ==} + engines: {node: '>= 7.6.0'} + dependencies: + bignumber.js: 9.1.1 + buffer-reverse: 1.0.1 + crypto-js: 3.3.0 + treeify: 1.1.0 + web3-utils: 1.10.0 + dev: false + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: false + /micromark-core-commonmark@1.0.6: resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} dependencies: @@ -10052,7 +12379,7 @@ packages: resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.0.6 micromark-factory-space: 1.0.0 @@ -10096,6 +12423,12 @@ packages: mime-db: 1.52.0 dev: false + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: false + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -10106,6 +12439,22 @@ packages: engines: {node: '>=12'} dev: true + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: false + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + + /min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + dependencies: + dom-walk: 0.1.2 + dev: false + /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -10116,6 +12465,10 @@ packages: hasBin: true dev: false + /minimal-polyfills@2.2.3: + resolution: {integrity: sha512-oxdmJ9cL+xV72h0xYxp4tP2d5/fTBpP45H8DIOn9pASuF8a3IYTf+25fMGDYGiWW+MFsuog6KD6nfmhZJQ+uUw==} + dev: false + /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -10127,6 +12480,20 @@ packages: dependencies: brace-expansion: 1.1.11 + /minimatch@5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimatch@6.2.0: + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: false + /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -10139,6 +12506,87 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + /minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + dependencies: + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + + /minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: false + + /mkdirp-promise@5.0.1: + resolution: {integrity: sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==} + engines: {node: '>=4'} + deprecated: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that. + dependencies: + mkdirp: 3.0.1 + dev: false + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + + /mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + dev: false + + /mnemonist@0.38.5: + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} + dependencies: + obliterator: 2.0.4 + dev: false + + /mocha@10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} + engines: {node: '>= 14.0.0'} + hasBin: true + dependencies: + ansi-colors: 4.1.1 + browser-stdout: 1.3.1 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + diff: 5.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 7.2.0 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 5.0.1 + ms: 2.1.3 + nanoid: 3.3.3 + serialize-javascript: 6.0.0 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.2.1 + yargs: 16.2.0 + yargs-parser: 20.2.4 + yargs-unparser: 2.0.0 + dev: false + + /mock-fs@4.14.0: + resolution: {integrity: sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==} + dev: false + + /module-error@1.0.2: + resolution: {integrity: sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==} + engines: {node: '>=10'} + dev: false + + /moment@2.29.4: + resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} + dev: false + /motion@10.15.5: resolution: {integrity: sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==} dependencies: @@ -10165,6 +12613,10 @@ packages: engines: {node: '>=4'} dev: false + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: false + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -10196,6 +12648,37 @@ packages: - supports-color dev: false + /multibase@0.6.1: + resolution: {integrity: sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==} + deprecated: This module has been superseded by the multiformats module + dependencies: + base-x: 3.0.9 + buffer: 5.7.1 + dev: false + + /multibase@0.7.0: + resolution: {integrity: sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==} + deprecated: This module has been superseded by the multiformats module + dependencies: + base-x: 3.0.9 + buffer: 5.7.1 + dev: false + + /multicodec@0.5.7: + resolution: {integrity: sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==} + deprecated: This module has been superseded by the multiformats module + dependencies: + varint: 5.0.2 + dev: false + + /multicodec@1.0.4: + resolution: {integrity: sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==} + deprecated: This module has been superseded by the multiformats module + dependencies: + buffer: 5.7.1 + varint: 5.0.2 + dev: false + /multiformats@11.0.2: resolution: {integrity: sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} @@ -10204,11 +12687,29 @@ packages: /multiformats@9.9.0: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} + /multihashes@0.4.21: + resolution: {integrity: sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==} + dependencies: + buffer: 5.7.1 + multibase: 0.7.0 + varint: 5.0.2 + dev: false + /murmurhash3js-revisited@3.0.0: resolution: {integrity: sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==} engines: {node: '>=8.0.0'} dev: false + /nano-json-stream-parser@0.1.2: + resolution: {integrity: sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==} + dev: false + + /nanoid@3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + /nanoid@3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -10220,6 +12721,10 @@ packages: hasBin: true dev: false + /napi-macros@2.2.2: + resolution: {integrity: sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==} + dev: false + /native-fetch@3.0.0(node-fetch@2.6.9): resolution: {integrity: sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==} peerDependencies: @@ -10236,6 +12741,11 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: false + /next-themes@0.2.1(next@13.4.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: @@ -10248,6 +12758,10 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: false + /next@13.4.0(@babel/core@7.18.5)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-y3E+2ZjiVrphkz7zcJvd2rEG6miOekI8krPfWV4AZZ9TaF0LDuFdP/f+RQ5M9wRvsz6GWw8k8+7jsO860GxSqg==} engines: {node: '>=16.8.0'} @@ -10293,6 +12807,16 @@ packages: - babel-plugin-macros dev: false + /nise@5.1.4: + resolution: {integrity: sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==} + dependencies: + '@sinonjs/commons': 2.0.0 + '@sinonjs/fake-timers': 10.3.0 + '@sinonjs/text-encoding': 0.7.2 + just-extend: 4.2.1 + path-to-regexp: 1.8.0 + dev: false + /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -10374,6 +12898,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: false + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -10394,6 +12923,18 @@ packages: boolbase: 1.0.0 dev: true + /number-to-bn@1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + dev: false + + /oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + dev: false + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -10461,9 +13002,30 @@ packages: es-abstract: 1.21.2 dev: true + /obliterator@2.0.4: + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + dev: false + + /oboe@2.1.5: + resolution: {integrity: sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==} + dependencies: + http-https: 1.0.0 + dev: false + /on-exit-leak-free@0.2.0: resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + /on-exit-leak-free@2.1.0: + resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} + dev: false + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -10520,10 +13082,25 @@ packages: wcwidth: 1.0.1 dev: true + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: false + /outdent@0.8.0: resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} dev: false + /p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + dev: false + + /p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + dev: false + /p-defer@3.0.0: resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} engines: {node: '>=8'} @@ -10536,6 +13113,18 @@ packages: p-defer: 3.0.0 dev: false + /p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: false + + /p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + dependencies: + p-try: 1.0.0 + dev: false + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -10547,7 +13136,6 @@ packages: engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - dev: true /p-limit@4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} @@ -10556,6 +13144,13 @@ packages: yocto-queue: 1.0.0 dev: true + /p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + dependencies: + p-limit: 1.3.0 + dev: false + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -10567,7 +13162,6 @@ packages: engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - dev: true /p-locate@6.0.0: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} @@ -10581,7 +13175,26 @@ packages: engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 - dev: true + + /p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + dev: false + + /p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + dependencies: + p-finally: 1.0.0 + dev: false + + /p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + dev: false /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} @@ -10609,6 +13222,10 @@ packages: resolution: {integrity: sha512-o6NAh12na5VvR6nFejkU0gpQ8jmOY9Y9sTU2ke3L3G/d/3z8jqmbBbeyBGHU73P4JLXfc7tJARygIK3WGIkloA==} dev: false + /parse-headers@2.0.5: + resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} + dev: false + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -10619,6 +13236,11 @@ packages: lines-and-columns: 1.2.4 dev: true + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: false + /pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: @@ -10633,6 +13255,11 @@ packages: tslib: 2.5.0 dev: true + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: false + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -10645,7 +13272,6 @@ packages: /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} @@ -10660,6 +13286,16 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: false + + /path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + dependencies: + isarray: 0.0.1 + dev: false + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -10669,6 +13305,25 @@ packages: resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} dev: true + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: false + + /pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + 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 + dev: false + + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -10700,9 +13355,20 @@ packages: duplexify: 4.1.2 split2: 4.2.0 + /pino-abstract-transport@1.0.0: + resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==} + dependencies: + readable-stream: 4.4.2 + split2: 4.2.0 + dev: false + /pino-std-serializers@4.0.0: resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + /pino@7.11.0: resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} hasBin: true @@ -10719,6 +13385,23 @@ packages: sonic-boom: 2.8.0 thread-stream: 0.15.2 + /pino@8.10.0: + resolution: {integrity: sha512-ODfIe+giJtQGsvNAEj5/sHHpL3TFBg161JBH4W62Hc0l0PJjsDFD1R7meLI4PZ2aoHDJznxFNShkJcaG/qJToQ==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.1.2 + on-exit-leak-free: 2.1.0 + pino-abstract-transport: 1.0.0 + pino-std-serializers: 6.2.2 + process-warning: 2.2.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.3.0 + thread-stream: 2.3.0 + dev: false + /pngjs@5.0.0: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} engines: {node: '>=10.13.0'} @@ -10904,6 +13587,15 @@ packages: /process-warning@1.0.0: resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + /process-warning@2.2.0: + resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -10954,6 +13646,14 @@ packages: long: 5.2.3 dev: false + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + /proxy-compare@2.5.0: resolution: {integrity: sha512-f1us0OsVAJ3tdIMXGQx2lmseYS4YXe4W+sKF5g5ww/jV+5ogMadPt+sIZ+88Ga9kvMJsrRNWzCrKPpr6pMWYbA==} dev: false @@ -10965,10 +13665,29 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: false + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.1.0: + resolution: {integrity: sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==} + engines: {node: '>=6'} + dev: false + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - dev: true /pvtsutils@1.3.2: resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} @@ -11018,12 +13737,33 @@ packages: pngjs: 5.0.0 yargs: 15.4.1 + /qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: false + /qs@6.11.1: resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 + /qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: false + + /query-string@5.1.1: + resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} + engines: {node: '>=0.10.0'} + dependencies: + decode-uri-component: 0.2.2 + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: false + /query-string@6.13.5: resolution: {integrity: sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==} engines: {node: '>=6'} @@ -11072,7 +13812,7 @@ packages: dependencies: '@assemblyscript/loader': 0.9.4 bl: 5.1.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) minimist: 1.2.8 node-fetch: 2.6.9 readable-stream: 3.6.2 @@ -11086,6 +13826,31 @@ packages: dependencies: safe-buffer: 5.2.1 + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: false + + /raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + /react-copy-to-clipboard@5.1.0(react@18.2.0): resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==} peerDependencies: @@ -11316,6 +14081,17 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 + /readable-stream@4.4.2: + resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -11330,6 +14106,11 @@ packages: resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} engines: {node: '>= 12.13.0'} + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + /receptacle@1.3.2: resolution: {integrity: sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==} dependencies: @@ -11416,6 +14197,33 @@ packages: unified: 10.1.2 dev: false + /request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: 0.7.0 + aws4: 1.12.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + dev: false + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -11423,7 +14231,6 @@ packages: /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: true /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} @@ -11433,6 +14240,10 @@ packages: engines: {node: '>=0.10.5'} dev: true + /resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: false + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -11450,6 +14261,12 @@ packages: global-dirs: 0.1.1 dev: true + /resolve@1.17.0: + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} + dependencies: + path-parse: 1.0.7 + dev: false + /resolve@1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true @@ -11475,6 +14292,12 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true + /responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + dependencies: + lowercase-keys: 2.0.0 + dev: false + /restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -11503,6 +14326,13 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -11510,6 +14340,20 @@ packages: glob: 7.2.3 dev: true + /ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: false + + /rlp@2.2.7: + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} + hasBin: true + dependencies: + bn.js: 5.2.1 + dev: false + /rpc-websockets@7.5.1: resolution: {integrity: sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w==} dependencies: @@ -11528,11 +14372,27 @@ packages: execa: 5.1.1 dev: true + /run-exclusive@2.2.19: + resolution: {integrity: sha512-K3mdoAi7tjJ/qT7Flj90L7QyPozwUaAG+CVhkdDje4HLKXUYC3N/Jzkau3flHVDLQVhiHBtcimVodMjN9egYbA==} + dependencies: + minimal-polyfills: 2.2.3 + dev: false + + /run-parallel-limit@1.1.0: + resolution: {integrity: sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==} + dependencies: + queue-microtask: 1.2.3 + dev: false + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + /rustbn.js@0.2.0: + resolution: {integrity: sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==} + dev: false + /rxjs@6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} @@ -11586,10 +14446,24 @@ packages: /scrypt-js@3.0.1: resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + /secp256k1@4.0.3: + resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dependencies: + elliptic: 6.5.4 + node-addon-api: 2.0.2 + node-gyp-build: 4.6.0 + dev: false + + /semaphore-async-await@1.5.1: + resolution: {integrity: sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==} + engines: {node: '>=4.1'} + dev: false + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true - dev: true /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} @@ -11610,6 +14484,27 @@ packages: dependencies: lru-cache: 6.0.0 + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: @@ -11618,6 +14513,37 @@ packages: upper-case-first: 2.0.2 dev: true + /serialize-javascript@6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + dependencies: + randombytes: 2.1.0 + dev: false + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: false + + /servify@0.1.12: + resolution: {integrity: sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==} + engines: {node: '>=6'} + dependencies: + body-parser: 1.20.2 + cors: 2.8.5 + express: 4.18.2 + request: 2.88.2 + xhr: 2.6.0 + transitivePeerDependencies: + - supports-color + dev: false + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -11625,6 +14551,10 @@ packages: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: false + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + /sha.js@2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true @@ -11652,6 +14582,15 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true + /shiki@0.14.3: + resolution: {integrity: sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==} + dependencies: + ansi-sequence-parser: 1.1.0 + jsonc-parser: 3.2.0 + vscode-oniguruma: 1.7.0 + vscode-textmate: 8.0.0 + dev: false + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -11663,6 +14602,39 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: false + + /simple-get@2.8.2: + resolution: {integrity: sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==} + dependencies: + decompress-response: 3.3.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + + /sinon-chai@3.7.0(chai@4.3.7)(sinon@15.2.0): + resolution: {integrity: sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==} + peerDependencies: + chai: ^4.0.0 + sinon: '>=4.0.0' + dependencies: + chai: 4.3.7 + sinon: 15.2.0 + dev: false + + /sinon@15.2.0: + resolution: {integrity: sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==} + dependencies: + '@sinonjs/commons': 3.0.0 + '@sinonjs/fake-timers': 10.3.0 + '@sinonjs/samsam': 8.0.0 + diff: 5.1.0 + nise: 5.1.4 + supports-color: 7.2.0 + dev: false + /siwe@1.1.6(ethers@5.5.1): resolution: {integrity: sha512-3WRdEil32Tc2vuNzqJ2/Z/MIvsvy0Nkzc2ov+QujmpHO7tM83dgcb47z0Pu236T4JQkOQCqQkq3AJ/rVIezniA==} peerDependencies: @@ -11717,19 +14689,49 @@ packages: tslib: 2.5.0 dev: true + /solc@0.7.3(debug@4.3.4): + resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + command-exists: 1.2.9 + commander: 3.0.2 + follow-redirects: 1.15.2(debug@4.3.4) + fs-extra: 0.30.0 + js-sha3: 0.8.0 + memorystream: 0.3.1 + require-from-string: 2.0.2 + semver: 5.7.1 + tmp: 0.0.33 + transitivePeerDependencies: + - debug + dev: false + /sonic-boom@2.8.0: resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} dependencies: atomic-sleep: 1.0.0 + /sonic-boom@3.3.0: + resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: false + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -11779,11 +14781,39 @@ packages: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} + /sshpk@1.17.0: + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: false + /stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' dev: true + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} @@ -11811,6 +14841,11 @@ packages: engines: {node: '>=10.0.0'} dev: false + /strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: false + /strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -11914,6 +14949,13 @@ packages: engines: {node: '>=12'} dev: true + /strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + dependencies: + is-hex-prefixed: 1.0.0 + dev: false + /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -11924,7 +14966,6 @@ packages: /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: true /style-to-object@0.4.1: resolution: {integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==} @@ -11974,7 +15015,6 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -11998,6 +15038,26 @@ packages: stable: 0.1.8 dev: true + /swarm-js@0.1.42: + resolution: {integrity: sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==} + dependencies: + bluebird: 3.7.2 + buffer: 5.7.1 + eth-lib: 0.1.29 + fs-extra: 4.0.3 + got: 11.8.6 + mime-types: 2.1.35 + mkdirp-promise: 5.0.1 + mock-fs: 4.14.0 + setimmediate: 1.0.5 + tar: 4.4.19 + xhr-request: 1.1.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + /symbol-observable@2.0.3: resolution: {integrity: sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==} engines: {node: '>=0.10'} @@ -12053,6 +15113,19 @@ packages: engines: {node: '>=6'} dev: true + /tar@4.4.19: + resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: false + /text-encoding-utf-8@1.0.2: resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} @@ -12070,6 +15143,12 @@ packages: dependencies: real-require: 0.1.0 + /thread-stream@2.3.0: + resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==} + dependencies: + real-require: 0.2.0 + dev: false + /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: @@ -12079,17 +15158,36 @@ packages: /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + /timed-out@4.0.1: + resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} + engines: {node: '>=0.10.0'} + dev: false + /timeout-abort-controller@3.0.0: resolution: {integrity: sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==} dependencies: retimer: 3.0.0 dev: false + /timers-ext@0.1.7: + resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + dependencies: + es5-ext: 0.10.62 + next-tick: 1.1.0 + dev: false + /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} dev: true + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: false + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -12103,6 +15201,19 @@ packages: /toggle-selection@1.0.6: resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -12111,6 +15222,11 @@ packages: hasBin: true dev: true + /treeify@1.1.0: + resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} + engines: {node: '>=0.6'} + dev: false + /trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: false @@ -12154,6 +15270,10 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + /tsafe@1.6.4: + resolution: {integrity: sha512-l4Z54QFGHO8GF0gBpb3yPGHjkIkIirl8rwW+lMBmtEMzOJeRs8BdjkDEx6nU8Ak9PQVp/KNDtECxTja8MMIDoA==} + dev: false + /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: @@ -12169,6 +15289,10 @@ packages: /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tsort@0.0.1: + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} + dev: false + /tsutils@3.21.0(typescript@4.9.4): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -12179,6 +15303,12 @@ packages: typescript: 4.9.4 dev: true + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: false + /tweetnacl-util@0.13.5: resolution: {integrity: sha512-/4Q3hpPFAnbBjNLLOmdTdyvInBfZcQBTWy+LWbypmWxAKwOpSQOyyv4ZZts4CoiYtS8Skyix5CkOWytf7XNK9A==} dev: false @@ -12187,6 +15317,10 @@ packages: resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} dev: false + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: false + /tweetnacl@1.0.3: resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} dev: false @@ -12198,6 +15332,11 @@ packages: prelude-ls: 1.2.1 dev: true + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: false + /type-fest@0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -12211,18 +15350,38 @@ packages: /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - dev: true /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} dev: true + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: false + /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} dev: true + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /type@1.2.0: + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} + dev: false + + /type@2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + dev: false + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: @@ -12236,6 +15395,20 @@ packages: dependencies: is-typedarray: 1.0.0 + /typedoc@0.23.25(typescript@4.9.4): + resolution: {integrity: sha512-O1he153qVyoCgJYSvIyY3bPP1wAJTegZfa6tL3APinSZhJOf8CSd8F/21M6ex8pUY/fuY6n0jAsT4fIuMGA6sA==} + engines: {node: '>= 14.14'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x + dependencies: + lunr: 2.3.9 + marked: 4.3.0 + minimatch: 6.2.0 + shiki: 0.14.3 + typescript: 4.9.4 + dev: false + /typescript@4.9.4: resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} @@ -12260,6 +15433,10 @@ packages: multiformats: 11.0.2 dev: false + /ultron@1.1.1: + resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} + dev: false + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -12269,6 +15446,13 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /undici@5.22.1: + resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} + engines: {node: '>=14.0'} + dependencies: + busboy: 1.6.0 + dev: false + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -12341,11 +15525,21 @@ packages: unist-util-visit-parents: 5.1.3 dev: false + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: false + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: true + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -12377,7 +15571,10 @@ packages: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 - dev: true + + /url-set-query@1.0.0: + resolution: {integrity: sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==} + dev: false /use-callback-ref@1.3.0(@types/react@18.0.26)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} @@ -12448,6 +15645,10 @@ packages: dependencies: node-gyp-build: 4.6.0 + /utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + dev: false + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -12460,10 +15661,30 @@ packages: is-typed-array: 1.1.10 which-typed-array: 1.1.9 + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: false + + /uuid-parse@1.1.0: + resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} + dev: false + + /uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + /uuid@9.0.0: + resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + hasBin: true + dev: false + /uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} @@ -12526,10 +15747,28 @@ packages: react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) + /varint@5.0.2: + resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} + dev: false + /varint@6.0.0: resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} dev: false + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: false + /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: @@ -12583,6 +15822,14 @@ packages: - utf-8-validate - zod + /vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + dev: false + + /vscode-textmate@8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + dev: false + /wagmi@1.1.0(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.4)(viem@1.0.0)(zod@3.21.4): resolution: {integrity: sha512-nuAaDOwRN/eexC92/Xvt2c8SPOCZK/IjAg4k+x2LFC3snyxEUKCZlPcRfRruafxg7b5Nr0NjP8rlXoUZitParg==} peerDependencies: @@ -12630,6 +15877,278 @@ packages: resolution: {integrity: sha512-LTfY5GjcY3ngFzNsYFSYL+AmVmlWrzPTUxSMDis2rZbf+SzT7HH3NH4Y/l45XOlrAIunOBeURN9qtBHkRskAiA==} dev: false + /web3-bzz@1.10.0: + resolution: {integrity: sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + '@types/node': 12.20.55 + got: 12.1.0 + swarm-js: 0.1.42 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /web3-core-helpers@1.10.0: + resolution: {integrity: sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==} + engines: {node: '>=8.0.0'} + dependencies: + web3-eth-iban: 1.10.0 + web3-utils: 1.10.0 + dev: false + + /web3-core-method@1.10.0: + resolution: {integrity: sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethersproject/transactions': 5.7.0 + web3-core-helpers: 1.10.0 + web3-core-promievent: 1.10.0 + web3-core-subscriptions: 1.10.0 + web3-utils: 1.10.0 + dev: false + + /web3-core-promievent@1.10.0: + resolution: {integrity: sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + dev: false + + /web3-core-requestmanager@1.10.0: + resolution: {integrity: sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==} + engines: {node: '>=8.0.0'} + dependencies: + util: 0.12.5 + web3-core-helpers: 1.10.0 + web3-providers-http: 1.10.0 + web3-providers-ipc: 1.10.0 + web3-providers-ws: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-core-subscriptions@1.10.0: + resolution: {integrity: sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.10.0 + dev: false + + /web3-core@1.10.0: + resolution: {integrity: sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + '@types/node': 12.20.55 + bignumber.js: 9.1.1 + web3-core-helpers: 1.10.0 + web3-core-method: 1.10.0 + web3-core-requestmanager: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-eth-abi@1.10.0: + resolution: {integrity: sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethersproject/abi': 5.7.0 + web3-utils: 1.10.0 + dev: false + + /web3-eth-accounts@1.10.0: + resolution: {integrity: sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==} + engines: {node: '>=8.0.0'} + dependencies: + '@ethereumjs/common': 2.5.0 + '@ethereumjs/tx': 3.3.2 + eth-lib: 0.2.8 + ethereumjs-util: 7.1.5 + scrypt-js: 3.0.1 + uuid: 9.0.0 + web3-core: 1.10.0 + web3-core-helpers: 1.10.0 + web3-core-method: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-eth-contract@1.10.0: + resolution: {integrity: sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/bn.js': 5.1.1 + web3-core: 1.10.0 + web3-core-helpers: 1.10.0 + web3-core-method: 1.10.0 + web3-core-promievent: 1.10.0 + web3-core-subscriptions: 1.10.0 + web3-eth-abi: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-eth-ens@1.10.0: + resolution: {integrity: sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==} + engines: {node: '>=8.0.0'} + dependencies: + content-hash: 2.5.2 + eth-ens-namehash: 2.0.8 + web3-core: 1.10.0 + web3-core-helpers: 1.10.0 + web3-core-promievent: 1.10.0 + web3-eth-abi: 1.10.0 + web3-eth-contract: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-eth-iban@1.10.0: + resolution: {integrity: sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==} + engines: {node: '>=8.0.0'} + dependencies: + bn.js: 5.2.1 + web3-utils: 1.10.0 + dev: false + + /web3-eth-personal@1.10.0: + resolution: {integrity: sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/node': 12.20.55 + web3-core: 1.10.0 + web3-core-helpers: 1.10.0 + web3-core-method: 1.10.0 + web3-net: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-eth@1.10.0: + resolution: {integrity: sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==} + engines: {node: '>=8.0.0'} + dependencies: + web3-core: 1.10.0 + web3-core-helpers: 1.10.0 + web3-core-method: 1.10.0 + web3-core-subscriptions: 1.10.0 + web3-eth-abi: 1.10.0 + web3-eth-accounts: 1.10.0 + web3-eth-contract: 1.10.0 + web3-eth-ens: 1.10.0 + web3-eth-iban: 1.10.0 + web3-eth-personal: 1.10.0 + web3-net: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-net@1.10.0: + resolution: {integrity: sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==} + engines: {node: '>=8.0.0'} + dependencies: + web3-core: 1.10.0 + web3-core-method: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-providers-http@1.10.0: + resolution: {integrity: sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==} + engines: {node: '>=8.0.0'} + dependencies: + abortcontroller-polyfill: 1.7.5 + cross-fetch: 3.1.5 + es6-promise: 4.2.8 + web3-core-helpers: 1.10.0 + transitivePeerDependencies: + - encoding + dev: false + + /web3-providers-ipc@1.10.0: + resolution: {integrity: sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==} + engines: {node: '>=8.0.0'} + dependencies: + oboe: 2.1.5 + web3-core-helpers: 1.10.0 + dev: false + + /web3-providers-ws@1.10.0: + resolution: {integrity: sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.10.0 + websocket: 1.0.34 + transitivePeerDependencies: + - supports-color + dev: false + + /web3-shh@1.10.0: + resolution: {integrity: sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + web3-core: 1.10.0 + web3-core-method: 1.10.0 + web3-core-subscriptions: 1.10.0 + web3-net: 1.10.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /web3-utils@1.10.0: + resolution: {integrity: sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==} + engines: {node: '>=8.0.0'} + dependencies: + bn.js: 5.2.1 + ethereum-bloom-filters: 1.0.10 + ethereumjs-util: 7.1.5 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: 2.1.0 + utf8: 3.0.0 + dev: false + + /web3@1.10.0: + resolution: {integrity: sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + web3-bzz: 1.10.0 + web3-core: 1.10.0 + web3-eth: 1.10.0 + web3-eth-personal: 1.10.0 + web3-net: 1.10.0 + web3-shh: 1.10.0 + web3-utils: 1.10.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: false + /webcrypto-core@1.7.6: resolution: {integrity: sha512-TBPiewB4Buw+HI3EQW+Bexm19/W4cP/qZG/02QJCXN+iN+T5sl074vZ3rJcle/ZtDBQSgjkbsQO/1eFcxnSBUA==} dependencies: @@ -12643,6 +16162,24 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + /websocket@1.0.34: + resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==} + engines: {node: '>=4.0.0'} + dependencies: + bufferutil: 4.0.7 + debug: 2.6.9 + es5-ext: 0.10.62 + typedarray-to-buffer: 3.1.5 + utf-8-validate: 5.0.10 + yaeti: 0.0.6 + transitivePeerDependencies: + - supports-color + dev: false + + /whatwg-fetch@3.6.2: + resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + dev: false + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -12695,6 +16232,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /workerpool@6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + dev: false + /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -12710,11 +16251,26 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + /ws@3.3.3: + resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dependencies: + async-limiter: 1.0.1 + safe-buffer: 5.1.2 + ultron: 1.1.1 + dev: false + /ws@7.4.6: resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} engines: {node: '>=8.3.0'} @@ -12766,6 +16322,33 @@ packages: bufferutil: 4.0.7 utf-8-validate: 5.0.10 + /xhr-request-promise@0.1.3: + resolution: {integrity: sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==} + dependencies: + xhr-request: 1.1.0 + dev: false + + /xhr-request@1.1.0: + resolution: {integrity: sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==} + dependencies: + buffer-to-arraybuffer: 0.0.5 + object-assign: 4.1.1 + query-string: 5.1.1 + simple-get: 2.8.2 + timed-out: 4.0.1 + url-set-query: 1.0.0 + xhr: 2.6.0 + dev: false + + /xhr@2.6.0: + resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==} + dependencies: + global: 4.4.0 + is-function: 1.0.2 + parse-headers: 2.0.5 + xtend: 4.0.2 + dev: false + /xstream@11.14.0: resolution: {integrity: sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==} dependencies: @@ -12783,7 +16366,11 @@ packages: /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - dev: true + + /yaeti@0.0.6: + resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==} + engines: {node: '>=0.10.32'} + dev: false /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -12807,16 +16394,30 @@ packages: camelcase: 5.3.1 decamelize: 1.2.0 + /yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + dev: false + /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} - dev: true /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} dev: true + /yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + dependencies: + camelcase: 6.3.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + dev: false + /yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} @@ -12833,6 +16434,19 @@ packages: y18n: 4.0.3 yargs-parser: 18.1.3 + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: false + /yargs@17.7.1: resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} engines: {node: '>=12'} @@ -12866,7 +16480,6 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - dev: true /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} diff --git a/template/base/public/integrations/connext.png b/template/base/public/integrations/connext.png new file mode 100644 index 0000000..639565e Binary files /dev/null and b/template/base/public/integrations/connext.png differ diff --git a/template/base/public/integrations/connext/logos/assets/aleth.png b/template/base/public/integrations/connext/logos/assets/aleth.png new file mode 100644 index 0000000..eca9392 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/aleth.png differ diff --git a/template/base/public/integrations/connext/logos/assets/alusd.png b/template/base/public/integrations/connext/logos/assets/alusd.png new file mode 100644 index 0000000..97c02c4 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/alusd.png differ diff --git a/template/base/public/integrations/connext/logos/assets/bnb.png b/template/base/public/integrations/connext/logos/assets/bnb.png new file mode 100644 index 0000000..6eb4549 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/bnb.png differ diff --git a/template/base/public/integrations/connext/logos/assets/boba.png b/template/base/public/integrations/connext/logos/assets/boba.png new file mode 100644 index 0000000..f5a29f1 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/boba.png differ diff --git a/template/base/public/integrations/connext/logos/assets/btc.png b/template/base/public/integrations/connext/logos/assets/btc.png new file mode 100644 index 0000000..a36a0da Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/btc.png differ diff --git a/template/base/public/integrations/connext/logos/assets/dai.png b/template/base/public/integrations/connext/logos/assets/dai.png new file mode 100644 index 0000000..ef1b3c6 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/dai.png differ diff --git a/template/base/public/integrations/connext/logos/assets/eth.png b/template/base/public/integrations/connext/logos/assets/eth.png new file mode 100644 index 0000000..530e535 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/eth.png differ diff --git a/template/base/public/integrations/connext/logos/assets/fei.png b/template/base/public/integrations/connext/logos/assets/fei.png new file mode 100644 index 0000000..dad3042 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/fei.png differ diff --git a/template/base/public/integrations/connext/logos/assets/gno.png b/template/base/public/integrations/connext/logos/assets/gno.png new file mode 100644 index 0000000..1ef7d4d Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/gno.png differ diff --git a/template/base/public/integrations/connext/logos/assets/grt.png b/template/base/public/integrations/connext/logos/assets/grt.png new file mode 100644 index 0000000..8c9431b Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/grt.png differ diff --git a/template/base/public/integrations/connext/logos/assets/kp3r.png b/template/base/public/integrations/connext/logos/assets/kp3r.png new file mode 100644 index 0000000..74076d0 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/kp3r.png differ diff --git a/template/base/public/integrations/connext/logos/assets/magic.png b/template/base/public/integrations/connext/logos/assets/magic.png new file mode 100644 index 0000000..89ccb42 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/magic.png differ diff --git a/template/base/public/integrations/connext/logos/assets/matic.png b/template/base/public/integrations/connext/logos/assets/matic.png new file mode 100644 index 0000000..3c33cdb Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/matic.png differ diff --git a/template/base/public/integrations/connext/logos/assets/nextdai.png b/template/base/public/integrations/connext/logos/assets/nextdai.png new file mode 100644 index 0000000..0c778da Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/nextdai.png differ diff --git a/template/base/public/integrations/connext/logos/assets/nextkp3r.png b/template/base/public/integrations/connext/logos/assets/nextkp3r.png new file mode 100644 index 0000000..74076d0 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/nextkp3r.png differ diff --git a/template/base/public/integrations/connext/logos/assets/nextmatic.png b/template/base/public/integrations/connext/logos/assets/nextmatic.png new file mode 100644 index 0000000..3c33cdb Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/nextmatic.png differ diff --git a/template/base/public/integrations/connext/logos/assets/nextusdc.png b/template/base/public/integrations/connext/logos/assets/nextusdc.png new file mode 100644 index 0000000..d758591 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/nextusdc.png differ diff --git a/template/base/public/integrations/connext/logos/assets/nextusdt.png b/template/base/public/integrations/connext/logos/assets/nextusdt.png new file mode 100644 index 0000000..6200ed0 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/nextusdt.png differ diff --git a/template/base/public/integrations/connext/logos/assets/nextweth.png b/template/base/public/integrations/connext/logos/assets/nextweth.png new file mode 100644 index 0000000..fca2b58 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/nextweth.png differ diff --git a/template/base/public/integrations/connext/logos/assets/nextwxdai.png b/template/base/public/integrations/connext/logos/assets/nextwxdai.png new file mode 100644 index 0000000..0c778da Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/nextwxdai.png differ diff --git a/template/base/public/integrations/connext/logos/assets/test.png b/template/base/public/integrations/connext/logos/assets/test.png new file mode 100644 index 0000000..f08ab7a Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/test.png differ diff --git a/template/base/public/integrations/connext/logos/assets/tkn.png b/template/base/public/integrations/connext/logos/assets/tkn.png new file mode 100644 index 0000000..2216e4a Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/tkn.png differ diff --git a/template/base/public/integrations/connext/logos/assets/usdc.png b/template/base/public/integrations/connext/logos/assets/usdc.png new file mode 100644 index 0000000..f472ec6 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/usdc.png differ diff --git a/template/base/public/integrations/connext/logos/assets/usdt.png b/template/base/public/integrations/connext/logos/assets/usdt.png new file mode 100644 index 0000000..6a20771 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/usdt.png differ diff --git a/template/base/public/integrations/connext/logos/assets/wbtc.png b/template/base/public/integrations/connext/logos/assets/wbtc.png new file mode 100644 index 0000000..a340710 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/wbtc.png differ diff --git a/template/base/public/integrations/connext/logos/assets/weth.png b/template/base/public/integrations/connext/logos/assets/weth.png new file mode 100644 index 0000000..530e535 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/weth.png differ diff --git a/template/base/public/integrations/connext/logos/assets/wmatic.png b/template/base/public/integrations/connext/logos/assets/wmatic.png new file mode 100644 index 0000000..3c33cdb Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/wmatic.png differ diff --git a/template/base/public/integrations/connext/logos/assets/wxdai.png b/template/base/public/integrations/connext/logos/assets/wxdai.png new file mode 100644 index 0000000..9ead6c5 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/wxdai.png differ diff --git a/template/base/public/integrations/connext/logos/assets/xdai.png b/template/base/public/integrations/connext/logos/assets/xdai.png new file mode 100644 index 0000000..7dacee2 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/xdai.png differ diff --git a/template/base/public/integrations/connext/logos/assets/xoc.png b/template/base/public/integrations/connext/logos/assets/xoc.png new file mode 100644 index 0000000..38c70a0 Binary files /dev/null and b/template/base/public/integrations/connext/logos/assets/xoc.png differ diff --git a/template/base/public/integrations/connext/logos/chains/arbitrum.png b/template/base/public/integrations/connext/logos/chains/arbitrum.png new file mode 100644 index 0000000..ff13e4b Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/arbitrum.png differ diff --git a/template/base/public/integrations/connext/logos/chains/avalanche.png b/template/base/public/integrations/connext/logos/chains/avalanche.png new file mode 100644 index 0000000..03659eb Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/avalanche.png differ diff --git a/template/base/public/integrations/connext/logos/chains/binance.png b/template/base/public/integrations/connext/logos/chains/binance.png new file mode 100644 index 0000000..6eb4549 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/binance.png differ diff --git a/template/base/public/integrations/connext/logos/chains/boba.png b/template/base/public/integrations/connext/logos/chains/boba.png new file mode 100644 index 0000000..f5a29f1 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/boba.png differ diff --git a/template/base/public/integrations/connext/logos/chains/cronos.png b/template/base/public/integrations/connext/logos/chains/cronos.png new file mode 100644 index 0000000..be1c518 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/cronos.png differ diff --git a/template/base/public/integrations/connext/logos/chains/ethereum.png b/template/base/public/integrations/connext/logos/chains/ethereum.png new file mode 100644 index 0000000..792a4c1 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/ethereum.png differ diff --git a/template/base/public/integrations/connext/logos/chains/evmos.png b/template/base/public/integrations/connext/logos/chains/evmos.png new file mode 100644 index 0000000..8ad6353 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/evmos.png differ diff --git a/template/base/public/integrations/connext/logos/chains/fantom.png b/template/base/public/integrations/connext/logos/chains/fantom.png new file mode 100644 index 0000000..7bbe5be Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/fantom.png differ diff --git a/template/base/public/integrations/connext/logos/chains/fuse.png b/template/base/public/integrations/connext/logos/chains/fuse.png new file mode 100644 index 0000000..f4864e5 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/fuse.png differ diff --git a/template/base/public/integrations/connext/logos/chains/gnosis.png b/template/base/public/integrations/connext/logos/chains/gnosis.png new file mode 100644 index 0000000..143ebda Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/gnosis.png differ diff --git a/template/base/public/integrations/connext/logos/chains/goerli.png b/template/base/public/integrations/connext/logos/chains/goerli.png new file mode 100644 index 0000000..61b515f Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/goerli.png differ diff --git a/template/base/public/integrations/connext/logos/chains/harmony.png b/template/base/public/integrations/connext/logos/chains/harmony.png new file mode 100644 index 0000000..ab2e37a Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/harmony.png differ diff --git a/template/base/public/integrations/connext/logos/chains/kava.png b/template/base/public/integrations/connext/logos/chains/kava.png new file mode 100644 index 0000000..9e01350 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/kava.png differ diff --git a/template/base/public/integrations/connext/logos/chains/linea.png b/template/base/public/integrations/connext/logos/chains/linea.png new file mode 100644 index 0000000..51451d6 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/linea.png differ diff --git a/template/base/public/integrations/connext/logos/chains/milkomeda.png b/template/base/public/integrations/connext/logos/chains/milkomeda.png new file mode 100644 index 0000000..6e174c3 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/milkomeda.png differ diff --git a/template/base/public/integrations/connext/logos/chains/moonbase.png b/template/base/public/integrations/connext/logos/chains/moonbase.png new file mode 100644 index 0000000..f391954 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/moonbase.png differ diff --git a/template/base/public/integrations/connext/logos/chains/moonbeam.png b/template/base/public/integrations/connext/logos/chains/moonbeam.png new file mode 100644 index 0000000..f391954 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/moonbeam.png differ diff --git a/template/base/public/integrations/connext/logos/chains/nova.png b/template/base/public/integrations/connext/logos/chains/nova.png new file mode 100644 index 0000000..021991a Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/nova.png differ diff --git a/template/base/public/integrations/connext/logos/chains/optimism.png b/template/base/public/integrations/connext/logos/chains/optimism.png new file mode 100644 index 0000000..4b140fd Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/optimism.png differ diff --git a/template/base/public/integrations/connext/logos/chains/polygon.png b/template/base/public/integrations/connext/logos/chains/polygon.png new file mode 100644 index 0000000..7e20889 Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/polygon.png differ diff --git a/template/base/public/integrations/connext/logos/chains/zksync.png b/template/base/public/integrations/connext/logos/chains/zksync.png new file mode 100644 index 0000000..9b3cd9e Binary files /dev/null and b/template/base/public/integrations/connext/logos/chains/zksync.png differ diff --git a/template/base/public/penguin-working.gif b/template/base/public/penguin-working.gif new file mode 100644 index 0000000..2b0e3f0 Binary files /dev/null and b/template/base/public/penguin-working.gif differ diff --git a/template/integrations/connext/api/connext/approve-if-needed/route.ts b/template/integrations/connext/api/connext/approve-if-needed/route.ts new file mode 100644 index 0000000..8795543 --- /dev/null +++ b/template/integrations/connext/api/connext/approve-if-needed/route.ts @@ -0,0 +1 @@ +export { POST } from '@/integrations/connext/api/approve-if-needed' diff --git a/template/integrations/connext/api/connext/estimated-amount/route.ts b/template/integrations/connext/api/connext/estimated-amount/route.ts new file mode 100644 index 0000000..1cd2aba --- /dev/null +++ b/template/integrations/connext/api/connext/estimated-amount/route.ts @@ -0,0 +1 @@ +export { GET } from '@/integrations/connext/api/estimated-amount' diff --git a/template/integrations/connext/api/connext/estimated-relayer-fee/route.ts b/template/integrations/connext/api/connext/estimated-relayer-fee/route.ts new file mode 100644 index 0000000..7321551 --- /dev/null +++ b/template/integrations/connext/api/connext/estimated-relayer-fee/route.ts @@ -0,0 +1 @@ +export { GET } from '@/integrations/connext/api/estimated-relayer-fee' diff --git a/template/integrations/connext/api/connext/latest-transfers/route.ts b/template/integrations/connext/api/connext/latest-transfers/route.ts new file mode 100644 index 0000000..8563788 --- /dev/null +++ b/template/integrations/connext/api/connext/latest-transfers/route.ts @@ -0,0 +1 @@ +export { GET } from '@/integrations/connext/api/latest-transfers' diff --git a/template/integrations/connext/api/connext/xcall/route.ts b/template/integrations/connext/api/connext/xcall/route.ts new file mode 100644 index 0000000..a5ba045 --- /dev/null +++ b/template/integrations/connext/api/connext/xcall/route.ts @@ -0,0 +1 @@ +export { POST } from '@/integrations/connext/api/xcall' diff --git a/template/integrations/connext/core/connext/README.md b/template/integrations/connext/core/connext/README.md new file mode 100644 index 0000000..bdb9b92 --- /dev/null +++ b/template/integrations/connext/core/connext/README.md @@ -0,0 +1,363 @@ +# Connext - TurboETH Integration + +This React Hook integrates with [Connext](https://connext.network/), enabling users to bridge assets across [multiple chains](https://docs.connext.network/resources/supported-chains). The integration is built on top of the [Connext SDK](https://docs.connext.network/developers/guides/sdk-frontend-integration). + +## Features + +- Bridge ERC20 tokens across multiple chains easily with the `useXcall` hook +- Get latest connext transfers with the `useLatestTransfers` hook +- Helper hooks like `approve-if-needed` + +## API + +### `GET /api/connext/approve-if-needed` + +Checks if an asset needs to be approved for a bridging transaction and performs the approval if necessary. + +**Query Parameters:** + +- `originDomain`: The domain ID of the origin chain. +- `assetAddress`: The address of the asset to be bridged. +- `amount`: The amount of the asset to bridge, in the asset's native decimal precision. +- `signer`: The address of the account to sign the transaction. +- `environment`: A string indicating the network environment, either `mainnet` or `testnet`. + +**Response:** + +- Returns a JSON object with the `txRequest` property, representing the transaction request for the approval. + +**Error Handling:** + +- Returns a 400 status code with a message if any query parameter is missing. +- Returns a 400 status code with a message if the `environment` query parameter is not a valid value (`mainnet` or `testnet`). +- Returns a 500 status code with a message if there's an internal server error. + +### `GET /api/connext/estimated-relayer-fee` + +Estimates the relayer fee for a bridging transaction from an `originDomain` to a `destinationDomain` in a certain `environment` (mainnet or testnet). + +**Query Parameters:** + +- `originDomain`: The domain ID of the origin chain. +- `destinationDomain`: The domain ID of the destination chain. +- `environment`: A string indicating the network environment, either `mainnet` or `testnet`. + +**Response:** + +- Returns a JSON object with a `relayerFee` property, representing the estimated relayer fee for the transaction. The `relayerFee` is a string representing a BigNumber. + +**Error Handling:** + +- Returns a 400 status code with a message if the `originDomain`, `destinationDomain`, or `environment` query parameter is missing. +- Returns a 400 status code with a message if the `environment` query parameter is not a valid value (`mainnet` or `testnet`). +- Returns a 500 status code with a message if there's an internal server error. + +### `GET /api/connext/xcall` + +Initiates a cross-chain transfer. + +**Query Parameters:** + +- `origin`: The domain ID of the origin chain. +- `destination`: The domain ID of the destination chain. +- `to`: The address of the recipient on the destination chain. +- `asset`: The address of the asset to be bridged. +- `amount`: The amount of the asset to bridge, in the asset's native decimal precision. +- `relayerFee`: The relayer fee for the transaction. +- `slippage`: The slippage tolerance for the transaction. +- `signer`: The address of the account to sign the transaction. +- `environment`: A string indicating the network environment, either `mainnet` or `testnet`. + +**Response:** + +- Returns a JSON object with the `txRequest` property, representing the transaction request for the cross-chain transfer. The `txRequest` includes the `value` property, which is the `relayerFee`. + +**Error Handling:** + +- Returns a 400 status code with a message if any query parameter is missing. +- Returns a 400 status code with a message if the `environment` query parameter is not a valid value (`mainnet` or `testnet`). +- Returns a 500 status code with a message if there's an internal server error. + +## Hooks + +### `useSupportedTransfer({ originChainId, destinationChainId, assetDataContracts })` + +Hook to check whether a given asset transfer between two chains is supported. It takes an object argument with the following properties: + +- `originChainId`: The chain ID of the origin chain. +- `destinationChainId`: The chain ID of the destination chain. +- `assetDataContracts`: An array of contract data objects, each adhering to the `Contract` interface. + +The function returns `false` if any of the parameters are `undefined` or if the asset contracts for the given chain IDs do not exist. Otherwise, it returns `true`. + +**Error Handling:** + +- Returns `false` if any parameter is missing. +- Returns `false` if the contracts for the given chain IDs do not exist. + +**Example:** + +```javascript +const isSupported = useSupportedTransfer({ + originChainId: 1, + destinationChainId: 42, + assetDataContracts: contractData, +}) +``` + +### `useLatestTransfers(isMainnet)` + +Fetches the latest asset transfers executed by the current account + +**Parameters:** + +- `isMainnet`: A boolean value indicating whether to fetch transfers from the mainnet (`true`) or the testnet (`false`). + +**Returns:** + +The hook returns an array of the latest transfers. Each transfer object adheres to the `Transfer` interface. + +**Behavior:** + +- On initial render and every 10 seconds thereafter, the hook makes a `GET` request to the `/api/connext/latest-transfers` endpoint, passing the current account address and the environment (derived from `isMainnet`) as query parameters. +- The hook updates its state with the received transfers. +- If the request fails, the error is logged to the console. + +**Error Handling:** + +- Logs to the console if there's an error with the fetch request. + +**Example:** + +```javascript +const transfers = useLatestTransfers(true) // You might want to use a state variable for this c: +``` + +### `useEstimatedAmount({ isMainnet, originDomain, destinationDomain, originTokenAddress, amount })` + +Calculates the estimated amount received on the destination domain for a bridge transaction. It also checks whether the transaction qualifies for the fast path. + +**Parameters:** + +- `isMainnet`: A boolean value indicating whether to use the mainnet (`true`) or the testnet (`false`). +- `originDomain`: The domain ID of the origin chain. +- `destinationDomain`: The domain ID of the destination chain. +- `originTokenAddress`: The address of the token to be bridged from the origin. +- `amount`: The amount of the origin token to bridge, in the origin token's native decimal precision. + +**Returns:** + +An object with the following properties: + +- `estimatedAmount`: The estimated amount to be received on the destination domain. This is a string representing a BigNumber. +- `isFastPath`: A boolean value indicating whether the transaction qualifies for the fast path. +- `isLoading`: A boolean value indicating whether the calculation is in progress. + +**Behavior:** + +- On initial render and whenever any of the parameters change, the hook waits for 3 seconds and then makes a `GET` request to the `/api/connext/estimated-amount` endpoint, passing the parameters as query parameters. +- The hook updates its state with the received estimated amount and fast path eligibility. +- If the request fails, the error is logged to the console. + +**Error Handling:** + +- Logs to the console if there's an error with the fetch request. + +**Example:** + +```javascript +const { estimatedAmount, isFastPath, isLoading } = useEstimatedAmount({ + isMainnet: true, + originDomain: '1634886255', + destinationDomain: '6778479', + originTokenAddress: '0x...', + amount: ethers.utils.parseUnits('10', 'ether'), +}) +``` + +### `useEstimatedRelayerFee({ isMainnet, originDomain, destinationDomain })` + +Calculates the estimated relayer fee for a bridging transaction between two domains. + +**Parameters:** + +- `isMainnet`: A boolean value indicating whether to use the mainnet (`true`) or the testnet (`false`). +- `originDomain`: The domain ID of the origin chain. +- `destinationDomain`: The domain ID of the destination chain. + +**Returns:** + +The hook returns a string representing the estimated relayer fee. + +**Behavior:** + +- On initial render and whenever the `originDomain` or `destinationDomain` parameters change, the hook waits for 3 seconds and then makes a `GET` request to the `/api/connext/estimated-relayer-fee` endpoint, passing the parameters as query parameters. +- The hook updates its state with the received estimated relayer fee. +- If the request fails, the error is logged to the console. + +**Error Handling:** + +- Logs to the console if there's an error with the fetch request. + +**Example:** + +```javascript +const estimatedRelayerFee = useEstimatedRelayerFee({ + isMainnet: true, + originDomain: '16778479', + destinationDomain: '1634886255', +}) +``` + +### `useApproveIfNeeded({ isMainnet, originDomain, assetAddress, amount })` + +Initiates an approval transaction if it's needed for a bridging transaction. + +**Parameters:** + +- `isMainnet`: A boolean value indicating whether to use the mainnet (`true`) or the testnet (`false`). +- `originDomain`: The domain ID of the origin chain. +- `assetAddress`: The address of the token to be bridged from the origin. +- `amount`: The amount of the origin token to bridge, in the origin token's native decimal precision. + +**Returns:** + +An object with the following properties: + +- `request`: The transaction request for the approval, or `undefined` if an error occurred or if the approval is not needed. This is an object adhering to the `TransactionRequest` interface from the `viem` library. +- `isLoading`: A boolean value indicating whether the calculation is in progress. + +**Behavior:** + +- On initial render and whenever any of the parameters change, the hook makes a `GET` request to the `/api/connext/approve-if-needed` endpoint, passing the parameters and the signer address as query parameters. The signer address is obtained from the `useAccount` hook from the `wagmi` library. +- The hook updates its state with the received transaction request. +- If the request fails, the error is logged to the console. + +**Error Handling:** + +- Logs to the console if there's an error with the fetch request. + +**Example:** + +```javascript +const { request, isLoading } = useApproveIfNeeded({ + isMainnet: true, + originDomain: '1634886255', + assetAddress: '0x...', + amount: ethers.utils.parseUnits('10', 'ether'), +}) +``` + +### `useEstimatedRelayerFee({ isMainnet, originDomain, destinationDomain })` + +Calculates the estimated relayer fee for a bridging transaction between two domains. + +**Parameters:** + +- `isMainnet`: A boolean value indicating whether to use the mainnet (`true`) or the testnet (`false`). +- `originDomain`: The domain ID of the origin chain. +- `destinationDomain`: The domain ID of the destination chain. + +**Returns:** + +The hook returns a string representing the estimated relayer fee. + +**Behavior:** + +- On initial render and whenever the `originDomain` or `destinationDomain` parameters change, the hook waits for 3 seconds and then makes a `GET` request to the `/api/connext/estimated-relayer-fee` endpoint, passing the parameters as query parameters. +- The hook updates its state with the received estimated relayer fee. +- If the request fails, the error is logged to the console. + +**Error Handling:** + +- Logs to the console if there's an error with the fetch request. + +**Example:** + +```javascript +const estimatedRelayerFee = useEstimatedRelayerFee({ + isMainnet: true, + originDomain: '16778479', + destinationDomain: '1634886255', +}) +``` + +### `useXcall({ isMainnet, origin, destination, to, asset, amount, relayerFee })` + +Executes a cross-chain call (Xcall) to initiate a transaction from one domain to another. + +**Parameters:** + +- `isMainnet`: A boolean value indicating whether to use the mainnet (`true`) or the testnet (`false`). +- `origin`: The domain ID of the origin chain. +- `destination`: The domain ID of the destination chain. +- `to`: The address of the destination chain that will receive the asset. +- `asset`: The asset (in the form of a token address) that is being sent. +- `amount`: The amount of the asset that is being sent. +- `relayerFee`: The fee for the relayer that will process the bridging transaction. + +**Returns:** + +The hook returns an object with the following properties: + +- `isLoading`: A boolean value indicating whether the Xcall is currently in progress. +- `error`: An error object if there was an error executing the Xcall, or `null` if there was no error. +- `result`: The result of the Xcall, or `null` if the Xcall has not been executed or completed. + +**Behavior:** + +- When invoked, the hook makes a `POST` request to the `/api/connext/xcall` endpoint, passing the parameters as part of the request body. +- The hook updates its state with the ongoing Xcall status, the error (if any), and the result of the Xcall. + +**Error Handling:** + +- If there's an error with the fetch request, it updates the state with the error object. + +**Example:** + +```javascript +const { isLoading, error, result } = useXcall({ + isMainnet: true, + origin: '16778479', + destination: '1634886255', + to: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B', + asset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + amount: '1.5', + relayerFee: '0.01', +}) +``` + +## File Structure + +``` +integrations/connext +├─ api/ +│ ├─ latest-transfers.tsx +│ ├─ estimated-amount.tsx +│ ├─ estimated-relayer-fee.tsx +│ ├─ approve-if-needed.tsx +│ ├─ xcall.tsx +├─ components/ +│ ├─ form-connext-xtransfer.tsx +│ ├─ latest-transfers.tsx +│ ├─ transfer.tsx +├─ hooks/ +│ ├─ use-latest-transfers.ts +│ ├─ use-supported-transfer.ts +│ ├─ use-xcall.ts +│ ├─ use-approve-if-needed.ts +│ ├─ use-estimated-relayer-fee.ts +│ ├─ use-estimated-amount.ts +├─ utils/ +│ ├─ assets/ +│ │ ├─ index.ts +│ │ ├─ mainnet.ts +│ │ ├─ testnet.ts +│ ├─ chains/ +│ │ ├─ index.ts +│ │ ├─ mainnet.ts +│ │ ├─ testnet.ts +│ ├─ types.ts +├─ client.ts +├─ README.md +``` diff --git a/template/integrations/connext/core/connext/api/approve-if-needed.tsx b/template/integrations/connext/core/connext/api/approve-if-needed.tsx new file mode 100644 index 0000000..6355ce7 --- /dev/null +++ b/template/integrations/connext/core/connext/api/approve-if-needed.tsx @@ -0,0 +1,56 @@ +import { clients } from '../client' + +interface Body { + originDomain: string + assetAddress: string + amount: string + signer: string + environment: string +} + +export async function POST(req: Request) { + try { + if (req.method !== 'POST') { + return new Response('Invalid request method', { status: 405 }) + } + + const body: Body = await req.json() + + const { originDomain, assetAddress, amount, signer, environment } = body + + if (!originDomain) { + return new Response('Missing origin domain in request body', { status: 400 }) + } + + if (!assetAddress) { + return new Response('Missing assetAddress in request body', { status: 400 }) + } + + if (!amount) { + return new Response('Missing amount in request body', { status: 400 }) + } + + if (!signer) { + return new Response('Missing signer in request body', { status: 400 }) + } + + if (!environment || !['mainnet', 'testnet'].includes(environment)) { + return new Response('Missing valid environment in request body', { status: 400 }) + } + + const { mainnetSdk, testnetSdk } = await clients(signer) + + const tx = + environment === 'mainnet' + ? await mainnetSdk.sdkBase.approveIfNeeded(originDomain, assetAddress, amount) + : await testnetSdk.sdkBase.approveIfNeeded(originDomain, assetAddress, amount) + + return new Response(JSON.stringify({ txRequest: tx }), { + status: 200, + headers: { 'Content-Type': 'application/json' }, + }) + } catch (e) { + const errorMessage = e instanceof Error ? e.message : String(e) + return new Response(errorMessage, { status: 500 }) + } +} diff --git a/template/integrations/connext/core/connext/api/estimated-amount.tsx b/template/integrations/connext/core/connext/api/estimated-amount.tsx new file mode 100644 index 0000000..bc7c1ad --- /dev/null +++ b/template/integrations/connext/core/connext/api/estimated-amount.tsx @@ -0,0 +1,51 @@ +import { clients } from '../client' + +export async function GET(req: Request) { + try { + const { searchParams } = new URL(req.url) + + const originDomain = searchParams.get('originDomain') + if (!originDomain) { + return new Response('Missing origin domain query parameter', { status: 400 }) + } + + const destinationDomain = searchParams.get('destinationDomain') + if (!destinationDomain) { + return new Response('Missing destination domain query parameter', { status: 400 }) + } + + const originTokenAddress = searchParams.get('originTokenAddress') + if (!originTokenAddress) { + return new Response('Missing origin token address query parameter', { status: 400 }) + } + + const amount = searchParams.get('amount') + if (!amount) { + return new Response('Missing amount query parameter', { status: 400 }) + } + + const environment = searchParams.get('environment') + if (!environment || !['mainnet', 'testnet'].includes(environment)) { + return new Response('Missing valid environment query parameter', { status: 400 }) + } + + if (amount === '0') { + return new Response(JSON.stringify({ amount, isFastPath: false })) + } + + const { mainnetSdk, testnetSdk } = await clients() + + const { amountReceived, isFastPath } = + environment === 'mainnet' + ? await mainnetSdk.sdkBase.calculateAmountReceived(originDomain, destinationDomain, originTokenAddress, amount, false, true) + : await testnetSdk.sdkBase.calculateAmountReceived(originDomain, destinationDomain, originTokenAddress, amount, false, true) + + return new Response(JSON.stringify({ amount: amountReceived.toString(), isFastPath }), { + status: 200, + headers: { 'Content-Type': 'application/json' }, + }) + } catch (e) { + const errorMessage = e instanceof Error ? e.message : String(e) + return new Response(errorMessage, { status: 500 }) + } +} diff --git a/template/integrations/connext/core/connext/api/estimated-relayer-fee.tsx b/template/integrations/connext/core/connext/api/estimated-relayer-fee.tsx new file mode 100644 index 0000000..a7829b1 --- /dev/null +++ b/template/integrations/connext/core/connext/api/estimated-relayer-fee.tsx @@ -0,0 +1,37 @@ +import { clients } from '../client' + +export async function GET(req: Request) { + try { + const { searchParams } = new URL(req.url) + + const originDomain = searchParams.get('originDomain') + if (!originDomain) { + return new Response('Missing origin domain query parameter', { status: 400 }) + } + + const destinationDomain = searchParams.get('destinationDomain') + if (!destinationDomain) { + return new Response('Missing destination domain query parameter', { status: 400 }) + } + + const environment = searchParams.get('environment') + if (!environment || !['mainnet', 'testnet'].includes(environment)) { + return new Response('Missing valid environment query parameter', { status: 400 }) + } + + const { mainnetSdk, testnetSdk } = await clients() + + const data = + environment === 'mainnet' + ? await mainnetSdk.sdkBase.estimateRelayerFee({ originDomain, destinationDomain }) + : await testnetSdk.sdkBase.estimateRelayerFee({ originDomain, destinationDomain }) + + return new Response(JSON.stringify({ relayerFee: data.toString() }), { + status: 200, + headers: { 'Content-Type': 'application/json' }, + }) + } catch (e) { + const errorMessage = e instanceof Error ? e.message : String(e) + return new Response(errorMessage, { status: 500 }) + } +} diff --git a/template/integrations/connext/core/connext/api/latest-transfers.tsx b/template/integrations/connext/core/connext/api/latest-transfers.tsx new file mode 100644 index 0000000..5884559 --- /dev/null +++ b/template/integrations/connext/core/connext/api/latest-transfers.tsx @@ -0,0 +1,32 @@ +import { clients } from '../client' + +export async function GET(req: Request) { + try { + const { searchParams } = new URL(req.url) + + const address = searchParams.get('address') + if (!address) { + return new Response('Missing address query parameter', { status: 400 }) + } + + const environment = searchParams.get('environment') + if (!environment || !['mainnet', 'testnet'].includes(environment)) { + return new Response('Missing valid environment query parameter', { status: 400 }) + } + + const { mainnetSdk, testnetSdk } = await clients() + + const transfers = + environment === 'mainnet' + ? await mainnetSdk.sdkUtils.getTransfers({ userAddress: address }) + : await testnetSdk.sdkUtils.getTransfers({ userAddress: address }) + + return new Response(JSON.stringify({ transfers }), { + status: 200, + headers: { 'Content-Type': 'application/json' }, + }) + } catch (e) { + const errorMessage = e instanceof Error ? e.message : String(e) + return new Response(errorMessage, { status: 500 }) + } +} diff --git a/template/integrations/connext/core/connext/api/xcall.tsx b/template/integrations/connext/core/connext/api/xcall.tsx new file mode 100644 index 0000000..ac805ec --- /dev/null +++ b/template/integrations/connext/core/connext/api/xcall.tsx @@ -0,0 +1,76 @@ +import { clients } from '../client' + +interface Body { + origin: string + destination: string + to: string + asset: string + amount: string + relayerFee: string + slippage: string + signer: string + environment: string +} + +export async function POST(req: Request) { + try { + if (req.method !== 'POST') { + return new Response('Invalid request method', { status: 405 }) + } + + const body: Body = await req.json() + + const { origin, destination, to, asset, amount, relayerFee, slippage, signer, environment } = body + + if (!origin) { + return new Response('Missing origin in request body', { status: 400 }) + } + + if (!destination) { + return new Response('Missing destination in request body', { status: 400 }) + } + + if (!to) { + return new Response('Missing to in request body', { status: 400 }) + } + + if (!asset) { + return new Response('Missing asset in request body', { status: 400 }) + } + + if (!amount) { + return new Response('Missing amount in request body', { status: 400 }) + } + + if (!relayerFee) { + return new Response('Missing relayerFee in request body', { status: 400 }) + } + + if (!slippage) { + return new Response('Missing slippage in request body', { status: 400 }) + } + + if (!signer) { + return new Response('Missing signer in request body', { status: 400 }) + } + + if (!environment || !['mainnet', 'testnet'].includes(environment)) { + return new Response('Missing valid environment in request body', { status: 400 }) + } + + const { mainnetSdk, testnetSdk } = await clients(signer) + + const data = + environment === 'mainnet' + ? await mainnetSdk.sdkBase.xcall({ origin, destination, to, asset, amount, slippage, relayerFee }) + : await testnetSdk.sdkBase.xcall({ origin, destination, to, asset, amount, slippage, relayerFee }) + + return new Response(JSON.stringify({ txRequest: { ...data, value: relayerFee } }), { + status: 200, + headers: { 'Content-Type': 'application/json' }, + }) + } catch (e) { + const errorMessage = e instanceof Error ? e.message : String(e) + return new Response(errorMessage, { status: 500 }) + } +} diff --git a/template/integrations/connext/core/connext/client.ts b/template/integrations/connext/core/connext/client.ts new file mode 100644 index 0000000..e229431 --- /dev/null +++ b/template/integrations/connext/core/connext/client.ts @@ -0,0 +1,56 @@ +import { SdkConfig, create } from '@connext/sdk' + +import { mainnetChains, testnetChains } from './utils/chains' + +interface ProviderParams { + chainId: string + chainName: string + rpcUrls: string[] + nativeCurrency: { + name: string + symbol: string + decimals: number + } + blockExplorerUrls: string[] +} + +interface Chain { + id: string + chain_id: number + domain_id: string + name: string + short_name: string + provider_params: ProviderParams[] + rpc_urls: string[] +} + +interface ChainObj { + [key: string]: { + providers: string[] + } +} + +function constructSdkChains(chains: Chain[]) { + const chainsObj: ChainObj = {} + + chains.forEach((chain) => { + chainsObj[chain.domain_id] = { + providers: chain.provider_params[0].rpcUrls, + } + }) + + return chainsObj +} + +const testnetSdkConfig: SdkConfig = { network: 'testnet', chains: constructSdkChains(testnetChains), logLevel: 'silent' } +const mainnetSdkConfig: SdkConfig = { network: 'mainnet', chains: constructSdkChains(mainnetChains), logLevel: 'silent' } + +export async function clients(address?: string) { + const testnetSdk = await create({ ...testnetSdkConfig, signerAddress: address }) + const mainnetSdk = await create({ ...mainnetSdkConfig, signerAddress: address }) + + return { + testnetSdk, + mainnetSdk, + } +} diff --git a/template/integrations/connext/core/connext/components/form-connext-xtransfer.tsx b/template/integrations/connext/core/connext/components/form-connext-xtransfer.tsx new file mode 100644 index 0000000..95ce3e3 --- /dev/null +++ b/template/integrations/connext/core/connext/components/form-connext-xtransfer.tsx @@ -0,0 +1,510 @@ +'use client' + +import { Dispatch, SetStateAction, useEffect, useState } from 'react' + +import { motion } from 'framer-motion' +import Image from 'next/image' +import { MdOutlineSwapHoriz } from 'react-icons/md' +import { RxCross2 } from 'react-icons/rx' +import { formatUnits, parseUnits } from 'viem' +import { useAccount, useBalance, useNetwork, useSendTransaction, useSwitchNetwork } from 'wagmi' + +import WalletConnectCustom from '@/components/blockchain/wallet-connect-custom' +import { IsWalletConnected } from '@/components/shared/is-wallet-connected' +import { IsWalletDisconnected } from '@/components/shared/is-wallet-disconnected' +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select' +import { Switch } from '@/components/ui/switch' +import { FADE_DOWN_ANIMATION_VARIANTS } from '@/config/design' + +import { Spinner } from './spinner' +import { useApproveIfNeeded } from '../hooks/use-approve-if-needed' +import { useEstimatedAmount } from '../hooks/use-estimated-amount' +import { useEstimatedRelayerFee } from '../hooks/use-estimated-relayer-fee' +import { useLatestTransfers } from '../hooks/use-latest-transfers' +import { useSupportedTransfer } from '../hooks/use-supported-transfer' +import { useXcall } from '../hooks/use-xcall' +import { mainnetAssets, testnetAssets } from '../utils/assets' +import { mainnetChains, testnetChains } from '../utils/chains' +import { arbitrumDomainId, arbitrumGoerliId, optimismDomainId, optimismGoerliDomainId } from '../utils/constants' +import { Asset } from '../utils/types' + +interface FormConnextXTransferProps { + isMainnet: boolean + setIsMainnet: Dispatch> +} + +export function FormConnextXTransfer({ isMainnet, setIsMainnet }: FormConnextXTransferProps) { + const { chain } = useNetwork() + const { address } = useAccount() + const { isLoading: isSwitchingChain, switchNetwork } = useSwitchNetwork() + + const [originChain, setOriginChain] = useState(optimismDomainId) + const [destinationChain, setDestinationChain] = useState(arbitrumDomainId) + const [asset, setAsset] = useState('eth') + const [amount, setAmount] = useState('') + const [showTransferStatus, setShowTransferStatus] = useState(false) + const [contractApproved, setContractApproved] = useState(false) + + const getChain = (domainId: string) => { + return isMainnet + ? mainnetChains.find((mainnetChain) => mainnetChain.domain_id == domainId) + : testnetChains.find((testnetChain) => testnetChain.domain_id == domainId) + } + const getAsset = (): Asset | undefined => { + return isMainnet + ? mainnetAssets.find((mainnetAsset) => mainnetAsset.id === asset) + : testnetAssets.find((testnetAsset) => testnetAsset.id === asset) + } + const { data: originBalance } = useBalance({ + address, + token: getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.contract_address as `0x${string}`, + chainId: getChain(originChain)?.chain_id ?? 1, + watch: true, + }) + const { data: destinationBalance } = useBalance({ + address, + token: getAsset()?.contracts.find((contract) => contract.chain_id === getChain(destinationChain)?.chain_id)?.contract_address as `0x${string}`, + chainId: getChain(destinationChain)?.chain_id ?? 1, + watch: true, + }) + + const transferSupported = useSupportedTransfer({ + originChainId: getChain(originChain)?.chain_id, + destinationChainId: getChain(destinationChain)?.chain_id, + assetDataContracts: getAsset()?.contracts, + }) + + const { + estimatedAmount, + isFastPath, + isLoading: isFetchingEstimatedAmount, + } = useEstimatedAmount({ + isMainnet, + originDomain: getChain(originChain)?.domain_id, + destinationDomain: getChain(destinationChain)?.domain_id, + originTokenAddress: getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.contract_address, + amount: parseUnits( + `${Number(amount)}`, + getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.decimals ?? 18 + ).toString(), + }) + + const estimatedRelayerFee = useEstimatedRelayerFee({ + isMainnet, + originDomain: getChain(originChain)?.domain_id, + destinationDomain: getChain(destinationChain)?.domain_id, + }) + + const { request: approveRequest, isLoading: isApproveCheckLoading } = useApproveIfNeeded({ + isMainnet, + originDomain: getChain(originChain)?.domain_id, + assetAddress: getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.contract_address, + amount: parseUnits( + `${Number(amount)}`, + getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.decimals ?? 18 + ).toString(), + }) + + const { request: xcallRequest, isLoading: xcallLoading } = useXcall({ + isMainnet, + origin: getChain(originChain)?.domain_id, + destination: getChain(destinationChain)?.domain_id, + asset: getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.contract_address, + to: address, + relayerFee: estimatedRelayerFee, + amount: parseUnits( + `${Number(amount)}`, + getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.decimals ?? 18 + ).toString(), + }) + + const transfers = useLatestTransfers(isMainnet) + + const { isLoading: txLoading, isSuccess: txSuccess, reset: txReset, sendTransaction } = useSendTransaction(xcallRequest) + const { + isLoading: approveTxLoading, + isSuccess: approveTxSuccess, + reset: approveTxReset, + sendTransaction: approveSendTransaction, + } = useSendTransaction(approveRequest) + + const isInOriginChain = () => { + return chain?.id === getChain(originChain)?.chain_id + } + + const swapChains = async () => { + const temp = originChain + setOriginChain(destinationChain) + setDestinationChain(temp) + } + + const updateOriginChain = (domainId: string) => { + if (domainId == destinationChain) return swapChains() + setOriginChain(domainId) + } + + const updateDestinationChain = (domainId: string) => { + if (domainId == originChain) return swapChains() + setDestinationChain(domainId) + } + + const sendTx = () => { + if (approveRequest && !contractApproved) { + setContractApproved(true) + return approveSendTransaction?.() + } + if (xcallRequest) { + sendTransaction?.() + } + } + + const getButtonContent = () => { + const originChainData = getChain(originChain) + + if (!isInOriginChain()) { + if (isSwitchingChain) { + return ( +
+ Switching... + {originChainData?.image +
+ ) + } else { + return ( +
+ Switch network + {originChainData?.image +
+ ) + } + } + + if (approveTxLoading) { + return ( +
+ Approve contract... +
+ ) + } + + if (txLoading || txSuccess) { + return ( +
+ {txLoading ? 'Confirm transaction...' : 'Processing...'} +
+ ) + } + + return ( +
+ Send +
+ ) + } + + const buttonAction = () => { + const originChainData = getChain(originChain) + + if (!isInOriginChain()) { + switchNetwork?.(originChainData?.chain_id) + } + } + + const getButton = () => { + if ( + isInOriginChain() && + parseUnits( + `${Number(amount)}`, + getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.decimals ?? 18 + ) > (originBalance?.value ?? 0) + ) { + return ( + + ) + } + if ( + (!xcallRequest || xcallLoading || isApproveCheckLoading || !amount || txLoading || txSuccess || approveTxLoading || amount === '0') && + isInOriginChain() + ) { + return ( + + ) + } + + return ( + + ) + } + + function formatNumber(numberStr: string): string { + const number = parseFloat(numberStr) + const decimals = getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.decimals ?? 18 + + if (isNaN(number) || number === 0) { + return '0.00' + } + + const formattedNumber = number.toFixed(decimals + 6) + + const [integerPart, decimalPart] = formattedNumber.split('.') + + if (decimalPart === '00') { + return `${integerPart}.${decimalPart.slice(0, 2)}` + } + + return formattedNumber.slice(0, -decimals) + } + + useEffect(() => { + if (isMainnet) { + setOriginChain(optimismDomainId) + setDestinationChain(arbitrumDomainId) + setAsset('eth') + } else { + setOriginChain(optimismGoerliDomainId) + setDestinationChain(arbitrumGoerliId) + setAsset('test') + } + }, [isMainnet]) + + useEffect(() => { + setContractApproved(false) + }, [originChain, destinationChain, asset]) + + useEffect(() => { + if (txSuccess) { + setShowTransferStatus(true) + txReset() + approveTxReset() + } + }, [transfers]) + + useEffect(() => { + if (approveTxSuccess) { + approveTxReset() + } + }, [approveTxSuccess]) + + return showTransferStatus ? ( +
+
+ Transfer status + +
+ Penguin +

+ Your transfer is on his way. You can close this window and the transaction will still be processed +

+
+ ) : ( + +
+

Bridge

+
+ + +
+
+ +
+
+ From + +
+ +
+ To + +
+
+ +
+ You send + + Balance:{' '} + + {formatNumber(originBalance?.formatted ?? '')} {getAsset()?.symbol} + {' '} + +
+
+
+ +
+ { + const regex = /^[0-9.,\b]+$/ + let value = e.target.value + if (value === '' || regex.test(value)) { + if (value.startsWith('.') || value.startsWith(',')) { + value = `0${value}` + } + value = value.replace(',', '.') + setAmount(value) + } + }} + /> +
+ {transferSupported ? ( + <> + {' '} +
+ You receive + + Balance:{' '} + + {formatNumber(destinationBalance?.formatted ?? '0')} {getAsset()?.symbol} + {' '} + +
+
+
+ +
+
+ {isFetchingEstimatedAmount && amount ? ( + + ) : ( + formatUnits( + BigInt(estimatedAmount), + getAsset()?.contracts.find((contract) => contract.chain_id === getChain(originChain)?.chain_id)?.decimals ?? 18 + ) + )} +
+
+
+
+ Estimated time + {isFastPath ? ( + {'< 4 minutes'} + ) : ( + {'< 90 minutes'} + )} +
+
{' '} + + ) : ( +
Route not supported
+ )} + {getButton()} + + + +
+ ) +} diff --git a/template/integrations/connext/core/connext/components/latest-transfers.tsx b/template/integrations/connext/core/connext/components/latest-transfers.tsx new file mode 100644 index 0000000..b3c320b --- /dev/null +++ b/template/integrations/connext/core/connext/components/latest-transfers.tsx @@ -0,0 +1,57 @@ +'use client' + +import { useState } from 'react' + +import { BiChevronDown, BiChevronUp } from 'react-icons/bi' +import { TiArrowRight } from 'react-icons/ti' +import { useAccount } from 'wagmi' + +import { LinkComponent } from '@/components/shared/link-component' + +import { Transfer } from './transfer' +import { useLatestTransfers } from '../hooks/use-latest-transfers' + +interface LatestTransfersProps { + isMainnet: boolean +} + +export function LatestTransfers({ isMainnet }: LatestTransfersProps) { + const [collapse, setCollapse] = useState(false) + const transfers = useLatestTransfers(isMainnet) + const { address } = useAccount() + + const transfersComponent = () => { + return transfers.slice(0, 3).map((transfer, index) => ) + } + + return ( +
+ + {!collapse && ( + <> +
{transfersComponent()}
+ {address && transfers.length > 3 && ( + + See more + + + )} + + )} +
+ ) +} diff --git a/template/integrations/connext/core/connext/components/spinner.tsx b/template/integrations/connext/core/connext/components/spinner.tsx new file mode 100644 index 0000000..eeeb486 --- /dev/null +++ b/template/integrations/connext/core/connext/components/spinner.tsx @@ -0,0 +1,10 @@ +import { HTMLAttributes } from 'react' + +import { cn } from '@/lib/utils' +export const Spinner = ({ className, ...props }: HTMLAttributes) => { + return ( +
+
+
+ ) +} diff --git a/template/integrations/connext/core/connext/components/transfer.tsx b/template/integrations/connext/core/connext/components/transfer.tsx new file mode 100644 index 0000000..58b067c --- /dev/null +++ b/template/integrations/connext/core/connext/components/transfer.tsx @@ -0,0 +1,128 @@ +import Image from 'next/image' +import { BsInfoCircle } from 'react-icons/bs' +import { HiOutlineCheckCircle } from 'react-icons/hi' +import { IoWarning } from 'react-icons/io5' +import { TiArrowRight } from 'react-icons/ti' + +import { LinkComponent } from '@/components/shared/link-component' + +import { calculateAmount, findAsset, findChain, findDecimals, formatTimestamp } from '../utils' +import { mainnetAssets, testnetAssets } from '../utils/assets' +import { mainnetChains, testnetChains } from '../utils/chains' +import { Transfer } from '../utils/types' + +type TransferProps = { + isMainnet: boolean + transfer: Transfer +} + +function getStatusIcon(status: string, error_status: string) { + const pending = !['Executed', 'CompletedFast', 'CompletedSlow'].includes(status as 'Executed' | 'CompletedFast' | 'CompletedSlow') + const errored = error_status === 'LowRelayerFee' && ['XCalled', 'Reconciled'].includes(status) + + if (errored) { + return ( +
+ + {error_status} +
+ ) + } else if (pending) { + return + } + + return +} + +export function Transfer({ isMainnet, transfer }: TransferProps) { + const chains = isMainnet ? mainnetChains : testnetChains + const assets = isMainnet ? mainnetAssets : testnetAssets + + const originChain = findChain(chains, transfer.origin_domain) + const originAsset = findAsset(assets, transfer.origin_transacting_asset) + + const originDecimals = originAsset ? findDecimals(originAsset, transfer.origin_transacting_asset) : undefined + + const destinationChain = findChain(chains, transfer.destination_domain) + const destinationAsset = findAsset(assets, transfer.destination_transacting_asset) + const destinationDecimals = destinationAsset ? findDecimals(destinationAsset, transfer.destination_transacting_asset) : undefined + + return ( +
+
+
+
+ {`${originChain?.name + {originChain?.name} +
+
+ {`${destinationChain?.name + {destinationChain?.name} +
+
+
+
+ {calculateAmount(transfer.origin_transacting_amount, originDecimals || 18)} +
+ {`${originAsset?.name + {originAsset?.symbol} +
+
+
+ + {getStatusIcon(transfer.status || '', transfer.error_status || '')} + +
+
+ + {calculateAmount(transfer.destination_transacting_amount ?? transfer.origin_transacting_amount, destinationDecimals || 18)} + +
+ {`${destinationAsset?.name + {destinationAsset?.symbol} +
+
+
+
+ +
+ {formatTimestamp(transfer.xcall_timestamp)} +
+
+
+ + See more on explorer + + +
+
+
+ ) +} diff --git a/template/integrations/connext/core/connext/hooks/use-approve-if-needed.ts b/template/integrations/connext/core/connext/hooks/use-approve-if-needed.ts new file mode 100644 index 0000000..ac2e569 --- /dev/null +++ b/template/integrations/connext/core/connext/hooks/use-approve-if-needed.ts @@ -0,0 +1,43 @@ +import { useQuery } from '@tanstack/react-query' +import axios from 'axios' +import { TransactionRequest } from 'viem' +import { useAccount } from 'wagmi' + +interface ApproveIfNeededArgs { + isMainnet: boolean + originDomain: string | undefined + assetAddress: string | undefined + amount: string | undefined +} + +interface AxiosResponseData { + txRequest: TransactionRequest +} + +interface IUseApproveIfNeeded { + request: TransactionRequest | undefined + isLoading: boolean +} + +export const useApproveIfNeeded = ({ isMainnet, originDomain, assetAddress, amount }: ApproveIfNeededArgs): IUseApproveIfNeeded => { + const { address } = useAccount() + + const fetchData = async () => { + const { data } = await axios.post(`/api/connext/approve-if-needed`, { + environment: isMainnet ? 'mainnet' : 'testnet', + originDomain, + assetAddress, + amount, + signer: address, + }) + + return data.txRequest + } + + const { data: request, isLoading } = useQuery(['approveIfNeeded', isMainnet, originDomain, assetAddress, amount], { + queryFn: fetchData, + enabled: !!originDomain && !!assetAddress && !!amount, // only fetch if all params are truthy + }) + + return { request, isLoading } +} diff --git a/template/integrations/connext/core/connext/hooks/use-estimated-amount.ts b/template/integrations/connext/core/connext/hooks/use-estimated-amount.ts new file mode 100644 index 0000000..39af0f7 --- /dev/null +++ b/template/integrations/connext/core/connext/hooks/use-estimated-amount.ts @@ -0,0 +1,40 @@ +import { useQuery } from '@tanstack/react-query' +import axios from 'axios' + +interface EstimatedAmountArgs { + isMainnet: boolean + originDomain: string | undefined + destinationDomain: string | undefined + originTokenAddress: string | undefined + amount: string | undefined +} + +interface AxiosResponseData { + amount: string + isFastPath: boolean +} + +export const useEstimatedAmount = ({ isMainnet, originDomain, destinationDomain, originTokenAddress, amount }: EstimatedAmountArgs) => { + const fetchData = async () => { + const { data } = await axios.get(`/api/connext/estimated-amount`, { + params: { + environment: isMainnet ? 'mainnet' : 'testnet', + originDomain, + destinationDomain, + originTokenAddress, + amount, + }, + }) + return data + } + + const { data: { amount: estimatedAmount, isFastPath } = {}, isLoading } = useQuery( + ['estimatedAmount', isMainnet, originDomain, destinationDomain, originTokenAddress, amount], + { + queryFn: fetchData, + enabled: !!originDomain && !!destinationDomain && !!originTokenAddress && !!amount, // only fetch if all params are truthy + } + ) + + return { estimatedAmount: estimatedAmount || '0', isFastPath: isFastPath || false, isLoading } +} diff --git a/template/integrations/connext/core/connext/hooks/use-estimated-relayer-fee.ts b/template/integrations/connext/core/connext/hooks/use-estimated-relayer-fee.ts new file mode 100644 index 0000000..4bbe1ee --- /dev/null +++ b/template/integrations/connext/core/connext/hooks/use-estimated-relayer-fee.ts @@ -0,0 +1,32 @@ +import { useQuery } from '@tanstack/react-query' +import axios from 'axios' + +interface EstimatedRelayerFeeArgs { + isMainnet: boolean + originDomain: string | undefined + destinationDomain: string | undefined +} + +interface AxiosResponseData { + relayerFee: string +} + +export const useEstimatedRelayerFee = ({ isMainnet, originDomain, destinationDomain }: EstimatedRelayerFeeArgs) => { + const fetchData = async () => { + const { data } = await axios.get(`/api/connext/estimated-relayer-fee`, { + params: { + environment: isMainnet ? 'mainnet' : 'testnet', + originDomain, + destinationDomain, + }, + }) + return data + } + + const { data: { relayerFee } = {} } = useQuery(['estimatedRelayerFee', isMainnet, originDomain, destinationDomain], { + queryFn: fetchData, + enabled: !!originDomain && !!destinationDomain, // only fetch if both params are truthy + }) + + return relayerFee || '0' +} diff --git a/template/integrations/connext/core/connext/hooks/use-latest-transfers.ts b/template/integrations/connext/core/connext/hooks/use-latest-transfers.ts new file mode 100644 index 0000000..1e75c67 --- /dev/null +++ b/template/integrations/connext/core/connext/hooks/use-latest-transfers.ts @@ -0,0 +1,30 @@ +import { useQuery } from '@tanstack/react-query' +import axios from 'axios' +import { useAccount } from 'wagmi' + +import { Transfer } from '../utils/types' + +interface AxiosResponseData { + transfers: Transfer[] +} + +export const useLatestTransfers = (isMainnet: boolean) => { + const { address } = useAccount() + + const fetchTransfers = async () => { + const { data } = await axios.get(`/api/connext/latest-transfers`, { + params: { + address, + environment: isMainnet ? 'mainnet' : 'testnet', + }, + }) + return data.transfers + } + + const { data: transfers = [] } = useQuery(['latestTransfers', isMainnet, address], { + queryFn: fetchTransfers, + refetchInterval: 10000, // Refetch data every 10 seconds + }) + + return transfers +} diff --git a/template/integrations/connext/core/connext/hooks/use-supported-transfer.ts b/template/integrations/connext/core/connext/hooks/use-supported-transfer.ts new file mode 100644 index 0000000..4b052e9 --- /dev/null +++ b/template/integrations/connext/core/connext/hooks/use-supported-transfer.ts @@ -0,0 +1,16 @@ +import { Contract } from '../utils/types' + +interface SupportedTransferArgs { + originChainId: number | undefined + destinationChainId: number | undefined + assetDataContracts: Contract[] | undefined +} + +const getContract = (chainId: number, contracts: Contract[]): Contract | undefined => { + return contracts.find((contract) => contract.chain_id === chainId) +} + +export const useSupportedTransfer = ({ originChainId, destinationChainId, assetDataContracts }: SupportedTransferArgs): boolean => { + if (!originChainId || !destinationChainId || !assetDataContracts) return false + return !!(getContract(originChainId, assetDataContracts) && getContract(destinationChainId, assetDataContracts)) +} diff --git a/template/integrations/connext/core/connext/hooks/use-xcall.ts b/template/integrations/connext/core/connext/hooks/use-xcall.ts new file mode 100644 index 0000000..c3f0102 --- /dev/null +++ b/template/integrations/connext/core/connext/hooks/use-xcall.ts @@ -0,0 +1,47 @@ +import { useQuery } from '@tanstack/react-query' +import axios from 'axios' +import { TransactionRequest } from 'viem' +import { useAccount } from 'wagmi' + +interface XCallArgs { + isMainnet: boolean + origin: string | undefined + destination: string | undefined + to: string | undefined + asset: string | undefined + amount: string | undefined + relayerFee: string | undefined +} + +interface AxiosResponseData { + txRequest: TransactionRequest +} + +interface IXCall { + request: TransactionRequest | undefined + isLoading: boolean +} + +export const useXcall = ({ isMainnet, origin, destination, to, asset, amount, relayerFee }: XCallArgs): IXCall => { + const { address } = useAccount() + + const { data, isLoading } = useQuery(['xcall', isMainnet, origin, destination, to, asset, amount, relayerFee, address], { + queryFn: async () => { + const response = await axios.post(`/api/connext/xcall`, { + environment: isMainnet ? 'mainnet' : 'testnet', + origin, + destination, + to, + asset, + amount, + signer: address, + relayerFee, + slippage: '300', + }) + return response.data.txRequest + }, + enabled: !!origin && !!destination && !!to && !!asset && !!amount && relayerFee !== '0', + }) + + return { request: data, isLoading } +} diff --git a/template/integrations/connext/core/connext/utils/assets/index.ts b/template/integrations/connext/core/connext/utils/assets/index.ts new file mode 100644 index 0000000..ed79e92 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/assets/index.ts @@ -0,0 +1,2 @@ +export { mainnetAssets } from './mainnet' +export { testnetAssets } from './testnet' diff --git a/template/integrations/connext/core/connext/utils/assets/mainnet.ts b/template/integrations/connext/core/connext/utils/assets/mainnet.ts new file mode 100644 index 0000000..78c7d00 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/assets/mainnet.ts @@ -0,0 +1,347 @@ +export const mainnetAssets = [ + { + id: 'usdc', + symbol: 'USDC', + name: 'USD Coin', + image: '/integrations/connext/logos/assets/usdc.png', + is_stablecoin: true, + allow_paying_gas: true, + contracts: [ + { + contract_address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + chain_id: 1, + decimals: 6, + image: '/integrations/connext/logos/assets/usdc.png', + }, + { + contract_address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', + chain_id: 56, + decimals: 18, + image: '/integrations/connext/logos/assets/usdc.png', + next_asset: { + contract_address: '0x5e7D83dA751F4C9694b13aF351B30aC108f32C38', + decimals: 6, + symbol: 'nextUSDC', + image: '/integrations/connext/logos/assets/nextusdc.png', + }, + is_pool: true, + }, + { + contract_address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174', + chain_id: 137, + decimals: 6, + image: '/integrations/connext/logos/assets/usdc.png', + next_asset: { + contract_address: '0xF96C6d2537e1af1a9503852eB2A4AF264272a5B6', + decimals: 6, + symbol: 'nextUSDC', + image: '/integrations/connext/logos/assets/nextusdc.png', + }, + is_pool: true, + }, + { + contract_address: '0x7F5c764cBc14f9669B88837ca1490cCa17c31607', + chain_id: 10, + decimals: 6, + image: '/integrations/connext/logos/assets/usdc.png', + next_asset: { + contract_address: '0x67E51f46e8e14D4E4cab9dF48c59ad8F512486DD', + decimals: 6, + symbol: 'nextUSDC', + image: '/integrations/connext/logos/assets/nextusdc.png', + }, + is_pool: true, + }, + { + contract_address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8', + chain_id: 42161, + decimals: 6, + symbol: 'USDC.e', + image: '/integrations/connext/logos/assets/usdc.png', + tooltip: + 'Circle has renamed bridged USDC to USDC.e on Arbitrum network. For more information please see this link.', + next_asset: { + contract_address: '0x8c556cF37faa0eeDAC7aE665f1Bb0FbD4b2eae36', + decimals: 6, + symbol: 'nextUSDC', + image: '/integrations/connext/logos/assets/nextusdc.png', + }, + is_pool: true, + }, + { + contract_address: '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83', + chain_id: 100, + decimals: 6, + image: '/integrations/connext/logos/assets/usdc.png', + next_asset: { + contract_address: '0x44CF74238d840a5fEBB0eAa089D05b763B73faB8', + decimals: 6, + symbol: 'nextUSDC', + image: '/integrations/connext/logos/assets/nextusdc.png', + }, + is_pool: true, + }, + ], + color: '#2675c8', + preset: true, + }, + { + id: 'usdt', + symbol: 'USDT', + name: 'Tether', + image: '/integrations/connext/logos/assets/usdt.png', + is_stablecoin: true, + allow_paying_gas: true, + contracts: [ + { + contract_address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', + chain_id: 1, + decimals: 6, + image: '/integrations/connext/logos/assets/usdt.png', + }, + { + contract_address: '0x55d398326f99059fF775485246999027B3197955', + chain_id: 56, + decimals: 18, + image: '/integrations/connext/logos/assets/usdt.png', + next_asset: { + contract_address: '0xD609f26B5547d5E31562B29150769Cb7c774B97a', + decimals: 6, + symbol: 'nextUSDT', + image: '/integrations/connext/logos/assets/nextusdt.png', + }, + is_pool: true, + }, + { + contract_address: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F', + chain_id: 137, + decimals: 6, + image: '/integrations/connext/logos/assets/usdt.png', + next_asset: { + contract_address: '0xE221C5A2a8348f12dcb2b0e88693522EbAD2690f', + decimals: 6, + symbol: 'nextUSDT', + image: '/integrations/connext/logos/assets/nextusdt.png', + }, + is_pool: true, + }, + { + contract_address: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58', + chain_id: 10, + decimals: 6, + image: '/integrations/connext/logos/assets/usdt.png', + next_asset: { + contract_address: '0x4cBB28FA12264cD8E87C62F4E1d9f5955Ce67D20', + decimals: 6, + symbol: 'nextUSDT', + image: '/integrations/connext/logos/assets/nextusdt.png', + }, + is_pool: true, + }, + { + contract_address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', + chain_id: 42161, + decimals: 6, + image: '/integrations/connext/logos/assets/usdt.png', + next_asset: { + contract_address: '0x2fD7E61033b3904c65AA9A9B83DCd344Fa19Ffd2', + decimals: 6, + symbol: 'nextUSDT', + image: '/integrations/connext/logos/assets/nextusdt.png', + }, + is_pool: true, + }, + { + contract_address: '0x4ECaBa5870353805a9F068101A40E0f32ed605C6', + chain_id: 100, + decimals: 6, + image: '/integrations/connext/logos/assets/usdt.png', + next_asset: { + contract_address: '0xF4d944883D6FddC56d3534986feF82105CaDbfA1', + decimals: 6, + symbol: 'nextUSDT', + image: '/integrations/connext/logos/assets/nextusdt.png', + }, + is_pool: true, + }, + ], + color: '#039f74', + preset: true, + }, + { + id: 'dai', + symbol: 'DAI', + name: 'Dai', + image: '/integrations/connext/logos/assets/dai.png', + is_stablecoin: true, + allow_paying_gas: true, + contracts: [ + { + contract_address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + chain_id: 1, + decimals: 18, + image: '/integrations/connext/logos/assets/dai.png', + }, + { + contract_address: '0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3', + chain_id: 56, + decimals: 18, + image: '/integrations/connext/logos/assets/dai.png', + next_asset: { + contract_address: '0x86a343BCF17D79C475d300eed35F0145F137D0c9', + decimals: 18, + symbol: 'nextDAI', + image: '/integrations/connext/logos/assets/nextdai.png', + }, + is_pool: true, + }, + { + contract_address: '0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063', + chain_id: 137, + decimals: 18, + image: '/integrations/connext/logos/assets/dai.png', + next_asset: { + contract_address: '0xaDCe87b14d570665222C1172D18a221BF7690d5a', + decimals: 18, + symbol: 'nextDAI', + image: '/integrations/connext/logos/assets/nextdai.png', + }, + is_pool: true, + }, + { + contract_address: '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', + chain_id: 10, + decimals: 18, + image: '/integrations/connext/logos/assets/dai.png', + next_asset: { + contract_address: '0xd64Bd028b560bbFc732eA18f282c64B86F3468e0', + decimals: 18, + symbol: 'nextDAI', + image: '/integrations/connext/logos/assets/nextdai.png', + }, + is_pool: true, + }, + { + contract_address: '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', + chain_id: 42161, + decimals: 18, + image: '/integrations/connext/logos/assets/dai.png', + next_asset: { + contract_address: '0xfDe99b3B3fbB69553D7DaE105EF34Ba4FE971190', + decimals: 18, + symbol: 'nextDAI', + image: '/integrations/connext/logos/assets/nextdai.png', + }, + is_pool: true, + }, + { + contract_address: '0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d', + chain_id: 100, + decimals: 18, + image: '/integrations/connext/logos/assets/wxdai.png', + symbol: 'WXDAI', + next_asset: { + contract_address: '0x0e1D5Bcd2Ac5CF2f71841A9667afC1E995CaAf4F', + decimals: 18, + symbol: 'nextDAI', + image: '/integrations/connext/logos/assets/nextdai.png', + }, + wrapable: true, + is_pool: true, + }, + ], + color: '#f4b333', + preset: true, + }, + { + id: 'eth', + symbol: 'WETH', + name: 'Ethereum', + image: '/integrations/connext/logos/assets/eth.png', + contracts: [ + { + contract_address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + chain_id: 1, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + wrapable: true, + }, + { + contract_address: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', + chain_id: 56, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + next_asset: { + contract_address: '0xA9CB51C666D2AF451d87442Be50747B31BB7d805', + decimals: 18, + symbol: 'nextWETH', + image: '/integrations/connext/logos/assets/nextweth.png', + }, + is_pool: true, + }, + { + contract_address: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', + chain_id: 137, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + next_asset: { + contract_address: '0x4b8BaC8Dd1CAA52E32C07755c17eFadeD6A0bbD0', + decimals: 18, + symbol: 'nextWETH', + image: '/integrations/connext/logos/assets/nextweth.png', + }, + is_pool: true, + }, + { + contract_address: '0x4200000000000000000000000000000000000006', + chain_id: 10, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + next_asset: { + contract_address: '0xbAD5B3c68F855EaEcE68203312Fd88AD3D365e50', + decimals: 18, + symbol: 'nextWETH', + image: '/integrations/connext/logos/assets/nextweth.png', + }, + wrapable: true, + is_pool: true, + }, + { + contract_address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', + chain_id: 42161, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + next_asset: { + contract_address: '0x2983bf5c334743Aa6657AD70A55041d720d225dB', + decimals: 18, + symbol: 'nextWETH', + image: '/integrations/connext/logos/assets/nextweth.png', + }, + wrapable: true, + is_pool: true, + }, + { + contract_address: '0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1', + chain_id: 100, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + next_asset: { + contract_address: '0x538E2dDbfDf476D24cCb1477A518A82C9EA81326', + decimals: 18, + symbol: 'nextWETH', + image: '/integrations/connext/logos/assets/nextweth.png', + }, + is_pool: true, + }, + ], + allow_paying_gas: true, + color: '#636890', + preset: true, + }, +] diff --git a/template/integrations/connext/core/connext/utils/assets/testnet.ts b/template/integrations/connext/core/connext/utils/assets/testnet.ts new file mode 100644 index 0000000..e322da6 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/assets/testnet.ts @@ -0,0 +1,154 @@ +export const testnetAssets = [ + { + id: 'test', + symbol: 'TEST', + name: 'Test', + image: '/integrations/connext/logos/assets/test.png', + is_stablecoin: true, + allow_paying_gas: true, + contracts: [ + { + contract_address: '0x7ea6eA49B0b0Ae9c5db7907d139D9Cd3439862a1', + chain_id: 5, + decimals: 18, + symbol: 'TEST', + mintable: true, + }, + { + contract_address: '0xeDb95D8037f769B72AAab41deeC92903A98C9E16', + chain_id: 80001, + decimals: 18, + symbol: 'TEST', + mintable: true, + }, + { + contract_address: '0x68Db1c8d85C09d546097C65ec7DCBFF4D6497CbF', + chain_id: 420, + decimals: 18, + symbol: 'TEST', + mintable: true, + }, + { + contract_address: '0xDC805eAaaBd6F68904cA706C221c72F8a8a68F9f', + chain_id: 421613, + decimals: 18, + symbol: 'TEST', + mintable: true, + }, + { + contract_address: '0xB706319D37b945727E71ae0d4353699d19112576', + chain_id: 59140, + decimals: 18, + symbol: 'TEST', + mintable: true, + }, + { + contract_address: '0x7C1412e456ad60B8ee458c4eb3A9852C3e389353', + chain_id: 280, + decimals: 18, + symbol: 'TEST', + mintable: true, + }, + ], + color: '#2675c8', + exclude_source_chains: ['linea'], + exclude_destination_chains: ['linea'], + }, + { + id: 'eth', + symbol: 'WETH', + name: 'Ethereum', + image: '/integrations/connext/logos/assets/eth.png', + allow_paying_gas: true, + contracts: [ + { + contract_address: '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6', + chain_id: 5, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + wrapable: true, + is_bridge: true, + }, + { + contract_address: '0xFD2AB41e083c75085807c4A65C0A14FDD93d55A9', + chain_id: 80001, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + next_asset: { + contract_address: '0x1E5341E4b7ed5D0680d9066aac0396F0b1bD1E69', + decimals: 18, + symbol: 'nextWETH', + image: '/integrations/connext/logos/assets/nextweth.png', + }, + is_pool: false, + is_bridge: true, + }, + { + contract_address: '0x74c6FD7D2Bc6a8F0Ebd7D78321A95471b8C2B806', + chain_id: 420, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + next_asset: { + contract_address: '0x39B061B7e41DE8B721f9aEcEB6b3f17ECB7ba63E', + decimals: 18, + symbol: 'nextWETH', + image: '/integrations/connext/logos/assets/nextweth.png', + }, + wrapable: true, + is_pool: false, + is_bridge: true, + }, + { + contract_address: '0x1346786E6A5e07b90184a1Ba58E55444b99DC4A2', + chain_id: 421613, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + wrapable: true, + is_bridge: true, + }, + { + contract_address: '0xbef9DE2c456895cdafB0ecB764d2DedFF58ed157', + chain_id: 280, + decimals: 18, + symbol: 'WETH', + image: '/integrations/connext/logos/assets/weth.png', + wrapable: true, + is_bridge: true, + }, + ], + color: '#636890', + preset: true, + disabled: true, + }, + { + id: 'matic', + symbol: 'MATIC', + name: 'Polygon', + image: '/integrations/connext/logos/assets/matic.png', + allow_paying_gas: true, + contracts: [ + { + contract_address: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889', + chain_id: 80001, + decimals: 18, + symbol: 'WMATIC', + image: '/integrations/connext/logos/assets/wmatic.png', + wrapable: true, + is_bridge: true, + }, + { + contract_address: '0xcAA61BCAe7D37Fe9C33c0D8671448254eef44D63', + chain_id: 59140, + decimals: 18, + symbol: 'nextMATIC', + image: '/integrations/connext/logos/assets/nextmatic.png', + is_bridge: true, + }, + ], + color: '#7f43df', + }, +] diff --git a/template/integrations/connext/core/connext/utils/chains/index.ts b/template/integrations/connext/core/connext/utils/chains/index.ts new file mode 100644 index 0000000..ca92013 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/chains/index.ts @@ -0,0 +1,2 @@ +export { mainnetChains } from './mainnet' +export { testnetChains } from './testnet' diff --git a/template/integrations/connext/core/connext/utils/chains/mainnet.ts b/template/integrations/connext/core/connext/utils/chains/mainnet.ts new file mode 100644 index 0000000..82dc345 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/chains/mainnet.ts @@ -0,0 +1,194 @@ +export const mainnetChains = [ + { + id: 'ethereum', + chain_id: 1, + domain_id: '6648936', + name: 'Ethereum', + short_name: 'ETH', + provider_params: [ + { + chainId: '0x1', + chainName: 'Ethereum', + rpcUrls: ['https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', 'https://rpc.builder0x69.io'], + nativeCurrency: { + name: 'Ethereum', + symbol: 'ETH', + decimals: 18, + }, + blockExplorerUrls: ['https://etherscan.io'], + }, + ], + rpc_urls: ['https://eth-mainnet.g.alchemy.com/v2/aWJkilx5wJU1uL2UGOfqQRo4pl_hYyUA'], + explorer: { + name: 'Etherscan', + url: 'https://etherscan.io', + icon: '/integrations/connext/logos/explorers/etherscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/ethereum.png', + color: '#636890', + unwrapper_contract: '0x268682b7D9992aE7e2ca4A8bCc9D9655FB06056F', + group: 'evm', + no_pool: true, + }, + { + id: 'polygon', + chain_id: 137, + domain_id: '1886350457', + name: 'Polygon', + short_name: 'POLY', + provider_params: [ + { + chainId: '0x89', + chainName: 'Polygon', + rpcUrls: [ + 'https://polygon-mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + 'https://matic-mainnet.chainstacklabs.com', + 'https://poly-rpc.gateway.pokt.network', + 'https://polygon.blockpi.network/v1/rpc/public', + ], + nativeCurrency: { + name: 'Polygon', + symbol: 'MATIC', + decimals: 18, + }, + blockExplorerUrls: ['https://polygonscan.com'], + }, + ], + rpc_urls: ['https://polygon-mainnet.g.alchemy.com/v2/aA2cuymyI9ip0I1spb1nURVWdfOC5aVM'], + explorer: { + name: 'Polygonscan', + url: 'https://polygonscan.com', + icon: '/integrations/connext/logos/explorers/polygonscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/polygon.png', + color: '#8247e5', + unwrapper_contract: '0x7E8F8B2dA3dc5Ad9c9Dfd1A832331A039d4f3f74', + group: 'evm', + }, + { + id: 'optimism', + chain_id: 10, + domain_id: '1869640809', + name: 'Optimism', + short_name: 'OPT', + provider_params: [ + { + chainId: '0xa', + chainName: 'Optimism', + rpcUrls: ['https://optimism-mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', 'https://optimism.blockpi.network/v1/rpc/public'], + nativeCurrency: { + name: 'Ethereum', + symbol: 'oETH', + decimals: 18, + }, + blockExplorerUrls: ['https://optimistic.etherscan.io'], + }, + ], + rpc_urls: ['https://opt-mainnet.g.alchemy.com/v2/0oboZqHgeVJlfqVEl6-CoZUpESdns_4W'], + explorer: { + name: 'Etherscan', + url: 'https://optimistic.etherscan.io', + icon: '/integrations/connext/logos/explorers/optimism.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/optimism.png', + color: '#dc2626', + unwrapper_contract: '0x7Fe09d217d646a6213e51b237670Bc326188cB93', + group: 'optimistic_rollups', + }, + { + id: 'arbitrum', + chain_id: 42161, + domain_id: '1634886255', + name: 'Arbitrum', + short_name: 'ARB', + provider_params: [ + { + chainId: '0xa4b1', + chainName: 'Arbitrum One', + rpcUrls: [ + 'https://arbitrum-mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + 'https://arbitrum.blockpi.network/v1/rpc/public', + 'https://arb1.arbitrum.io/rpc', + ], + nativeCurrency: { + name: 'Ethereum', + symbol: 'aETH', + decimals: 18, + }, + blockExplorerUrls: ['https://arbiscan.io'], + }, + ], + rpc_urls: ['https://arb-mainnet.g.alchemy.com/v2/TdexEsMvH_cEqRkAHKzDT6ssagS1_mc_'], + explorer: { + name: 'Arbiscan', + url: 'https://arbiscan.io', + icon: '/integrations/connext/logos/explorers/arbiscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/arbitrum.png', + color: '#28a0f0', + unwrapper_contract: '0x429b9eb01362b2799131EfCC44319689b662999D', + group: 'optimistic_rollups', + }, + { + id: 'gnosis', + chain_id: 100, + domain_id: '6778479', + name: 'Gnosis', + short_name: 'GNO', + provider_params: [ + { + chainId: '0x64', + chainName: 'Gnosis', + rpcUrls: [ + 'https://gnosis.blockpi.network/v1/rpc/public', + 'https://rpc.gnosis.gateway.fm', + 'https://rpc.gnosischain.com', + 'https://rpc.ankr.com/gnosis', + 'https://xdai-rpc.gateway.pokt.network', + 'https://gnosischain-rpc.gateway.pokt.network', + ], + nativeCurrency: { + name: 'xDAI', + symbol: 'xDAI', + decimals: 18, + }, + blockExplorerUrls: ['https://gnosisscan.io'], + }, + ], + rpc_urls: ['https://gnosis.blockpi.network/v1/rpc/public'], + explorer: { + name: 'Gnosisscan', + url: 'https://gnosisscan.io', + icon: '/integrations/connext/logos/explorers/gnosisscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/gnosis.png', + color: '#48a9a6', + unwrapper_contract: '0x642c27a96dFFB6f21443A89b789a3194Ff8399fa', + group: 'evm', + }, +] diff --git a/template/integrations/connext/core/connext/utils/chains/testnet.ts b/template/integrations/connext/core/connext/utils/chains/testnet.ts new file mode 100644 index 0000000..506ed51 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/chains/testnet.ts @@ -0,0 +1,151 @@ +export const testnetChains = [ + { + id: 'goerli', + chain_id: 5, + domain_id: '1735353714', + name: 'Goerli', + short_name: 'GOR', + provider_params: [ + { + chainId: '0x5', + chainName: 'Ethereum Goerli', + rpcUrls: ['https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', 'https://ethereum-goerli.publicnode.com '], + nativeCurrency: { + name: 'Ethereum', + symbol: 'ETH', + decimals: 18, + }, + blockExplorerUrls: ['https://goerli.etherscan.io'], + }, + ], + rpc_urls: ['https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', 'https://ethereum-goerli.publicnode.com '], + explorer: { + name: 'Etherscan', + url: 'https://goerli.etherscan.io', + icon: '/logos/explorers/etherscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/goerli.png', + color: '#636890', + unwrapper_contract: '0xa6633d369A9C4C8A442ef104E8e293DA7b352Acd', + group: 'evm', + no_pool: true, + }, + { + id: 'polygon', + chain_id: 80001, + domain_id: '9991', + name: 'Polygon', + short_name: 'POLY', + provider_params: [ + { + chainId: '0x13881', + chainName: 'Polygon Mumbai', + rpcUrls: [ + 'https://polygon-mumbai.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + 'https://matic-mumbai.chainstacklabs.com', + 'https://rpc.ankr.com/polygon_mumbai', + ], + nativeCurrency: { + name: 'Polygon', + symbol: 'MATIC', + decimals: 18, + }, + blockExplorerUrls: ['https://mumbai.polygonscan.com'], + }, + ], + rpc_urls: [ + 'https://polygon-mumbai.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + 'https://matic-mumbai.chainstacklabs.com', + 'https://rpc.ankr.com/polygon_mumbai', + ], + explorer: { + name: 'Polygonscan', + url: 'https://mumbai.polygonscan.com', + icon: '/logos/explorers/polygonscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/polygon.png', + color: '#8247e5', + unwrapper_contract: '0x1e0Db00EB08ceC7FFdA03c0Dbf224193E1563844', + group: 'evm', + }, + { + id: 'optimism', + chain_id: 420, + domain_id: '1735356532', + name: 'Optimism', + short_name: 'OPT', + provider_params: [ + { + chainId: '0x1a4', + chainName: 'Optimism Goerli', + rpcUrls: ['https://optimism-goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', 'https://rpc.ankr.com/optimism_testnet'], + nativeCurrency: { + name: 'Ethereum', + symbol: 'oETH', + decimals: 18, + }, + blockExplorerUrls: ['https://goerli-optimism.etherscan.io'], + }, + ], + rpc_urls: ['https://optimism-goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', 'https://rpc.ankr.com/optimism_testnet'], + explorer: { + name: 'Etherscan', + url: 'https://goerli-optimism.etherscan.io', + icon: '/logos/explorers/etherscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/optimism.png', + color: '#dc2626', + unwrapper_contract: '0x08bDeFD0e4878A814Cb2fd11C033F3947251689f', + group: 'optimistic_rollups', + }, + { + id: 'arbitrum', + chain_id: 421613, + domain_id: '1734439522', + name: 'Arbitrum', + short_name: 'ARB', + provider_params: [ + { + chainId: '0x66eed', + chainName: 'Arbitrum Goerli', + rpcUrls: ['https://goerli-rollup.arbitrum.io/rpc'], + nativeCurrency: { + name: 'Ethereum', + symbol: 'aETH', + decimals: 18, + }, + blockExplorerUrls: ['https://goerli.arbiscan.io'], + }, + ], + rpc_urls: ['https://goerli-rollup.arbitrum.io/rpc'], + explorer: { + name: 'Arbiscan', + url: 'https://goerli.arbiscan.io', + icon: '/logos/explorers/arbiscan.png', + block_path: '/block/{block}', + address_path: '/address/{address}', + contract_path: '/token/{address}', + contract_0_path: '/address/{address}', + transaction_path: '/tx/{tx}', + }, + image: '/integrations/connext/logos/chains/arbitrum.png', + color: '#28a0f0', + unwrapper_contract: '0x18BBF96BC8014aA93cbf1A5Bce005a485b5C2C4a', + group: 'optimistic_rollups', + }, +] diff --git a/template/integrations/connext/core/connext/utils/constants.ts b/template/integrations/connext/core/connext/utils/constants.ts new file mode 100644 index 0000000..055bc79 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/constants.ts @@ -0,0 +1,4 @@ +export const optimismDomainId = '1869640809' +export const arbitrumDomainId = '1634886255' +export const optimismGoerliDomainId = '1735356532' +export const arbitrumGoerliId = '1734439522' diff --git a/template/integrations/connext/core/connext/utils/index.ts b/template/integrations/connext/core/connext/utils/index.ts new file mode 100644 index 0000000..b42ec99 --- /dev/null +++ b/template/integrations/connext/core/connext/utils/index.ts @@ -0,0 +1,40 @@ +import moment from 'moment' + +import { Asset, Chain } from './types' + +export function formatTimestamp(timestamp: number): string { + const formattedTimestamp = moment(timestamp * 1000).format('MMM D, YYYY h:mm:ss A') + return formattedTimestamp +} + +export function findChain(chains: Chain[], domainId: string): Chain | undefined { + return chains.find((chain) => chain.domain_id === domainId) +} + +export function findAsset(assets: Asset[], transactingAsset: string): Asset | undefined { + return assets.find((asset) => + asset.contracts.some((contract) => { + const contractAddress = contract.contract_address?.toLowerCase() + const nextContractAddress = contract.next_asset?.contract_address?.toLowerCase() + return contractAddress === transactingAsset?.toLowerCase() || nextContractAddress === transactingAsset?.toLowerCase() + }) + ) +} + +export function findDecimals(asset: Asset, transactingAsset: string): number | undefined { + const contract = asset?.contracts.find((contract) => { + const contractAddress = contract.contract_address?.toLowerCase() + const nextContractAddress = contract.next_asset?.contract_address?.toLowerCase() + return contractAddress === transactingAsset?.toLowerCase() || nextContractAddress === transactingAsset?.toLowerCase() + }) + + return contract?.decimals ?? contract?.next_asset?.decimals +} + +export function calculateAmount(amount: string, decimals: number): string { + const amountBigInt = BigInt(amount) + const divisor = BigInt(10) ** BigInt(decimals) + const result = Number(amountBigInt) / Number(divisor) + const formattedResult = result.toFixed(2) + return formattedResult === '0.00' ? '0.00' : formattedResult +} diff --git a/template/integrations/connext/core/connext/utils/types.ts b/template/integrations/connext/core/connext/utils/types.ts new file mode 100644 index 0000000..408b0ea --- /dev/null +++ b/template/integrations/connext/core/connext/utils/types.ts @@ -0,0 +1,53 @@ +export type Contract = { + contract_address: string + chain_id: number + decimals: number + symbol?: string // Change this to be optional + image?: string + wrapable?: boolean + is_bridge?: boolean + next_asset?: { + contract_address: string + decimals: number + symbol: string + image: string + } + mintable?: boolean + is_pool?: boolean +} + +export type Asset = { + id: string + symbol: string + name: string + image: string + is_stablecoin?: boolean + allow_paying_gas?: boolean + contracts: Contract[] + color?: string + exclude_source_chains?: string[] + exclude_destination_chains?: string[] + preset?: boolean + disabled?: boolean +} + +export type Chain = { + domain_id: string + name: string + image: string +} + +export type Transfer = { + transfer_id: string + xcall_timestamp: number + origin_domain: string + origin_transacting_asset: string + origin_local_asset: string + origin_transacting_amount: string + destination_domain: string + destination_transacting_asset: string + destination_local_asset: string + destination_transacting_amount: string + error_status?: string + status?: string +} diff --git a/template/integrations/connext/pages/connext/layout.tsx b/template/integrations/connext/pages/connext/layout.tsx new file mode 100644 index 0000000..b46ba27 --- /dev/null +++ b/template/integrations/connext/pages/connext/layout.tsx @@ -0,0 +1,53 @@ +'use client' +import { ReactNode } from 'react' + +import { motion } from 'framer-motion' +import Image from 'next/image' +import Balancer from 'react-wrap-balancer' + +import { LinkComponent } from '@/components/shared/link-component' +import { FADE_DOWN_ANIMATION_VARIANTS } from '@/config/design' +import { turboIntegrations } from '@/data/turbo-integrations' + +export default function ConnextLayout({ children }: { children: ReactNode }) { + return ( + <> +
+
+
+ + Connext Icon + + Connext + + + Bridge assets directly from your app + + + + + + + +
+
+
+
{children}
+ + ) +} diff --git a/template/integrations/connext/pages/connext/opengraph-image.tsx b/template/integrations/connext/pages/connext/opengraph-image.tsx new file mode 100644 index 0000000..e78ed4f --- /dev/null +++ b/template/integrations/connext/pages/connext/opengraph-image.tsx @@ -0,0 +1,9 @@ +import { IntegrationOgImage } from '@/components/ui/social/og-image-integrations' + +export const runtime = 'edge' +export const size = { + width: 1200, + height: 630, +} + +export default IntegrationOgImage('connext') diff --git a/template/integrations/connext/pages/connext/page.tsx b/template/integrations/connext/pages/connext/page.tsx new file mode 100644 index 0000000..d08130e --- /dev/null +++ b/template/integrations/connext/pages/connext/page.tsx @@ -0,0 +1,23 @@ +'use client' +import { useState } from 'react' + +import { FormConnextXTransfer } from '@/integrations/connext/components/form-connext-xtransfer' +import { LatestTransfers } from '@/integrations/connext/components/latest-transfers' + +export default function ConnextHome() { + const [isMainnet, setIsMainnet] = useState(false) + + return ( +
+
+
+
+ +
+
+ +
+
+
+ ) +} diff --git a/template/integrations/connext/pages/connext/twitter-image.tsx b/template/integrations/connext/pages/connext/twitter-image.tsx new file mode 100644 index 0000000..dbca541 --- /dev/null +++ b/template/integrations/connext/pages/connext/twitter-image.tsx @@ -0,0 +1,9 @@ +import Image from './opengraph-image' + +export const runtime = 'edge' +export const size = { + width: 1200, + height: 630, +} + +export default Image