@yoroi/exchange
Version:
The Exchange package of Yoroi SDK
77 lines (76 loc) • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.providers = exports.exchangeApiMaker = void 0;
var _types = require("@yoroi/types");
var _immer = require("immer");
var _api = require("./encryptus/api");
var _api2 = require("./banxa/api");
const initialDeps = (0, _immer.freeze)({
banxaApi: {
getBaseUrl: _api2.banxaApiGetBaseUrl
},
encryptusApi: {
getBaseUrl: _api.encryptusApiGetBaseUrl
}
}, true);
const exchangeApiMaker = function (_ref) {
let {
isProduction,
partner
} = _ref;
let {
banxaApi,
encryptusApi
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : initialDeps;
const getProviders = async () => Promise.resolve(providers);
const getBaseUrl = (providerId, fetcherConfig) => {
switch (providerId) {
case 'banxa':
return banxaApi.getBaseUrl({
isProduction,
partner
})();
case 'encryptus':
return encryptusApi.getBaseUrl({
isProduction
})(fetcherConfig);
default:
return Promise.reject(new _types.Exchange.Errors.ProviderNotFound(`Unknown provider: ${providerId}`));
}
};
return (0, _immer.freeze)({
getBaseUrl,
getProviders
}, true);
};
exports.exchangeApiMaker = exchangeApiMaker;
const providers = (0, _immer.freeze)({
banxa: {
id: 'banxa',
name: 'Banxa',
logo: 'banxa',
supportedOrders: {
buy: {
fee: 2,
min: 100000000
}
},
supportUrl: 'https://support.banxa.com/'
},
encryptus: {
id: 'encryptus',
name: 'Encryptus',
logo: 'encryptus',
supportedOrders: {
sell: {
fee: 2.5,
min: 1000000
}
},
supportUrl: 'https://support.encryptus.com/'
}
}, true);
exports.providers = providers;
//# sourceMappingURL=api.js.map