@cowprotocol/cow-sdk
Version:
## 📚 [Docs website](https://docs.cow.fi/)
45 lines (44 loc) • 2.55 kB
TypeScript
import { latest as latestAppData } from '@cowprotocol/app-data';
import { BridgeDeposit, BridgeHook, BridgeProvider, BridgeProviderInfo, BridgeQuoteResult, BridgeStatusResult, BridgingDepositParams, BuyTokensParams, QuoteBridgeRequest } from '../../types';
import { ChainId, ChainInfo, SupportedChainId } from '../../../chains';
import { EvmCall, TokenInfo } from '../../../common';
import { BungeeApi, BungeeApiOptions } from './BungeeApi';
import { CowShedSdk, CowShedSdkOptions } from '../../../cow-shed';
import { BungeeBuildTx, BungeeQuote } from './types';
import type { JsonRpcProvider } from '@ethersproject/providers';
import type { Signer } from 'ethers';
export declare const BUNGEE_HOOK_DAPP_ID = "cow-sdk://bridging/providers/bungee";
export declare const BUNGEE_SUPPORTED_NETWORKS: ChainInfo[];
export interface BungeeBridgeProviderOptions {
getRpcProvider(chainId: SupportedChainId): JsonRpcProvider;
apiOptions?: BungeeApiOptions;
cowShedOptions?: CowShedSdkOptions;
}
export interface BungeeQuoteResult extends BridgeQuoteResult {
bungeeQuote: BungeeQuote;
buildTx: BungeeBuildTx;
}
export declare class BungeeBridgeProvider implements BridgeProvider<BungeeQuoteResult> {
private options;
protected api: BungeeApi;
protected cowShedSdk: CowShedSdk;
getRpcProvider: (chainId: SupportedChainId) => JsonRpcProvider;
constructor(options: BungeeBridgeProviderOptions);
info: BridgeProviderInfo;
getNetworks(): Promise<ChainInfo[]>;
getBuyTokens(params: BuyTokensParams): Promise<TokenInfo[]>;
getIntermediateTokens(request: QuoteBridgeRequest): Promise<TokenInfo[]>;
getQuote(request: QuoteBridgeRequest): Promise<BungeeQuoteResult>;
getUnsignedBridgeCall(request: QuoteBridgeRequest, quote: BungeeQuoteResult): Promise<EvmCall>;
getGasLimitEstimationForHook(request: QuoteBridgeRequest): Promise<number>;
getSignedHook(chainId: SupportedChainId, unsignedCall: EvmCall, signer: Signer, bridgeHookNonce: string, deadline: bigint, hookGasLimit: number): Promise<BridgeHook>;
getBridgingParams(_chainId: ChainId, orderId: string, _txHash: string): Promise<{
params: BridgingDepositParams;
status: BridgeStatusResult;
} | null>;
decodeBridgeHook(_hook: latestAppData.CoWHook): Promise<BridgeDeposit>;
getExplorerUrl(bridgingId: string): string;
getStatus(_bridgingId: string): Promise<BridgeStatusResult>;
getCancelBridgingTx(_bridgingId: string): Promise<EvmCall>;
getRefundBridgingTx(_bridgingId: string): Promise<EvmCall>;
}