UNPKG

@atomiqlabs/base

Version:

Base classes and interfaces for atomiq protocol

39 lines (37 loc) 1.73 kB
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 }