@notifi-network/notifi-react-wallet-target-plugin
Version:
The Wallet Target Plugin context provider for @notifi-network/notifi-react
90 lines (85 loc) • 3.72 kB
TypeScript
import { NotifiFrontendClient, WalletWithSignParams } from '@notifi-network/notifi-frontend-client';
import React, { FC, PropsWithChildren } from 'react';
import { NotifiContextProviderProps } from '@notifi-network/notifi-react';
type Maybe<T> = T | undefined;
/** All built-in and custom scalars, mapped to their actual values */
type Scalars = {
ID: {
input: string;
output: string;
};
String: {
input: string;
output: string;
};
Boolean: {
input: boolean;
output: boolean;
};
Int: {
input: number;
output: number;
};
Float: {
input: number;
output: number;
};
/** The `DateTime` scalar represents an ISO-8601 compliant date time type. */
DateTime: {
input: string;
output: string;
};
/** The `Decimal` scalar type represents a decimal floating-point number. */
Decimal: {
input: number;
output: number;
};
JSON: {
input: any;
output: any;
};
/** The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1. */
Long: {
input: any;
output: any;
};
};
type WalletBlockchain = 'ABSTRACT' | 'ACALA' | 'AGORIC' | 'APTOS' | 'ARBITRUM' | 'ARCH' | 'ARCHWAY' | 'AVALANCHE' | 'AXELAR' | 'BASE' | 'BERACHAIN' | 'BINANCE' | 'BITCOIN' | 'BLAST' | 'BOB' | 'CELESTIA' | 'CELO' | 'COSMOS' | 'DYDX' | 'DYMENSION' | 'ELYS' | 'ETHEREUM' | 'EVMOS' | 'INJECTIVE' | 'KAVA' | 'LINEA' | 'MANTA' | 'MANTLE' | 'MONAD' | 'MOVEMENT' | 'NEAR' | 'NEUTRON' | 'NIBIRU' | 'OFF_CHAIN' | 'OPTIMISM' | 'ORAI' | 'OSMOSIS' | 'PERSISTENCE' | 'POLYGON' | 'ROME' | 'SCROLL' | 'SEI' | 'SOLANA' | 'SONIC' | 'SUI' | 'SWELLCHAIN' | 'THE_ROOT_NETWORK' | 'XION' | 'ZKSYNC';
/** Web3 Target */
type Web3Target = {
__typename?: 'Web3Target';
accountId?: Maybe<Scalars['String']['output']>;
createdDate: Scalars['DateTime']['output'];
id: Scalars['String']['output'];
isConfirmed: Scalars['Boolean']['output'];
name?: Maybe<Scalars['String']['output']>;
senderAddress?: Maybe<Scalars['String']['output']>;
targetProtocol: Web3TargetProtocol;
updatedDate: Scalars['DateTime']['output'];
walletBlockchain: WalletBlockchain;
};
type Web3TargetProtocol = 'XMTP';
type Web3TargetFragmentFragment = {
__typename?: 'Web3Target';
id: string;
name?: string | undefined;
accountId?: string | undefined;
walletBlockchain: WalletBlockchain;
targetProtocol: Web3TargetProtocol;
isConfirmed: boolean;
senderAddress?: string | undefined;
};
type SignCoinbaseSignature = (frontendClient: NotifiFrontendClient, web3TargetId: Web3Target['id'], senderAddress: string) => Promise<Web3TargetFragmentFragment | undefined>;
type NotifiWalletTargetContextType = {
isLoading: boolean;
error: Error | null;
signCoinbaseSignature: SignCoinbaseSignature;
};
type NotifiWalletTargetProviderProps = {
walletWithSignParams: WalletWithSignParams;
};
declare const NotifiWalletTargetContextProvider: FC<React.PropsWithChildren<NotifiWalletTargetProviderProps>>;
declare const useWalletTargetContext: () => NotifiWalletTargetContextType;
type NotifiContextProviderWithWalletTargetPluginProps = NotifiContextProviderProps;
declare const NotifiContextProviderWithWalletTargetPlugin: FC<PropsWithChildren<NotifiContextProviderProps>>;
export { NotifiContextProviderWithWalletTargetPlugin, type NotifiContextProviderWithWalletTargetPluginProps, NotifiWalletTargetContextProvider, type NotifiWalletTargetContextType, type NotifiWalletTargetProviderProps, type SignCoinbaseSignature, useWalletTargetContext };