@heliofi/withdraw-core 0.8.2-alpha.1783514917 → 1.0.0
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/dist/index.d.ts +3 -0
- package/dist/sdk/ApiClient.d.ts +4 -0
- package/dist/sdk/WithdrawalSDK.d.ts +2 -0
- package/dist/types/responses.d.ts +2 -0
- package/dist/versionSupport/index.d.ts +3 -0
- package/dist/versionSupport/isSupported.d.ts +3 -0
- package/dist/versionSupport/semver.d.ts +1 -0
- package/dist/versionSupport/types.d.ts +11 -0
- package/dist/withdraw-core.cjs +1 -1
- package/dist/withdraw-core.js +158 -91
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -5,3 +5,6 @@ export type { ApiClientConfig } from './sdk';
|
|
|
5
5
|
export { WithdrawalSDK } from './sdk';
|
|
6
6
|
export type { BalanceResponse, BaseBlockchain, BlockchainEngine, CreateWithdrawalDetailParams, HypercorePreparedTransaction, PolymarketWalletPreparedTransaction, PopulatedBlockchain, PreparedTransaction, QuoteResponse, QuoteSummary, RawPreparedTransaction, RoutesResponse, SlimCurrencyWithBlockchain, SlimCurrencyWithPopulatedBlockchain, StatusResponse, SubmitResponse, SubmitWithdrawalParams, UpdateWithdrawalDetailParams, UserOpPreparedTransaction, WalletCurrencyBalance, WithdrawalConfig, WithdrawalCurrenciesExchangeRate, WithdrawalCustomerSwapRoute, WithdrawalQuoteFee, } from './types';
|
|
7
7
|
export { BlockchainEngineType, BlockchainSymbol, BroadcastAck, Platform, SignedTransactionKind, TERMINAL_STATES, WithdrawalErrorCode, WithdrawalFeature, WithdrawalState, } from './types';
|
|
8
|
+
export { SDK_VERSION } from './version';
|
|
9
|
+
export type { IsSupportedInput, MinSupportedVersions, } from './versionSupport';
|
|
10
|
+
export { isBelow, isSupported, SDK_PACKAGE_NAME } from './versionSupport';
|
package/dist/sdk/ApiClient.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export declare class ApiClient {
|
|
|
11
11
|
private readonly baseUrl;
|
|
12
12
|
private readonly headers;
|
|
13
13
|
private readonly fetch;
|
|
14
|
+
readonly consumer?: {
|
|
15
|
+
name?: string;
|
|
16
|
+
version?: string;
|
|
17
|
+
};
|
|
14
18
|
constructor(config: ApiClientConfig);
|
|
15
19
|
get<T>(path: string, signal?: AbortSignal): Promise<T>;
|
|
16
20
|
post<T>(path: string, body: unknown, signal?: AbortSignal): Promise<T>;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { QuoteResponse } from '../types/prepared';
|
|
2
2
|
import type { CreateWithdrawalDetailParams, SubmitWithdrawalParams, UpdateWithdrawalDetailParams } from '../types/requests';
|
|
3
3
|
import type { BalanceResponse, RoutesResponse, StatusResponse, SubmitResponse, WithdrawalConfig } from '../types/responses';
|
|
4
|
+
import { type MinSupportedVersions } from '../versionSupport';
|
|
4
5
|
import { ApiClient, type ApiClientConfig } from './ApiClient';
|
|
5
6
|
export declare class WithdrawalSDK {
|
|
6
7
|
private readonly api;
|
|
7
8
|
constructor(api: ApiClient);
|
|
8
9
|
static create(config: ApiClientConfig): WithdrawalSDK;
|
|
10
|
+
isSupported(minSupportedVersions?: MinSupportedVersions | null): boolean;
|
|
9
11
|
getWithdrawalConfig(withdrawalConfigId: string, signal?: AbortSignal): Promise<WithdrawalConfig>;
|
|
10
12
|
getRoutes(withdrawalConfigId: string, signal?: AbortSignal): Promise<RoutesResponse>;
|
|
11
13
|
getBalance(withdrawalConfigId: string, walletAddress: string, signal?: AbortSignal): Promise<BalanceResponse>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MinSupportedVersions } from '../versionSupport';
|
|
1
2
|
import type { BlockchainEngineType, BlockchainSymbol, BroadcastAck, Platform, WithdrawalFeature, WithdrawalState } from './enums';
|
|
2
3
|
export interface WithdrawalCurrenciesExchangeRate {
|
|
3
4
|
minimalUnitRate: string;
|
|
@@ -21,6 +22,7 @@ export interface WithdrawalConfig {
|
|
|
21
22
|
updatedAt: string;
|
|
22
23
|
fromCurrencies: SlimCurrencyWithPopulatedBlockchain[];
|
|
23
24
|
exchangeRates: WithdrawalCurrenciesExchangeRate[];
|
|
25
|
+
minSupportedVersions?: MinSupportedVersions;
|
|
24
26
|
}
|
|
25
27
|
export interface BaseBlockchain {
|
|
26
28
|
id: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isBelow(version: string, minimum: string): boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface MinSupportedVersions {
|
|
2
|
+
packages?: Record<string, string>;
|
|
3
|
+
}
|
|
4
|
+
export interface IsSupportedInput {
|
|
5
|
+
minSupportedVersions?: MinSupportedVersions | null;
|
|
6
|
+
sdkVersion?: string;
|
|
7
|
+
consumer?: {
|
|
8
|
+
name?: string;
|
|
9
|
+
version?: string;
|
|
10
|
+
} | null;
|
|
11
|
+
}
|
package/dist/withdraw-core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var L=Object.defineProperty;var m=(e,t,r)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var D=(e,t,r)=>m(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let U=(function(e){return e.SOL="SOL",e.ETH="ETH",e.POLYGON="POLYGON",e.BASE="BASE",e.BITCOIN="BITCOIN",e.ARBITRUM="ARBITRUM",e.BSC="BSC",e.TRON="TRON",e.DOGE="DOGE",e})({}),C=(function(e){return e.EVM="EVM",e.SOL="SOL",e.BTC="BTC",e.TRON="TRON",e.HYPERCORE="HYPERCORE",e.DOGE="DOGE",e})({}),H=(function(e){return e.HELIO="HELIO",e.MAGIC_EDEN="MAGIC_EDEN",e})({}),S=(function(e){return e.IRON="iron",e.MP_SELL="mp_sell",e})({}),T=(function(e){return e.QUOTED="QUOTED",e.SUBMITTING="SUBMITTING",e.SUBMITTED="SUBMITTED",e.BRIDGING="BRIDGING",e.COMPLETED="COMPLETED",e.FAILED="FAILED",e.FAILED_EXPIRED="FAILED_EXPIRED",e.EXPIRED="EXPIRED",e.REFUNDED_BY_PROVIDER="REFUNDED_BY_PROVIDER",e})({}),P=(function(e){return e.ACKNOWLEDGED="acknowledged",e.UNACKNOWLEDGED="unacknowledged",e.REJECTED="rejected",e})({}),d=(function(e){return e.RAW="raw",e.USER_OP="userop",e.POLYMARKET_WALLET="polymarket_wallet",e.HYPERCORE="hypercore",e})({});const w=new Set([T.COMPLETED,T.FAILED,T.FAILED_EXPIRED,T.EXPIRED,T.REFUNDED_BY_PROVIDER]);var I=(e=>(e.WITHDRAW_TX_INVALID_SIGNATURE="WITHDRAW_TX_INVALID_SIGNATURE",e.WITHDRAW_TX_BLOCKHASH_EXPIRED="WITHDRAW_TX_BLOCKHASH_EXPIRED",e.WITHDRAW_TX_NONCE_TOO_LOW="WITHDRAW_TX_NONCE_TOO_LOW",e.WITHDRAW_TX_USEROP_EXPIRED="WITHDRAW_TX_USEROP_EXPIRED",e.WITHDRAW_TX_UNDERPRICED="WITHDRAW_TX_UNDERPRICED",e.WITHDRAW_BUNDLER_REJECTED="WITHDRAW_BUNDLER_REJECTED",e.WITHDRAW_TX_BROADCAST_TIMEOUT="WITHDRAW_TX_BROADCAST_TIMEOUT",e.WITHDRAW_TX_ALREADY_KNOWN="WITHDRAW_TX_ALREADY_KNOWN",e.WITHDRAW_QUOTE_EXPIRED="WITHDRAW_QUOTE_EXPIRED",e.WITHDRAW_SANCTIONS_BLOCKED="WITHDRAW_SANCTIONS_BLOCKED",e.WITHDRAW_NO_ROUTE="WITHDRAW_NO_ROUTE",e.WITHDRAW_NOT_FOUND="WITHDRAW_NOT_FOUND",e.WITHDRAW_INSUFFICIENT_BALANCE="WITHDRAW_INSUFFICIENT_BALANCE",e.WITHDRAW_DETAILS_NOT_UPDATABLE="WITHDRAW_DETAILS_NOT_UPDATABLE",e.INVALID_WALLET_ADDRESS="INVALID_WALLET_ADDRESS",e.BALANCE_FETCH_FAILED="BALANCE_FETCH_FAILED",e.UNKNOWN="UNKNOWN",e))(I||{});const X=new Set(Object.values(I));class O extends Error{constructor(r,s,n){super(n??s);D(this,"name","WithdrawalApiError");this.status=r,this.code=s,this.detail=n}}const l=e=>e&&X.has(e)?e:I.UNKNOWN,p=e=>{const t=e.split(".");if(t.length!==3)throw new Error("Invalid JWT: expected 3 parts");const r=atob(t[1].replace(/-/g,"+").replace(/_/g,"/"));return JSON.parse(r)},M=(e,t=5e3)=>{const{exp:r}=p(e);return r===void 0?!1:Date.now()>=r*1e3-t},R="1.0.0",A=e=>/^\d+$/.test(e);function N(e){if(typeof e!="string")return null;let t=e.trim();if((t.startsWith("v")||t.startsWith("V"))&&(t=t.slice(1)),t==="")return null;const r=t.indexOf("+");r!==-1&&(t=t.slice(0,r));const s=t.indexOf("-"),n=s===-1?t:t.slice(0,s),i=s===-1?"":t.slice(s+1),E=n.split(".");if(E.length>3)return null;const u=[];for(const _ of E){if(!A(_))return null;u.push(Number(_))}const o=i===""?[]:i.split(".").filter(_=>_!=="");return s!==-1&&o.length===0?null:{major:u[0]??0,minor:u[1]??0,patch:u[2]??0,prerelease:o}}function c(e,t){return e<t?-1:e>t?1:0}function g(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return 1;if(t.length===0)return-1;const r=Math.min(e.length,t.length);for(let s=0;s<r;s++){const n=e[s],i=t[s];if(n===i)continue;const E=A(n),u=A(i);if(E&&u){const o=c(Number(n),Number(i));if(o!==0)return o}else return E?-1:u?1:n<i?-1:1}return c(e.length,t.length)}function B(e,t){const r=N(e)??{major:0,minor:0,patch:0,prerelease:[]},s=N(t)??{major:0,minor:0,patch:0,prerelease:[]},n=c(r.major,s.major)||c(r.minor,s.minor)||c(r.patch,s.patch);return n!==0?n:g(r.prerelease,s.prerelease)}function W(e,t){return B(e,t)<0}const h="@heliofi/withdraw-core";function f(e={}){const{minSupportedVersions:t,consumer:r}=e,s=(t==null?void 0:t.packages)??{},n=e.sdkVersion??R,i={[h]:n};r!=null&&r.name&&r.version!=null&&(i[r.name]=r.version);for(const[E,u]of Object.entries(s)){const o=i[E];if(o!=null&&W(o,u))return!1}return!0}class G{constructor(t){D(this,"baseUrl");D(this,"headers");D(this,"fetch");D(this,"consumer");var r,s;this.consumer=t.consumer,this.baseUrl=t.baseUrl.endsWith("/")?t.baseUrl.slice(0,-1):t.baseUrl,this.headers={"Content-Type":"application/json","X-MoonPay-Commerce-SDK-Version":R,...(r=this.consumer)!=null&&r.name?{"X-MoonPay-Commerce-Consumer":this.consumer.name}:{},...(s=this.consumer)!=null&&s.version?{"X-MoonPay-Commerce-Consumer-Version":this.consumer.version}:{},...t.headers},this.fetch=t.fetch??globalThis.fetch.bind(globalThis)}async get(t,r){return this.request("GET",t,void 0,r)}async post(t,r,s){return this.request("POST",t,r,s)}async patch(t,r,s){return this.request("PATCH",t,r,s)}async request(t,r,s,n){const i=`${this.baseUrl}${r}`,E=await this.fetch(i,{method:t,headers:this.headers,body:s!==void 0?JSON.stringify(s):void 0,signal:n});if(!E.ok)throw await this.buildError(E);return await E.json()}async buildError(t){let r,s;try{const n=await t.json();r=n.message??void 0,s=n.errorCode??n.errorType??void 0}catch{r=t.statusText||void 0}return new O(t.status,l(s),r)}}class a{constructor(t){this.api=t}static create(t){return new a(new G(t))}isSupported(t){return f({minSupportedVersions:t,consumer:this.api.consumer})}async getWithdrawalConfig(t,r){return this.api.get(`/withdrawal-configs/${t}/public`,r)}async getRoutes(t,r){return this.api.get(`/withdraw/${t}/routes`,r)}async getBalance(t,r,s){return this.api.get(`/withdraw/${t}/balances?walletAddress=${encodeURIComponent(r)}`,s)}async createWithdrawalDetail(t,r){const{withdrawalConfigId:s,...n}=t;return this.api.post(`/withdraw/${s}/prepare`,n,r)}async updateWithdrawalDetail(t,r,s){return this.api.patch(`/withdraw-details/${t}`,r,s)}async submitWithdrawal(t,r){const{withdrawalDetailId:s,...n}=t;return this.api.post(`/withdraw/${s}/submit`,n,r)}async getWithdrawalDetail(t,r){return this.api.get(`/withdraw-details/${t}`,r)}}exports.BlockchainEngineType=C;exports.BlockchainSymbol=U;exports.BroadcastAck=P;exports.Platform=H;exports.SDK_PACKAGE_NAME=h;exports.SDK_VERSION=R;exports.SignedTransactionKind=d;exports.TERMINAL_STATES=w;exports.WithdrawalApiError=O;exports.WithdrawalErrorCode=I;exports.WithdrawalFeature=S;exports.WithdrawalSDK=a;exports.WithdrawalState=T;exports.decodeJwt=p;exports.isBelow=W;exports.isQuoteExpired=M;exports.isSupported=f;exports.toWithdrawalErrorCode=l;
|
package/dist/withdraw-core.js
CHANGED
|
@@ -1,121 +1,184 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var T = (e, t,
|
|
4
|
-
let
|
|
1
|
+
var a = Object.defineProperty;
|
|
2
|
+
var l = (e, t, s) => t in e ? a(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;
|
|
3
|
+
var T = (e, t, s) => l(e, typeof t != "symbol" ? t + "" : t, s);
|
|
4
|
+
let X = /* @__PURE__ */ (function(e) {
|
|
5
5
|
return e.SOL = "SOL", e.ETH = "ETH", e.POLYGON = "POLYGON", e.BASE = "BASE", e.BITCOIN = "BITCOIN", e.ARBITRUM = "ARBITRUM", e.BSC = "BSC", e.TRON = "TRON", e.DOGE = "DOGE", e;
|
|
6
|
-
})({}),
|
|
6
|
+
})({}), w = /* @__PURE__ */ (function(e) {
|
|
7
7
|
return e.EVM = "EVM", e.SOL = "SOL", e.BTC = "BTC", e.TRON = "TRON", e.HYPERCORE = "HYPERCORE", e.DOGE = "DOGE", e;
|
|
8
|
-
})({}),
|
|
8
|
+
})({}), M = /* @__PURE__ */ (function(e) {
|
|
9
9
|
return e.HELIO = "HELIO", e.MAGIC_EDEN = "MAGIC_EDEN", e;
|
|
10
|
-
})({}),
|
|
10
|
+
})({}), d = /* @__PURE__ */ (function(e) {
|
|
11
11
|
return e.IRON = "iron", e.MP_SELL = "mp_sell", e;
|
|
12
|
-
})({}),
|
|
12
|
+
})({}), o = /* @__PURE__ */ (function(e) {
|
|
13
13
|
return e.QUOTED = "QUOTED", e.SUBMITTING = "SUBMITTING", e.SUBMITTED = "SUBMITTED", e.BRIDGING = "BRIDGING", e.COMPLETED = "COMPLETED", e.FAILED = "FAILED", e.FAILED_EXPIRED = "FAILED_EXPIRED", e.EXPIRED = "EXPIRED", e.REFUNDED_BY_PROVIDER = "REFUNDED_BY_PROVIDER", e;
|
|
14
|
-
})({}),
|
|
14
|
+
})({}), g = /* @__PURE__ */ (function(e) {
|
|
15
15
|
return e.ACKNOWLEDGED = "acknowledged", e.UNACKNOWLEDGED = "unacknowledged", e.REJECTED = "rejected", e;
|
|
16
|
-
})({}),
|
|
16
|
+
})({}), B = /* @__PURE__ */ (function(e) {
|
|
17
17
|
return e.RAW = "raw", e.USER_OP = "userop", e.POLYMARKET_WALLET = "polymarket_wallet", e.HYPERCORE = "hypercore", e;
|
|
18
18
|
})({});
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
const G = /* @__PURE__ */ new Set([
|
|
20
|
+
o.COMPLETED,
|
|
21
|
+
o.FAILED,
|
|
22
|
+
o.FAILED_EXPIRED,
|
|
23
|
+
o.EXPIRED,
|
|
24
|
+
o.REFUNDED_BY_PROVIDER
|
|
25
25
|
]);
|
|
26
26
|
var R = /* @__PURE__ */ ((e) => (e.WITHDRAW_TX_INVALID_SIGNATURE = "WITHDRAW_TX_INVALID_SIGNATURE", e.WITHDRAW_TX_BLOCKHASH_EXPIRED = "WITHDRAW_TX_BLOCKHASH_EXPIRED", e.WITHDRAW_TX_NONCE_TOO_LOW = "WITHDRAW_TX_NONCE_TOO_LOW", e.WITHDRAW_TX_USEROP_EXPIRED = "WITHDRAW_TX_USEROP_EXPIRED", e.WITHDRAW_TX_UNDERPRICED = "WITHDRAW_TX_UNDERPRICED", e.WITHDRAW_BUNDLER_REJECTED = "WITHDRAW_BUNDLER_REJECTED", e.WITHDRAW_TX_BROADCAST_TIMEOUT = "WITHDRAW_TX_BROADCAST_TIMEOUT", e.WITHDRAW_TX_ALREADY_KNOWN = "WITHDRAW_TX_ALREADY_KNOWN", e.WITHDRAW_QUOTE_EXPIRED = "WITHDRAW_QUOTE_EXPIRED", e.WITHDRAW_SANCTIONS_BLOCKED = "WITHDRAW_SANCTIONS_BLOCKED", e.WITHDRAW_NO_ROUTE = "WITHDRAW_NO_ROUTE", e.WITHDRAW_NOT_FOUND = "WITHDRAW_NOT_FOUND", e.WITHDRAW_INSUFFICIENT_BALANCE = "WITHDRAW_INSUFFICIENT_BALANCE", e.WITHDRAW_DETAILS_NOT_UPDATABLE = "WITHDRAW_DETAILS_NOT_UPDATABLE", e.INVALID_WALLET_ADDRESS = "INVALID_WALLET_ADDRESS", e.BALANCE_FETCH_FAILED = "BALANCE_FETCH_FAILED", e.UNKNOWN = "UNKNOWN", e))(R || {});
|
|
27
|
-
const
|
|
28
|
-
class
|
|
29
|
-
constructor(
|
|
30
|
-
super(
|
|
27
|
+
const p = new Set(Object.values(R));
|
|
28
|
+
class W extends Error {
|
|
29
|
+
constructor(s, r, n) {
|
|
30
|
+
super(n ?? r);
|
|
31
31
|
T(this, "name", "WithdrawalApiError");
|
|
32
|
-
this.status =
|
|
32
|
+
this.status = s, this.code = r, this.detail = n;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
const
|
|
35
|
+
const f = (e) => e && p.has(e) ? e : R.UNKNOWN, L = (e) => {
|
|
36
36
|
const t = e.split(".");
|
|
37
37
|
if (t.length !== 3)
|
|
38
38
|
throw new Error("Invalid JWT: expected 3 parts");
|
|
39
|
-
const
|
|
40
|
-
return JSON.parse(
|
|
41
|
-
},
|
|
42
|
-
const { exp:
|
|
43
|
-
return
|
|
44
|
-
},
|
|
45
|
-
|
|
39
|
+
const s = atob(t[1].replace(/-/g, "+").replace(/_/g, "/"));
|
|
40
|
+
return JSON.parse(s);
|
|
41
|
+
}, F = (e, t = 5e3) => {
|
|
42
|
+
const { exp: s } = L(e);
|
|
43
|
+
return s === void 0 ? !1 : Date.now() >= s * 1e3 - t;
|
|
44
|
+
}, O = "1.0.0", c = (e) => /^\d+$/.test(e);
|
|
45
|
+
function A(e) {
|
|
46
|
+
if (typeof e != "string") return null;
|
|
47
|
+
let t = e.trim();
|
|
48
|
+
if ((t.startsWith("v") || t.startsWith("V")) && (t = t.slice(1)), t === "") return null;
|
|
49
|
+
const s = t.indexOf("+");
|
|
50
|
+
s !== -1 && (t = t.slice(0, s));
|
|
51
|
+
const r = t.indexOf("-"), n = r === -1 ? t : t.slice(0, r), E = r === -1 ? "" : t.slice(r + 1), u = n.split(".");
|
|
52
|
+
if (u.length > 3) return null;
|
|
53
|
+
const i = [];
|
|
54
|
+
for (const _ of u) {
|
|
55
|
+
if (!c(_)) return null;
|
|
56
|
+
i.push(Number(_));
|
|
57
|
+
}
|
|
58
|
+
const D = E === "" ? [] : E.split(".").filter((_) => _ !== "");
|
|
59
|
+
return r !== -1 && D.length === 0 ? null : {
|
|
60
|
+
major: i[0] ?? 0,
|
|
61
|
+
minor: i[1] ?? 0,
|
|
62
|
+
patch: i[2] ?? 0,
|
|
63
|
+
prerelease: D
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function I(e, t) {
|
|
67
|
+
return e < t ? -1 : e > t ? 1 : 0;
|
|
68
|
+
}
|
|
69
|
+
function h(e, t) {
|
|
70
|
+
if (e.length === 0 && t.length === 0) return 0;
|
|
71
|
+
if (e.length === 0) return 1;
|
|
72
|
+
if (t.length === 0) return -1;
|
|
73
|
+
const s = Math.min(e.length, t.length);
|
|
74
|
+
for (let r = 0; r < s; r++) {
|
|
75
|
+
const n = e[r], E = t[r];
|
|
76
|
+
if (n === E) continue;
|
|
77
|
+
const u = c(n), i = c(E);
|
|
78
|
+
if (u && i) {
|
|
79
|
+
const D = I(Number(n), Number(E));
|
|
80
|
+
if (D !== 0) return D;
|
|
81
|
+
} else return u ? -1 : i ? 1 : n < E ? -1 : 1;
|
|
82
|
+
}
|
|
83
|
+
return I(e.length, t.length);
|
|
84
|
+
}
|
|
85
|
+
function m(e, t) {
|
|
86
|
+
const s = A(e) ?? { major: 0, minor: 0, patch: 0, prerelease: [] }, r = A(t) ?? { major: 0, minor: 0, patch: 0, prerelease: [] }, n = I(s.major, r.major) || I(s.minor, r.minor) || I(s.patch, r.patch);
|
|
87
|
+
return n !== 0 ? n : h(s.prerelease, r.prerelease);
|
|
88
|
+
}
|
|
89
|
+
function U(e, t) {
|
|
90
|
+
return m(e, t) < 0;
|
|
91
|
+
}
|
|
92
|
+
const H = "@heliofi/withdraw-core";
|
|
93
|
+
function C(e = {}) {
|
|
94
|
+
const { minSupportedVersions: t, consumer: s } = e, r = (t == null ? void 0 : t.packages) ?? {}, n = e.sdkVersion ?? O, E = { [H]: n };
|
|
95
|
+
s != null && s.name && s.version != null && (E[s.name] = s.version);
|
|
96
|
+
for (const [u, i] of Object.entries(r)) {
|
|
97
|
+
const D = E[u];
|
|
98
|
+
if (D != null && U(D, i)) return !1;
|
|
99
|
+
}
|
|
100
|
+
return !0;
|
|
101
|
+
}
|
|
102
|
+
class P {
|
|
46
103
|
constructor(t) {
|
|
47
104
|
T(this, "baseUrl");
|
|
48
105
|
T(this, "headers");
|
|
49
106
|
T(this, "fetch");
|
|
50
|
-
|
|
51
|
-
|
|
107
|
+
T(this, "consumer");
|
|
108
|
+
var s, r;
|
|
109
|
+
this.consumer = t.consumer, this.baseUrl = t.baseUrl.endsWith("/") ? t.baseUrl.slice(0, -1) : t.baseUrl, this.headers = {
|
|
52
110
|
"Content-Type": "application/json",
|
|
53
|
-
|
|
54
|
-
"X-MoonPay-Commerce-
|
|
55
|
-
...(
|
|
56
|
-
...(s = t.consumer) != null && s.version ? { "X-MoonPay-Commerce-Consumer-Version": t.consumer.version } : {},
|
|
111
|
+
"X-MoonPay-Commerce-SDK-Version": O,
|
|
112
|
+
...(s = this.consumer) != null && s.name ? { "X-MoonPay-Commerce-Consumer": this.consumer.name } : {},
|
|
113
|
+
...(r = this.consumer) != null && r.version ? { "X-MoonPay-Commerce-Consumer-Version": this.consumer.version } : {},
|
|
57
114
|
...t.headers
|
|
58
115
|
}, this.fetch = t.fetch ?? globalThis.fetch.bind(globalThis);
|
|
59
116
|
}
|
|
60
|
-
async get(t,
|
|
61
|
-
return this.request("GET", t, void 0,
|
|
117
|
+
async get(t, s) {
|
|
118
|
+
return this.request("GET", t, void 0, s);
|
|
62
119
|
}
|
|
63
|
-
async post(t,
|
|
64
|
-
return this.request("POST", t,
|
|
120
|
+
async post(t, s, r) {
|
|
121
|
+
return this.request("POST", t, s, r);
|
|
65
122
|
}
|
|
66
|
-
async patch(t,
|
|
67
|
-
return this.request("PATCH", t,
|
|
123
|
+
async patch(t, s, r) {
|
|
124
|
+
return this.request("PATCH", t, s, r);
|
|
68
125
|
}
|
|
69
|
-
async request(t,
|
|
70
|
-
const
|
|
126
|
+
async request(t, s, r, n) {
|
|
127
|
+
const E = `${this.baseUrl}${s}`, u = await this.fetch(E, {
|
|
71
128
|
method: t,
|
|
72
129
|
headers: this.headers,
|
|
73
|
-
body:
|
|
74
|
-
signal:
|
|
130
|
+
body: r !== void 0 ? JSON.stringify(r) : void 0,
|
|
131
|
+
signal: n
|
|
75
132
|
});
|
|
76
|
-
if (!
|
|
77
|
-
throw await this.buildError(
|
|
78
|
-
return await
|
|
133
|
+
if (!u.ok)
|
|
134
|
+
throw await this.buildError(u);
|
|
135
|
+
return await u.json();
|
|
79
136
|
}
|
|
80
137
|
async buildError(t) {
|
|
81
|
-
let
|
|
138
|
+
let s, r;
|
|
82
139
|
try {
|
|
83
|
-
const
|
|
84
|
-
|
|
140
|
+
const n = await t.json();
|
|
141
|
+
s = n.message ?? void 0, r = n.errorCode ?? n.errorType ?? void 0;
|
|
85
142
|
} catch {
|
|
86
|
-
|
|
143
|
+
s = t.statusText || void 0;
|
|
87
144
|
}
|
|
88
|
-
return new
|
|
145
|
+
return new W(
|
|
89
146
|
t.status,
|
|
90
|
-
|
|
91
|
-
|
|
147
|
+
f(r),
|
|
148
|
+
s
|
|
92
149
|
);
|
|
93
150
|
}
|
|
94
151
|
}
|
|
95
|
-
class
|
|
152
|
+
class N {
|
|
96
153
|
// Takes a prebuilt ApiClient (DI). Use `WithdrawalSDK.create()` for the
|
|
97
154
|
// common case where you just have config.
|
|
98
155
|
constructor(t) {
|
|
99
156
|
this.api = t;
|
|
100
157
|
}
|
|
101
158
|
static create(t) {
|
|
102
|
-
return new
|
|
159
|
+
return new N(new P(t));
|
|
160
|
+
}
|
|
161
|
+
isSupported(t) {
|
|
162
|
+
return C({
|
|
163
|
+
minSupportedVersions: t,
|
|
164
|
+
consumer: this.api.consumer
|
|
165
|
+
});
|
|
103
166
|
}
|
|
104
|
-
async getWithdrawalConfig(t,
|
|
167
|
+
async getWithdrawalConfig(t, s) {
|
|
105
168
|
return this.api.get(
|
|
106
169
|
`/withdrawal-configs/${t}/public`,
|
|
107
|
-
|
|
170
|
+
s
|
|
108
171
|
);
|
|
109
172
|
}
|
|
110
|
-
async getRoutes(t,
|
|
111
|
-
return this.api.get(`/withdraw/${t}/routes`,
|
|
173
|
+
async getRoutes(t, s) {
|
|
174
|
+
return this.api.get(`/withdraw/${t}/routes`, s);
|
|
112
175
|
}
|
|
113
|
-
async getBalance(t,
|
|
176
|
+
async getBalance(t, s, r) {
|
|
114
177
|
return this.api.get(
|
|
115
178
|
`/withdraw/${t}/balances?walletAddress=${encodeURIComponent(
|
|
116
|
-
|
|
179
|
+
s
|
|
117
180
|
)}`,
|
|
118
|
-
|
|
181
|
+
r
|
|
119
182
|
);
|
|
120
183
|
}
|
|
121
184
|
/**
|
|
@@ -125,50 +188,54 @@ class A {
|
|
|
125
188
|
* `withdrawalConfigId` goes in the path; the remaining fields are the
|
|
126
189
|
* request body matching the backend `PreparedWithdrawalDto`.
|
|
127
190
|
*/
|
|
128
|
-
async createWithdrawalDetail(t,
|
|
129
|
-
const { withdrawalConfigId:
|
|
191
|
+
async createWithdrawalDetail(t, s) {
|
|
192
|
+
const { withdrawalConfigId: r, ...n } = t;
|
|
130
193
|
return this.api.post(
|
|
131
|
-
`/withdraw/${
|
|
132
|
-
|
|
133
|
-
|
|
194
|
+
`/withdraw/${r}/prepare`,
|
|
195
|
+
n,
|
|
196
|
+
s
|
|
134
197
|
);
|
|
135
198
|
}
|
|
136
|
-
async updateWithdrawalDetail(t,
|
|
199
|
+
async updateWithdrawalDetail(t, s, r) {
|
|
137
200
|
return this.api.patch(
|
|
138
201
|
`/withdraw-details/${t}`,
|
|
139
|
-
|
|
140
|
-
|
|
202
|
+
s,
|
|
203
|
+
r
|
|
141
204
|
);
|
|
142
205
|
}
|
|
143
206
|
/**
|
|
144
207
|
* Body matches the backend `SubmitWithdrawalDto`:
|
|
145
208
|
* `{ token, signedTx }`, where `signedTx` is the bare signed payload string.
|
|
146
209
|
*/
|
|
147
|
-
async submitWithdrawal(t,
|
|
148
|
-
const { withdrawalDetailId:
|
|
210
|
+
async submitWithdrawal(t, s) {
|
|
211
|
+
const { withdrawalDetailId: r, ...n } = t;
|
|
149
212
|
return this.api.post(
|
|
150
|
-
`/withdraw/${
|
|
151
|
-
|
|
152
|
-
|
|
213
|
+
`/withdraw/${r}/submit`,
|
|
214
|
+
n,
|
|
215
|
+
s
|
|
153
216
|
);
|
|
154
217
|
}
|
|
155
|
-
async getWithdrawalDetail(t,
|
|
156
|
-
return this.api.get(`/withdraw-details/${t}`,
|
|
218
|
+
async getWithdrawalDetail(t, s) {
|
|
219
|
+
return this.api.get(`/withdraw-details/${t}`, s);
|
|
157
220
|
}
|
|
158
221
|
}
|
|
159
222
|
export {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
223
|
+
w as BlockchainEngineType,
|
|
224
|
+
X as BlockchainSymbol,
|
|
225
|
+
g as BroadcastAck,
|
|
226
|
+
M as Platform,
|
|
227
|
+
H as SDK_PACKAGE_NAME,
|
|
228
|
+
O as SDK_VERSION,
|
|
229
|
+
B as SignedTransactionKind,
|
|
230
|
+
G as TERMINAL_STATES,
|
|
231
|
+
W as WithdrawalApiError,
|
|
167
232
|
R as WithdrawalErrorCode,
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
233
|
+
d as WithdrawalFeature,
|
|
234
|
+
N as WithdrawalSDK,
|
|
235
|
+
o as WithdrawalState,
|
|
171
236
|
L as decodeJwt,
|
|
172
|
-
|
|
173
|
-
|
|
237
|
+
U as isBelow,
|
|
238
|
+
F as isQuoteExpired,
|
|
239
|
+
C as isSupported,
|
|
240
|
+
f as toWithdrawalErrorCode
|
|
174
241
|
};
|