TypeScript Types
Complete reference for all exported TypeScript types and interfaces
The SDK exports comprehensive TypeScript definitions for type-safe development. This page documents all exported types, interfaces, and constants.
Importing Types
import type {
WidgetSDKConfig,
WidgetSDKRef,
TransactionRequest,
EvmTransactionRequest,
SolanaTransactionRequest,
EvmTransactionData,
TransactionTokenMetadata,
} from '@oobit/react-native-sdk';Core Types
WidgetSDKConfig
WidgetSDKConfigConfiguration interface for the WidgetSDK component props.
interface WidgetSDKConfig {
accessToken: string;
userWalletAddress: string;
onTransactionRequested: (transaction: TransactionRequest) => void;
onClose?: () => void;
}| Property | Type | Required | Description |
|---|---|---|---|
accessToken | string | Yes | JWT access token from your backend |
userWalletAddress | string | Yes | User's wallet address for deposits |
onTransactionRequested | (transaction: TransactionRequest) => void | Yes | Callback when transaction is requested |
onClose | () => void | No | Callback when widget is closed |
Transaction Types
TransactionRequest
TransactionRequestUnion type representing a transaction request. Can be either EVM or Solana.
type TransactionRequest = EvmTransactionRequest | SolanaTransactionRequest;Use the type field to discriminate between chains:
function handleTransaction(tx: TransactionRequest) {
if (tx.type === 'evm') {
// Handle EVM transaction
console.log('Chain ID:', tx.chainId);
} else {
// Handle Solana transaction
console.log('Solana transaction');
}
}See Handling Transactions for detailed usage.
EvmTransactionRequest
EvmTransactionRequestEVM-compatible blockchain transaction (Ethereum, Polygon, BSC, etc.).
interface EvmTransactionRequest {
type: 'evm';
chainId: number;
transaction: EvmTransactionData;
tokenMetadata: TransactionTokenMetadata;
}| Property | Type | Description |
|---|---|---|
type | 'evm' | Discriminator for EVM transactions |
chainId | number | Network identifier (1 = Ethereum, 137 = Polygon, etc.) |
transaction | EvmTransactionData | Transaction data to be signed |
tokenMetadata | TransactionTokenMetadata | Token info for display |
EvmTransactionData
EvmTransactionDataRaw EVM transaction data.
interface EvmTransactionData {
to: string;
data: string;
value: string;
}| Property | Type | Description |
|---|---|---|
to | string | Destination address |
data | string | Encoded transaction data (hex) |
value | string | Native token value in wei (hex) |
SolanaTransactionRequest
SolanaTransactionRequestSolana blockchain transaction.
interface SolanaTransactionRequest {
type: 'solana';
transaction: string;
tokenMetadata: TransactionTokenMetadata;
}| Property | Type | Description |
|---|---|---|
type | 'solana' | Discriminator for Solana transactions |
transaction | string | Serialized transaction (base64) |
tokenMetadata | TransactionTokenMetadata | Token info for display |
TransactionTokenMetadata
TransactionTokenMetadataToken information for display purposes.
interface TransactionTokenMetadata {
symbol: string;
amount: string;
decimals: number;
}| Property | Type | Description |
|---|---|---|
symbol | string | Token symbol (e.g., "USDC", "ETH") |
amount | string | Human-readable amount |
decimals | number | Token decimal places |
See Also
- Component Reference - WidgetSDK component props
- Handling Transactions - Transaction handling guide
Updated about 8 hours ago
