UNPKG

@wauth/strategy

Version:
95 lines 4.33 kB
import { Strategy } from "@arweave-wallet-kit/core/strategy"; import type { DispatchResult, GatewayConfig, PermissionType, DataItem as ArConnectDataItem } from "arconnect"; import Transaction from "arweave/web/lib/transaction"; import type { SignatureOptions } from "arweave/web/lib/crypto/crypto-interface"; import { WAuthProviders } from "@wauth/sdk"; export default class WAuthStrategy implements Strategy { id: string; name: string; description: string; theme: string; logo: string; url: string; private walletRef; private provider; private addressListeners; private scopes; private authData; private authDataListeners; private windowArweaveWalletBackup; private logos; getWindowWalletInterface(): { walletName: string; walletVersion: string; connect: (permissions?: PermissionType[]) => Promise<void>; disconnect: () => Promise<void>; getActiveAddress: () => Promise<string>; getAllAddresses: () => Promise<string[]>; sign: (transaction: Transaction, options?: SignatureOptions) => Promise<Transaction>; getPermissions: () => Promise<PermissionType[]>; getWalletNames: () => Promise<Record<string, string>>; encrypt: (data: BufferSource, options: RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams) => Promise<Uint8Array>; decrypt: (data: BufferSource, options: RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams) => Promise<Uint8Array>; getArweaveConfig: () => Promise<GatewayConfig>; isAvailable: () => Promise<boolean>; dispatch: (transaction: Transaction) => Promise<DispatchResult>; signDataItem: (dataItem: ArConnectDataItem) => Promise<ArrayBuffer>; addAddressEvent: (listener: (address: string) => void) => (e: CustomEvent<{ address: string; }>) => void; removeAddressEvent: (listener: (e: CustomEvent<{ address: string; }>) => void) => void; getActivePublicKey: () => Promise<string>; getConnectedWallets: () => Promise<any[]>; removeConnectedWallet: (walletId: string) => Promise<{ success: boolean; walletId: string; }>; }; constructor({ provider, scopes }: { provider: WAuthProviders; scopes?: string[]; }); connect(permissions?: PermissionType[]): Promise<void>; reconnect(): Promise<any>; onAuthDataChange(callback: (data: any) => void): void; getAuthData(): any; addConnectedWallet(ArweaveWallet: any): Promise<any>; removeConnectedWallet(walletId: string): Promise<{ success: boolean; walletId: string; }>; disconnect(): Promise<void>; getActiveAddress(): Promise<string>; getAllAddresses(): Promise<string[]>; getActivePublicKey(): Promise<string>; getConnectedWallets(): Promise<any[]>; sign(transaction: Transaction, options?: SignatureOptions): Promise<Transaction>; getPermissions(): Promise<PermissionType[]>; getWalletNames(): Promise<Record<string, string>>; encrypt(data: BufferSource, options: RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<Uint8Array>; decrypt(data: BufferSource, options: RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams): Promise<Uint8Array>; getArweaveConfig(): Promise<GatewayConfig>; isAvailable(): Promise<boolean>; dispatch(transaction: Transaction): Promise<DispatchResult>; signDataItem(dataItem: ArConnectDataItem): Promise<ArrayBuffer>; signature(data: Uint8Array, algorithm: AlgorithmIdentifier | RsaPssParams | EcdsaParams): Promise<Uint8Array>; signAns104(dataItem: ArConnectDataItem): Promise<{ id: string; raw: ArrayBuffer; }>; addAddressEvent(listener: (address: string) => void): (e: CustomEvent<{ address: string; }>) => void; removeAddressEvent(listener: (e: CustomEvent<{ address: string; }>) => void): void; getAoSigner(): (create: any, createDataItem: any) => Promise<{ id: string; raw: Buffer<ArrayBufferLike>; }>; } declare function fixConnection(address: string | undefined, connected: boolean, disconnect: () => void): void; export { WAuthProviders, fixConnection }; //# sourceMappingURL=index.d.ts.map