UNPKG

raiden-api-sdk

Version:

SDK for interacting with the Raiden API

91 lines (90 loc) 3.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var rxjs_1 = require("rxjs"); var operators_1 = require("rxjs/operators"); var apis_1 = require("./apis"); var errors_1 = require("./errors"); var ajax_1 = require("rxjs/ajax"); var Tokens = /** @class */ (function () { function Tokens(tokensApi) { this.tokensApi = tokensApi; } Tokens.create = function (config) { var tokensApi = new apis_1.TokensApi(config); return new Tokens(tokensApi); }; /** * Addresses of all registered tokens * * @since 0.100.3 * @throws {@link RaidenAPIError} * @see {@link https://raiden-network.readthedocs.io/en/latest/rest_api.html#get--api-(version)-tokens} */ Tokens.prototype.findAllRegistered = function () { return this.tokensApi.getTokens().pipe(operators_1.catchError(function (err) { if (err instanceof ajax_1.AjaxError) { return rxjs_1.throwError(new errors_1.RaidenAPIError(err)); } return rxjs_1.throwError(err); })); }; /** * Token network address * * @remarks * The address of the corresponding token network for the given token, if the token is registered. * @param tokenAddress - The address of the token * @since 0.100.3 * @throws {@link RaidenAPIError} * @see {@link https://raiden-network.readthedocs.io/en/latest/rest_api.html#get--api-(version)-tokens-(token_address)} */ Tokens.prototype.networkAddressFor = function (tokenAddress) { return this.tokensApi.getToken({ tokenAddress: tokenAddress }).pipe(operators_1.catchError(function (err) { if (err instanceof ajax_1.AjaxError) { return rxjs_1.throwError(new errors_1.RaidenAPIError(err)); } return rxjs_1.throwError(err); })); }; /** * List of all partners with whom you have non-settled channels for a certain token * * @param tokenAddress - the address of the token * * @since 0.100.3 * @throws {@link RaidenAPIError} * @see {@link https://raiden-network.readthedocs.io/en/latest/rest_api.html#get--api-(version)-tokens-(token_address)-partners} */ Tokens.prototype.partners = function (tokenAddress) { return this.tokensApi.getTokenPartners({ tokenAddress: tokenAddress }).pipe(operators_1.catchError(function (err) { if (err instanceof ajax_1.AjaxError) { return rxjs_1.throwError(new errors_1.RaidenAPIError(err)); } return rxjs_1.throwError(err); })); }; /** * Register a token * * @remarks * If a token is not registered yet * (i.e.: A token network for that token does not exist in the registry), * we need to register it by deploying a token network contract for * that token. * @param tokenAddress - the address of the token * * @since 0.100.3 * @throws {@link RaidenAPIError} * @see {@link https://raiden-network.readthedocs.io/en/latest/rest_api.html#put--api-(version)-tokens-(token_address)} */ Tokens.prototype.register = function (tokenAddress) { return this.tokensApi.registerToken({ tokenAddress: tokenAddress }).pipe(operators_1.map(function (res) { return res.tokenNetworkAddress; }), operators_1.catchError(function (err) { if (err instanceof ajax_1.AjaxError) { return rxjs_1.throwError(new errors_1.RaidenAPIError(err)); } return rxjs_1.throwError(err); })); }; return Tokens; }()); exports.Tokens = Tokens;