@lunch-money/coinbase-to-lunch-money
Version:
A wrapper around the coinbase API for enabling Lunch Money to gather information about a user's account.
28 lines (27 loc) • 1.09 kB
TypeScript
/**
* Serializable configuration for the connection
*/
export type LunchMoneyCryptoConnectionConfig = {
[key: string]: any;
};
/**
* Non-serializable injected dependencies for the connection
*/
export type LunchMoneyCryptoConnectionContext = {
[key: string]: any;
};
export interface CryptoBalance {
asset: string;
amount: string;
}
export declare const providerNames: readonly ["coinbase", "coinbase_pro", "kraken", "coinbase", "wallet_ethereum"];
export type ProviderName = typeof providerNames[number];
export interface LunchMoneyCryptoConnectionBalances {
providerName: ProviderName;
balances: CryptoBalance[];
}
export type LunchMoneyCryptoConnectionInitialization = LunchMoneyCryptoConnectionBalances;
export interface LunchMoneyCryptoConnection<TConfig extends LunchMoneyCryptoConnectionConfig, TContext extends LunchMoneyCryptoConnectionContext> {
initiate(config: TConfig, context?: TContext): Promise<LunchMoneyCryptoConnectionInitialization>;
getBalances(config: TConfig, context?: TContext): Promise<LunchMoneyCryptoConnectionBalances>;
}