@heliofi/withdraw-core 1.5.1 → 1.5.6
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 +52 -1
- package/dist/withdraw-core.cjs +1 -1
- package/dist/withdraw-core.js +143 -137
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ declare class BaseCompany extends Entity {
|
|
|
65
65
|
customTheme?: CustomTheme;
|
|
66
66
|
defaultThemeId?: string;
|
|
67
67
|
allowDeposit?: boolean;
|
|
68
|
+
walletVerificationRequired?: boolean;
|
|
68
69
|
enabledRestrictedDepositEngines?: BlockchainEngineType[];
|
|
69
70
|
enabledBetaFeatures: BetaFeature[];
|
|
70
71
|
verifiedEntity?: {
|
|
@@ -91,11 +92,13 @@ declare class BaseCurrency extends Entity {
|
|
|
91
92
|
isNative?: boolean;
|
|
92
93
|
}
|
|
93
94
|
|
|
94
|
-
declare enum BetaFeature {
|
|
95
|
+
export declare enum BetaFeature {
|
|
95
96
|
SWAP = "SWAP",
|
|
96
97
|
MOONPAY_HEADLESS_FRAMES = "MOONPAY_HEADLESS_FRAMES",
|
|
97
98
|
GLIDE_DEPOSITS = "GLIDE_DEPOSITS",
|
|
98
99
|
CHECKOUT_V2 = "checkout_v2",
|
|
100
|
+
TRON_ENERGY_RENTAL = "TRON_ENERGY_RENTAL",
|
|
101
|
+
THEMES_V2 = "themesV2",
|
|
99
102
|
}
|
|
100
103
|
|
|
101
104
|
export declare class BlockchainEngine extends Entity {
|
|
@@ -112,6 +115,7 @@ export declare enum BlockchainEngineType {
|
|
|
112
115
|
HYPERCORE = "HYPERCORE",
|
|
113
116
|
DOGE = "DOGE",
|
|
114
117
|
TON = "TON",
|
|
118
|
+
SEISMIC = "SEISMIC",
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
export declare enum BlockchainSymbol {
|
|
@@ -189,6 +193,7 @@ declare enum DepositBlockchainSymbol {
|
|
|
189
193
|
HYPERCORE = "HYPERCORE",
|
|
190
194
|
PLASMA = "PLASMA",
|
|
191
195
|
MEGAETH = "MEGAETH",
|
|
196
|
+
SEISMIC = "SEISMIC",
|
|
192
197
|
}
|
|
193
198
|
|
|
194
199
|
declare class Entity {
|
|
@@ -262,6 +267,7 @@ declare class PreparedWithdrawalDto {
|
|
|
262
267
|
toCurrencyId: string;
|
|
263
268
|
sourceCurrencyId: string;
|
|
264
269
|
customerId?: string;
|
|
270
|
+
slippageBps?: number;
|
|
265
271
|
}
|
|
266
272
|
|
|
267
273
|
declare class PreparedWithdrawalTypedDataDomainDto {
|
|
@@ -300,6 +306,8 @@ export declare class QuoteSummary {
|
|
|
300
306
|
destinationAmountMinUsd?: string;
|
|
301
307
|
maxSlippageBps: number;
|
|
302
308
|
estimatedPriceImpact?: number;
|
|
309
|
+
routerAddresses?: string[];
|
|
310
|
+
bridgeIds?: string[];
|
|
303
311
|
bridgeFee: WithdrawalQuoteFee;
|
|
304
312
|
applicationFee: WithdrawalQuoteFee;
|
|
305
313
|
protocolFee: WithdrawalQuoteFee;
|
|
@@ -387,11 +395,52 @@ declare enum TextColor {
|
|
|
387
395
|
BLACK = "BLACK",
|
|
388
396
|
}
|
|
389
397
|
|
|
398
|
+
declare class Theme extends Entity {
|
|
399
|
+
id: string;
|
|
400
|
+
companyId?: string;
|
|
401
|
+
name: string;
|
|
402
|
+
light: ThemePalette;
|
|
403
|
+
dark: ThemePalette;
|
|
404
|
+
designTokens: ThemeDesignTokens;
|
|
405
|
+
type: ThemeType;
|
|
406
|
+
slug?: string;
|
|
407
|
+
isDefault?: boolean;
|
|
408
|
+
createdAt: string;
|
|
409
|
+
updatedAt: string;
|
|
410
|
+
}
|
|
411
|
+
export { Theme as RenderableTheme }
|
|
412
|
+
export { Theme }
|
|
413
|
+
|
|
414
|
+
export declare class ThemeDesignTokens {
|
|
415
|
+
containerBorderRadius: number;
|
|
416
|
+
inputBorderRadius: number;
|
|
417
|
+
buttonBorderRadius: number;
|
|
418
|
+
containerBorderWidth: number;
|
|
419
|
+
inputBorderWidth: number;
|
|
420
|
+
fontFamily: string | null;
|
|
421
|
+
padding: number;
|
|
422
|
+
}
|
|
423
|
+
|
|
390
424
|
declare enum ThemeMode {
|
|
391
425
|
LIGHT = "LIGHT",
|
|
392
426
|
DARK = "DARK",
|
|
393
427
|
}
|
|
394
428
|
|
|
429
|
+
export declare class ThemePalette {
|
|
430
|
+
primaryColor: string;
|
|
431
|
+
neutralColor: string;
|
|
432
|
+
backgroundColor: string;
|
|
433
|
+
successColor?: string;
|
|
434
|
+
dangerColor?: string;
|
|
435
|
+
warningColor?: string;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
export declare enum ThemeType {
|
|
439
|
+
MOONPAY = "MOONPAY",
|
|
440
|
+
USER = "USER",
|
|
441
|
+
PRIVATE = "PRIVATE",
|
|
442
|
+
}
|
|
443
|
+
|
|
395
444
|
export declare const toWithdrawalErrorCode: (raw: string | undefined) => WithdrawalErrorCode;
|
|
396
445
|
|
|
397
446
|
/**
|
|
@@ -443,6 +492,7 @@ export declare class WithdrawalConfig extends WithdrawalConfigEntity {
|
|
|
443
492
|
exchangeRates: WithdrawalCurrenciesExchangeRate[];
|
|
444
493
|
minSupportedVersions: WithdrawalMinSupportedVersions;
|
|
445
494
|
company: BaseCompany;
|
|
495
|
+
theme?: Theme | null;
|
|
446
496
|
}
|
|
447
497
|
|
|
448
498
|
declare class WithdrawalConfigEntity extends Entity {
|
|
@@ -453,6 +503,7 @@ declare class WithdrawalConfigEntity extends Entity {
|
|
|
453
503
|
disabledAt: string | null;
|
|
454
504
|
disabledBlockchainSymbols: BlockchainSymbol[];
|
|
455
505
|
enabledFeatures: WithdrawalFeature[];
|
|
506
|
+
themeId?: string;
|
|
456
507
|
createdAt: string;
|
|
457
508
|
updatedAt: string;
|
|
458
509
|
}
|
package/dist/withdraw-core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var h=Object.defineProperty;var P=(e,t,r)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var u=(e,t,r)=>P(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.TON="TON",e})({}),C=(function(e){return e.EVM="EVM",e.SOL="SOL",e.BTC="BTC",e.TRON="TRON",e.HYPERCORE="HYPERCORE",e.DOGE="DOGE",e.TON="TON",e.SEISMIC="SEISMIC",e})({}),m=(function(e){return e.HELIO="HELIO",e.MAGIC_EDEN="MAGIC_EDEN",e})({}),H=(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})({}),d=(function(e){return e.ACKNOWLEDGED="acknowledged",e.UNACKNOWLEDGED="unacknowledged",e.REJECTED="rejected",e})({}),M=(function(e){return e.RAW="raw",e.USER_OP="userop",e.POLYMARKET_WALLET="polymarket_wallet",e.HYPERCORE="hypercore",e})({}),w=(function(e){return e.MOONPAY="MOONPAY",e.USER="USER",e.PRIVATE="PRIVATE",e})({}),X=(function(e){return e.SWAP="SWAP",e.MOONPAY_HEADLESS_FRAMES="MOONPAY_HEADLESS_FRAMES",e.GLIDE_DEPOSITS="GLIDE_DEPOSITS",e.CHECKOUT_V2="checkout_v2",e.TRON_ENERGY_RENTAL="TRON_ENERGY_RENTAL",e.THEMES_V2="themesV2",e})({});const g=new Set([T.COMPLETED,T.FAILED,T.FAILED_EXPIRED,T.EXPIRED,T.REFUNDED_BY_PROVIDER]);var c=(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))(c||{});const G=new Set(Object.values(c));class a extends Error{constructor(r,s,n){super(n??s);u(this,"name","WithdrawalApiError");this.status=r,this.code=s,this.detail=n}}const l=e=>e&&G.has(e)?e:c.UNKNOWN,W=e=>{const t=e.split(".");if(t.length!==3)throw new Error("Invalid JWT: expected 3 parts");let r=t[1].replace(/-/g,"+").replace(/_/g,"/");r+="=".repeat((4-r.length%4)%4);const s=Uint8Array.from(atob(r),E=>E.charCodeAt(0)),n=new TextDecoder().decode(s);return JSON.parse(n)},V=(e,t=5e3)=>{try{const{exp:r}=W(e);return r===void 0?!0:Date.now()<r*1e3-t}catch{return!1}},R="1.5.6",p="https://api.hel.io/v1";class K{constructor(t){u(this,"baseUrl");u(this,"headers");u(this,"fetch");u(this,"consumer");var s,n;this.consumer=t.consumer;const r=t.baseUrl??p;this.baseUrl=r.endsWith("/")?r.slice(0,-1):r,this.headers={"Content-Type":"application/json","X-MoonPay-Commerce-SDK-Version":R,...(s=this.consumer)!=null&&s.name?{"X-MoonPay-Commerce-Consumer":this.consumer.name}:{},...(n=this.consumer)!=null&&n.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 E=`${this.baseUrl}${r}`,i=await this.fetch(E,{method:t,headers:this.headers,body:s!==void 0?JSON.stringify(s):void 0,signal:n});if(!i.ok)throw await this.buildError(i);return await i.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 a(t.status,l(s),r)}}const I=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),E=s===-1?"":t.slice(s+1),i=n.split(".");if(i.length>3)return null;const o=[];for(const A of i){if(!I(A))return null;o.push(Number(A))}const D=E===""?[]:E.split(".").filter(A=>A!=="");return s!==-1&&D.length===0?null:{major:o[0]??0,minor:o[1]??0,patch:o[2]??0,prerelease:D}}function _(e,t){return e<t?-1:e>t?1:0}function v(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],E=t[s];if(n===E)continue;const i=I(n),o=I(E);if(i&&o){const D=_(Number(n),Number(E));if(D!==0)return D}else return i?-1:o?1:n<E?-1:1}return _(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=_(r.major,s.major)||_(r.minor,s.minor)||_(r.patch,s.patch);return n!==0?n:v(r.prerelease,s.prerelease)}function L(e,t){return B(e,t)<0}const S="@heliofi/withdraw-core";function f(e={}){const{minSupportedVersions:t,consumer:r}=e,s=(t==null?void 0:t.packages)??{},n=e.sdkVersion??R,E={[S]:n};r!=null&&r.name&&r.version!=null&&(E[r.name]=r.version);for(const[i,o]of Object.entries(s)){const D=E[i];if(D!=null&&L(D,o))return!1}return!0}class O{constructor(t){this.api=t}static create(t={}){return new O(new K(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.BetaFeature=X;exports.BlockchainEngineType=C;exports.BlockchainSymbol=U;exports.BroadcastAck=d;exports.DEFAULT_BASE_URL=p;exports.Platform=m;exports.SDK_PACKAGE_NAME=S;exports.SDK_VERSION=R;exports.SignedTransactionKind=M;exports.TERMINAL_STATES=g;exports.ThemeType=w;exports.WithdrawalApiError=a;exports.WithdrawalErrorCode=c;exports.WithdrawalFeature=H;exports.WithdrawalSDK=O;exports.WithdrawalState=T;exports.decodeJwt=W;exports.isBelow=L;exports.isQuoteValid=V;exports.isSupported=f;exports.toWithdrawalErrorCode=l;
|
package/dist/withdraw-core.js
CHANGED
|
@@ -1,190 +1,194 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var T = (
|
|
4
|
-
let
|
|
5
|
-
return
|
|
6
|
-
})({}),
|
|
7
|
-
return
|
|
8
|
-
})({}),
|
|
9
|
-
return
|
|
10
|
-
})({}),
|
|
11
|
-
return
|
|
12
|
-
})({}),
|
|
13
|
-
return
|
|
14
|
-
})({}),
|
|
15
|
-
return
|
|
16
|
-
})({}),
|
|
17
|
-
return
|
|
1
|
+
var l = Object.defineProperty;
|
|
2
|
+
var a = (t, e, s) => e in t ? l(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
|
|
3
|
+
var T = (t, e, s) => a(t, typeof e != "symbol" ? e + "" : e, s);
|
|
4
|
+
let X = /* @__PURE__ */ (function(t) {
|
|
5
|
+
return t.SOL = "SOL", t.ETH = "ETH", t.POLYGON = "POLYGON", t.BASE = "BASE", t.BITCOIN = "BITCOIN", t.ARBITRUM = "ARBITRUM", t.BSC = "BSC", t.TRON = "TRON", t.DOGE = "DOGE", t.TON = "TON", t;
|
|
6
|
+
})({}), d = /* @__PURE__ */ (function(t) {
|
|
7
|
+
return t.EVM = "EVM", t.SOL = "SOL", t.BTC = "BTC", t.TRON = "TRON", t.HYPERCORE = "HYPERCORE", t.DOGE = "DOGE", t.TON = "TON", t.SEISMIC = "SEISMIC", t;
|
|
8
|
+
})({}), w = /* @__PURE__ */ (function(t) {
|
|
9
|
+
return t.HELIO = "HELIO", t.MAGIC_EDEN = "MAGIC_EDEN", t;
|
|
10
|
+
})({}), G = /* @__PURE__ */ (function(t) {
|
|
11
|
+
return t.IRON = "iron", t.MP_SELL = "mp_sell", t;
|
|
12
|
+
})({}), _ = /* @__PURE__ */ (function(t) {
|
|
13
|
+
return t.QUOTED = "QUOTED", t.SUBMITTING = "SUBMITTING", t.SUBMITTED = "SUBMITTED", t.BRIDGING = "BRIDGING", t.COMPLETED = "COMPLETED", t.FAILED = "FAILED", t.FAILED_EXPIRED = "FAILED_EXPIRED", t.EXPIRED = "EXPIRED", t.REFUNDED_BY_PROVIDER = "REFUNDED_BY_PROVIDER", t;
|
|
14
|
+
})({}), g = /* @__PURE__ */ (function(t) {
|
|
15
|
+
return t.ACKNOWLEDGED = "acknowledged", t.UNACKNOWLEDGED = "unacknowledged", t.REJECTED = "rejected", t;
|
|
16
|
+
})({}), V = /* @__PURE__ */ (function(t) {
|
|
17
|
+
return t.RAW = "raw", t.USER_OP = "userop", t.POLYMARKET_WALLET = "polymarket_wallet", t.HYPERCORE = "hypercore", t;
|
|
18
|
+
})({}), v = /* @__PURE__ */ (function(t) {
|
|
19
|
+
return t.MOONPAY = "MOONPAY", t.USER = "USER", t.PRIVATE = "PRIVATE", t;
|
|
20
|
+
})({}), Y = /* @__PURE__ */ (function(t) {
|
|
21
|
+
return t.SWAP = "SWAP", t.MOONPAY_HEADLESS_FRAMES = "MOONPAY_HEADLESS_FRAMES", t.GLIDE_DEPOSITS = "GLIDE_DEPOSITS", t.CHECKOUT_V2 = "checkout_v2", t.TRON_ENERGY_RENTAL = "TRON_ENERGY_RENTAL", t.THEMES_V2 = "themesV2", t;
|
|
18
22
|
})({});
|
|
19
23
|
const F = /* @__PURE__ */ new Set([
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
_.COMPLETED,
|
|
25
|
+
_.FAILED,
|
|
26
|
+
_.FAILED_EXPIRED,
|
|
27
|
+
_.EXPIRED,
|
|
28
|
+
_.REFUNDED_BY_PROVIDER
|
|
25
29
|
]);
|
|
26
|
-
var R = /* @__PURE__ */ ((
|
|
27
|
-
const
|
|
28
|
-
class
|
|
30
|
+
var R = /* @__PURE__ */ ((t) => (t.WITHDRAW_TX_INVALID_SIGNATURE = "WITHDRAW_TX_INVALID_SIGNATURE", t.WITHDRAW_TX_BLOCKHASH_EXPIRED = "WITHDRAW_TX_BLOCKHASH_EXPIRED", t.WITHDRAW_TX_NONCE_TOO_LOW = "WITHDRAW_TX_NONCE_TOO_LOW", t.WITHDRAW_TX_USEROP_EXPIRED = "WITHDRAW_TX_USEROP_EXPIRED", t.WITHDRAW_TX_UNDERPRICED = "WITHDRAW_TX_UNDERPRICED", t.WITHDRAW_BUNDLER_REJECTED = "WITHDRAW_BUNDLER_REJECTED", t.WITHDRAW_TX_BROADCAST_TIMEOUT = "WITHDRAW_TX_BROADCAST_TIMEOUT", t.WITHDRAW_TX_ALREADY_KNOWN = "WITHDRAW_TX_ALREADY_KNOWN", t.WITHDRAW_QUOTE_EXPIRED = "WITHDRAW_QUOTE_EXPIRED", t.WITHDRAW_SANCTIONS_BLOCKED = "WITHDRAW_SANCTIONS_BLOCKED", t.WITHDRAW_NO_ROUTE = "WITHDRAW_NO_ROUTE", t.WITHDRAW_NOT_FOUND = "WITHDRAW_NOT_FOUND", t.WITHDRAW_INSUFFICIENT_BALANCE = "WITHDRAW_INSUFFICIENT_BALANCE", t.WITHDRAW_DETAILS_NOT_UPDATABLE = "WITHDRAW_DETAILS_NOT_UPDATABLE", t.INVALID_WALLET_ADDRESS = "INVALID_WALLET_ADDRESS", t.BALANCE_FETCH_FAILED = "BALANCE_FETCH_FAILED", t.UNKNOWN = "UNKNOWN", t))(R || {});
|
|
31
|
+
const L = new Set(Object.values(R));
|
|
32
|
+
class p extends Error {
|
|
29
33
|
constructor(s, r, n) {
|
|
30
34
|
super(n ?? r);
|
|
31
35
|
T(this, "name", "WithdrawalApiError");
|
|
32
36
|
this.status = s, this.code = r, this.detail = n;
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
39
|
+
const W = (t) => t && L.has(t) ? t : R.UNKNOWN, f = (t) => {
|
|
40
|
+
const e = t.split(".");
|
|
41
|
+
if (e.length !== 3)
|
|
38
42
|
throw new Error("Invalid JWT: expected 3 parts");
|
|
39
|
-
let s =
|
|
43
|
+
let s = e[1].replace(/-/g, "+").replace(/_/g, "/");
|
|
40
44
|
s += "=".repeat((4 - s.length % 4) % 4);
|
|
41
45
|
const r = Uint8Array.from(atob(s), (E) => E.charCodeAt(0)), n = new TextDecoder().decode(r);
|
|
42
46
|
return JSON.parse(n);
|
|
43
|
-
},
|
|
47
|
+
}, K = (t, e = 5e3) => {
|
|
44
48
|
try {
|
|
45
|
-
const { exp: s } =
|
|
46
|
-
return s === void 0 ? !0 : Date.now() < s * 1e3 -
|
|
49
|
+
const { exp: s } = f(t);
|
|
50
|
+
return s === void 0 ? !0 : Date.now() < s * 1e3 - e;
|
|
47
51
|
} catch {
|
|
48
52
|
return !1;
|
|
49
53
|
}
|
|
50
|
-
}, O = "1.5.
|
|
51
|
-
class
|
|
52
|
-
constructor(
|
|
54
|
+
}, O = "1.5.6", h = "https://api.hel.io/v1";
|
|
55
|
+
class S {
|
|
56
|
+
constructor(e) {
|
|
53
57
|
T(this, "baseUrl");
|
|
54
58
|
T(this, "headers");
|
|
55
59
|
T(this, "fetch");
|
|
56
60
|
T(this, "consumer");
|
|
57
61
|
var r, n;
|
|
58
|
-
this.consumer =
|
|
59
|
-
const s =
|
|
62
|
+
this.consumer = e.consumer;
|
|
63
|
+
const s = e.baseUrl ?? h;
|
|
60
64
|
this.baseUrl = s.endsWith("/") ? s.slice(0, -1) : s, this.headers = {
|
|
61
65
|
"Content-Type": "application/json",
|
|
62
66
|
"X-MoonPay-Commerce-SDK-Version": O,
|
|
63
67
|
...(r = this.consumer) != null && r.name ? { "X-MoonPay-Commerce-Consumer": this.consumer.name } : {},
|
|
64
68
|
...(n = this.consumer) != null && n.version ? { "X-MoonPay-Commerce-Consumer-Version": this.consumer.version } : {},
|
|
65
|
-
...
|
|
66
|
-
}, this.fetch =
|
|
69
|
+
...e.headers
|
|
70
|
+
}, this.fetch = e.fetch ?? globalThis.fetch.bind(globalThis);
|
|
67
71
|
}
|
|
68
|
-
async get(
|
|
69
|
-
return this.request("GET",
|
|
72
|
+
async get(e, s) {
|
|
73
|
+
return this.request("GET", e, void 0, s);
|
|
70
74
|
}
|
|
71
|
-
async post(
|
|
72
|
-
return this.request("POST",
|
|
75
|
+
async post(e, s, r) {
|
|
76
|
+
return this.request("POST", e, s, r);
|
|
73
77
|
}
|
|
74
|
-
async patch(
|
|
75
|
-
return this.request("PATCH",
|
|
78
|
+
async patch(e, s, r) {
|
|
79
|
+
return this.request("PATCH", e, s, r);
|
|
76
80
|
}
|
|
77
|
-
async request(
|
|
78
|
-
const E = `${this.baseUrl}${s}`,
|
|
79
|
-
method:
|
|
81
|
+
async request(e, s, r, n) {
|
|
82
|
+
const E = `${this.baseUrl}${s}`, D = await this.fetch(E, {
|
|
83
|
+
method: e,
|
|
80
84
|
headers: this.headers,
|
|
81
85
|
body: r !== void 0 ? JSON.stringify(r) : void 0,
|
|
82
86
|
signal: n
|
|
83
87
|
});
|
|
84
|
-
if (!
|
|
85
|
-
throw await this.buildError(
|
|
86
|
-
return await
|
|
88
|
+
if (!D.ok)
|
|
89
|
+
throw await this.buildError(D);
|
|
90
|
+
return await D.json();
|
|
87
91
|
}
|
|
88
|
-
async buildError(
|
|
92
|
+
async buildError(e) {
|
|
89
93
|
let s, r;
|
|
90
94
|
try {
|
|
91
|
-
const n = await
|
|
95
|
+
const n = await e.json();
|
|
92
96
|
s = n.message ?? void 0, r = n.errorCode ?? n.errorType ?? void 0;
|
|
93
97
|
} catch {
|
|
94
|
-
s =
|
|
98
|
+
s = e.statusText || void 0;
|
|
95
99
|
}
|
|
96
|
-
return new
|
|
97
|
-
|
|
98
|
-
|
|
100
|
+
return new p(
|
|
101
|
+
e.status,
|
|
102
|
+
W(r),
|
|
99
103
|
s
|
|
100
104
|
);
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
|
-
const
|
|
104
|
-
function
|
|
105
|
-
if (typeof
|
|
106
|
-
let
|
|
107
|
-
if ((
|
|
108
|
-
const s =
|
|
109
|
-
s !== -1 && (
|
|
110
|
-
const r =
|
|
111
|
-
if (
|
|
112
|
-
const
|
|
113
|
-
for (const
|
|
114
|
-
if (!
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
const
|
|
118
|
-
return r !== -1 &&
|
|
119
|
-
major:
|
|
120
|
-
minor:
|
|
121
|
-
patch:
|
|
122
|
-
prerelease:
|
|
107
|
+
const A = (t) => /^\d+$/.test(t);
|
|
108
|
+
function c(t) {
|
|
109
|
+
if (typeof t != "string") return null;
|
|
110
|
+
let e = t.trim();
|
|
111
|
+
if ((e.startsWith("v") || e.startsWith("V")) && (e = e.slice(1)), e === "") return null;
|
|
112
|
+
const s = e.indexOf("+");
|
|
113
|
+
s !== -1 && (e = e.slice(0, s));
|
|
114
|
+
const r = e.indexOf("-"), n = r === -1 ? e : e.slice(0, r), E = r === -1 ? "" : e.slice(r + 1), D = n.split(".");
|
|
115
|
+
if (D.length > 3) return null;
|
|
116
|
+
const u = [];
|
|
117
|
+
for (const o of D) {
|
|
118
|
+
if (!A(o)) return null;
|
|
119
|
+
u.push(Number(o));
|
|
120
|
+
}
|
|
121
|
+
const i = E === "" ? [] : E.split(".").filter((o) => o !== "");
|
|
122
|
+
return r !== -1 && i.length === 0 ? null : {
|
|
123
|
+
major: u[0] ?? 0,
|
|
124
|
+
minor: u[1] ?? 0,
|
|
125
|
+
patch: u[2] ?? 0,
|
|
126
|
+
prerelease: i
|
|
123
127
|
};
|
|
124
128
|
}
|
|
125
|
-
function
|
|
126
|
-
return
|
|
129
|
+
function I(t, e) {
|
|
130
|
+
return t < e ? -1 : t > e ? 1 : 0;
|
|
127
131
|
}
|
|
128
|
-
function
|
|
129
|
-
if (
|
|
130
|
-
if (
|
|
131
|
-
if (
|
|
132
|
-
const s = Math.min(
|
|
132
|
+
function P(t, e) {
|
|
133
|
+
if (t.length === 0 && e.length === 0) return 0;
|
|
134
|
+
if (t.length === 0) return 1;
|
|
135
|
+
if (e.length === 0) return -1;
|
|
136
|
+
const s = Math.min(t.length, e.length);
|
|
133
137
|
for (let r = 0; r < s; r++) {
|
|
134
|
-
const n =
|
|
138
|
+
const n = t[r], E = e[r];
|
|
135
139
|
if (n === E) continue;
|
|
136
|
-
const
|
|
137
|
-
if (
|
|
138
|
-
const
|
|
139
|
-
if (
|
|
140
|
-
} else return
|
|
140
|
+
const D = A(n), u = A(E);
|
|
141
|
+
if (D && u) {
|
|
142
|
+
const i = I(Number(n), Number(E));
|
|
143
|
+
if (i !== 0) return i;
|
|
144
|
+
} else return D ? -1 : u ? 1 : n < E ? -1 : 1;
|
|
141
145
|
}
|
|
142
|
-
return
|
|
146
|
+
return I(t.length, e.length);
|
|
143
147
|
}
|
|
144
|
-
function
|
|
145
|
-
const s =
|
|
146
|
-
return n !== 0 ? n :
|
|
148
|
+
function U(t, e) {
|
|
149
|
+
const s = c(t) ?? { major: 0, minor: 0, patch: 0, prerelease: [] }, r = c(e) ?? { major: 0, minor: 0, patch: 0, prerelease: [] }, n = I(s.major, r.major) || I(s.minor, r.minor) || I(s.patch, r.patch);
|
|
150
|
+
return n !== 0 ? n : P(s.prerelease, r.prerelease);
|
|
147
151
|
}
|
|
148
|
-
function
|
|
149
|
-
return
|
|
152
|
+
function H(t, e) {
|
|
153
|
+
return U(t, e) < 0;
|
|
150
154
|
}
|
|
151
|
-
const
|
|
152
|
-
function
|
|
153
|
-
const { minSupportedVersions:
|
|
155
|
+
const C = "@heliofi/withdraw-core";
|
|
156
|
+
function m(t = {}) {
|
|
157
|
+
const { minSupportedVersions: e, consumer: s } = t, r = (e == null ? void 0 : e.packages) ?? {}, n = t.sdkVersion ?? O, E = { [C]: n };
|
|
154
158
|
s != null && s.name && s.version != null && (E[s.name] = s.version);
|
|
155
|
-
for (const [
|
|
156
|
-
const
|
|
157
|
-
if (
|
|
159
|
+
for (const [D, u] of Object.entries(r)) {
|
|
160
|
+
const i = E[D];
|
|
161
|
+
if (i != null && H(i, u)) return !1;
|
|
158
162
|
}
|
|
159
163
|
return !0;
|
|
160
164
|
}
|
|
161
165
|
class N {
|
|
162
166
|
// Takes a prebuilt ApiClient (DI). Use `WithdrawalSDK.create()` for the
|
|
163
167
|
// common case where you just have config.
|
|
164
|
-
constructor(
|
|
165
|
-
this.api =
|
|
168
|
+
constructor(e) {
|
|
169
|
+
this.api = e;
|
|
166
170
|
}
|
|
167
|
-
static create(
|
|
168
|
-
return new N(new
|
|
171
|
+
static create(e = {}) {
|
|
172
|
+
return new N(new S(e));
|
|
169
173
|
}
|
|
170
|
-
isSupported(
|
|
171
|
-
return
|
|
172
|
-
minSupportedVersions:
|
|
174
|
+
isSupported(e) {
|
|
175
|
+
return m({
|
|
176
|
+
minSupportedVersions: e,
|
|
173
177
|
consumer: this.api.consumer
|
|
174
178
|
});
|
|
175
179
|
}
|
|
176
|
-
async getWithdrawalConfig(
|
|
180
|
+
async getWithdrawalConfig(e, s) {
|
|
177
181
|
return this.api.get(
|
|
178
|
-
`/withdrawal-configs/${
|
|
182
|
+
`/withdrawal-configs/${e}/public`,
|
|
179
183
|
s
|
|
180
184
|
);
|
|
181
185
|
}
|
|
182
|
-
async getRoutes(
|
|
183
|
-
return this.api.get(`/withdraw/${
|
|
186
|
+
async getRoutes(e, s) {
|
|
187
|
+
return this.api.get(`/withdraw/${e}/routes`, s);
|
|
184
188
|
}
|
|
185
|
-
async getBalance(
|
|
189
|
+
async getBalance(e, s, r) {
|
|
186
190
|
return this.api.get(
|
|
187
|
-
`/withdraw/${
|
|
191
|
+
`/withdraw/${e}/balances?walletAddress=${encodeURIComponent(
|
|
188
192
|
s
|
|
189
193
|
)}`,
|
|
190
194
|
r
|
|
@@ -197,17 +201,17 @@ class N {
|
|
|
197
201
|
* `withdrawalConfigId` goes in the path; the remaining fields are the
|
|
198
202
|
* request body matching the backend `PreparedWithdrawalDto`.
|
|
199
203
|
*/
|
|
200
|
-
async createWithdrawalDetail(
|
|
201
|
-
const { withdrawalConfigId: r, ...n } =
|
|
204
|
+
async createWithdrawalDetail(e, s) {
|
|
205
|
+
const { withdrawalConfigId: r, ...n } = e;
|
|
202
206
|
return this.api.post(
|
|
203
207
|
`/withdraw/${r}/prepare`,
|
|
204
208
|
n,
|
|
205
209
|
s
|
|
206
210
|
);
|
|
207
211
|
}
|
|
208
|
-
async updateWithdrawalDetail(
|
|
212
|
+
async updateWithdrawalDetail(e, s, r) {
|
|
209
213
|
return this.api.patch(
|
|
210
|
-
`/withdraw-details/${
|
|
214
|
+
`/withdraw-details/${e}`,
|
|
211
215
|
s,
|
|
212
216
|
r
|
|
213
217
|
);
|
|
@@ -216,36 +220,38 @@ class N {
|
|
|
216
220
|
* Body matches the backend `SubmitWithdrawalDto`:
|
|
217
221
|
* `{ token, signedTx }`, where `signedTx` is the bare signed payload string.
|
|
218
222
|
*/
|
|
219
|
-
async submitWithdrawal(
|
|
220
|
-
const { withdrawalDetailId: r, ...n } =
|
|
223
|
+
async submitWithdrawal(e, s) {
|
|
224
|
+
const { withdrawalDetailId: r, ...n } = e;
|
|
221
225
|
return this.api.post(
|
|
222
226
|
`/withdraw/${r}/submit`,
|
|
223
227
|
n,
|
|
224
228
|
s
|
|
225
229
|
);
|
|
226
230
|
}
|
|
227
|
-
async getWithdrawalDetail(
|
|
228
|
-
return this.api.get(`/withdraw-details/${
|
|
231
|
+
async getWithdrawalDetail(e, s) {
|
|
232
|
+
return this.api.get(`/withdraw-details/${e}`, s);
|
|
229
233
|
}
|
|
230
234
|
}
|
|
231
235
|
export {
|
|
232
|
-
|
|
233
|
-
d as
|
|
234
|
-
|
|
236
|
+
Y as BetaFeature,
|
|
237
|
+
d as BlockchainEngineType,
|
|
238
|
+
X as BlockchainSymbol,
|
|
239
|
+
g as BroadcastAck,
|
|
235
240
|
h as DEFAULT_BASE_URL,
|
|
236
|
-
|
|
237
|
-
|
|
241
|
+
w as Platform,
|
|
242
|
+
C as SDK_PACKAGE_NAME,
|
|
238
243
|
O as SDK_VERSION,
|
|
239
|
-
|
|
244
|
+
V as SignedTransactionKind,
|
|
240
245
|
F as TERMINAL_STATES,
|
|
241
|
-
|
|
246
|
+
v as ThemeType,
|
|
247
|
+
p as WithdrawalApiError,
|
|
242
248
|
R as WithdrawalErrorCode,
|
|
243
|
-
|
|
249
|
+
G as WithdrawalFeature,
|
|
244
250
|
N as WithdrawalSDK,
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
_ as WithdrawalState,
|
|
252
|
+
f as decodeJwt,
|
|
253
|
+
H as isBelow,
|
|
254
|
+
K as isQuoteValid,
|
|
255
|
+
m as isSupported,
|
|
256
|
+
W as toWithdrawalErrorCode
|
|
251
257
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@heliofi/withdraw-core",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.6",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"dev": "vite",
|
|
@@ -41,6 +41,6 @@
|
|
|
41
41
|
"vitest": "3.2.4"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@heliofi/common-fe": "0.2.
|
|
44
|
+
"@heliofi/common-fe": "0.2.308"
|
|
45
45
|
}
|
|
46
46
|
}
|