From 412840fedcf3f5cf49f53b2184185396c076f7ef Mon Sep 17 00:00:00 2001 From: brandonrobinson5060 Date: Mon, 12 Sep 2022 12:35:53 -0400 Subject: [PATCH] Adding initiateExchange EP to client lib --- src/lib.js | 5 +++++ submodules/client.js | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/lib.js b/src/lib.js index 9eb2898..673edda 100644 --- a/src/lib.js +++ b/src/lib.js @@ -24,6 +24,10 @@ async function initiateWithdrawal(withdrawal) { return await instance.initiateWithdrawal(withdrawal); } +async function initiateExchange(exchange) { + return await instance.initiateExchange(exchange); +} + async function withdrawalInfo(id) { return await instance.withdrawalInfo(id); } @@ -82,6 +86,7 @@ module.exports = { chargeInfo: chargeInfo, listCharges: listCharges, initiateWithdrawal: initiateWithdrawal, + initiateExchange: initiateExchange, initiateWithdrawalAsync: initiateWithdrawalAsync, withdrawalInfo: withdrawalInfo, listWithdrawals: listWithdrawals, diff --git a/submodules/client.js b/submodules/client.js index 4f8b6b9..e09e813 100644 --- a/submodules/client.js +++ b/submodules/client.js @@ -57,6 +57,22 @@ class OpenNodeClient { } } + async initiateExchange(exchange) { + try { + let new_instance = axios.create(); + new_instance.defaults.baseURL = (this.env === 'live') ? 'https://api.opennode.com/v2' : 'https://dev-api.opennode.com/v2'; + new_instance.defaults.timeout = 15000; + new_instance.defaults.headers = { 'Authorization': this.api_key, 'user_agent': version }; + + const response = await new_instance.post('/exchanges', exchange); + return response.data; + + } + catch (error) { + throw Exception(error.response.status, error.response.statusText, error.response.data.message); + } + } + async withdrawalInfo(id) { try {