@bloque/sdk-swap 0.0.49 → 0.1.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/bank-transfer/types.d.ts +6 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/wire-types.d.ts +10 -0
- package/dist/swap-client.d.ts +24 -1
- package/dist/types.d.ts +31 -0
- package/package.json +1 -1
|
@@ -199,6 +199,12 @@ export interface SwapOrder {
|
|
|
199
199
|
status: string;
|
|
200
200
|
/** Additional metadata */
|
|
201
201
|
metadata?: Record<string, unknown>;
|
|
202
|
+
/** Webhook URL for status notifications */
|
|
203
|
+
webhookUrl?: string;
|
|
204
|
+
/** Failure reason (when status is 'failed') */
|
|
205
|
+
failureReason?: string;
|
|
206
|
+
/** Failure details (when status is 'failed') */
|
|
207
|
+
failureDetails?: Record<string, unknown>;
|
|
202
208
|
/** Creation timestamp */
|
|
203
209
|
createdAt: string;
|
|
204
210
|
/** Last update timestamp */
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="u"<typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{BrebClient:()=>BrebClient,SwapClient:()=>SwapClient,BankTransferClient:()=>BankTransferClient,PseClient:()=>PseClient});const sdk_core_namespaceObject=require("@bloque/sdk-core");class BankTransferClient extends sdk_core_namespaceObject.BaseClient{async create(e){let t=this.httpClient.urn;if(!t)throw new sdk_core_namespaceObject.BloqueConfigError("User URN is not available. Please connect to a session first.");let a=e.type??"src",r={taker_urn:t,type:a,rate_sig:e.rateSig,from_medium:"kusama",to_medium:e.toMedium,webhook_url:e.webhookUrl,deposit_information:this._mapDepositInformationToWire(e.depositInformation)};"src"===a&&e.amountSrc?r.amount_src=e.amountSrc:"dst"===a&&e.amountDst&&(r.amount_dst=e.amountDst),e.args&&(r.args={account_urn:e.args.sourceAccountUrn}),e.nodeId&&(r.node_id=e.nodeId),e.metadata&&(r.metadata=e.metadata);let s=await this.httpClient.request({method:"PUT",path:"/api/order",body:r});return{order:this._mapOrderResponse(s.result.order),execution:s.result.execution?this._mapExecutionResult(s.result.execution):void 0,requestId:s.req_id}}_mapDepositInformationToWire(e){return{bank_account_type:e.bankAccountType,bank_account_number:e.bankAccountNumber,bank_account_holder_name:e.bankAccountHolderName,bank_account_holder_identification_type:e.bankAccountHolderIdentificationType,bank_account_holder_identification_value:e.bankAccountHolderIdentificationValue}}_mapOrderResponse(e){return{id:e.id,orderSig:e.order_sig,rateSig:e.rate_sig,swapSig:e.swap_sig,taker:e.taker,maker:e.maker,fromAsset:e.from_asset,toAsset:e.to_asset,fromMedium:e.from_medium,toMedium:e.to_medium,fromAmount:e.from_amount,toAmount:e.to_amount,at:e.at,graphId:e.graph_id,status:e.status,metadata:e.metadata,createdAt:e.created_at,updatedAt:e.updated_at}}_mapExecutionResult(e){return{nodeId:e.node_id,result:{status:e.result.status,name:e.result.name,description:e.result.description,how:e.result.how,callbackToken:e.result.callback_token}}}}class BrebClient extends sdk_core_namespaceObject.BaseClient{async create(e){let t=this.httpClient.urn;if(!t)throw new sdk_core_namespaceObject.BloqueConfigError("User URN is not available. Please connect to a session first.");let a=e.type??"src",r={taker_urn:t,type:a,rate_sig:e.rateSig,from_medium:"kusama",to_medium:"breb",webhook_url:e.webhookUrl,deposit_information:this._mapDepositInformationToWire(e.depositInformation),args:{account_urn:e.args.sourceAccountUrn}};"src"===a&&e.amountSrc?r.amount_src=e.amountSrc:"dst"===a&&e.amountDst&&(r.amount_dst=e.amountDst),e.nodeId&&(r.node_id=e.nodeId),e.metadata&&(r.metadata=e.metadata);let s=await this.httpClient.request({method:"PUT",path:"/api/order",body:r});return{order:this._mapOrderResponse(s.result.order),execution:s.result.execution?this._mapExecutionResult(s.result.execution):void 0,requestId:s.req_id}}_mapDepositInformationToWire(e){return{resolution_id:e.resolutionId}}_mapOrderResponse(e){return{id:e.id,orderSig:e.order_sig,rateSig:e.rate_sig,swapSig:e.swap_sig,taker:e.taker,maker:e.maker,fromAsset:e.from_asset,toAsset:e.to_asset,fromMedium:e.from_medium,toMedium:e.to_medium,fromAmount:e.from_amount,toAmount:e.to_amount,at:e.at,graphId:e.graph_id,status:e.status,metadata:e.metadata,createdAt:e.created_at,updatedAt:e.updated_at}}_mapExecutionResult(e){return{nodeId:e.node_id,result:{status:e.result.status,name:e.result.name,description:e.result.description,how:e.result.how,callbackToken:e.result.callback_token}}}}class PseClient extends sdk_core_namespaceObject.BaseClient{async banks(){return{banks:(await this.httpClient.request({method:"GET",path:"/api/utils/pse/banks"})).banks.map(e=>this._mapBankResponse(e))}}async create(e){let t=this.httpClient.urn;if(!t)throw new sdk_core_namespaceObject.BloqueConfigError("User URN is not available. Please connect to a session first.");let a=e.type??"src",r={taker_urn:t,type:a,rate_sig:e.rateSig,from_medium:"pse",to_medium:e.toMedium,webhook_url:e.webhookUrl,deposit_information:this._mapDepositInformationToWire(e.depositInformation)};"src"===a&&e.amountSrc?r.amount_src=e.amountSrc:"dst"===a&&e.amountDst&&(r.amount_dst=e.amountDst),e.args&&(r.args={bank_code:e.args.bankCode,user_type:e.args.userType,customer_email:e.args.customerEmail,user_legal_id_type:e.args.userLegalIdType,user_legal_id:e.args.userLegalId,...e.args.customerData&&{customer_data:{full_name:e.args.customerData.fullName,phone_number:e.args.customerData.phoneNumber}}}),e.nodeId&&(r.node_id=e.nodeId),e.metadata&&(r.metadata=e.metadata);let s=await this.httpClient.request({method:"PUT",path:"/api/order",body:r});return{order:this._mapOrderResponse(s.result.order),execution:s.result.execution?this._mapExecutionResult(s.result.execution):void 0,requestId:s.req_id}}_mapBankResponse(e){return{code:e.financial_institution_code,name:e.financial_institution_name}}_mapDepositInformationToWire(e){return{urn:e.urn}}_mapOrderResponse(e){return{id:e.id,orderSig:e.order_sig,rateSig:e.rate_sig,swapSig:e.swap_sig,taker:e.taker,maker:e.maker,fromAsset:e.from_asset,toAsset:e.to_asset,fromMedium:e.from_medium,toMedium:e.to_medium,fromAmount:e.from_amount,toAmount:e.to_amount,at:e.at,graphId:e.graph_id,status:e.status,metadata:e.metadata,createdAt:e.created_at,updatedAt:e.updated_at}}_mapExecutionResult(e){return{nodeId:e.node_id,result:{status:e.result.status,name:e.result.name,description:e.result.description,how:e.result.how,callbackToken:e.result.callback_token}}}}class SwapClient extends sdk_core_namespaceObject.BaseClient{pse;bankTransfer;breb;constructor(e){super(e),this.pse=new PseClient(this.httpClient),this.bankTransfer=new BankTransferClient(this.httpClient),this.breb=new BrebClient(this.httpClient)}async findRates(e){let t=new URLSearchParams,a=JSON.stringify([e.fromAsset,e.toAsset]);t.append("edge",a),t.append("from_medium",JSON.stringify(e.fromMediums)),t.append("to_medium",JSON.stringify(e.toMediums)),void 0!==e.amountSrc&&t.append("amount_src",e.amountSrc),void 0!==e.amountDst&&t.append("amount_dst",e.amountDst),e.sort&&t.append("sort",e.sort),e.sortBy&&t.append("sort_by",e.sortBy);let r=t.toString(),s=`/api/rates?${r}`;return{rates:(await this.httpClient.request({method:"GET",path:s})).rates.map(e=>this._mapRateResponse(e))}}_mapRateResponse(e){return{id:e.id,sig:e.sig,swapSig:e.swap_sig,maker:e.maker,edge:e.edge,fee:{at:e.fee.at,value:e.fee.value,formula:e.fee.formula,components:e.fee.components.map(e=>({at:e.at,name:e.name,type:e.type,value:e.value,percentage:e.percentage,pair:e.pair,amount:e.amount}))},at:e.at,until:e.until,fromMediums:e.from_medium,toMediums:e.to_medium,rate:e.rate,ratio:e.ratio,fromLimits:e.from_limits,toLimits:e.to_limits,createdAt:e.created_at,updatedAt:e.updated_at}}}for(var __rspack_i in exports.BankTransferClient=__webpack_exports__.BankTransferClient,exports.BrebClient=__webpack_exports__.BrebClient,exports.PseClient=__webpack_exports__.PseClient,exports.SwapClient=__webpack_exports__.SwapClient,__webpack_exports__)-1===["BankTransferClient","BrebClient","PseClient","SwapClient"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{BrebClient:()=>BrebClient,SwapClient:()=>SwapClient,BankTransferClient:()=>BankTransferClient,PseClient:()=>PseClient});const sdk_core_namespaceObject=require("@bloque/sdk-core");class BankTransferClient extends sdk_core_namespaceObject.BaseClient{async create(e){let t=this.httpClient.urn;if(!t)throw new sdk_core_namespaceObject.BloqueConfigError("User URN is not available. Please connect to a session first.");let a=e.type??"src",r={taker_urn:t,type:a,rate_sig:e.rateSig,from_medium:"kusama",to_medium:e.toMedium,webhook_url:e.webhookUrl,deposit_information:this._mapDepositInformationToWire(e.depositInformation)};"src"===a&&e.amountSrc?r.amount_src=e.amountSrc:"dst"===a&&e.amountDst&&(r.amount_dst=e.amountDst),e.args&&(r.args={account_urn:e.args.sourceAccountUrn}),e.nodeId&&(r.node_id=e.nodeId),e.metadata&&(r.metadata=e.metadata);let s=await this.httpClient.request({method:"PUT",path:"/api/order",body:r});return{order:this._mapOrderResponse(s.result.order),execution:s.result.execution?this._mapExecutionResult(s.result.execution):void 0,requestId:s.req_id}}_mapDepositInformationToWire(e){return{bank_account_type:e.bankAccountType,bank_account_number:e.bankAccountNumber,bank_account_holder_name:e.bankAccountHolderName,bank_account_holder_identification_type:e.bankAccountHolderIdentificationType,bank_account_holder_identification_value:e.bankAccountHolderIdentificationValue}}_mapOrderResponse(e){return{id:e.id,orderSig:e.order_sig,rateSig:e.rate_sig,swapSig:e.swap_sig,taker:e.taker,maker:e.maker,fromAsset:e.from_asset,toAsset:e.to_asset,fromMedium:e.from_medium,toMedium:e.to_medium,fromAmount:e.from_amount,toAmount:e.to_amount,at:e.at,graphId:e.graph_id,status:e.status,metadata:e.metadata,webhookUrl:e.webhook_url,failureReason:e.failure_reason,failureDetails:e.failure_details,createdAt:e.created_at,updatedAt:e.updated_at}}_mapExecutionResult(e){return{nodeId:e.node_id,result:{status:e.result.status,name:e.result.name,description:e.result.description,how:e.result.how,callbackToken:e.result.callback_token}}}}class BrebClient extends sdk_core_namespaceObject.BaseClient{async create(e){let t=this.httpClient.urn;if(!t)throw new sdk_core_namespaceObject.BloqueConfigError("User URN is not available. Please connect to a session first.");let a=e.type??"src",r={taker_urn:t,type:a,rate_sig:e.rateSig,from_medium:"kusama",to_medium:"breb",webhook_url:e.webhookUrl,deposit_information:this._mapDepositInformationToWire(e.depositInformation),args:{account_urn:e.args.sourceAccountUrn}};"src"===a&&e.amountSrc?r.amount_src=e.amountSrc:"dst"===a&&e.amountDst&&(r.amount_dst=e.amountDst),e.nodeId&&(r.node_id=e.nodeId),e.metadata&&(r.metadata=e.metadata);let s=await this.httpClient.request({method:"PUT",path:"/api/order",body:r});return{order:this._mapOrderResponse(s.result.order),execution:s.result.execution?this._mapExecutionResult(s.result.execution):void 0,requestId:s.req_id}}_mapDepositInformationToWire(e){return{resolution_id:e.resolutionId}}_mapOrderResponse(e){return{id:e.id,orderSig:e.order_sig,rateSig:e.rate_sig,swapSig:e.swap_sig,taker:e.taker,maker:e.maker,fromAsset:e.from_asset,toAsset:e.to_asset,fromMedium:e.from_medium,toMedium:e.to_medium,fromAmount:e.from_amount,toAmount:e.to_amount,at:e.at,graphId:e.graph_id,status:e.status,metadata:e.metadata,createdAt:e.created_at,updatedAt:e.updated_at}}_mapExecutionResult(e){return{nodeId:e.node_id,result:{status:e.result.status,name:e.result.name,description:e.result.description,how:e.result.how,callbackToken:e.result.callback_token}}}}class PseClient extends sdk_core_namespaceObject.BaseClient{async banks(){return{banks:(await this.httpClient.request({method:"GET",path:"/api/utils/pse/banks"})).banks.map(e=>this._mapBankResponse(e))}}async create(e){let t=this.httpClient.urn;if(!t)throw new sdk_core_namespaceObject.BloqueConfigError("User URN is not available. Please connect to a session first.");let a=e.type??"src",r={taker_urn:t,type:a,rate_sig:e.rateSig,from_medium:"pse",to_medium:e.toMedium,webhook_url:e.webhookUrl,deposit_information:this._mapDepositInformationToWire(e.depositInformation)};"src"===a&&e.amountSrc?r.amount_src=e.amountSrc:"dst"===a&&e.amountDst&&(r.amount_dst=e.amountDst),e.args&&(r.args={bank_code:e.args.bankCode,user_type:e.args.userType,customer_email:e.args.customerEmail,user_legal_id_type:e.args.userLegalIdType,user_legal_id:e.args.userLegalId,...e.args.customerData&&{customer_data:{full_name:e.args.customerData.fullName,phone_number:e.args.customerData.phoneNumber}}}),e.nodeId&&(r.node_id=e.nodeId),e.metadata&&(r.metadata=e.metadata);let s=await this.httpClient.request({method:"PUT",path:"/api/order",body:r});return{order:this._mapOrderResponse(s.result.order),execution:s.result.execution?this._mapExecutionResult(s.result.execution):void 0,requestId:s.req_id}}_mapBankResponse(e){return{code:e.financial_institution_code,name:e.financial_institution_name}}_mapDepositInformationToWire(e){return{urn:e.urn}}_mapOrderResponse(e){return{id:e.id,orderSig:e.order_sig,rateSig:e.rate_sig,swapSig:e.swap_sig,taker:e.taker,maker:e.maker,fromAsset:e.from_asset,toAsset:e.to_asset,fromMedium:e.from_medium,toMedium:e.to_medium,fromAmount:e.from_amount,toAmount:e.to_amount,at:e.at,graphId:e.graph_id,status:e.status,metadata:e.metadata,createdAt:e.created_at,updatedAt:e.updated_at}}_mapExecutionResult(e){return{nodeId:e.node_id,result:{status:e.result.status,name:e.result.name,description:e.result.description,how:e.result.how,callbackToken:e.result.callback_token}}}}class SwapClient extends sdk_core_namespaceObject.BaseClient{pse;bankTransfer;breb;constructor(e){super(e),this.pse=new PseClient(this.httpClient),this.bankTransfer=new BankTransferClient(this.httpClient),this.breb=new BrebClient(this.httpClient)}async findRates(e){let t=new URLSearchParams,a=JSON.stringify([e.fromAsset,e.toAsset]);t.append("edge",a),t.append("from_medium",JSON.stringify(e.fromMediums)),t.append("to_medium",JSON.stringify(e.toMediums)),void 0!==e.amountSrc&&t.append("amount_src",e.amountSrc),void 0!==e.amountDst&&t.append("amount_dst",e.amountDst),e.sort&&t.append("sort",e.sort),e.sortBy&&t.append("sort_by",e.sortBy);let r=t.toString(),s=`/api/rates?${r}`;return{rates:(await this.httpClient.request({method:"GET",path:s})).rates.map(e=>this._mapRateResponse(e))}}async listOrders(e={}){let t=this.httpClient.urn;if(!t)throw new sdk_core_namespaceObject.BloqueConfigError("User URN is not available. Please connect to a session first.");let a=new URLSearchParams;e.orderSig&&a.set("order_sig",e.orderSig),e.swapSig&&a.set("swap_sig",e.swapSig),e.rateSig&&a.set("rate_sig",e.rateSig),e.makerUrn&&a.set("maker_urn",e.makerUrn),e.status&&a.set("status",e.status),e.graphId&&a.set("graph_id",e.graphId),void 0!==e.after&&a.set("after",e.after.toString()),void 0!==e.before&&a.set("before",e.before.toString());let r=a.toString(),s=`/api/order/taker/${t}${r?`?${r}`:""}`;return{orders:(await this.httpClient.request({method:"GET",path:s})).orders.map(e=>this._mapOrderResponse(e))}}_mapOrderResponse(e){return{id:e.id,orderSig:e.order_sig,rateSig:e.rate_sig,swapSig:e.swap_sig,taker:e.taker,maker:e.maker,fromAsset:e.from_asset,toAsset:e.to_asset,fromMedium:e.from_medium,toMedium:e.to_medium,fromAmount:e.from_amount,toAmount:e.to_amount,at:e.at,graphId:e.graph_id,status:e.status,metadata:e.metadata,webhookUrl:e.webhook_url,failureReason:e.failure_reason,failureDetails:e.failure_details,createdAt:e.created_at,updatedAt:e.updated_at}}_mapRateResponse(e){return{id:e.id,sig:e.sig,swapSig:e.swap_sig,maker:e.maker,edge:e.edge,fee:{at:e.fee.at,value:e.fee.value,formula:e.fee.formula,components:e.fee.components.map(e=>({at:e.at,name:e.name,type:e.type,value:e.value,percentage:e.percentage,pair:e.pair,amount:e.amount}))},at:e.at,until:e.until,fromMediums:e.from_medium,toMediums:e.to_medium,rate:e.rate,ratio:e.ratio,fromLimits:e.from_limits,toLimits:e.to_limits,createdAt:e.created_at,updatedAt:e.updated_at}}}for(var __rspack_i in exports.BankTransferClient=__webpack_exports__.BankTransferClient,exports.BrebClient=__webpack_exports__.BrebClient,exports.PseClient=__webpack_exports__.PseClient,exports.SwapClient=__webpack_exports__.SwapClient,__webpack_exports__)-1===["BankTransferClient","BrebClient","PseClient","SwapClient"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/index.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ export type { BrebDepositInformation, BrebSwapArgs, CreateBrebOrderParams, Creat
|
|
|
5
5
|
export { PseClient } from './pse/pse-client';
|
|
6
6
|
export type { Bank, CreatePseOrderParams, CreatePseOrderResult, DepositInformation, ListBanksResult, PseCustomerData, PsePaymentArgs, } from './pse/types';
|
|
7
7
|
export { SwapClient } from './swap-client';
|
|
8
|
-
export type { Fee, FeeComponent, FeeComponentType, FindRatesParams, FindRatesResult, RateLimits, RateTuple, SwapRate, } from './types';
|
|
8
|
+
export type { Fee, FeeComponent, FeeComponentType, FindRatesParams, FindRatesResult, ListOrdersParams, ListOrdersResult, OrderStatus, RateLimits, RateTuple, SwapRate, } from './types';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BaseClient as t,BloqueConfigError as e}from"@bloque/sdk-core";class a extends t{async create(t){let a=this.httpClient.urn;if(!a)throw new e("User URN is not available. Please connect to a session first.");let r=t.type??"src",
|
|
1
|
+
import{BaseClient as t,BloqueConfigError as e}from"@bloque/sdk-core";class a extends t{async create(t){let a=this.httpClient.urn;if(!a)throw new e("User URN is not available. Please connect to a session first.");let r=t.type??"src",s={taker_urn:a,type:r,rate_sig:t.rateSig,from_medium:"kusama",to_medium:t.toMedium,webhook_url:t.webhookUrl,deposit_information:this._mapDepositInformationToWire(t.depositInformation)};"src"===r&&t.amountSrc?s.amount_src=t.amountSrc:"dst"===r&&t.amountDst&&(s.amount_dst=t.amountDst),t.args&&(s.args={account_urn:t.args.sourceAccountUrn}),t.nodeId&&(s.node_id=t.nodeId),t.metadata&&(s.metadata=t.metadata);let o=await this.httpClient.request({method:"PUT",path:"/api/order",body:s});return{order:this._mapOrderResponse(o.result.order),execution:o.result.execution?this._mapExecutionResult(o.result.execution):void 0,requestId:o.req_id}}_mapDepositInformationToWire(t){return{bank_account_type:t.bankAccountType,bank_account_number:t.bankAccountNumber,bank_account_holder_name:t.bankAccountHolderName,bank_account_holder_identification_type:t.bankAccountHolderIdentificationType,bank_account_holder_identification_value:t.bankAccountHolderIdentificationValue}}_mapOrderResponse(t){return{id:t.id,orderSig:t.order_sig,rateSig:t.rate_sig,swapSig:t.swap_sig,taker:t.taker,maker:t.maker,fromAsset:t.from_asset,toAsset:t.to_asset,fromMedium:t.from_medium,toMedium:t.to_medium,fromAmount:t.from_amount,toAmount:t.to_amount,at:t.at,graphId:t.graph_id,status:t.status,metadata:t.metadata,webhookUrl:t.webhook_url,failureReason:t.failure_reason,failureDetails:t.failure_details,createdAt:t.created_at,updatedAt:t.updated_at}}_mapExecutionResult(t){return{nodeId:t.node_id,result:{status:t.result.status,name:t.result.name,description:t.result.description,how:t.result.how,callbackToken:t.result.callback_token}}}}class r extends t{async create(t){let a=this.httpClient.urn;if(!a)throw new e("User URN is not available. Please connect to a session first.");let r=t.type??"src",s={taker_urn:a,type:r,rate_sig:t.rateSig,from_medium:"kusama",to_medium:"breb",webhook_url:t.webhookUrl,deposit_information:this._mapDepositInformationToWire(t.depositInformation),args:{account_urn:t.args.sourceAccountUrn}};"src"===r&&t.amountSrc?s.amount_src=t.amountSrc:"dst"===r&&t.amountDst&&(s.amount_dst=t.amountDst),t.nodeId&&(s.node_id=t.nodeId),t.metadata&&(s.metadata=t.metadata);let o=await this.httpClient.request({method:"PUT",path:"/api/order",body:s});return{order:this._mapOrderResponse(o.result.order),execution:o.result.execution?this._mapExecutionResult(o.result.execution):void 0,requestId:o.req_id}}_mapDepositInformationToWire(t){return{resolution_id:t.resolutionId}}_mapOrderResponse(t){return{id:t.id,orderSig:t.order_sig,rateSig:t.rate_sig,swapSig:t.swap_sig,taker:t.taker,maker:t.maker,fromAsset:t.from_asset,toAsset:t.to_asset,fromMedium:t.from_medium,toMedium:t.to_medium,fromAmount:t.from_amount,toAmount:t.to_amount,at:t.at,graphId:t.graph_id,status:t.status,metadata:t.metadata,createdAt:t.created_at,updatedAt:t.updated_at}}_mapExecutionResult(t){return{nodeId:t.node_id,result:{status:t.result.status,name:t.result.name,description:t.result.description,how:t.result.how,callbackToken:t.result.callback_token}}}}class s extends t{async banks(){return{banks:(await this.httpClient.request({method:"GET",path:"/api/utils/pse/banks"})).banks.map(t=>this._mapBankResponse(t))}}async create(t){let a=this.httpClient.urn;if(!a)throw new e("User URN is not available. Please connect to a session first.");let r=t.type??"src",s={taker_urn:a,type:r,rate_sig:t.rateSig,from_medium:"pse",to_medium:t.toMedium,webhook_url:t.webhookUrl,deposit_information:this._mapDepositInformationToWire(t.depositInformation)};"src"===r&&t.amountSrc?s.amount_src=t.amountSrc:"dst"===r&&t.amountDst&&(s.amount_dst=t.amountDst),t.args&&(s.args={bank_code:t.args.bankCode,user_type:t.args.userType,customer_email:t.args.customerEmail,user_legal_id_type:t.args.userLegalIdType,user_legal_id:t.args.userLegalId,...t.args.customerData&&{customer_data:{full_name:t.args.customerData.fullName,phone_number:t.args.customerData.phoneNumber}}}),t.nodeId&&(s.node_id=t.nodeId),t.metadata&&(s.metadata=t.metadata);let o=await this.httpClient.request({method:"PUT",path:"/api/order",body:s});return{order:this._mapOrderResponse(o.result.order),execution:o.result.execution?this._mapExecutionResult(o.result.execution):void 0,requestId:o.req_id}}_mapBankResponse(t){return{code:t.financial_institution_code,name:t.financial_institution_name}}_mapDepositInformationToWire(t){return{urn:t.urn}}_mapOrderResponse(t){return{id:t.id,orderSig:t.order_sig,rateSig:t.rate_sig,swapSig:t.swap_sig,taker:t.taker,maker:t.maker,fromAsset:t.from_asset,toAsset:t.to_asset,fromMedium:t.from_medium,toMedium:t.to_medium,fromAmount:t.from_amount,toAmount:t.to_amount,at:t.at,graphId:t.graph_id,status:t.status,metadata:t.metadata,createdAt:t.created_at,updatedAt:t.updated_at}}_mapExecutionResult(t){return{nodeId:t.node_id,result:{status:t.result.status,name:t.result.name,description:t.result.description,how:t.result.how,callbackToken:t.result.callback_token}}}}class o extends t{pse;bankTransfer;breb;constructor(t){super(t),this.pse=new s(this.httpClient),this.bankTransfer=new a(this.httpClient),this.breb=new r(this.httpClient)}async findRates(t){let e=new URLSearchParams,a=JSON.stringify([t.fromAsset,t.toAsset]);e.append("edge",a),e.append("from_medium",JSON.stringify(t.fromMediums)),e.append("to_medium",JSON.stringify(t.toMediums)),void 0!==t.amountSrc&&e.append("amount_src",t.amountSrc),void 0!==t.amountDst&&e.append("amount_dst",t.amountDst),t.sort&&e.append("sort",t.sort),t.sortBy&&e.append("sort_by",t.sortBy);let r=e.toString(),s=`/api/rates?${r}`;return{rates:(await this.httpClient.request({method:"GET",path:s})).rates.map(t=>this._mapRateResponse(t))}}async listOrders(t={}){let a=this.httpClient.urn;if(!a)throw new e("User URN is not available. Please connect to a session first.");let r=new URLSearchParams;t.orderSig&&r.set("order_sig",t.orderSig),t.swapSig&&r.set("swap_sig",t.swapSig),t.rateSig&&r.set("rate_sig",t.rateSig),t.makerUrn&&r.set("maker_urn",t.makerUrn),t.status&&r.set("status",t.status),t.graphId&&r.set("graph_id",t.graphId),void 0!==t.after&&r.set("after",t.after.toString()),void 0!==t.before&&r.set("before",t.before.toString());let s=r.toString(),o=`/api/order/taker/${a}${s?`?${s}`:""}`;return{orders:(await this.httpClient.request({method:"GET",path:o})).orders.map(t=>this._mapOrderResponse(t))}}_mapOrderResponse(t){return{id:t.id,orderSig:t.order_sig,rateSig:t.rate_sig,swapSig:t.swap_sig,taker:t.taker,maker:t.maker,fromAsset:t.from_asset,toAsset:t.to_asset,fromMedium:t.from_medium,toMedium:t.to_medium,fromAmount:t.from_amount,toAmount:t.to_amount,at:t.at,graphId:t.graph_id,status:t.status,metadata:t.metadata,webhookUrl:t.webhook_url,failureReason:t.failure_reason,failureDetails:t.failure_details,createdAt:t.created_at,updatedAt:t.updated_at}}_mapRateResponse(t){return{id:t.id,sig:t.sig,swapSig:t.swap_sig,maker:t.maker,edge:t.edge,fee:{at:t.fee.at,value:t.fee.value,formula:t.fee.formula,components:t.fee.components.map(t=>({at:t.at,name:t.name,type:t.type,value:t.value,percentage:t.percentage,pair:t.pair,amount:t.amount}))},at:t.at,until:t.until,fromMediums:t.from_medium,toMediums:t.to_medium,rate:t.rate,ratio:t.ratio,fromLimits:t.from_limits,toLimits:t.to_limits,createdAt:t.created_at,updatedAt:t.updated_at}}}export{a as BankTransferClient,r as BrebClient,s as PseClient,o as SwapClient};
|
|
@@ -135,9 +135,19 @@ export interface OrderResponse {
|
|
|
135
135
|
graph_id: string;
|
|
136
136
|
status: string;
|
|
137
137
|
metadata?: Record<string, unknown>;
|
|
138
|
+
webhook_url?: string;
|
|
139
|
+
failure_reason?: string;
|
|
140
|
+
failure_details?: Record<string, unknown>;
|
|
138
141
|
created_at: string;
|
|
139
142
|
updated_at: string;
|
|
140
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* @internal
|
|
146
|
+
* List orders by taker response
|
|
147
|
+
*/
|
|
148
|
+
export interface ListOrdersResponse {
|
|
149
|
+
orders: OrderResponse[];
|
|
150
|
+
}
|
|
141
151
|
/**
|
|
142
152
|
* @internal
|
|
143
153
|
* Execution redirect instructions
|
package/dist/swap-client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { BaseClient } from '@bloque/sdk-core';
|
|
|
3
3
|
import { BankTransferClient } from './bank-transfer/bank-transfer-client';
|
|
4
4
|
import { BrebClient } from './breb/breb-client';
|
|
5
5
|
import { PseClient } from './pse/pse-client';
|
|
6
|
-
import type { FindRatesParams, FindRatesResult } from './types';
|
|
6
|
+
import type { FindRatesParams, FindRatesResult, ListOrdersParams, ListOrdersResult } from './types';
|
|
7
7
|
/**
|
|
8
8
|
* Swap client for finding exchange rates
|
|
9
9
|
*
|
|
@@ -39,6 +39,29 @@ export declare class SwapClient extends BaseClient {
|
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
41
|
findRates(params: FindRatesParams): Promise<FindRatesResult>;
|
|
42
|
+
/**
|
|
43
|
+
* List orders for the authenticated user (taker)
|
|
44
|
+
*
|
|
45
|
+
* @param params - Optional filter parameters
|
|
46
|
+
* @returns Promise resolving to list of orders
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const { orders } = await bloque.swap.listOrders();
|
|
51
|
+
*
|
|
52
|
+
* // With filters
|
|
53
|
+
* const { orders } = await bloque.swap.listOrders({
|
|
54
|
+
* status: 'completed',
|
|
55
|
+
* after: Date.now() - 86400000,
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
listOrders(params?: ListOrdersParams): Promise<ListOrdersResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Maps API order response to SDK format
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
private _mapOrderResponse;
|
|
42
65
|
/**
|
|
43
66
|
* Maps API rate response to SDK format
|
|
44
67
|
* @internal
|
package/dist/types.d.ts
CHANGED
|
@@ -136,3 +136,34 @@ export interface FindRatesResult {
|
|
|
136
136
|
/** Array of available rates */
|
|
137
137
|
rates: SwapRate[];
|
|
138
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Order status
|
|
141
|
+
*/
|
|
142
|
+
export type OrderStatus = 'pending' | 'in_progress' | 'completed' | 'failed';
|
|
143
|
+
/**
|
|
144
|
+
* Parameters for listing orders by taker
|
|
145
|
+
*/
|
|
146
|
+
export interface ListOrdersParams {
|
|
147
|
+
/** Filter by order signature */
|
|
148
|
+
orderSig?: string;
|
|
149
|
+
/** Filter by swap signature */
|
|
150
|
+
swapSig?: string;
|
|
151
|
+
/** Filter by rate signature */
|
|
152
|
+
rateSig?: string;
|
|
153
|
+
/** Filter by maker URN */
|
|
154
|
+
makerUrn?: string;
|
|
155
|
+
/** Filter by order status */
|
|
156
|
+
status?: OrderStatus;
|
|
157
|
+
/** Filter by graph ID */
|
|
158
|
+
graphId?: string;
|
|
159
|
+
/** Filter orders after this timestamp */
|
|
160
|
+
after?: number;
|
|
161
|
+
/** Filter orders before this timestamp */
|
|
162
|
+
before?: number;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Result of listing orders
|
|
166
|
+
*/
|
|
167
|
+
export interface ListOrdersResult {
|
|
168
|
+
orders: import('./bank-transfer/types').SwapOrder[];
|
|
169
|
+
}
|