UNPKG

@xlink-network/xlink-sdk

Version:
70 lines (67 loc) 2.68 kB
import { GetSupportedRoutesFn, CheckRouteValidFn, KnownRoute_FromBitcoin } from '../utils/buildSupportedRoutes.mjs'; import * as btc from '@scure/btc-signer'; import { ReselectSpendableUTXOsFn, BitcoinTransactionPrepareResult } from '../bitcoinUtils/prepareTransaction.mjs'; import { ChainId, TokenId, SDKNumber } from './types.mjs'; import { S as SDKGlobalContext } from '../types.internal-8d3OI2Qm.mjs'; import '../utils/types/knownIds.mjs'; import '../utils/BigNumber.mjs'; import 'big.js'; import '../utils/typeHelpers.mjs'; import 'viem'; import '../evmUtils/evmContractAddresses.mjs'; import '../bitcoinUtils/bitcoinHelpers.mjs'; import '@c4/btc-utils'; import '../bitcoinUtils/createTransaction.mjs'; declare const supportedRoutes: { getSupportedRoutes: GetSupportedRoutesFn; checkRouteValid: CheckRouteValidFn; }; type BridgeFromBitcoinInput_signPsbtFn = (tx: { psbt: Uint8Array; signInputs: number[]; }) => Promise<{ psbt: Uint8Array; }>; interface BridgeFromBitcoinInput { fromChain: ChainId; toChain: ChainId; fromToken: TokenId; toToken: TokenId; fromAddress: string; fromAddressScriptPubKey: Uint8Array; toAddress: string; amount: SDKNumber; networkFeeRate: bigint; reselectSpendableUTXOs: ReselectSpendableUTXOsFn; signPsbt: BridgeFromBitcoinInput_signPsbtFn; sendTransaction: (tx: { hex: string; }) => Promise<{ txid: string; }>; } interface BridgeFromBitcoinOutput { txid: string; } declare function bridgeFromBitcoin(ctx: SDKGlobalContext, info: BridgeFromBitcoinInput): Promise<BridgeFromBitcoinOutput>; type PrepareBitcoinTransactionInput = KnownRoute_FromBitcoin & { fromAddressScriptPubKey: BridgeFromBitcoinInput["fromAddressScriptPubKey"]; fromAddress: BridgeFromBitcoinInput["fromAddress"]; toAddress: BridgeFromBitcoinInput["toAddress"]; amount: BridgeFromBitcoinInput["amount"]; networkFeeRate: BridgeFromBitcoinInput["networkFeeRate"]; reselectSpendableUTXOs: BridgeFromBitcoinInput["reselectSpendableUTXOs"]; orderData: Uint8Array; pegInAddress: { address: string; scriptPubKey: Uint8Array; }; }; declare function prepareBitcoinTransaction(sdkContext: Pick<SDKGlobalContext, "backendAPI">, info: PrepareBitcoinTransactionInput): Promise<BitcoinTransactionPrepareResult & { bitcoinNetwork: typeof btc.NETWORK; revealOutput?: { index: number; satsAmount: bigint; }; }>; export { type BridgeFromBitcoinInput, type BridgeFromBitcoinInput_signPsbtFn, type BridgeFromBitcoinOutput, type PrepareBitcoinTransactionInput, bridgeFromBitcoin, prepareBitcoinTransaction, supportedRoutes };