@stableflow/core 3.0.0-beta-02a59f37a0-20260515

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/ApiError.ts","../src/core/CancelablePromise.ts","../src/core/OpenAPI.ts","../src/utils/log.ts","../src/core/request.ts","../src/core/Send.ts","../src/core/Service.ts","../src/models/GetExecutionStatusResponse.ts","../src/models/QuoteRequest.ts","../src/models/SubmitDepositTxResponse.ts","../src/models/TokenResponse.ts","../src/models/Status.ts","../src/services/SFA.ts","../src/wallets/config/rpcs.ts","../src/wallets/config/chains.ts","../src/wallets/config/usdt.ts","../src/wallets/config/usdt0.ts","../src/wallets/config/usdc.ts","../src/wallets/config/frxusd.ts","../src/wallets/config/tokens.ts","../src/wallets/config/addresses.ts","../src/wallets/config/erc20.ts","../src/utils/price.ts","../src/utils/number.ts","../src/utils/address.ts","../src/utils/exec-time.ts","../src/utils/error.ts","../src/utils/service.ts","../src/utils/cctp.ts"],"names":["request","resolve","Buffer","headers","csl","SendType","GetExecutionStatusResponse","status","QuoteRequest","depositMode","swapType","depositType","refundType","recipientType","SubmitDepositTxResponse","TokenResponse","blockchain","TransactionStatus","Big"],"mappings":"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","file":"index.mjs","sourcesContent":["/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise<T> implements Promise<T> {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise<T>;\n #resolve?: (value: T | PromiseLike<T>) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike<T>) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise<T>((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike<T>): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n if (this.#resolve) this.#resolve(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n if (this.#reject) this.#reject(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then<TResult1 = T, TResult2 = never>(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null\n ): Promise<TResult1 | TResult2> {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch<TResult = never>(\n onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null\n ): Promise<T | TResult> {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise<T> {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n if (this.#reject) this.#reject(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\ntype Headers = Record<string, string>;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver<string> | undefined;\n USERNAME?: string | Resolver<string> | undefined;\n PASSWORD?: string | Resolver<string> | undefined;\n HEADERS?: Headers | Resolver<Headers> | undefined;\n ENCODE_PATH?: ((path: string) => string) | undefined;\n DEBUG: boolean;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: 'https://api.stableflow.ai',\n VERSION: '1.0.0',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n DEBUG: false,\n};\n\n","export type StyleScale = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950;\nexport type StyleColor = \"red\" | \"yellow\" | \"green\" | \"blue\" | \"sky\" | \"teal\" | \"purple\" | \"pink\" | \"rose\" | \"gray\" | \"indigo\" | \"fuchsia\" | \"stone\" | \"lime\";\n\nconst logStyles: Record<`${StyleColor}-${StyleScale}`, string> = {\n \"red-50\": \"background:oklch(97.1% 0.013 17.38);color:#000;\",\n \"red-100\": \"background:oklch(93.6% 0.032 17.717);color:#000;\",\n \"red-200\": \"background:oklch(88.5% 0.062 18.334);color:#000;\",\n \"red-300\": \"background:oklch(80.8% 0.114 19.571);color:#000;\",\n \"red-400\": \"background:oklch(70.4% 0.191 22.216);color:#fff;\",\n \"red-500\": \"background:oklch(63.7% 0.237 25.331);color:#fff;\",\n \"red-600\": \"background:oklch(57.7% 0.245 27.325);color:#fff;\",\n \"red-700\": \"background:oklch(50.5% 0.213 27.518);color:#fff;\",\n \"red-800\": \"background:oklch(44.4% 0.177 26.899);color:#fff;\",\n \"red-900\": \"background:oklch(39.6% 0.141 25.723);color:#fff;\",\n \"red-950\": \"background:oklch(25.8% 0.092 26.042);color:#fff;\",\n\n \"yellow-50\": \"background:oklch(98.73% 0.0262 102.21);color:#000;\",\n \"yellow-100\": \"background:oklch(97.29% 0.0693 103.19);color:#000;\",\n \"yellow-200\": \"background:oklch(94.51% 0.1243 101.54);color:#000;\",\n \"yellow-300\": \"background:oklch(90.52% 0.1657 98.11);color:#000;\",\n \"yellow-400\": \"background:oklch(86.06% 0.1731 91.94);color:#fff;\",\n \"yellow-500\": \"background:oklch(79.52% 0.1617 86.05);color:#fff;\",\n \"yellow-600\": \"background:oklch(68.06% 0.1423 75.83);color:#fff;\",\n \"yellow-700\": \"background:oklch(55.38% 0.1207 66.44);color:#fff;\",\n \"yellow-800\": \"background:oklch(47.62% 0.1034 61.91);color:#fff;\",\n \"yellow-900\": \"background:oklch(42.1% 0.0897 57.71);color:#fff;\",\n \"yellow-950\": \"background:oklch(28.57% 0.0639 53.81);color:#fff;\",\n\n \"green-50\": \"background:oklch(98.19% 0.0181 155.83);color:#000;\",\n \"green-100\": \"background:oklch(96.24% 0.0434 156.74);color:#000;\",\n \"green-200\": \"background:oklch(92.5% 0.0806 155.99);color:#000;\",\n \"green-300\": \"background:oklch(87.12% 0.1363 154.45);color:#000;\",\n \"green-400\": \"background:oklch(80.03% 0.1821 151.71);color:#fff;\",\n \"green-500\": \"background:oklch(72.27% 0.192 149.58);color:#fff;\",\n \"green-600\": \"background:oklch(62.71% 0.1699 149.21);color:#fff;\",\n \"green-700\": \"background:oklch(52.73% 0.1371 150.07);color:#fff;\",\n \"green-800\": \"background:oklch(44.79% 0.1083 151.33);color:#fff;\",\n \"green-900\": \"background:oklch(39.25% 0.0896 152.54);color:#fff;\",\n \"green-950\": \"background:oklch(26.64% 0.0628 152.93);color:#fff;\",\n\n \"blue-50\": \"background:oklch(97.05% 0.0142 254.6);color:#000;\",\n \"blue-100\": \"background:oklch(93.19% 0.0316 255.59);color:#000;\",\n \"blue-200\": \"background:oklch(88.23% 0.0571 254.13);color:#000;\",\n \"blue-300\": \"background:oklch(80.91% 0.0956 251.81);color:#000;\",\n \"blue-400\": \"background:oklch(71.37% 0.1434 254.62);color:#fff;\",\n \"blue-500\": \"background:oklch(62.31% 0.188 259.81);color:#fff;\",\n \"blue-600\": \"background:oklch(54.61% 0.2152 262.88);color:#fff;\",\n \"blue-700\": \"background:oklch(48.82% 0.2172 264.38);color:#fff;\",\n \"blue-800\": \"background:oklch(42.44% 0.1809 265.64);color:#fff;\",\n \"blue-900\": \"background:oklch(37.91% 0.1378 265.52);color:#fff;\",\n \"blue-950\": \"background:oklch(28.23% 0.0874 267.94);color:#fff;\",\n\n \"sky-50\": \"background:oklch(97.71% 0.0125 236.62);color:#000;\",\n \"sky-100\": \"background:oklch(95.14% 0.025 236.82);color:#000;\",\n \"sky-200\": \"background:oklch(90.14% 0.0555 230.9);color:#000;\",\n \"sky-300\": \"background:oklch(82.76% 0.1013 230.32);color:#000;\",\n \"sky-400\": \"background:oklch(75.35% 0.139 232.66);color:#fff;\",\n \"sky-500\": \"background:oklch(68.47% 0.1479 237.32);color:#fff;\",\n \"sky-600\": \"background:oklch(58.76% 0.1389 241.97);color:#fff;\",\n \"sky-700\": \"background:oklch(50% 0.1193 242.75);color:#fff;\",\n \"sky-800\": \"background:oklch(44.34% 0.1 240.79);color:#fff;\",\n \"sky-900\": \"background:oklch(39.12% 0.0845 240.88);color:#fff;\",\n \"sky-950\": \"background:oklch(29.35% 0.0632 243.16);color:#fff;\",\n\n \"teal-50\": \"background:oklch(98.36% 0.0142 180.72);color:#000;\",\n \"teal-100\": \"background:oklch(95.27% 0.0498 180.8);color:#000;\",\n \"teal-200\": \"background:oklch(91% 0.0927 180.43);color:#000;\",\n \"teal-300\": \"background:oklch(85.49% 0.1251 181.07);color:#000;\",\n \"teal-400\": \"background:oklch(78.45% 0.1325 181.91);color:#fff;\",\n \"teal-500\": \"background:oklch(70.38% 0.123 182.5);color:#fff;\",\n \"teal-600\": \"background:oklch(60.02% 0.1038 184.7);color:#fff;\",\n \"teal-700\": \"background:oklch(51.09% 0.0861 186.39);color:#fff;\",\n \"teal-800\": \"background:oklch(43.7% 0.0705 188.22);color:#fff;\",\n \"teal-900\": \"background:oklch(38.61% 0.059 188.42);color:#fff;\",\n \"teal-950\": \"background:oklch(27.73% 0.0447 192.52);color:#fff;\",\n\n \"purple-50\": \"background:oklch(97.68% 0.0142 308.3);color:#000;\",\n \"purple-100\": \"background:oklch(94.64% 0.0327 307.17);color:#000;\",\n \"purple-200\": \"background:oklch(90.24% 0.0604 306.7);color:#000;\",\n \"purple-300\": \"background:oklch(82.68% 0.1082 306.38);color:#000;\",\n \"purple-400\": \"background:oklch(72.17% 0.1767 305.5);color:#fff;\",\n \"purple-500\": \"background:oklch(62.68% 0.2325 303.9);color:#fff;\",\n \"purple-600\": \"background:oklch(55.75% 0.2525 302.32);color:#fff;\",\n \"purple-700\": \"background:oklch(49.55% 0.2369 301.92);color:#fff;\",\n \"purple-800\": \"background:oklch(43.83% 0.1983 303.72);color:#fff;\",\n \"purple-900\": \"background:oklch(38.07% 0.1661 304.99);color:#fff;\",\n \"purple-950\": \"background:oklch(29.05% 0.1432 302.72);color:#fff;\",\n\n \"pink-50\": \"background:oklch(97.14% 0.0141 343.2);color:#000;\",\n \"pink-100\": \"background:oklch(94.82% 0.0276 342.26);color:#000;\",\n \"pink-200\": \"background:oklch(89.94% 0.0589 343.23);color:#000;\",\n \"pink-300\": \"background:oklch(82.28% 0.1095 346.02);color:#000;\",\n \"pink-400\": \"background:oklch(72.53% 0.1752 349.76);color:#fff;\",\n \"pink-500\": \"background:oklch(65.59% 0.2118 354.31);color:#fff;\",\n \"pink-600\": \"background:oklch(59.16% 0.218 354.58);color:#fff;\",\n \"pink-700\": \"background:oklch(52.46% 0.199 353.96);color:#fff;\",\n \"pink-800\": \"background:oklch(45.87% 0.1697 353.82);color:#fff;\",\n \"pink-900\": \"background:oklch(40.78% 0.1442 352.43);color:#fff;\",\n \"pink-950\": \"background:oklch(28.45% 0.1048 353.91);color:#fff;\",\n\n \"rose-50\": \"background:oklch(96.94% 0.0151 12.42);color:#000;\",\n \"rose-100\": \"background:oklch(94.14% 0.0297 12.58);color:#000;\",\n \"rose-200\": \"background:oklch(89.24% 0.0559 10);color:#000;\",\n \"rose-300\": \"background:oklch(80.97% 0.1061 11.64);color:#000;\",\n \"rose-400\": \"background:oklch(71.92% 0.169 13.43);color:#fff;\",\n \"rose-500\": \"background:oklch(64.5% 0.2154 16.44);color:#fff;\",\n \"rose-600\": \"background:oklch(58.58% 0.222 17.58);color:#fff;\",\n \"rose-700\": \"background:oklch(51.43% 0.1978 16.93);color:#fff;\",\n \"rose-800\": \"background:oklch(45.46% 0.1713 13.7);color:#fff;\",\n \"rose-900\": \"background:oklch(41.03% 0.1502 10.27);color:#fff;\",\n \"rose-950\": \"background:oklch(27.08% 0.1009 12.09);color:#fff;\",\n\n \"gray-50\": \"background:oklch(98.46% 0.0017 247.84);color:#000;\",\n \"gray-100\": \"background:oklch(96.7% 0.0029 264.54);color:#000;\",\n \"gray-200\": \"background:oklch(92.76% 0.0058 264.53);color:#000;\",\n \"gray-300\": \"background:oklch(87.17% 0.0093 258.34);color:#000;\",\n \"gray-400\": \"background:oklch(71.37% 0.0192 261.32);color:#fff;\",\n \"gray-500\": \"background:oklch(55.1% 0.0234 264.36);color:#fff;\",\n \"gray-600\": \"background:oklch(44.55% 0.0234 264.36);color:#fff;\",\n \"gray-700\": \"background:oklch(37.29% 0.0306 259.73);color:#fff;\",\n \"gray-800\": \"background:oklch(27.81% 0.0296 256.85);color:#fff;\",\n \"gray-900\": \"background:oklch(21.01% 0.0318 264.66);color:#fff;\",\n \"gray-950\": \"background:oklch(12.96% 0.0274 261.69);color:#fff;\",\n\n \"indigo-50\": \"background:oklch(96.2% 0.018 272.314);color:#000;\",\n \"indigo-100\": \"background:oklch(93% 0.034 272.788);color:#000;\",\n \"indigo-200\": \"background:oklch(87% 0.065 274.039);color:#000;\",\n \"indigo-300\": \"background:oklch(78.5% 0.115 274.713);color:#000;\",\n \"indigo-400\": \"background:oklch(67.3% 0.182 276.935);color:#fff;\",\n \"indigo-500\": \"background:oklch(58.5% 0.233 277.117);color:#fff;\",\n \"indigo-600\": \"background:oklch(51.1% 0.262 276.966);color:#fff;\",\n \"indigo-700\": \"background:oklch(45.7% 0.24 277.023);color:#fff;\",\n \"indigo-800\": \"background:oklch(39.8% 0.195 277.366);color:#fff;\",\n \"indigo-900\": \"background:oklch(35.9% 0.144 278.697);color:#fff;\",\n \"indigo-950\": \"background:oklch(25.7% 0.09 281.288);color:#fff;\",\n\n \"fuchsia-50\": \"background:oklch(97.7% 0.017 320.058);color:#000;\",\n \"fuchsia-100\": \"background:oklch(95.2% 0.037 318.852);color:#000;\",\n \"fuchsia-200\": \"background:oklch(90.3% 0.076 319.62);color:#000;\",\n \"fuchsia-300\": \"background:oklch(83.3% 0.145 321.434);color:#000;\",\n \"fuchsia-400\": \"background:oklch(74% 0.238 322.16);color:#fff;\",\n \"fuchsia-500\": \"background:oklch(66.7% 0.295 322.15);color:#fff;\",\n \"fuchsia-600\": \"background:oklch(59.1% 0.293 322.896);color:#fff;\",\n \"fuchsia-700\": \"background:oklch(51.8% 0.253 323.949);color:#fff;\",\n \"fuchsia-800\": \"background:oklch(45.2% 0.211 324.591);color:#fff;\",\n \"fuchsia-900\": \"background:oklch(40.1% 0.17 325.612);color:#fff;\",\n \"fuchsia-950\": \"background:oklch(29.3% 0.136 325.661);color:#fff;\",\n\n \"stone-50\": \"background:oklch(98.5% 0.001 106.423);color:#000;\",\n \"stone-100\": \"background:oklch(97% 0.001 106.424);color:#000;\",\n \"stone-200\": \"background:oklch(92.3% 0.003 48.717);color:#000;\",\n \"stone-300\": \"background:oklch(86.9% 0.005 56.366);color:#000;\",\n \"stone-400\": \"background:oklch(70.9% 0.01 56.259);color:#fff;\",\n \"stone-500\": \"background:oklch(55.3% 0.013 58.071);color:#fff;\",\n \"stone-600\": \"background:oklch(44.4% 0.011 73.639);color:#fff;\",\n \"stone-700\": \"background:oklch(37.4% 0.01 67.558);color:#fff;\",\n \"stone-800\": \"background:oklch(26.8% 0.007 34.298);color:#fff;\",\n \"stone-900\": \"background:oklch(21.6% 0.006 56.043);color:#fff;\",\n \"stone-950\": \"background:oklch(14.7% 0.004 49.25);color:#fff;\",\n\n \"lime-50\": \"background:oklch(98.6% 0.031 120.757);color:#000;\",\n \"lime-100\": \"background:oklch(96.7% 0.067 122.328);color:#000;\",\n \"lime-200\": \"background:oklch(93.8% 0.127 124.321);color:#000;\",\n \"lime-300\": \"background:oklch(89.7% 0.196 126.665);color:#000;\",\n \"lime-400\": \"background:oklch(84.1% 0.238 128.85);color:#fff;\",\n \"lime-500\": \"background:oklch(76.8% 0.233 130.85);color:#fff;\",\n \"lime-600\": \"background:oklch(64.8% 0.2 131.684);color:#fff;\",\n \"lime-700\": \"background:oklch(53.2% 0.157 131.589);color:#fff;\",\n \"lime-800\": \"background:oklch(45.3% 0.124 130.933);color:#fff;\",\n \"lime-900\": \"background:oklch(40.5% 0.101 131.063);color:#fff;\",\n \"lime-950\": \"background:oklch(27.4% 0.072 132.109);color:#fff;\",\n};\n\nconst csl = (isDebug: boolean, type: string, style: `${StyleColor}-${StyleScale}`, str: string, ...args: any[]) => {\n if (!isDebug) {\n return;\n }\n\n const _style = logStyles[style] || logStyles[\"blue-400\"];\n console.log(`%c[StableFlowAiSDK]${type ? \".[\" + type + \"]\" : \"\"} ${str}`, _style, ...args);\n};\n\nexport class Csl {\n private isDebug: boolean;\n\n constructor(isDebug: boolean) {\n this.isDebug = isDebug;\n }\n\n public log = (type: string, style: `${StyleColor}-${StyleScale}`, str: string, ...args: any[]) => {\n csl(this.isDebug, type, style, str, ...args);\n }\n\n public info = (type: string, str: string, ...args: any[]) => {\n csl(this.isDebug, type, \"blue-400\", str, ...args);\n }\n\n public error = (type: string, str: string, ...args: any[]) => {\n csl(this.isDebug, type, \"red-400\", str, ...args);\n }\n\n public success = (type: string, str: string, ...args: any[]) => {\n csl(this.isDebug, type, \"green-400\", str, ...args);\n }\n\n public simple = (str: string, ...args: any[]) => {\n csl(this.isDebug, \"\", \"blue-400\", str, ...args);\n }\n}\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nimport axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios';\nimport FormData from 'form-data';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { Csl } from '../utils/log';\nimport { Buffer } from 'buffer';\n\nexport const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {\n return value !== undefined && value !== null;\n};\n\nexport const isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nexport const isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nexport const isSuccess = (status: number): boolean => {\n return status >= 200 && status < 300;\n};\n\nexport const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nexport const getQueryString = (params: Record<string, any>): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nexport const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver<T> = (options: ApiRequestOptions) => Promise<T>;\n\nexport const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver<T>)(options);\n }\n return resolver;\n};\n\nexport const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise<Record<string, string>> => {\n const [token, username, password, additionalHeaders] = await Promise.all([\n resolve(options, config.TOKEN),\n resolve(options, config.USERNAME),\n resolve(options, config.PASSWORD),\n resolve(options, config.HEADERS),\n ]);\n\n const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n ...formHeaders,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record<string, string>);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body !== undefined) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return headers;\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body) {\n return options.body;\n }\n return undefined;\n};\n\nexport const sendRequest = async <T>(\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Record<string, string>,\n onCancel: OnCancel,\n axiosClient: AxiosInstance\n): Promise<AxiosResponse<T>> => {\n const source = axios.CancelToken.source();\n\n const requestConfig: AxiosRequestConfig = {\n url,\n headers,\n data: body ?? formData,\n method: options.method,\n withCredentials: config.WITH_CREDENTIALS,\n withXSRFToken: config.CREDENTIALS === 'include' ? config.WITH_CREDENTIALS : false,\n cancelToken: source.token,\n };\n\n onCancel(() => source.cancel('The user aborted a request.'));\n\n try {\n return await axiosClient.request(requestConfig);\n } catch (error) {\n const axiosError = error as AxiosError<T>;\n if (axiosError.response) {\n return axiosError.response;\n }\n throw error;\n }\n};\n\nexport const getResponseHeader = (response: AxiosResponse<any>, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers[responseHeader];\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nexport const getResponseBody = (response: AxiosResponse<any>): any => {\n if (response.status !== 204) {\n return response.data;\n }\n return undefined;\n};\n\nexport const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(options, result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n );\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @param axiosClient The axios client instance to use\n * @returns CancelablePromise<T>\n * @throws ApiError\n */\nexport const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise<T> => {\n const csl = new Csl(config.DEBUG);\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options, formData);\n\n csl.simple('\\n🔵 ========== API Request ==========');\n csl.simple('Method:', options.method);\n csl.simple('URL:', url);\n csl.simple('Headers:', JSON.stringify(headers, null, 2));\n if (body) {\n csl.simple('Body:', JSON.stringify(body, null, 2));\n }\n if (formData) {\n csl.simple('FormData:', formData);\n }\n csl.simple('====================================\\n');\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, axiosClient);\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n csl.simple('\\n🟢 ========== API Response ==========');\n csl.simple('Status:', response.status, response.statusText);\n csl.simple('Response Headers:', JSON.stringify(response.headers, null, 2));\n csl.simple('Response Body:', JSON.stringify(responseBody, null, 2));\n csl.simple('=====================================\\n');\n\n resolve(result.body);\n }\n } catch (error) {\n csl.simple('\\n🔴 ========== API Error ==========');\n csl.simple('Error:', error);\n if (error instanceof ApiError) {\n csl.simple('Status:', error.status);\n csl.simple('Status Text:', error.statusText);\n csl.simple('URL:', error.url);\n csl.simple('Body:', JSON.stringify(error.body, null, 2));\n }\n csl.simple('==================================\\n');\n reject(error);\n }\n });\n};\n\n","export enum SendType {\n SEND = 'SEND',\n TRANSFER = 'TRANSFER',\n}\n","/**\n * @deprecated Please use Service instead\n */\nexport type ServiceType = \"oneclick\" | \"usdt0\" | \"cctp\" | \"fraxzero\" | \"fraxzero-oneclick\" | \"oneclick-fraxzero\" | \"usdt0-oneclick\" | \"oneclick-usdt0\" | \"native\";\n\nexport const Service = {\n OneClick: \"oneclick\",\n Usdt0: \"usdt0\",\n CCTP: \"cctp\",\n FraxZero: \"fraxzero\",\n FraxZeroOneClick: \"fraxzero-oneclick\",\n OneClickFraxZero: \"oneclick-fraxzero\",\n Usdt0OneClick: \"usdt0-oneclick\",\n OneClickUsdt0: \"oneclick-usdt0\",\n Native: \"native\",\n} as const;\nexport type Service = (typeof Service)[keyof typeof Service];\n\nexport const ServiceBackend: Record<Service, string> = {\n [Service.OneClick]: \"nearintents\",\n [Service.Usdt0]: \"layerzero\",\n [Service.CCTP]: \"cctp\",\n [Service.FraxZero]: \"fraxzero\",\n [Service.FraxZeroOneClick]: \"fraxzerointent\",\n [Service.OneClickFraxZero]: \"intentfraxzero\",\n [Service.Usdt0OneClick]: \"zerointent\",\n [Service.OneClickUsdt0]: \"intentzero\",\n [Service.Native]: \"native\",\n} as const;\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nimport type { QuoteResponse } from './QuoteResponse';\nimport type { SwapDetails } from './SwapDetails';\nexport type GetExecutionStatusResponse = {\n /**\n * Quote response from the original request\n */\n quoteResponse: QuoteResponse;\n status: GetExecutionStatusResponse.status;\n /**\n * Last time the state was updated\n */\n updatedAt: string;\n /**\n * Details of actual swaps and withdrawals\n */\n swapDetails: SwapDetails;\n};\nexport namespace GetExecutionStatusResponse {\n export enum status {\n KNOWN_DEPOSIT_TX = 'KNOWN_DEPOSIT_TX',\n PENDING_DEPOSIT = 'PENDING_DEPOSIT',\n INCOMPLETE_DEPOSIT = 'INCOMPLETE_DEPOSIT',\n PROCESSING = 'PROCESSING',\n SUCCESS = 'SUCCESS',\n REFUNDED = 'REFUNDED',\n FAILED = 'FAILED',\n }\n}\n\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AppFee } from './AppFee';\nexport type QuoteRequest = {\n /**\n * Flag indicating whether this is a dry run request.\n * If `true`, the response will **NOT** contain the following fields:\n * - `depositAddress`\n * - `timeWhenInactive`\n * - `deadline`\n */\n dry: boolean;\n /**\n * What deposit address mode you will get in the response, most chain supports only `SIMPLE` and some(for example `stellar`) only `MEMO`:\n * - `SIMPLE` - usual deposit with only deposit address.\n * - `MEMO` - some chains will **REQUIRE** the `memo` together with `depositAddress` for swap to work.\n */\n depositMode?: QuoteRequest.depositMode;\n /**\n * How to interpret `amount` when performing the swap:\n * - `EXACT_INPUT` - requests the output amount for an exact input.\n * - `EXACT_OUTPUT` - requests the input amount for an exact output. The `refundTo` address always receives any excess tokens after the swap is complete.\n * - `FLEX_INPUT` - a flexible input amount that allows for partial deposits and variable amounts.\n */\n swapType: QuoteRequest.swapType;\n /**\n * Slippage tolerance for the swap. This value is in basis points (1/100th of a percent), e.g. 100 for 1% slippage.\n */\n slippageTolerance: number;\n /**\n * ID of the origin asset.\n */\n originAsset: string;\n /**\n * Type of deposit address:\n * - `ORIGIN_CHAIN` - deposit address on the origin chain.\n * - `INTENTS` - the account ID within NEAR Intents to which you should transfer assets.\n */\n depositType: QuoteRequest.depositType;\n /**\n * ID of the destination asset.\n */\n destinationAsset: string;\n /**\n * Amount to swap as the base amount. It is interpreted as the input or output amount based on the `swapType` flag and is specified in the smallest unit of the currency (e.g., wei for ETH).\n */\n amount: string;\n /**\n * Address used for refunds.\n */\n refundTo: string;\n /**\n * Type of refund address:\n * - `ORIGIN_CHAIN` - assets are refunded to the `refundTo` address on the origin chain.\n * - `INTENTS` - assets are refunded to the `refundTo` Intents account.\n */\n refundType: QuoteRequest.refundType;\n /**\n * Recipient address. The format must match `recipientType`.\n */\n recipient: string;\n /**\n * EVM address of a transfer recipient in a virtual chain\n */\n virtualChainRecipient?: string;\n /**\n * EVM address of a refund recipient in a virtual chain\n */\n virtualChainRefundRecipient?: string;\n /**\n * Type of recipient address:\n * - `DESTINATION_CHAIN` - assets are transferred to the chain of `destinationAsset`.\n * - `INTENTS` - assets are transferred to an account inside Intents\n */\n recipientType: QuoteRequest.recipientType;\n /**\n * Timestamp in ISO format that identifies when the user refund begins if the swap isn't completed by then. It must exceed the time required for the deposit transaction to be mined. For example, Bitcoin may require around one hour depending on the fees paid.\n */\n deadline: string;\n /**\n * Referral identifier (lowercase only). It will be reflected in the on-chain data and displayed on public analytics platforms.\n */\n referral?: string;\n /**\n * Time in milliseconds the user is willing to wait for a quote from the relay.\n */\n quoteWaitingTimeMs?: number;\n /**\n * List of recipients and their fees\n */\n appFees?: Array<AppFee>;\n};\nexport namespace QuoteRequest {\n /**\n * What deposit address mode you will get in the response, most chain supports only `SIMPLE` and some(for example `stellar`) only `MEMO`:\n * - `SIMPLE` - usual deposit with only deposit address.\n * - `MEMO` - some chains will **REQUIRE** the `memo` together with `depositAddress` for swap to work.\n */\n export enum depositMode {\n SIMPLE = 'SIMPLE',\n MEMO = 'MEMO',\n }\n /**\n * How to interpret `amount` when performing the swap:\n * - `EXACT_INPUT` - requests the output amount for an exact input.\n * - `EXACT_OUTPUT` - requests the input amount for an exact output. The `refundTo` address always receives any excess tokens after the swap is complete.\n * - `FLEX_INPUT` - a flexible input amount that allows for partial deposits and variable amounts.\n */\n export enum swapType {\n EXACT_INPUT = 'EXACT_INPUT',\n EXACT_OUTPUT = 'EXACT_OUTPUT',\n FLEX_INPUT = 'FLEX_INPUT',\n }\n /**\n * Type of deposit address:\n * - `ORIGIN_CHAIN` - deposit address on the origin chain.\n * - `INTENTS` - the account ID within NEAR Intents to which you should transfer assets.\n */\n export enum depositType {\n ORIGIN_CHAIN = 'ORIGIN_CHAIN',\n INTENTS = 'INTENTS',\n }\n /**\n * Type of refund address:\n * - `ORIGIN_CHAIN` - assets are refunded to the `refundTo` address on the origin chain.\n * - `INTENTS` - assets are refunded to the `refundTo` Intents account.\n */\n export enum refundType {\n ORIGIN_CHAIN = 'ORIGIN_CHAIN',\n INTENTS = 'INTENTS',\n }\n /**\n * Type of recipient address:\n * - `DESTINATION_CHAIN` - assets are transferred to the chain of `destinationAsset`.\n * - `INTENTS` - assets are transferred to an account inside Intents\n */\n export enum recipientType {\n DESTINATION_CHAIN = 'DESTINATION_CHAIN',\n INTENTS = 'INTENTS',\n }\n}\n\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nimport type { QuoteResponse } from './QuoteResponse';\nimport type { SwapDetails } from './SwapDetails';\nexport type SubmitDepositTxResponse = {\n /**\n * Quote response from the original request\n */\n quoteResponse: QuoteResponse;\n status: SubmitDepositTxResponse.status;\n /**\n * Last time the state was updated\n */\n updatedAt: string;\n /**\n * Details of actual swaps and withdrawals\n */\n swapDetails: SwapDetails;\n};\nexport namespace SubmitDepositTxResponse {\n export enum status {\n KNOWN_DEPOSIT_TX = 'KNOWN_DEPOSIT_TX',\n PENDING_DEPOSIT = 'PENDING_DEPOSIT',\n INCOMPLETE_DEPOSIT = 'INCOMPLETE_DEPOSIT',\n PROCESSING = 'PROCESSING',\n SUCCESS = 'SUCCESS',\n REFUNDED = 'REFUNDED',\n FAILED = 'FAILED',\n }\n}\n\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nexport type TokenResponse = {\n /**\n * Unique asset identifier\n */\n assetId: string;\n /**\n * Number of decimals for the token\n */\n decimals: number;\n /**\n * Blockchain associated with the token\n */\n blockchain: TokenResponse.blockchain;\n /**\n * Token symbol (e.g. BTC, ETH)\n */\n symbol: string;\n /**\n * Current price of the token in USD\n */\n price: number;\n /**\n * Date when the token price was last updated\n */\n priceUpdatedAt: string;\n /**\n * Contract address of the token\n */\n contractAddress?: string;\n};\nexport namespace TokenResponse {\n /**\n * Blockchain associated with the token\n */\n export enum blockchain {\n NEAR = 'near',\n ETH = 'eth',\n BASE = 'base',\n ARB = 'arb',\n BTC = 'btc',\n SOL = 'sol',\n TON = 'ton',\n DOGE = 'doge',\n XRP = 'xrp',\n ZEC = 'zec',\n GNOSIS = 'gnosis',\n BERA = 'bera',\n BSC = 'bsc',\n POL = 'pol',\n TRON = 'tron',\n SUI = 'sui',\n OP = 'op',\n AVAX = 'avax',\n CARDANO = 'cardano',\n }\n}\n\n","export enum TransactionStatus {\n Pending = \"pending\",\n Success = \"success\",\n Failed = \"failed\",\n}\n","/* StableFlow AI SDK */\n/* tslint:disable */\n/* eslint-disable */\nimport type { GetExecutionStatusResponse } from '../models/GetExecutionStatusResponse';\nimport type { QuoteRequest } from '../models/QuoteRequest';\nimport type { QuoteResponse } from '../models/QuoteResponse';\nimport type { SubmitDepositTxRequest } from '../models/SubmitDepositTxRequest';\nimport type { SubmitDepositTxResponse } from '../models/SubmitDepositTxResponse';\nimport type { TokenResponse } from '../models/TokenResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\n\nexport const submitOneclickDepositTx = (\n requestBody: SubmitDepositTxRequest,\n): CancelablePromise<SubmitDepositTxResponse> => {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/v0/deposit/submit',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request - Invalid input data`,\n 401: `Unauthorized - JWT token is invalid`,\n },\n });\n};\n\n/**\n * StableFlow AI Service — HTTP API helpers.\n *\n * For full cross-chain bridge flows (multi-route quote, send, per-bridge status),\n * install and use `@stableflow/bridges` (`BridgeSFA`).\n */\nexport class SFA {\n /**\n * Get supported tokens\n * Retrieves a list of tokens currently supported by the StableFlow AI API for asset swaps.\n */\n public static getTokens(): CancelablePromise<Array<TokenResponse>> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/v0/tokens',\n });\n }\n\n /**\n * Request a swap quote\n * Generates a swap quote based on input parameters such as the assets, amount, slippage tolerance, and recipient/refund information.\n */\n public static getQuote(\n requestBody: QuoteRequest,\n ): CancelablePromise<QuoteResponse> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/v0/quote',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad Request - Invalid input data`,\n 401: `Unauthorized - JWT token is invalid`,\n },\n });\n }\n\n /**\n * Check swap execution status\n * Retrieves the current status of a swap using the unique deposit address from the quote.\n */\n public static getExecutionStatus(\n depositAddress: string,\n depositMemo?: string,\n ): CancelablePromise<GetExecutionStatusResponse> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/v0/status',\n query: {\n 'depositAddress': depositAddress,\n 'depositMemo': depositMemo,\n },\n errors: {\n 401: `Unauthorized - JWT token is invalid`,\n 404: `Deposit address not found`,\n },\n });\n }\n\n /**\n * Submit deposit transaction hash (OneClick)\n * Optionally notifies the service that a deposit has been sent to the specified address.\n */\n public static submitDepositTx = submitOneclickDepositTx;\n}\n","export const NetworkRpcUrlsMap: Record<string, string[]> = {\n \"eth\": [\"https://0xrpc.io/eth\"],\n \"arb\": [\"https://arb1.arbitrum.io/rpc\"],\n \"bsc\": [\"https://56.rpc.thirdweb.com\"],\n \"avax\": [\"https://api.avax.network/ext/bc/C/rpc\"],\n \"base\": [\"https://mainnet.base.org\"],\n \"pol\": [\"https://polygon-rpc.com\"],\n \"gnosis\": [\"https://rpc.gnosischain.com\"],\n \"op\": [\"https://mainnet.optimism.io\"],\n \"bera\": [\"https://rpc.berachain.com\"],\n \"tron\": [\"https://api.trongrid.io\"],\n \"aptos\": [\"https://api.mainnet.aptoslabs.com/v1\"],\n \"sol\": [\"https://solana-rpc.publicnode.com\"],\n \"near\": [\"https://nearinner.deltarpc.com\"],\n \"xlayer\": [\"https://rpc.xlayer.tech\"],\n \"plasma\": [\"https://rpc.plasma.to\"],\n \"mantle\": [\"https://rpc.mantle.xyz\", \"https://mantle-rpc.publicnode.com\"],\n \"megaeth\": [\"https://mainnet.megaeth.com/rpc\"],\n \"ink\": [\"https://rpc-gel.inkonchain.com\", \"https://rpc-qnd.inkonchain.com\"],\n \"stable\": [\"https://rpc.stable.xyz\"],\n \"celo\": [\"https://forno.celo.org\"],\n \"sei\": [\"https://sei-evm-rpc.publicnode.com\"],\n \"flare\": [\"https://flare-api.flare.network/ext/C/rpc\"],\n \"frax\": [\"https://rpc.frax.com\"],\n \"ton\": [\"https://toncenter.com/api/v2/jsonRPC\"],\n \"sui\": [\"https://fullnode.mainnet.sui.io:443\"],\n \"katana\": [\"https://rpc.katana.network\", \"https://katana.drpc.org\"],\n};\n\n/**\n * @deprecated Please use getChainRpcUrl instead\n * @param blockchain \n * @returns \n */\nexport const getRpcUrls = (blockchain: string): string[] => {\n return NetworkRpcUrlsMap[blockchain] || [];\n};\n\nexport const getChainRpcUrl = (blockchain: string): { rpcUrls: string[]; rpcUrl: string; } => {\n return {\n rpcUrls: NetworkRpcUrlsMap[blockchain],\n rpcUrl: NetworkRpcUrlsMap[blockchain][0],\n };\n};\n\nexport const setRpcUrls = (urls: Record<string, string[]>) => {\n for (const blockchain in urls) {\n const prev = NetworkRpcUrlsMap[blockchain] ?? [];\n const next = urls[blockchain];\n for (let i = next.length - 1; i >= 0; i--) {\n const rpc = next[i];\n if (prev.some((_rpc) => _rpc.toLowerCase() === rpc.toLowerCase())) {\n continue;\n }\n prev.unshift(rpc);\n }\n }\n return NetworkRpcUrlsMap;\n};\n","import { ChainConfig } from \"../../models/Chain\";\nimport { getChainRpcUrl } from \"./rpcs\";\n\nexport type ChainType = \"near\" | \"sol\" | \"evm\" | \"tron\" | \"aptos\" | \"ton\" | \"sui\";\n\nexport const chainTypes: Record<ChainType, { value: string; name: string; color: string; bg: string; bgColor: string; }> = {\n near: {\n value: \"near\",\n name: \"Near\",\n color: \"#56DEAD\",\n bgColor: \"#01ED97\",\n bg: \"linear-gradient(90deg, rgba(1, 237, 151, 0.20) 0%, rgba(1, 237, 151, 0.00) 50%)\",\n },\n sol: {\n value: \"sol\",\n name: \"Solana\",\n color: \"#987FF3\",\n bgColor: \"#282C34\",\n bg: \"linear-gradient(90deg, rgba(248, 108, 255, 0.20) 0%, rgba(248, 108, 255, 0.00) 50%)\",\n },\n evm: {\n value: \"evm\",\n name: \"EVM\",\n color: \"#C4CAE1\",\n bgColor: \"#6284F5\",\n bg: \"linear-gradient(90deg, rgba(185, 215, 255, 0.20) 0%, rgba(185, 215, 255, 0.00) 50%)\",\n },\n tron: {\n value: \"tron\",\n name: \"Tron\",\n color: \"#F66273\",\n bgColor: \"#D21F10\",\n bg: \"linear-gradient(90deg, rgba(210, 31, 16, 0.20) 0%, rgba(210, 31, 16, 0.00) 50%)\",\n },\n aptos: {\n value: \"aptos\",\n name: \"Aptos\",\n color: \"#000000\",\n bgColor: \"#000000\",\n bg: \"linear-gradient(90deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.00) 50%)\",\n },\n ton: {\n value: \"ton\",\n name: \"Ton\",\n color: \"#0098EA\",\n bgColor: \"#298DFF\",\n bg: \"linear-gradient(90deg, rgba(0, 152, 234, 0.20) 0%, rgba(0, 152, 234, 0.00) 50%)\",\n },\n sui: {\n value: \"sui\",\n name: \"Sui\",\n color: \"#298DFF\",\n bgColor: \"#298DFF\",\n bg: \"linear-gradient(90deg, rgba(41, 141, 255, 0.20) 0%, rgba(0, 152, 234, 0.00) 50%)\",\n },\n};\n\n/**\n * You should configure the chain images yourself\n * @param {string} name chain name\n * @returns {string}\n */\nconst getStableflowChainLogo = (name: string) => {\n return `/chains/${name}.png`;\n};\n\nconst chains: Record<string, ChainConfig> = {\n near: {\n chainName: \"Near\",\n blockchain: \"near\",\n chainIcon: getStableflowChainLogo(\"near\"),\n chainIconGray: getStableflowChainLogo(\"near-gray\"),\n chainType: chainTypes.near.value,\n blockExplorerUrl: \"https://nearblocks.io/txns\",\n blockExplorerUrls: [\"https://nearblocks.io\"],\n primaryColor: \"#76EA9E\",\n nativeToken: {\n symbol: \"NEAR\",\n decimals: 24,\n },\n ...getChainRpcUrl(\"near\"),\n },\n sol: {\n chainName: \"Solana\",\n blockchain: \"sol\",\n chainIcon: getStableflowChainLogo(\"solana\"),\n chainIconGray: getStableflowChainLogo(\"solana-gray\"),\n chainType: chainTypes.sol.value,\n blockExplorerUrl: \"https://solscan.io/tx\",\n blockExplorerUrls: [\"https://solscan.io\"],\n primaryColor: \"#B93EF0\",\n nativeToken: {\n symbol: \"SOL\",\n decimals: 9,\n },\n ...getChainRpcUrl(\"sol\"),\n },\n eth: {\n chainName: \"Ethereum\",\n blockchain: \"eth\",\n chainIcon: getStableflowChainLogo(\"Ethereum\"),\n chainIconGray: getStableflowChainLogo(\"Ethereum-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 1,\n blockExplorerUrl: \"https://etherscan.io/tx\",\n blockExplorerUrls: [\"https://etherscan.io\"],\n primaryColor: \"#7083ee\",\n nativeToken: {\n symbol: \"ETH\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"eth\"),\n },\n arb: {\n chainName: \"Arbitrum\",\n blockchain: \"arb\",\n chainIcon: getStableflowChainLogo(\"Arbitrum\"),\n chainIconGray: getStableflowChainLogo(\"Arbitrum-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 42161,\n blockExplorerUrl: \"https://arbiscan.io/tx\",\n blockExplorerUrls: [\"https://arbiscan.io\"],\n primaryColor: \"#4763A7\",\n nativeToken: {\n symbol: \"ETH\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"arb\"),\n },\n bsc: {\n chainName: \"BNB Chain\",\n blockchain: \"bsc\",\n chainIcon: getStableflowChainLogo(\"bsc\"),\n chainIconGray: getStableflowChainLogo(\"bsc-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 56,\n blockExplorerUrl: \"https://bscscan.com/tx\",\n blockExplorerUrls: [\"https://bscscan.com\"],\n primaryColor: \"#F1C144\",\n nativeToken: {\n symbol: \"BNB\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"bsc\"),\n },\n avax: {\n chainName: \"Avalanche\",\n blockchain: \"avax\",\n chainIcon: getStableflowChainLogo(\"Avalanche\"),\n chainIconGray: getStableflowChainLogo(\"Avalanche-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 43114,\n blockExplorerUrl: \"https://snowtrace.io/tx\",\n blockExplorerUrls: [\"https://snowtrace.io\"],\n primaryColor: \"#9D2620\",\n nativeToken: {\n symbol: \"AVAX\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"avax\"),\n },\n base: {\n chainName: \"Base\",\n blockchain: \"base\",\n chainIcon: getStableflowChainLogo(\"Base\"),\n chainIconGray: getStableflowChainLogo(\"Base-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 8453,\n blockExplorerUrl: \"https://basescan.org/tx\",\n blockExplorerUrls: [\"https://basescan.org\"],\n primaryColor: \"#3137F6\",\n nativeToken: {\n symbol: \"ETH\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"base\"),\n },\n pol: {\n chainName: \"Polygon\",\n blockchain: \"pol\",\n chainIcon: getStableflowChainLogo(\"Polygon\"),\n chainIconGray: getStableflowChainLogo(\"Polygon-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 137,\n blockExplorerUrl: \"https://polygonscan.com/tx\",\n blockExplorerUrls: [\"https://polygonscan.com\"],\n primaryColor: \"#5A2AD1\",\n nativeToken: {\n symbol: \"POL\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"pol\"),\n },\n gnosis: {\n chainName: \"Gnosis\",\n blockchain: \"gnosis\",\n chainIcon: getStableflowChainLogo(\"Gnosis\"),\n chainIconGray: getStableflowChainLogo(\"Gnosis-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 100,\n blockExplorerUrl: \"https://gnosisscan.io/tx\",\n blockExplorerUrls: [\"https://gnosisscan.io\"],\n primaryColor: \"#285230\",\n nativeToken: {\n symbol: \"XDAI\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"gnosis\"),\n },\n op: {\n chainName: \"Optimism\",\n blockchain: \"op\",\n chainIcon: getStableflowChainLogo(\"Optimism\"),\n chainIconGray: getStableflowChainLogo(\"Optimism-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 10,\n blockExplorerUrl: \"https://optimistic.etherscan.io/tx\",\n blockExplorerUrls: [\"https://optimistic.etherscan.io\"],\n primaryColor: \"#B5271D\",\n nativeToken: {\n symbol: \"ETH\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"op\"),\n },\n tron: {\n chainName: \"Tron\",\n blockchain: \"tron\",\n chainIcon: getStableflowChainLogo(\"Tron\"),\n chainIconGray: getStableflowChainLogo(\"Tron-gray\"),\n chainType: chainTypes.tron.value,\n blockExplorerUrl: \"https://tronscan.org/#/transaction\",\n blockExplorerUrls: [\"https://tronscan.org\"],\n primaryColor: \"#BC3221\",\n nativeToken: {\n symbol: \"TRX\",\n decimals: 6,\n },\n ...getChainRpcUrl(\"tron\"),\n },\n aptos: {\n chainName: \"Aptos\",\n blockchain: \"aptos\",\n chainIcon: getStableflowChainLogo(\"Aptos\"),\n chainIconGray: getStableflowChainLogo(\"Aptos-gray\"),\n chainType: chainTypes.aptos.value,\n blockExplorerUrl: \"https://aptoscan.com/transaction\",\n blockExplorerUrls: [\"https://aptoscan.com\"],\n primaryColor: \"#000000\",\n nativeToken: {\n symbol: \"APT\",\n decimals: 8,\n },\n ...getChainRpcUrl(\"aptos\"),\n },\n bera: {\n chainName: \"Berachain\",\n blockchain: \"bera\",\n chainIcon: getStableflowChainLogo(\"Berachain\"),\n chainIconGray: getStableflowChainLogo(\"Berachain-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 80094,\n blockExplorerUrl: \"https://berascan.com/tx/\",\n blockExplorerUrls: [\"https://berascan.com\"],\n primaryColor: \"#F37325\",\n nativeToken: {\n symbol: \"BERA\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"bera\"),\n },\n xlayer: {\n chainName: \"X Layer\",\n blockchain: \"xlayer\",\n chainIcon: getStableflowChainLogo(\"xlayer\"),\n chainIconGray: getStableflowChainLogo(\"xlayer-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 196,\n blockExplorerUrl: \"https://www.oklink.com/xlayer/tx/\",\n blockExplorerUrls: [\"https://www.oklink.com\"],\n primaryColor: \"#000000\",\n nativeToken: {\n symbol: \"OKB\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"xlayer\"),\n },\n plasma: {\n chainName: \"Plasma\",\n blockchain: \"plasma\",\n chainIcon: getStableflowChainLogo(\"Plasma\"),\n chainIconGray: getStableflowChainLogo(\"Plasma-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 9745,\n blockExplorerUrl: \"https://plasmascan.to/tx/\",\n blockExplorerUrls: [\"https://plasmascan.to\"],\n primaryColor: \"#162F29\",\n nativeToken: {\n symbol: \"XPL\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"plasma\"),\n },\n ton: {\n chainName: \"Ton\",\n blockchain: \"ton\",\n chainIcon: getStableflowChainLogo(\"Ton\"),\n chainIconGray: getStableflowChainLogo(\"Ton-gray\"),\n chainType: chainTypes.ton.value,\n blockExplorerUrl: \"https://tonviewer.com/transaction/\",\n blockExplorerUrls: [\"https://tonviewer.com\"],\n primaryColor: \"#0098EA\",\n nativeToken: {\n symbol: \"TON\",\n decimals: 9,\n },\n ...getChainRpcUrl(\"ton\"),\n },\n mantle: {\n chainName: \"Mantle\",\n blockchain: \"mantle\",\n chainIcon: getStableflowChainLogo(\"Mantle\"),\n chainIconGray: getStableflowChainLogo(\"Mantle-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 5000,\n blockExplorerUrl: \"https://mantlescan.xyz/tx/\",\n blockExplorerUrls: [\"https://mantlescan.xyz\"],\n primaryColor: \"#162F29\",\n nativeToken: {\n symbol: \"MNT\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"mantle\"),\n },\n megaeth: {\n chainName: \"MegaETH\",\n blockchain: \"megaeth\",\n chainIcon: getStableflowChainLogo(\"MegaETH\"),\n chainIconGray: getStableflowChainLogo(\"MegaETH-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 4326,\n blockExplorerUrl: \"https://mega.etherscan.io/tx/\",\n blockExplorerUrls: [\"https://mega.etherscan.io\"],\n primaryColor: \"#19191A\",\n nativeToken: {\n symbol: \"ETH\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"megaeth\"),\n },\n ink: {\n chainName: \"Ink\",\n blockchain: \"ink\",\n chainIcon: getStableflowChainLogo(\"Ink\"),\n chainIconGray: getStableflowChainLogo(\"Ink-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 57073,\n blockExplorerUrl: \"https://explorer.inkonchain.com/tx/\",\n blockExplorerUrls: [\"https://explorer.inkonchain.com\"],\n primaryColor: \"#7132F5\",\n nativeToken: {\n symbol: \"ETH\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"ink\"),\n },\n stable: {\n chainName: \"Stable\",\n blockchain: \"stable\",\n chainIcon: getStableflowChainLogo(\"Stable\"),\n chainIconGray: getStableflowChainLogo(\"Stable-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 988,\n blockExplorerUrl: \"https://uniscan.xyz/tx/\",\n blockExplorerUrls: [\"https://uniscan.xyz\"],\n primaryColor: \"#01241D\",\n nativeToken: {\n symbol: \"USDT0\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"stable\"),\n },\n celo: {\n chainName: \"Celo\",\n blockchain: \"celo\",\n chainIcon: getStableflowChainLogo(\"Celo\"),\n chainIconGray: getStableflowChainLogo(\"Celo-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 42_220,\n blockExplorerUrl: \"https://celoscan.io/tx/\",\n blockExplorerUrls: [\"https://celoscan.io\"],\n primaryColor: \"#FCFF52\",\n nativeToken: {\n symbol: \"CELO\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"celo\"),\n },\n sei: {\n chainName: \"Sei\",\n blockchain: \"sei\",\n chainIcon: getStableflowChainLogo(\"Sei\"),\n chainIconGray: getStableflowChainLogo(\"Sei-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 1329,\n blockExplorerUrl: \"https://seitrace.com/tx/\",\n blockExplorerUrls: [\"https://seitrace.com\"],\n primaryColor: \"#991717\",\n nativeToken: {\n symbol: \"SEI\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"sei\"),\n },\n flare: {\n chainName: \"Flare\",\n blockchain: \"flare\",\n chainIcon: getStableflowChainLogo(\"Flare\"),\n chainIconGray: getStableflowChainLogo(\"Flare-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 14,\n blockExplorerUrl: \"https://flare-explorer.flare.network/tx/\",\n blockExplorerUrls: [\"https://flare-explorer.flare.network\"],\n primaryColor: \"#E62058\",\n nativeToken: {\n symbol: \"FLR\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"flare\"),\n },\n frax: {\n chainName: \"Fraxtal\",\n blockchain: \"frax\",\n chainIcon: getStableflowChainLogo(\"Frax\"),\n chainIconGray: getStableflowChainLogo(\"Frax-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 252,\n blockExplorerUrl: \"https://fraxscan.com/tx/\",\n blockExplorerUrls: [\"https://fraxscan.com\"],\n primaryColor: \"#000\",\n nativeToken: {\n symbol: \"FRAX\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"frax\"),\n },\n sui: {\n chainName: \"Sui\",\n blockchain: \"sui\",\n chainIcon: getStableflowChainLogo(\"Sui\"),\n chainIconGray: getStableflowChainLogo(\"Sui-gray\"),\n chainType: chainTypes.sui.value,\n blockExplorerUrl: \"https://suiscan.xyz/mainnet/tx\",\n blockExplorerUrls: [\"https://suiscan.xyz/mainnet\"],\n primaryColor: \"#298DFF\",\n nativeToken: {\n symbol: \"SUI\",\n decimals: 9,\n },\n ...getChainRpcUrl(\"sui\"),\n },\n katana: {\n chainName: \"Katana\",\n blockchain: \"katana\",\n chainIcon: getStableflowChainLogo(\"Katana\"),\n chainIconGray: getStableflowChainLogo(\"Katana-gray\"),\n chainType: chainTypes.evm.value,\n chainId: 747474,\n blockExplorerUrl: \"https://katanascan.com/tx\",\n blockExplorerUrls: [\"https://katanascan.com\"],\n primaryColor: \"#F6FF0D\",\n nativeToken: {\n symbol: \"ETH\",\n decimals: 18,\n },\n ...getChainRpcUrl(\"katana\"),\n },\n};\n\nexport default chains;\n","import { Service } from \"../../core/Service\";\nimport { TokenConfig } from \"../../models/Token\";\nimport chains from \"./chains\";\n\nexport const usdt = {\n symbol: \"USDT\",\n decimals: 6,\n icon: \"/usdt.png\",\n name: \"Tether USD\",\n};\n\nexport const usdtChains: Record<string, TokenConfig> = {\n eth: {\n ...usdt,\n assetId: \"nep141:eth-0xdac17f958d2ee523a2206206994597c13d831ec7.omft.near\",\n contractAddress: \"0xdac17f958d2ee523a2206206994597c13d831ec7\",\n ...chains.eth,\n services: [Service.OneClick, Service.Usdt0, Service.Native],\n },\n bsc: {\n ...usdt,\n assetId: \"nep245:v2_1.omni.hot.tg:56_2CMMyVTGZkeyNZTSvS5sarzfir6g\",\n contractAddress: \"0x55d398326f99059ff775485246999027b3197955\",\n ...chains.bsc,\n decimals: 18,\n services: [Service.OneClick, Service.Native],\n },\n op: {\n ...usdt,\n assetId: \"nep245:v2_1.omni.hot.tg:10_359RPSJVdTxwTJT9TyGssr2rFoWo\",\n contractAddress: \"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58\",\n ...chains.op,\n services: [Service.OneClick],\n },\n avax: {\n ...usdt,\n assetId: \"nep245:v2_1.omni.hot.tg:43114_372BeH7ENZieCaabwkbWkBiTTgXp\",\n contractAddress: \"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7\",\n ...chains.avax,\n services: [Service.OneClick],\n },\n // disabled gnosis temporarily, 22/Oct/2025\n // gnosis: {\n // ...usdt,\n // assetId: \"nep141:gnosis-0x4ecaba5870353805a9f068101a40e0f32ed605c6.omft.near\",\n // contractAddress: \"0x4ecaba5870353805a9f068101a40e0f32ed605c6\",\n // ...chains.gnosis,\n // services: [Service.OneClick],\n // },\n near: {\n ...usdt,\n assetId: \"nep141:usdt.tether-token.near\",\n contractAddress: \"usdt.tether-token.near\",\n ...chains.near,\n services: [Service.OneClick],\n },\n sol: {\n ...usdt,\n assetId: \"nep141:sol-c800a4bd850783ccb82c2b2c7e84175443606352.omft.near\",\n contractAddress: \"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB\",\n ...chains.sol,\n services: [Service.OneClick, Service.Usdt0],\n },\n tron: {\n ...usdt,\n assetId: \"nep141:tron-d28a265909efecdcee7c5028585214ea0b96f015.omft.near\",\n contractAddress: \"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t\",\n ...chains.tron,\n services: [Service.OneClick, Service.Usdt0],\n },\n aptos: {\n ...usdt,\n assetId: \"nep141:aptos-88cb7619440a914fe6400149a12b443c3ac21d59.omft.near\",\n contractAddress: \"0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b\",\n ...chains.aptos,\n services: [Service.OneClick],\n },\n ton: {\n ...usdt,\n assetId: \"nep245:v2_1.omni.hot.tg:1117_3tsdfyziyc7EJbP2aULWSKU4toBaAcN4FdTgfm5W1mC4ouR\",\n contractAddress: \"EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs\",\n ...chains.ton,\n services: [Service.OneClick, Service.Usdt0],\n },\n};\n\nexport const usdtSol = {\n ...usdt,\n ...usdtChains.sol,\n chains: [usdtChains.sol],\n};\n\nexport const usdtNear = {\n ...usdt,\n ...usdtChains.near,\n chains: [usdtChains.near],\n};\n\nexport const usdtEvm = {\n ...usdt,\n chains: Object.values(usdtChains).filter((chain) => chain.chainType === \"evm\")\n};\n\nexport const usdtTron = {\n ...usdt,\n ...usdtChains.tron,\n chains: [usdtChains.tron],\n};\n\nexport const usdtAptos = {\n ...usdt,\n ...usdtChains.aptos,\n chains: [usdtChains.aptos],\n};\n\nexport const usdtTon = {\n ...usdt,\n ...usdtChains.ton,\n chains: [usdtChains.ton],\n};\n","import { Service } from \"../../core/Service\";\nimport { TokenConfig } from \"../../models/Token\";\nimport chains from \"./chains\";\n\nexport const usdt0 = {\n symbol: \"USD₮0\",\n decimals: 6,\n icon: \"/usdt0.png\",\n name: \"USD₮0\",\n};\n\nexport const usdt0Chains: Record<string, TokenConfig> = {\n // eth: {\n // ...usdt0,\n // symbol: \"USDT\",\n // icon: \"/usdt.png\",\n // assetId: \"nep141:eth-0xdac17f958d2ee523a2206206994597c13d831ec7.omft.near\",\n // contractAddress: \"0xdac17f958d2ee523a2206206994597c13d831ec7\",\n // ...chains.eth,\n // services: [Service.OneClick, Service.Usdt0, Service.Native],\n // },\n arb: {\n ...usdt0,\n assetId: \"nep141:arb-0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9.omft.near\",\n contractAddress: \"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9\",\n ...chains.arb,\n services: [Service.OneClick, Service.Usdt0, Service.Native],\n },\n pol: {\n ...usdt0,\n assetId: \"nep245:v2_1.omni.hot.tg:137_3hpYoaLtt8MP1Z2GH1U473DMRKgr\",\n contractAddress: \"0xc2132d05d31c914a87c6611c10748aeb04b58e8f\",\n ...chains.pol,\n services: [Service.OneClick, Service.Usdt0],\n },\n op: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0x01bFF41798a0BcF287b996046Ca68b395DbC1071\",\n ...chains.op,\n services: [Service.Usdt0],\n },\n bera: {\n ...usdt0,\n assetId: \"nep141:bera-0x779ded0c9e1022225f8e0630b35a9b54be713736.omft.near\",\n contractAddress: \"0x779Ded0c9e1022225f8E0630b35a9b54bE713736\",\n ...chains.bera,\n services: [Service.OneClick, Service.Usdt0],\n },\n xlayer: {\n ...usdt0,\n assetId: \"nep245:v2_1.omni.hot.tg:196_2fezDCvVYRsG8wrK6deJ2VRPiAS1\",\n contractAddress: \"0x779ded0c9e1022225f8e0630b35a9b54be713736\",\n ...chains.xlayer,\n services: [Service.OneClick, Service.Usdt0],\n },\n plasma: {\n ...usdt0,\n assetId: \"nep245:v2_1.omni.hot.tg:9745_3aL9skCy1yhPoDB8oKMmRHRN7SJW\",\n contractAddress: \"0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb\",\n ...chains.plasma,\n services: [Service.OneClick, Service.Usdt0],\n },\n mantle: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0x779Ded0c9e1022225f8E0630b35a9b54bE713736\",\n ...chains.mantle,\n services: [Service.Usdt0],\n },\n megaeth: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb\",\n ...chains.megaeth,\n services: [Service.Usdt0],\n },\n ink: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0x0200C29006150606B650577BBE7B6248F58470c1\",\n ...chains.ink,\n services: [Service.Usdt0],\n },\n stable: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0x779Ded0c9e1022225f8E0630b35a9b54bE713736\",\n ...chains.stable,\n services: [Service.Usdt0],\n },\n celo: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e\",\n ...chains.celo,\n services: [Service.Usdt0],\n },\n sei: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0x9151434b16b9763660705744891fA906F660EcC5\",\n ...chains.sei,\n services: [Service.Usdt0],\n },\n flare: {\n ...usdt0,\n assetId: \"\",\n contractAddress: \"0xe7cd86e13AC4309349F30B3435a9d337750fC82D\",\n ...chains.flare,\n services: [Service.Usdt0],\n },\n};\n\nexport const usdt0Evm = {\n ...usdt0,\n chains: Object.values(usdt0Chains).filter((chain) => chain.chainType === \"evm\")\n};\n","import { Service } from \"../../core/Service\";\nimport { TokenConfig } from \"../../models/Token\";\nimport chains from \"./chains\";\n\nexport const usdc = {\n symbol: \"USDC\",\n decimals: 6,\n icon: \"/usdc.png\",\n name: \"USD Coin\",\n};\n\nexport const usdcChains: Record<string, TokenConfig> = {\n eth: {\n ...usdc,\n assetId: \"nep141:eth-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.omft.near\",\n contractAddress: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n ...chains.eth,\n services: [Service.OneClick, Service.CCTP, Service.Native],\n },\n arb: {\n ...usdc,\n assetId: \"nep141:arb-0xaf88d065e77c8cc2239327c5edb3a432268e5831.omft.near\",\n contractAddress: \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n ...chains.arb,\n services: [Service.OneClick, Service.CCTP, Service.Native],\n },\n base: {\n ...usdc,\n assetId: \"nep141:base-0x833589fcd6edb6e08f4c7c32d4f71b54bda02913.omft.near\",\n contractAddress: \"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\",\n ...chains.base,\n services: [Service.OneClick, Service.CCTP, Service.Native],\n },\n // gnosis: {\n // ...usdc,\n // assetId:\n // \"nep141:gnosis-0x2a22f9c3b484c3629090feed35f17ff8f88f76f0.omft.near\",\n // contractAddress: \"0x2a22f9c3b484c3629090feed35f17ff8f88f76f0\",\n // ...chains.gnosis,\n // services: [Service.OneClick],\n // },\n pol: {\n ...usdc,\n assetId: \"nep245:v2_1.omni.hot.tg:137_qiStmoQJDQPTebaPjgx5VBxZv6L\",\n contractAddress: \"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359\",\n ...chains.pol,\n services: [Service.OneClick, Service.CCTP],\n },\n bsc: {\n ...usdc,\n assetId: \"nep245:v2_1.omni.hot.tg:56_2w93GqMcEmQFDru84j3HZZWt557r\",\n contractAddress: \"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d\",\n ...chains.bsc,\n decimals: 18,\n services: [Service.OneClick, Service.Native],\n },\n op: {\n ...usdc,\n assetId: \"nep245:v2_1.omni.hot.tg:10_A2ewyUyDp6qsue1jqZsGypkCxRJ\",\n contractAddress: \"0x0b2c639c533813f4aa9d7837caf62653d097ff85\",\n ...chains.op,\n services: [Service.OneClick, Service.CCTP],\n },\n avax: {\n ...usdc,\n assetId: \"nep245:v2_1.omni.hot.tg:43114_3atVJH3r5c4GqiSYmg9fECvjc47o\",\n contractAddress: \"0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e\",\n ...chains.avax,\n services: [Service.OneClick, Service.CCTP],\n },\n near: {\n ...usdc,\n assetId:\n \"nep141:17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1\",\n contractAddress:\n \"17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1\",\n ...chains.near,\n services: [Service.OneClick],\n },\n sol: {\n ...usdc,\n assetId: \"nep141:sol-5ce3bf3a31af18be40ba30f721101b4341690186.omft.near\",\n contractAddress: \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n ...chains.sol,\n services: [Service.OneClick, Service.CCTP],\n },\n xlayer: {\n ...usdc,\n assetId: \"nep245:v2_1.omni.hot.tg:196_2dK9kLNR7Ekq7su8FxNGiUW3djTw\",\n contractAddress: \"0x74b7f16337b8972027f6196a17a631ac6de26d22\",\n ...chains.xlayer,\n services: [Service.OneClick],\n },\n aptos: {\n ...usdc,\n assetId: \"nep141:aptos-34ee497f210c5a511e8d5b53bc56d75b63612bb5.omft.near\",\n contractAddress: \"0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b\",\n ...chains.aptos,\n services: [Service.OneClick],\n },\n};\n\nexport const usdcSol = {\n ...usdc,\n ...usdcChains.sol,\n chains: [usdcChains.sol],\n};\n\nexport const usdcNear = {\n ...usdc,\n ...usdcChains.near,\n chains: [usdcChains.near],\n};\n\nexport const usdcAptos = {\n ...usdc,\n ...usdcChains.aptos,\n chains: [usdcChains.aptos],\n};\n\nexport const usdcEvm = {\n ...usdc,\n chains: Object.values(usdcChains).filter((chain) => chain.chainType === \"evm\")\n};\n","import { Service } from \"../../core/Service\";\nimport { TokenConfig } from \"../../models/Token\";\nimport chains from \"./chains\";\n\nexport const frxusd = {\n symbol: \"frxUSD\",\n decimals: 18,\n icon: \"/frxusd.png\",\n name: \"Frax USD\",\n};\n\n// https://docs.frax.com/frxusd/frxusd-contracts\nexport const frxusdChains: Record<string, TokenConfig> = {\n frax: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0xFc00000000000000000000000000000000000001\",\n ...chains.frax,\n services: [Service.FraxZero],\n },\n eth: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0xCAcd6fd266aF91b8AeD52aCCc382b4e165586E29\",\n ...chains.eth,\n services: [Service.FraxZero],\n },\n arb: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0x80Eede496655FB9047dd39d9f418d5483ED600df\",\n ...chains.arb,\n services: [Service.FraxZero],\n },\n avax: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0x80Eede496655FB9047dd39d9f418d5483ED600df\",\n ...chains.avax,\n services: [Service.FraxZero],\n },\n // base: {\n // ...frxusd,\n // assetId: \"\",\n // contractAddress: \"0xe5020A6d073a794B6E7f05678707dE47986Fb0b6\",\n // ...chains.base,\n // services: [Service.FraxZero],\n // },\n bera: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0x80Eede496655FB9047dd39d9f418d5483ED600df\",\n ...chains.bera,\n services: [Service.FraxZero],\n },\n bsc: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0x80Eede496655FB9047dd39d9f418d5483ED600df\",\n ...chains.bsc,\n services: [Service.FraxZero],\n },\n op: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0x80Eede496655FB9047dd39d9f418d5483ED600df\",\n ...chains.op,\n services: [Service.FraxZero],\n },\n pol: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0x80Eede496655FB9047dd39d9f418d5483ED600df\",\n ...chains.pol,\n services: [Service.FraxZero],\n },\n xlayer: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"0x80eede496655fb9047dd39d9f418d5483ed600df\",\n ...chains.xlayer,\n services: [Service.FraxZero],\n },\n sol: {\n ...frxusd,\n assetId: \"\",\n contractAddress: \"GzX1ireZDU865FiMaKrdVB1H6AE8LAqWYCg6chrMrfBw\",\n decimals: 9,\n ...chains.sol,\n services: [Service.FraxZero],\n },\n};\n\nexport const frxusdSol = {\n ...frxusd,\n ...frxusdChains.sol,\n chains: [frxusdChains.sol],\n};\n\nexport const frxusdEvm = {\n ...frxusd,\n chains: Object.values(frxusdChains).filter((chain) => chain.chainType === \"evm\")\n};\n","import { usdtChains } from \"./usdt\";\nimport { usdt0Chains } from \"./usdt0\";\nimport { usdcChains } from \"./usdc\";\nimport { frxusdChains } from \"./frxusd\";\nimport { TokenConfig } from \"../../models/Token\";\n\nexport const tokens: TokenConfig[] = [\n ...Object.values(usdtChains),\n ...Object.values(usdcChains),\n ...Object.values(usdt0Chains),\n ...Object.values(frxusdChains),\n];\n\nexport const usdtTokens: TokenConfig[] = [...Object.values(usdtChains), ...Object.values(usdt0Chains)];\nexport const usdcTokens: TokenConfig[] = Object.values(usdcChains);\nexport const frxusdTokens: TokenConfig[] = Object.values(frxusdChains);\n","import { ChainType } from \"./chains\";\n\nexport const DefaultAddresses: Record<ChainType, string> = {\n near: \"stableflow.near\",\n sol: \"2bRTgL16xgu6VkSRY7TJcLRuT93T1pLtaYeChhyhfFcX\",\n evm: \"0x10b06e6A12E86f8C2b55B5073fA3dB39b120C7F5\",\n tron: \"TSKMAaJLnWAUa6cKtTTm5oathCQPPaJZtF\",\n aptos: \"0x93493b07d031c4f18ad1e874575761be7e47d4cea5c81d538600e8ec72d6ab1c\",\n ton: \"UQBv1hzUIB5liMe1cqxUAvfO2tWMnN6wDyXP4DFSptAbePVK\",\n sui: \"0xeae6dbc896a8a6994c093bf8ea47116063f0b016f1fdc61bff95ba9dfb36c4d2\",\n};\n","export default [\n {\n inputs: [\n { internalType: \"address\", name: \"owner\", type: \"address\" },\n { internalType: \"address\", name: \"spender\", type: \"address\" }\n ],\n name: \"allowance\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n { internalType: \"address\", name: \"spender\", type: \"address\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" }\n ],\n name: \"approve\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [{ internalType: \"address\", name: \"account\", type: \"address\" }],\n name: \"balanceOf\",\n outputs: [{ internalType: \"uint256\", name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" }\n ],\n name: \"transfer\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"nonpayable\",\n type: \"function\"\n }\n];\n","export function getPrice(prices: Record<string, string>, symbol: string) {\n let price = \"1\";\n if (prices[symbol]) {\n price = prices[symbol];\n if (price !== \"0\") {\n return price;\n }\n }\n if (prices[symbol.toLowerCase()]) {\n price = prices[symbol.toLowerCase()];\n if (price !== \"0\") {\n return price;\n }\n }\n if (prices[symbol.toUpperCase()]) {\n price = prices[symbol.toUpperCase()];\n if (price !== \"0\") {\n return price;\n }\n }\n return \"1\";\n}\n","import Big from \"big.js\";\n\nexport const addThousandSeparator = (numberString: string) => {\n if (!numberString) return \"0\";\n const parts = String(numberString).split(\".\");\n const integerPart = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n const decimalPart = parts[1] ? `.${parts[1]}` : \"\";\n return integerPart + decimalPart;\n};\n\nexport const formatNumber = (\n value: string | number | Big.Big | undefined,\n precision: number,\n isSimple?: boolean,\n options?: {\n // resolve the issue of displaying values like $< 0.01\n // it should display as < $0.01\n prefix?: string;\n // when it is less than a certain value\n // 0 should be displayed in the integer part\n // not in the decimal part\n isLTIntegerZero?: boolean;\n // should zeros be added at the end\n isZeroPrecision?: boolean;\n isShort?: boolean;\n isShortUppercase?: boolean;\n round?: Big.RoundingMode;\n isLessPrecision?: boolean;\n }\n): any => {\n const {\n prefix = \"\",\n isLTIntegerZero,\n isZeroPrecision,\n isShort,\n isShortUppercase,\n round = Big.roundHalfUp,\n isLessPrecision = true,\n } = options || {};\n\n const isValid = () => {\n try {\n if (!value) return false;\n Big(value);\n return true;\n } catch (err: any) {\n return false;\n }\n };\n\n if (!value || !isValid() || Big(value).eq(0)) {\n if (isSimple) {\n if (isZeroPrecision) {\n return `${prefix}${Big(0).toFixed(precision, round)}`;\n }\n return `${prefix}0`;\n }\n if (isZeroPrecision) {\n return {\n integer: `${prefix}0`,\n decimal: Big(0).toFixed(precision, round).replace(/^\\d/, \"\")\n };\n }\n return {\n integer: `${prefix}0`,\n decimal: \"\"\n };\n }\n\n if (isLessPrecision && Big(value).lt(Big(10).pow(-precision))) {\n if (isSimple) {\n return `< ${prefix}${Big(10).pow(-precision).toFixed(precision, round)}`;\n }\n if (isLTIntegerZero) {\n return {\n integer: `< ${prefix}0`,\n decimal: Big(10)\n .pow(-precision)\n .toFixed(precision, round)\n .replace(/^\\d/, \"\")\n };\n }\n return {\n integer: \"\",\n decimal: `< ${prefix}${Big(10).pow(-precision).toFixed(precision, round)}`\n };\n }\n\n const finalValue = addThousandSeparator(Big(value).toFixed(precision, round));\n const firstPart = finalValue.split(\".\")[0];\n let secondPart = finalValue.split(\".\")[1] || \"\";\n if (secondPart) {\n secondPart = \".\" + secondPart;\n }\n if (isSimple) {\n if (isShort) {\n const formatter = (split: number, unit: string): string => {\n const _num = Big(value)\n .div(split)\n .toFixed(precision, 0)\n .replace(/(?:\\.0*|(\\.\\d+?)0+)$/, \"$1\");\n const inter = _num.split(\".\")?.[0]?.replace(/\\d(?=(\\d{3})+\\b)/g, \"$&,\");\n const decimal = _num.split(\".\")?.[1] ?? \"\";\n return `${prefix}${inter}${decimal ? \".\" + decimal : \"\"}${unit}`;\n };\n // septillion\n // if (Big(value).gte(1e24)) {\n // return formatter(1e24, 't');\n // }\n // sextillion\n // if (Big(value).gte(1e21)) {\n // return formatter(1e21, 's');\n // }\n // quintillion\n // if (Big(value).gte(1e18)) {\n // return formatter(1e18, 'r');\n // }\n // quadrillion\n // if (Big(value).gte(1e15)) {\n // return formatter(1e15, 'q');\n // }\n // trillion\n if (Big(value).gte(1e12)) {\n return formatter(1e12, isShortUppercase ? \"T\" : \"t\");\n }\n // billion\n if (Big(value).gte(1e9)) {\n return formatter(1e9, isShortUppercase ? \"B\" : \"b\");\n }\n // million\n if (Big(value).gte(1e6)) {\n return formatter(1e6, isShortUppercase ? \"M\" : \"m\");\n }\n // thousand\n if (Big(value).gte(1e3)) {\n return formatter(1e3, isShortUppercase ? \"K\" : \"k\");\n }\n }\n if (isZeroPrecision) {\n return `${prefix}${firstPart}${secondPart}`;\n }\n return `${prefix}${firstPart}${secondPart.replace(/[.]?0*$/, \"\")}`;\n }\n if (isZeroPrecision) {\n return {\n integer: `${prefix}${firstPart}`,\n decimal: secondPart\n };\n }\n return {\n integer: `${prefix}${firstPart}`,\n decimal: secondPart.replace(/[.]?0*$/, \"\")\n };\n};\n\nexport const numberRemoveEndZero = (value: string) => {\n return value.replace(\"-\", \"\").replace(/\\.?0+$/, \"\");\n};\n","import bs58 from \"bs58\";\nimport { Buffer } from 'buffer';\n\n/** Left-pad a hex value to `lengthBytes` (ethers v6 zeroPadValue semantics). */\nfunction zeroPadValue(hex: string, lengthBytes: number): string {\n const normalized = hex.startsWith(\"0x\") ? hex.slice(2) : hex;\n const targetLen = lengthBytes * 2;\n if (normalized.length > targetLen) {\n throw new Error(`hex value exceeds ${lengthBytes} bytes`);\n }\n return \"0x\" + normalized.padStart(targetLen, \"0\");\n}\n\n// Address validation utilities for different blockchains\n\nexport interface AddressValidationResult {\n isValid: boolean;\n error?: string;\n}\n\n/**\n * Validates an address based on the target blockchain\n * @param address - The address to validate\n * @param blockchain - The target blockchain key\n * @returns AddressValidationResult with validation status and error message\n */\nexport function validateAddress(\n address: string,\n blockchain: string\n): AddressValidationResult {\n if (!address.trim()) {\n return {\n isValid: false,\n error: \"Address cannot be empty\"\n };\n }\n\n const trimmedAddress = address.trim();\n\n switch (blockchain) {\n case \"near\":\n return validateNearAddress(trimmedAddress);\n case \"sol\":\n return validateSolanaAddress(trimmedAddress);\n case \"evm\":\n return validateEthereumAddress(trimmedAddress);\n case \"aptos\":\n return validateAptosAddress(trimmedAddress);\n case \"tron\":\n return validateTronAddress(trimmedAddress);\n case \"ton\":\n return validateTonAddress(trimmedAddress);\n default:\n return {\n isValid: false,\n error: \"Unsupported blockchain\"\n };\n }\n}\n\n/**\n * Validates a NEAR address\n * Supports named accounts (alice.near, burrow.sputnik-dao.near) and\n * implicit accounts (64-char hex public key hash).\n */\nfunction validateNearAddress(address: string): AddressValidationResult {\n // Length check\n if (address.length < 2 || address.length > 64) {\n return {\n isValid: false,\n error: \"NEAR address must be 2-64 characters long\"\n };\n }\n\n // Additional checks\n if (address.startsWith(\".\") || address.endsWith(\".\")) {\n return {\n isValid: false,\n error: \"NEAR address cannot start or end with a dot\"\n };\n }\n\n if (address.includes(\"..\")) {\n return {\n isValid: false,\n error: \"NEAR address cannot contain consecutive dots\"\n };\n }\n\n // NEAR implicit accounts: 64-char hex string\n if (/^[0-9a-f]{64}$/i.test(address)) {\n return { isValid: true };\n }\n\n // Named account: letters, numbers and separators ., -, _\n const nearPattern = /^[a-zA-Z0-9._-]+$/;\n if (!nearPattern.test(address)) {\n return {\n isValid: false,\n error: \"Invalid NEAR address\"\n };\n }\n\n // Every account label should start/end with alphanumeric.\n const labelPattern = /^[a-zA-Z0-9](?:[a-zA-Z0-9_-]*[a-zA-Z0-9])?$/;\n const labels = address.split(\".\");\n if (!labels.every(label => labelPattern.test(label))) {\n return {\n isValid: false,\n error: \"NEAR address labels must start/end with letters or numbers\"\n };\n }\n\n // Named NEAR account cannot be purely numeric.\n if (/^\\d+$/.test(address)) {\n return {\n isValid: false,\n error: \"NEAR address cannot be purely numeric\"\n };\n }\n\n const hasLetterPattern = /[a-zA-Z]/;\n if (!hasLetterPattern.test(address)) {\n return {\n isValid: false,\n error: \"NEAR address must contain at least one letter\"\n };\n }\n\n return { isValid: true };\n}\n\n/**\n * Validates a Solana address\n * Solana addresses are base58 encoded and typically 32-44 characters long\n */\nfunction validateSolanaAddress(address: string): AddressValidationResult {\n // Solana address pattern: base58 encoded, typically 32-44 characters\n const solanaPattern = /^[1-9A-HJ-NP-Za-km-z]{32,44}$/;\n\n if (!solanaPattern.test(address)) {\n return {\n isValid: false,\n error: \"Invalid Solana address\"\n };\n }\n\n return { isValid: true };\n}\n\n/**\n * Validates an Ethereum address (used for Arbitrum)\n * Ethereum addresses are 42 characters long, starting with 0x\n */\nfunction validateEthereumAddress(address: string): AddressValidationResult {\n // Ethereum address pattern: 0x followed by 40 hexadecimal characters\n const ethereumPattern = /^0x[a-fA-F0-9]{40}$/;\n\n if (!ethereumPattern.test(address)) {\n return {\n isValid: false,\n error: \"Invalid Ethereum address\"\n };\n }\n\n return { isValid: true };\n}\n\n/**\n * Validates an Aptos address\n * Aptos addresses are 32 bytes (64 hex characters), optionally prefixed with 0x\n */\nfunction validateAptosAddress(address: string): AddressValidationResult {\n // Aptos address can be with or without 0x prefix\n // With 0x: 0x + 64 hex characters = 66 characters total\n // Without 0x: 64 hex characters\n const aptosPatternWithPrefix = /^0x[a-fA-F0-9]{64}$/;\n const aptosPatternWithoutPrefix = /^[a-fA-F0-9]{64}$/;\n\n if (!aptosPatternWithPrefix.test(address) && !aptosPatternWithoutPrefix.test(address)) {\n return {\n isValid: false,\n error: \"Invalid Aptos address\"\n };\n }\n\n return { isValid: true };\n}\n\n/**\n * Validates a TON address.\n * Supports:\n * - user-friendly format, e.g. EQ..., UQ..., kQ...\n * - raw format, e.g. 0:<64 hex chars>, -1:<64 hex chars>\n */\nexport function validateTonAddress(address: string): AddressValidationResult {\n try {\n parseTonAddress(address);\n return { isValid: true };\n } catch {\n return {\n isValid: false,\n error: \"Invalid TON address\",\n };\n }\n}\n\n/**\n * Validates a Tron address\n * Tron addresses are Base58 encoded, starting with T, and 34 characters long\n */\nfunction validateTronAddress(address: string): AddressValidationResult {\n // Tron address pattern: Base58 encoded, starts with T, 34 characters long\n // Base58 alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz (no 0, O, I, l)\n const tronPattern = /^T[1-9A-HJ-NP-Za-km-z]{33}$/;\n\n if (!tronPattern.test(address)) {\n return {\n isValid: false,\n error: \"Invalid Tron address\"\n };\n }\n\n return { isValid: true };\n}\n\n/**\n * Gets a placeholder text for the address input based on the target blockchain\n */\nexport function getAddressPlaceholder(blockchain: string): string {\n switch (blockchain) {\n case \"near\":\n return \"Enter NEAR wallet address (e.g., alice.near or 64-char hex)\";\n case \"sol\":\n return \"Enter Solana wallet address (e.g., 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM)\";\n case \"arb\":\n return \"Enter Ethereum/Arbitrum wallet address (e.g., 0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6)\";\n case \"aptos\":\n return \"Enter Aptos wallet address (e.g., 0x93493b07d031c4f18ad1e874575761be7e47d4cea5c81d538600e8ec72d6ab1c)\";\n case \"tron\":\n return \"Enter Tron wallet address (e.g., TG4cfJGzvmpWxYyQKSosCWTacKCxEwSiKw)\";\n default:\n return \"Enter recipient wallet address\";\n }\n}\n\n/**\n * Convert Tron address to bytes32 format (for LayerZero OFT)\n * @param {string} tronAddress - Tron address in Base58check format (starts with T)\n * @returns {string} Address in bytes32 format (starts with 0x, left-padded with zeros)\n */\nexport function tronAddressToBytes32(tronAddress: string) {\n try {\n // 1. Decode base58check format\n const decoded = bs58.decode(tronAddress);\n\n // 2. Remove the first byte (0x41 prefix) and the last 4 bytes (checksum)\n // Tron address structure: [0x41] + [20-byte address] + [4-byte checksum]\n const addressBytes = decoded.slice(1, 21);\n\n // 3. Validate length\n if (addressBytes.length !== 20) {\n throw new Error('Invalid Tron address length');\n }\n\n // 4. Left pad with 12 zero bytes to make it 32 bytes\n const paddedBytes = Buffer.concat([\n Buffer.alloc(12, 0), // 12 zero bytes\n addressBytes // 20-byte address\n ]);\n\n // 5. Convert to hexadecimal string\n return '0x' + paddedBytes.toString('hex');\n } catch (error: any) {\n throw new Error(`Failed to convert Tron address: ${error.message}`);\n }\n}\n\n/**\n * SHA256 hash using Web Crypto API (browser compatible)\n * @param {Uint8Array} data - Data to hash\n * @returns {Promise<Uint8Array>} Hash result\n */\nasync function sha256(data: Uint8Array): Promise<Uint8Array> {\n // Create a new ArrayBuffer from the Uint8Array to ensure proper type\n const buffer = new Uint8Array(data).buffer;\n const hashBuffer = await crypto.subtle.digest('SHA-256', buffer);\n return new Uint8Array(hashBuffer);\n}\n\n/**\n * Converts bytes32 to Tron address\n * @param {string} bytes32Address - Address in bytes32 format\n * @returns {Promise<string>} Tron address in Base58check format\n */\nexport async function bytes32ToTronAddress(bytes32Address: string): Promise<string> {\n try {\n // Remove '0x' prefix\n const hexString = bytes32Address.startsWith('0x')\n ? bytes32Address.slice(2)\n : bytes32Address;\n\n // Convert to Buffer\n const buffer = Buffer.from(hexString, 'hex');\n\n // Take the last 20 bytes (remove the leading 12 zero bytes)\n const addressBytes = buffer.slice(12, 32);\n\n // Add Tron prefix 0x41\n const addressWithPrefix = Buffer.concat([\n Buffer.from([0x41]),\n addressBytes\n ]);\n\n // Calculate checksum (first 4 bytes of double SHA256)\n const hash1 = await sha256(new Uint8Array(addressWithPrefix));\n const hash2 = await sha256(hash1);\n const checksum = Buffer.from(hash2.slice(0, 4));\n\n // Combine: prefix + address + checksum\n const fullAddress = Buffer.concat([addressWithPrefix, checksum]);\n\n // Base58 encoding\n return bs58.encode(fullAddress);\n } catch (error: any) {\n throw new Error(`Failed to convert bytes32 to Tron address: ${error.message}`);\n }\n}\n\n/**\n * Converts Solana address to bytes32 format (for LayerZero OFT)\n * @param {string} solanaAddress - Solana address in Base58 format\n * @returns {string} Address in bytes32 format (starts with 0x, left-padded with zeros)\n */\nexport function solanaAddressToBytes32(solanaAddress: string) {\n // Decode the Solana address from base58 format\n const decoded = bs58.decode(solanaAddress);\n\n // Validate length (Solana public key is 32 bytes)\n if (decoded.length !== 32) {\n throw new Error('Invalid Solana address length');\n }\n\n // Convert to hexadecimal string\n return '0x' + Buffer.from(decoded).toString('hex');\n}\n\n/**\n * Converts bytes32 to Solana address\n * @param {string} bytes32Address - Address in bytes32 format\n * @returns {string} Solana address in Base58 format\n */\nexport function bytes32ToSolanaAddress(bytes32Address: string) {\n const hexString = bytes32Address.startsWith('0x')\n ? bytes32Address.slice(2)\n : bytes32Address;\n\n const buffer = Buffer.from(hexString, 'hex');\n\n // Encode as base58\n return bs58.encode(buffer);\n}\n\n/**\n * Converts TON address to bytes32 format for LayerZero OFT.\n *\n * @param tonAddress TON address in user-friendly or raw format\n * @returns 0x + 32-byte account hash as hex\n */\nexport function tonAddressToBytes32(tonAddress: string): string {\n try {\n const parsed = parseTonAddress(tonAddress);\n\n if (parsed.hash.length !== 32) {\n throw new Error(\"Invalid TON address hash length\");\n }\n\n return \"0x\" + bytesToHex(parsed.hash);\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : \"Unknown error\";\n throw new Error(`Failed to convert TON address: ${message}`);\n }\n}\n\nexport function addressToBytes32(chainType: string, address: string) {\n if (chainType === \"evm\") {\n return zeroPadValue(address, 32);\n }\n if (chainType === \"sol\") {\n return solanaAddressToBytes32(address);\n }\n if (chainType === \"tron\") {\n return tronAddressToBytes32(address);\n }\n if (chainType === \"ton\") {\n return tonAddressToBytes32(address);\n }\n return address;\n}\n\n//#region TON address parsing utilities\ntype ParsedTonAddress = {\n workchain: number;\n hash: Uint8Array; // 32 bytes\n isUserFriendly: boolean;\n isBounceable?: boolean;\n isTestOnly?: boolean;\n};\n\n/**\n * TON user-friendly address:\n * 36 bytes total:\n * [0] flags\n * [1] workchain as signed int8-ish, 0xff means -1\n * [2..33] 32-byte account hash\n * [34..35] CRC16-CCITT of first 34 bytes\n *\n * Raw address:\n * workchain:64-hex-chars\n */\nfunction parseTonAddress(address: string): ParsedTonAddress {\n const input = address.trim();\n\n if (!input) {\n throw new Error(\"Address is empty\");\n }\n\n if (isRawTonAddress(input)) {\n return parseRawTonAddress(input);\n }\n\n return parseUserFriendlyTonAddress(input);\n}\n\n/**\n * CRC16-CCITT, polynomial 0x1021, initial value 0x0000.\n * Returns big-endian 2-byte checksum.\n */\nfunction crc16Ccitt(data: Uint8Array): Uint8Array {\n let crc = 0x0000;\n\n for (const byte of data) {\n crc ^= byte << 8;\n\n for (let i = 0; i < 8; i++) {\n if ((crc & 0x8000) !== 0) {\n crc = ((crc << 1) ^ 0x1021) & 0xffff;\n } else {\n crc = (crc << 1) & 0xffff;\n }\n }\n }\n\n return new Uint8Array([(crc >> 8) & 0xff, crc & 0xff]);\n}\n\nfunction base64ToBytes(input: string): Uint8Array {\n // base64url -> base64\n let normalized = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\n\n // Add padding if needed.\n const padding = normalized.length % 4;\n if (padding === 2) {\n normalized += \"==\";\n } else if (padding === 3) {\n normalized += \"=\";\n } else if (padding !== 0) {\n throw new Error(\"Invalid base64 TON address\");\n }\n\n // Node.js / bundlers\n if (typeof Buffer !== \"undefined\") {\n return new Uint8Array(Buffer.from(normalized, \"base64\"));\n }\n\n // Browser fallback\n if (typeof atob !== \"undefined\") {\n const binary = atob(normalized);\n const bytes = new Uint8Array(binary.length);\n\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n\n return bytes;\n }\n\n throw new Error(\"No base64 decoder available\");\n}\n\nfunction hexToBytes(hex: string): Uint8Array {\n if (hex.length % 2 !== 0) {\n throw new Error(\"Invalid hex string\");\n }\n\n const bytes = new Uint8Array(hex.length / 2);\n\n for (let i = 0; i < bytes.length; i++) {\n const byte = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);\n\n if (Number.isNaN(byte)) {\n throw new Error(\"Invalid hex string\");\n }\n\n bytes[i] = byte;\n }\n\n return bytes;\n}\n\nfunction bytesToHex(bytes: Uint8Array): string {\n return Array.from(bytes)\n .map((byte) => byte.toString(16).padStart(2, \"0\"))\n .join(\"\");\n}\n\nfunction isRawTonAddress(address: string): boolean {\n return /^-?\\d+:[0-9a-fA-F]{64}$/.test(address);\n}\n\nfunction parseRawTonAddress(address: string): ParsedTonAddress {\n const [workchainPart, hashPart] = address.split(\":\");\n\n if (!workchainPart || !hashPart) {\n throw new Error(\"Invalid raw TON address\");\n }\n\n const workchain = Number(workchainPart);\n\n if (!Number.isInteger(workchain)) {\n throw new Error(\"Invalid TON workchain\");\n }\n\n if (!/^[0-9a-fA-F]{64}$/.test(hashPart)) {\n throw new Error(\"Invalid TON address hash\");\n }\n\n return {\n workchain,\n hash: hexToBytes(hashPart),\n isUserFriendly: false,\n };\n}\n\nfunction parseUserFriendlyTonAddress(address: string): ParsedTonAddress {\n // TON user-friendly address is 36 bytes encoded as base64/base64url,\n // usually 48 chars without padding.\n if (!/^[A-Za-z0-9+/_-]{48}$/.test(address)) {\n throw new Error(\"Invalid user-friendly TON address format\");\n }\n\n const data = base64ToBytes(address);\n\n if (data.length !== 36) {\n throw new Error(\"Invalid user-friendly TON address length\");\n }\n\n const body = data.slice(0, 34);\n const checksum = data.slice(34, 36);\n const expectedChecksum = crc16Ccitt(body);\n\n if (checksum[0] !== expectedChecksum[0] || checksum[1] !== expectedChecksum[1]) {\n throw new Error(\"Invalid TON address checksum\");\n }\n\n const flags = data[0];\n\n const isTestOnly = (flags & 0x80) !== 0;\n const tag = flags & 0x7f;\n\n // 0x11 = bounceable, 0x51 = non-bounceable.\n // With testOnly bit added: 0x91 / 0xd1.\n if (tag !== 0x11 && tag !== 0x51) {\n throw new Error(\"Invalid TON address flags\");\n }\n\n const isBounceable = tag === 0x11;\n\n const workchainByte = data[1];\n const workchain = workchainByte === 0xff ? -1 : workchainByte;\n\n const hash = data.slice(2, 34);\n\n if (hash.length !== 32) {\n throw new Error(\"Invalid TON address hash length\");\n }\n\n return {\n workchain,\n hash,\n isUserFriendly: true,\n isBounceable,\n isTestOnly,\n };\n}\n//#endregion\n","import { Csl, type StyleColor, type StyleScale } from \"./log\";\n\nexport class ExecTime {\n private isDebug: boolean;\n private type: string;\n private logStyle: `${StyleColor}-${StyleScale}`;\n private startTimestamp: number = 0;\n private currentTimestamp: number = 0;\n private isPerformance: boolean;\n private readonly performanceThreshold: number = 1000;\n private csl: Csl;\n\n constructor(options: { type: string; logStyle?: `${StyleColor}-${StyleScale}`; isPerformance?: boolean; isDebug: boolean; }) {\n const { type, logStyle, isPerformance, isDebug } = options;\n this.type = type;\n this.logStyle = logStyle ?? \"stone-500\";\n this.isPerformance = isPerformance ?? false;\n this.isDebug = isDebug;\n this.csl = new Csl(isDebug);\n\n if (!isDebug) return;\n\n this.startTimestamp = performance.now();\n this.currentTimestamp = this.startTimestamp;\n }\n\n public breakpoint() {\n if (!this.isDebug) return;\n this.currentTimestamp = performance.now();\n }\n\n public log(subType: string, str?: string, ...params: any[]) {\n const duration = performance.now() - this.currentTimestamp;\n if (this.isPerformance) {\n if (duration <= this.performanceThreshold) {\n return;\n }\n }\n this.csl.log(this.type, this.logStyle, `<${subType}>cost: %c%sms%c${str ? \", \" + str : \"\"}`, \"color:red;font-weight:bold;\", duration.toFixed(0), \"color:black;font-weight:normal;\", ...params);\n }\n\n public logTotal(subType: string, str?: string, ...params: any[]) {\n const duration = performance.now() - this.startTimestamp;\n this.csl.log(this.type, this.logStyle, `<${subType}>total cost: %c%sms%c${str ? \", \" + str : \"\"}`, \"color:red;font-weight:bold;\", duration.toFixed(0), \"color:black;font-weight:normal;\", ...params);\n }\n\n}\n","import Big from \"big.js\";\nimport { Service } from \"../core/Service\";\nimport { TokenConfig } from \"../models/Token\";\n\nexport const formatQuoteError = (error: any, options: { service: Service; fromToken: TokenConfig; }) => {\n const { service, fromToken } = options;\n\n const defaultErrorMessage = \"Failed to get quote, please try again later\";\n\n if (service === Service.OneClick) {\n const getQuoteErrorMessage = (): { message: string; sourceMessage: string; } => {\n const _messageResult = {\n message: defaultErrorMessage,\n sourceMessage: error?.response?.data?.message || defaultErrorMessage,\n };\n if (\n error?.response?.data?.message &&\n error?.response?.data?.message !== \"Internal server error\"\n ) {\n // quote failed, maybe out of liquidity\n if (error?.response?.data?.message === \"Failed to get quote\") {\n _messageResult.message = \"Amount exceeds max\";\n return _messageResult;\n }\n // Amount is too low for bridge\n if (error?.response?.data?.message?.includes(\"Amount is too low for bridge, try at least\")) {\n const match = error.response.data.message.match(/try at least\\s+(\\d+(?:\\.\\d+)?)/i);\n let minimumAmount = match ? match[1] : Big(1).times(10 ** fromToken.decimals).toFixed(0);\n minimumAmount = Big(minimumAmount).div(10 ** fromToken.decimals).toFixed(fromToken.decimals);\n _messageResult.message = `Amount is too low, at least ${minimumAmount}`;\n return _messageResult;\n }\n return _messageResult;\n }\n // Unknown error\n return _messageResult;\n };\n const onclickErrMsg = getQuoteErrorMessage();\n return {\n serviceType: service,\n error: onclickErrMsg.message,\n };\n }\n\n return {\n serviceType: service,\n error: error?.message || defaultErrorMessage,\n };\n};\n","import { Service } from \"../core/Service\";\n\nexport const getRouteStatus = (service: Service, disabledServices?: Service[]): { disabled: boolean; } => {\n const result = { disabled: false };\n\n if (!disabledServices || disabledServices.length === 0) {\n return result;\n }\n\n const IS_PAUSE_ONECLICK = disabledServices.includes(Service.OneClick);\n const IS_PAUSE_USDT0 = disabledServices.includes(Service.Usdt0);\n const IS_PAUSE_CCTP = disabledServices.includes(Service.CCTP);\n const IS_PAUSE_FRAXZERO = disabledServices.includes(Service.FraxZero);\n const IS_PAUSE_NATIVE = disabledServices.includes(Service.Native);\n const IS_PAUSE_USDT0_ONECLICK = disabledServices.includes(Service.OneClickUsdt0);\n const IS_PAUSE_ONECLICK_USDT0 = disabledServices.includes(Service.OneClickUsdt0);\n const IS_PAUSE_FRAXZERO_ONECLICK = disabledServices.includes(Service.FraxZeroOneClick);\n const IS_PAUSE_ONECLICK_FRAXZERO = disabledServices.includes(Service.OneClickFraxZero);\n const IS_PAUSE_ALL = IS_PAUSE_ONECLICK\n && IS_PAUSE_USDT0\n && IS_PAUSE_CCTP\n && IS_PAUSE_FRAXZERO\n && IS_PAUSE_NATIVE;\n\n if (IS_PAUSE_ALL) {\n result.disabled = true;\n return result;\n }\n\n if (service === Service.CCTP) {\n if (IS_PAUSE_CCTP) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.FraxZero) {\n if (IS_PAUSE_FRAXZERO) {\n result.disabled = true;\n return result;\n }\n }\n\n if (([Service.FraxZeroOneClick, Service.OneClickFraxZero] as Service[]).includes(service)) {\n if (IS_PAUSE_ONECLICK || IS_PAUSE_FRAXZERO) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.Native) {\n if (IS_PAUSE_NATIVE) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.OneClick) {\n if (IS_PAUSE_ONECLICK) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.Usdt0) {\n if (IS_PAUSE_USDT0) {\n result.disabled = true;\n return result;\n }\n }\n\n if (([Service.Usdt0OneClick, Service.OneClickUsdt0] as Service[]).includes(service)) {\n if (IS_PAUSE_ONECLICK || IS_PAUSE_USDT0) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.Usdt0OneClick) {\n if (IS_PAUSE_USDT0_ONECLICK) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.OneClickUsdt0) {\n if (IS_PAUSE_ONECLICK_USDT0) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.FraxZeroOneClick) {\n if (IS_PAUSE_FRAXZERO_ONECLICK) {\n result.disabled = true;\n return result;\n }\n }\n\n if (service === Service.OneClickFraxZero) {\n if (IS_PAUSE_ONECLICK_FRAXZERO) {\n result.disabled = true;\n return result;\n }\n }\n\n return result;\n};\n","import { OpenAPI } from '../core/OpenAPI';\nimport { request } from '../core/request';\n\nexport async function quoteSignature(params: any) {\n const response: any = await request(OpenAPI, {\n method: 'POST',\n url: '/v0/cctp/sign',\n body: params,\n headers: {\n 'Content-Type': 'application/json',\n },\n errors: {\n 400: `Bad Request - Invalid input data`,\n 401: `Unauthorized - JWT token is invalid`,\n },\n });\n return response.data ?? {};\n}\n"]}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@stableflow/core",
3
+ "version": "3.0.0-beta-02a59f37a0-20260515",
4
+ "description": "StableFlow core: HTTP client, models, bridge services, and chain-agnostic APIs",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/stableflow-ai/stableflow-sdk.git",
9
+ "directory": "packages/core"
10
+ },
11
+ "main": "./dist/index.js",
12
+ "module": "./dist/index.mjs",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.mjs",
18
+ "require": "./dist/index.js"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "sideEffects": false,
25
+ "dependencies": {
26
+ "axios": "^1.6.8",
27
+ "big.js": "^7.0.1",
28
+ "bs58": "^6.0.0",
29
+ "buffer": "^6.0.3",
30
+ "form-data": "^4.0.0"
31
+ },
32
+ "devDependencies": {
33
+ "@types/big.js": "^6.2.2",
34
+ "tsup": "^8.5.1",
35
+ "typescript": "^5.9.3"
36
+ },
37
+ "peerDependencies": {},
38
+ "scripts": {
39
+ "build": "tsup",
40
+ "clean": "rm -rf dist"
41
+ }
42
+ }