update typedocs and dist

This commit is contained in:
woodser 2022-05-12 17:25:46 -04:00
parent f3469f067a
commit 476d566a7f
44 changed files with 445 additions and 267 deletions

View File

@ -30,6 +30,7 @@ export default class HavenoClient {
_registerNotificationListenerCalled: boolean; _registerNotificationListenerCalled: boolean;
_keepAliveLooper: any; _keepAliveLooper: any;
_keepAlivePeriodMs: number; _keepAlivePeriodMs: number;
_paymentMethods: PaymentMethod[] | undefined;
static readonly _fullyInitializedMessage = "Application fully initialized"; static readonly _fullyInitializedMessage = "Application fully initialized";
static readonly _loginRequiredMessage = "Interactive login required"; static readonly _loginRequiredMessage = "Interactive login required";
/** /**
@ -296,17 +297,25 @@ export default class HavenoClient {
* @return {string} the hash of the relayed transaction * @return {string} the hash of the relayed transaction
*/ */
relayXmrTx(metadata: string): Promise<string>; relayXmrTx(metadata: string): Promise<string>;
/**
* Get all supported assets codes.
*
* TODO: replace this with getSupportedAssetCodes(): Promise<TradeCurrency[]>)
*
* @return {Promise<string[]>} all supported trade assets
*/
getSupportedAssetCodes(): Promise<string[]>;
/** /**
* Get the current market price per 1 XMR in the given currency. * Get the current market price per 1 XMR in the given currency.
* *
* @param {string} currencyCode - currency code (fiat or crypto) to get the price of * @param {string} assetCode - asset code to get the price of
* @return {number} the current market price per 1 XMR in the given currency * @return {number} the price of the asset per 1 XMR
*/ */
getPrice(currencyCode: string): Promise<number>; getPrice(assetCode: string): Promise<number>;
/** /**
* Get the current market prices of all currencies. * Get the current market prices of all a.
* *
* @return {MarketPrice[]} price per 1 XMR in all supported currencies (fiat & crypto) * @return {MarketPrice[]} prices of the assets per 1 XMR
*/ */
getPrices(): Promise<MarketPriceInfo[]>; getPrices(): Promise<MarketPriceInfo[]>;
/** /**
@ -319,9 +328,10 @@ export default class HavenoClient {
/** /**
* Get payment methods. * Get payment methods.
* *
* @param {string} assetCode - get payment methods supporting this asset code (optional)
* @return {PaymentMethod[]} the payment methods * @return {PaymentMethod[]} the payment methods
*/ */
getPaymentMethods(): Promise<PaymentMethod[]>; getPaymentMethods(assetCode?: string): Promise<PaymentMethod[]>;
/** /**
* Get payment accounts. * Get payment accounts.
* *

234
dist/HavenoClient.js vendored
View File

@ -1,13 +1,18 @@
import console from "console"; "use strict";
import HavenoUtils from "./utils/HavenoUtils"; var __importDefault = (this && this.__importDefault) || function (mod) {
import TaskLooper from "./utils/TaskLooper"; return (mod && mod.__esModule) ? mod : { "default": mod };
import { GetVersionClient, AccountClient, MoneroConnectionsClient, DisputesClient, DisputeAgentsClient, NotificationsClient, WalletsClient, PriceClient, OffersClient, PaymentAccountsClient, TradesClient, ShutdownServerClient, MoneroNodeClient } from './protobuf/GrpcServiceClientPb'; };
import { GetVersionRequest, IsAppInitializedRequest, RegisterDisputeAgentRequest, MarketPriceRequest, MarketPricesRequest, MarketDepthRequest, GetBalancesRequest, GetMyOfferRequest, GetOffersRequest, GetPaymentMethodsRequest, GetPaymentAccountFormRequest, CreatePaymentAccountRequest, GetPaymentAccountsRequest, CreateCryptoCurrencyPaymentAccountRequest, CreateOfferRequest, CancelOfferRequest, TakeOfferRequest, GetTradeRequest, GetTradesRequest, GetXmrSeedRequest, GetNewDepositAddressRequest, ConfirmPaymentStartedRequest, ConfirmPaymentReceivedRequest, GetXmrTxsRequest, CreateXmrTxRequest, RelayXmrTxRequest, CreateAccountRequest, AccountExistsRequest, DeleteAccountRequest, OpenAccountRequest, IsAccountOpenRequest, CloseAccountRequest, ChangePasswordRequest, BackupAccountRequest, RestoreAccountRequest, StopRequest, NotificationMessage, RegisterNotificationListenerRequest, SendNotificationRequest, UrlConnection, AddConnectionRequest, RemoveConnectionRequest, GetConnectionRequest, GetConnectionsRequest, SetConnectionRequest, CheckConnectionRequest, CheckConnectionsRequest, StartCheckingConnectionsRequest, StopCheckingConnectionsRequest, GetBestAvailableConnectionRequest, SetAutoSwitchRequest, GetDisputeRequest, GetDisputesRequest, OpenDisputeRequest, ResolveDisputeRequest, SendDisputeChatMessageRequest, SendChatMessageRequest, GetChatMessagesRequest, StartMoneroNodeRequest, StopMoneroNodeRequest, IsMoneroNodeRunningRequest, GetMoneroNodeSettingsRequest } from "./protobuf/grpc_pb"; Object.defineProperty(exports, "__esModule", { value: true });
import { AvailabilityResult } from "./protobuf/pb_pb"; const console_1 = __importDefault(require("console"));
const HavenoUtils_1 = __importDefault(require("./utils/HavenoUtils"));
const TaskLooper_1 = __importDefault(require("./utils/TaskLooper"));
const GrpcServiceClientPb_1 = require("./protobuf/GrpcServiceClientPb");
const grpc_pb_1 = require("./protobuf/grpc_pb");
const pb_pb_1 = require("./protobuf/pb_pb");
/** /**
* Haveno daemon client. * Haveno daemon client.
*/ */
export default class HavenoClient { class HavenoClient {
/** /**
* Construct a client connected to a Haveno daemon. * Construct a client connected to a Haveno daemon.
* *
@ -23,22 +28,22 @@ export default class HavenoClient {
throw new Error("Must provide URL of Haveno daemon"); throw new Error("Must provide URL of Haveno daemon");
if (!password) if (!password)
throw new Error("Must provide password of Haveno daemon"); throw new Error("Must provide password of Haveno daemon");
HavenoUtils.log(2, "Creating Haveno client connected to " + url); HavenoUtils_1.default.log(2, "Creating Haveno client connected to " + url);
this._url = url; this._url = url;
this._password = password; this._password = password;
this._getVersionClient = new GetVersionClient(this._url); this._getVersionClient = new GrpcServiceClientPb_1.GetVersionClient(this._url);
this._accountClient = new AccountClient(this._url); this._accountClient = new GrpcServiceClientPb_1.AccountClient(this._url);
this._moneroConnectionsClient = new MoneroConnectionsClient(this._url); this._moneroConnectionsClient = new GrpcServiceClientPb_1.MoneroConnectionsClient(this._url);
this._moneroNodeClient = new MoneroNodeClient(this._url); this._moneroNodeClient = new GrpcServiceClientPb_1.MoneroNodeClient(this._url);
this._disputeAgentsClient = new DisputeAgentsClient(this._url); this._disputeAgentsClient = new GrpcServiceClientPb_1.DisputeAgentsClient(this._url);
this._disputesClient = new DisputesClient(this._url); this._disputesClient = new GrpcServiceClientPb_1.DisputesClient(this._url);
this._walletsClient = new WalletsClient(this._url); this._walletsClient = new GrpcServiceClientPb_1.WalletsClient(this._url);
this._priceClient = new PriceClient(this._url); this._priceClient = new GrpcServiceClientPb_1.PriceClient(this._url);
this._paymentAccountsClient = new PaymentAccountsClient(this._url); this._paymentAccountsClient = new GrpcServiceClientPb_1.PaymentAccountsClient(this._url);
this._offersClient = new OffersClient(this._url); this._offersClient = new GrpcServiceClientPb_1.OffersClient(this._url);
this._tradesClient = new TradesClient(this._url); this._tradesClient = new GrpcServiceClientPb_1.TradesClient(this._url);
this._notificationsClient = new NotificationsClient(this._url); this._notificationsClient = new GrpcServiceClientPb_1.NotificationsClient(this._url);
this._shutdownServerClient = new ShutdownServerClient(this._url); this._shutdownServerClient = new GrpcServiceClientPb_1.ShutdownServerClient(this._url);
} }
/** /**
* Start a new Haveno process. * Start a new Haveno process.
@ -52,7 +57,7 @@ export default class HavenoClient {
static async startProcess(havenoPath, cmd, url, enableLogging) { static async startProcess(havenoPath, cmd, url, enableLogging) {
// return promise which resolves after starting havenod // return promise which resolves after starting havenod
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
HavenoUtils.log(2, "Starting Haveno process: " + cmd + " on proxy url: " + url); HavenoUtils_1.default.log(2, "Starting Haveno process: " + cmd + " on proxy url: " + url);
// state variables // state variables
let output = ""; let output = "";
let isStarted = false; let isStarted = false;
@ -114,12 +119,12 @@ export default class HavenoClient {
}); });
// handle uncaught exception // handle uncaught exception
childProcess.on("uncaughtException", async function (err, origin) { childProcess.on("uncaughtException", async function (err, origin) {
console.error("Uncaught exception in Haveno process: " + err.message); console_1.default.error("Uncaught exception in Haveno process: " + err.message);
console.error(origin); console_1.default.error(origin);
await rejectStartup(err); await rejectStartup(err);
}); });
async function rejectStartup(err) { async function rejectStartup(err) {
await HavenoUtils.kill(childProcess); await HavenoUtils_1.default.kill(childProcess);
reject(err); reject(err);
} }
function loggingEnabled() { function loggingEnabled() {
@ -174,7 +179,7 @@ export default class HavenoClient {
*/ */
async getVersion() { async getVersion() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._getVersionClient.getVersion(new GetVersionRequest(), { password: this._password }, function (err, response) { this._getVersionClient.getVersion(new grpc_pb_1.GetVersionRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -203,7 +208,7 @@ export default class HavenoClient {
*/ */
async accountExists() { async accountExists() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._accountClient.accountExists(new AccountExistsRequest(), { password: this._password }, function (err, response) { this._accountClient.accountExists(new grpc_pb_1.AccountExistsRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -218,7 +223,7 @@ export default class HavenoClient {
*/ */
async isAccountOpen() { async isAccountOpen() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._accountClient.isAccountOpen(new IsAccountOpenRequest(), { password: this._password }, function (err, response) { this._accountClient.isAccountOpen(new grpc_pb_1.IsAccountOpenRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -233,7 +238,7 @@ export default class HavenoClient {
*/ */
async createAccount(password) { async createAccount(password) {
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
this._accountClient.createAccount(new CreateAccountRequest().setPassword(password), { password: this._password }, function (err) { this._accountClient.createAccount(new grpc_pb_1.CreateAccountRequest().setPassword(password), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -249,7 +254,7 @@ export default class HavenoClient {
*/ */
async openAccount(password) { async openAccount(password) {
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
this._accountClient.openAccount(new OpenAccountRequest().setPassword(password), { password: this._password }, function (err) { this._accountClient.openAccount(new grpc_pb_1.OpenAccountRequest().setPassword(password), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -265,7 +270,7 @@ export default class HavenoClient {
*/ */
async changePassword(password) { async changePassword(password) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._accountClient.changePassword(new ChangePasswordRequest().setPassword(password), { password: this._password }, function (err) { this._accountClient.changePassword(new grpc_pb_1.ChangePasswordRequest().setPassword(password), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -278,7 +283,7 @@ export default class HavenoClient {
*/ */
async closeAccount() { async closeAccount() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._accountClient.closeAccount(new CloseAccountRequest(), { password: this._password }, function (err) { this._accountClient.closeAccount(new grpc_pb_1.CloseAccountRequest(), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -291,7 +296,7 @@ export default class HavenoClient {
*/ */
async deleteAccount() { async deleteAccount() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._accountClient.deleteAccount(new DeleteAccountRequest(), { password: this._password }, async function (err) { this._accountClient.deleteAccount(new grpc_pb_1.DeleteAccountRequest(), { password: this._password }, async function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -305,7 +310,7 @@ export default class HavenoClient {
async backupAccount(stream) { async backupAccount(stream) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let total = 0; let total = 0;
const response = this._accountClient.backupAccount(new BackupAccountRequest(), { password: this._password }); const response = this._accountClient.backupAccount(new grpc_pb_1.BackupAccountRequest(), { password: this._password });
response.on('data', (chunk) => { response.on('data', (chunk) => {
const bytes = chunk.getZipBytes(); // TODO: right api? const bytes = chunk.getZipBytes(); // TODO: right api?
total += bytes.length; total += bytes.length;
@ -377,8 +382,8 @@ export default class HavenoClient {
async isConnectedToMonero() { async isConnectedToMonero() {
const connection = await this.getMoneroConnection(); const connection = await this.getMoneroConnection();
return connection !== undefined && return connection !== undefined &&
connection.getOnlineStatus() === UrlConnection.OnlineStatus.ONLINE && connection.getOnlineStatus() === grpc_pb_1.UrlConnection.OnlineStatus.ONLINE &&
connection.getAuthenticationStatus() !== UrlConnection.AuthenticationStatus.NOT_AUTHENTICATED; connection.getAuthenticationStatus() !== grpc_pb_1.UrlConnection.AuthenticationStatus.NOT_AUTHENTICATED;
} }
/** /**
* Add a Monero daemon connection. * Add a Monero daemon connection.
@ -387,7 +392,7 @@ export default class HavenoClient {
*/ */
async addMoneroConnection(connection) { async addMoneroConnection(connection) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.addConnection(new AddConnectionRequest().setConnection(typeof connection === "string" ? new UrlConnection().setUrl(connection) : connection), { password: this._password }, function (err) { this._moneroConnectionsClient.addConnection(new grpc_pb_1.AddConnectionRequest().setConnection(typeof connection === "string" ? new grpc_pb_1.UrlConnection().setUrl(connection) : connection), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -402,7 +407,7 @@ export default class HavenoClient {
*/ */
async removeMoneroConnection(url) { async removeMoneroConnection(url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.removeConnection(new RemoveConnectionRequest().setUrl(url), { password: this._password }, function (err) { this._moneroConnectionsClient.removeConnection(new grpc_pb_1.RemoveConnectionRequest().setUrl(url), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -417,7 +422,7 @@ export default class HavenoClient {
*/ */
async getMoneroConnection() { async getMoneroConnection() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.getConnection(new GetConnectionRequest(), { password: this._password }, function (err, response) { this._moneroConnectionsClient.getConnection(new grpc_pb_1.GetConnectionRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -432,7 +437,7 @@ export default class HavenoClient {
*/ */
async getMoneroConnections() { async getMoneroConnections() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.getConnections(new GetConnectionsRequest(), { password: this._password }, function (err, response) { this._moneroConnectionsClient.getConnections(new grpc_pb_1.GetConnectionsRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -451,7 +456,7 @@ export default class HavenoClient {
* @param {string | UrlConnection} connection - connection to set as current * @param {string | UrlConnection} connection - connection to set as current
*/ */
async setMoneroConnection(connection) { async setMoneroConnection(connection) {
const request = new SetConnectionRequest(); const request = new grpc_pb_1.SetConnectionRequest();
if (typeof connection === "string") if (typeof connection === "string")
request.setUrl(connection); request.setUrl(connection);
else else
@ -474,7 +479,7 @@ export default class HavenoClient {
*/ */
async checkMoneroConnection() { async checkMoneroConnection() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.checkConnection(new CheckConnectionRequest(), { password: this._password }, function (err, response) { this._moneroConnectionsClient.checkConnection(new grpc_pb_1.CheckConnectionRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -489,7 +494,7 @@ export default class HavenoClient {
*/ */
async checkMoneroConnections() { async checkMoneroConnections() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.checkConnections(new CheckConnectionsRequest(), { password: this._password }, function (err, response) { this._moneroConnectionsClient.checkConnections(new grpc_pb_1.CheckConnectionsRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -504,7 +509,7 @@ export default class HavenoClient {
*/ */
async startCheckingConnection(refreshPeriod) { async startCheckingConnection(refreshPeriod) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.startCheckingConnections(new StartCheckingConnectionsRequest().setRefreshPeriod(refreshPeriod), { password: this._password }, function (err) { this._moneroConnectionsClient.startCheckingConnections(new grpc_pb_1.StartCheckingConnectionsRequest().setRefreshPeriod(refreshPeriod), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -517,7 +522,7 @@ export default class HavenoClient {
*/ */
async stopCheckingConnection() { async stopCheckingConnection() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.stopCheckingConnections(new StopCheckingConnectionsRequest(), { password: this._password }, function (err) { this._moneroConnectionsClient.stopCheckingConnections(new grpc_pb_1.StopCheckingConnectionsRequest(), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -532,7 +537,7 @@ export default class HavenoClient {
*/ */
async getBestAvailableConnection() { async getBestAvailableConnection() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.getBestAvailableConnection(new GetBestAvailableConnectionRequest(), { password: this._password }, function (err, response) { this._moneroConnectionsClient.getBestAvailableConnection(new grpc_pb_1.GetBestAvailableConnectionRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -547,7 +552,7 @@ export default class HavenoClient {
*/ */
async setAutoSwitch(autoSwitch) { async setAutoSwitch(autoSwitch) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroConnectionsClient.setAutoSwitch(new SetAutoSwitchRequest().setAutoSwitch(autoSwitch), { password: this._password }, function (err) { this._moneroConnectionsClient.setAutoSwitch(new grpc_pb_1.SetAutoSwitchRequest().setAutoSwitch(autoSwitch), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -560,7 +565,7 @@ export default class HavenoClient {
*/ */
async isMoneroNodeRunning() { async isMoneroNodeRunning() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroNodeClient.isMoneroNodeRunning(new IsMoneroNodeRunningRequest(), { password: this._password }, function (err, response) { this._moneroNodeClient.isMoneroNodeRunning(new grpc_pb_1.IsMoneroNodeRunningRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -573,7 +578,7 @@ export default class HavenoClient {
*/ */
async getMoneroNodeSettings() { async getMoneroNodeSettings() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const request = new GetMoneroNodeSettingsRequest(); const request = new grpc_pb_1.GetMoneroNodeSettingsRequest();
this._moneroNodeClient.getMoneroNodeSettings(request, { password: this._password }, function (err, response) { this._moneroNodeClient.getMoneroNodeSettings(request, { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
@ -589,7 +594,7 @@ export default class HavenoClient {
*/ */
async startMoneroNode(settings) { async startMoneroNode(settings) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const request = new StartMoneroNodeRequest().setSettings(settings); const request = new grpc_pb_1.StartMoneroNodeRequest().setSettings(settings);
this._moneroNodeClient.startMoneroNode(request, { password: this._password }, function (err) { this._moneroNodeClient.startMoneroNode(request, { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
@ -603,7 +608,7 @@ export default class HavenoClient {
*/ */
async stopMoneroNode() { async stopMoneroNode() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._moneroNodeClient.stopMoneroNode(new StopMoneroNodeRequest(), { password: this._password }, function (err) { this._moneroNodeClient.stopMoneroNode(new grpc_pb_1.StopMoneroNodeRequest(), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -618,7 +623,7 @@ export default class HavenoClient {
* @param {string} registrationKey - registration key * @param {string} registrationKey - registration key
*/ */
async registerDisputeAgent(disputeAgentType, registrationKey) { async registerDisputeAgent(disputeAgentType, registrationKey) {
const request = new RegisterDisputeAgentRequest() const request = new grpc_pb_1.RegisterDisputeAgentRequest()
.setDisputeAgentType(disputeAgentType) .setDisputeAgentType(disputeAgentType)
.setRegistrationKey(registrationKey); .setRegistrationKey(registrationKey);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@ -637,7 +642,7 @@ export default class HavenoClient {
*/ */
async getBalances() { async getBalances() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._walletsClient.getBalances(new GetBalancesRequest().setCurrencyCode("XMR"), { password: this._password }, function (err, response) { this._walletsClient.getBalances(new grpc_pb_1.GetBalancesRequest().setCurrencyCode("XMR"), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -652,7 +657,7 @@ export default class HavenoClient {
*/ */
async getXmrSeed() { async getXmrSeed() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._walletsClient.getXmrSeed(new GetXmrSeedRequest(), { password: this._password }, function (err, response) { this._walletsClient.getXmrSeed(new grpc_pb_1.GetXmrSeedRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -667,7 +672,7 @@ export default class HavenoClient {
*/ */
async getNewDepositAddress() { async getNewDepositAddress() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._walletsClient.getNewDepositAddress(new GetNewDepositAddressRequest(), { password: this._password }, function (err, response) { this._walletsClient.getNewDepositAddress(new grpc_pb_1.GetNewDepositAddressRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -682,7 +687,7 @@ export default class HavenoClient {
*/ */
async getXmrTxs() { async getXmrTxs() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._walletsClient.getXmrTxs(new GetXmrTxsRequest(), { password: this._password }, function (err, response) { this._walletsClient.getXmrTxs(new grpc_pb_1.GetXmrTxsRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -711,7 +716,7 @@ export default class HavenoClient {
*/ */
async createXmrTx(destinations) { async createXmrTx(destinations) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._walletsClient.createXmrTx(new CreateXmrTxRequest().setDestinationsList(destinations), { password: this._password }, function (err, response) { this._walletsClient.createXmrTx(new grpc_pb_1.CreateXmrTxRequest().setDestinationsList(destinations), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -726,7 +731,7 @@ export default class HavenoClient {
*/ */
async relayXmrTx(metadata) { async relayXmrTx(metadata) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._walletsClient.relayXmrTx(new RelayXmrTxRequest().setMetadata(metadata), { password: this._password }, function (err, response) { this._walletsClient.relayXmrTx(new grpc_pb_1.RelayXmrTxRequest().setMetadata(metadata), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -734,15 +739,28 @@ export default class HavenoClient {
}); });
}); });
} }
/**
* Get all supported assets codes.
*
* TODO: replace this with getSupportedAssetCodes(): Promise<TradeCurrency[]>)
*
* @return {Promise<string[]>} all supported trade assets
*/
async getSupportedAssetCodes() {
const assetCodes = [];
for (const price of await this.getPrices())
assetCodes.push(price.getCurrencyCode());
return assetCodes;
}
/** /**
* Get the current market price per 1 XMR in the given currency. * Get the current market price per 1 XMR in the given currency.
* *
* @param {string} currencyCode - currency code (fiat or crypto) to get the price of * @param {string} assetCode - asset code to get the price of
* @return {number} the current market price per 1 XMR in the given currency * @return {number} the price of the asset per 1 XMR
*/ */
async getPrice(currencyCode) { async getPrice(assetCode) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._priceClient.getMarketPrice(new MarketPriceRequest().setCurrencyCode(currencyCode), { password: this._password }, function (err, response) { this._priceClient.getMarketPrice(new grpc_pb_1.MarketPriceRequest().setCurrencyCode(assetCode), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -751,13 +769,13 @@ export default class HavenoClient {
}); });
} }
/** /**
* Get the current market prices of all currencies. * Get the current market prices of all a.
* *
* @return {MarketPrice[]} price per 1 XMR in all supported currencies (fiat & crypto) * @return {MarketPrice[]} prices of the assets per 1 XMR
*/ */
async getPrices() { async getPrices() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._priceClient.getMarketPrices(new MarketPricesRequest(), { password: this._password }, function (err, response) { this._priceClient.getMarketPrices(new grpc_pb_1.MarketPricesRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -773,7 +791,7 @@ export default class HavenoClient {
*/ */
async getMarketDepth(assetCode) { async getMarketDepth(assetCode) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._priceClient.getMarketDepth(new MarketDepthRequest().setCurrencyCode(assetCode), { password: this._password }, function (err, response) { this._priceClient.getMarketDepth(new grpc_pb_1.MarketDepthRequest().setCurrencyCode(assetCode), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -784,11 +802,13 @@ export default class HavenoClient {
/** /**
* Get payment methods. * Get payment methods.
* *
* @param {string} assetCode - get payment methods supporting this asset code (optional)
* @return {PaymentMethod[]} the payment methods * @return {PaymentMethod[]} the payment methods
*/ */
async getPaymentMethods() { async getPaymentMethods(assetCode) {
return new Promise((resolve, reject) => { if (!this._paymentMethods) {
this._paymentAccountsClient.getPaymentMethods(new GetPaymentMethodsRequest(), { password: this._password }, function (err, response) { this._paymentMethods = await new Promise((resolve, reject) => {
this._paymentAccountsClient.getPaymentMethods(new grpc_pb_1.GetPaymentMethodsRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -796,6 +816,15 @@ export default class HavenoClient {
}); });
}); });
} }
if (!assetCode)
return this._paymentMethods;
const assetPaymentMethods = [];
for (const paymentMethod of this._paymentMethods) {
if (paymentMethod.getSupportedAssetCodesList().includes(assetCode))
assetPaymentMethods.push(paymentMethod);
}
return assetPaymentMethods;
}
/** /**
* Get payment accounts. * Get payment accounts.
* *
@ -803,7 +832,7 @@ export default class HavenoClient {
*/ */
async getPaymentAccounts() { async getPaymentAccounts() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._paymentAccountsClient.getPaymentAccounts(new GetPaymentAccountsRequest(), { password: this._password }, function (err, response) { this._paymentAccountsClient.getPaymentAccounts(new grpc_pb_1.GetPaymentAccountsRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -833,7 +862,7 @@ export default class HavenoClient {
*/ */
async getPaymentAccountForm(paymentMethodId) { async getPaymentAccountForm(paymentMethodId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._paymentAccountsClient.getPaymentAccountForm(new GetPaymentAccountFormRequest().setPaymentMethodId(paymentMethodId), { password: this._password }, function (err, response) { this._paymentAccountsClient.getPaymentAccountForm(new grpc_pb_1.GetPaymentAccountFormRequest().setPaymentMethodId(paymentMethodId), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -849,7 +878,7 @@ export default class HavenoClient {
*/ */
async createPaymentAccount(paymentAccountForm) { async createPaymentAccount(paymentAccountForm) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._paymentAccountsClient.createPaymentAccount(new CreatePaymentAccountRequest().setPaymentAccountForm(JSON.stringify(paymentAccountForm)), { password: this._password }, function (err, response) { this._paymentAccountsClient.createPaymentAccount(new grpc_pb_1.CreatePaymentAccountRequest().setPaymentAccountForm(JSON.stringify(paymentAccountForm)), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -866,7 +895,7 @@ export default class HavenoClient {
* @return {PaymentAccount} the created payment account * @return {PaymentAccount} the created payment account
*/ */
async createCryptoPaymentAccount(accountName, assetCode, address) { async createCryptoPaymentAccount(accountName, assetCode, address) {
const request = new CreateCryptoCurrencyPaymentAccountRequest() const request = new grpc_pb_1.CreateCryptoCurrencyPaymentAccountRequest()
.setAccountName(accountName) .setAccountName(accountName)
.setCurrencyCode(assetCode) .setCurrencyCode(assetCode)
.setAddress(address) .setAddress(address)
@ -891,7 +920,7 @@ export default class HavenoClient {
if (!direction) if (!direction)
return (await this.getOffers(assetCode, "buy")).concat(await this.getOffers(assetCode, "sell")); // TODO: implement in backend return (await this.getOffers(assetCode, "buy")).concat(await this.getOffers(assetCode, "sell")); // TODO: implement in backend
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._offersClient.getOffers(new GetOffersRequest().setDirection(direction).setCurrencyCode(assetCode), { password: this._password }, function (err, response) { this._offersClient.getOffers(new grpc_pb_1.GetOffersRequest().setDirection(direction).setCurrencyCode(assetCode), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -910,7 +939,7 @@ export default class HavenoClient {
if (!direction) if (!direction)
return (await this.getMyOffers(assetCode, "buy")).concat(await this.getMyOffers(assetCode, "sell")); // TODO: implement in backend return (await this.getMyOffers(assetCode, "buy")).concat(await this.getMyOffers(assetCode, "sell")); // TODO: implement in backend
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._offersClient.getMyOffers(new GetOffersRequest().setDirection(direction).setCurrencyCode(assetCode), { password: this._password }, function (err, response) { this._offersClient.getMyOffers(new grpc_pb_1.GetOffersRequest().setDirection(direction).setCurrencyCode(assetCode), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -926,7 +955,7 @@ export default class HavenoClient {
*/ */
async getMyOffer(offerId) { async getMyOffer(offerId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._offersClient.getMyOffer(new GetMyOfferRequest().setId(offerId), { password: this._password }, function (err, response) { this._offersClient.getMyOffer(new grpc_pb_1.GetMyOfferRequest().setId(offerId), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -949,7 +978,7 @@ export default class HavenoClient {
* @return {OfferInfo} the posted offer * @return {OfferInfo} the posted offer
*/ */
async postOffer(direction, amount, assetCode, paymentAccountId, buyerSecurityDeposit, price, marketPriceMargin, triggerPrice, minAmount) { async postOffer(direction, amount, assetCode, paymentAccountId, buyerSecurityDeposit, price, marketPriceMargin, triggerPrice, minAmount) {
const request = new CreateOfferRequest() const request = new grpc_pb_1.CreateOfferRequest()
.setDirection(direction) .setDirection(direction)
.setAmount(amount.toString()) .setAmount(amount.toString())
.setCurrencyCode(assetCode) .setCurrencyCode(assetCode)
@ -978,7 +1007,7 @@ export default class HavenoClient {
*/ */
async removeOffer(offerId) { async removeOffer(offerId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._offersClient.cancelOffer(new CancelOfferRequest().setId(offerId), { password: this._password }, function (err) { this._offersClient.cancelOffer(new grpc_pb_1.CancelOfferRequest().setId(offerId), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -994,14 +1023,14 @@ export default class HavenoClient {
* @return {TradeInfo} the initialized trade * @return {TradeInfo} the initialized trade
*/ */
async takeOffer(offerId, paymentAccountId) { async takeOffer(offerId, paymentAccountId) {
const request = new TakeOfferRequest() const request = new grpc_pb_1.TakeOfferRequest()
.setOfferId(offerId) .setOfferId(offerId)
.setPaymentAccountId(paymentAccountId); .setPaymentAccountId(paymentAccountId);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._tradesClient.takeOffer(request, { password: this._password }, function (err, response) { this._tradesClient.takeOffer(request, { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else if (response.getFailureReason() && response.getFailureReason().getAvailabilityResult() !== AvailabilityResult.AVAILABLE) else if (response.getFailureReason() && response.getFailureReason().getAvailabilityResult() !== pb_pb_1.AvailabilityResult.AVAILABLE)
reject(new Error(response.getFailureReason().getDescription())); // TODO: api should throw grpcWeb.RpcError reject(new Error(response.getFailureReason().getDescription())); // TODO: api should throw grpcWeb.RpcError
else else
resolve(response.getTrade()); resolve(response.getTrade());
@ -1016,7 +1045,7 @@ export default class HavenoClient {
*/ */
async getTrade(tradeId) { async getTrade(tradeId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._tradesClient.getTrade(new GetTradeRequest().setTradeId(tradeId), { password: this._password }, function (err, response) { this._tradesClient.getTrade(new grpc_pb_1.GetTradeRequest().setTradeId(tradeId), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1031,7 +1060,7 @@ export default class HavenoClient {
*/ */
async getTrades() { async getTrades() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._tradesClient.getTrades(new GetTradesRequest(), { password: this._password }, function (err, response) { this._tradesClient.getTrades(new grpc_pb_1.GetTradesRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1046,7 +1075,7 @@ export default class HavenoClient {
*/ */
async confirmPaymentStarted(tradeId) { async confirmPaymentStarted(tradeId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._tradesClient.confirmPaymentStarted(new ConfirmPaymentStartedRequest().setTradeId(tradeId), { password: this._password }, function (err) { this._tradesClient.confirmPaymentStarted(new grpc_pb_1.ConfirmPaymentStartedRequest().setTradeId(tradeId), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1061,7 +1090,7 @@ export default class HavenoClient {
*/ */
async confirmPaymentReceived(tradeId) { async confirmPaymentReceived(tradeId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._tradesClient.confirmPaymentReceived(new ConfirmPaymentReceivedRequest().setTradeId(tradeId), { password: this._password }, function (err) { this._tradesClient.confirmPaymentReceived(new grpc_pb_1.ConfirmPaymentReceivedRequest().setTradeId(tradeId), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1076,7 +1105,7 @@ export default class HavenoClient {
*/ */
async getChatMessages(tradeId) { async getChatMessages(tradeId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const request = new GetChatMessagesRequest().setTradeId(tradeId); const request = new grpc_pb_1.GetChatMessagesRequest().setTradeId(tradeId);
this._tradesClient.getChatMessages(request, { password: this._password }, function (err, response) { this._tradesClient.getChatMessages(request, { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
@ -1093,7 +1122,7 @@ export default class HavenoClient {
*/ */
async sendChatMessage(tradeId, message) { async sendChatMessage(tradeId, message) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const request = new SendChatMessageRequest() const request = new grpc_pb_1.SendChatMessageRequest()
.setTradeId(tradeId) .setTradeId(tradeId)
.setMessage(message); .setMessage(message);
this._tradesClient.sendChatMessage(request, { password: this._password }, function (err) { this._tradesClient.sendChatMessage(request, { password: this._password }, function (err) {
@ -1111,7 +1140,7 @@ export default class HavenoClient {
*/ */
async getDispute(tradeId) { async getDispute(tradeId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._disputesClient.getDispute(new GetDisputeRequest().setTradeId(tradeId), { password: this._password }, function (err, response) { this._disputesClient.getDispute(new grpc_pb_1.GetDisputeRequest().setTradeId(tradeId), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1124,7 +1153,7 @@ export default class HavenoClient {
*/ */
async getDisputes() { async getDisputes() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._disputesClient.getDisputes(new GetDisputesRequest(), { password: this._password }, function (err, response) { this._disputesClient.getDisputes(new grpc_pb_1.GetDisputesRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1139,7 +1168,7 @@ export default class HavenoClient {
*/ */
async openDispute(tradeId) { async openDispute(tradeId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._disputesClient.openDispute(new OpenDisputeRequest().setTradeId(tradeId), { password: this._password }, function (err) { this._disputesClient.openDispute(new grpc_pb_1.OpenDisputeRequest().setTradeId(tradeId), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1159,7 +1188,7 @@ export default class HavenoClient {
*/ */
async resolveDispute(tradeId, winner, reason, summaryNotes, customWinnerAmount) { async resolveDispute(tradeId, winner, reason, summaryNotes, customWinnerAmount) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const request = new ResolveDisputeRequest() const request = new grpc_pb_1.ResolveDisputeRequest()
.setTradeId(tradeId) .setTradeId(tradeId)
.setWinner(winner) .setWinner(winner)
.setReason(reason) .setReason(reason)
@ -1182,7 +1211,7 @@ export default class HavenoClient {
*/ */
async sendDisputeChatMessage(disputeId, message, attachments) { async sendDisputeChatMessage(disputeId, message, attachments) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const request = new SendDisputeChatMessageRequest() const request = new grpc_pb_1.SendDisputeChatMessageRequest()
.setDisputeId(disputeId) .setDisputeId(disputeId)
.setMessage(message) .setMessage(message)
.setAttachmentsList(attachments); .setAttachmentsList(attachments);
@ -1207,7 +1236,7 @@ export default class HavenoClient {
async shutdownServer() { async shutdownServer() {
await this.disconnect(); await this.disconnect();
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
this._shutdownServerClient.stop(new StopRequest(), { password: this._password }, function (err) { this._shutdownServerClient.stop(new grpc_pb_1.StopRequest(), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1215,7 +1244,7 @@ export default class HavenoClient {
}); });
}); });
if (this._process) if (this._process)
return HavenoUtils.kill(this._process); return HavenoUtils_1.default.kill(this._process);
} }
// ------------------------------- HELPERS ---------------------------------- // ------------------------------- HELPERS ----------------------------------
/** /**
@ -1246,7 +1275,7 @@ export default class HavenoClient {
resolve(); resolve();
}; };
const listener = async function (notification) { const listener = async function (notification) {
if (notification.getType() === NotificationMessage.NotificationType.APP_INITIALIZED) if (notification.getType() === grpc_pb_1.NotificationMessage.NotificationType.APP_INITIALIZED)
await resolveOnce(); await resolveOnce();
}; };
await this.addNotificationListener(listener); await this.addNotificationListener(listener);
@ -1257,7 +1286,7 @@ export default class HavenoClient {
// @hidden // @hidden
async _isAppInitialized() { async _isAppInitialized() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._accountClient.isAppInitialized(new IsAppInitializedRequest(), { password: this._password }, function (err, response) { this._accountClient.isAppInitialized(new grpc_pb_1.IsAppInitializedRequest(), { password: this._password }, function (err, response) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1277,22 +1306,22 @@ export default class HavenoClient {
if (listening) { if (listening) {
return new Promise((resolve) => { return new Promise((resolve) => {
// send request to register client listener // send request to register client listener
this._notificationStream = this._notificationsClient.registerNotificationListener(new RegisterNotificationListenerRequest(), { password: this._password }) this._notificationStream = this._notificationsClient.registerNotificationListener(new grpc_pb_1.RegisterNotificationListenerRequest(), { password: this._password })
.on('data', (data) => { .on('data', (data) => {
if (data instanceof NotificationMessage) { if (data instanceof grpc_pb_1.NotificationMessage) {
for (const listener of this._notificationListeners) for (const listener of this._notificationListeners)
listener(data); listener(data);
} }
}); });
// periodically send keep alive requests // TODO (woodser): better way to keep notification stream alive? // periodically send keep alive requests // TODO (woodser): better way to keep notification stream alive?
let firstRequest = true; let firstRequest = true;
this._keepAliveLooper = new TaskLooper(async () => { this._keepAliveLooper = new TaskLooper_1.default(async () => {
if (firstRequest) { if (firstRequest) {
firstRequest = false; firstRequest = false;
return; return;
} }
await this._sendNotification(new NotificationMessage() await this._sendNotification(new grpc_pb_1.NotificationMessage()
.setType(NotificationMessage.NotificationType.KEEP_ALIVE) .setType(grpc_pb_1.NotificationMessage.NotificationType.KEEP_ALIVE)
.setTimestamp(Date.now())); .setTimestamp(Date.now()));
}); });
this._keepAliveLooper.start(this._keepAlivePeriodMs); this._keepAliveLooper.start(this._keepAlivePeriodMs);
@ -1313,7 +1342,7 @@ export default class HavenoClient {
*/ */
async _sendNotification(notification) { async _sendNotification(notification) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this._notificationsClient.sendNotification(new SendNotificationRequest().setNotification(notification), { password: this._password }, function (err) { this._notificationsClient.sendNotification(new grpc_pb_1.SendNotificationRequest().setNotification(notification), { password: this._password }, function (err) {
if (err) if (err)
reject(err); reject(err);
else else
@ -1327,7 +1356,7 @@ export default class HavenoClient {
* @hidden * @hidden
*/ */
async _restoreAccountChunk(zipBytes, offset, totalLength, hasMore) { async _restoreAccountChunk(zipBytes, offset, totalLength, hasMore) {
const request = new RestoreAccountRequest() const request = new grpc_pb_1.RestoreAccountRequest()
.setZipBytes(zipBytes) .setZipBytes(zipBytes)
.setOffset(offset) .setOffset(offset)
.setTotalLength(totalLength) .setTotalLength(totalLength)
@ -1342,6 +1371,7 @@ export default class HavenoClient {
}); });
} }
} }
exports.default = HavenoClient;
// constants // constants
HavenoClient._fullyInitializedMessage = "Application fully initialized"; HavenoClient._fullyInitializedMessage = "Application fully initialized";
HavenoClient._loginRequiredMessage = "Interactive login required"; HavenoClient._loginRequiredMessage = "Interactive login required";

File diff suppressed because one or more lines are too long

32
dist/index.js vendored
View File

@ -1,7 +1,27 @@
import HavenoClient from "./HavenoClient"; "use strict";
import HavenoUtils from "./utils/HavenoUtils"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
export { HavenoClient }; if (k2 === undefined) k2 = k;
export { HavenoUtils }; var desc = Object.getOwnPropertyDescriptor(m, k);
export * from "./protobuf/grpc_pb"; if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
export * from "./protobuf/pb_pb"; 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 __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HavenoUtils = exports.HavenoClient = void 0;
const HavenoClient_1 = __importDefault(require("./HavenoClient"));
exports.HavenoClient = HavenoClient_1.default;
const HavenoUtils_1 = __importDefault(require("./utils/HavenoUtils"));
exports.HavenoUtils = HavenoUtils_1.default;
__exportStar(require("./protobuf/grpc_pb"), exports);
__exportStar(require("./protobuf/pb_pb"), exports);
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

2
dist/index.js.map vendored
View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kEAA0C;AAGjC,uBAHF,sBAAY,CAGE;AAFrB,sEAA8C;AAGrC,sBAHF,qBAAW,CAGE;AACpB,qDAAmC;AACnC,mDAAiC"}

View File

@ -1,14 +1,40 @@
"use strict";
/** /**
* @fileoverview gRPC-Web generated client stub for io.bisq.protobuffer * @fileoverview gRPC-Web generated client stub for io.bisq.protobuffer
* @enhanceable * @enhanceable
* @public * @public
*/ */
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;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WalletsClient = exports.TradesClient = exports.ShutdownServerClient = exports.GetTradeStatisticsClient = exports.PriceClient = exports.PaymentAccountsClient = exports.OffersClient = exports.MoneroNodeClient = exports.MoneroConnectionsClient = exports.NotificationsClient = exports.DisputeAgentsClient = exports.DisputesClient = exports.AccountClient = exports.GetVersionClient = exports.HelpClient = void 0;
// GENERATED CODE -- DO NOT EDIT! // GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */ /* eslint-disable */
// @ts-nocheck // @ts-nocheck
import * as grpcWeb from 'grpc-web'; const grpcWeb = __importStar(require("grpc-web"));
import * as grpc_pb from './grpc_pb'; const grpc_pb = __importStar(require("./grpc_pb"));
export class HelpClient { class HelpClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetMethodHelp = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Help/GetMethodHelp', grpcWeb.MethodType.UNARY, grpc_pb.GetMethodHelpRequest, grpc_pb.GetMethodHelpReply, (request) => { this.methodInfoGetMethodHelp = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Help/GetMethodHelp', grpcWeb.MethodType.UNARY, grpc_pb.GetMethodHelpRequest, grpc_pb.GetMethodHelpReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -32,7 +58,8 @@ export class HelpClient {
'/io.bisq.protobuffer.Help/GetMethodHelp', request, metadata || {}, this.methodInfoGetMethodHelp); '/io.bisq.protobuffer.Help/GetMethodHelp', request, metadata || {}, this.methodInfoGetMethodHelp);
} }
} }
export class GetVersionClient { exports.HelpClient = HelpClient;
class GetVersionClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetVersion = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.GetVersion/GetVersion', grpcWeb.MethodType.UNARY, grpc_pb.GetVersionRequest, grpc_pb.GetVersionReply, (request) => { this.methodInfoGetVersion = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.GetVersion/GetVersion', grpcWeb.MethodType.UNARY, grpc_pb.GetVersionRequest, grpc_pb.GetVersionReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -56,7 +83,8 @@ export class GetVersionClient {
'/io.bisq.protobuffer.GetVersion/GetVersion', request, metadata || {}, this.methodInfoGetVersion); '/io.bisq.protobuffer.GetVersion/GetVersion', request, metadata || {}, this.methodInfoGetVersion);
} }
} }
export class AccountClient { exports.GetVersionClient = GetVersionClient;
class AccountClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoAccountExists = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Account/AccountExists', grpcWeb.MethodType.UNARY, grpc_pb.AccountExistsRequest, grpc_pb.AccountExistsReply, (request) => { this.methodInfoAccountExists = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Account/AccountExists', grpcWeb.MethodType.UNARY, grpc_pb.AccountExistsRequest, grpc_pb.AccountExistsReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -175,7 +203,8 @@ export class AccountClient {
'/io.bisq.protobuffer.Account/RestoreAccount', request, metadata || {}, this.methodInfoRestoreAccount); '/io.bisq.protobuffer.Account/RestoreAccount', request, metadata || {}, this.methodInfoRestoreAccount);
} }
} }
export class DisputesClient { exports.AccountClient = AccountClient;
class DisputesClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetDispute = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Disputes/GetDispute', grpcWeb.MethodType.UNARY, grpc_pb.GetDisputeRequest, grpc_pb.GetDisputeReply, (request) => { this.methodInfoGetDispute = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Disputes/GetDispute', grpcWeb.MethodType.UNARY, grpc_pb.GetDisputeRequest, grpc_pb.GetDisputeReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -243,7 +272,8 @@ export class DisputesClient {
'/io.bisq.protobuffer.Disputes/SendDisputeChatMessage', request, metadata || {}, this.methodInfoSendDisputeChatMessage); '/io.bisq.protobuffer.Disputes/SendDisputeChatMessage', request, metadata || {}, this.methodInfoSendDisputeChatMessage);
} }
} }
export class DisputeAgentsClient { exports.DisputesClient = DisputesClient;
class DisputeAgentsClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoRegisterDisputeAgent = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.DisputeAgents/RegisterDisputeAgent', grpcWeb.MethodType.UNARY, grpc_pb.RegisterDisputeAgentRequest, grpc_pb.RegisterDisputeAgentReply, (request) => { this.methodInfoRegisterDisputeAgent = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.DisputeAgents/RegisterDisputeAgent', grpcWeb.MethodType.UNARY, grpc_pb.RegisterDisputeAgentRequest, grpc_pb.RegisterDisputeAgentReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -267,7 +297,8 @@ export class DisputeAgentsClient {
'/io.bisq.protobuffer.DisputeAgents/RegisterDisputeAgent', request, metadata || {}, this.methodInfoRegisterDisputeAgent); '/io.bisq.protobuffer.DisputeAgents/RegisterDisputeAgent', request, metadata || {}, this.methodInfoRegisterDisputeAgent);
} }
} }
export class NotificationsClient { exports.DisputeAgentsClient = DisputeAgentsClient;
class NotificationsClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoRegisterNotificationListener = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Notifications/RegisterNotificationListener', grpcWeb.MethodType.SERVER_STREAMING, grpc_pb.RegisterNotificationListenerRequest, grpc_pb.NotificationMessage, (request) => { this.methodInfoRegisterNotificationListener = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Notifications/RegisterNotificationListener', grpcWeb.MethodType.SERVER_STREAMING, grpc_pb.RegisterNotificationListenerRequest, grpc_pb.NotificationMessage, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -298,7 +329,8 @@ export class NotificationsClient {
'/io.bisq.protobuffer.Notifications/SendNotification', request, metadata || {}, this.methodInfoSendNotification); '/io.bisq.protobuffer.Notifications/SendNotification', request, metadata || {}, this.methodInfoSendNotification);
} }
} }
export class MoneroConnectionsClient { exports.NotificationsClient = NotificationsClient;
class MoneroConnectionsClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoAddConnection = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.MoneroConnections/AddConnection', grpcWeb.MethodType.UNARY, grpc_pb.AddConnectionRequest, grpc_pb.AddConnectionReply, (request) => { this.methodInfoAddConnection = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.MoneroConnections/AddConnection', grpcWeb.MethodType.UNARY, grpc_pb.AddConnectionRequest, grpc_pb.AddConnectionReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -432,7 +464,8 @@ export class MoneroConnectionsClient {
'/io.bisq.protobuffer.MoneroConnections/SetAutoSwitch', request, metadata || {}, this.methodInfoSetAutoSwitch); '/io.bisq.protobuffer.MoneroConnections/SetAutoSwitch', request, metadata || {}, this.methodInfoSetAutoSwitch);
} }
} }
export class MoneroNodeClient { exports.MoneroConnectionsClient = MoneroConnectionsClient;
class MoneroNodeClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoIsMoneroNodeRunning = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.MoneroNode/IsMoneroNodeRunning', grpcWeb.MethodType.UNARY, grpc_pb.IsMoneroNodeRunningRequest, grpc_pb.IsMoneroNodeRunningReply, (request) => { this.methodInfoIsMoneroNodeRunning = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.MoneroNode/IsMoneroNodeRunning', grpcWeb.MethodType.UNARY, grpc_pb.IsMoneroNodeRunningRequest, grpc_pb.IsMoneroNodeRunningReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -489,7 +522,8 @@ export class MoneroNodeClient {
'/io.bisq.protobuffer.MoneroNode/StopMoneroNode', request, metadata || {}, this.methodInfoStopMoneroNode); '/io.bisq.protobuffer.MoneroNode/StopMoneroNode', request, metadata || {}, this.methodInfoStopMoneroNode);
} }
} }
export class OffersClient { exports.MoneroNodeClient = MoneroNodeClient;
class OffersClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetOffer = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Offers/GetOffer', grpcWeb.MethodType.UNARY, grpc_pb.GetOfferRequest, grpc_pb.GetOfferReply, (request) => { this.methodInfoGetOffer = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Offers/GetOffer', grpcWeb.MethodType.UNARY, grpc_pb.GetOfferRequest, grpc_pb.GetOfferReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -568,7 +602,8 @@ export class OffersClient {
'/io.bisq.protobuffer.Offers/CancelOffer', request, metadata || {}, this.methodInfoCancelOffer); '/io.bisq.protobuffer.Offers/CancelOffer', request, metadata || {}, this.methodInfoCancelOffer);
} }
} }
export class PaymentAccountsClient { exports.OffersClient = OffersClient;
class PaymentAccountsClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoCreatePaymentAccount = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.PaymentAccounts/CreatePaymentAccount', grpcWeb.MethodType.UNARY, grpc_pb.CreatePaymentAccountRequest, grpc_pb.CreatePaymentAccountReply, (request) => { this.methodInfoCreatePaymentAccount = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.PaymentAccounts/CreatePaymentAccount', grpcWeb.MethodType.UNARY, grpc_pb.CreatePaymentAccountRequest, grpc_pb.CreatePaymentAccountReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -647,7 +682,8 @@ export class PaymentAccountsClient {
'/io.bisq.protobuffer.PaymentAccounts/GetCryptoCurrencyPaymentMethods', request, metadata || {}, this.methodInfoGetCryptoCurrencyPaymentMethods); '/io.bisq.protobuffer.PaymentAccounts/GetCryptoCurrencyPaymentMethods', request, metadata || {}, this.methodInfoGetCryptoCurrencyPaymentMethods);
} }
} }
export class PriceClient { exports.PaymentAccountsClient = PaymentAccountsClient;
class PriceClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetMarketPrice = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Price/GetMarketPrice', grpcWeb.MethodType.UNARY, grpc_pb.MarketPriceRequest, grpc_pb.MarketPriceReply, (request) => { this.methodInfoGetMarketPrice = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Price/GetMarketPrice', grpcWeb.MethodType.UNARY, grpc_pb.MarketPriceRequest, grpc_pb.MarketPriceReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -693,7 +729,8 @@ export class PriceClient {
'/io.bisq.protobuffer.Price/GetMarketDepth', request, metadata || {}, this.methodInfoGetMarketDepth); '/io.bisq.protobuffer.Price/GetMarketDepth', request, metadata || {}, this.methodInfoGetMarketDepth);
} }
} }
export class GetTradeStatisticsClient { exports.PriceClient = PriceClient;
class GetTradeStatisticsClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetTradeStatistics = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.GetTradeStatistics/GetTradeStatistics', grpcWeb.MethodType.UNARY, grpc_pb.GetTradeStatisticsRequest, grpc_pb.GetTradeStatisticsReply, (request) => { this.methodInfoGetTradeStatistics = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.GetTradeStatistics/GetTradeStatistics', grpcWeb.MethodType.UNARY, grpc_pb.GetTradeStatisticsRequest, grpc_pb.GetTradeStatisticsReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -717,7 +754,8 @@ export class GetTradeStatisticsClient {
'/io.bisq.protobuffer.GetTradeStatistics/GetTradeStatistics', request, metadata || {}, this.methodInfoGetTradeStatistics); '/io.bisq.protobuffer.GetTradeStatistics/GetTradeStatistics', request, metadata || {}, this.methodInfoGetTradeStatistics);
} }
} }
export class ShutdownServerClient { exports.GetTradeStatisticsClient = GetTradeStatisticsClient;
class ShutdownServerClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoStop = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.ShutdownServer/Stop', grpcWeb.MethodType.UNARY, grpc_pb.StopRequest, grpc_pb.StopReply, (request) => { this.methodInfoStop = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.ShutdownServer/Stop', grpcWeb.MethodType.UNARY, grpc_pb.StopRequest, grpc_pb.StopReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -741,7 +779,8 @@ export class ShutdownServerClient {
'/io.bisq.protobuffer.ShutdownServer/Stop', request, metadata || {}, this.methodInfoStop); '/io.bisq.protobuffer.ShutdownServer/Stop', request, metadata || {}, this.methodInfoStop);
} }
} }
export class TradesClient { exports.ShutdownServerClient = ShutdownServerClient;
class TradesClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetTrade = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Trades/GetTrade', grpcWeb.MethodType.UNARY, grpc_pb.GetTradeRequest, grpc_pb.GetTradeReply, (request) => { this.methodInfoGetTrade = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Trades/GetTrade', grpcWeb.MethodType.UNARY, grpc_pb.GetTradeRequest, grpc_pb.GetTradeReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -853,7 +892,8 @@ export class TradesClient {
'/io.bisq.protobuffer.Trades/SendChatMessage', request, metadata || {}, this.methodInfoSendChatMessage); '/io.bisq.protobuffer.Trades/SendChatMessage', request, metadata || {}, this.methodInfoSendChatMessage);
} }
} }
export class WalletsClient { exports.TradesClient = TradesClient;
class WalletsClient {
constructor(hostname, credentials, options) { constructor(hostname, credentials, options) {
this.methodInfoGetBalances = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/GetBalances', grpcWeb.MethodType.UNARY, grpc_pb.GetBalancesRequest, grpc_pb.GetBalancesReply, (request) => { this.methodInfoGetBalances = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/GetBalances', grpcWeb.MethodType.UNARY, grpc_pb.GetBalancesRequest, grpc_pb.GetBalancesReply, (request) => {
return request.serializeBinary(); return request.serializeBinary();
@ -1053,4 +1093,5 @@ export class WalletsClient {
'/io.bisq.protobuffer.Wallets/UnlockWallet', request, metadata || {}, this.methodInfoUnlockWallet); '/io.bisq.protobuffer.Wallets/UnlockWallet', request, metadata || {}, this.methodInfoUnlockWallet);
} }
} }
exports.WalletsClient = WalletsClient;
//# sourceMappingURL=GrpcServiceClientPb.js.map //# sourceMappingURL=GrpcServiceClientPb.js.map

File diff suppressed because one or more lines are too long

View File

@ -7650,6 +7650,11 @@ export class PaymentMethod extends jspb.Message {
getMaxTradeLimit(): string; getMaxTradeLimit(): string;
setMaxTradeLimit(value: string): PaymentMethod; setMaxTradeLimit(value: string): PaymentMethod;
getSupportedAssetCodesList(): Array<string>;
setSupportedAssetCodesList(value: Array<string>): PaymentMethod;
clearSupportedAssetCodesList(): PaymentMethod;
addSupportedAssetCodes(value: string, index?: number): PaymentMethod;
serializeBinary(): Uint8Array; serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PaymentMethod.AsObject; toObject(includeInstance?: boolean): PaymentMethod.AsObject;
static toObject(includeInstance: boolean, msg: PaymentMethod): PaymentMethod.AsObject; static toObject(includeInstance: boolean, msg: PaymentMethod): PaymentMethod.AsObject;
@ -7663,6 +7668,7 @@ export namespace PaymentMethod {
id: string, id: string,
maxTradePeriod: string, maxTradePeriod: string,
maxTradeLimit: string, maxTradeLimit: string,
supportedAssetCodesList: Array<string>,
} }
} }

View File

@ -3760,7 +3760,7 @@ if (goog.DEBUG && !COMPILED) {
* @constructor * @constructor
*/ */
proto.io.bisq.protobuffer.PaymentMethod = function(opt_data) { proto.io.bisq.protobuffer.PaymentMethod = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, null); jspb.Message.initialize(this, opt_data, 0, -1, proto.io.bisq.protobuffer.PaymentMethod.repeatedFields_, null);
}; };
goog.inherits(proto.io.bisq.protobuffer.PaymentMethod, jspb.Message); goog.inherits(proto.io.bisq.protobuffer.PaymentMethod, jspb.Message);
if (goog.DEBUG && !COMPILED) { if (goog.DEBUG && !COMPILED) {
@ -61725,6 +61725,13 @@ proto.io.bisq.protobuffer.PaymentAccount.prototype.hasPaymentAccountPayload = fu
/**
* List of repeated fields within this message type.
* @private {!Array<number>}
* @const
*/
proto.io.bisq.protobuffer.PaymentMethod.repeatedFields_ = [4];
if (jspb.Message.GENERATE_TO_OBJECT) { if (jspb.Message.GENERATE_TO_OBJECT) {
@ -61758,7 +61765,8 @@ proto.io.bisq.protobuffer.PaymentMethod.toObject = function(includeInstance, msg
var f, obj = { var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""), id: jspb.Message.getFieldWithDefault(msg, 1, ""),
maxTradePeriod: jspb.Message.getFieldWithDefault(msg, 2, "0"), maxTradePeriod: jspb.Message.getFieldWithDefault(msg, 2, "0"),
maxTradeLimit: jspb.Message.getFieldWithDefault(msg, 3, "0") maxTradeLimit: jspb.Message.getFieldWithDefault(msg, 3, "0"),
supportedAssetCodesList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f
}; };
if (includeInstance) { if (includeInstance) {
@ -61807,6 +61815,10 @@ proto.io.bisq.protobuffer.PaymentMethod.deserializeBinaryFromReader = function(m
var value = /** @type {string} */ (reader.readInt64String()); var value = /** @type {string} */ (reader.readInt64String());
msg.setMaxTradeLimit(value); msg.setMaxTradeLimit(value);
break; break;
case 4:
var value = /** @type {string} */ (reader.readString());
msg.addSupportedAssetCodes(value);
break;
default: default:
reader.skipField(); reader.skipField();
break; break;
@ -61857,6 +61869,13 @@ proto.io.bisq.protobuffer.PaymentMethod.serializeBinaryToWriter = function(messa
f f
); );
} }
f = message.getSupportedAssetCodesList();
if (f.length > 0) {
writer.writeRepeatedString(
4,
f
);
}
}; };
@ -61914,6 +61933,43 @@ proto.io.bisq.protobuffer.PaymentMethod.prototype.setMaxTradeLimit = function(va
}; };
/**
* repeated string supported_asset_codes = 4;
* @return {!Array<string>}
*/
proto.io.bisq.protobuffer.PaymentMethod.prototype.getSupportedAssetCodesList = function() {
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));
};
/**
* @param {!Array<string>} value
* @return {!proto.io.bisq.protobuffer.PaymentMethod} returns this
*/
proto.io.bisq.protobuffer.PaymentMethod.prototype.setSupportedAssetCodesList = function(value) {
return jspb.Message.setField(this, 4, value || []);
};
/**
* @param {string} value
* @param {number=} opt_index
* @return {!proto.io.bisq.protobuffer.PaymentMethod} returns this
*/
proto.io.bisq.protobuffer.PaymentMethod.prototype.addSupportedAssetCodes = function(value, opt_index) {
return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
};
/**
* Clears the list making it empty but non-null.
* @return {!proto.io.bisq.protobuffer.PaymentMethod} returns this
*/
proto.io.bisq.protobuffer.PaymentMethod.prototype.clearSupportedAssetCodesList = function() {
return this.setSupportedAssetCodesList([]);
};

View File

@ -1,16 +1,21 @@
import assert from "assert"; "use strict";
import console from 'console'; var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert_1 = __importDefault(require("assert"));
const console_1 = __importDefault(require("console"));
/** /**
* Collection of utilities for working with Haveno. * Collection of utilities for working with Haveno.
*/ */
export default class HavenoUtils { class HavenoUtils {
/** /**
* Set the log level with 0 being least verbose. * Set the log level with 0 being least verbose.
* *
* @param {int} level - the log level * @param {int} level - the log level
*/ */
static async setLogLevel(level) { static async setLogLevel(level) {
assert(level === parseInt(level + "", 10) && level >= 0, "Log level must be an integer >= 0"); (0, assert_1.default)(level === parseInt(level + "", 10) && level >= 0, "Log level must be an integer >= 0");
HavenoUtils.logLevel = level; HavenoUtils.logLevel = level;
} }
/** /**
@ -29,12 +34,12 @@ export default class HavenoUtils {
* @param {boolean?} warn - log the message as a warning if true * @param {boolean?} warn - log the message as a warning if true
*/ */
static log(level, msg) { static log(level, msg) {
assert(level === parseInt(level + "", 10) && level >= 0, "Log level must be an integer >= 0"); (0, assert_1.default)(level === parseInt(level + "", 10) && level >= 0, "Log level must be an integer >= 0");
if (HavenoUtils.logLevel >= level) { if (HavenoUtils.logLevel >= level) {
const now = Date.now(); const now = Date.now();
const formattedTimeSinceLastLog = HavenoUtils.lastLogTimeMs ? " (+" + (now - HavenoUtils.lastLogTimeMs) + " ms)" : "\t"; const formattedTimeSinceLastLog = HavenoUtils.lastLogTimeMs ? " (+" + (now - HavenoUtils.lastLogTimeMs) + " ms)" : "\t";
HavenoUtils.lastLogTimeMs = now; HavenoUtils.lastLogTimeMs = now;
console.log(HavenoUtils.formatTimestamp(now) + formattedTimeSinceLastLog + "\t[L" + level + "] " + msg); console_1.default.log(HavenoUtils.formatTimestamp(now) + formattedTimeSinceLastLog + "\t[L" + level + "] " + msg);
} }
} }
/** /**
@ -72,6 +77,7 @@ export default class HavenoUtils {
return BigInt(centineros) * BigInt(HavenoUtils.centinerosToAUMultiplier); return BigInt(centineros) * BigInt(HavenoUtils.centinerosToAUMultiplier);
} }
} }
exports.default = HavenoUtils;
HavenoUtils.logLevel = 0; HavenoUtils.logLevel = 0;
HavenoUtils.centinerosToAUMultiplier = 10000; HavenoUtils.centinerosToAUMultiplier = 10000;
HavenoUtils.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; HavenoUtils.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

View File

@ -1 +1 @@
{"version":3,"file":"HavenoUtils.js","sourceRoot":"","sources":["../../src/utils/HavenoUtils.ts"],"names":[],"mappings":"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"} {"version":3,"file":"HavenoUtils.js","sourceRoot":"","sources":["../../src/utils/HavenoUtils.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,sDAA8B;AAE9B;;GAEG;AACH,MAAqB,WAAW;IAO9B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,IAAA,gBAAM,EAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;QAC9F,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,WAAW,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,KAAa,EAAE,GAAW;QACnC,IAAA,gBAAM,EAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;QAC9F,IAAI,WAAW,CAAC,QAAQ,IAAI,KAAK,EAAE;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,yBAAyB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACxH,WAAW,CAAC,aAAa,GAAG,GAAG,CAAC;YAChC,iBAAO,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,yBAAyB,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;SACzG;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,SAAiB;QACtC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzO,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAY,EAAE,MAAe;QAC7C,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;YACzC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,cAAa,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,UAAS,GAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,UAAkB;QAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC3E,CAAC;;AA9EH,8BA+EC;AA7EQ,oBAAQ,GAAG,CAAC,CAAC;AACb,oCAAwB,GAAG,KAAK,CAAC;AACjC,kBAAM,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,CAAC,CAAC;AACnF,yBAAa,GAAG,CAAC,CAAC"}

View File

@ -1,7 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/** /**
* Run a task in a fixed period loop. * Run a task in a fixed period loop.
*/ */
export default class TaskLooper { class TaskLooper {
/** /**
* Build the looper with a function to invoke on a fixed period loop. * Build the looper with a function to invoke on a fixed period loop.
* *
@ -44,4 +46,5 @@ export default class TaskLooper {
this._isLooping = false; this._isLooping = false;
} }
} }
exports.default = TaskLooper;
//# sourceMappingURL=TaskLooper.js.map //# sourceMappingURL=TaskLooper.js.map

View File

@ -1 +1 @@
{"version":3,"file":"TaskLooper.js","sourceRoot":"","sources":["../../src/utils/TaskLooper.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAO7B;;;;OAIG;IACH,YAAY,EAAuB;QACjC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAkB;QACtB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC,UAAU,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtI;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF"} {"version":3,"file":"TaskLooper.js","sourceRoot":"","sources":["../../src/utils/TaskLooper.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,UAAU;IAO7B;;;;OAIG;IACH,YAAY,EAAuB;QACjC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAkB;QACtB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC,UAAU,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtI;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF;AAhDD,6BAgDC"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long