@cranberry-money/shared-types
Version:
Shared TypeScript type definitions for Blueberry platform
46 lines • 1.75 kB
TypeScript
import type { BaseEntity } from '../common';
import type { BaseQueryParams, DateRangeParams } from '../api';
export interface Transaction extends BaseEntity {
txHash: string;
chain: string;
fromAddress: string;
toAddress: string | null;
asset: string;
assetSymbol?: string;
assetName?: string;
amount: string;
/** USD value at transaction time (amount × asset price at blockTimestamp) */
marketValue?: string | null;
blockTimestamp: string;
blockNumber?: number;
status?: string;
transactionFeeEstimated?: string;
transactionFee?: string;
wallet: string;
walletAddress?: string;
/** For Arca transactions: BUY, SELL, ISSUANCE, MINT, etc. */
orderType?: 'BUY' | 'SELL' | 'ISSUANCE' | 'MINT' | 'PAYMENT_SENT' | 'PAYMENT_RECEIVED';
/** For Arca share trades: price per share in payment token */
pricePerShare?: string;
/** For Arca share trades: payment token symbol (e.g., 'aAUD') */
paymentToken?: string;
/** For Arca transactions: type of transaction (trade, token_issuance, stablecoin_mint, swap_payment) */
transactionType?: string;
/** For token issuances: type of issuance (initial, additional) */
issuanceType?: string;
}
/**
* Query parameters for transaction endpoints.
* Extends BaseQueryParams for page-based pagination and DateRangeParams for date filtering.
*
* NAMING CONVENTION: Query params use snake_case following REST API URL standards.
*/
export interface TransactionQueryParams extends BaseQueryParams, DateRangeParams {
wallet?: string;
chain?: string;
asset?: string;
direction?: 'incoming' | 'outgoing';
min_amount?: number;
max_amount?: number;
}
//# sourceMappingURL=transaction.d.ts.map