diff --git a/wallets/prax-extension/.editorconfig b/wallets/prax-extension/.editorconfig new file mode 100644 index 000000000..4a7ea3036 --- /dev/null +++ b/wallets/prax-extension/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/wallets/prax-extension/.eslintignore b/wallets/prax-extension/.eslintignore new file mode 100644 index 000000000..91689c308 --- /dev/null +++ b/wallets/prax-extension/.eslintignore @@ -0,0 +1,7 @@ +node_modules/ +dist/ +main/ +module/ +types/ +coverage/ +/index.ts \ No newline at end of file diff --git a/wallets/prax-extension/.eslintrc.json b/wallets/prax-extension/.eslintrc.json new file mode 100644 index 000000000..d95fc326b --- /dev/null +++ b/wallets/prax-extension/.eslintrc.json @@ -0,0 +1,82 @@ +{ + "plugins": [ + "@typescript-eslint", + "simple-import-sort", + "unused-imports" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + // configures both eslint-plugin-prettier and eslint-config-prettier + "plugin:prettier/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 2020, + "sourceType": "module", + "project": "tsconfig.json" + }, + "env": { + "es6": true, + "browser": true, + "node": true, + "jest": true + }, + "rules": { + "simple-import-sort/imports": 2, + "simple-import-sort/exports": 2, + "prettier/prettier": 2, + "unused-imports/no-unused-imports": 2, + "no-console": 1, + "no-debugger": 2, + "no-alert": 2, + "no-await-in-loop": 0, + "no-prototype-builtins": 0, + "no-return-assign": [ + "error", + "except-parens" + ], + "no-restricted-syntax": [ + 2, + "ForInStatement", + "LabeledStatement", + "WithStatement" + ], + "no-unused-vars": 0, + "@typescript-eslint/no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "React|res|next|^_" + } + ], + "prefer-const": [ + "error", + { + "destructuring": "all" + } + ], + "no-unused-expressions": [ + 2, + { + "allowTaggedTemplates": true + } + ], + "comma-dangle": 0, + "jsx-quotes": [ + 2, + "prefer-double" + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + 2, + "single", + { + "avoidEscape": true, + "allowTemplateLiterals": true + } + ] + } +} \ No newline at end of file diff --git a/wallets/prax-extension/.gitignore b/wallets/prax-extension/.gitignore new file mode 100644 index 000000000..cba0431de --- /dev/null +++ b/wallets/prax-extension/.gitignore @@ -0,0 +1,49 @@ +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# dist +main +module +dist + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# Editors +.idea + +# Lib +lib + +# npm package lock +package-lock.json +yarn.lock + +# others +.DS_Store diff --git a/wallets/prax-extension/.npmignore b/wallets/prax-extension/.npmignore new file mode 100644 index 000000000..cc2605fa8 --- /dev/null +++ b/wallets/prax-extension/.npmignore @@ -0,0 +1,32 @@ +*.log +npm-debug.log* + +# Coverage directory used by tools like istanbul +coverage +.nyc_output + +# Dependency directories +node_modules + +# npm package lock +package-lock.json +yarn.lock + +# project files +__fixtures__ +__tests__ +.babelrc +.babelrc.js +.editorconfig +.eslintignore +.eslintrc +.eslintrc.js +.gitignore +.travis.yml +.vscode +CHANGELOG.md +examples +jest.config.js +package.json +src +test \ No newline at end of file diff --git a/wallets/prax-extension/.npmrc b/wallets/prax-extension/.npmrc new file mode 100644 index 000000000..a21347f1b --- /dev/null +++ b/wallets/prax-extension/.npmrc @@ -0,0 +1 @@ +scripts-prepend-node-path=true \ No newline at end of file diff --git a/wallets/prax-extension/.prettierrc.json b/wallets/prax-extension/.prettierrc.json new file mode 100644 index 000000000..4aa2a0dc9 --- /dev/null +++ b/wallets/prax-extension/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": true, + "singleQuote": true, + "useTabs": false +} \ No newline at end of file diff --git a/wallets/prax-extension/CHANGELOG.md b/wallets/prax-extension/CHANGELOG.md new file mode 100644 index 000000000..e4d87c4d4 --- /dev/null +++ b/wallets/prax-extension/CHANGELOG.md @@ -0,0 +1,4 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. diff --git a/wallets/prax-extension/LICENSE b/wallets/prax-extension/LICENSE new file mode 100644 index 000000000..b3ac161b5 --- /dev/null +++ b/wallets/prax-extension/LICENSE @@ -0,0 +1,33 @@ +The Clear BSD License + +Copyright (c) 2024 Cosmos Kit Contributors +Copyright (c) 2024 Interweb, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted (subject to the limitations in the disclaimer +below) provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY +THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/wallets/prax-extension/README.md b/wallets/prax-extension/README.md new file mode 100644 index 000000000..30153fd08 --- /dev/null +++ b/wallets/prax-extension/README.md @@ -0,0 +1,40 @@ +# @cosmos-kit/prax-extension + +

+ +

+ +

+ + + + + +

+ +Cosmos Kit is a univeral wallet adapter for developers to build apps that quickly and easily interact with Cosmos blockchains and wallets. + +@cosmos-kit/prax-extension is the prax integration for CosmosKit. + +## Related + +Checkout these related projects: + +* [@cosmology/telescope](https://github.com/cosmology-tech/telescope) Your Frontend Companion for Building with TypeScript with Cosmos SDK Modules. +* [@cosmwasm/ts-codegen](https://github.com/CosmWasm/ts-codegen) Convert your CosmWasm smart contracts into dev-friendly TypeScript classes. +* [chain-registry](https://github.com/cosmology-tech/chain-registry) Everything from token symbols, logos, and IBC denominations for all assets you want to support in your application. +* [cosmos-kit](https://github.com/cosmology-tech/cosmos-kit) Experience the convenience of connecting with a variety of web3 wallets through a single, streamlined interface. +* [create-cosmos-app](https://github.com/cosmology-tech/create-cosmos-app) Set up a modern Cosmos app by running one command. +* [interchain-ui](https://github.com/cosmology-tech/interchain-ui) The Interchain Design System, empowering developers with a flexible, easy-to-use UI kit. +* [starship](https://github.com/cosmology-tech/starship) Unified Testing and Development for the Interchain. + +## Credits + +🛠 Built by Cosmology — if you like our tools, please consider delegating to [our validator ⚛️](https://cosmology.zone/validator) + + +## Disclaimer + +AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED “AS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND. + +No developer or entity involved in creating this software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the code, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value. diff --git a/wallets/prax-extension/index.ts b/wallets/prax-extension/index.ts new file mode 100644 index 000000000..deae8cf81 --- /dev/null +++ b/wallets/prax-extension/index.ts @@ -0,0 +1,2 @@ +// not for module, but for local development.. +export * from './src'; \ No newline at end of file diff --git a/wallets/prax-extension/package.json b/wallets/prax-extension/package.json new file mode 100644 index 000000000..adeca1f84 --- /dev/null +++ b/wallets/prax-extension/package.json @@ -0,0 +1,68 @@ +{ + "name": "@cosmos-kit/prax-extension", + "version": "0.0.1", + "description": "cosmos-kit wallet connector for Prax", + "homepage": "https://github.com/cosmology-tech/cosmos-kit#readme", + "license": "SEE LICENSE IN LICENSE", + "type": "module", + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "directories": { + "lib": "src", + "test": "__tests__" + }, + "files": [ + "dist", + "!CHANGELOG.md", + "!LICENSE" + ], + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsup src/index.ts --dts --format esm,cjs", + "prepare": "npm run build", + "lint": "eslint --ext .tsx,.ts .", + "format": "eslint --ext .tsx,.ts --fix ." + }, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/index.cjs", + "import": "./dist/index.js" + } + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/cosmology-tech/cosmos-kit" + }, + "keywords": [ + "cosmos-kit", + "cosmos", + "prax", + "wallet" + ], + "bugs": { + "url": "https://github.com/cosmology-tech/cosmos-kit/issues" + }, + "dependencies": { + "@chain-registry/keplr": "1.68.2", + "@cosmos-kit/core": "^2.13.1" + }, + "devDependencies": { + "@bufbuild/protobuf": "^1.10.0", + "@connectrpc/connect": "^1.4.0", + "@penumbra-zone/bech32m": "^7.0.0", + "@penumbra-zone/client": "^18.1.0", + "@penumbra-zone/protobuf": "^6.0.0", + "@penumbra-zone/transport-dom": "^7.5.0", + "tsup": "^8.2.4" + }, + "peerDependencies": { + "@cosmjs/amino": ">=0.32.3", + "@cosmjs/proto-signing": ">=0.32.3" + }, + "gitHead": "2b5f2de5d9ed1580be4137736dfc6cce779679d1" +} diff --git a/wallets/prax-extension/src/constant.ts b/wallets/prax-extension/src/constant.ts new file mode 100644 index 000000000..c36886da9 --- /dev/null +++ b/wallets/prax-extension/src/constant.ts @@ -0,0 +1,6 @@ +export const PRAX_ORIGIN = new URL( + 'chrome-extension://lkpmkhpnhknhmibgnmmhdhgdilepfghe' +).origin; + +export const ICON = + 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNjAwIDYwMCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXItZ3JhZGllbnQpOwogICAgICAgIHN0cm9rZS13aWR0aDogMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQiIHgxPSIxMzcuNzIiIHkxPSI0NDUuMzciIHgyPSIzNjYuOTYiIHkyPSIxMzguMTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIuMTYiIHN0b3AtY29sb3I9IiNmZjkwMmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuMzgiIHN0b3AtY29sb3I9IiNkMmIwNmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNTkiIHN0b3AtY29sb3I9IiNhY2NjYTgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNzUiIHN0b3AtY29sb3I9IiM5NGRkY2IiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuODQiIHN0b3AtY29sb3I9IiM4YmU0ZDkiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIwMy45NywyMjEuODZjMTMuNDUtNC4zNCwyNC4wMS0xMC4zOCwzMS4zOC0xNy45Nyw2LjUyLTYuNzEsMTEuMDUtMTQuODMsMTQuMjUtMjUuNTQsMy4zNi0xMS4yNyw1LTI0Ljc3LDUtNDEuMjl2LTI1LjM5aC0zNS4yNnYzMy4yMmMwLDguMzgtLjg2LDE1LjMzLTIuNjIsMjEuMjMtMS44Miw2LjA4LTQuNDUsMTAuNzUtOC4yOCwxNC43LTQuMjIsNC4zNC0xMC4wOCw3Ljc0LTE3LjQzLDEwLjExLTguOTgsMi45LTIwLjM5LDQuMzYtMzMuOTEsNC4zNmgtODguMjh2MzUuMmg2Ny4wNGMyNy40MiwwLDUwLjM0LTIuOTEsNjguMTEtOC42NVpNMTg4LjIsMTgyLjIzYzUuOTEtMS45MSwxMC41MS00LjUzLDEzLjY4LTcuNzgsMi43Ni0yLjg0LDQuNy02LjMyLDYuMDctMTAuOTQsMS41LTUuMDQsMi4yMy0xMS4xMywyLjIzLTE4LjYxdi0zMy4yMmgtMzUuODF2MzIuMTFjMCwxLjQtLjE2LDIuNjEtLjQ4LDMuNy0uNCwxLjM1LTEuMDQsMi40Ny0xLjk2LDMuNDEtLjk2Ljk5LTIuMjIsMS43NS0zLjc0LDIuMjQtMS40OC40OC0zLjI2LjcyLTUuMzEuNzJoLTk0LjA3djMyLjNoODguMjhjMTIuNTcsMCwyMy4wMy0xLjMyLDMxLjEtMy45MlpNMTYyLjksNDA4LjQ5aC05NC4wN3YzMi41NGg1OC44NXY0Ny4zaDM3LjU2di03OC45MmMwLS4zLS4wMS0uNTMtLjAzLS43LS4zOC0uMS0xLjEtLjIyLTIuMzEtLjIyWk00MDEsMTc0LjQ1YzMuMTcsMy4yNiw3Ljc3LDUuODgsMTMuNjgsNy43OCw4LjA3LDIuNiwxOC41MywzLjkyLDMxLjEsMy45Mmg2Ny4wMWMtNS4yNi05LjkyLTExLjYzLTE4Ljc5LTE5LjMxLTI2LjY5LTEuODgtMS45My0zLjgzLTMuOC01Ljg3LTUuNjJoLTQ3LjYyYy0yLjA0LDAtMy44Mi0uMjQtNS4zLS43Mi0xLjUyLS40OS0yLjc4LTEuMjUtMy43NS0yLjI0LS45Mi0uOTQtMS41Ni0yLjA2LTEuOTYtMy40Mi0uMzItMS4wOC0uNDgtMi4yOS0uNDgtMy42OXYtMjAuOTJjLTEwLjk1LTMuMTctMjIuOTEtNS42Ni0zNS44MS03LjQ5djI5LjUyYzAsNy40OC43MywxMy41NywyLjIzLDE4LjYxLDEuMzgsNC42MiwzLjMxLDguMDksNi4wOCwxMC45NFpNMjAxLjg4LDM3OC43NGMtMy4xNy0zLjI2LTcuNzctNS44OC0xMy42OC03Ljc4LTguMDctMi42LTE4LjUzLTMuOTItMzEuMS0zLjkyaC04OC4yOHYzMi4zaDk0LjA3YzIuMDUsMCwzLjgzLjI0LDUuMzEuNzIsMS41LjQ4LDIuNzYsMS4yMywzLjczLDIuMjMuOTIuOTUsMS41NiwyLjA3LDEuOTcsMy40My4zMiwxLjA3LjQ4LDIuMjguNDgsMy42OXY3OC45MmgzNS44MXYtODAuMDNjMC03LjQ4LS43My0xMy41Ny0yLjIzLTE4LjYyLTEuMzgtNC42Mi0zLjMxLTguMDktNi4wNy0xMC45NFpNMTY1LjIsMTQ0LjQ5Yy4wMi0uMTcuMDMtLjQuMDMtLjd2LTMyLjExaC05Ni40MXYzMy4wM2g5NC4wN2MxLjIsMCwxLjkyLS4xMiwyLjMxLS4yMlpNNDM5Ljk4LDE0NC43MWgzNS45N2MtMTEuMDQtNy42Ny0yMy44NS0xNC4wMS0zOC4zMS0xOC45NnYxOC4wNGMwLC4zLjAxLjUzLjAzLjcuMzguMSwxLjExLjIyLDIuMzEuMjJaTTM2NS4zOCwyMDMuOWM3LjM3LDcuNTgsMTcuOTMsMTMuNjMsMzEuMzgsMTcuOTcsMTcuNzcsNS43Myw0MC42OSw4LjY0LDY4LjExLDguNjRoNjIuNjVjLTEuMi02LjY4LTIuNjgtMTMuMDYtNC40OS0xOS4xMi0xLjY5LTUuNjUtMy42NS0xMC45OS01Ljg1LTE2LjA4aC03MS40MmMtMTMuNTIsMC0yNC45My0xLjQ3LTMzLjkxLTQuMzYtNy4zNS0yLjM3LTEzLjIxLTUuNzctMTcuNDMtMTAuMTEtMy44My0zLjk0LTYuNDYtOC42MS04LjI4LTE0LjctMS43Ni01LjktMi42Mi0xMi44NS0yLjYyLTIxLjIzdi0zMC43Yy0xMS43NS0xLjMzLTI0LjI0LTIuMTMtMzcuNC0yLjR2MjUuMjdjMCwxNi41MiwxLjYzLDMwLjAzLDUsNDEuMywzLjIsMTAuNzEsNy43MiwxOC44MiwxNC4yNSwyNS41M1pNNjguODIsNDg4LjMzaDQ5Ljcxdi0zOC4xNWgtNDkuNzF2MzguMTVaTTQxNC43NSwzNzAuOTZjLTUuOTEsMS45MS0xMC41MSw0LjUzLTEzLjY3LDcuNzgtMi43NywyLjg1LTQuNyw2LjMyLTYuMDgsMTAuOTQtMS41LDUuMDQtMi4yMywxMS4xMy0yLjIzLDE4LjYxdjI4Ljg4YzEyLjktMS44MywyNC44Ni00LjMzLDM1LjgtNy41di0yMC4yN2MwLTEuNC4xNi0yLjYxLjQ4LTMuNy40MS0xLjM2LDEuMDUtMi40OCwxLjk3LTMuNDIuOTctLjk5LDIuMjItMS43NCwzLjczLTIuMjMsMS40Ny0uNDgsMy4yNi0uNzIsNS4zLS43Mmg0Ni44MWMyLjMtMi4wMSw0LjUtNC4wOSw2LjYtNi4yNSw3LjUyLTcuNzMsMTMuNzgtMTYuMzksMTguOTgtMjYuMDZoLTY2LjU5Yy0xMi41NywwLTIzLjAzLDEuMzItMzEuMSwzLjkyWk00MzcuNzUsNDA4LjcxYy0uMDIuMTctLjAzLjQtLjAzLjd2MTcuMzhjMTQuMDMtNC44MSwyNi41Mi0xMC45MywzNy4zMy0xOC4zaC0zNC45OWMtMS4yLDAtMS45Mi4xMi0yLjMxLjIyWk0zOTYuODUsMzMxLjMzYy0xMy40NSw0LjM0LTI0LjAxLDEwLjM5LTMxLjM4LDE3Ljk3LTYuNTIsNi43MS0xMS4wNSwxNC44My0xNC4yNSwyNS41My0zLjM2LDExLjI3LTUsMjQuNzgtNSw0MS4zdjI0LjY0YzEzLjE2LS4yOCwyNS42NS0xLjA4LDM3LjQtMi40MXYtMzAuMDZjMC04LjM4Ljg2LTE1LjMzLDIuNjEtMjEuMjMsMS44Mi02LjA5LDQuNDUtMTAuNzYsOC4yOC0xNC43LDQuMjItNC4zNCwxMC4wOC03Ljc0LDE3LjQyLTEwLjExLDguOTgtMi45LDIwLjM5LTQuMzYsMzMuOTEtNC4zNmg3MS4wNGMyLjMxLTUuMjksNC4zOC0xMC44Myw2LjEzLTE2LjcxLDEuNzUtNS44NywzLjE4LTEyLjA0LDQuMzctMTguNDloLTYyLjQ1Yy0yNy40MiwwLTUwLjMzLDIuOTEtNjguMTEsOC42NFpNMzg0LjEyLDI5MS41NGMtMTkuOTEsNi40My0zNi4xNCwxNi00OC4yNSwyOC40NS0xMS4xNywxMS40OS0xOS4wOCwyNS4zOC0yNC4xNyw0Mi40NS00LjUxLDE1LjEyLTYuNzEsMzIuNDYtNi43MSw1Mi45OXYyNS40NmgzMC43M2MuNDMsMCwuODUsMCwxLjI4LDB2LTI1LjQ0YzAtMTcuNCwxLjc2LTMxLjc0LDUuMzgtNDMuODUsMy42My0xMi4xOCw4Ljg2LTIxLjQ5LDE2LjQ1LTI5LjMsOC40Mi04LjY2LDIwLjI0LTE1LjQ5LDM1LjEzLTIwLjMsMTguNjctNi4wMyw0Mi41My05LjA4LDcwLjkxLTkuMDhoNjQuMDljMS4zMy05LjkyLDIuMDYtMjAuNTYsMi4yMi0zMi4wMWgtNjYuMzFjLTMxLjcyLDAtNTguODksMy41OC04MC43NSwxMC42M1pNMzM1Ljg3LDIzMi41OGMxMi4xLDEyLjQ1LDI4LjM0LDIyLjAyLDQ4LjI1LDI4LjQ1LDIxLjg2LDcuMDYsNDkuMDMsMTAuNjMsODAuNzUsMTAuNjNoMHM2Ni4zMSwwLDY2LjMxLDBjLS4xNi0xMS40NS0uODgtMjIuMS0yLjIyLTMyLjAxaC02NC4wOWMtMjguMzcsMC01Mi4yMy0zLjA2LTcwLjkxLTkuMDgtMTQuODktNC44MS0yNi43MS0xMS42NC0zNS4xMy0yMC4zLTcuNTktNy44MS0xMi44Mi0xNy4xMi0xNi40NS0yOS4yOS0zLjYyLTEyLjEzLTUuMzgtMjYuNS01LjM4LTQzLjkxdi0yNS4zOGMtLjQzLDAtLjg1LDAtMS4yOCwwaC0zMC43M3YyNS4zOWgwYzAsMjAuNTcsMi4yLDM3LjkyLDYuNzIsNTMuMDcsNS4xLDE3LjA4LDEzLDMwLjk2LDI0LjE3LDQyLjQ1Wk0yNjQuODYsMzE5Ljk5Yy0xMi4xLTEyLjQ1LTI4LjM0LTIyLjAyLTQ4LjI1LTI4LjQ1LTIxLjg2LTcuMDYtNDkuMDMtMTAuNjMtODAuNzUtMTAuNjNoLTY3LjA0djMyLjAxaDY3LjA0YzI3LjA2LDAsNTAsMi43OSw2OC4yNyw4LjI3LDEuNjMuNDYsMy4yMy45Myw0Ljc5LDEuNDQsMTQuODksNC44MSwyNi43MSwxMS42NCwzNS4xMywyMC4zLDcuNTksNy44MSwxMi44MiwxNy4xMiwxNi40NSwyOS4yOSwzLjYyLDEyLjEzLDUuMzgsMjYuNSw1LjM4LDQzLjkxdjcyLjJoMjkuODd2LTcyLjgyYzAtMjAuNTctMi4yLTM3LjkyLTYuNzEtNTMuMDYtNS4xLTE3LjA4LTEzLTMwLjk2LTI0LjE3LTQyLjQ1Wk0yMzUuMzUsMzQ4LjY3Yy03LjM3LTcuNTgtMTcuOTMtMTMuNjMtMzEuMzgtMTcuOTctLjgzLS4yNy0xLjY4LS41Mi0yLjUyLS43OC0xNy4wNi00LjgtMzguMzUtNy4yNC02My40NC03LjI0aC02OS4xOHYzNS4yaDg4LjI4YzEzLjUyLDAsMjQuOTMsMS40NywzMy45MSw0LjM2LDcuMzUsMi4zNywxMy4yMSw1Ljc3LDE3LjQzLDEwLjExLDMuODMsMy45NCw2LjQ2LDguNjEsOC4yOCwxNC43LDEuNzYsNS45MSwyLjYyLDEyLjg1LDIuNjIsMjEuMjN2ODAuMDNoMzUuMjZ2LTcyLjgyYzAtMTYuNTItMS42My0zMC4wMy01LTQxLjMtMy4yLTEwLjcxLTcuNzItMTguODItMTQuMjUtMjUuNTNaTTI5NS43NSwxMTEuNjdoLTI5Ljg3djI1LjM5YzAsMTcuNDItMS43NiwzMS43OC01LjM4LDQzLjkxLTMuNjQsMTIuMTgtOC44NiwyMS40OC0xNi40NSwyOS4yOS04LjQyLDguNjYtMjAuMjQsMTUuNDktMzUuMTMsMjAuMy0xOC42OCw2LjAzLTQyLjU0LDkuMDgtNzAuOTIsOS4wOGgtNjkuMTh2MzIuMDFoNjcuMDRjMzEuNzIsMCw1OC44OS0zLjU4LDgwLjc1LTEwLjYzLDE5LjkxLTYuNDMsMzYuMTQtMTYsNDguMjUtMjguNDUsMTEuMTctMTEuNDksMTkuMDgtMjUuMzgsMjQuMTctNDIuNDUsNC41Mi0xNS4xNCw2LjcyLTMyLjUsNi43Mi01My4wN2gwdi0yNS4zOVoiLz4KPC9zdmc+'; diff --git a/wallets/prax-extension/src/extension/chain-wallet.ts b/wallets/prax-extension/src/extension/chain-wallet.ts new file mode 100644 index 000000000..e3e5d39f3 --- /dev/null +++ b/wallets/prax-extension/src/extension/chain-wallet.ts @@ -0,0 +1,7 @@ +import { ChainRecord, ChainWalletBase, Wallet } from '@cosmos-kit/core'; + +export class ChainPraxExtension extends ChainWalletBase { + constructor(walletInfo: Wallet, chainInfo: ChainRecord) { + super(walletInfo, chainInfo); + } +} diff --git a/wallets/prax-extension/src/extension/client.ts b/wallets/prax-extension/src/extension/client.ts new file mode 100644 index 000000000..437539fad --- /dev/null +++ b/wallets/prax-extension/src/extension/client.ts @@ -0,0 +1,77 @@ +import { WalletClient } from '@cosmos-kit/core'; +import { bech32mAddress } from '@penumbra-zone/bech32m/penumbra'; +import { PenumbraClient } from '@penumbra-zone/client'; +import { ViewService } from '@penumbra-zone/protobuf'; + +export class PraxClient implements WalletClient { + readonly client: PenumbraClient; + + constructor(client: PenumbraClient) { + this.client = client; + } + + /** Request the connection to Prax */ + async enable() { + await this.client.connect(); + } + + /** Request the connection to Prax */ + async connect() { + await this.client.connect(); + } + + /** Make Prax forget the connection to the connected origin */ + async disconnect() { + await this.client.disconnect(); + } + + private async getAccountInfo(): Promise<{ + chainId: string; + address: string; + }> { + const viewService = this.client.service(ViewService); + + const [appParameters, address] = await Promise.all([ + viewService.appParameters({}), + viewService.ephemeralAddress({ addressIndex: { account: 0 } }), + ]); + + if (!appParameters.parameters?.chainId || !address.address) { + throw new Error('Account info not found'); + } + + return { + chainId: appParameters.parameters.chainId, + address: bech32mAddress(address.address), + }; + } + + /** Get ephemeral Penumbra address and the chainId that is connected to Prax */ + async getSimpleAccount() { + await this.enable(); + + const { address, chainId } = await this.getAccountInfo(); + + return { + namespace: 'cosmos', + chainId, + address, + }; + } + + /** Subscribe to Prax connection state change */ + on( + type: 'penumbrastate', + listener: EventListenerOrEventListenerObject + ): void { + this.client.provider.addEventListener(type, listener); + } + + /** Unsubscribe from Prax connection state change */ + off( + type: 'penumbrastate', + listener: EventListenerOrEventListenerObject + ): void { + this.client.provider.removeEventListener(type, listener); + } +} diff --git a/wallets/prax-extension/src/extension/index.ts b/wallets/prax-extension/src/extension/index.ts new file mode 100644 index 000000000..8f1ba7bc0 --- /dev/null +++ b/wallets/prax-extension/src/extension/index.ts @@ -0,0 +1,3 @@ +export * from './chain-wallet.js'; +export * from './main-wallet.js'; +export * from './registry.js'; diff --git a/wallets/prax-extension/src/extension/main-wallet.ts b/wallets/prax-extension/src/extension/main-wallet.ts new file mode 100644 index 000000000..3f5ff2d3f --- /dev/null +++ b/wallets/prax-extension/src/extension/main-wallet.ts @@ -0,0 +1,25 @@ +import { Wallet } from '@cosmos-kit/core'; +import { MainWalletBase } from '@cosmos-kit/core'; +import { createPenumbraClient } from '@penumbra-zone/client'; + +import { PRAX_ORIGIN } from '../constant.js'; +import { ChainPraxExtension } from './chain-wallet.js'; +import { PraxClient } from './client.js'; + +export class PraxExtensionWallet extends MainWalletBase { + constructor(walletInfo: Wallet) { + super(walletInfo, ChainPraxExtension); + } + + async initClient() { + this.initingClient(); + try { + const penumbra = createPenumbraClient(); + await penumbra.attach(PRAX_ORIGIN); + + this.initClientDone(new PraxClient(penumbra)); + } catch (error) { + this.initClientError(error); + } + } +} diff --git a/wallets/prax-extension/src/extension/registry.ts b/wallets/prax-extension/src/extension/registry.ts new file mode 100644 index 000000000..83a7ac623 --- /dev/null +++ b/wallets/prax-extension/src/extension/registry.ts @@ -0,0 +1,24 @@ +import { Wallet } from '@cosmos-kit/core'; + +import { ICON } from '../constant.js'; + +export const praxExtensionInfo: Wallet = { + name: 'prax-extension', + prettyName: 'Prax', + logo: ICON, + mode: 'extension', + mobileDisabled: true, + rejectMessage: { + source: 'Request rejected', + }, + downloads: [ + { + device: 'desktop', + browser: 'chrome', + link: 'https://chromewebstore.google.com/detail/prax-wallet/lkpmkhpnhknhmibgnmmhdhgdilepfghe', + }, + { + link: 'https://chromewebstore.google.com/detail/prax-wallet/lkpmkhpnhknhmibgnmmhdhgdilepfghe', + }, + ], +}; diff --git a/wallets/prax-extension/src/index.ts b/wallets/prax-extension/src/index.ts new file mode 100644 index 000000000..dc96cbb5a --- /dev/null +++ b/wallets/prax-extension/src/index.ts @@ -0,0 +1,2 @@ +export * from './extension/index.js'; +export * from './prax.js'; diff --git a/wallets/prax-extension/src/prax.ts b/wallets/prax-extension/src/prax.ts new file mode 100644 index 000000000..cb5eb9263 --- /dev/null +++ b/wallets/prax-extension/src/prax.ts @@ -0,0 +1,5 @@ +import { praxExtensionInfo, PraxExtensionWallet } from './extension/index.js'; + +const praxExtension = new PraxExtensionWallet(praxExtensionInfo); + +export const wallets = [praxExtension]; diff --git a/wallets/prax-extension/tsconfig.json b/wallets/prax-extension/tsconfig.json new file mode 100644 index 000000000..68d072e6b --- /dev/null +++ b/wallets/prax-extension/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "module": "NodeNext", + "moduleResolution": "nodenext" + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] +} diff --git a/yarn.lock b/yarn.lock index d7b958f20..b9b007369 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1142,6 +1142,11 @@ resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz#923ca57e173c6b232bbbb07347b1be982f03e783" integrity sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A== +"@bufbuild/protobuf@1.10.0", "@bufbuild/protobuf@^1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.10.0.tgz#1a67ac889c2d464a3492b3e54c38f80517963b16" + integrity sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag== + "@celo/base@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@celo/base/-/base-3.2.0.tgz#19dcff6a822abb1f6b57af8f9db35a4c673aee62" @@ -1225,6 +1230,16 @@ "@noble/hashes" "^1.0.0" protobufjs "^6.8.8" +"@connectrpc/connect@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@connectrpc/connect/-/connect-1.4.0.tgz#4a987d6c9fc78ea61bce7d19e27b2de4d14c658f" + integrity sha512-vZeOkKaAjyV4+RH3+rJZIfDFJAfr+7fyYr6sLDKbYX3uuTVszhFe9/YKf5DNqrDb5cKdKVlYkGn6DTDqMitAnA== + +"@connectrpc/connect@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@connectrpc/connect/-/connect-1.5.0.tgz#5877336746c99f2d6cbdc11c77ff9bdfd2187883" + integrity sha512-1gGg0M6c2Y3lnr5itis9dNj9r8hbOIuBMqoGSbUy7L7Vjw4MAttjJzJfj9HCDgytGCJkGanYEYI6MQVDijdVQw== + "@cosmjs/amino@0.28.13": version "0.28.13" resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.28.13.tgz#b51417a23c1ff8ef8b85a6862eba8492c6c44f38" @@ -2026,6 +2041,126 @@ resolved "https://registry.yarnpkg.com/@endo/env-options/-/env-options-0.1.4.tgz#e516bc3864f00b154944e444fb8996a9a0c23a45" integrity sha512-Ol8ct0aW8VK1ZaqntnUJfrYT59P6Xn36XPbHzkqQhsYkpudKDn5ILYEwGmSO/Ff+XJjv/pReNI0lhOyyrDa9mg== +"@esbuild/aix-ppc64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz#51299374de171dbd80bb7d838e1cfce9af36f353" + integrity sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ== + +"@esbuild/android-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz#58565291a1fe548638adb9c584237449e5e14018" + integrity sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw== + +"@esbuild/android-arm@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.23.1.tgz#5eb8c652d4c82a2421e3395b808e6d9c42c862ee" + integrity sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ== + +"@esbuild/android-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.23.1.tgz#ae19d665d2f06f0f48a6ac9a224b3f672e65d517" + integrity sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg== + +"@esbuild/darwin-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz#05b17f91a87e557b468a9c75e9d85ab10c121b16" + integrity sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q== + +"@esbuild/darwin-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz#c58353b982f4e04f0d022284b8ba2733f5ff0931" + integrity sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw== + +"@esbuild/freebsd-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz#f9220dc65f80f03635e1ef96cfad5da1f446f3bc" + integrity sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA== + +"@esbuild/freebsd-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz#69bd8511fa013b59f0226d1609ac43f7ce489730" + integrity sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g== + +"@esbuild/linux-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz#8050af6d51ddb388c75653ef9871f5ccd8f12383" + integrity sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g== + +"@esbuild/linux-arm@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz#ecaabd1c23b701070484990db9a82f382f99e771" + integrity sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ== + +"@esbuild/linux-ia32@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz#3ed2273214178109741c09bd0687098a0243b333" + integrity sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ== + +"@esbuild/linux-loong64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz#a0fdf440b5485c81b0fbb316b08933d217f5d3ac" + integrity sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw== + +"@esbuild/linux-mips64el@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz#e11a2806346db8375b18f5e104c5a9d4e81807f6" + integrity sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q== + +"@esbuild/linux-ppc64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz#06a2744c5eaf562b1a90937855b4d6cf7c75ec96" + integrity sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw== + +"@esbuild/linux-riscv64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz#65b46a2892fc0d1af4ba342af3fe0fa4a8fe08e7" + integrity sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA== + +"@esbuild/linux-s390x@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz#e71ea18c70c3f604e241d16e4e5ab193a9785d6f" + integrity sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw== + +"@esbuild/linux-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz#d47f97391e80690d4dfe811a2e7d6927ad9eed24" + integrity sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ== + +"@esbuild/netbsd-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz#44e743c9778d57a8ace4b72f3c6b839a3b74a653" + integrity sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA== + +"@esbuild/openbsd-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz#05c5a1faf67b9881834758c69f3e51b7dee015d7" + integrity sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q== + +"@esbuild/openbsd-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz#2e58ae511bacf67d19f9f2dcd9e8c5a93f00c273" + integrity sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA== + +"@esbuild/sunos-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz#adb022b959d18d3389ac70769cef5a03d3abd403" + integrity sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA== + +"@esbuild/win32-arm64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz#84906f50c212b72ec360f48461d43202f4c8b9a2" + integrity sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A== + +"@esbuild/win32-ia32@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz#5e3eacc515820ff729e90d0cb463183128e82fac" + integrity sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ== + +"@esbuild/win32-x64@0.23.1": + version "0.23.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz#81fd50d11e2c32b2d6241470e3185b70c7b30699" + integrity sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg== + "@eslint/eslintrc@^1.3.2": version "1.4.1" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz" @@ -4117,6 +4252,31 @@ "@parcel/watcher-win32-ia32" "2.4.1" "@parcel/watcher-win32-x64" "2.4.1" +"@penumbra-zone/bech32m@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@penumbra-zone/bech32m/-/bech32m-7.0.0.tgz#c4bb05f03f586eda033eb07c1fc55ae699e2b78e" + integrity sha512-OqSH4G8pQ/mjy/7EfS9KlxF8Pdr3h/Ib8ZDOjDyQJB4/L+ZYkK3bWFGrFpAI8XDoc0phoMXkL77fZEpR18JoAg== + dependencies: + bech32 "^2.0.0" + +"@penumbra-zone/client@^18.1.0": + version "18.1.0" + resolved "https://registry.yarnpkg.com/@penumbra-zone/client/-/client-18.1.0.tgz#d4684acb75cc7c1217406c9030d60f31129e5449" + integrity sha512-khXFquqIpDmXUCwQpP6RfYQnkNI4ekDqz+SP/XCo+7W1xHKJiApXnHDKBA/VsOZ1Q/qGak/R1xfq6z9aV58xSA== + +"@penumbra-zone/protobuf@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@penumbra-zone/protobuf/-/protobuf-6.0.0.tgz#0badff30826b3013afa2121ea3c5a68bfe97d245" + integrity sha512-x+g2plwEnYwzB692oAIzA9yzqcbsJt1f1lYmPNJpWOqNA9wC3OPDOfzQa7rgP4v6+KNd5IbRfRNyGPd/6zxYNg== + +"@penumbra-zone/transport-dom@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@penumbra-zone/transport-dom/-/transport-dom-7.5.0.tgz#428488f893e99b5207213ae6f218e31bab5cc938" + integrity sha512-8xFIEDeXODl18AITfiIrJJoE8Y6y/+apO+BhrqCmXP+yqGo8LBzcW3iWDQkOc6Go2c1MGJT97B25r079Km1kuA== + dependencies: + "@bufbuild/protobuf" "1.10.0" + "@connectrpc/connect" "1.4.0" + "@phosphor-icons/react@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@phosphor-icons/react/-/react-2.1.5.tgz#762c368778a4040d52c5532b8af1692b66e16783" @@ -5727,6 +5887,86 @@ uncontrollable "^8.0.1" warning "^4.0.3" +"@rollup/rollup-android-arm-eabi@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz#155c7d82c1b36c3ad84d9adf9b3cd520cba81a0f" + integrity sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg== + +"@rollup/rollup-android-arm64@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz#b94b6fa002bd94a9cbd8f9e47e23b25e5bd113ba" + integrity sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g== + +"@rollup/rollup-darwin-arm64@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz#0934126cf9cbeadfe0eb7471ab5d1517e8cd8dcc" + integrity sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ== + +"@rollup/rollup-darwin-x64@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz#0ce8e1e0f349778938c7c90e4bdc730640e0a13e" + integrity sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA== + +"@rollup/rollup-linux-arm-gnueabihf@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz#5669d34775ad5d71e4f29ade99d0ff4df523afb6" + integrity sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g== + +"@rollup/rollup-linux-arm-musleabihf@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz#f6d1a0e1da4061370cb2f4244fbdd727c806dd88" + integrity sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA== + +"@rollup/rollup-linux-arm64-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz#ed96a05e99743dee4d23cc4913fc6e01a0089c88" + integrity sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw== + +"@rollup/rollup-linux-arm64-musl@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz#057ea26eaa7e537a06ded617d23d57eab3cecb58" + integrity sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz#6e6e1f9404c9bf3fbd7d51cd11cd288a9a2843aa" + integrity sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw== + +"@rollup/rollup-linux-riscv64-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz#eef1536a53f6e6658a2a778130e6b1a4a41cb439" + integrity sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ== + +"@rollup/rollup-linux-s390x-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz#2b28fb89ca084efaf8086f435025d96b4a966957" + integrity sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg== + +"@rollup/rollup-linux-x64-gnu@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz#5226cde6c6b495b04a3392c1d2c572844e42f06b" + integrity sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g== + +"@rollup/rollup-linux-x64-musl@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz#2c2412982e6c2a00a2ecac6d548ebb02f0aa6ca4" + integrity sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg== + +"@rollup/rollup-win32-arm64-msvc@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz#fbb6ef5379199e2ec0103ef32877b0985c773a55" + integrity sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q== + +"@rollup/rollup-win32-ia32-msvc@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz#d50e2082e147e24d87fe34abbf6246525ec3845a" + integrity sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA== + +"@rollup/rollup-win32-x64-msvc@4.21.3": + version "4.21.3" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz#4115233aa1bd5a2060214f96d8511f6247093212" + integrity sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA== + "@scure/base@^1.1.3", "@scure/base@~1.1.0", "@scure/base@~1.1.4": version "1.1.6" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.6.tgz#8ce5d304b436e4c84f896e0550c83e4d88cb917d" @@ -6419,7 +6659,7 @@ dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@^1.0.0": +"@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.0": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== @@ -8082,6 +8322,13 @@ builtins@^5.0.0: dependencies: semver "^7.0.0" +bundle-require@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-5.0.0.tgz#071521bdea6534495cf23e92a83f889f91729e93" + integrity sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w== + dependencies: + load-tsconfig "^0.2.3" + busboy@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" @@ -8094,6 +8341,11 @@ byte-size@8.1.1: resolved "https://registry.npmjs.org/byte-size/-/byte-size-8.1.1.tgz" integrity sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg== +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + cacache@^16.1.0: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" @@ -9337,6 +9589,13 @@ debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, d dependencies: ms "2.1.2" +debug@^4.3.5: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" @@ -9795,6 +10054,36 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +esbuild@^0.23.0: + version "0.23.1" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.23.1.tgz#40fdc3f9265ec0beae6f59824ade1bd3d3d2dab8" + integrity sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg== + optionalDependencies: + "@esbuild/aix-ppc64" "0.23.1" + "@esbuild/android-arm" "0.23.1" + "@esbuild/android-arm64" "0.23.1" + "@esbuild/android-x64" "0.23.1" + "@esbuild/darwin-arm64" "0.23.1" + "@esbuild/darwin-x64" "0.23.1" + "@esbuild/freebsd-arm64" "0.23.1" + "@esbuild/freebsd-x64" "0.23.1" + "@esbuild/linux-arm" "0.23.1" + "@esbuild/linux-arm64" "0.23.1" + "@esbuild/linux-ia32" "0.23.1" + "@esbuild/linux-loong64" "0.23.1" + "@esbuild/linux-mips64el" "0.23.1" + "@esbuild/linux-ppc64" "0.23.1" + "@esbuild/linux-riscv64" "0.23.1" + "@esbuild/linux-s390x" "0.23.1" + "@esbuild/linux-x64" "0.23.1" + "@esbuild/netbsd-x64" "0.23.1" + "@esbuild/openbsd-arm64" "0.23.1" + "@esbuild/openbsd-x64" "0.23.1" + "@esbuild/sunos-x64" "0.23.1" + "@esbuild/win32-arm64" "0.23.1" + "@esbuild/win32-ia32" "0.23.1" + "@esbuild/win32-x64" "0.23.1" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" @@ -10224,7 +10513,7 @@ execa@^0.8.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^5.0.0: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -12367,6 +12656,11 @@ jiti@^1.18.2, jiti@^1.21.0: resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== +joycon@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" + integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== + js-base64@^3.6.0: version "3.7.5" resolved "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz" @@ -12785,6 +13079,11 @@ lilconfig@^3.0.0: resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== +lilconfig@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" @@ -12864,6 +13163,11 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +load-tsconfig@^0.2.3: + version "0.2.5" + resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" + integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg== + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" @@ -12921,6 +13225,11 @@ lodash.merge@^4.6.2: resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.3.0: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" @@ -14118,7 +14427,7 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.0.0: +ms@^2.0.0, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -15142,6 +15451,11 @@ picocolors@^1.0.0: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" @@ -15257,6 +15571,13 @@ postcss-load-config@^4.0.1: lilconfig "^3.0.0" yaml "^2.3.4" +postcss-load-config@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-6.0.1.tgz#6fd7dcd8ae89badcf1b2d644489cbabf83aa8096" + integrity sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g== + dependencies: + lilconfig "^3.1.1" + postcss-nested@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" @@ -16266,6 +16587,31 @@ robust-predicates@^3.0.0: resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz" integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== +rollup@^4.19.0: + version "4.21.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.21.3.tgz#c64ba119e6aeb913798a6f7eef2780a0df5a0821" + integrity sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.21.3" + "@rollup/rollup-android-arm64" "4.21.3" + "@rollup/rollup-darwin-arm64" "4.21.3" + "@rollup/rollup-darwin-x64" "4.21.3" + "@rollup/rollup-linux-arm-gnueabihf" "4.21.3" + "@rollup/rollup-linux-arm-musleabihf" "4.21.3" + "@rollup/rollup-linux-arm64-gnu" "4.21.3" + "@rollup/rollup-linux-arm64-musl" "4.21.3" + "@rollup/rollup-linux-powerpc64le-gnu" "4.21.3" + "@rollup/rollup-linux-riscv64-gnu" "4.21.3" + "@rollup/rollup-linux-s390x-gnu" "4.21.3" + "@rollup/rollup-linux-x64-gnu" "4.21.3" + "@rollup/rollup-linux-x64-musl" "4.21.3" + "@rollup/rollup-win32-arm64-msvc" "4.21.3" + "@rollup/rollup-win32-ia32-msvc" "4.21.3" + "@rollup/rollup-win32-x64-msvc" "4.21.3" + fsevents "~2.3.2" + rpc-websockets@^7.5.1: version "7.9.0" resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.9.0.tgz#a3938e16d6f134a3999fdfac422a503731bf8973" @@ -16692,6 +17038,13 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" +source-map@0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" @@ -17023,7 +17376,7 @@ stylis@^4.1.3: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== -sucrase@^3.32.0: +sucrase@^3.32.0, sucrase@^3.35.0: version "3.35.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== @@ -17348,6 +17701,13 @@ tough-cookie@^4.1.2: universalify "^0.2.0" url-parse "^1.5.3" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + tr46@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" @@ -17360,6 +17720,11 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" @@ -17431,6 +17796,28 @@ tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tsup@^8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/tsup/-/tsup-8.2.4.tgz#5e31790c1e66392cee384ad746ed51c106614beb" + integrity sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q== + dependencies: + bundle-require "^5.0.0" + cac "^6.7.14" + chokidar "^3.6.0" + consola "^3.2.3" + debug "^4.3.5" + esbuild "^0.23.0" + execa "^5.1.1" + globby "^11.1.0" + joycon "^3.1.1" + picocolors "^1.0.1" + postcss-load-config "^6.0.1" + resolve-from "^5.0.0" + rollup "^4.19.0" + source-map "0.8.0-beta.0" + sucrase "^3.35.0" + tree-kill "^1.2.2" + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" @@ -18165,6 +18552,11 @@ webidl-conversions@^3.0.0: resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + webidl-conversions@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" @@ -18213,6 +18605,15 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + which-module@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz"