@atomiqlabs/chain-evm
Version:
EVM specific base implementation
31 lines (30 loc) • 1.39 kB
TypeScript
import { BaseTokenType, BitcoinNetwork, BitcoinRpc, ChainData, ChainInitializer, ChainSwapType } from "@atomiqlabs/base";
import { JsonRpcApiProvider } from "ethers";
import { EVMConfiguration, EVMRetryPolicy } from "../../evm/chain/EVMChainInterface";
import { CitreaChainType } from "./CitreaChainType";
import { CitreaFees } from "./CitreaFees";
export type CitreaAssetsType = BaseTokenType<"CBTC" | "USDC">;
export declare const CitreaAssets: CitreaAssetsType;
export type CitreaOptions = {
rpcUrl: string | JsonRpcApiProvider;
retryPolicy?: EVMRetryPolicy;
chainType?: "MAINNET" | "TESTNET4";
swapContract?: string;
btcRelayContract?: string;
btcRelayDeploymentHeight?: number;
spvVaultContract?: string;
spvVaultDeploymentHeight?: number;
handlerContracts?: {
refund?: {
timelock?: string;
};
claim?: {
[type in ChainSwapType]?: string;
};
};
fees?: CitreaFees;
evmConfig?: Omit<EVMConfiguration, "safeBlockTag" | "finalizedBlockTag">;
};
export declare function initializeCitrea(options: CitreaOptions, bitcoinRpc: BitcoinRpc<any>, network: BitcoinNetwork): ChainData<CitreaChainType>;
export type CitreaInitializerType = ChainInitializer<CitreaOptions, CitreaChainType, CitreaAssetsType>;
export declare const CitreaInitializer: CitreaInitializerType;