@heliofi/withdraw-core 1.5.7 → 1.6.1

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 CHANGED
@@ -205,6 +205,10 @@ declare enum FIATCurrencies {
205
205
  USD = "USD",
206
206
  }
207
207
 
208
+ export declare interface GeoblockIpAllowedResponse {
209
+ isAllowed: boolean;
210
+ }
211
+
208
212
  export declare interface HypercorePreparedTransaction {
209
213
  kind: SignedTransactionKind.HYPERCORE;
210
214
  chain: BlockchainSymbol | DepositBlockchainSymbol;
@@ -587,6 +591,7 @@ export declare class WithdrawalSDK {
587
591
  isSupported(minSupportedVersions?: MinSupportedVersions | null): boolean;
588
592
  getWithdrawalConfig(withdrawalConfigId: string, signal?: AbortSignal): Promise<WithdrawalConfig>;
589
593
  getRoutes(withdrawalConfigId: string, signal?: AbortSignal): Promise<RoutesResponse>;
594
+ getGeoblockIpAllowed(signal?: AbortSignal): Promise<GeoblockIpAllowedResponse>;
590
595
  getBalance(withdrawalConfigId: string, walletAddress: string, signal?: AbortSignal): Promise<BalanceResponse>;
591
596
  /**
592
597
  * Create a withdrawal detail (a priced quote) for a config.
@@ -1 +1 @@
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.7",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;
1
+ "use strict";var f=Object.defineProperty;var P=(e,t,r)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var D=(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})({}),w=(function(e){return e.RAW="raw",e.USER_OP="userop",e.POLYMARKET_WALLET="polymarket_wallet",e.HYPERCORE="hypercore",e})({}),M=(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);D(this,"name","WithdrawalApiError");this.status=r,this.code=s,this.detail=n}}const l=e=>e&&G.has(e)?e:c.UNKNOWN,p=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}=p(e);return r===void 0?!0:Date.now()<r*1e3-t}catch{return!1}},R="1.6.1",W="https://api.hel.io/v1";class K{constructor(t){D(this,"baseUrl");D(this,"headers");D(this,"fetch");D(this,"consumer");var s,n;this.consumer=t.consumer;const r=t.baseUrl??W;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 u=E===""?[]:E.split(".").filter(A=>A!=="");return s!==-1&&u.length===0?null:{major:o[0]??0,minor:o[1]??0,patch:o[2]??0,prerelease:u}}function _(e,t){return e<t?-1:e>t?1:0}function b(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 u=_(Number(n),Number(E));if(u!==0)return u}else return i?-1:o?1:n<E?-1:1}return _(e.length,t.length)}function v(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:b(r.prerelease,s.prerelease)}function L(e,t){return v(e,t)<0}const S="@heliofi/withdraw-core";function h(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 u=E[i];if(u!=null&&L(u,o))return!1}return!0}class O{constructor(t){this.api=t}static create(t={}){return new O(new K(t))}isSupported(t){return h({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 getGeoblockIpAllowed(t){return this.api.get("/geoblock/ip-allowed",t)}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=W;exports.Platform=m;exports.SDK_PACKAGE_NAME=S;exports.SDK_VERSION=R;exports.SignedTransactionKind=w;exports.TERMINAL_STATES=g;exports.ThemeType=M;exports.WithdrawalApiError=a;exports.WithdrawalErrorCode=c;exports.WithdrawalFeature=H;exports.WithdrawalSDK=O;exports.WithdrawalState=T;exports.decodeJwt=p;exports.isBelow=L;exports.isQuoteValid=V;exports.isSupported=h;exports.toWithdrawalErrorCode=l;
@@ -1,86 +1,86 @@
1
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;
2
+ var a = (e, t, s) => t in e ? l(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;
3
+ var o = (e, t, s) => a(e, typeof t != "symbol" ? t + "" : t, s);
4
+ let X = /* @__PURE__ */ (function(e) {
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.TON = "TON", e;
6
+ })({}), d = /* @__PURE__ */ (function(e) {
7
+ 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;
8
+ })({}), w = /* @__PURE__ */ (function(e) {
9
+ return e.HELIO = "HELIO", e.MAGIC_EDEN = "MAGIC_EDEN", e;
10
+ })({}), G = /* @__PURE__ */ (function(e) {
11
+ return e.IRON = "iron", e.MP_SELL = "mp_sell", e;
12
+ })({}), T = /* @__PURE__ */ (function(e) {
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
+ })({}), g = /* @__PURE__ */ (function(e) {
15
+ return e.ACKNOWLEDGED = "acknowledged", e.UNACKNOWLEDGED = "unacknowledged", e.REJECTED = "rejected", e;
16
+ })({}), V = /* @__PURE__ */ (function(e) {
17
+ return e.RAW = "raw", e.USER_OP = "userop", e.POLYMARKET_WALLET = "polymarket_wallet", e.HYPERCORE = "hypercore", e;
18
+ })({}), v = /* @__PURE__ */ (function(e) {
19
+ return e.MOONPAY = "MOONPAY", e.USER = "USER", e.PRIVATE = "PRIVATE", e;
20
+ })({}), Y = /* @__PURE__ */ (function(e) {
21
+ 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;
22
22
  })({});
23
- const F = /* @__PURE__ */ new Set([
24
- _.COMPLETED,
25
- _.FAILED,
26
- _.FAILED_EXPIRED,
27
- _.EXPIRED,
28
- _.REFUNDED_BY_PROVIDER
23
+ const b = /* @__PURE__ */ new Set([
24
+ T.COMPLETED,
25
+ T.FAILED,
26
+ T.FAILED_EXPIRED,
27
+ T.EXPIRED,
28
+ T.REFUNDED_BY_PROVIDER
29
29
  ]);
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 {
30
+ 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 || {});
31
+ const p = new Set(Object.values(R));
32
+ class L extends Error {
33
33
  constructor(s, r, n) {
34
34
  super(n ?? r);
35
- T(this, "name", "WithdrawalApiError");
35
+ o(this, "name", "WithdrawalApiError");
36
36
  this.status = s, this.code = r, this.detail = n;
37
37
  }
38
38
  }
39
- const W = (t) => t && L.has(t) ? t : R.UNKNOWN, f = (t) => {
40
- const e = t.split(".");
41
- if (e.length !== 3)
39
+ const W = (e) => e && p.has(e) ? e : R.UNKNOWN, f = (e) => {
40
+ const t = e.split(".");
41
+ if (t.length !== 3)
42
42
  throw new Error("Invalid JWT: expected 3 parts");
43
- let s = e[1].replace(/-/g, "+").replace(/_/g, "/");
43
+ let s = t[1].replace(/-/g, "+").replace(/_/g, "/");
44
44
  s += "=".repeat((4 - s.length % 4) % 4);
45
45
  const r = Uint8Array.from(atob(s), (E) => E.charCodeAt(0)), n = new TextDecoder().decode(r);
46
46
  return JSON.parse(n);
47
- }, K = (t, e = 5e3) => {
47
+ }, F = (e, t = 5e3) => {
48
48
  try {
49
- const { exp: s } = f(t);
50
- return s === void 0 ? !0 : Date.now() < s * 1e3 - e;
49
+ const { exp: s } = f(e);
50
+ return s === void 0 ? !0 : Date.now() < s * 1e3 - t;
51
51
  } catch {
52
52
  return !1;
53
53
  }
54
- }, O = "1.5.7", h = "https://api.hel.io/v1";
54
+ }, O = "1.6.1", h = "https://api.hel.io/v1";
55
55
  class S {
56
- constructor(e) {
57
- T(this, "baseUrl");
58
- T(this, "headers");
59
- T(this, "fetch");
60
- T(this, "consumer");
56
+ constructor(t) {
57
+ o(this, "baseUrl");
58
+ o(this, "headers");
59
+ o(this, "fetch");
60
+ o(this, "consumer");
61
61
  var r, n;
62
- this.consumer = e.consumer;
63
- const s = e.baseUrl ?? h;
62
+ this.consumer = t.consumer;
63
+ const s = t.baseUrl ?? h;
64
64
  this.baseUrl = s.endsWith("/") ? s.slice(0, -1) : s, this.headers = {
65
65
  "Content-Type": "application/json",
66
66
  "X-MoonPay-Commerce-SDK-Version": O,
67
67
  ...(r = this.consumer) != null && r.name ? { "X-MoonPay-Commerce-Consumer": this.consumer.name } : {},
68
68
  ...(n = this.consumer) != null && n.version ? { "X-MoonPay-Commerce-Consumer-Version": this.consumer.version } : {},
69
- ...e.headers
70
- }, this.fetch = e.fetch ?? globalThis.fetch.bind(globalThis);
69
+ ...t.headers
70
+ }, this.fetch = t.fetch ?? globalThis.fetch.bind(globalThis);
71
71
  }
72
- async get(e, s) {
73
- return this.request("GET", e, void 0, s);
72
+ async get(t, s) {
73
+ return this.request("GET", t, void 0, s);
74
74
  }
75
- async post(e, s, r) {
76
- return this.request("POST", e, s, r);
75
+ async post(t, s, r) {
76
+ return this.request("POST", t, s, r);
77
77
  }
78
- async patch(e, s, r) {
79
- return this.request("PATCH", e, s, r);
78
+ async patch(t, s, r) {
79
+ return this.request("PATCH", t, s, r);
80
80
  }
81
- async request(e, s, r, n) {
81
+ async request(t, s, r, n) {
82
82
  const E = `${this.baseUrl}${s}`, D = await this.fetch(E, {
83
- method: e,
83
+ method: t,
84
84
  headers: this.headers,
85
85
  body: r !== void 0 ? JSON.stringify(r) : void 0,
86
86
  signal: n
@@ -89,106 +89,109 @@ class S {
89
89
  throw await this.buildError(D);
90
90
  return await D.json();
91
91
  }
92
- async buildError(e) {
92
+ async buildError(t) {
93
93
  let s, r;
94
94
  try {
95
- const n = await e.json();
95
+ const n = await t.json();
96
96
  s = n.message ?? void 0, r = n.errorCode ?? n.errorType ?? void 0;
97
97
  } catch {
98
- s = e.statusText || void 0;
98
+ s = t.statusText || void 0;
99
99
  }
100
- return new p(
101
- e.status,
100
+ return new L(
101
+ t.status,
102
102
  W(r),
103
103
  s
104
104
  );
105
105
  }
106
106
  }
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(".");
107
+ const A = (e) => /^\d+$/.test(e);
108
+ function c(e) {
109
+ if (typeof e != "string") return null;
110
+ let t = e.trim();
111
+ if ((t.startsWith("v") || t.startsWith("V")) && (t = t.slice(1)), t === "") return null;
112
+ const s = t.indexOf("+");
113
+ s !== -1 && (t = t.slice(0, s));
114
+ const r = t.indexOf("-"), n = r === -1 ? t : t.slice(0, r), E = r === -1 ? "" : t.slice(r + 1), D = n.split(".");
115
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));
116
+ const i = [];
117
+ for (const I of D) {
118
+ if (!A(I)) return null;
119
+ i.push(Number(I));
120
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
121
+ const u = E === "" ? [] : E.split(".").filter((I) => I !== "");
122
+ return r !== -1 && u.length === 0 ? null : {
123
+ major: i[0] ?? 0,
124
+ minor: i[1] ?? 0,
125
+ patch: i[2] ?? 0,
126
+ prerelease: u
127
127
  };
128
128
  }
129
- function I(t, e) {
130
- return t < e ? -1 : t > e ? 1 : 0;
129
+ function _(e, t) {
130
+ return e < t ? -1 : e > t ? 1 : 0;
131
131
  }
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);
132
+ function P(e, t) {
133
+ if (e.length === 0 && t.length === 0) return 0;
134
+ if (e.length === 0) return 1;
135
+ if (t.length === 0) return -1;
136
+ const s = Math.min(e.length, t.length);
137
137
  for (let r = 0; r < s; r++) {
138
- const n = t[r], E = e[r];
138
+ const n = e[r], E = t[r];
139
139
  if (n === E) continue;
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;
140
+ const D = A(n), i = A(E);
141
+ if (D && i) {
142
+ const u = _(Number(n), Number(E));
143
+ if (u !== 0) return u;
144
+ } else return D ? -1 : i ? 1 : n < E ? -1 : 1;
145
145
  }
146
- return I(t.length, e.length);
146
+ return _(e.length, t.length);
147
147
  }
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);
148
+ function U(e, t) {
149
+ const s = c(e) ?? { major: 0, minor: 0, patch: 0, prerelease: [] }, r = c(t) ?? { major: 0, minor: 0, patch: 0, prerelease: [] }, n = _(s.major, r.major) || _(s.minor, r.minor) || _(s.patch, r.patch);
150
150
  return n !== 0 ? n : P(s.prerelease, r.prerelease);
151
151
  }
152
- function H(t, e) {
153
- return U(t, e) < 0;
152
+ function H(e, t) {
153
+ return U(e, t) < 0;
154
154
  }
155
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 };
156
+ function m(e = {}) {
157
+ const { minSupportedVersions: t, consumer: s } = e, r = (t == null ? void 0 : t.packages) ?? {}, n = e.sdkVersion ?? O, E = { [C]: n };
158
158
  s != null && s.name && s.version != null && (E[s.name] = s.version);
159
- for (const [D, u] of Object.entries(r)) {
160
- const i = E[D];
161
- if (i != null && H(i, u)) return !1;
159
+ for (const [D, i] of Object.entries(r)) {
160
+ const u = E[D];
161
+ if (u != null && H(u, i)) return !1;
162
162
  }
163
163
  return !0;
164
164
  }
165
165
  class N {
166
166
  // Takes a prebuilt ApiClient (DI). Use `WithdrawalSDK.create()` for the
167
167
  // common case where you just have config.
168
- constructor(e) {
169
- this.api = e;
168
+ constructor(t) {
169
+ this.api = t;
170
170
  }
171
- static create(e = {}) {
172
- return new N(new S(e));
171
+ static create(t = {}) {
172
+ return new N(new S(t));
173
173
  }
174
- isSupported(e) {
174
+ isSupported(t) {
175
175
  return m({
176
- minSupportedVersions: e,
176
+ minSupportedVersions: t,
177
177
  consumer: this.api.consumer
178
178
  });
179
179
  }
180
- async getWithdrawalConfig(e, s) {
180
+ async getWithdrawalConfig(t, s) {
181
181
  return this.api.get(
182
- `/withdrawal-configs/${e}/public`,
182
+ `/withdrawal-configs/${t}/public`,
183
183
  s
184
184
  );
185
185
  }
186
- async getRoutes(e, s) {
187
- return this.api.get(`/withdraw/${e}/routes`, s);
186
+ async getRoutes(t, s) {
187
+ return this.api.get(`/withdraw/${t}/routes`, s);
188
188
  }
189
- async getBalance(e, s, r) {
189
+ async getGeoblockIpAllowed(t) {
190
+ return this.api.get("/geoblock/ip-allowed", t);
191
+ }
192
+ async getBalance(t, s, r) {
190
193
  return this.api.get(
191
- `/withdraw/${e}/balances?walletAddress=${encodeURIComponent(
194
+ `/withdraw/${t}/balances?walletAddress=${encodeURIComponent(
192
195
  s
193
196
  )}`,
194
197
  r
@@ -201,17 +204,17 @@ class N {
201
204
  * `withdrawalConfigId` goes in the path; the remaining fields are the
202
205
  * request body matching the backend `PreparedWithdrawalDto`.
203
206
  */
204
- async createWithdrawalDetail(e, s) {
205
- const { withdrawalConfigId: r, ...n } = e;
207
+ async createWithdrawalDetail(t, s) {
208
+ const { withdrawalConfigId: r, ...n } = t;
206
209
  return this.api.post(
207
210
  `/withdraw/${r}/prepare`,
208
211
  n,
209
212
  s
210
213
  );
211
214
  }
212
- async updateWithdrawalDetail(e, s, r) {
215
+ async updateWithdrawalDetail(t, s, r) {
213
216
  return this.api.patch(
214
- `/withdraw-details/${e}`,
217
+ `/withdraw-details/${t}`,
215
218
  s,
216
219
  r
217
220
  );
@@ -220,16 +223,16 @@ class N {
220
223
  * Body matches the backend `SubmitWithdrawalDto`:
221
224
  * `{ token, signedTx }`, where `signedTx` is the bare signed payload string.
222
225
  */
223
- async submitWithdrawal(e, s) {
224
- const { withdrawalDetailId: r, ...n } = e;
226
+ async submitWithdrawal(t, s) {
227
+ const { withdrawalDetailId: r, ...n } = t;
225
228
  return this.api.post(
226
229
  `/withdraw/${r}/submit`,
227
230
  n,
228
231
  s
229
232
  );
230
233
  }
231
- async getWithdrawalDetail(e, s) {
232
- return this.api.get(`/withdraw-details/${e}`, s);
234
+ async getWithdrawalDetail(t, s) {
235
+ return this.api.get(`/withdraw-details/${t}`, s);
233
236
  }
234
237
  }
235
238
  export {
@@ -242,16 +245,16 @@ export {
242
245
  C as SDK_PACKAGE_NAME,
243
246
  O as SDK_VERSION,
244
247
  V as SignedTransactionKind,
245
- F as TERMINAL_STATES,
248
+ b as TERMINAL_STATES,
246
249
  v as ThemeType,
247
- p as WithdrawalApiError,
250
+ L as WithdrawalApiError,
248
251
  R as WithdrawalErrorCode,
249
252
  G as WithdrawalFeature,
250
253
  N as WithdrawalSDK,
251
- _ as WithdrawalState,
254
+ T as WithdrawalState,
252
255
  f as decodeJwt,
253
256
  H as isBelow,
254
- K as isQuoteValid,
257
+ F as isQuoteValid,
255
258
  m as isSupported,
256
259
  W as toWithdrawalErrorCode
257
260
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@heliofi/withdraw-core",
3
3
  "private": false,
4
- "version": "1.5.7",
4
+ "version": "1.6.1",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",