splitwise-solana-client
Version:
Client SDK for Splitwise Solana Settlement
38 lines (37 loc) • 1.03 kB
TypeScript
import { PublicKey } from '@solana/web3.js';
import { BN } from '@project-serum/anchor';
export interface OracleData {
splitwiseAmount: number;
splitwiseCurrency: string;
exchangeRate: number;
timestamp: number;
signatures: string[];
verificationHash: string;
}
export interface Settlement {
splitwiseId: string;
amount: BN;
from: PublicKey;
to: PublicKey;
tokenMint: PublicKey;
status: SettlementStatus;
remainingAmount: BN;
minPaymentAmount: BN;
expiryTimestamp: BN;
isInitialized: boolean;
frontRunningProtection: Buffer;
}
export type SettlementStatus = 'pending' | 'active' | 'completed' | 'cancelled' | 'expired';
export interface SettlementEvent {
eventType: 'initialized' | 'payment' | 'completed' | 'cancelled' | 'expired';
data: any;
}
export interface TokenAccount {
mint: PublicKey;
owner: PublicKey;
amount: BN;
delegate: PublicKey | null;
delegatedAmount: BN;
isNative: boolean;
closeAuthority: PublicKey | null;
}