@baking-bad/tezos-etherlink-bridge-sdk
Version:
SDK designed for building token bridge applications between Tezos (L1) and Etherlink (L2)
45 lines (44 loc) • 2.25 kB
TypeScript
import type { NonNativeTezosToken } from '../../tokens';
import type { BridgeBlockchainService } from '../bridgeBlockchainService';
interface DepositTokenParamsBase {
amount: bigint;
etherlinkReceiverAddress: string;
ticketHelperContractAddress: string;
}
export interface DepositNativeTokenParams extends DepositTokenParamsBase {
}
export interface DepositNonNativeTokensParams extends DepositTokenParamsBase {
token: NonNativeTezosToken;
useApprove?: boolean;
resetFA12Approve?: boolean;
}
export interface FinishWithdrawParams {
cementedCommitment: string;
outputProof: string;
}
export interface CreateDepositNativeTokenOperationParams extends DepositNativeTokenParams {
}
export interface CreateDepositNonNativeTokenOperationParams extends CreateDepositNativeTokenOperationParams {
}
interface OperationResult {
hash: string;
timestamp: string;
}
export interface DepositNativeTokenResult extends OperationResult {
amount: bigint;
}
export interface DepositNonNativeTokenResult extends OperationResult {
amount: bigint;
}
export interface FinishWithdrawResult extends OperationResult {
}
export interface TezosBridgeBlockchainService<TDepositNativeTokenExtraResult = unknown, TDepositNonNativeTokenExtraResult = unknown, TFinishWithdrawExtraResult = unknown, TCreateDepositNativeTokenOperationResult = unknown, TCreateDepositNonNativeTokenOperationResult = unknown> extends BridgeBlockchainService {
readonly smartRollupAddress: string;
depositNativeToken(params: DepositNativeTokenParams): Promise<DepositNativeTokenResult & TDepositNativeTokenExtraResult>;
depositNonNativeToken(params: DepositNonNativeTokensParams): Promise<DepositNonNativeTokenResult & TDepositNonNativeTokenExtraResult>;
finishWithdraw(params: FinishWithdrawParams): Promise<FinishWithdrawResult & TFinishWithdrawExtraResult>;
createDepositNativeTokenOperation(params: CreateDepositNativeTokenOperationParams): Promise<TCreateDepositNativeTokenOperationResult>;
createDepositNonNativeTokenOperation(params: CreateDepositNonNativeTokenOperationParams): Promise<TCreateDepositNonNativeTokenOperationResult>;
getTezosTicketerContent(tezosTicketerAddress: string): Promise<string>;
}
export {};