@rarimo/shared
Version:
Utility functions, types and constants shared across Rarimo packages.
142 lines (141 loc) • 4.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getSupportedChains: function() {
return getSupportedChains;
},
getAccountBalances: function() {
return getAccountBalances;
},
getSupportedTokens: function() {
return getSupportedTokens;
}
});
const _enums = require(/*#__PURE__*/ "../enums");
const _helpers = require("../helpers");
const _api = require("./api");
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _async_to_generator(fn) {
return function() {
var self = this, args = arguments;
return new Promise(function(resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _object_spread(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === "function") {
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
}
ownKeys.forEach(function(key) {
_define_property(target, key, source[key]);
});
}
return target;
}
const getSupportedChains = function() {
var _ref = _async_to_generator(function*({ type , kind } = {}) {
const { data } = yield _api.dexApi.get('/chains', {
query: _object_spread({}, !(0, _helpers.isUndefined)(type) && {
'filter[type]': type
}, kind && {
'filter[kind]': kind
})
});
if (!data.length) return [];
return data.map((chain)=>({
id: Number(chain.id),
name: chain.name,
rpcUrl: chain.rpc,
explorerUrl: chain.explorer_url,
type: chain.type.value,
icon: chain.icon,
isTestnet: chain.kind.name === _enums.ChainKind.Testnet,
contractAddress: chain.swap_contract_address,
dexType: chain.swap_contract_version,
token: _object_spread({}, chain.native_token)
}));
});
return function getSupportedChains() {
return _ref.apply(this, arguments);
};
}();
const getAccountBalances = function() {
var _ref = _async_to_generator(function*(chain, accountAddress) {
const endpoint = `/chains/evm/${chain.name}/${accountAddress}/balances`;
const response = yield _api.dexApi.get(endpoint, {
query: {
page: {
limit: _api.CONFIG.MAX_PAGE_LIMIT
}
}
});
return (0, _api.loadAllPagesData)(response);
});
return function getAccountBalances(chain, accountAddress) {
return _ref.apply(this, arguments);
};
}();
const getSupportedTokens = function() {
var _ref = _async_to_generator(function*(chain) {
const endpoint = `/chains/evm/${chain.name}/tokens`;
const response = yield _api.dexApi.get(endpoint, {
query: {
page: {
limit: _api.CONFIG.MAX_PAGE_LIMIT
}
}
});
return (0, _api.loadAllPagesData)(response);
});
return function getSupportedTokens(chain) {
return _ref.apply(this, arguments);
};
}();
//# sourceMappingURL=dex.js.map