@lifi/sdk 0.0.0-preview-3a18dab → 0.0.0-preview-306a9fec
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.
- package/CHANGELOG.md +7 -1
- package/dist/cjs/actions/createCexSession.d.ts +16 -0
- package/dist/cjs/actions/createCexSession.js +23 -0
- package/dist/cjs/actions/createCexSession.js.map +1 -0
- package/dist/cjs/actions/createFundingOrder.d.ts +17 -0
- package/dist/cjs/actions/createFundingOrder.js +37 -0
- package/dist/cjs/actions/createFundingOrder.js.map +1 -0
- package/dist/cjs/actions/createOnrampSession.d.ts +16 -0
- package/dist/cjs/actions/createOnrampSession.js +23 -0
- package/dist/cjs/actions/createOnrampSession.js.map +1 -0
- package/dist/cjs/actions/getFundingOrder.d.ts +18 -0
- package/dist/cjs/actions/getFundingOrder.js +27 -0
- package/dist/cjs/actions/getFundingOrder.js.map +1 -0
- package/dist/cjs/actions/getOnrampFiatCurrencies.d.ts +16 -0
- package/dist/cjs/actions/getOnrampFiatCurrencies.js +23 -0
- package/dist/cjs/actions/getOnrampFiatCurrencies.js.map +1 -0
- package/dist/cjs/actions/getOnrampQuote.d.ts +16 -0
- package/dist/cjs/actions/getOnrampQuote.js +23 -0
- package/dist/cjs/actions/getOnrampQuote.js.map +1 -0
- package/dist/cjs/actions/index.d.ts +51 -0
- package/dist/cjs/actions/index.js +15 -1
- package/dist/cjs/actions/index.js.map +1 -1
- package/dist/cjs/actions/waitForFundingOrder.d.ts +17 -0
- package/dist/cjs/actions/waitForFundingOrder.js +50 -0
- package/dist/cjs/actions/waitForFundingOrder.js.map +1 -0
- package/dist/cjs/core/fundingExecution.d.ts +73 -0
- package/dist/cjs/core/fundingExecution.js +125 -0
- package/dist/cjs/core/fundingExecution.js.map +1 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +7 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.js +14 -1
- package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -1
- package/dist/cjs/core/tasks/WaitForFundingOrderTask.d.ts +20 -0
- package/dist/cjs/core/tasks/WaitForFundingOrderTask.js +77 -0
- package/dist/cjs/core/tasks/WaitForFundingOrderTask.js.map +1 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +3 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
- package/dist/cjs/errors/httpError.js +8 -0
- package/dist/cjs/errors/httpError.js.map +1 -1
- package/dist/cjs/index.d.ts +13 -1
- package/dist/cjs/index.js +26 -2
- package/dist/cjs/types/core.d.ts +2 -0
- package/dist/cjs/types/funding.d.ts +213 -0
- package/dist/cjs/types/funding.js +0 -0
- package/dist/cjs/utils/checkPackageUpdates.js +1 -1
- package/dist/cjs/utils/convertOrderToRoute.d.ts +14 -0
- package/dist/cjs/utils/convertOrderToRoute.js +27 -0
- package/dist/cjs/utils/convertOrderToRoute.js.map +1 -0
- package/dist/cjs/utils/fundingOrderStep.d.ts +21 -0
- package/dist/cjs/utils/fundingOrderStep.js +41 -0
- package/dist/cjs/utils/fundingOrderStep.js.map +1 -0
- package/dist/cjs/utils/sleep.d.ts +1 -1
- package/dist/cjs/utils/sleep.js +12 -3
- package/dist/cjs/utils/sleep.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/actions/createCexSession.d.ts +16 -0
- package/dist/esm/actions/createCexSession.d.ts.map +1 -0
- package/dist/esm/actions/createCexSession.js +22 -0
- package/dist/esm/actions/createCexSession.js.map +1 -0
- package/dist/esm/actions/createFundingOrder.d.ts +17 -0
- package/dist/esm/actions/createFundingOrder.d.ts.map +1 -0
- package/dist/esm/actions/createFundingOrder.js +36 -0
- package/dist/esm/actions/createFundingOrder.js.map +1 -0
- package/dist/esm/actions/createOnrampSession.d.ts +16 -0
- package/dist/esm/actions/createOnrampSession.d.ts.map +1 -0
- package/dist/esm/actions/createOnrampSession.js +22 -0
- package/dist/esm/actions/createOnrampSession.js.map +1 -0
- package/dist/esm/actions/getFundingOrder.d.ts +18 -0
- package/dist/esm/actions/getFundingOrder.d.ts.map +1 -0
- package/dist/esm/actions/getFundingOrder.js +26 -0
- package/dist/esm/actions/getFundingOrder.js.map +1 -0
- package/dist/esm/actions/getOnrampFiatCurrencies.d.ts +16 -0
- package/dist/esm/actions/getOnrampFiatCurrencies.d.ts.map +1 -0
- package/dist/esm/actions/getOnrampFiatCurrencies.js +22 -0
- package/dist/esm/actions/getOnrampFiatCurrencies.js.map +1 -0
- package/dist/esm/actions/getOnrampQuote.d.ts +16 -0
- package/dist/esm/actions/getOnrampQuote.d.ts.map +1 -0
- package/dist/esm/actions/getOnrampQuote.js +22 -0
- package/dist/esm/actions/getOnrampQuote.js.map +1 -0
- package/dist/esm/actions/index.d.ts +51 -0
- package/dist/esm/actions/index.d.ts.map +1 -1
- package/dist/esm/actions/index.js +15 -1
- package/dist/esm/actions/index.js.map +1 -1
- package/dist/esm/actions/waitForFundingOrder.d.ts +17 -0
- package/dist/esm/actions/waitForFundingOrder.d.ts.map +1 -0
- package/dist/esm/actions/waitForFundingOrder.js +49 -0
- package/dist/esm/actions/waitForFundingOrder.js.map +1 -0
- package/dist/esm/core/fundingExecution.d.ts +73 -0
- package/dist/esm/core/fundingExecution.d.ts.map +1 -0
- package/dist/esm/core/fundingExecution.js +123 -0
- package/dist/esm/core/fundingExecution.js.map +1 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +7 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.d.ts.map +1 -1
- package/dist/esm/core/tasks/PrepareTransactionTask.js +14 -1
- package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -1
- package/dist/esm/core/tasks/WaitForFundingOrderTask.d.ts +20 -0
- package/dist/esm/core/tasks/WaitForFundingOrderTask.d.ts.map +1 -0
- package/dist/esm/core/tasks/WaitForFundingOrderTask.js +76 -0
- package/dist/esm/core/tasks/WaitForFundingOrderTask.js.map +1 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -1
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +3 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
- package/dist/esm/errors/httpError.d.ts.map +1 -1
- package/dist/esm/errors/httpError.js +8 -0
- package/dist/esm/errors/httpError.js.map +1 -1
- package/dist/esm/index.d.ts +13 -1
- package/dist/esm/index.js +14 -3
- package/dist/esm/types/core.d.ts +2 -0
- package/dist/esm/types/core.d.ts.map +1 -1
- package/dist/esm/types/funding.d.ts +213 -0
- package/dist/esm/types/funding.d.ts.map +1 -0
- package/dist/esm/types/funding.js +1 -0
- package/dist/esm/utils/checkPackageUpdates.js +1 -1
- package/dist/esm/utils/convertOrderToRoute.d.ts +14 -0
- package/dist/esm/utils/convertOrderToRoute.d.ts.map +1 -0
- package/dist/esm/utils/convertOrderToRoute.js +26 -0
- package/dist/esm/utils/convertOrderToRoute.js.map +1 -0
- package/dist/esm/utils/fundingOrderStep.d.ts +21 -0
- package/dist/esm/utils/fundingOrderStep.d.ts.map +1 -0
- package/dist/esm/utils/fundingOrderStep.js +39 -0
- package/dist/esm/utils/fundingOrderStep.js.map +1 -0
- package/dist/esm/utils/sleep.d.ts +1 -1
- package/dist/esm/utils/sleep.d.ts.map +1 -1
- package/dist/esm/utils/sleep.js +12 -3
- package/dist/esm/utils/sleep.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/createCexSession.ts +29 -0
- package/src/actions/createFundingOrder.ts +61 -0
- package/src/actions/createOnrampSession.ts +32 -0
- package/src/actions/getFundingOrder.ts +44 -0
- package/src/actions/getOnrampFiatCurrencies.ts +32 -0
- package/src/actions/getOnrampQuote.ts +29 -0
- package/src/actions/index.ts +114 -0
- package/src/actions/waitForFundingOrder.ts +99 -0
- package/src/core/fundingExecution.ts +209 -0
- package/src/core/tasks/PrepareTransactionTask.ts +35 -14
- package/src/core/tasks/WaitForFundingOrderTask.ts +146 -0
- package/src/core/tasks/WaitForTransactionStatusTask.ts +6 -0
- package/src/errors/httpError.ts +11 -0
- package/src/index.ts +41 -0
- package/src/types/core.ts +2 -0
- package/src/types/funding.ts +223 -0
- package/src/utils/convertOrderToRoute.ts +56 -0
- package/src/utils/fundingOrderStep.ts +56 -0
- package/src/utils/sleep.ts +14 -3
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
# @lifi/sdk
|
|
2
2
|
|
|
3
|
-
## 0.0.0-preview-
|
|
3
|
+
## 0.0.0-preview-306a9fec
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
7
|
+
- [`91a35b6`](https://github.com/lifinance/sdk/commit/91a35b656e602209fecb0286923499f786e439af) Thanks [@chybisov](https://github.com/chybisov)! - Add the unified funding orders surface: funding order types, `createFundingOrder`, `getFundingOrder`, `waitForFundingOrder`, the on-ramp/CEX helper actions, and `executeFundingOrder`/`resumeFundingOrder`, which run STANDARD orders through the existing route execution pipeline via `convertOrderToRoute`. Funding steps restore their committed quote from the order, opt out of the Permit2 path, and track status against the order endpoint. `executeFundingOrder` and `resumeFundingOrder` resolve only with a terminal order (DONE or FAILED) and reject with `LiFiErrorCode.Timeout` when execution stops earlier, so a single observer covers every funding source. `resumeFundingOrder` accepts `sourceTxHash` to avoid re-sending a funding transaction the backend has not attributed yet. `waitForFundingOrder` accepts `signal`, `integrator` and `txHash`, and `sleep` accepts an optional `AbortSignal`. HTTP 401 and 422 responses are now classified as `LiFiErrorCode.ValidationError` across all endpoints (previously `InternalError`). A 422 from `createFundingOrder` rejects with an `SDKError` wrapping a `ValidationError` that names `partnerOrderId` reuse, and appends the server's reason when present.
|
|
8
|
+
|
|
7
9
|
- [#427](https://github.com/lifinance/sdk/pull/427) [`03c1562`](https://github.com/lifinance/sdk/commit/03c15625c7d5515f91e24a555ec3b6b5e99dd6b5) Thanks [@chybisov](https://github.com/chybisov)! - Add Stellar (STL) ecosystem support. Introduces the `@lifi/sdk-provider-stellar` package — address validation, Federation resolution, SAC-based balance reads, and route execution via `StellarStepExecutor` — and registers `ChainType.STL` in the SDK client's chain fetching so Stellar chains and RPC URLs load.
|
|
8
10
|
|
|
9
11
|
Execution signs the backend-generated Soroban envelope with the connected wallet, submits it over Stellar RPC, waits for on-chain confirmation, then tracks the transfer through the LI.FI status API. Because a Stellar envelope embeds the sender's account sequence number and a short-lived set of timebounds, the provider always requests a freshly built transaction immediately before signing rather than reusing the one attached to the quote. SAC allowances are granted first when a step requires one, and the approval is confirmed on-chain before the route transaction is requested.
|
|
10
12
|
|
|
13
|
+
`PrepareTransactionTask` gains a `shouldRefetchTransaction` hook. It defaults to the previous behaviour — fetch only when the step carries no transaction request — and the Stellar task overrides it, because a Stellar envelope embeds the sender's sequence number and cannot be reused.
|
|
14
|
+
|
|
15
|
+
`StellarProviderOptions.horizonUrl` is gone — nothing read it — and `StellarWallet.signAuthEntry` is now optional, because the router routes use source-account auth and the SDK never calls it. The provider also exports `DEFAULT_NETWORK_PASSPHRASE`, and refuses to sign when the connected wallet's network disagrees with the configured one.
|
|
16
|
+
|
|
11
17
|
## 4.3.0
|
|
12
18
|
|
|
13
19
|
### Minor Changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { CexSessionRequest, CexSessionResult } from "../types/funding.js";
|
|
3
|
+
import { RequestOptions } from "@lifi/types";
|
|
4
|
+
//#region src/actions/createCexSession.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Create a CEX session for a token.
|
|
7
|
+
* @param client - The SDK client
|
|
8
|
+
* @param params - The CEX session request
|
|
9
|
+
* @param options - Request options
|
|
10
|
+
* @throws {SDKError} Throws if the request fails.
|
|
11
|
+
* @returns The CEX session.
|
|
12
|
+
*/
|
|
13
|
+
declare const createCexSession: (client: SDKClient, params: CexSessionRequest, options?: RequestOptions) => Promise<CexSessionResult>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { createCexSession };
|
|
16
|
+
//# sourceMappingURL=createCexSession.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_utils_request = require("../utils/request.js");
|
|
3
|
+
//#region src/actions/createCexSession.ts
|
|
4
|
+
/**
|
|
5
|
+
* Create a CEX session for a token.
|
|
6
|
+
* @param client - The SDK client
|
|
7
|
+
* @param params - The CEX session request
|
|
8
|
+
* @param options - Request options
|
|
9
|
+
* @throws {SDKError} Throws if the request fails.
|
|
10
|
+
* @returns The CEX session.
|
|
11
|
+
*/
|
|
12
|
+
const createCexSession = async (client, params, options) => {
|
|
13
|
+
return await require_utils_request.request(client.config, `${client.config.apiUrl}/funding/cex/session`, {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: { "Content-Type": "application/json" },
|
|
16
|
+
body: JSON.stringify(params),
|
|
17
|
+
signal: options?.signal
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.createCexSession = createCexSession;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=createCexSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCexSession.js","names":["request"],"sources":["../../../src/actions/createCexSession.ts"],"sourcesContent":["import type { RequestOptions } from '@lifi/types'\nimport type { SDKClient } from '../types/core.js'\nimport type { CexSessionRequest, CexSessionResult } from '../types/funding.js'\nimport { request } from '../utils/request.js'\n\n/**\n * Create a CEX session for a token.\n * @param client - The SDK client\n * @param params - The CEX session request\n * @param options - Request options\n * @throws {SDKError} Throws if the request fails.\n * @returns The CEX session.\n */\nexport const createCexSession = async (\n client: SDKClient,\n params: CexSessionRequest,\n options?: RequestOptions\n): Promise<CexSessionResult> => {\n return await request<CexSessionResult>(\n client.config,\n `${client.config.apiUrl}/funding/cex/session`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(params),\n signal: options?.signal,\n }\n )\n}\n"],"mappings":";;;;;;;;;;;AAaA,MAAa,mBAAmB,OAC9B,QACA,QACA,YAC8B;CAC9B,OAAO,MAAMA,sBAAAA,QACX,OAAO,QACP,GAAG,OAAO,OAAO,OAAO,uBACxB;EACE,QAAQ;EACR,SAAS,EAAE,gBAAgB,mBAAmB;EAC9C,MAAM,KAAK,UAAU,MAAM;EAC3B,QAAQ,SAAS;CACnB,CACF;AACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { CreateFundingOrderRequest, FundingOrder } from "../types/funding.js";
|
|
3
|
+
import { RequestOptions } from "@lifi/types";
|
|
4
|
+
//#region src/actions/createFundingOrder.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Create a funding order. The response embeds the committed quote.
|
|
7
|
+
* 200 (idempotent replay) and 201 (created) both resolve to the order.
|
|
8
|
+
* @param client - The SDK client
|
|
9
|
+
* @param params - The funding order creation request
|
|
10
|
+
* @param options - Request options
|
|
11
|
+
* @throws {SDKError} A missing partnerOrderId and a 422 response (partnerOrderId reuse with a different body) both reject with a `ValidationError` cause; the 422 message names partnerOrderId and appends the server's reason when present, but that cause carries no `status` and no `responseBody`. Every other HTTP failure keeps its `HTTPError` cause with `status` intact: 424 carries LiFiErrorCode.ThirdPartyError (on-ramp provider outage), 401 carries LiFiErrorCode.ValidationError (keyless ONRAMP).
|
|
12
|
+
* @returns The created (or replayed) funding order.
|
|
13
|
+
*/
|
|
14
|
+
declare const createFundingOrder: (client: SDKClient, params: CreateFundingOrderRequest, options?: RequestOptions) => Promise<FundingOrder>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { createFundingOrder };
|
|
17
|
+
//# sourceMappingURL=createFundingOrder.d.ts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_errors_errors = require("../errors/errors.js");
|
|
3
|
+
const require_errors_httpError = require("../errors/httpError.js");
|
|
4
|
+
const require_errors_SDKError = require("../errors/SDKError.js");
|
|
5
|
+
const require_utils_request = require("../utils/request.js");
|
|
6
|
+
//#region src/actions/createFundingOrder.ts
|
|
7
|
+
/**
|
|
8
|
+
* Create a funding order. The response embeds the committed quote.
|
|
9
|
+
* 200 (idempotent replay) and 201 (created) both resolve to the order.
|
|
10
|
+
* @param client - The SDK client
|
|
11
|
+
* @param params - The funding order creation request
|
|
12
|
+
* @param options - Request options
|
|
13
|
+
* @throws {SDKError} A missing partnerOrderId and a 422 response (partnerOrderId reuse with a different body) both reject with a `ValidationError` cause; the 422 message names partnerOrderId and appends the server's reason when present, but that cause carries no `status` and no `responseBody`. Every other HTTP failure keeps its `HTTPError` cause with `status` intact: 424 carries LiFiErrorCode.ThirdPartyError (on-ramp provider outage), 401 carries LiFiErrorCode.ValidationError (keyless ONRAMP).
|
|
14
|
+
* @returns The created (or replayed) funding order.
|
|
15
|
+
*/
|
|
16
|
+
const createFundingOrder = async (client, params, options) => {
|
|
17
|
+
if (!params.partnerOrderId) throw new require_errors_SDKError.SDKError(new require_errors_errors.ValidationError("Required parameter \"partnerOrderId\" is missing."));
|
|
18
|
+
try {
|
|
19
|
+
return await require_utils_request.request(client.config, `${client.config.apiUrl}/funding/orders`, {
|
|
20
|
+
method: "POST",
|
|
21
|
+
headers: { "Content-Type": "application/json" },
|
|
22
|
+
body: JSON.stringify(params),
|
|
23
|
+
signal: options?.signal
|
|
24
|
+
});
|
|
25
|
+
} catch (error) {
|
|
26
|
+
const cause = error.cause;
|
|
27
|
+
if (cause instanceof require_errors_httpError.HTTPError && cause.status === 422) {
|
|
28
|
+
const detail = cause.responseBody?.message;
|
|
29
|
+
throw new require_errors_SDKError.SDKError(new require_errors_errors.ValidationError(`Funding order ${params.partnerOrderId} was rejected: this partnerOrderId was already used with a different request body. Use a new partnerOrderId, or replay the original body byte-for-byte.${detail ? ` Server response: ${detail}` : ""}`));
|
|
30
|
+
}
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.createFundingOrder = createFundingOrder;
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=createFundingOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFundingOrder.js","names":["SDKError","ValidationError","request","HTTPError"],"sources":["../../../src/actions/createFundingOrder.ts"],"sourcesContent":["import type { RequestOptions } from '@lifi/types'\nimport { ValidationError } from '../errors/errors.js'\nimport { HTTPError } from '../errors/httpError.js'\nimport { SDKError } from '../errors/SDKError.js'\nimport type { SDKClient } from '../types/core.js'\nimport type {\n CreateFundingOrderRequest,\n FundingOrder,\n} from '../types/funding.js'\nimport { request } from '../utils/request.js'\n\n/**\n * Create a funding order. The response embeds the committed quote.\n * 200 (idempotent replay) and 201 (created) both resolve to the order.\n * @param client - The SDK client\n * @param params - The funding order creation request\n * @param options - Request options\n * @throws {SDKError} A missing partnerOrderId and a 422 response (partnerOrderId reuse with a different body) both reject with a `ValidationError` cause; the 422 message names partnerOrderId and appends the server's reason when present, but that cause carries no `status` and no `responseBody`. Every other HTTP failure keeps its `HTTPError` cause with `status` intact: 424 carries LiFiErrorCode.ThirdPartyError (on-ramp provider outage), 401 carries LiFiErrorCode.ValidationError (keyless ONRAMP).\n * @returns The created (or replayed) funding order.\n */\nexport const createFundingOrder = async (\n client: SDKClient,\n params: CreateFundingOrderRequest,\n options?: RequestOptions\n): Promise<FundingOrder> => {\n if (!params.partnerOrderId) {\n throw new SDKError(\n new ValidationError('Required parameter \"partnerOrderId\" is missing.')\n )\n }\n try {\n return await request<FundingOrder>(\n client.config,\n `${client.config.apiUrl}/funding/orders`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(params),\n signal: options?.signal,\n }\n )\n } catch (error: unknown) {\n const cause = (error as SDKError).cause\n if (cause instanceof HTTPError && cause.status === 422) {\n // SDKError's constructor is (cause, step?, action?) - there is no slot\n // for a nested error, so do not pass the original as a second argument.\n // Substituting the cause drops the HTTPError's status and responseBody,\n // so carry the server's own reason forward in the message. request()\n // awaits buildAdditionalDetails() before wrapping, so it is populated\n // when present - that method's bare catch leaves it undefined when the\n // body is not JSON, which is why the message appends it conditionally.\n const detail = cause.responseBody?.message\n throw new SDKError(\n new ValidationError(\n `Funding order ${params.partnerOrderId} was rejected: this partnerOrderId was already used with a different request body. Use a new partnerOrderId, or replay the original body byte-for-byte.${detail ? ` Server response: ${detail}` : ''}`\n )\n )\n }\n throw error\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,MAAa,qBAAqB,OAChC,QACA,QACA,YAC0B;CAC1B,IAAI,CAAC,OAAO,gBACV,MAAM,IAAIA,wBAAAA,SACR,IAAIC,sBAAAA,gBAAgB,mDAAiD,CACvE;CAEF,IAAI;EACF,OAAO,MAAMC,sBAAAA,QACX,OAAO,QACP,GAAG,OAAO,OAAO,OAAO,kBACxB;GACE,QAAQ;GACR,SAAS,EAAE,gBAAgB,mBAAmB;GAC9C,MAAM,KAAK,UAAU,MAAM;GAC3B,QAAQ,SAAS;EACnB,CACF;CACF,SAAS,OAAgB;EACvB,MAAM,QAAS,MAAmB;EAClC,IAAI,iBAAiBC,yBAAAA,aAAa,MAAM,WAAW,KAAK;GAQtD,MAAM,SAAS,MAAM,cAAc;GACnC,MAAM,IAAIH,wBAAAA,SACR,IAAIC,sBAAAA,gBACF,iBAAiB,OAAO,eAAe,yJAAyJ,SAAS,qBAAqB,WAAW,IAC3O,CACF;EACF;EACA,MAAM;CACR;AACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { OnrampSessionRequest, OnrampSessionResult } from "../types/funding.js";
|
|
3
|
+
import { RequestOptions } from "@lifi/types";
|
|
4
|
+
//#region src/actions/createOnrampSession.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Create an on-ramp session for a token.
|
|
7
|
+
* @param client - The SDK client
|
|
8
|
+
* @param params - The on-ramp session request
|
|
9
|
+
* @param options - Request options
|
|
10
|
+
* @throws {SDKError} Throws if the request fails.
|
|
11
|
+
* @returns The on-ramp session.
|
|
12
|
+
*/
|
|
13
|
+
declare const createOnrampSession: (client: SDKClient, params: OnrampSessionRequest, options?: RequestOptions) => Promise<OnrampSessionResult>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { createOnrampSession };
|
|
16
|
+
//# sourceMappingURL=createOnrampSession.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_utils_request = require("../utils/request.js");
|
|
3
|
+
//#region src/actions/createOnrampSession.ts
|
|
4
|
+
/**
|
|
5
|
+
* Create an on-ramp session for a token.
|
|
6
|
+
* @param client - The SDK client
|
|
7
|
+
* @param params - The on-ramp session request
|
|
8
|
+
* @param options - Request options
|
|
9
|
+
* @throws {SDKError} Throws if the request fails.
|
|
10
|
+
* @returns The on-ramp session.
|
|
11
|
+
*/
|
|
12
|
+
const createOnrampSession = async (client, params, options) => {
|
|
13
|
+
return await require_utils_request.request(client.config, `${client.config.apiUrl}/funding/onramp/session`, {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: { "Content-Type": "application/json" },
|
|
16
|
+
body: JSON.stringify(params),
|
|
17
|
+
signal: options?.signal
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.createOnrampSession = createOnrampSession;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=createOnrampSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createOnrampSession.js","names":["request"],"sources":["../../../src/actions/createOnrampSession.ts"],"sourcesContent":["import type { RequestOptions } from '@lifi/types'\nimport type { SDKClient } from '../types/core.js'\nimport type {\n OnrampSessionRequest,\n OnrampSessionResult,\n} from '../types/funding.js'\nimport { request } from '../utils/request.js'\n\n/**\n * Create an on-ramp session for a token.\n * @param client - The SDK client\n * @param params - The on-ramp session request\n * @param options - Request options\n * @throws {SDKError} Throws if the request fails.\n * @returns The on-ramp session.\n */\nexport const createOnrampSession = async (\n client: SDKClient,\n params: OnrampSessionRequest,\n options?: RequestOptions\n): Promise<OnrampSessionResult> => {\n return await request<OnrampSessionResult>(\n client.config,\n `${client.config.apiUrl}/funding/onramp/session`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(params),\n signal: options?.signal,\n }\n )\n}\n"],"mappings":";;;;;;;;;;;AAgBA,MAAa,sBAAsB,OACjC,QACA,QACA,YACiC;CACjC,OAAO,MAAMA,sBAAAA,QACX,OAAO,QACP,GAAG,OAAO,OAAO,OAAO,0BACxB;EACE,QAAQ;EACR,SAAS,EAAE,gBAAgB,mBAAmB;EAC9C,MAAM,KAAK,UAAU,MAAM;EAC3B,QAAQ,SAAS;CACnB,CACF;AACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { FundingOrder, GetFundingOrderParams } from "../types/funding.js";
|
|
3
|
+
import { RequestOptions } from "@lifi/types";
|
|
4
|
+
//#region src/actions/getFundingOrder.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Get a funding order by orderId (or partnerOrderId within the caller's scope).
|
|
7
|
+
* Passing txHash reports the source transaction for a STANDARD, non-terminal order.
|
|
8
|
+
* @param client - The SDK client
|
|
9
|
+
* @param orderId - The orderId (UUID) or partnerOrderId
|
|
10
|
+
* @param params - Optional txHash / integrator query parameters
|
|
11
|
+
* @param options - Request options
|
|
12
|
+
* @throws {SDKError} Throws if the request fails.
|
|
13
|
+
* @returns The funding order.
|
|
14
|
+
*/
|
|
15
|
+
declare const getFundingOrder: (client: SDKClient, orderId: string, params?: GetFundingOrderParams, options?: RequestOptions) => Promise<FundingOrder>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getFundingOrder };
|
|
18
|
+
//# sourceMappingURL=getFundingOrder.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_errors_errors = require("../errors/errors.js");
|
|
3
|
+
const require_errors_SDKError = require("../errors/SDKError.js");
|
|
4
|
+
const require_utils_request = require("../utils/request.js");
|
|
5
|
+
//#region src/actions/getFundingOrder.ts
|
|
6
|
+
/**
|
|
7
|
+
* Get a funding order by orderId (or partnerOrderId within the caller's scope).
|
|
8
|
+
* Passing txHash reports the source transaction for a STANDARD, non-terminal order.
|
|
9
|
+
* @param client - The SDK client
|
|
10
|
+
* @param orderId - The orderId (UUID) or partnerOrderId
|
|
11
|
+
* @param params - Optional txHash / integrator query parameters
|
|
12
|
+
* @param options - Request options
|
|
13
|
+
* @throws {SDKError} Throws if the request fails.
|
|
14
|
+
* @returns The funding order.
|
|
15
|
+
*/
|
|
16
|
+
const getFundingOrder = async (client, orderId, params, options) => {
|
|
17
|
+
if (!orderId) throw new require_errors_SDKError.SDKError(new require_errors_errors.ValidationError("Required parameter \"orderId\" is missing."));
|
|
18
|
+
const queryParams = new URLSearchParams();
|
|
19
|
+
if (params?.txHash) queryParams.set("txHash", params.txHash);
|
|
20
|
+
if (params?.integrator) queryParams.set("integrator", params.integrator);
|
|
21
|
+
const query = queryParams.size ? `?${queryParams}` : "";
|
|
22
|
+
return await require_utils_request.request(client.config, `${client.config.apiUrl}/funding/orders/${encodeURIComponent(orderId)}${query}`, { signal: options?.signal });
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.getFundingOrder = getFundingOrder;
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=getFundingOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFundingOrder.js","names":["SDKError","ValidationError","request"],"sources":["../../../src/actions/getFundingOrder.ts"],"sourcesContent":["import type { RequestOptions } from '@lifi/types'\nimport { ValidationError } from '../errors/errors.js'\nimport { SDKError } from '../errors/SDKError.js'\nimport type { SDKClient } from '../types/core.js'\nimport type { FundingOrder, GetFundingOrderParams } from '../types/funding.js'\nimport { request } from '../utils/request.js'\n\n/**\n * Get a funding order by orderId (or partnerOrderId within the caller's scope).\n * Passing txHash reports the source transaction for a STANDARD, non-terminal order.\n * @param client - The SDK client\n * @param orderId - The orderId (UUID) or partnerOrderId\n * @param params - Optional txHash / integrator query parameters\n * @param options - Request options\n * @throws {SDKError} Throws if the request fails.\n * @returns The funding order.\n */\nexport const getFundingOrder = async (\n client: SDKClient,\n orderId: string,\n params?: GetFundingOrderParams,\n options?: RequestOptions\n): Promise<FundingOrder> => {\n if (!orderId) {\n throw new SDKError(\n new ValidationError('Required parameter \"orderId\" is missing.')\n )\n }\n const queryParams = new URLSearchParams()\n if (params?.txHash) {\n queryParams.set('txHash', params.txHash)\n }\n if (params?.integrator) {\n queryParams.set('integrator', params.integrator)\n }\n const query = queryParams.size ? `?${queryParams}` : ''\n return await request<FundingOrder>(\n client.config,\n `${client.config.apiUrl}/funding/orders/${encodeURIComponent(orderId)}${query}`,\n {\n signal: options?.signal,\n }\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,MAAa,kBAAkB,OAC7B,QACA,SACA,QACA,YAC0B;CAC1B,IAAI,CAAC,SACH,MAAM,IAAIA,wBAAAA,SACR,IAAIC,sBAAAA,gBAAgB,4CAA0C,CAChE;CAEF,MAAM,cAAc,IAAI,gBAAgB;CACxC,IAAI,QAAQ,QACV,YAAY,IAAI,UAAU,OAAO,MAAM;CAEzC,IAAI,QAAQ,YACV,YAAY,IAAI,cAAc,OAAO,UAAU;CAEjD,MAAM,QAAQ,YAAY,OAAO,IAAI,gBAAgB;CACrD,OAAO,MAAMC,sBAAAA,QACX,OAAO,QACP,GAAG,OAAO,OAAO,OAAO,kBAAkB,mBAAmB,OAAO,IAAI,SACxE,EACE,QAAQ,SAAS,OACnB,CACF;AACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { OnrampFiatCurrenciesRequest, OnrampFiatCurrenciesResult } from "../types/funding.js";
|
|
3
|
+
import { RequestOptions } from "@lifi/types";
|
|
4
|
+
//#region src/actions/getOnrampFiatCurrencies.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Get available fiat currencies for an on-ramp token.
|
|
7
|
+
* @param client - The SDK client
|
|
8
|
+
* @param params - The on-ramp fiat currencies request
|
|
9
|
+
* @param options - Request options
|
|
10
|
+
* @throws {SDKError} Throws if the request fails.
|
|
11
|
+
* @returns The available fiat currencies.
|
|
12
|
+
*/
|
|
13
|
+
declare const getOnrampFiatCurrencies: (client: SDKClient, params: OnrampFiatCurrenciesRequest, options?: RequestOptions) => Promise<OnrampFiatCurrenciesResult>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { getOnrampFiatCurrencies };
|
|
16
|
+
//# sourceMappingURL=getOnrampFiatCurrencies.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_utils_request = require("../utils/request.js");
|
|
3
|
+
//#region src/actions/getOnrampFiatCurrencies.ts
|
|
4
|
+
/**
|
|
5
|
+
* Get available fiat currencies for an on-ramp token.
|
|
6
|
+
* @param client - The SDK client
|
|
7
|
+
* @param params - The on-ramp fiat currencies request
|
|
8
|
+
* @param options - Request options
|
|
9
|
+
* @throws {SDKError} Throws if the request fails.
|
|
10
|
+
* @returns The available fiat currencies.
|
|
11
|
+
*/
|
|
12
|
+
const getOnrampFiatCurrencies = async (client, params, options) => {
|
|
13
|
+
return await require_utils_request.request(client.config, `${client.config.apiUrl}/funding/onramp/fiat-currencies`, {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: { "Content-Type": "application/json" },
|
|
16
|
+
body: JSON.stringify(params),
|
|
17
|
+
signal: options?.signal
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.getOnrampFiatCurrencies = getOnrampFiatCurrencies;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=getOnrampFiatCurrencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOnrampFiatCurrencies.js","names":["request"],"sources":["../../../src/actions/getOnrampFiatCurrencies.ts"],"sourcesContent":["import type { RequestOptions } from '@lifi/types'\nimport type { SDKClient } from '../types/core.js'\nimport type {\n OnrampFiatCurrenciesRequest,\n OnrampFiatCurrenciesResult,\n} from '../types/funding.js'\nimport { request } from '../utils/request.js'\n\n/**\n * Get available fiat currencies for an on-ramp token.\n * @param client - The SDK client\n * @param params - The on-ramp fiat currencies request\n * @param options - Request options\n * @throws {SDKError} Throws if the request fails.\n * @returns The available fiat currencies.\n */\nexport const getOnrampFiatCurrencies = async (\n client: SDKClient,\n params: OnrampFiatCurrenciesRequest,\n options?: RequestOptions\n): Promise<OnrampFiatCurrenciesResult> => {\n return await request<OnrampFiatCurrenciesResult>(\n client.config,\n `${client.config.apiUrl}/funding/onramp/fiat-currencies`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(params),\n signal: options?.signal,\n }\n )\n}\n"],"mappings":";;;;;;;;;;;AAgBA,MAAa,0BAA0B,OACrC,QACA,QACA,YACwC;CACxC,OAAO,MAAMA,sBAAAA,QACX,OAAO,QACP,GAAG,OAAO,OAAO,OAAO,kCACxB;EACE,QAAQ;EACR,SAAS,EAAE,gBAAgB,mBAAmB;EAC9C,MAAM,KAAK,UAAU,MAAM;EAC3B,QAAQ,SAAS;CACnB,CACF;AACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { OnrampQuoteRequest, OnrampQuoteResult } from "../types/funding.js";
|
|
3
|
+
import { RequestOptions } from "@lifi/types";
|
|
4
|
+
//#region src/actions/getOnrampQuote.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Get an on-ramp fiat quote for a token.
|
|
7
|
+
* @param client - The SDK client
|
|
8
|
+
* @param params - The on-ramp quote request
|
|
9
|
+
* @param options - Request options
|
|
10
|
+
* @throws {SDKError} Throws if the request fails.
|
|
11
|
+
* @returns The on-ramp quote.
|
|
12
|
+
*/
|
|
13
|
+
declare const getOnrampQuote: (client: SDKClient, params: OnrampQuoteRequest, options?: RequestOptions) => Promise<OnrampQuoteResult>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { getOnrampQuote };
|
|
16
|
+
//# sourceMappingURL=getOnrampQuote.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_utils_request = require("../utils/request.js");
|
|
3
|
+
//#region src/actions/getOnrampQuote.ts
|
|
4
|
+
/**
|
|
5
|
+
* Get an on-ramp fiat quote for a token.
|
|
6
|
+
* @param client - The SDK client
|
|
7
|
+
* @param params - The on-ramp quote request
|
|
8
|
+
* @param options - Request options
|
|
9
|
+
* @throws {SDKError} Throws if the request fails.
|
|
10
|
+
* @returns The on-ramp quote.
|
|
11
|
+
*/
|
|
12
|
+
const getOnrampQuote = async (client, params, options) => {
|
|
13
|
+
return await require_utils_request.request(client.config, `${client.config.apiUrl}/funding/onramp/quote`, {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: { "Content-Type": "application/json" },
|
|
16
|
+
body: JSON.stringify(params),
|
|
17
|
+
signal: options?.signal
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.getOnrampQuote = getOnrampQuote;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=getOnrampQuote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOnrampQuote.js","names":["request"],"sources":["../../../src/actions/getOnrampQuote.ts"],"sourcesContent":["import type { RequestOptions } from '@lifi/types'\nimport type { SDKClient } from '../types/core.js'\nimport type { OnrampQuoteRequest, OnrampQuoteResult } from '../types/funding.js'\nimport { request } from '../utils/request.js'\n\n/**\n * Get an on-ramp fiat quote for a token.\n * @param client - The SDK client\n * @param params - The on-ramp quote request\n * @param options - Request options\n * @throws {SDKError} Throws if the request fails.\n * @returns The on-ramp quote.\n */\nexport const getOnrampQuote = async (\n client: SDKClient,\n params: OnrampQuoteRequest,\n options?: RequestOptions\n): Promise<OnrampQuoteResult> => {\n return await request<OnrampQuoteResult>(\n client.config,\n `${client.config.apiUrl}/funding/onramp/quote`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(params),\n signal: options?.signal,\n }\n )\n}\n"],"mappings":";;;;;;;;;;;AAaA,MAAa,iBAAiB,OAC5B,QACA,QACA,YAC+B;CAC/B,OAAO,MAAMA,sBAAAA,QACX,OAAO,QACP,GAAG,OAAO,OAAO,OAAO,wBACxB;EACE,QAAQ;EACR,SAAS,EAAE,gBAAgB,mBAAmB;EAC9C,MAAM,KAAK,UAAU,MAAM;EAC3B,QAAQ,SAAS;CACnB,CACF;AACF"}
|
|
@@ -1,10 +1,32 @@
|
|
|
1
1
|
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { CexSessionRequest, CexSessionResult, CreateFundingOrderRequest, FundingOrder, GetFundingOrderParams, OnrampFiatCurrenciesRequest, OnrampFiatCurrenciesResult, OnrampQuoteRequest, OnrampQuoteResult, OnrampSessionRequest, OnrampSessionResult, WaitForFundingOrderOptions } from "../types/funding.js";
|
|
2
3
|
import { GetStatusRequestExtended, LiFiStepRequest, QuoteRequestFromAmount, RoutesRequest as RoutesRequest$1 } from "../types/actions.js";
|
|
3
4
|
import { getQuote } from "./getQuote.js";
|
|
4
5
|
import { PatchContractCallsResponse } from "./patchContractCalls.js";
|
|
5
6
|
import { ChainId, ChainKey, ChainType, ChainsRequest, ConnectionsRequest, ConnectionsResponse, ContractCallsQuoteRequest, ExtendedChain, GasRecommendationRequest, GasRecommendationResponse, LiFiStep, PatchCallDataRequest, RelayRequest, RelayResponseData, RelayStatusRequest, RelayStatusResponseData, RequestOptions, RoutesResponse, StatusResponse, Token, TokenAmount, TokenExtended, TokensExtendedResponse, TokensRequest, TokensResponse, ToolsRequest, ToolsResponse, TransactionAnalyticsRequest, TransactionAnalyticsResponse } from "@lifi/types";
|
|
6
7
|
//#region src/actions/index.d.ts
|
|
7
8
|
type Actions = {
|
|
9
|
+
/**
|
|
10
|
+
* Create a CEX session for a token
|
|
11
|
+
* @param params - The CEX session request
|
|
12
|
+
* @param options - Request options
|
|
13
|
+
* @returns The CEX session
|
|
14
|
+
*/
|
|
15
|
+
createCexSession: (params: CexSessionRequest, options?: RequestOptions) => Promise<CexSessionResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Create a funding order
|
|
18
|
+
* @param params - The funding order creation request
|
|
19
|
+
* @param options - Request options
|
|
20
|
+
* @returns The created funding order
|
|
21
|
+
*/
|
|
22
|
+
createFundingOrder: (params: CreateFundingOrderRequest, options?: RequestOptions) => Promise<FundingOrder>;
|
|
23
|
+
/**
|
|
24
|
+
* Create an on-ramp session for a token
|
|
25
|
+
* @param params - The on-ramp session request
|
|
26
|
+
* @param options - Request options
|
|
27
|
+
* @returns The on-ramp session
|
|
28
|
+
*/
|
|
29
|
+
createOnrampSession: (params: OnrampSessionRequest, options?: RequestOptions) => Promise<OnrampSessionResult>;
|
|
8
30
|
/**
|
|
9
31
|
* Get all available chains
|
|
10
32
|
* @param params - The configuration of the requested chains
|
|
@@ -26,6 +48,14 @@ type Actions = {
|
|
|
26
48
|
* @returns Quote for contract calls
|
|
27
49
|
*/
|
|
28
50
|
getContractCallsQuote: (params: ContractCallsQuoteRequest, options?: RequestOptions) => Promise<LiFiStep>;
|
|
51
|
+
/**
|
|
52
|
+
* Get a funding order by id
|
|
53
|
+
* @param orderId - The orderId or partnerOrderId
|
|
54
|
+
* @param params - Optional txHash / integrator query parameters
|
|
55
|
+
* @param options - Request options
|
|
56
|
+
* @returns The funding order
|
|
57
|
+
*/
|
|
58
|
+
getFundingOrder: (orderId: string, params?: GetFundingOrderParams, options?: RequestOptions) => Promise<FundingOrder>;
|
|
29
59
|
/**
|
|
30
60
|
* Get gas recommendation for a chain
|
|
31
61
|
* @param params - The configuration of the requested gas recommendation
|
|
@@ -40,6 +70,20 @@ type Actions = {
|
|
|
40
70
|
* @returns The address of the name service
|
|
41
71
|
*/
|
|
42
72
|
getNameServiceAddress: (name: string, chainType?: ChainType) => Promise<string | undefined>;
|
|
73
|
+
/**
|
|
74
|
+
* Get available fiat currencies for an on-ramp token
|
|
75
|
+
* @param params - The on-ramp fiat currencies request
|
|
76
|
+
* @param options - Request options
|
|
77
|
+
* @returns The available fiat currencies
|
|
78
|
+
*/
|
|
79
|
+
getOnrampFiatCurrencies: (params: OnrampFiatCurrenciesRequest, options?: RequestOptions) => Promise<OnrampFiatCurrenciesResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Get an on-ramp fiat quote for a token
|
|
82
|
+
* @param params - The on-ramp quote request
|
|
83
|
+
* @param options - Request options
|
|
84
|
+
* @returns The on-ramp quote
|
|
85
|
+
*/
|
|
86
|
+
getOnrampQuote: (params: OnrampQuoteRequest, options?: RequestOptions) => Promise<OnrampQuoteResult>;
|
|
43
87
|
/**
|
|
44
88
|
* Get a quote for a token transfer
|
|
45
89
|
* @param params - The configuration of the requested quote
|
|
@@ -160,6 +204,13 @@ type Actions = {
|
|
|
160
204
|
* @returns Patched contract calls
|
|
161
205
|
*/
|
|
162
206
|
patchContractCalls: (params: PatchCallDataRequest, options?: RequestOptions) => Promise<PatchContractCallsResponse[]>;
|
|
207
|
+
/**
|
|
208
|
+
* Poll a funding order until it reaches a terminal state
|
|
209
|
+
* @param orderId - The orderId to poll
|
|
210
|
+
* @param options - Polling options
|
|
211
|
+
* @returns The terminal funding order
|
|
212
|
+
*/
|
|
213
|
+
waitForFundingOrder: (orderId: string, options?: WaitForFundingOrderOptions) => Promise<FundingOrder>;
|
|
163
214
|
};
|
|
164
215
|
declare function actions(client: SDKClient): Actions;
|
|
165
216
|
//#endregion
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_actions_createCexSession = require("./createCexSession.js");
|
|
3
|
+
const require_actions_createFundingOrder = require("./createFundingOrder.js");
|
|
4
|
+
const require_actions_createOnrampSession = require("./createOnrampSession.js");
|
|
2
5
|
const require_actions_getChains = require("./getChains.js");
|
|
3
6
|
const require_actions_getConnections = require("./getConnections.js");
|
|
4
7
|
const require_actions_getContractCallsQuote = require("./getContractCallsQuote.js");
|
|
8
|
+
const require_actions_getFundingOrder = require("./getFundingOrder.js");
|
|
5
9
|
const require_actions_getGasRecommendation = require("./getGasRecommendation.js");
|
|
6
10
|
const require_actions_getNameServiceAddress = require("./getNameServiceAddress.js");
|
|
11
|
+
const require_actions_getOnrampFiatCurrencies = require("./getOnrampFiatCurrencies.js");
|
|
12
|
+
const require_actions_getOnrampQuote = require("./getOnrampQuote.js");
|
|
7
13
|
const require_actions_getQuote = require("./getQuote.js");
|
|
8
14
|
const require_actions_getStatus = require("./getStatus.js");
|
|
9
15
|
const require_actions_getRelayedTransactionStatus = require("./getRelayedTransactionStatus.js");
|
|
@@ -19,14 +25,21 @@ const require_actions_getTools = require("./getTools.js");
|
|
|
19
25
|
const require_actions_getTransactionHistory = require("./getTransactionHistory.js");
|
|
20
26
|
const require_actions_patchContractCalls = require("./patchContractCalls.js");
|
|
21
27
|
const require_actions_relayTransaction = require("./relayTransaction.js");
|
|
28
|
+
const require_actions_waitForFundingOrder = require("./waitForFundingOrder.js");
|
|
22
29
|
//#region src/actions/index.ts
|
|
23
30
|
function actions(client) {
|
|
24
31
|
return {
|
|
32
|
+
createCexSession: (params, options) => require_actions_createCexSession.createCexSession(client, params, options),
|
|
33
|
+
createFundingOrder: (params, options) => require_actions_createFundingOrder.createFundingOrder(client, params, options),
|
|
34
|
+
createOnrampSession: (params, options) => require_actions_createOnrampSession.createOnrampSession(client, params, options),
|
|
25
35
|
getChains: (params, options) => require_actions_getChains.getChains(client, params, options),
|
|
26
36
|
getConnections: (params, options) => require_actions_getConnections.getConnections(client, params, options),
|
|
27
37
|
getContractCallsQuote: (params, options) => require_actions_getContractCallsQuote.getContractCallsQuote(client, params, options),
|
|
38
|
+
getFundingOrder: (orderId, params, options) => require_actions_getFundingOrder.getFundingOrder(client, orderId, params, options),
|
|
28
39
|
getGasRecommendation: (params, options) => require_actions_getGasRecommendation.getGasRecommendation(client, params, options),
|
|
29
40
|
getNameServiceAddress: (name, chainType) => require_actions_getNameServiceAddress.getNameServiceAddress(client, name, chainType),
|
|
41
|
+
getOnrampFiatCurrencies: (params, options) => require_actions_getOnrampFiatCurrencies.getOnrampFiatCurrencies(client, params, options),
|
|
42
|
+
getOnrampQuote: (params, options) => require_actions_getOnrampQuote.getOnrampQuote(client, params, options),
|
|
30
43
|
getTokens: (params, options) => require_actions_getTokens.getTokens(client, params, options),
|
|
31
44
|
getTools: (params, options) => require_actions_getTools.getTools(client, params, options),
|
|
32
45
|
getQuote: (params, options) => require_actions_getQuote.getQuote(client, params, options),
|
|
@@ -41,7 +54,8 @@ function actions(client) {
|
|
|
41
54
|
getTokenBalancesByChain: (walletAddress, tokensByChain) => require_actions_getTokenBalancesByChain.getTokenBalancesByChain(client, walletAddress, tokensByChain),
|
|
42
55
|
getTransactionHistory: (params, options) => require_actions_getTransactionHistory.getTransactionHistory(client, params, options),
|
|
43
56
|
relayTransaction: (params, options) => require_actions_relayTransaction.relayTransaction(client, params, options),
|
|
44
|
-
patchContractCalls: (params, options) => require_actions_patchContractCalls.patchContractCalls(client, params, options)
|
|
57
|
+
patchContractCalls: (params, options) => require_actions_patchContractCalls.patchContractCalls(client, params, options),
|
|
58
|
+
waitForFundingOrder: (orderId, options) => require_actions_waitForFundingOrder.waitForFundingOrder(client, orderId, options)
|
|
45
59
|
};
|
|
46
60
|
}
|
|
47
61
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getChains","getConnections","getContractCallsQuote","getGasRecommendation","getNameServiceAddress","getTokens","getTools","getQuote","getRelayedTransactionStatus","getRelayerQuote","getRoutes","getStatus","getStepTransaction","getToken","getTokenBalance","getTokenBalances","getTokenBalancesByChain","getTransactionHistory","relayTransaction","patchContractCalls"],"sources":["../../../src/actions/index.ts"],"sourcesContent":["import type {\n ChainId,\n ChainKey,\n ChainsRequest,\n ChainType,\n ConnectionsRequest,\n ConnectionsResponse,\n ContractCallsQuoteRequest,\n ExtendedChain,\n GasRecommendationRequest,\n GasRecommendationResponse,\n LiFiStep,\n PatchCallDataRequest,\n RelayRequest,\n RelayResponseData,\n RelayStatusRequest,\n RelayStatusResponseData,\n RequestOptions,\n RoutesResponse,\n StatusResponse,\n Token,\n TokenAmount,\n TokenExtended,\n TokensExtendedResponse,\n TokensRequest,\n TokensResponse,\n ToolsRequest,\n ToolsResponse,\n TransactionAnalyticsRequest,\n TransactionAnalyticsResponse,\n} from '@lifi/types'\nimport type {\n GetStatusRequestExtended,\n LiFiStepRequest,\n QuoteRequestFromAmount,\n RoutesRequest,\n} from '../types/actions.js'\nimport type { SDKClient } from '../types/core.js'\nimport { getChains } from './getChains.js'\nimport { getConnections } from './getConnections.js'\nimport { getContractCallsQuote } from './getContractCallsQuote.js'\nimport { getGasRecommendation } from './getGasRecommendation.js'\nimport { getNameServiceAddress } from './getNameServiceAddress.js'\nimport { getQuote } from './getQuote.js'\nimport { getRelayedTransactionStatus } from './getRelayedTransactionStatus.js'\nimport { getRelayerQuote } from './getRelayerQuote.js'\nimport { getRoutes } from './getRoutes.js'\nimport { getStatus } from './getStatus.js'\nimport { getStepTransaction } from './getStepTransaction.js'\nimport { getToken } from './getToken.js'\nimport { getTokenBalance } from './getTokenBalance.js'\nimport { getTokenBalances } from './getTokenBalances.js'\nimport { getTokenBalancesByChain } from './getTokenBalancesByChain.js'\nimport { getTokens } from './getTokens.js'\nimport { getTools } from './getTools.js'\nimport { getTransactionHistory } from './getTransactionHistory.js'\nimport {\n type PatchContractCallsResponse,\n patchContractCalls,\n} from './patchContractCalls.js'\nimport { relayTransaction } from './relayTransaction.js'\n\nexport type Actions = {\n /**\n * Get all available chains\n * @param params - The configuration of the requested chains\n * @param options - Request options\n * @returns A list of all available chains\n */\n getChains: (\n params?: ChainsRequest,\n options?: RequestOptions\n ) => Promise<ExtendedChain[]>\n\n /**\n * Get connections between chains\n * @param params - The configuration of the requested connections\n * @param options - Request options\n * @returns A list of connections\n */\n getConnections: (\n params: ConnectionsRequest,\n options?: RequestOptions\n ) => Promise<ConnectionsResponse>\n\n /**\n * Get a quote for contract calls\n * @param params - The configuration of the requested contract calls quote\n * @param options - Request options\n * @returns Quote for contract calls\n */\n getContractCallsQuote: (\n params: ContractCallsQuoteRequest,\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get gas recommendation for a chain\n * @param params - The configuration of the requested gas recommendation\n * @param options - Request options\n * @returns Gas recommendation\n */\n getGasRecommendation: (\n params: GasRecommendationRequest,\n options?: RequestOptions\n ) => Promise<GasRecommendationResponse>\n\n /**\n * Get the address of a name service\n * @param name - The name to resolve\n * @param chainType - The chain type to resolve the name on\n * @returns The address of the name service\n */\n getNameServiceAddress: (\n name: string,\n chainType?: ChainType\n ) => Promise<string | undefined>\n\n /**\n * Get a quote for a token transfer\n * @param params - The configuration of the requested quote\n * @param options - Request options\n * @returns Quote for a token transfer\n */\n getQuote: (\n params: Parameters<typeof getQuote>[1],\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get the status of a relayed transaction\n * @param params - The configuration of the requested relay status\n * @param options - Request options\n * @returns Status of the relayed transaction\n */\n getRelayedTransactionStatus: (\n params: RelayStatusRequest,\n options?: RequestOptions\n ) => Promise<RelayStatusResponseData>\n\n /**\n * Get a quote from a relayer\n * @param params - The configuration of the requested relayer quote\n * @param options - Request options\n * @returns Quote from a relayer\n */\n getRelayerQuote: (\n params: QuoteRequestFromAmount,\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get a set of routes for a request that describes a transfer of tokens.\n * Optional limit-order fields (`toAmount`, `validUntil`, `partiallyFillable`)\n * may be supplied and are resolved on the backend.\n * @param params - A description of the transfer\n * @param options - Request options\n * @returns The resulting routes that can be used to realize the described transfer\n */\n getRoutes: (\n params: RoutesRequest,\n options?: RequestOptions\n ) => Promise<RoutesResponse>\n\n /**\n * Get the status of a transaction\n * @param params - The configuration of the requested status\n * @param options - Request options\n * @returns Status of the transaction\n */\n getStatus: (\n params: GetStatusRequestExtended,\n options?: RequestOptions\n ) => Promise<StatusResponse>\n\n /**\n * Get a step transaction. The step's `action` may carry the optional\n * limit-order fields, which are resolved on the backend.\n * @param params - The configuration of the requested step transaction\n * @param options - Request options\n * @returns Step transaction\n */\n getStepTransaction: (\n params: LiFiStepRequest,\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get a specific token\n * @param chain - Id or key of the chain that contains the token\n * @param token - Address or symbol of the token on the requested chain\n * @param options - Request options\n * @returns Token information\n */\n getToken: (\n chain: ChainKey | ChainId,\n token: string,\n options?: RequestOptions\n ) => Promise<TokenExtended>\n\n /**\n * Get token balance for a specific token\n * @param walletAddress - A wallet address\n * @param token - A Token object\n * @returns Token balance\n */\n getTokenBalance: (\n walletAddress: string,\n token: Token\n ) => Promise<TokenAmount | null>\n\n /**\n * Get token balances for multiple tokens\n * @param walletAddress - A wallet address\n * @param tokens - A list of Token objects\n * @returns Token balances\n */\n getTokenBalances: (\n walletAddress: string,\n tokens: Token[]\n ) => Promise<TokenAmount[]>\n\n /**\n * Get token balances by chain\n * @param walletAddress - A wallet address\n * @param tokensByChain - A list of token objects organized by chain ids\n * @returns Token balances by chain\n */\n getTokenBalancesByChain: (\n walletAddress: string,\n tokensByChain: { [chainId: number]: Token[] }\n ) => Promise<{\n [chainId: number]: TokenAmount[]\n }>\n\n /**\n * Get all available tokens\n * @param params - The configuration of the requested tokens\n * @param options - Request options\n * @returns A list of all available tokens\n */\n getTokens: {\n (\n params?: TokensRequest & { extended?: false | undefined },\n options?: RequestOptions\n ): Promise<TokensResponse>\n (\n params: TokensRequest & { extended: true },\n options?: RequestOptions\n ): Promise<TokensExtendedResponse>\n }\n\n /**\n * Get all available tools (bridges and exchanges)\n * @param params - The configuration of the requested tools\n * @param options - Request options\n * @returns A list of all available tools\n */\n getTools: (\n params?: ToolsRequest,\n options?: RequestOptions\n ) => Promise<ToolsResponse>\n\n /**\n * Get transaction history\n * @param params - The configuration of the requested transaction history\n * @param options - Request options\n * @returns Transaction history\n */\n getTransactionHistory: (\n params: TransactionAnalyticsRequest,\n options?: RequestOptions\n ) => Promise<TransactionAnalyticsResponse>\n\n /**\n * Relay a transaction through the relayer service\n * @param params - The configuration for the relay request\n * @param options - Request options\n * @returns Task ID and transaction link for the relayed transaction\n */\n relayTransaction: (\n params: RelayRequest,\n options?: RequestOptions\n ) => Promise<RelayResponseData>\n\n /**\n * Patch contract calls\n * @param params - The configuration for the patch contract calls request\n * @param options - Request options\n * @returns Patched contract calls\n */\n patchContractCalls: (\n params: PatchCallDataRequest,\n options?: RequestOptions\n ) => Promise<PatchContractCallsResponse[]>\n}\n\nexport function actions(client: SDKClient): Actions {\n return {\n getChains: (params, options) => getChains(client, params, options),\n getConnections: (params, options) =>\n getConnections(client, params, options),\n getContractCallsQuote: (params, options) =>\n getContractCallsQuote(client, params, options),\n getGasRecommendation: (params, options) =>\n getGasRecommendation(client, params, options),\n getNameServiceAddress: (name, chainType) =>\n getNameServiceAddress(client, name, chainType),\n getTokens: (params, options) => getTokens(client, params as any, options),\n getTools: (params, options) => getTools(client, params, options),\n getQuote: (params, options) => getQuote(client, params, options),\n getRelayedTransactionStatus: (params, options) =>\n getRelayedTransactionStatus(client, params, options),\n getRelayerQuote: (params, options) =>\n getRelayerQuote(client, params, options),\n getRoutes: (params, options) => getRoutes(client, params, options),\n getStatus: (params, options) => getStatus(client, params, options),\n getStepTransaction: (params, options) =>\n getStepTransaction(client, params, options),\n getToken: (chain, token, options) =>\n getToken(client, chain, token, options),\n getTokenBalance: (walletAddress, token) =>\n getTokenBalance(client, walletAddress, token),\n getTokenBalances: (walletAddress, tokens) =>\n getTokenBalances(client, walletAddress, tokens),\n getTokenBalancesByChain: (walletAddress, tokensByChain) =>\n getTokenBalancesByChain(client, walletAddress, tokensByChain),\n getTransactionHistory: (params, options) =>\n getTransactionHistory(client, params, options),\n relayTransaction: (params, options) =>\n relayTransaction(client, params, options),\n patchContractCalls: (params, options) =>\n patchContractCalls(client, params, options),\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAySA,SAAgB,QAAQ,QAA4B;CAClD,OAAO;EACL,YAAY,QAAQ,YAAYA,0BAAAA,UAAU,QAAQ,QAAQ,OAAO;EACjE,iBAAiB,QAAQ,YACvBC,+BAAAA,eAAe,QAAQ,QAAQ,OAAO;EACxC,wBAAwB,QAAQ,YAC9BC,sCAAAA,sBAAsB,QAAQ,QAAQ,OAAO;EAC/C,uBAAuB,QAAQ,YAC7BC,qCAAAA,qBAAqB,QAAQ,QAAQ,OAAO;EAC9C,wBAAwB,MAAM,cAC5BC,sCAAAA,sBAAsB,QAAQ,MAAM,SAAS;EAC/C,YAAY,QAAQ,YAAYC,0BAAAA,UAAU,QAAQ,QAAe,OAAO;EACxE,WAAW,QAAQ,YAAYC,yBAAAA,SAAS,QAAQ,QAAQ,OAAO;EAC/D,WAAW,QAAQ,YAAYC,yBAAAA,SAAS,QAAQ,QAAQ,OAAO;EAC/D,8BAA8B,QAAQ,YACpCC,4CAAAA,4BAA4B,QAAQ,QAAQ,OAAO;EACrD,kBAAkB,QAAQ,YACxBC,gCAAAA,gBAAgB,QAAQ,QAAQ,OAAO;EACzC,YAAY,QAAQ,YAAYC,0BAAAA,UAAU,QAAQ,QAAQ,OAAO;EACjE,YAAY,QAAQ,YAAYC,0BAAAA,UAAU,QAAQ,QAAQ,OAAO;EACjE,qBAAqB,QAAQ,YAC3BC,mCAAAA,mBAAmB,QAAQ,QAAQ,OAAO;EAC5C,WAAW,OAAO,OAAO,YACvBC,yBAAAA,SAAS,QAAQ,OAAO,OAAO,OAAO;EACxC,kBAAkB,eAAe,UAC/BC,gCAAAA,gBAAgB,QAAQ,eAAe,KAAK;EAC9C,mBAAmB,eAAe,WAChCC,iCAAAA,iBAAiB,QAAQ,eAAe,MAAM;EAChD,0BAA0B,eAAe,kBACvCC,wCAAAA,wBAAwB,QAAQ,eAAe,aAAa;EAC9D,wBAAwB,QAAQ,YAC9BC,sCAAAA,sBAAsB,QAAQ,QAAQ,OAAO;EAC/C,mBAAmB,QAAQ,YACzBC,iCAAAA,iBAAiB,QAAQ,QAAQ,OAAO;EAC1C,qBAAqB,QAAQ,YAC3BC,mCAAAA,mBAAmB,QAAQ,QAAQ,OAAO;CAC9C;AACF"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["createCexSession","createFundingOrder","createOnrampSession","getChains","getConnections","getContractCallsQuote","getFundingOrder","getGasRecommendation","getNameServiceAddress","getOnrampFiatCurrencies","getOnrampQuote","getTokens","getTools","getQuote","getRelayedTransactionStatus","getRelayerQuote","getRoutes","getStatus","getStepTransaction","getToken","getTokenBalance","getTokenBalances","getTokenBalancesByChain","getTransactionHistory","relayTransaction","patchContractCalls","waitForFundingOrder"],"sources":["../../../src/actions/index.ts"],"sourcesContent":["import type {\n ChainId,\n ChainKey,\n ChainsRequest,\n ChainType,\n ConnectionsRequest,\n ConnectionsResponse,\n ContractCallsQuoteRequest,\n ExtendedChain,\n GasRecommendationRequest,\n GasRecommendationResponse,\n LiFiStep,\n PatchCallDataRequest,\n RelayRequest,\n RelayResponseData,\n RelayStatusRequest,\n RelayStatusResponseData,\n RequestOptions,\n RoutesResponse,\n StatusResponse,\n Token,\n TokenAmount,\n TokenExtended,\n TokensExtendedResponse,\n TokensRequest,\n TokensResponse,\n ToolsRequest,\n ToolsResponse,\n TransactionAnalyticsRequest,\n TransactionAnalyticsResponse,\n} from '@lifi/types'\nimport type {\n GetStatusRequestExtended,\n LiFiStepRequest,\n QuoteRequestFromAmount,\n RoutesRequest,\n} from '../types/actions.js'\nimport type { SDKClient } from '../types/core.js'\nimport type {\n CexSessionRequest,\n CexSessionResult,\n CreateFundingOrderRequest,\n FundingOrder,\n GetFundingOrderParams,\n OnrampFiatCurrenciesRequest,\n OnrampFiatCurrenciesResult,\n OnrampQuoteRequest,\n OnrampQuoteResult,\n OnrampSessionRequest,\n OnrampSessionResult,\n WaitForFundingOrderOptions,\n} from '../types/funding.js'\nimport { createCexSession } from './createCexSession.js'\nimport { createFundingOrder } from './createFundingOrder.js'\nimport { createOnrampSession } from './createOnrampSession.js'\nimport { getChains } from './getChains.js'\nimport { getConnections } from './getConnections.js'\nimport { getContractCallsQuote } from './getContractCallsQuote.js'\nimport { getFundingOrder } from './getFundingOrder.js'\nimport { getGasRecommendation } from './getGasRecommendation.js'\nimport { getNameServiceAddress } from './getNameServiceAddress.js'\nimport { getOnrampFiatCurrencies } from './getOnrampFiatCurrencies.js'\nimport { getOnrampQuote } from './getOnrampQuote.js'\nimport { getQuote } from './getQuote.js'\nimport { getRelayedTransactionStatus } from './getRelayedTransactionStatus.js'\nimport { getRelayerQuote } from './getRelayerQuote.js'\nimport { getRoutes } from './getRoutes.js'\nimport { getStatus } from './getStatus.js'\nimport { getStepTransaction } from './getStepTransaction.js'\nimport { getToken } from './getToken.js'\nimport { getTokenBalance } from './getTokenBalance.js'\nimport { getTokenBalances } from './getTokenBalances.js'\nimport { getTokenBalancesByChain } from './getTokenBalancesByChain.js'\nimport { getTokens } from './getTokens.js'\nimport { getTools } from './getTools.js'\nimport { getTransactionHistory } from './getTransactionHistory.js'\nimport {\n type PatchContractCallsResponse,\n patchContractCalls,\n} from './patchContractCalls.js'\nimport { relayTransaction } from './relayTransaction.js'\nimport { waitForFundingOrder } from './waitForFundingOrder.js'\n\nexport type Actions = {\n /**\n * Create a CEX session for a token\n * @param params - The CEX session request\n * @param options - Request options\n * @returns The CEX session\n */\n createCexSession: (\n params: CexSessionRequest,\n options?: RequestOptions\n ) => Promise<CexSessionResult>\n\n /**\n * Create a funding order\n * @param params - The funding order creation request\n * @param options - Request options\n * @returns The created funding order\n */\n createFundingOrder: (\n params: CreateFundingOrderRequest,\n options?: RequestOptions\n ) => Promise<FundingOrder>\n\n /**\n * Create an on-ramp session for a token\n * @param params - The on-ramp session request\n * @param options - Request options\n * @returns The on-ramp session\n */\n createOnrampSession: (\n params: OnrampSessionRequest,\n options?: RequestOptions\n ) => Promise<OnrampSessionResult>\n\n /**\n * Get all available chains\n * @param params - The configuration of the requested chains\n * @param options - Request options\n * @returns A list of all available chains\n */\n getChains: (\n params?: ChainsRequest,\n options?: RequestOptions\n ) => Promise<ExtendedChain[]>\n\n /**\n * Get connections between chains\n * @param params - The configuration of the requested connections\n * @param options - Request options\n * @returns A list of connections\n */\n getConnections: (\n params: ConnectionsRequest,\n options?: RequestOptions\n ) => Promise<ConnectionsResponse>\n\n /**\n * Get a quote for contract calls\n * @param params - The configuration of the requested contract calls quote\n * @param options - Request options\n * @returns Quote for contract calls\n */\n getContractCallsQuote: (\n params: ContractCallsQuoteRequest,\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get a funding order by id\n * @param orderId - The orderId or partnerOrderId\n * @param params - Optional txHash / integrator query parameters\n * @param options - Request options\n * @returns The funding order\n */\n getFundingOrder: (\n orderId: string,\n params?: GetFundingOrderParams,\n options?: RequestOptions\n ) => Promise<FundingOrder>\n\n /**\n * Get gas recommendation for a chain\n * @param params - The configuration of the requested gas recommendation\n * @param options - Request options\n * @returns Gas recommendation\n */\n getGasRecommendation: (\n params: GasRecommendationRequest,\n options?: RequestOptions\n ) => Promise<GasRecommendationResponse>\n\n /**\n * Get the address of a name service\n * @param name - The name to resolve\n * @param chainType - The chain type to resolve the name on\n * @returns The address of the name service\n */\n getNameServiceAddress: (\n name: string,\n chainType?: ChainType\n ) => Promise<string | undefined>\n\n /**\n * Get available fiat currencies for an on-ramp token\n * @param params - The on-ramp fiat currencies request\n * @param options - Request options\n * @returns The available fiat currencies\n */\n getOnrampFiatCurrencies: (\n params: OnrampFiatCurrenciesRequest,\n options?: RequestOptions\n ) => Promise<OnrampFiatCurrenciesResult>\n\n /**\n * Get an on-ramp fiat quote for a token\n * @param params - The on-ramp quote request\n * @param options - Request options\n * @returns The on-ramp quote\n */\n getOnrampQuote: (\n params: OnrampQuoteRequest,\n options?: RequestOptions\n ) => Promise<OnrampQuoteResult>\n\n /**\n * Get a quote for a token transfer\n * @param params - The configuration of the requested quote\n * @param options - Request options\n * @returns Quote for a token transfer\n */\n getQuote: (\n params: Parameters<typeof getQuote>[1],\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get the status of a relayed transaction\n * @param params - The configuration of the requested relay status\n * @param options - Request options\n * @returns Status of the relayed transaction\n */\n getRelayedTransactionStatus: (\n params: RelayStatusRequest,\n options?: RequestOptions\n ) => Promise<RelayStatusResponseData>\n\n /**\n * Get a quote from a relayer\n * @param params - The configuration of the requested relayer quote\n * @param options - Request options\n * @returns Quote from a relayer\n */\n getRelayerQuote: (\n params: QuoteRequestFromAmount,\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get a set of routes for a request that describes a transfer of tokens.\n * Optional limit-order fields (`toAmount`, `validUntil`, `partiallyFillable`)\n * may be supplied and are resolved on the backend.\n * @param params - A description of the transfer\n * @param options - Request options\n * @returns The resulting routes that can be used to realize the described transfer\n */\n getRoutes: (\n params: RoutesRequest,\n options?: RequestOptions\n ) => Promise<RoutesResponse>\n\n /**\n * Get the status of a transaction\n * @param params - The configuration of the requested status\n * @param options - Request options\n * @returns Status of the transaction\n */\n getStatus: (\n params: GetStatusRequestExtended,\n options?: RequestOptions\n ) => Promise<StatusResponse>\n\n /**\n * Get a step transaction. The step's `action` may carry the optional\n * limit-order fields, which are resolved on the backend.\n * @param params - The configuration of the requested step transaction\n * @param options - Request options\n * @returns Step transaction\n */\n getStepTransaction: (\n params: LiFiStepRequest,\n options?: RequestOptions\n ) => Promise<LiFiStep>\n\n /**\n * Get a specific token\n * @param chain - Id or key of the chain that contains the token\n * @param token - Address or symbol of the token on the requested chain\n * @param options - Request options\n * @returns Token information\n */\n getToken: (\n chain: ChainKey | ChainId,\n token: string,\n options?: RequestOptions\n ) => Promise<TokenExtended>\n\n /**\n * Get token balance for a specific token\n * @param walletAddress - A wallet address\n * @param token - A Token object\n * @returns Token balance\n */\n getTokenBalance: (\n walletAddress: string,\n token: Token\n ) => Promise<TokenAmount | null>\n\n /**\n * Get token balances for multiple tokens\n * @param walletAddress - A wallet address\n * @param tokens - A list of Token objects\n * @returns Token balances\n */\n getTokenBalances: (\n walletAddress: string,\n tokens: Token[]\n ) => Promise<TokenAmount[]>\n\n /**\n * Get token balances by chain\n * @param walletAddress - A wallet address\n * @param tokensByChain - A list of token objects organized by chain ids\n * @returns Token balances by chain\n */\n getTokenBalancesByChain: (\n walletAddress: string,\n tokensByChain: { [chainId: number]: Token[] }\n ) => Promise<{\n [chainId: number]: TokenAmount[]\n }>\n\n /**\n * Get all available tokens\n * @param params - The configuration of the requested tokens\n * @param options - Request options\n * @returns A list of all available tokens\n */\n getTokens: {\n (\n params?: TokensRequest & { extended?: false | undefined },\n options?: RequestOptions\n ): Promise<TokensResponse>\n (\n params: TokensRequest & { extended: true },\n options?: RequestOptions\n ): Promise<TokensExtendedResponse>\n }\n\n /**\n * Get all available tools (bridges and exchanges)\n * @param params - The configuration of the requested tools\n * @param options - Request options\n * @returns A list of all available tools\n */\n getTools: (\n params?: ToolsRequest,\n options?: RequestOptions\n ) => Promise<ToolsResponse>\n\n /**\n * Get transaction history\n * @param params - The configuration of the requested transaction history\n * @param options - Request options\n * @returns Transaction history\n */\n getTransactionHistory: (\n params: TransactionAnalyticsRequest,\n options?: RequestOptions\n ) => Promise<TransactionAnalyticsResponse>\n\n /**\n * Relay a transaction through the relayer service\n * @param params - The configuration for the relay request\n * @param options - Request options\n * @returns Task ID and transaction link for the relayed transaction\n */\n relayTransaction: (\n params: RelayRequest,\n options?: RequestOptions\n ) => Promise<RelayResponseData>\n\n /**\n * Patch contract calls\n * @param params - The configuration for the patch contract calls request\n * @param options - Request options\n * @returns Patched contract calls\n */\n patchContractCalls: (\n params: PatchCallDataRequest,\n options?: RequestOptions\n ) => Promise<PatchContractCallsResponse[]>\n\n /**\n * Poll a funding order until it reaches a terminal state\n * @param orderId - The orderId to poll\n * @param options - Polling options\n * @returns The terminal funding order\n */\n waitForFundingOrder: (\n orderId: string,\n options?: WaitForFundingOrderOptions\n ) => Promise<FundingOrder>\n}\n\nexport function actions(client: SDKClient): Actions {\n return {\n createCexSession: (params, options) =>\n createCexSession(client, params, options),\n createFundingOrder: (params, options) =>\n createFundingOrder(client, params, options),\n createOnrampSession: (params, options) =>\n createOnrampSession(client, params, options),\n getChains: (params, options) => getChains(client, params, options),\n getConnections: (params, options) =>\n getConnections(client, params, options),\n getContractCallsQuote: (params, options) =>\n getContractCallsQuote(client, params, options),\n getFundingOrder: (orderId, params, options) =>\n getFundingOrder(client, orderId, params, options),\n getGasRecommendation: (params, options) =>\n getGasRecommendation(client, params, options),\n getNameServiceAddress: (name, chainType) =>\n getNameServiceAddress(client, name, chainType),\n getOnrampFiatCurrencies: (params, options) =>\n getOnrampFiatCurrencies(client, params, options),\n getOnrampQuote: (params, options) =>\n getOnrampQuote(client, params, options),\n getTokens: (params, options) => getTokens(client, params as any, options),\n getTools: (params, options) => getTools(client, params, options),\n getQuote: (params, options) => getQuote(client, params, options),\n getRelayedTransactionStatus: (params, options) =>\n getRelayedTransactionStatus(client, params, options),\n getRelayerQuote: (params, options) =>\n getRelayerQuote(client, params, options),\n getRoutes: (params, options) => getRoutes(client, params, options),\n getStatus: (params, options) => getStatus(client, params, options),\n getStepTransaction: (params, options) =>\n getStepTransaction(client, params, options),\n getToken: (chain, token, options) =>\n getToken(client, chain, token, options),\n getTokenBalance: (walletAddress, token) =>\n getTokenBalance(client, walletAddress, token),\n getTokenBalances: (walletAddress, tokens) =>\n getTokenBalances(client, walletAddress, tokens),\n getTokenBalancesByChain: (walletAddress, tokensByChain) =>\n getTokenBalancesByChain(client, walletAddress, tokensByChain),\n getTransactionHistory: (params, options) =>\n getTransactionHistory(client, params, options),\n relayTransaction: (params, options) =>\n relayTransaction(client, params, options),\n patchContractCalls: (params, options) =>\n patchContractCalls(client, params, options),\n waitForFundingOrder: (orderId, options) =>\n waitForFundingOrder(client, orderId, options),\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6YA,SAAgB,QAAQ,QAA4B;CAClD,OAAO;EACL,mBAAmB,QAAQ,YACzBA,iCAAAA,iBAAiB,QAAQ,QAAQ,OAAO;EAC1C,qBAAqB,QAAQ,YAC3BC,mCAAAA,mBAAmB,QAAQ,QAAQ,OAAO;EAC5C,sBAAsB,QAAQ,YAC5BC,oCAAAA,oBAAoB,QAAQ,QAAQ,OAAO;EAC7C,YAAY,QAAQ,YAAYC,0BAAAA,UAAU,QAAQ,QAAQ,OAAO;EACjE,iBAAiB,QAAQ,YACvBC,+BAAAA,eAAe,QAAQ,QAAQ,OAAO;EACxC,wBAAwB,QAAQ,YAC9BC,sCAAAA,sBAAsB,QAAQ,QAAQ,OAAO;EAC/C,kBAAkB,SAAS,QAAQ,YACjCC,gCAAAA,gBAAgB,QAAQ,SAAS,QAAQ,OAAO;EAClD,uBAAuB,QAAQ,YAC7BC,qCAAAA,qBAAqB,QAAQ,QAAQ,OAAO;EAC9C,wBAAwB,MAAM,cAC5BC,sCAAAA,sBAAsB,QAAQ,MAAM,SAAS;EAC/C,0BAA0B,QAAQ,YAChCC,wCAAAA,wBAAwB,QAAQ,QAAQ,OAAO;EACjD,iBAAiB,QAAQ,YACvBC,+BAAAA,eAAe,QAAQ,QAAQ,OAAO;EACxC,YAAY,QAAQ,YAAYC,0BAAAA,UAAU,QAAQ,QAAe,OAAO;EACxE,WAAW,QAAQ,YAAYC,yBAAAA,SAAS,QAAQ,QAAQ,OAAO;EAC/D,WAAW,QAAQ,YAAYC,yBAAAA,SAAS,QAAQ,QAAQ,OAAO;EAC/D,8BAA8B,QAAQ,YACpCC,4CAAAA,4BAA4B,QAAQ,QAAQ,OAAO;EACrD,kBAAkB,QAAQ,YACxBC,gCAAAA,gBAAgB,QAAQ,QAAQ,OAAO;EACzC,YAAY,QAAQ,YAAYC,0BAAAA,UAAU,QAAQ,QAAQ,OAAO;EACjE,YAAY,QAAQ,YAAYC,0BAAAA,UAAU,QAAQ,QAAQ,OAAO;EACjE,qBAAqB,QAAQ,YAC3BC,mCAAAA,mBAAmB,QAAQ,QAAQ,OAAO;EAC5C,WAAW,OAAO,OAAO,YACvBC,yBAAAA,SAAS,QAAQ,OAAO,OAAO,OAAO;EACxC,kBAAkB,eAAe,UAC/BC,gCAAAA,gBAAgB,QAAQ,eAAe,KAAK;EAC9C,mBAAmB,eAAe,WAChCC,iCAAAA,iBAAiB,QAAQ,eAAe,MAAM;EAChD,0BAA0B,eAAe,kBACvCC,wCAAAA,wBAAwB,QAAQ,eAAe,aAAa;EAC9D,wBAAwB,QAAQ,YAC9BC,sCAAAA,sBAAsB,QAAQ,QAAQ,OAAO;EAC/C,mBAAmB,QAAQ,YACzBC,iCAAAA,iBAAiB,QAAQ,QAAQ,OAAO;EAC1C,qBAAqB,QAAQ,YAC3BC,mCAAAA,mBAAmB,QAAQ,QAAQ,OAAO;EAC5C,sBAAsB,SAAS,YAC7BC,oCAAAA,oBAAoB,QAAQ,SAAS,OAAO;CAChD;AACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SDKClient } from "../types/core.js";
|
|
2
|
+
import { FundingOrder, WaitForFundingOrderOptions } from "../types/funding.js";
|
|
3
|
+
//#region src/actions/waitForFundingOrder.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Poll a funding order until it reaches a terminal state (DONE or FAILED).
|
|
6
|
+
* Non-terminal reads trigger a backend-side refresh — keep the interval >= 10s.
|
|
7
|
+
* @param client - The SDK client
|
|
8
|
+
* @param orderId - The orderId to poll
|
|
9
|
+
* @param options - Polling interval, timeout, transition callback, txHash to report, integrator scope, and abort signal
|
|
10
|
+
* @throws {SDKError} ValidationError when orderId is missing. Wraps TransactionError(LiFiErrorCode.Timeout) when the timeout elapses — the order stays PENDING and can be waited on again. Also rejects immediately on client errors (HTTP 400, 401, 404, 422); other failures retry until the timeout.
|
|
11
|
+
* @throws {DOMException} The bare `options.signal.reason` — an AbortError DOMException by default, or whatever value the caller passed to `abort(reason)` — when the signal aborts. This is NOT wrapped in an SDKError, so do not branch on `instanceof SDKError` to detect cancellation.
|
|
12
|
+
* @returns The terminal funding order.
|
|
13
|
+
*/
|
|
14
|
+
declare const waitForFundingOrder: (client: SDKClient, orderId: string, options?: WaitForFundingOrderOptions) => Promise<FundingOrder>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { waitForFundingOrder };
|
|
17
|
+
//# sourceMappingURL=waitForFundingOrder.d.ts.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("../errors/constants.js");
|
|
3
|
+
const require_errors_errors = require("../errors/errors.js");
|
|
4
|
+
const require_errors_httpError = require("../errors/httpError.js");
|
|
5
|
+
const require_errors_SDKError = require("../errors/SDKError.js");
|
|
6
|
+
const require_utils_sleep = require("../utils/sleep.js");
|
|
7
|
+
const require_actions_getFundingOrder = require("./getFundingOrder.js");
|
|
8
|
+
//#region src/actions/waitForFundingOrder.ts
|
|
9
|
+
/**
|
|
10
|
+
* Poll a funding order until it reaches a terminal state (DONE or FAILED).
|
|
11
|
+
* Non-terminal reads trigger a backend-side refresh — keep the interval >= 10s.
|
|
12
|
+
* @param client - The SDK client
|
|
13
|
+
* @param orderId - The orderId to poll
|
|
14
|
+
* @param options - Polling interval, timeout, transition callback, txHash to report, integrator scope, and abort signal
|
|
15
|
+
* @throws {SDKError} ValidationError when orderId is missing. Wraps TransactionError(LiFiErrorCode.Timeout) when the timeout elapses — the order stays PENDING and can be waited on again. Also rejects immediately on client errors (HTTP 400, 401, 404, 422); other failures retry until the timeout.
|
|
16
|
+
* @throws {DOMException} The bare `options.signal.reason` — an AbortError DOMException by default, or whatever value the caller passed to `abort(reason)` — when the signal aborts. This is NOT wrapped in an SDKError, so do not branch on `instanceof SDKError` to detect cancellation.
|
|
17
|
+
* @returns The terminal funding order.
|
|
18
|
+
*/
|
|
19
|
+
const waitForFundingOrder = async (client, orderId, options) => {
|
|
20
|
+
if (!orderId) throw new require_errors_SDKError.SDKError(new require_errors_errors.ValidationError("Required parameter \"orderId\" is missing."));
|
|
21
|
+
const pollingInterval = options?.pollingInterval ?? 1e4;
|
|
22
|
+
const timeout = options?.timeout ?? 12e5;
|
|
23
|
+
const signal = options?.signal;
|
|
24
|
+
const deadline = Date.now() + timeout;
|
|
25
|
+
let previous;
|
|
26
|
+
let sourceAcknowledged = false;
|
|
27
|
+
while (true) {
|
|
28
|
+
if (signal?.aborted) throw signal.reason;
|
|
29
|
+
const order = await require_actions_getFundingOrder.getFundingOrder(client, orderId, {
|
|
30
|
+
...!sourceAcknowledged && options?.txHash ? { txHash: options.txHash } : {},
|
|
31
|
+
...options?.integrator ? { integrator: options.integrator } : {}
|
|
32
|
+
}, { signal }).catch((error) => {
|
|
33
|
+
const cause = error.cause;
|
|
34
|
+
if (cause instanceof require_errors_httpError.HTTPError && (cause.status === 400 || cause.status === 401 || cause.status === 404 || cause.status === 422)) throw error;
|
|
35
|
+
if (signal?.aborted) throw signal.reason;
|
|
36
|
+
});
|
|
37
|
+
if (order) {
|
|
38
|
+
if (order.result?.fromTxHash) sourceAcknowledged = true;
|
|
39
|
+
if (previous?.status !== order.status || previous?.substatus !== order.substatus) options?.onUpdate?.(order);
|
|
40
|
+
previous = order;
|
|
41
|
+
if (order.status === "DONE" || order.status === "FAILED") return order;
|
|
42
|
+
}
|
|
43
|
+
if (Date.now() >= deadline) throw new require_errors_SDKError.SDKError(new require_errors_errors.TransactionError(1004, `Funding order ${orderId} did not reach a terminal state within ${timeout}ms.`));
|
|
44
|
+
await require_utils_sleep.sleep(pollingInterval, signal);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
exports.waitForFundingOrder = waitForFundingOrder;
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=waitForFundingOrder.js.map
|