@atomiqlabs/base
Version:
Base classes and interfaces for atomiq protocol
24 lines (23 loc) • 1.7 kB
TypeScript
import { SwapData } from "../swaps/SwapData";
import { ChainEvents } from "../events/ChainEvents";
import { SwapContract } from "../swaps/SwapContract";
import { BtcRelay } from "../btcrelay/BtcRelay";
import { AbstractSigner, ChainInterface } from "./ChainInterface";
import { SpvVaultData } from "../spv_swap/SpvVaultData";
import { SpvVaultContract } from "../spv_swap/SpvVaultContract";
import { SpvWithdrawalTransactionData } from "../spv_swap/SpvWithdrawalTransactionData";
export type ChainType<ChainId extends string = string, PreFetchData = any, PreFetchVerification = any, TXType = any, Signer extends AbstractSigner = AbstractSigner, T extends SwapData = SwapData, C extends SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId> = SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId>, I extends ChainInterface<TXType, Signer, ChainId> = ChainInterface<TXType, Signer, ChainId>, E extends ChainEvents<T> = ChainEvents<T>, B extends BtcRelay<any, TXType, any, Signer> = BtcRelay<any, TXType, any, Signer>, SpvData extends SpvVaultData = SpvVaultData, SpvWithdrawalData extends SpvWithdrawalTransactionData = SpvWithdrawalTransactionData, SpvContract extends SpvVaultContract<TXType, Signer, ChainId, SpvData, SpvWithdrawalData> = SpvVaultContract<TXType, Signer, ChainId, SpvData, SpvWithdrawalData>> = {
ChainId: ChainId;
PreFetchData: PreFetchData;
PreFetchVerification: PreFetchVerification;
TX: TXType;
Signer: Signer;
ChainInterface: I;
Data: T;
Contract: C;
Events: E;
BtcRelay: B;
SpvVaultData: SpvData;
SpvVaultContract: SpvContract;
SpvVaultWithdrawalData: SpvWithdrawalData;
};