@cenoa/waas-js-sdk
Version:
Official Cenoa Wallet as a Service SDK
176 lines (175 loc) • 7.21 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AxiosHelper = void 0;
const axios_1 = __importDefault(require("axios"));
const utils_1 = require("../utils");
const AdministrativeApi = __importStar(require("./administrative"));
const UsersApi = __importStar(require("./users"));
const WalletApi = __importStar(require("./wallet"));
const TransfersApi = __importStar(require("./transfers"));
const DepositsApi = __importStar(require("./deposits"));
const WithdrawsApi = __importStar(require("./withdraws"));
const ReinvestApi = __importStar(require("./reinvests"));
const BASE_URLS = {
production: 'https://waas.api.cenoa.com/v1',
sandbox: 'https://sandbox.waas.api.cenoa.net/v1',
};
class AxiosHelper {
constructor(sdkVersion, sdkInitOptions) {
const { environment, axiosConfig, apiKey, apiSecret } = sdkInitOptions;
this.instance = axios_1.default.create(Object.assign({ baseURL: environment ? BASE_URLS[environment] : BASE_URLS.production }, axiosConfig));
this.sdkVersion = sdkVersion;
this.apiKey = apiKey;
this.apiSecret = apiSecret;
// Add an interceptor to modify the headers for all requests
this.instance.interceptors.request.use((config) => {
const { payload, signature } = (0, utils_1.generatePayloadAndSignature)(this.apiSecret, config.data);
config.headers['sdk-version'] = this.sdkVersion;
config.headers['apikey'] = this.apiKey;
config.headers['payload'] = payload;
config.headers['signature'] = signature;
return config;
});
}
registerWebhookURL(url) {
return Promise.all([
AdministrativeApi.registerDepositWebhookURL(this.instance, {
url: url,
active: true,
}),
AdministrativeApi.registerWithdrawWebhookURL(this.instance, {
url: url,
active: true,
}),
]);
}
userCreationIntention(payload) {
return UsersApi.userCreationIntention(this.instance, payload);
}
otpValidation(payload) {
return UsersApi.otpValidation(this.instance, payload);
}
createUser(payload) {
return UsersApi.createUser(this.instance, payload);
}
getUser(cenoaUserId) {
return UsersApi.getUser(this.instance, cenoaUserId);
}
getUsers(payload) {
return UsersApi.getUsers(this.instance, payload);
}
setUserWallet(payload) {
return WalletApi.setUserWallet(this.instance, payload);
}
getUserWallet(payload) {
return WalletApi.getUserWallet(this.instance, payload);
}
getUserWalletSecret(payload) {
return WalletApi.getUserWalletSecret(this.instance, payload);
}
setPartnerWallet(payload) {
return WalletApi.setPartnerWallet(this.instance, payload);
}
getPartnerWallet() {
return WalletApi.getPartnerWallet(this.instance);
}
getSignCredentialsForTransfer(payload) {
return TransfersApi.getSignCredentialsForTransfer(this.instance, payload);
}
transfer(payload) {
return TransfersApi.transfer(this.instance, payload);
}
getTransferStatus(payload) {
return TransfersApi.getTransferStatus(this.instance, payload);
}
getUserTransferTransactions(payload) {
return TransfersApi.getUserTransferTransactions(this.instance, payload);
}
initiateDepositTransaction(payload) {
return DepositsApi.getOnrampWebUIURL(this.instance, payload);
}
getSignCredentialsForUserDeposit(payload) {
return DepositsApi.getSignCredentialsForUserDeposit(this.instance, payload);
}
patchDepositWithSignature(payload) {
return DepositsApi.patchUserDeposit(this.instance, payload);
}
getUserDepositTransaction(payload) {
return DepositsApi.getUserDepositTransaction(this.instance, payload);
}
getUserDepositTransactions(payload) {
return DepositsApi.getUserDepositTransactions(this.instance, payload);
}
initiateWithdrawTransaction(payload) {
return WithdrawsApi.getOfframpWebUIURL(this.instance, payload);
}
getSignCredentialsForUserWithdraw(payload) {
return WithdrawsApi.getSignCredentialsForUserWithdraw(this.instance, payload);
}
patchWithdrawWithSignature(payload) {
return WithdrawsApi.patchWithdraw(this.instance, payload);
}
getUserWithdrawTransaction(payload) {
return WithdrawsApi.getUserWithdrawTransaction(this.instance, payload);
}
getUserWithdrawTransactions(payload) {
return WithdrawsApi.getUserWithdrawTransactions(this.instance, payload);
}
getSignCredentialsForPartnerDeposit(payload) {
return DepositsApi.getSignCredentialsForPartnerDeposit(this.instance, payload);
}
patchPartnerDeposit(payload) {
return DepositsApi.patchPartnerDeposit(this.instance, payload);
}
getPartnerDepositTransaction(payload) {
return DepositsApi.getPartnerDepositTransaction(this.instance, payload);
}
getSignCredentialsForPartnerWithdraw(payload) {
return WithdrawsApi.getSignCredentialsForPartnerWithdraw(this.instance, payload);
}
patchPartnerWithdraw(payload) {
return WithdrawsApi.patchPartnerWithdraw(this.instance, payload);
}
getPartnerWithdrawTransaction(payload) {
return WithdrawsApi.getPartnerWithdrawTransaction(this.instance, payload);
}
getPartnerDepositTransactions(payload) {
return DepositsApi.getPartnerDepositTransactions(this.instance, payload);
}
getPartnerWithdrawTransactions(payload) {
return WithdrawsApi.getPartnerWithdrawTransactions(this.instance, payload);
}
getSignCredentialsForReinvest() {
return ReinvestApi.getSignCredentialsForReinvest(this.instance);
}
patchReinvestWithSignature(payload) {
return ReinvestApi.patchReinvest(this.instance, payload);
}
}
exports.AxiosHelper = AxiosHelper;