@bloque/sdk-swap 0.0.36 → 0.0.38

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.
@@ -128,6 +128,10 @@ export interface CreateBankTransferOrderParams {
128
128
  * @example "banco_bbva_colombia"
129
129
  */
130
130
  toMedium: SupportedBank;
131
+ /**
132
+ * Optional webhook URL for order status notifications
133
+ */
134
+ webhookUrl?: string;
131
135
  /**
132
136
  * Source amount as bigint string (required if type is 'src')
133
137
  * @example "100000000"
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__,{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,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 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,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,...e.args.userType&&{user_type:e.args.userType},...e.args.customerEmail&&{customer_email:e.args.customerEmail},...e.args.userLegalIdType&&{user_legal_id_type:e.args.userLegalIdType},...e.args.userLegalId&&{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;constructor(e){super(e),this.pse=new PseClient(this.httpClient),this.bankTransfer=new BankTransferClient(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.PseClient=__webpack_exports__.PseClient,exports.SwapClient=__webpack_exports__.SwapClient,__webpack_exports__)-1===["BankTransferClient","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__,{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 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,...e.args.userType&&{user_type:e.args.userType},...e.args.customerEmail&&{customer_email:e.args.customerEmail},...e.args.userLegalIdType&&{user_legal_id_type:e.args.userLegalIdType},...e.args.userLegalId&&{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;constructor(e){super(e),this.pse=new PseClient(this.httpClient),this.bankTransfer=new BankTransferClient(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.PseClient=__webpack_exports__.PseClient,exports.SwapClient=__webpack_exports__.SwapClient,__webpack_exports__)-1===["BankTransferClient","PseClient","SwapClient"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
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",s={taker_urn:a,type:r,rate_sig:t.rateSig,from_medium:"kusama",to_medium:t.toMedium,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,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 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,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,...t.args.userType&&{user_type:t.args.userType},...t.args.customerEmail&&{customer_email:t.args.customerEmail},...t.args.userLegalIdType&&{user_legal_id_type:t.args.userLegalIdType},...t.args.userLegalId&&{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 s extends t{pse;bankTransfer;constructor(t){super(t),this.pse=new r(this.httpClient),this.bankTransfer=new a(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))}}_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 PseClient,s as SwapClient};
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,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 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,...t.args.userType&&{user_type:t.args.userType},...t.args.customerEmail&&{customer_email:t.args.customerEmail},...t.args.userLegalIdType&&{user_legal_id_type:t.args.userLegalIdType},...t.args.userLegalId&&{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 s extends t{pse;bankTransfer;constructor(t){super(t),this.pse=new r(this.httpClient),this.bankTransfer=new a(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))}}_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 PseClient,s as SwapClient};
@@ -104,6 +104,7 @@ export interface CreateOrderInput {
104
104
  rate_sig: string;
105
105
  from_medium: string;
106
106
  to_medium: string;
107
+ webhook_url?: string;
107
108
  amount_src?: string;
108
109
  amount_dst?: string;
109
110
  deposit_information: DepositInformation | BancolombiaDepositInformation;
@@ -77,6 +77,10 @@ export interface CreatePseOrderParams {
77
77
  * Destination medium (e.g., 'kreivo', 'bloque')
78
78
  */
79
79
  toMedium: string;
80
+ /**
81
+ * Optional webhook URL for order status notifications
82
+ */
83
+ webhookUrl?: string;
80
84
  /**
81
85
  * Source amount as bigint string (required if type is 'src')
82
86
  * @example "1000000" represents 10000.00 for COP/2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bloque/sdk-swap",
3
- "version": "0.0.36",
3
+ "version": "0.0.38",
4
4
  "type": "module",
5
5
  "keywords": [
6
6
  "bloque",
@@ -34,6 +34,6 @@
34
34
  "node": ">=22"
35
35
  },
36
36
  "dependencies": {
37
- "@bloque/sdk-core": "0.0.36"
37
+ "@bloque/sdk-core": "0.0.38"
38
38
  }
39
39
  }