@ondo-gm/1inch
Version:
1inch Fusion swap integration for Ondo SDK
1 lines • 27.1 kB
Source Map (JSON)
{"version":3,"sources":["../src/fusion-client.ts","../src/factory.ts"],"names":["Web3ProviderConnector","FusionSDK","OrderStatus","NetworkEnum","PresetEnum","config"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n FusionSDK,\n NetworkEnum,\n type OrderInfo,\n type OrderParams,\n OrderStatus,\n type PreparedOrder,\n PresetEnum,\n type QuoteParams,\n type Web3Like,\n Web3ProviderConnector,\n} from '@1inch/fusion-sdk';\nimport type { Signer, TypedDataDomain, TypedDataField } from 'ethers';\n\n/**\n * Configuration for creating a 1inch Fusion order\n */\nexport interface FusionOrderConfig {\n /** Address of the token being sold (maker asset) */\n fromTokenAddress: string;\n /** Address of the token being bought (taker asset) */\n toTokenAddress: string;\n /** Amount of fromToken to sell (in wei/smallest unit) */\n amount: string;\n /** Wallet address creating the order */\n walletAddress: string;\n /** Optional receiver address (defaults to maker address) */\n receiverAddress?: string;\n /** Preset type to use for the order */\n preset?: 'fast' | 'medium' | 'slow' | 'custom';\n /** Custom preset configuration (only used if preset is 'custom') */\n customPreset?: {\n auctionDuration: number;\n auctionStartAmount: string;\n auctionEndAmount: string;\n points?: Array<{ delay: number; coefficient: number }>;\n };\n /** Enable price estimation */\n enableEstimate?: boolean;\n /** Fee in basis points (100 = 1%) */\n fee?: number;\n /** Enable surplus fee */\n surplus?: boolean;\n}\n\nexport interface TypedDataSigner {\n _signTypedData(\n domain: TypedDataDomain,\n types: Record<string, Array<TypedDataField>>,\n value: Record<string, unknown>\n ): Promise<string>;\n}\n\n/**\n * Signer interface for signing orders (compatible with ethers v5/v6)\n */\nexport interface OrderSigner extends TypedDataSigner {\n getAddress(): Promise<string>;\n}\n\n/**\n * Result of creating a fusion order\n */\nexport interface CreateFusionOrderResult {\n /** The order structure */\n order: PreparedOrder;\n /** Quote information used to create the order */\n quoteId: string;\n /** Settlement contract address */\n settlementAddress: string;\n /** Extension data */\n extension: string;\n /** Order hash */\n orderHash: string;\n}\n\n/**\n * Result of signing a fusion order\n */\nexport interface SignFusionOrderResult {\n /** The signed order ready for submission */\n order: PreparedOrder;\n /** The signature */\n signature: string;\n /** Order hash */\n orderHash: string;\n /** Quote ID */\n quoteId: string;\n}\n\nexport async function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Client for creating and signing 1inch Fusion orders using the official SDK\n */\nexport class FusionClient {\n private sdk: FusionSDK;\n private networkId: NetworkEnum;\n private baseUrl: string;\n private chainId: number;\n private web3Provider: Web3ProviderConnector;\n private signer: Signer;\n private approveAllowance: (\n contractAddress: string,\n spender: string,\n quantity: string,\n signer: Signer\n ) => Promise<void>;\n\n constructor(\n chainId: number,\n provider: Web3Like,\n signer: Signer,\n baseUrl: string,\n approveAllowance: (\n contractAddress: string,\n spender: string,\n quantity: string,\n signer: Signer\n ) => Promise<void>,\n authKey?: string\n ) {\n // Map chainId to NetworkEnum\n\n this.networkId = this.getNetworkEnum(chainId);\n this.baseUrl = baseUrl;\n\n this.chainId = chainId;\n this.web3Provider = new Web3ProviderConnector(provider);\n this.signer = signer;\n this.approveAllowance = approveAllowance;\n\n // Initialize the Fusion SDK\n this.sdk = new FusionSDK({\n url: `${baseUrl}/fusion`,\n network: this.networkId,\n blockchainProvider: this.web3Provider,\n authKey, // Optional API key for better rate limits\n });\n }\n\n async getNativeSwapQuote(fromToken: string, toToken: string, amount: string) {\n const baseUrl = `${this.baseUrl}/swap/v6.1/${this.chainId}/quote`;\n const params = new URLSearchParams({\n src: fromToken,\n dst: toToken,\n amount,\n });\n\n const url = `${baseUrl}?${params}`;\n try {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const quote = response.json();\n return quote;\n } catch (e) {\n console.error(e);\n }\n }\n\n async swapNativeToken(address: string, fromToken: string, toToken: string, amount: string) {\n // const quote = await this.getNativeSwapQuote(fromToken, toToken, amount);\n\n const baseUrl = `${this.baseUrl}/swap/v6.1/${this.chainId}/swap`;\n const params = new URLSearchParams({\n src: fromToken,\n dst: toToken,\n amount,\n from: address,\n origin: address,\n slippage: '1',\n });\n const url = `${baseUrl}?${params}`;\n try {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const callData = await response.json();\n\n await this.signer.sendTransaction(callData.tx);\n\n return callData;\n } catch (e) {\n console.error(e);\n }\n }\n\n private isNativeToken(token: string) {\n return token === '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\n }\n\n /**\n * Gets the wrapped token address for a given chain ID\n */\n private getWrappedTokenAddress(chainId: number): string {\n switch (chainId) {\n case 1: // Ethereum\n return '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'; // WETH\n case 137: // Polygon\n return '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270'; // WMATIC\n case 8453: // Base\n return '0x4200000000000000000000000000000000000006'; // WETH\n default:\n // For now, return the same WETH address for all chains as requested\n return '0x4200000000000000000000000000000000000006';\n }\n }\n\n /**\n * Creates a fusion order based on the provided configuration\n */\n async createFusionOrder(config: FusionOrderConfig): Promise<CreateFusionOrderResult> {\n try {\n // const fromToken = config.fromTokenAddress;\n\n if (this.isNativeToken(config.fromTokenAddress)) {\n const wrappedToken = this.getWrappedTokenAddress(this.chainId);\n\n // If user is trying to swap native token to wrapped token, use direct swap\n if (config.toTokenAddress.toLowerCase() === wrappedToken.toLowerCase()) {\n await this.swapNativeToken(\n config.walletAddress,\n config.fromTokenAddress,\n wrappedToken,\n config.amount\n );\n // Return early since this is a direct swap, not a fusion order\n throw new Error('Direct native to wrapped token swap completed. No fusion order needed.');\n }\n\n throw new Error(\n `Cannot create fusion order with native token. Please swap to wrapped token first: ${wrappedToken}`\n );\n }\n\n const orderParams: OrderParams = {\n fromTokenAddress: config.fromTokenAddress,\n toTokenAddress: config.toTokenAddress,\n amount: config.amount,\n walletAddress: config.walletAddress,\n receiver: config.receiverAddress,\n preset: this.mapPresetToEnum(config.preset),\n };\n\n // Create the order using SDK\n const orderData = await this.sdk.createOrder(orderParams);\n\n return {\n order: orderData,\n quoteId: orderData.quoteId,\n settlementAddress: orderData.order.settlementExtensionContract.toString(),\n extension: orderData.order.extension.encode(),\n orderHash: orderData.hash,\n };\n } catch (error) {\n console.error('Error creating fusion order:', error);\n throw new Error(\n `Failed to create fusion order: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n\n /**\n * Signs a fusion order using EIP-712\n */\n async signFusionOrder(orderResult: CreateFusionOrderResult): Promise<SignFusionOrderResult> {\n try {\n const { order } = orderResult.order;\n\n await this.approveAllowance(\n order.makerAsset.toString(),\n '0x111111125421cA6dc452d289314280a0f8842A65',\n order.makingAmount.toString(),\n this.signer\n );\n\n const signature = await this.sdk.signOrder(orderResult.order.order);\n\n return {\n order: orderResult.order,\n signature,\n orderHash: orderResult.orderHash,\n quoteId: orderResult.quoteId,\n };\n } catch (error) {\n console.error('Error signing fusion order:', error);\n throw new Error(\n `Failed to sign fusion order: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n\n /**\n * Submits a signed fusion order to the 1inch relayer\n */\n async submitFusionOrder(signedOrderResult: SignFusionOrderResult): Promise<OrderInfo> {\n try {\n const info = await this.sdk.submitOrder(\n signedOrderResult.order.order,\n signedOrderResult.quoteId\n );\n return info;\n } catch (error) {\n console.error('Error submitting fusion order:', error);\n throw new Error(\n `Failed to submit fusion order: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n\n /**\n * Creates, signs, and submits a fusion order in one call\n */\n async createAndSubmitFusionOrder(config: FusionOrderConfig): Promise<OrderInfo> {\n const orderResult = await this.createFusionOrder(config);\n const signResult = await this.signFusionOrder(orderResult);\n return await this.submitFusionOrder(signResult);\n }\n\n async getOrderStatus(info: OrderInfo) {\n while (true) {\n try {\n const data = await this.sdk.getOrderStatus(info.orderHash);\n\n if (data.status === OrderStatus.Filled) {\n console.log('fills', data.fills);\n return data;\n }\n\n if (data.status === OrderStatus.Expired) {\n console.log('Order Expired');\n return data;\n }\n\n if (data.status === OrderStatus.Cancelled) {\n console.log('Order Cancelled');\n return data;\n }\n await sleep(10_000);\n } catch (e) {\n console.log(e);\n }\n }\n }\n\n async getTokens(tokens: Array<string>) {\n const url = `${this.baseUrl}/token/v1.2/${this.chainId}/custom`;\n const params = new URLSearchParams();\n const addresses = tokens;\n addresses.forEach((address) => params.append('addresses', address));\n const fullUrl = `${url}?${params.toString()}`;\n try {\n const response = await fetch(fullUrl);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = response.json();\n return data;\n } catch (e) {\n console.error(e);\n }\n }\n\n async getBalance(walletAddress: string) {\n const balanceUrl = `${this.baseUrl}/balance/v1.2/${this.chainId}/balances/${walletAddress}`;\n try {\n const response = await fetch(balanceUrl, {\n headers: { accept: 'application/json', 'content-type': 'application/json' },\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = await response.json();\n const tokenAddresses = Object.keys(data).filter((key) => parseInt(data[key]) > 0);\n const tokenDetails = await this.getTokens(tokenAddresses);\n const balanceData: Record<string, Record<string, string>> = {};\n Object.keys(tokenDetails).map((tokenAddress) => {\n const balance = data[tokenAddress];\n balanceData[tokenAddress] = { ...tokenDetails[tokenAddress], balance };\n });\n return balanceData;\n } catch (e) {\n console.error('Error fetching balances', e);\n return null;\n }\n }\n\n /**\n * Gets a quote from the 1inch quoter API\n */\n async getQuote(config: FusionOrderConfig) {\n if (this.isNativeToken(config.fromTokenAddress)) {\n const wrappedToken = this.getWrappedTokenAddress(this.chainId);\n\n // If user is trying to get quote for native token to wrapped token, return direct swap quote\n if (config.toTokenAddress.toLowerCase() === wrappedToken.toLowerCase()) {\n return await this.getNativeSwapQuote(config.fromTokenAddress, wrappedToken, config.amount);\n }\n\n throw new Error(\n `Cannot get fusion quote with native token. Please use wrapped token instead: ${wrappedToken}`\n );\n }\n\n try {\n const quoteParams: QuoteParams = {\n fromTokenAddress: config.fromTokenAddress,\n toTokenAddress: config.toTokenAddress,\n amount: config.amount,\n walletAddress: config.walletAddress,\n enableEstimate: false,\n source: '0xe26b9977',\n };\n\n return await this.sdk.getQuote(quoteParams);\n } catch (error) {\n console.error('Error fetching quote:', error);\n throw new Error(\n `Failed to fetch quote: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n\n /**\n * Maps chain ID to NetworkEnum\n */\n private getNetworkEnum(chainId: number): NetworkEnum {\n switch (chainId) {\n case 1:\n return NetworkEnum.ETHEREUM;\n case 56:\n return NetworkEnum.BINANCE;\n case 137:\n return NetworkEnum.POLYGON;\n case 42161:\n return NetworkEnum.ARBITRUM;\n case 10:\n return NetworkEnum.OPTIMISM;\n case 8453:\n return NetworkEnum.COINBASE;\n case 43114:\n return NetworkEnum.AVALANCHE;\n case 250:\n return NetworkEnum.FANTOM;\n case 100:\n return NetworkEnum.GNOSIS;\n default:\n throw new Error(`Unsupported chain ID: ${chainId}`);\n }\n }\n\n /**\n * Maps preset string to PresetEnum\n */\n private mapPresetToEnum(preset?: string): PresetEnum {\n switch (preset) {\n case 'fast':\n return PresetEnum.fast;\n case 'medium':\n return PresetEnum.medium;\n case 'slow':\n return PresetEnum.slow;\n case 'custom':\n return PresetEnum.custom;\n default:\n return PresetEnum.medium;\n }\n }\n}\n","import type { Signer } from 'ethers';\n\nimport { FusionClient } from './fusion-client.js';\n\n/**\n * Configuration for creating a 1inch Fusion client\n */\nexport interface FusionClientConfig {\n chainId: number;\n /** Custom API URLs (optional, will use defaults if not provided) */\n apiUrl: string;\n signer: Signer;\n approveAllowance: (\n contractAddress: string,\n spender: string,\n quantity: string,\n signer: Signer\n ) => Promise<void>;\n}\n\n/**\n * Creates a new 1inch Fusion order client\n */\nexport function createFusionClient(config: FusionClientConfig): FusionClient {\n const web3Provider = {\n eth: {\n //@ts-expect-error add call to ethers\n call: async (config: TransactionConfig) => {\n if (!config.signer.provider) throw new Error('Provider not available');\n return await config.signer.provider.call({\n to: config.to,\n data: config.data,\n });\n },\n },\n extend: (extension: { methods?: { name: string }[] }) => {\n const methods = extension.methods || [];\n const extended = {};\n\n methods.forEach((method: { name: string }) => {\n if (method.name === 'signTypedDataV4') {\n //@ts-expect-error add typedDataSigner to ethers\n extended.signTypedDataV4 = async (walletAddress: string, typedDataString: string) => {\n const typedData = JSON.parse(typedDataString);\n const { domain, types, message } = typedData;\n\n // Remove EIP712Domain from types\n const cleanTypes = { ...types };\n delete cleanTypes.EIP712Domain;\n return await config.signer.signTypedData(domain, cleanTypes, message);\n };\n }\n });\n\n return extended;\n },\n };\n return new FusionClient(\n config.chainId,\n web3Provider,\n config.signer,\n config.apiUrl,\n config.approveAllowance\n );\n}\n"]}