diff --git a/package.json b/package.json index 350ffca6..3ec27b14 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,11 @@ "import": "./dist/fordefi.js", "require": "./dist/fordefi.cjs" }, + "./xverse": { + "types": "./dist/xverse.d.ts", + "import": "./dist/xverse.js", + "require": "./dist/xverse.cjs" + }, "./braavosMobile": { "types": "./dist/braavosMobile.d.ts", "import": "./dist/braavosMobile.js", diff --git a/src/connectors/injected/index.ts b/src/connectors/injected/index.ts index de837d7d..e7019763 100644 --- a/src/connectors/injected/index.ts +++ b/src/connectors/injected/index.ts @@ -67,6 +67,10 @@ export const injectedWalletIcons = { light: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzNDk0XzY2MjU0KSI+CjxwYXRoIGQ9Ik0xMC44NzY5IDE1LjYzNzhIMS41VjE4LjM5OUMxLjUgMTkuODAxMyAyLjYzNDQ3IDIwLjkzOCA0LjAzMzkyIDIwLjkzOEg4LjI0OTkyTDEwLjg3NjkgMTUuNjM3OFoiIGZpbGw9IiM3OTk0RkYiLz4KPHBhdGggZD0iTTEuNSA5Ljc3NTUxSDE5LjA1MTZMMTcuMDEzOSAxMy44NzExSDEuNVY5Ljc3NTUxWiIgZmlsbD0iIzQ4NkRGRiIvPgo8cGF0aCBkPSJNNy42NTk5NiAzSDEuNTI0NDFWOC4wMDcwNEgyMi40NjEyVjNIMTYuMzI1NlY2LjczOTQ0SDE1LjA2MDZWM0g4LjkyNTAyVjYuNzM5NDRINy42NTk5NlYzWiIgZmlsbD0iIzVDRDFGQSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzNDk0XzY2MjU0Ij4KPHJlY3Qgd2lkdGg9IjIxIiBoZWlnaHQ9IjE4IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS41IDMpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==", }, + xverse: { + dark: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyIiBoZWlnaHQ9IjEwMiIgdmlld0JveD0iMCAwIDEwMiAxMDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJJY29uX0FydCAoRWRpdCBNZSkiPgo8cmVjdCB3aWR0aD0iMTAyIiBoZWlnaHQ9IjEwMiIgZmlsbD0iIzE4MTgxOCIvPgo8ZyBpZD0iTG9nby9FbWJsZW0iIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMF8xMjIzKSI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik03NC42NTQyIDczLjg4ODNWNjUuMjMxMkM3NC42NTQyIDY0Ljg4OCA3NC41MTc3IDY0LjU2MDYgNzQuMjc0NSA2NC4zMTc0TDM3LjQzOTcgMjcuNDgyNUMzNy4xOTY1IDI3LjIzOTIgMzYuODY5MSAyNy4xMDI4IDM2LjUyNTggMjcuMTAyOEgyNy44NjlDMjcuNDQxNiAyNy4xMDI4IDI3LjA5MzggMjcuNDUwNiAyNy4wOTM4IDI3Ljg3OFYzNS45MjExQzI3LjA5MzggMzYuMjY0NCAyNy4yMzAyIDM2LjU5MTcgMjcuNDczNCAzNi44MzVMNDAuNjk1MiA1MC4wNTY3QzQwLjk5NzUgNTAuMzU5MSA0MC45OTc1IDUwLjg1MDEgNDAuNjk1MiA1MS4xNTI0TDI3LjMyMTEgNjQuNTI2NUMyNy4xNzU2IDY0LjY3MiAyNy4wOTM4IDY0Ljg2OTggMjcuMDkzOCA2NS4wNzQ0VjczLjg4ODNDMjcuMDkzOCA3NC4zMTUzIDI3LjQ0MTYgNzQuNjYzNSAyNy44NjkgNzQuNjYzNUg0Mi4zMzQyQzQyLjc2MTYgNzQuNjYzNSA0My4xMDk0IDc0LjMxNTMgNDMuMTA5NCA3My44ODgzVjY4LjY5NThDNDMuMTA5NCA2OC40OTEyIDQzLjE5MTIgNjguMjkzNSA0My4zMzY4IDY4LjE0NzlMNTAuNTExNCA2MC45NzMzQzUwLjgxMzggNjAuNjcwOSA1MS4zMDQ4IDYwLjY3MDkgNTEuNjA3MiA2MC45NzMzTDY0LjkxOTggNzQuMjg2MUM2NS4xNjMxIDc0LjUyOTMgNjUuNDkwNCA3NC42NjU4IDY1LjgzMzcgNzQuNjY1OEg3My44NzY3Qzc0LjMwNDIgNzQuNjY1OCA3NC42NTE5IDc0LjMxNzYgNzQuNjUxOSA3My44OTA2TDc0LjY1NDIgNzMuODg4M1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGlkPSJWZWN0b3JfMiIgZD0iTTU1LjM1OCAzOC41NjcySDYyLjYwMzFDNjMuMDMyOCAzOC41NjcyIDYzLjM4MjkgMzguOTE3MyA2My4zODI5IDM5LjM0NjlWNDYuNTkyMUM2My4zODI5IDQ3LjI4NzcgNjQuMjI0IDQ3LjYzNTUgNjQuNzE1MSA0Ny4xNDIyTDc0LjY1NDEgMzcuMTg3M0M3NC43OTk0IDM3LjA0MTggNzQuODgxNiAzNi44NDQgNzQuODgxNiAzNi42MzcxVjI3LjkxODlDNzQuODgxNiAyNy40ODkyIDc0LjUzMzQgMjcuMTM5MSA3NC4xMDE3IDI3LjEzOTFMNjUuMjUzOCAyNy4xMjc3QzY1LjA0NyAyNy4xMjc3IDY0Ljg0OTIgMjcuMjA5NiA2NC43MDE0IDI3LjM1NTFMNTQuODA1NiAzNy4yMzVDNTQuMzE0NSAzNy43MjYgNTQuNjYyMyAzOC41NjcyIDU1LjM1NTcgMzguNTY3Mkg1NS4zNThaIiBmaWxsPSIjRUU3QTMwIi8+CjwvZz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMF8xMjIzIj4KPHJlY3Qgd2lkdGg9IjQ3LjgxMjUiIGhlaWdodD0iNDcuODEyNSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3LjA5MzggMjcuMDkzOCkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K", + light: "", + }, } export class InjectedConnector extends Connector { diff --git a/src/connectors/injected/xverse.ts b/src/connectors/injected/xverse.ts new file mode 100644 index 00000000..14c7149c --- /dev/null +++ b/src/connectors/injected/xverse.ts @@ -0,0 +1,17 @@ +import { InjectedConnector, type InjectedConnectorOptions } from "./index" + +const id = "xverse" + +export class Xverse extends InjectedConnector { + constructor(options?: Omit) { + super({ options: { id, ...options } }) + } + + static getInjectedWallet() { + return super.getInjectedWallet(id) + } + + static isWalletInjected() { + return super.isWalletInjected(id) + } +} diff --git a/src/helpers/defaultConnectors.ts b/src/helpers/defaultConnectors.ts index dee8e3e6..6097e43b 100644 --- a/src/helpers/defaultConnectors.ts +++ b/src/helpers/defaultConnectors.ts @@ -1,23 +1,22 @@ import type { StarknetkitConnector } from "../connectors" -import { type ArgentMobileConnectorOptions } from "../connectors/argent/argentMobile" +import type { ArgentMobileConnectorOptions } from "../connectors/argent/argentMobile" import { BraavosMobileBaseConnector } from "../connectors/braavosMobile" import { ControllerConnector } from "../connectors/controller" -import { WebWalletConnector } from "../connectors/webwallet" import { Braavos } from "../connectors/injected/braavos" import { Fordefi } from "../connectors/injected/fordefi" import { Keplr } from "../connectors/injected/keplr" +import { Xverse } from "../connectors/injected/xverse" import { MetaMask } from "../connectors/injected/metamask" import { isMobileDevice, isSafari } from "./navigator" import { ArgentX } from "../connectors/injected/argentX" -export const defaultConnectors = ({ - argentMobileOptions, - webWalletUrl, -}: { - argentMobileOptions: ArgentMobileConnectorOptions - webWalletUrl?: string -}): StarknetkitConnector[] => { +export const defaultConnectors = ( + _options?: { + argentMobileOptions?: ArgentMobileConnectorOptions + webWalletUrl?: string + }, +): StarknetkitConnector[] => { // | StarknetkitCompoundConnector const defaultConnectors: StarknetkitConnector[] = // | StarknetkitCompoundConnector @@ -37,6 +36,9 @@ export const defaultConnectors = ({ if (Keplr.isWalletInjected()) { defaultConnectors.push(new Keplr()) } + if (Xverse.isWalletInjected()) { + defaultConnectors.push(new Xverse()) + } } defaultConnectors.push(new ControllerConnector()) diff --git a/src/modal/components/DynamicIcon.svelte b/src/modal/components/DynamicIcon.svelte index 8d131d89..328cb0cf 100644 --- a/src/modal/components/DynamicIcon.svelte +++ b/src/modal/components/DynamicIcon.svelte @@ -1,6 +1,6 @@