update dist

This commit is contained in:
woodser 2022-12-17 10:06:40 +00:00
parent 5b7a7beafd
commit 0de4ec6fff
13 changed files with 2732 additions and 8778 deletions

View File

@ -1,39 +1,38 @@
import type * as grpcWeb from "grpc-web";
import { GetVersionClient, AccountClient, MoneroConnectionsClient, DisputesClient, DisputeAgentsClient, NotificationsClient, WalletsClient, PriceClient, OffersClient, PaymentAccountsClient, TradesClient, ShutdownServerClient, MoneroNodeClient } from './protobuf/GrpcServiceClientPb';
import { MarketPriceInfo, MarketDepthInfo, XmrBalanceInfo, OfferInfo, TradeInfo, XmrTx, XmrDestination, NotificationMessage, UrlConnection } from "./protobuf/grpc_pb";
import { PaymentMethod, PaymentAccountForm, PaymentAccountFormField, PaymentAccount, Attachment, DisputeResult, Dispute, ChatMessage, MoneroNodeSettings } from "./protobuf/pb_pb";
import { PaymentMethod, PaymentAccountForm, PaymentAccountFormField, PaymentAccount, PaymentAccountPayload, Attachment, DisputeResult, Dispute, ChatMessage, MoneroNodeSettings } from "./protobuf/pb_pb";
/**
* Haveno daemon client.
*/
export default class HavenoClient {
_appName: string | undefined;
_getVersionClient: GetVersionClient;
_disputeAgentsClient: DisputeAgentsClient;
_disputesClient: DisputesClient;
_notificationsClient: NotificationsClient;
_notificationStream: grpcWeb.ClientReadableStream<NotificationMessage> | undefined;
_moneroConnectionsClient: MoneroConnectionsClient;
_moneroNodeClient: MoneroNodeClient;
_walletsClient: WalletsClient;
_priceClient: PriceClient;
_paymentAccountsClient: PaymentAccountsClient;
_offersClient: OffersClient;
_tradesClient: TradesClient;
_accountClient: AccountClient;
_shutdownServerClient: ShutdownServerClient;
_url: string;
_password: string;
_process: any;
_processLogging: boolean;
_walletRpcPort: number | undefined;
_notificationListeners: ((_notification: NotificationMessage) => void)[];
_registerNotificationListenerCalled: boolean;
_keepAliveLooper: any;
_keepAlivePeriodMs: number;
_paymentMethods: PaymentMethod[] | undefined;
static readonly _fullyInitializedMessage = "Application fully initialized";
static readonly _loginRequiredMessage = "Interactive login required";
onData: (data: any) => void;
/** @private */ _appName: string | undefined;
/** @private */ _getVersionClient: GetVersionClient;
/** @private */ _disputeAgentsClient: DisputeAgentsClient;
/** @private */ _disputesClient: DisputesClient;
/** @private */ _notificationsClient: NotificationsClient;
/** @private */ _notificationStream: grpcWeb.ClientReadableStream<NotificationMessage> | undefined;
/** @private */ _moneroConnectionsClient: MoneroConnectionsClient;
/** @private */ _moneroNodeClient: MoneroNodeClient;
/** @private */ _walletsClient: WalletsClient;
/** @private */ _priceClient: PriceClient;
/** @private */ _paymentAccountsClient: PaymentAccountsClient;
/** @private */ _offersClient: OffersClient;
/** @private */ _tradesClient: TradesClient;
/** @private */ _accountClient: AccountClient;
/** @private */ _shutdownServerClient: ShutdownServerClient;
/** @private */ _url: string;
/** @private */ _password: string;
/** @private */ _process: any;
/** @private */ _processLogging: boolean;
/** @private */ _walletRpcPort: number | undefined;
/** @private */ _notificationListeners: ((_notification: NotificationMessage) => void)[];
/** @private */ _registerNotificationListenerCalled: boolean;
/** @private */ _keepAliveLooper: any;
/** @private */ _keepAlivePeriodMs: number;
/** @private */ _paymentMethods: PaymentMethod[] | undefined;
/** @private */ static readonly _fullyInitializedMessage = "Application fully initialized";
/** @private */ static readonly _loginRequiredMessage = "Interactive login required";
/**
* Construct a client connected to a Haveno daemon.
*
@ -297,7 +296,7 @@ export default class HavenoClient {
* @param {String} txHash - hash of the transaction to get
* @return {XmrTx} the transaction with the hash
*/
getXmrTx(txHash: string): Promise<XmrTx>;
getXmrTx(txHash: string): Promise<XmrTx | undefined>;
/**
* Create but do not relay a transaction to send funds from the Monero wallet.
*
@ -365,6 +364,13 @@ export default class HavenoClient {
* @return {PaymentAccountForm} the payment account form
*/
getPaymentAccountForm(paymentMethodId: string): Promise<PaymentAccountForm>;
/**
* Get a form from the given payment account payload.
*
* @param {PaymentAccountPayload} paymentAccountPayload - payload to get as a form
* @return {PaymentAccountForm} the payment account form
*/
getPaymentAccountPayloadForm(paymentAccountPayload: PaymentAccountPayload): Promise<PaymentAccountForm>;
validateFormField(form: PaymentAccountForm, fieldId: PaymentAccountFormField.FieldId, value: string): Promise<void>;
/**
* Create a payment account.
@ -459,6 +465,12 @@ export default class HavenoClient {
* @param {string} tradeId - the id of the trade
*/
confirmPaymentReceived(tradeId: string): Promise<void>;
/**
* Acknowledge that a trade has completed.
*
* @param {string} tradeId - the id of the trade
*/
completeTrade(tradeId: string): Promise<void>;
/**
* Get all chat messages for a trade.
*
@ -490,7 +502,7 @@ export default class HavenoClient {
openDispute(tradeId: string): Promise<void>;
/**
* Resolve a dispute. By default, the winner receives the trade amount and the security deposits are returned,
* but the arbitrator may award a custom amount to the winner.
* but the arbitrator may award a custom amount to the winner and the loser will get the rest.
*
* @param {string} tradeId - the id of the trade
* @param {DisputeResult.Winner} winner - the winner of the dispute
@ -529,27 +541,36 @@ export default class HavenoClient {
* havenod.isHavenoConnectionInitialized() and havenod.awaitHavenoConnectionInitialized().
* Independently, gRPC createAccount() and openAccount() return after all account setup and reading from disk.
*
* @hidden
* @private
*/
_awaitAppInitialized(): Promise<void>;
/** @private */
_isAppInitialized(): Promise<boolean>;
/**
* Callback for grpc notifications.
*
* @private
*/
_onNotification: (data: any) => void;
/**
* Update notification listener registration.
* Due to the nature of grpc streaming, this method returns a promise
* which may be resolved before the listener is actually registered.
*
* @private
*/
_updateNotificationListenerRegistration(): Promise<void>;
/**
* Send a notification.
*
* @hidden
* @private
* @param {NotificationMessage} notification - notification to send
*/
_sendNotification(notification: NotificationMessage): Promise<void>;
/**
* Restore an account chunk from zip bytes.
*
* @hidden
* @private
*/
_restoreAccountChunk(zipBytes: Uint8Array, offset: number, totalLength: number, hasMore: boolean): Promise<void>;
}

87
dist/HavenoClient.js vendored
View File

@ -21,11 +21,16 @@ class HavenoClient {
* @param {string} password - Haveno daemon password
*/
constructor(url, password) {
this._processLogging = false;
this._notificationListeners = [];
this._registerNotificationListenerCalled = false;
this._keepAlivePeriodMs = 60000;
this.onData = (data) => {
/** @private */ this._processLogging = false;
/** @private */ this._notificationListeners = [];
/** @private */ this._registerNotificationListenerCalled = false;
/** @private */ this._keepAlivePeriodMs = 60000;
/**
* Callback for grpc notifications.
*
* @private
*/
this._onNotification = (data) => {
if (data instanceof grpc_pb_1.NotificationMessage) {
for (const listener of this._notificationListeners)
listener(data);
@ -903,7 +908,7 @@ class HavenoClient {
if (tx.getHash() === txHash)
return tx;
}
throw new HavenoError_1.default("No transaction with hash " + txHash);
return undefined;
}
/**
* Create but do not relay a transaction to send funds from the Monero wallet.
@ -1107,6 +1112,27 @@ class HavenoClient {
throw new HavenoError_1.default(e.message, e.code);
}
}
/**
* Get a form from the given payment account payload.
*
* @param {PaymentAccountPayload} paymentAccountPayload - payload to get as a form
* @return {PaymentAccountForm} the payment account form
*/
async getPaymentAccountPayloadForm(paymentAccountPayload) {
try {
return await new Promise((resolve, reject) => {
this._paymentAccountsClient.getPaymentAccountForm(new grpc_pb_1.GetPaymentAccountFormRequest().setPaymentAccountPayload(paymentAccountPayload), { password: this._password }, function (err, response) {
if (err)
reject(err);
else
resolve(response.getPaymentAccountForm());
});
});
}
catch (e) {
throw new HavenoError_1.default(e.message, e.code);
}
}
/*
* Validate a form field.
*
@ -1267,21 +1293,22 @@ class HavenoClient {
*/
async postOffer(direction, amount, assetCode, paymentAccountId, buyerSecurityDepositPct, price, marketPriceMarginPct, triggerPrice, minAmount) {
try {
const request = new grpc_pb_1.CreateOfferRequest()
const request = new grpc_pb_1.PostOfferRequest()
.setDirection(direction)
.setAmount(amount.toString())
.setCurrencyCode(assetCode)
.setPaymentAccountId(paymentAccountId)
.setBuyerSecurityDepositPct(buyerSecurityDepositPct)
.setPrice(price ? price.toString() : "1.0") // TOOD (woodser): positive price required even if using market price?
.setUseMarketBasedPrice(price === undefined) // TODO (woodser): this field is redundant; remove from api
.setUseMarketBasedPrice(price === undefined)
.setMinAmount(minAmount ? minAmount.toString() : amount.toString());
if (price)
request.setPrice(price.toString());
if (marketPriceMarginPct)
request.setMarketPriceMarginPct(marketPriceMarginPct);
if (triggerPrice)
request.setTriggerPrice(triggerPrice.toString());
return await new Promise((resolve, reject) => {
this._offersClient.createOffer(request, { password: this._password }, function (err, response) {
this._offersClient.postOffer(request, { password: this._password }, function (err, response) {
if (err)
reject(err);
else
@ -1421,6 +1448,26 @@ class HavenoClient {
throw new HavenoError_1.default(e.message, e.code);
}
}
/**
* Acknowledge that a trade has completed.
*
* @param {string} tradeId - the id of the trade
*/
async completeTrade(tradeId) {
try {
await new Promise((resolve, reject) => {
this._tradesClient.completeTrade(new grpc_pb_1.CompleteTradeRequest().setTradeId(tradeId), { password: this._password }, function (err) {
if (err)
reject(err);
else
resolve();
});
});
}
catch (e) {
throw new HavenoError_1.default(e.message, e.code);
}
}
/**
* Get all chat messages for a trade.
*
@ -1526,7 +1573,7 @@ class HavenoClient {
}
/**
* Resolve a dispute. By default, the winner receives the trade amount and the security deposits are returned,
* but the arbitrator may award a custom amount to the winner.
* but the arbitrator may award a custom amount to the winner and the loser will get the rest.
*
* @param {string} tradeId - the id of the trade
* @param {DisputeResult.Winner} winner - the winner of the dispute
@ -1624,7 +1671,7 @@ class HavenoClient {
* havenod.isHavenoConnectionInitialized() and havenod.awaitHavenoConnectionInitialized().
* Independently, gRPC createAccount() and openAccount() return after all account setup and reading from disk.
*
* @hidden
* @private
*/
async _awaitAppInitialized() {
try {
@ -1651,7 +1698,7 @@ class HavenoClient {
throw new HavenoError_1.default(e.message, e.code);
}
}
// @hidden
/** @private */
async _isAppInitialized() {
try {
return await new Promise((resolve, reject) => {
@ -1671,6 +1718,8 @@ class HavenoClient {
* Update notification listener registration.
* Due to the nature of grpc streaming, this method returns a promise
* which may be resolved before the listener is actually registered.
*
* @private
*/
async _updateNotificationListenerRegistration() {
try {
@ -1681,7 +1730,7 @@ class HavenoClient {
await new Promise((resolve) => {
// send request to register client listener
this._notificationStream = this._notificationsClient.registerNotificationListener(new grpc_pb_1.RegisterNotificationListenerRequest(), { password: this._password })
.on('data', this.onData);
.on('data', this._onNotification);
// periodically send keep alive requests // TODO (woodser): better way to keep notification stream alive?
let firstRequest = true;
this._keepAliveLooper = new TaskLooper_1.default(async () => {
@ -1698,7 +1747,7 @@ class HavenoClient {
});
}
else {
this._notificationStream.removeListener('data', this.onData);
this._notificationStream.removeListener('data', this._onNotification);
this._keepAliveLooper.stop();
this._notificationStream.cancel();
this._notificationStream = undefined;
@ -1711,7 +1760,7 @@ class HavenoClient {
/**
* Send a notification.
*
* @hidden
* @private
* @param {NotificationMessage} notification - notification to send
*/
async _sendNotification(notification) {
@ -1732,7 +1781,7 @@ class HavenoClient {
/**
* Restore an account chunk from zip bytes.
*
* @hidden
* @private
*/
async _restoreAccountChunk(zipBytes, offset, totalLength, hasMore) {
try {
@ -1757,6 +1806,6 @@ class HavenoClient {
}
exports.default = HavenoClient;
// constants
HavenoClient._fullyInitializedMessage = "Application fully initialized";
HavenoClient._loginRequiredMessage = "Interactive login required";
/** @private */ HavenoClient._fullyInitializedMessage = "Application fully initialized";
/** @private */ HavenoClient._loginRequiredMessage = "Interactive login required";
//# sourceMappingURL=HavenoClient.js.map

File diff suppressed because one or more lines are too long

View File

@ -257,9 +257,9 @@ export declare class OffersClient {
methodDescriptorGetMyOffers: grpcWeb.MethodDescriptor<grpc_pb.GetMyOffersRequest, grpc_pb.GetMyOffersReply>;
getMyOffers(request: grpc_pb.GetMyOffersRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.GetMyOffersReply>;
getMyOffers(request: grpc_pb.GetMyOffersRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.GetMyOffersReply) => void): grpcWeb.ClientReadableStream<grpc_pb.GetMyOffersReply>;
methodDescriptorCreateOffer: grpcWeb.MethodDescriptor<grpc_pb.CreateOfferRequest, grpc_pb.CreateOfferReply>;
createOffer(request: grpc_pb.CreateOfferRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.CreateOfferReply>;
createOffer(request: grpc_pb.CreateOfferRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.CreateOfferReply) => void): grpcWeb.ClientReadableStream<grpc_pb.CreateOfferReply>;
methodDescriptorPostOffer: grpcWeb.MethodDescriptor<grpc_pb.PostOfferRequest, grpc_pb.PostOfferReply>;
postOffer(request: grpc_pb.PostOfferRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.PostOfferReply>;
postOffer(request: grpc_pb.PostOfferRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.PostOfferReply) => void): grpcWeb.ClientReadableStream<grpc_pb.PostOfferReply>;
methodDescriptorCancelOffer: grpcWeb.MethodDescriptor<grpc_pb.CancelOfferRequest, grpc_pb.CancelOfferReply>;
cancelOffer(request: grpc_pb.CancelOfferRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.CancelOfferReply>;
cancelOffer(request: grpc_pb.CancelOfferRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.CancelOfferReply) => void): grpcWeb.ClientReadableStream<grpc_pb.CancelOfferReply>;
@ -392,9 +392,9 @@ export declare class TradesClient {
methodDescriptorConfirmPaymentReceived: grpcWeb.MethodDescriptor<grpc_pb.ConfirmPaymentReceivedRequest, grpc_pb.ConfirmPaymentReceivedReply>;
confirmPaymentReceived(request: grpc_pb.ConfirmPaymentReceivedRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.ConfirmPaymentReceivedReply>;
confirmPaymentReceived(request: grpc_pb.ConfirmPaymentReceivedRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.ConfirmPaymentReceivedReply) => void): grpcWeb.ClientReadableStream<grpc_pb.ConfirmPaymentReceivedReply>;
methodDescriptorKeepFunds: grpcWeb.MethodDescriptor<grpc_pb.KeepFundsRequest, grpc_pb.KeepFundsReply>;
keepFunds(request: grpc_pb.KeepFundsRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.KeepFundsReply>;
keepFunds(request: grpc_pb.KeepFundsRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.KeepFundsReply) => void): grpcWeb.ClientReadableStream<grpc_pb.KeepFundsReply>;
methodDescriptorCompleteTrade: grpcWeb.MethodDescriptor<grpc_pb.CompleteTradeRequest, grpc_pb.CompleteTradeReply>;
completeTrade(request: grpc_pb.CompleteTradeRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.CompleteTradeReply>;
completeTrade(request: grpc_pb.CompleteTradeRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.CompleteTradeReply) => void): grpcWeb.ClientReadableStream<grpc_pb.CompleteTradeReply>;
methodDescriptorWithdrawFunds: grpcWeb.MethodDescriptor<grpc_pb.WithdrawFundsRequest, grpc_pb.WithdrawFundsReply>;
withdrawFunds(request: grpc_pb.WithdrawFundsRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.WithdrawFundsReply>;
withdrawFunds(request: grpc_pb.WithdrawFundsRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.WithdrawFundsReply) => void): grpcWeb.ClientReadableStream<grpc_pb.WithdrawFundsReply>;
@ -443,21 +443,6 @@ export declare class WalletsClient {
methodDescriptorGetAddressBalance: grpcWeb.MethodDescriptor<grpc_pb.GetAddressBalanceRequest, grpc_pb.GetAddressBalanceReply>;
getAddressBalance(request: grpc_pb.GetAddressBalanceRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.GetAddressBalanceReply>;
getAddressBalance(request: grpc_pb.GetAddressBalanceRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.GetAddressBalanceReply) => void): grpcWeb.ClientReadableStream<grpc_pb.GetAddressBalanceReply>;
methodDescriptorSendBtc: grpcWeb.MethodDescriptor<grpc_pb.SendBtcRequest, grpc_pb.SendBtcReply>;
sendBtc(request: grpc_pb.SendBtcRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.SendBtcReply>;
sendBtc(request: grpc_pb.SendBtcRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.SendBtcReply) => void): grpcWeb.ClientReadableStream<grpc_pb.SendBtcReply>;
methodDescriptorGetTxFeeRate: grpcWeb.MethodDescriptor<grpc_pb.GetTxFeeRateRequest, grpc_pb.GetTxFeeRateReply>;
getTxFeeRate(request: grpc_pb.GetTxFeeRateRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.GetTxFeeRateReply>;
getTxFeeRate(request: grpc_pb.GetTxFeeRateRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.GetTxFeeRateReply) => void): grpcWeb.ClientReadableStream<grpc_pb.GetTxFeeRateReply>;
methodDescriptorSetTxFeeRatePreference: grpcWeb.MethodDescriptor<grpc_pb.SetTxFeeRatePreferenceRequest, grpc_pb.SetTxFeeRatePreferenceReply>;
setTxFeeRatePreference(request: grpc_pb.SetTxFeeRatePreferenceRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.SetTxFeeRatePreferenceReply>;
setTxFeeRatePreference(request: grpc_pb.SetTxFeeRatePreferenceRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.SetTxFeeRatePreferenceReply) => void): grpcWeb.ClientReadableStream<grpc_pb.SetTxFeeRatePreferenceReply>;
methodDescriptorUnsetTxFeeRatePreference: grpcWeb.MethodDescriptor<grpc_pb.UnsetTxFeeRatePreferenceRequest, grpc_pb.UnsetTxFeeRatePreferenceReply>;
unsetTxFeeRatePreference(request: grpc_pb.UnsetTxFeeRatePreferenceRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.UnsetTxFeeRatePreferenceReply>;
unsetTxFeeRatePreference(request: grpc_pb.UnsetTxFeeRatePreferenceRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.UnsetTxFeeRatePreferenceReply) => void): grpcWeb.ClientReadableStream<grpc_pb.UnsetTxFeeRatePreferenceReply>;
methodDescriptorGetTransaction: grpcWeb.MethodDescriptor<grpc_pb.GetTransactionRequest, grpc_pb.GetTransactionReply>;
getTransaction(request: grpc_pb.GetTransactionRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.GetTransactionReply>;
getTransaction(request: grpc_pb.GetTransactionRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.GetTransactionReply) => void): grpcWeb.ClientReadableStream<grpc_pb.GetTransactionReply>;
methodDescriptorGetFundingAddresses: grpcWeb.MethodDescriptor<grpc_pb.GetFundingAddressesRequest, grpc_pb.GetFundingAddressesReply>;
getFundingAddresses(request: grpc_pb.GetFundingAddressesRequest, metadata: grpcWeb.Metadata | null): Promise<grpc_pb.GetFundingAddressesReply>;
getFundingAddresses(request: grpc_pb.GetFundingAddressesRequest, metadata: grpcWeb.Metadata | null, callback: (err: grpcWeb.RpcError, response: grpc_pb.GetFundingAddressesReply) => void): grpcWeb.ClientReadableStream<grpc_pb.GetFundingAddressesReply>;

View File

@ -548,9 +548,9 @@ class OffersClient {
this.methodDescriptorGetMyOffers = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Offers/GetMyOffers', grpcWeb.MethodType.UNARY, grpc_pb.GetMyOffersRequest, grpc_pb.GetMyOffersReply, (request) => {
return request.serializeBinary();
}, grpc_pb.GetMyOffersReply.deserializeBinary);
this.methodDescriptorCreateOffer = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Offers/CreateOffer', grpcWeb.MethodType.UNARY, grpc_pb.CreateOfferRequest, grpc_pb.CreateOfferReply, (request) => {
this.methodDescriptorPostOffer = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Offers/PostOffer', grpcWeb.MethodType.UNARY, grpc_pb.PostOfferRequest, grpc_pb.PostOfferReply, (request) => {
return request.serializeBinary();
}, grpc_pb.CreateOfferReply.deserializeBinary);
}, grpc_pb.PostOfferReply.deserializeBinary);
this.methodDescriptorCancelOffer = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Offers/CancelOffer', grpcWeb.MethodType.UNARY, grpc_pb.CancelOfferRequest, grpc_pb.CancelOfferReply, (request) => {
return request.serializeBinary();
}, grpc_pb.CancelOfferReply.deserializeBinary);
@ -596,13 +596,13 @@ class OffersClient {
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Offers/GetMyOffers', request, metadata || {}, this.methodDescriptorGetMyOffers);
}
createOffer(request, metadata, callback) {
postOffer(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +
'/io.bisq.protobuffer.Offers/CreateOffer', request, metadata || {}, this.methodDescriptorCreateOffer, callback);
'/io.bisq.protobuffer.Offers/PostOffer', request, metadata || {}, this.methodDescriptorPostOffer, callback);
}
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Offers/CreateOffer', request, metadata || {}, this.methodDescriptorCreateOffer);
'/io.bisq.protobuffer.Offers/PostOffer', request, metadata || {}, this.methodDescriptorPostOffer);
}
cancelOffer(request, metadata, callback) {
if (callback !== undefined) {
@ -830,9 +830,9 @@ class TradesClient {
this.methodDescriptorConfirmPaymentReceived = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Trades/ConfirmPaymentReceived', grpcWeb.MethodType.UNARY, grpc_pb.ConfirmPaymentReceivedRequest, grpc_pb.ConfirmPaymentReceivedReply, (request) => {
return request.serializeBinary();
}, grpc_pb.ConfirmPaymentReceivedReply.deserializeBinary);
this.methodDescriptorKeepFunds = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Trades/KeepFunds', grpcWeb.MethodType.UNARY, grpc_pb.KeepFundsRequest, grpc_pb.KeepFundsReply, (request) => {
this.methodDescriptorCompleteTrade = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Trades/CompleteTrade', grpcWeb.MethodType.UNARY, grpc_pb.CompleteTradeRequest, grpc_pb.CompleteTradeReply, (request) => {
return request.serializeBinary();
}, grpc_pb.KeepFundsReply.deserializeBinary);
}, grpc_pb.CompleteTradeReply.deserializeBinary);
this.methodDescriptorWithdrawFunds = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Trades/WithdrawFunds', grpcWeb.MethodType.UNARY, grpc_pb.WithdrawFundsRequest, grpc_pb.WithdrawFundsReply, (request) => {
return request.serializeBinary();
}, grpc_pb.WithdrawFundsReply.deserializeBinary);
@ -892,13 +892,13 @@ class TradesClient {
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Trades/ConfirmPaymentReceived', request, metadata || {}, this.methodDescriptorConfirmPaymentReceived);
}
keepFunds(request, metadata, callback) {
completeTrade(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +
'/io.bisq.protobuffer.Trades/KeepFunds', request, metadata || {}, this.methodDescriptorKeepFunds, callback);
'/io.bisq.protobuffer.Trades/CompleteTrade', request, metadata || {}, this.methodDescriptorCompleteTrade, callback);
}
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Trades/KeepFunds', request, metadata || {}, this.methodDescriptorKeepFunds);
'/io.bisq.protobuffer.Trades/CompleteTrade', request, metadata || {}, this.methodDescriptorCompleteTrade);
}
withdrawFunds(request, metadata, callback) {
if (callback !== undefined) {
@ -952,21 +952,6 @@ class WalletsClient {
this.methodDescriptorGetAddressBalance = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/GetAddressBalance', grpcWeb.MethodType.UNARY, grpc_pb.GetAddressBalanceRequest, grpc_pb.GetAddressBalanceReply, (request) => {
return request.serializeBinary();
}, grpc_pb.GetAddressBalanceReply.deserializeBinary);
this.methodDescriptorSendBtc = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/SendBtc', grpcWeb.MethodType.UNARY, grpc_pb.SendBtcRequest, grpc_pb.SendBtcReply, (request) => {
return request.serializeBinary();
}, grpc_pb.SendBtcReply.deserializeBinary);
this.methodDescriptorGetTxFeeRate = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/GetTxFeeRate', grpcWeb.MethodType.UNARY, grpc_pb.GetTxFeeRateRequest, grpc_pb.GetTxFeeRateReply, (request) => {
return request.serializeBinary();
}, grpc_pb.GetTxFeeRateReply.deserializeBinary);
this.methodDescriptorSetTxFeeRatePreference = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/SetTxFeeRatePreference', grpcWeb.MethodType.UNARY, grpc_pb.SetTxFeeRatePreferenceRequest, grpc_pb.SetTxFeeRatePreferenceReply, (request) => {
return request.serializeBinary();
}, grpc_pb.SetTxFeeRatePreferenceReply.deserializeBinary);
this.methodDescriptorUnsetTxFeeRatePreference = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/UnsetTxFeeRatePreference', grpcWeb.MethodType.UNARY, grpc_pb.UnsetTxFeeRatePreferenceRequest, grpc_pb.UnsetTxFeeRatePreferenceReply, (request) => {
return request.serializeBinary();
}, grpc_pb.UnsetTxFeeRatePreferenceReply.deserializeBinary);
this.methodDescriptorGetTransaction = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/GetTransaction', grpcWeb.MethodType.UNARY, grpc_pb.GetTransactionRequest, grpc_pb.GetTransactionReply, (request) => {
return request.serializeBinary();
}, grpc_pb.GetTransactionReply.deserializeBinary);
this.methodDescriptorGetFundingAddresses = new grpcWeb.MethodDescriptor('/io.bisq.protobuffer.Wallets/GetFundingAddresses', grpcWeb.MethodType.UNARY, grpc_pb.GetFundingAddressesRequest, grpc_pb.GetFundingAddressesReply, (request) => {
return request.serializeBinary();
}, grpc_pb.GetFundingAddressesReply.deserializeBinary);
@ -1056,46 +1041,6 @@ class WalletsClient {
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/GetAddressBalance', request, metadata || {}, this.methodDescriptorGetAddressBalance);
}
sendBtc(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/SendBtc', request, metadata || {}, this.methodDescriptorSendBtc, callback);
}
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/SendBtc', request, metadata || {}, this.methodDescriptorSendBtc);
}
getTxFeeRate(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/GetTxFeeRate', request, metadata || {}, this.methodDescriptorGetTxFeeRate, callback);
}
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/GetTxFeeRate', request, metadata || {}, this.methodDescriptorGetTxFeeRate);
}
setTxFeeRatePreference(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/SetTxFeeRatePreference', request, metadata || {}, this.methodDescriptorSetTxFeeRatePreference, callback);
}
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/SetTxFeeRatePreference', request, metadata || {}, this.methodDescriptorSetTxFeeRatePreference);
}
unsetTxFeeRatePreference(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/UnsetTxFeeRatePreference', request, metadata || {}, this.methodDescriptorUnsetTxFeeRatePreference, callback);
}
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/UnsetTxFeeRatePreference', request, metadata || {}, this.methodDescriptorUnsetTxFeeRatePreference);
}
getTransaction(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/GetTransaction', request, metadata || {}, this.methodDescriptorGetTransaction, callback);
}
return this.client_.unaryCall(this.hostname_ +
'/io.bisq.protobuffer.Wallets/GetTransaction', request, metadata || {}, this.methodDescriptorGetTransaction);
}
getFundingAddresses(request, metadata, callback) {
if (callback !== undefined) {
return this.client_.rpcCall(this.hostname_ +

File diff suppressed because one or more lines are too long

View File

@ -1466,46 +1466,46 @@ export namespace GetMyOffersReply {
}
}
export class CreateOfferRequest extends jspb.Message {
export class PostOfferRequest extends jspb.Message {
getCurrencyCode(): string;
setCurrencyCode(value: string): CreateOfferRequest;
setCurrencyCode(value: string): PostOfferRequest;
getDirection(): string;
setDirection(value: string): CreateOfferRequest;
setDirection(value: string): PostOfferRequest;
getPrice(): string;
setPrice(value: string): CreateOfferRequest;
setPrice(value: string): PostOfferRequest;
getUseMarketBasedPrice(): boolean;
setUseMarketBasedPrice(value: boolean): CreateOfferRequest;
setUseMarketBasedPrice(value: boolean): PostOfferRequest;
getMarketPriceMarginPct(): number;
setMarketPriceMarginPct(value: number): CreateOfferRequest;
setMarketPriceMarginPct(value: number): PostOfferRequest;
getAmount(): string;
setAmount(value: string): CreateOfferRequest;
setAmount(value: string): PostOfferRequest;
getMinAmount(): string;
setMinAmount(value: string): CreateOfferRequest;
setMinAmount(value: string): PostOfferRequest;
getBuyerSecurityDepositPct(): number;
setBuyerSecurityDepositPct(value: number): CreateOfferRequest;
setBuyerSecurityDepositPct(value: number): PostOfferRequest;
getTriggerPrice(): string;
setTriggerPrice(value: string): CreateOfferRequest;
setTriggerPrice(value: string): PostOfferRequest;
getPaymentAccountId(): string;
setPaymentAccountId(value: string): CreateOfferRequest;
setPaymentAccountId(value: string): PostOfferRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CreateOfferRequest.AsObject;
static toObject(includeInstance: boolean, msg: CreateOfferRequest): CreateOfferRequest.AsObject;
static serializeBinaryToWriter(message: CreateOfferRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CreateOfferRequest;
static deserializeBinaryFromReader(message: CreateOfferRequest, reader: jspb.BinaryReader): CreateOfferRequest;
toObject(includeInstance?: boolean): PostOfferRequest.AsObject;
static toObject(includeInstance: boolean, msg: PostOfferRequest): PostOfferRequest.AsObject;
static serializeBinaryToWriter(message: PostOfferRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PostOfferRequest;
static deserializeBinaryFromReader(message: PostOfferRequest, reader: jspb.BinaryReader): PostOfferRequest;
}
export namespace CreateOfferRequest {
export namespace PostOfferRequest {
export type AsObject = {
currencyCode: string,
direction: string,
@ -1520,21 +1520,21 @@ export namespace CreateOfferRequest {
}
}
export class CreateOfferReply extends jspb.Message {
export class PostOfferReply extends jspb.Message {
getOffer(): OfferInfo | undefined;
setOffer(value?: OfferInfo): CreateOfferReply;
setOffer(value?: OfferInfo): PostOfferReply;
hasOffer(): boolean;
clearOffer(): CreateOfferReply;
clearOffer(): PostOfferReply;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CreateOfferReply.AsObject;
static toObject(includeInstance: boolean, msg: CreateOfferReply): CreateOfferReply.AsObject;
static serializeBinaryToWriter(message: CreateOfferReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CreateOfferReply;
static deserializeBinaryFromReader(message: CreateOfferReply, reader: jspb.BinaryReader): CreateOfferReply;
toObject(includeInstance?: boolean): PostOfferReply.AsObject;
static toObject(includeInstance: boolean, msg: PostOfferReply): PostOfferReply.AsObject;
static serializeBinaryToWriter(message: PostOfferReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PostOfferReply;
static deserializeBinaryFromReader(message: PostOfferReply, reader: jspb.BinaryReader): PostOfferReply;
}
export namespace CreateOfferReply {
export namespace PostOfferReply {
export type AsObject = {
offer?: OfferInfo.AsObject,
}
@ -1840,6 +1840,11 @@ export class GetPaymentAccountFormRequest extends jspb.Message {
getPaymentMethodId(): string;
setPaymentMethodId(value: string): GetPaymentAccountFormRequest;
getPaymentAccountPayload(): pb_pb.PaymentAccountPayload | undefined;
setPaymentAccountPayload(value?: pb_pb.PaymentAccountPayload): GetPaymentAccountFormRequest;
hasPaymentAccountPayload(): boolean;
clearPaymentAccountPayload(): GetPaymentAccountFormRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetPaymentAccountFormRequest.AsObject;
static toObject(includeInstance: boolean, msg: GetPaymentAccountFormRequest): GetPaymentAccountFormRequest.AsObject;
@ -1851,6 +1856,7 @@ export class GetPaymentAccountFormRequest extends jspb.Message {
export namespace GetPaymentAccountFormRequest {
export type AsObject = {
paymentMethodId: string,
paymentAccountPayload?: pb_pb.PaymentAccountPayload.AsObject,
}
}
@ -2464,34 +2470,34 @@ export namespace GetTradesReply {
}
}
export class KeepFundsRequest extends jspb.Message {
export class CompleteTradeRequest extends jspb.Message {
getTradeId(): string;
setTradeId(value: string): KeepFundsRequest;
setTradeId(value: string): CompleteTradeRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): KeepFundsRequest.AsObject;
static toObject(includeInstance: boolean, msg: KeepFundsRequest): KeepFundsRequest.AsObject;
static serializeBinaryToWriter(message: KeepFundsRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): KeepFundsRequest;
static deserializeBinaryFromReader(message: KeepFundsRequest, reader: jspb.BinaryReader): KeepFundsRequest;
toObject(includeInstance?: boolean): CompleteTradeRequest.AsObject;
static toObject(includeInstance: boolean, msg: CompleteTradeRequest): CompleteTradeRequest.AsObject;
static serializeBinaryToWriter(message: CompleteTradeRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CompleteTradeRequest;
static deserializeBinaryFromReader(message: CompleteTradeRequest, reader: jspb.BinaryReader): CompleteTradeRequest;
}
export namespace KeepFundsRequest {
export namespace CompleteTradeRequest {
export type AsObject = {
tradeId: string,
}
}
export class KeepFundsReply extends jspb.Message {
export class CompleteTradeReply extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): KeepFundsReply.AsObject;
static toObject(includeInstance: boolean, msg: KeepFundsReply): KeepFundsReply.AsObject;
static serializeBinaryToWriter(message: KeepFundsReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): KeepFundsReply;
static deserializeBinaryFromReader(message: KeepFundsReply, reader: jspb.BinaryReader): KeepFundsReply;
toObject(includeInstance?: boolean): CompleteTradeReply.AsObject;
static toObject(includeInstance: boolean, msg: CompleteTradeReply): CompleteTradeReply.AsObject;
static serializeBinaryToWriter(message: CompleteTradeReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CompleteTradeReply;
static deserializeBinaryFromReader(message: CompleteTradeReply, reader: jspb.BinaryReader): CompleteTradeReply;
}
export namespace KeepFundsReply {
export namespace CompleteTradeReply {
export type AsObject = {
}
}
@ -2661,9 +2667,18 @@ export class TradeInfo extends jspb.Message {
getPeriodState(): string;
setPeriodState(value: string): TradeInfo;
getPayoutState(): string;
setPayoutState(value: string): TradeInfo;
getDisputeState(): string;
setDisputeState(value: string): TradeInfo;
getIsDepositPublished(): boolean;
setIsDepositPublished(value: boolean): TradeInfo;
getIsDepositConfirmed(): boolean;
setIsDepositConfirmed(value: boolean): TradeInfo;
getIsDepositUnlocked(): boolean;
setIsDepositUnlocked(value: boolean): TradeInfo;
@ -2676,6 +2691,12 @@ export class TradeInfo extends jspb.Message {
getIsPayoutPublished(): boolean;
setIsPayoutPublished(value: boolean): TradeInfo;
getIsPayoutConfirmed(): boolean;
setIsPayoutConfirmed(value: boolean): TradeInfo;
getIsPayoutUnlocked(): boolean;
setIsPayoutUnlocked(value: boolean): TradeInfo;
getIsCompleted(): boolean;
setIsCompleted(value: boolean): TradeInfo;
@ -2722,11 +2743,16 @@ export namespace TradeInfo {
state: string,
phase: string,
periodState: string,
payoutState: string,
disputeState: string,
isDepositPublished: boolean,
isDepositConfirmed: boolean,
isDepositUnlocked: boolean,
isPaymentSent: boolean,
isPaymentReceived: boolean,
isPayoutPublished: boolean,
isPayoutConfirmed: boolean,
isPayoutUnlocked: boolean,
isCompleted: boolean,
contractAsJson: string,
contract?: ContractInfo.AsObject,
@ -2752,13 +2778,13 @@ export class ContractInfo extends jspb.Message {
getTakerAccountId(): string;
setTakerAccountId(value: string): ContractInfo;
getMakerPaymentAccountPayload(): PaymentAccountPayloadInfo | undefined;
setMakerPaymentAccountPayload(value?: PaymentAccountPayloadInfo): ContractInfo;
getMakerPaymentAccountPayload(): pb_pb.PaymentAccountPayload | undefined;
setMakerPaymentAccountPayload(value?: pb_pb.PaymentAccountPayload): ContractInfo;
hasMakerPaymentAccountPayload(): boolean;
clearMakerPaymentAccountPayload(): ContractInfo;
getTakerPaymentAccountPayload(): PaymentAccountPayloadInfo | undefined;
setTakerPaymentAccountPayload(value?: PaymentAccountPayloadInfo): ContractInfo;
getTakerPaymentAccountPayload(): pb_pb.PaymentAccountPayload | undefined;
setTakerPaymentAccountPayload(value?: pb_pb.PaymentAccountPayload): ContractInfo;
hasTakerPaymentAccountPayload(): boolean;
clearTakerPaymentAccountPayload(): ContractInfo;
@ -2789,8 +2815,8 @@ export namespace ContractInfo {
isBuyerMakerAndSellerTaker: boolean,
makerAccountId: string,
takerAccountId: string,
makerPaymentAccountPayload?: PaymentAccountPayloadInfo.AsObject,
takerPaymentAccountPayload?: PaymentAccountPayloadInfo.AsObject,
makerPaymentAccountPayload?: pb_pb.PaymentAccountPayload.AsObject,
takerPaymentAccountPayload?: pb_pb.PaymentAccountPayload.AsObject,
makerPayoutAddressString: string,
takerPayoutAddressString: string,
lockTime: number,
@ -2798,112 +2824,6 @@ export namespace ContractInfo {
}
}
export class PaymentAccountPayloadInfo extends jspb.Message {
getId(): string;
setId(value: string): PaymentAccountPayloadInfo;
getPaymentMethodId(): string;
setPaymentMethodId(value: string): PaymentAccountPayloadInfo;
getAddress(): string;
setAddress(value: string): PaymentAccountPayloadInfo;
getPaymentDetails(): string;
setPaymentDetails(value: string): PaymentAccountPayloadInfo;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PaymentAccountPayloadInfo.AsObject;
static toObject(includeInstance: boolean, msg: PaymentAccountPayloadInfo): PaymentAccountPayloadInfo.AsObject;
static serializeBinaryToWriter(message: PaymentAccountPayloadInfo, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PaymentAccountPayloadInfo;
static deserializeBinaryFromReader(message: PaymentAccountPayloadInfo, reader: jspb.BinaryReader): PaymentAccountPayloadInfo;
}
export namespace PaymentAccountPayloadInfo {
export type AsObject = {
id: string,
paymentMethodId: string,
address: string,
paymentDetails: string,
}
}
export class TxFeeRateInfo extends jspb.Message {
getUseCustomTxFeeRate(): boolean;
setUseCustomTxFeeRate(value: boolean): TxFeeRateInfo;
getCustomTxFeeRate(): number;
setCustomTxFeeRate(value: number): TxFeeRateInfo;
getFeeServiceRate(): number;
setFeeServiceRate(value: number): TxFeeRateInfo;
getLastFeeServiceRequestTs(): number;
setLastFeeServiceRequestTs(value: number): TxFeeRateInfo;
getMinFeeServiceRate(): number;
setMinFeeServiceRate(value: number): TxFeeRateInfo;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): TxFeeRateInfo.AsObject;
static toObject(includeInstance: boolean, msg: TxFeeRateInfo): TxFeeRateInfo.AsObject;
static serializeBinaryToWriter(message: TxFeeRateInfo, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): TxFeeRateInfo;
static deserializeBinaryFromReader(message: TxFeeRateInfo, reader: jspb.BinaryReader): TxFeeRateInfo;
}
export namespace TxFeeRateInfo {
export type AsObject = {
useCustomTxFeeRate: boolean,
customTxFeeRate: number,
feeServiceRate: number,
lastFeeServiceRequestTs: number,
minFeeServiceRate: number,
}
}
export class TxInfo extends jspb.Message {
getTxId(): string;
setTxId(value: string): TxInfo;
getInputSum(): number;
setInputSum(value: number): TxInfo;
getOutputSum(): number;
setOutputSum(value: number): TxInfo;
getFee(): number;
setFee(value: number): TxInfo;
getSize(): number;
setSize(value: number): TxInfo;
getIsPending(): boolean;
setIsPending(value: boolean): TxInfo;
getMemo(): string;
setMemo(value: string): TxInfo;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): TxInfo.AsObject;
static toObject(includeInstance: boolean, msg: TxInfo): TxInfo.AsObject;
static serializeBinaryToWriter(message: TxInfo, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): TxInfo;
static deserializeBinaryFromReader(message: TxInfo, reader: jspb.BinaryReader): TxInfo;
}
export namespace TxInfo {
export type AsObject = {
txId: string,
inputSum: number,
outputSum: number,
fee: number,
size: number,
isPending: boolean,
memo: string,
}
}
export class GetBalancesRequest extends jspb.Message {
getCurrencyCode(): string;
setCurrencyCode(value: string): GetBalancesRequest;
@ -3360,170 +3280,6 @@ export namespace SendBtcRequest {
}
}
export class SendBtcReply extends jspb.Message {
getTxInfo(): TxInfo | undefined;
setTxInfo(value?: TxInfo): SendBtcReply;
hasTxInfo(): boolean;
clearTxInfo(): SendBtcReply;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SendBtcReply.AsObject;
static toObject(includeInstance: boolean, msg: SendBtcReply): SendBtcReply.AsObject;
static serializeBinaryToWriter(message: SendBtcReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SendBtcReply;
static deserializeBinaryFromReader(message: SendBtcReply, reader: jspb.BinaryReader): SendBtcReply;
}
export namespace SendBtcReply {
export type AsObject = {
txInfo?: TxInfo.AsObject,
}
}
export class GetTxFeeRateRequest extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetTxFeeRateRequest.AsObject;
static toObject(includeInstance: boolean, msg: GetTxFeeRateRequest): GetTxFeeRateRequest.AsObject;
static serializeBinaryToWriter(message: GetTxFeeRateRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetTxFeeRateRequest;
static deserializeBinaryFromReader(message: GetTxFeeRateRequest, reader: jspb.BinaryReader): GetTxFeeRateRequest;
}
export namespace GetTxFeeRateRequest {
export type AsObject = {
}
}
export class GetTxFeeRateReply extends jspb.Message {
getTxFeeRateInfo(): TxFeeRateInfo | undefined;
setTxFeeRateInfo(value?: TxFeeRateInfo): GetTxFeeRateReply;
hasTxFeeRateInfo(): boolean;
clearTxFeeRateInfo(): GetTxFeeRateReply;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetTxFeeRateReply.AsObject;
static toObject(includeInstance: boolean, msg: GetTxFeeRateReply): GetTxFeeRateReply.AsObject;
static serializeBinaryToWriter(message: GetTxFeeRateReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetTxFeeRateReply;
static deserializeBinaryFromReader(message: GetTxFeeRateReply, reader: jspb.BinaryReader): GetTxFeeRateReply;
}
export namespace GetTxFeeRateReply {
export type AsObject = {
txFeeRateInfo?: TxFeeRateInfo.AsObject,
}
}
export class SetTxFeeRatePreferenceRequest extends jspb.Message {
getTxFeeRatePreference(): number;
setTxFeeRatePreference(value: number): SetTxFeeRatePreferenceRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SetTxFeeRatePreferenceRequest.AsObject;
static toObject(includeInstance: boolean, msg: SetTxFeeRatePreferenceRequest): SetTxFeeRatePreferenceRequest.AsObject;
static serializeBinaryToWriter(message: SetTxFeeRatePreferenceRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SetTxFeeRatePreferenceRequest;
static deserializeBinaryFromReader(message: SetTxFeeRatePreferenceRequest, reader: jspb.BinaryReader): SetTxFeeRatePreferenceRequest;
}
export namespace SetTxFeeRatePreferenceRequest {
export type AsObject = {
txFeeRatePreference: number,
}
}
export class SetTxFeeRatePreferenceReply extends jspb.Message {
getTxFeeRateInfo(): TxFeeRateInfo | undefined;
setTxFeeRateInfo(value?: TxFeeRateInfo): SetTxFeeRatePreferenceReply;
hasTxFeeRateInfo(): boolean;
clearTxFeeRateInfo(): SetTxFeeRatePreferenceReply;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SetTxFeeRatePreferenceReply.AsObject;
static toObject(includeInstance: boolean, msg: SetTxFeeRatePreferenceReply): SetTxFeeRatePreferenceReply.AsObject;
static serializeBinaryToWriter(message: SetTxFeeRatePreferenceReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SetTxFeeRatePreferenceReply;
static deserializeBinaryFromReader(message: SetTxFeeRatePreferenceReply, reader: jspb.BinaryReader): SetTxFeeRatePreferenceReply;
}
export namespace SetTxFeeRatePreferenceReply {
export type AsObject = {
txFeeRateInfo?: TxFeeRateInfo.AsObject,
}
}
export class UnsetTxFeeRatePreferenceRequest extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): UnsetTxFeeRatePreferenceRequest.AsObject;
static toObject(includeInstance: boolean, msg: UnsetTxFeeRatePreferenceRequest): UnsetTxFeeRatePreferenceRequest.AsObject;
static serializeBinaryToWriter(message: UnsetTxFeeRatePreferenceRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): UnsetTxFeeRatePreferenceRequest;
static deserializeBinaryFromReader(message: UnsetTxFeeRatePreferenceRequest, reader: jspb.BinaryReader): UnsetTxFeeRatePreferenceRequest;
}
export namespace UnsetTxFeeRatePreferenceRequest {
export type AsObject = {
}
}
export class UnsetTxFeeRatePreferenceReply extends jspb.Message {
getTxFeeRateInfo(): TxFeeRateInfo | undefined;
setTxFeeRateInfo(value?: TxFeeRateInfo): UnsetTxFeeRatePreferenceReply;
hasTxFeeRateInfo(): boolean;
clearTxFeeRateInfo(): UnsetTxFeeRatePreferenceReply;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): UnsetTxFeeRatePreferenceReply.AsObject;
static toObject(includeInstance: boolean, msg: UnsetTxFeeRatePreferenceReply): UnsetTxFeeRatePreferenceReply.AsObject;
static serializeBinaryToWriter(message: UnsetTxFeeRatePreferenceReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): UnsetTxFeeRatePreferenceReply;
static deserializeBinaryFromReader(message: UnsetTxFeeRatePreferenceReply, reader: jspb.BinaryReader): UnsetTxFeeRatePreferenceReply;
}
export namespace UnsetTxFeeRatePreferenceReply {
export type AsObject = {
txFeeRateInfo?: TxFeeRateInfo.AsObject,
}
}
export class GetTransactionRequest extends jspb.Message {
getTxId(): string;
setTxId(value: string): GetTransactionRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetTransactionRequest.AsObject;
static toObject(includeInstance: boolean, msg: GetTransactionRequest): GetTransactionRequest.AsObject;
static serializeBinaryToWriter(message: GetTransactionRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetTransactionRequest;
static deserializeBinaryFromReader(message: GetTransactionRequest, reader: jspb.BinaryReader): GetTransactionRequest;
}
export namespace GetTransactionRequest {
export type AsObject = {
txId: string,
}
}
export class GetTransactionReply extends jspb.Message {
getTxInfo(): TxInfo | undefined;
setTxInfo(value?: TxInfo): GetTransactionReply;
hasTxInfo(): boolean;
clearTxInfo(): GetTransactionReply;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetTransactionReply.AsObject;
static toObject(includeInstance: boolean, msg: GetTransactionReply): GetTransactionReply.AsObject;
static serializeBinaryToWriter(message: GetTransactionReply, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetTransactionReply;
static deserializeBinaryFromReader(message: GetTransactionReply, reader: jspb.BinaryReader): GetTransactionReply;
}
export namespace GetTransactionReply {
export type AsObject = {
txInfo?: TxInfo.AsObject,
}
}
export class GetFundingAddressesRequest extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetFundingAddressesRequest.AsObject;

2906
dist/protobuf/grpc_pb.js vendored

File diff suppressed because it is too large Load Diff

1000
dist/protobuf/pb_pb.d.ts vendored

File diff suppressed because it is too large Load Diff

6900
dist/protobuf/pb_pb.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,6 @@ export default class HavenoUtils {
*
* @param {int} level - log level of the message
* @param {string} msg - message to log
* @param {boolean?} warn - log the message as a warning if true
*/
static log(level: number, msg: string): void;
/**
@ -50,14 +49,21 @@ export default class HavenoUtils {
* @return {BigInt} the amount denominated in atomic units
*/
static centinerosToAtomicUnits(centineros: number): bigint;
/**
* Stringify a payment account form.
*
* @param form - form to stringify
* @return {string} the stringified form
*/
static formToString(form: PaymentAccountForm): string;
/**
* Get a form field value.
*
* @param {PaymentAccountFormField.FieldId} fieldId - id of the field to get the value from
* @param {PaymentAccountForm} form - form to get the field value from
* @param {PaymentAccountFormField.FieldId} fieldId - id of the field to get the value from
* @return {string} the form field value
*/
static getFormValue(fieldId: PaymentAccountFormField.FieldId, form: PaymentAccountForm): string;
static getFormValue(form: PaymentAccountForm, fieldId: PaymentAccountFormField.FieldId): string;
/**
* Set a form field value.
*

View File

@ -31,7 +31,6 @@ class HavenoUtils {
*
* @param {int} level - log level of the message
* @param {string} msg - message to log
* @param {boolean?} warn - log the message as a warning if true
*/
static log(level, msg) {
(0, assert_1.default)(level === parseInt(level + "", 10) && level >= 0, "Log level must be an integer >= 0");
@ -76,15 +75,28 @@ class HavenoUtils {
static centinerosToAtomicUnits(centineros) {
return BigInt(centineros) * BigInt(HavenoUtils.centinerosToAUMultiplier);
}
/**
* Stringify a payment account form.
*
* @param form - form to stringify
* @return {string} the stringified form
*/
static formToString(form) {
let str = "";
for (const field of form.getFieldsList()) {
str += field.getId() + ": " + this.getFormValue(form, field.getId()) + "\n";
}
return str.trim();
}
/**
* Get a form field value.
*
* @param {PaymentAccountFormField.FieldId} fieldId - id of the field to get the value from
* @param {PaymentAccountForm} form - form to get the field value from
* @param {PaymentAccountFormField.FieldId} fieldId - id of the field to get the value from
* @return {string} the form field value
*/
// TODO: attach getter and setter to PaymentAccountForm prototype in typescript?
static getFormValue(fieldId, form) {
static getFormValue(form, fieldId) {
for (const field of form.getFieldsList()) {
if (field.getId() === fieldId)
return field.getValue();

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":"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"}