Skip to content

Commit

Permalink
Add onsei wallet (#185)
Browse files Browse the repository at this point in the history
Co-authored-by: André Sardo <andre@delphilabs.io>
  • Loading branch information
Mikssxed and afsardo authored Aug 15, 2024
1 parent a320d5c commit 5c3c866
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 24 deletions.
32 changes: 18 additions & 14 deletions examples/shuttle-port-nextjs/src/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,41 +1,42 @@
"use client";

import {
CitadelOneExtensionProvider,
CosmiframeExtensionProvider,
CosmostationExtensionProvider,
KeplrExtensionProvider,
LeapCosmosExtensionProvider,
MetamaskExtensionProvider,
StationExtensionProvider,
XDEFICosmosExtensionProvider,
CosmostationMobileProvider,
KeplrExtensionProvider,
KeplrMobileProvider,
LeapCosmosExtensionProvider,
LeapCosmosMobileProvider,
LeapMetamaskCosmosSnapExtensionProvider,
MetamaskExtensionProvider,
MetamaskMobileProvider,
ShuttleProvider,
OkxWalletExtensionProvider,
NinjiExtensionProvider,
OWalletCosmosExtensionProvider,
CosmiframeExtensionProvider,
CitadelOneExtensionProvider,
OkxWalletExtensionProvider,
OnseiMobileProvider,
ShuttleProvider,
StationExtensionProvider,
XDEFICosmosExtensionProvider,
SafePalExtensionProvider,
imTokenExtensionProvider,
} from "@delphi-labs/shuttle-react";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";

import Header from "@/components/Header";
import {
OSMOSIS_MAINNET,
MARS_MAINNET,
TERRA_MAINNET,
TERRA_TESTNET,
INJECTIVE_MAINNET,
INJECTIVE_TESTNET,
MARS_MAINNET,
NEUTRON_MAINNET,
NEUTRON_TESTNET,
ORAI_MAINNET,
ORAI_TESTNET,
OSMOSIS_MAINNET,
TERRA_MAINNET,
TERRA_TESTNET,
} from "@/config/networks";
import Header from "@/components/Header";

import "./globals.css";

Expand Down Expand Up @@ -135,6 +136,9 @@ const mobileProviders = [
new MetamaskMobileProvider({
networks: [INJECTIVE_MAINNET, INJECTIVE_TESTNET],
}),
new OnseiMobileProvider({
networks: [OSMOSIS_MAINNET],
}),
];

export default function RootLayout({ children }: { children: React.ReactNode }) {
Expand Down
16 changes: 10 additions & 6 deletions examples/shuttle-port-vue/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import "./assets/main.css";

import { createApp } from "vue";
import { VueQueryPlugin } from "@tanstack/vue-query";
import { createPinia } from "pinia";
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
import {
CitadelOneExtensionProvider,
CosmostationExtensionProvider,
CosmostationMobileProvider,
KeplrExtensionProvider,
Expand All @@ -13,16 +10,19 @@ import {
LeapCosmosMobileProvider,
MetamaskExtensionProvider,
MetamaskMobileProvider,
OnseiMobileProvider,
StationExtensionProvider,
XDEFICosmosExtensionProvider,
CitadelOneExtensionProvider,
SafePalExtensionProvider,
imTokenExtensionProvider,
createShuttle,
} from "@delphi-labs/shuttle-vue";
import { VueQueryPlugin } from "@tanstack/vue-query";
import { createPinia } from "pinia";
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";
import { createApp } from "vue";

import App from "./App.vue";
import router from "./router";
import {
INJECTIVE_MAINNET,
INJECTIVE_TESTNET,
Expand All @@ -31,6 +31,7 @@ import {
TERRA_MAINNET,
TERRA_TESTNET,
} from "./config/networks";
import router from "./router";

export const pinia = createPinia();
pinia.use(piniaPluginPersistedstate);
Expand Down Expand Up @@ -81,6 +82,9 @@ const shuttle = createShuttle({
new MetamaskMobileProvider({
networks: [INJECTIVE_MAINNET, INJECTIVE_TESTNET],
}),
new OnseiMobileProvider({
networks: [OSMOSIS_MAINNET],
}),
],
});

Expand Down
27 changes: 27 additions & 0 deletions packages/core/src/providers/mobile/OnseiMobileProvider.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import CosmosWalletConnect from "../../internals/adapters/mobile/CosmosWalletConnect";
import type { Network } from "../../internals/network";
import WalletMobileProvider from "./WalletMobileProvider";

export const OnseiMobileProvider = class OnseiMobileProvider extends WalletMobileProvider {
constructor({ networks, walletConnectProjectId }: { networks: Network[]; walletConnectProjectId?: string }) {
super({
id: "mobile-onsei-wallet",
name: "onsei wallet - WalletConnect",
networks,
mobileProviderAdapter: new CosmosWalletConnect({
walletConnectPeerName: "onsei wallet",
walletConnectProjectId,
}),
});
}

generateIntents(uri?: string): { qrCodeUrl: string; iosUrl: string; androidUrl: string } {
return {
qrCodeUrl: uri || "",
iosUrl: `onseiwallet://wcV2?${uri}`,
androidUrl: `intent://wcV2?${uri}#Intent;package=com.ulamlabs.seiwallet;scheme=onseiwallet;end;`,
};
}
};

export default OnseiMobileProvider;
10 changes: 6 additions & 4 deletions packages/core/src/providers/mobile/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
export * from "./WalletMobileProvider";
export * from "./MetamaskMobileProvider";
export * from "./BitgetMobileProvider";
export * from "./CosmostationMobileProvider";
export * from "./KeplrMobileProvider";
export * from "./LeapCosmosMobileProvider";
export * from "./CosmostationMobileProvider";
export * from "./BitgetMobileProvider";
export * from "./MetamaskMobileProvider";
export * from './OnseiMobileProvider';
export * from "./WalletMobileProvider";

0 comments on commit 5c3c866

Please sign in to comment.