mirror of
https://github.com/haveno-dex/haveno-ts.git
synced 2024-10-01 01:35:42 -04:00
638 lines
15 KiB
Protocol Buffer
638 lines
15 KiB
Protocol Buffer
/*
|
|
* This file is part of Bisq.
|
|
*
|
|
* Bisq is free software: you can redistribute it and/or modify it
|
|
* under the terms of the GNU Affero General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or (at
|
|
* your option) any later version.
|
|
*
|
|
* Bisq is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
|
* License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with Bisq. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
syntax = "proto3";
|
|
package io.bisq.protobuffer;
|
|
|
|
import "pb.proto";
|
|
|
|
option java_package = "bisq.proto.grpc";
|
|
option java_multiple_files = true;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// DisputeAgents
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service DisputeAgents {
|
|
rpc RegisterDisputeAgent (RegisterDisputeAgentRequest) returns (RegisterDisputeAgentReply) {
|
|
}
|
|
}
|
|
|
|
message RegisterDisputeAgentRequest {
|
|
string disputeAgentType = 1;
|
|
string registrationKey = 2;
|
|
}
|
|
|
|
message RegisterDisputeAgentReply {
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Help
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service Help {
|
|
rpc GetMethodHelp (GetMethodHelpRequest) returns (GetMethodHelpReply) {
|
|
}
|
|
}
|
|
|
|
message GetMethodHelpRequest {
|
|
string methodName = 1;
|
|
}
|
|
|
|
message GetMethodHelpReply {
|
|
string methodHelp = 1;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Offers
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service Offers {
|
|
rpc GetOffer (GetOfferRequest) returns (GetOfferReply) {
|
|
}
|
|
rpc GetMyOffer (GetMyOfferRequest) returns (GetMyOfferReply) {
|
|
}
|
|
rpc GetOffers (GetOffersRequest) returns (GetOffersReply) {
|
|
}
|
|
rpc GetMyOffers (GetMyOffersRequest) returns (GetMyOffersReply) {
|
|
}
|
|
rpc CreateOffer (CreateOfferRequest) returns (CreateOfferReply) {
|
|
}
|
|
rpc CancelOffer (CancelOfferRequest) returns (CancelOfferReply) {
|
|
}
|
|
}
|
|
|
|
message GetOfferRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetOfferReply {
|
|
OfferInfo offer = 1;
|
|
}
|
|
|
|
message GetMyOfferRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetMyOfferReply {
|
|
OfferInfo offer = 1;
|
|
}
|
|
|
|
message GetOffersRequest {
|
|
string direction = 1;
|
|
string currencyCode = 2;
|
|
}
|
|
|
|
message GetOffersReply {
|
|
repeated OfferInfo offers = 1;
|
|
}
|
|
|
|
message GetMyOffersRequest {
|
|
string direction = 1;
|
|
string currencyCode = 2;
|
|
}
|
|
|
|
message GetMyOffersReply {
|
|
repeated OfferInfo offers = 1;
|
|
}
|
|
|
|
message CreateOfferRequest {
|
|
string currencyCode = 1;
|
|
string direction = 2;
|
|
string price = 3;
|
|
bool useMarketBasedPrice = 4;
|
|
double marketPriceMargin = 5;
|
|
uint64 amount = 6;
|
|
uint64 minAmount = 7;
|
|
double buyerSecurityDeposit = 8;
|
|
uint64 triggerPrice = 9;
|
|
string paymentAccountId = 10;
|
|
string makerFeeCurrencyCode = 11;
|
|
}
|
|
|
|
message CreateOfferReply {
|
|
OfferInfo offer = 1;
|
|
}
|
|
|
|
message CancelOfferRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message CancelOfferReply {
|
|
}
|
|
|
|
message OfferInfo {
|
|
string id = 1;
|
|
string direction = 2;
|
|
uint64 price = 3;
|
|
bool useMarketBasedPrice = 4;
|
|
double marketPriceMargin = 5;
|
|
uint64 amount = 6;
|
|
uint64 minAmount = 7;
|
|
uint64 volume = 8;
|
|
uint64 minVolume = 9;
|
|
uint64 buyerSecurityDeposit = 10;
|
|
uint64 triggerPrice = 11;
|
|
bool isCurrencyForMakerFeeBtc = 12;
|
|
string paymentAccountId = 13;
|
|
string paymentMethodId = 14;
|
|
string paymentMethodShortName = 15;
|
|
string baseCurrencyCode = 16;
|
|
string counterCurrencyCode = 17;
|
|
uint64 date = 18;
|
|
string state = 19;
|
|
uint64 sellerSecurityDeposit = 20;
|
|
string offerFeePaymentTxId = 21;
|
|
uint64 txFee = 22;
|
|
uint64 makerFee = 23;
|
|
}
|
|
|
|
message AvailabilityResultWithDescription {
|
|
AvailabilityResult availabilityResult = 1;
|
|
string description = 2;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// PaymentAccounts
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service PaymentAccounts {
|
|
rpc CreatePaymentAccount (CreatePaymentAccountRequest) returns (CreatePaymentAccountReply) {
|
|
}
|
|
rpc GetPaymentAccounts (GetPaymentAccountsRequest) returns (GetPaymentAccountsReply) {
|
|
}
|
|
rpc GetPaymentMethods (GetPaymentMethodsRequest) returns (GetPaymentMethodsReply) {
|
|
}
|
|
rpc GetPaymentAccountForm (GetPaymentAccountFormRequest) returns (GetPaymentAccountFormReply) {
|
|
}
|
|
rpc CreateCryptoCurrencyPaymentAccount (CreateCryptoCurrencyPaymentAccountRequest) returns (CreateCryptoCurrencyPaymentAccountReply) {
|
|
}
|
|
rpc GetCryptoCurrencyPaymentMethods (GetCryptoCurrencyPaymentMethodsRequest) returns (GetCryptoCurrencyPaymentMethodsReply) {
|
|
}
|
|
}
|
|
|
|
message CreatePaymentAccountRequest {
|
|
string paymentAccountForm = 1;
|
|
}
|
|
|
|
message CreatePaymentAccountReply {
|
|
PaymentAccount paymentAccount = 1;
|
|
}
|
|
|
|
message GetPaymentAccountsRequest {
|
|
}
|
|
|
|
message GetPaymentAccountsReply {
|
|
repeated PaymentAccount paymentAccounts = 1;
|
|
}
|
|
|
|
message GetPaymentMethodsRequest {
|
|
}
|
|
|
|
message GetPaymentMethodsReply {
|
|
repeated PaymentMethod paymentMethods = 1;
|
|
}
|
|
|
|
message GetPaymentAccountFormRequest {
|
|
string paymentMethodId = 1;
|
|
}
|
|
|
|
message GetPaymentAccountFormReply {
|
|
string paymentAccountFormJson = 1;
|
|
}
|
|
|
|
message CreateCryptoCurrencyPaymentAccountRequest {
|
|
string accountName = 1;
|
|
string currencyCode = 2;
|
|
string address = 3;
|
|
bool tradeInstant = 4;
|
|
}
|
|
|
|
message CreateCryptoCurrencyPaymentAccountReply {
|
|
PaymentAccount paymentAccount = 1;
|
|
}
|
|
|
|
message GetCryptoCurrencyPaymentMethodsRequest {
|
|
}
|
|
|
|
message GetCryptoCurrencyPaymentMethodsReply {
|
|
repeated PaymentMethod paymentMethods = 1;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Price
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service Price {
|
|
rpc GetMarketPrice (MarketPriceRequest) returns (MarketPriceReply) {
|
|
}
|
|
}
|
|
|
|
message MarketPriceRequest {
|
|
string currencyCode = 1;
|
|
}
|
|
|
|
message MarketPriceReply {
|
|
double price = 1;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// GetTradeStatistics
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service GetTradeStatistics {
|
|
rpc GetTradeStatistics (GetTradeStatisticsRequest) returns (GetTradeStatisticsReply) {
|
|
}
|
|
}
|
|
|
|
message GetTradeStatisticsRequest {
|
|
}
|
|
|
|
message GetTradeStatisticsReply {
|
|
repeated TradeStatistics3 TradeStatistics = 1;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Shutdown
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service ShutdownServer {
|
|
rpc Stop (StopRequest) returns (StopReply) {
|
|
}
|
|
}
|
|
|
|
message StopRequest {
|
|
}
|
|
|
|
message StopReply {
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Trades
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service Trades {
|
|
rpc GetTrade (GetTradeRequest) returns (GetTradeReply) {
|
|
}
|
|
rpc TakeOffer (TakeOfferRequest) returns (TakeOfferReply) {
|
|
}
|
|
rpc ConfirmPaymentStarted (ConfirmPaymentStartedRequest) returns (ConfirmPaymentStartedReply) {
|
|
}
|
|
rpc ConfirmPaymentReceived (ConfirmPaymentReceivedRequest) returns (ConfirmPaymentReceivedReply) {
|
|
}
|
|
rpc KeepFunds (KeepFundsRequest) returns (KeepFundsReply) {
|
|
}
|
|
rpc WithdrawFunds (WithdrawFundsRequest) returns (WithdrawFundsReply) {
|
|
}
|
|
}
|
|
|
|
message TakeOfferRequest {
|
|
string offerId = 1;
|
|
string paymentAccountId = 2;
|
|
string takerFeeCurrencyCode = 3;
|
|
}
|
|
|
|
message TakeOfferReply {
|
|
TradeInfo trade = 1;
|
|
AvailabilityResultWithDescription failureReason = 2;
|
|
}
|
|
|
|
message ConfirmPaymentStartedRequest {
|
|
string tradeId = 1;
|
|
}
|
|
|
|
message ConfirmPaymentStartedReply {
|
|
}
|
|
|
|
message ConfirmPaymentReceivedRequest {
|
|
string tradeId = 1;
|
|
}
|
|
|
|
message ConfirmPaymentReceivedReply {
|
|
}
|
|
|
|
message GetTradeRequest {
|
|
string tradeId = 1;
|
|
}
|
|
|
|
message GetTradeReply {
|
|
TradeInfo trade = 1;
|
|
}
|
|
|
|
message KeepFundsRequest {
|
|
string tradeId = 1;
|
|
}
|
|
|
|
message KeepFundsReply {
|
|
}
|
|
|
|
message WithdrawFundsRequest {
|
|
string tradeId = 1;
|
|
string address = 2;
|
|
string memo = 3;
|
|
}
|
|
|
|
message WithdrawFundsReply {
|
|
}
|
|
|
|
message TradeInfo {
|
|
OfferInfo offer = 1;
|
|
string tradeId = 2;
|
|
string shortId = 3;
|
|
uint64 date = 4;
|
|
string role = 5;
|
|
uint64 txFeeAsLong = 7;
|
|
uint64 takerFeeAsLong = 8;
|
|
string takerFeeTxId = 9;
|
|
reserved 10; // was depositTxId
|
|
string payoutTxId = 11;
|
|
uint64 tradeAmountAsLong = 12;
|
|
uint64 tradePrice = 13;
|
|
string tradingPeerNodeAddress = 14;
|
|
string state = 15;
|
|
string phase = 16;
|
|
string tradePeriodState = 17;
|
|
bool isDepositPublished = 18;
|
|
bool isDepositConfirmed = 19;
|
|
bool isFiatSent = 20;
|
|
bool isFiatReceived = 21;
|
|
bool isPayoutPublished = 22;
|
|
bool isWithdrawn = 23;
|
|
string contractAsJson = 24;
|
|
ContractInfo contract = 25;
|
|
|
|
string makerDepositTxId = 100;
|
|
string takerDepositTxId = 101;
|
|
}
|
|
|
|
message ContractInfo {
|
|
string buyerNodeAddress = 1;
|
|
string sellerNodeAddress = 2;
|
|
reserved 3; // was mediatorNodeAddress
|
|
reserved 4; // was refundAgendNodeAddress
|
|
bool isBuyerMakerAndSellerTaker = 5;
|
|
string makerAccountId = 6;
|
|
string takerAccountId = 7;
|
|
PaymentAccountPayloadInfo makerPaymentAccountPayload = 8;
|
|
PaymentAccountPayloadInfo takerPaymentAccountPayload = 9;
|
|
string makerPayoutAddressString = 10;
|
|
string takerPayoutAddressString = 11;
|
|
uint64 lockTime = 12;
|
|
|
|
string arbitratorNodeAddress = 100;
|
|
}
|
|
|
|
message PaymentAccountPayloadInfo {
|
|
string id = 1;
|
|
string paymentMethodId = 2;
|
|
string address = 3;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Transactions
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
message TxFeeRateInfo {
|
|
bool useCustomTxFeeRate = 1;
|
|
uint64 customTxFeeRate = 2;
|
|
uint64 feeServiceRate = 3;
|
|
uint64 lastFeeServiceRequestTs = 4;
|
|
uint64 minFeeServiceRate = 5;
|
|
}
|
|
|
|
message TxInfo {
|
|
string txId = 1;
|
|
uint64 inputSum = 2;
|
|
uint64 outputSum = 3;
|
|
uint64 fee = 4;
|
|
int32 size = 5;
|
|
bool isPending = 6;
|
|
string memo = 7;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Wallets
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service Wallets {
|
|
rpc GetBalances (GetBalancesRequest) returns (GetBalancesReply) {
|
|
}
|
|
rpc GetAddressBalance (GetAddressBalanceRequest) returns (GetAddressBalanceReply) {
|
|
}
|
|
rpc GetUnusedBsqAddress (GetUnusedBsqAddressRequest) returns (GetUnusedBsqAddressReply) {
|
|
}
|
|
rpc SendBsq (SendBsqRequest) returns (SendBsqReply) {
|
|
}
|
|
rpc SendBtc (SendBtcRequest) returns (SendBtcReply) {
|
|
}
|
|
rpc VerifyBsqSentToAddress (VerifyBsqSentToAddressRequest) returns (VerifyBsqSentToAddressReply) {
|
|
}
|
|
rpc GetTxFeeRate (GetTxFeeRateRequest) returns (GetTxFeeRateReply) {
|
|
}
|
|
rpc SetTxFeeRatePreference (SetTxFeeRatePreferenceRequest) returns (SetTxFeeRatePreferenceReply) {
|
|
}
|
|
rpc UnsetTxFeeRatePreference (UnsetTxFeeRatePreferenceRequest) returns (UnsetTxFeeRatePreferenceReply) {
|
|
}
|
|
rpc GetTransaction (GetTransactionRequest) returns (GetTransactionReply) {
|
|
}
|
|
rpc GetFundingAddresses (GetFundingAddressesRequest) returns (GetFundingAddressesReply) {
|
|
}
|
|
rpc SetWalletPassword (SetWalletPasswordRequest) returns (SetWalletPasswordReply) {
|
|
}
|
|
rpc RemoveWalletPassword (RemoveWalletPasswordRequest) returns (RemoveWalletPasswordReply) {
|
|
}
|
|
rpc LockWallet (LockWalletRequest) returns (LockWalletReply) {
|
|
}
|
|
rpc UnlockWallet (UnlockWalletRequest) returns (UnlockWalletReply) {
|
|
}
|
|
}
|
|
|
|
message GetBalancesRequest {
|
|
string currencyCode = 1;
|
|
}
|
|
|
|
message GetBalancesReply {
|
|
BalancesInfo balances = 1;
|
|
}
|
|
|
|
message GetAddressBalanceRequest {
|
|
string address = 1;
|
|
}
|
|
|
|
message GetAddressBalanceReply {
|
|
AddressBalanceInfo addressBalanceInfo = 1;
|
|
}
|
|
|
|
message GetUnusedBsqAddressRequest {
|
|
}
|
|
|
|
message GetUnusedBsqAddressReply {
|
|
string address = 1;
|
|
}
|
|
|
|
message SendBsqRequest {
|
|
string address = 1;
|
|
string amount = 2;
|
|
string txFeeRate = 3;
|
|
}
|
|
|
|
message SendBsqReply {
|
|
TxInfo txInfo = 1;
|
|
}
|
|
|
|
message SendBtcRequest {
|
|
string address = 1;
|
|
string amount = 2;
|
|
string txFeeRate = 3;
|
|
string memo = 4;
|
|
}
|
|
|
|
message SendBtcReply {
|
|
TxInfo txInfo = 1;
|
|
}
|
|
|
|
message VerifyBsqSentToAddressRequest {
|
|
string address = 1;
|
|
string amount = 2;
|
|
}
|
|
|
|
message VerifyBsqSentToAddressReply {
|
|
bool isAmountReceived = 1;
|
|
}
|
|
|
|
message GetTxFeeRateRequest {
|
|
}
|
|
|
|
message GetTxFeeRateReply {
|
|
TxFeeRateInfo txFeeRateInfo = 1;
|
|
}
|
|
|
|
message SetTxFeeRatePreferenceRequest {
|
|
uint64 txFeeRatePreference = 1;
|
|
}
|
|
|
|
message SetTxFeeRatePreferenceReply {
|
|
TxFeeRateInfo txFeeRateInfo = 1;
|
|
}
|
|
|
|
message UnsetTxFeeRatePreferenceRequest {
|
|
}
|
|
|
|
message UnsetTxFeeRatePreferenceReply {
|
|
TxFeeRateInfo txFeeRateInfo = 1;
|
|
}
|
|
|
|
message GetTransactionRequest {
|
|
string txId = 1;
|
|
}
|
|
|
|
message GetTransactionReply {
|
|
TxInfo txInfo = 1;
|
|
}
|
|
|
|
message GetFundingAddressesRequest {
|
|
}
|
|
|
|
message GetFundingAddressesReply {
|
|
repeated AddressBalanceInfo addressBalanceInfo = 1;
|
|
}
|
|
|
|
message SetWalletPasswordRequest {
|
|
string password = 1;
|
|
string newPassword = 2;
|
|
}
|
|
|
|
message SetWalletPasswordReply {
|
|
}
|
|
|
|
message RemoveWalletPasswordRequest {
|
|
string password = 1;
|
|
}
|
|
|
|
message RemoveWalletPasswordReply {
|
|
}
|
|
|
|
message LockWalletRequest {
|
|
}
|
|
|
|
message LockWalletReply {
|
|
}
|
|
|
|
message UnlockWalletRequest {
|
|
string password = 1;
|
|
uint64 timeout = 2;
|
|
}
|
|
|
|
message UnlockWalletReply {
|
|
}
|
|
|
|
message BalancesInfo {
|
|
// Field names are shortened for readability's sake, i.e.,
|
|
// balancesInfo.getBtc().getAvailableBalance() is cleaner than
|
|
// balancesInfo.getBtcBalanceInfo().getAvailableBalance().
|
|
BsqBalanceInfo bsq = 1;
|
|
BtcBalanceInfo btc = 2;
|
|
XmrBalanceInfo xmr = 3;
|
|
}
|
|
|
|
message BsqBalanceInfo {
|
|
uint64 availableConfirmedBalance = 1;
|
|
uint64 unverifiedBalance = 2;
|
|
uint64 unconfirmedChangeBalance = 3;
|
|
uint64 lockedForVotingBalance = 4;
|
|
uint64 lockupBondsBalance = 5;
|
|
uint64 unlockingBondsBalance = 6;
|
|
}
|
|
|
|
message BtcBalanceInfo {
|
|
uint64 availableBalance = 1;
|
|
uint64 reservedBalance = 2;
|
|
uint64 totalAvailableBalance = 3;
|
|
uint64 lockedBalance = 4;
|
|
}
|
|
|
|
message XmrBalanceInfo {
|
|
uint64 balance = 1;
|
|
uint64 availableBalance = 2;
|
|
uint64 lockedBalance = 3;
|
|
uint64 reservedBalance = 4;
|
|
uint64 totalBalance = 5; // balance + reserved
|
|
}
|
|
|
|
message AddressBalanceInfo {
|
|
string address = 1;
|
|
int64 balance = 2;
|
|
int64 numConfirmations = 3;
|
|
bool isAddressUnused = 4;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
// Version
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
service GetVersion {
|
|
rpc GetVersion (GetVersionRequest) returns (GetVersionReply) {
|
|
}
|
|
}
|
|
|
|
message GetVersionRequest {
|
|
}
|
|
|
|
message GetVersionReply {
|
|
string version = 1;
|
|
}
|