Skip to content

zeriontech/solana-wallet-standard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@zeriontech/solana-wallet-standard

A package for Wallet Standard implementation: https://github.com/anza-xyz/wallet-standard/blob/master/WALLET.md

All code is adapated from https://github.com/anza-xyz/wallet-standard/tree/master/packages/wallets/ghost/src with modifications to dynamically pass name, icon and features

Install

npm install @zeriontech/solana-wallet-standard

Get Started

Reference implementation:

import EventEmitter from "events";
import type { Ghost } from "@zeriontech/solana-wallet-standard";
import { initialize } from "@zeriontech/solana-wallet-standard";
import type {
  PublicKey,
  Transaction,
  VersionedTransaction,
} from "@solana/web3.js";
import type {
  SolanaSignInInput,
  SolanaSignInOutput,
} from "@solana/wallet-standard-features";

class ZerionSolana extends EventEmitter implements Ghost {
  name = "Zerion";
  icon = `data:image/svg+xml;base64,...`;
  publicKey: PublicKey | null;

  async connect(): Promise<{ publicKey: PublicKey }> {
    throw new Error("connect: Not Implemented");
  }

  async disconnect(): Promise<void> {
    throw new Error("disconnect: Not Implemented");
  }

  signIn(_input?: SolanaSignInInput | undefined): Promise<SolanaSignInOutput> {
    throw new Error("signIn: Not Implemented");
  }

  signMessage(_message: Uint8Array): Promise<{ signature: Uint8Array }> {
    throw new Error("signMessage: Not Implemented");
  }

  async signTransaction<T extends Transaction | VersionedTransaction>(
    transaction: T,
  ): Promise<T> {
    throw new Error("signTransaction: Not Implemented");
  }

  signAllTransactions<T extends Transaction | VersionedTransaction>(
    _transactions: T[],
  ): Promise<T[]> {
    throw new Error("signAllTransactions: Not Implemented");
  }

  async signAndSendTransaction<T extends Transaction | VersionedTransaction>(
    transaction: T,
    _options?: SendOptions | undefined,
  ): Promise<{ signature: string }> {
    throw new Error("signAndSendTransaction: Not Implemented");
  }
}

const zerionSolana = new ZerionSolana();
initialize(zerionSolana);

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published