{"version":3,"file":"bisq.cjs","names":["grpc","_interopRequireWildcard","require","_protoLoader","_path","_interopRequireDefault","_url","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","__dirname","path","dirname","fileURLToPath","import","meta","url","PROTO_PATH","join","Bisq","metadata","ipAddress","clients","bisqProto","constructor","password","packageDefinition","loadSync","keepCase","longs","String","enums","defaults","oneofs","loadPackageDefinition","io","bisq","protobuffer","Metadata","add","validateParameters","#validateParameters","service","method","parameters","fieldDescriptors","requestType","type","field","expectedKeys","map","name","extraKeys","keys","filter","key","includes","length","expectedKeysMessage","Error","callRPCMethod","#callRPCMethod","credentials","createInsecure","Promise","resolve","reject","err","response","disputeAgents","registerDisputeAgent","help","getMethodHelp","offers","getOfferCategory","getBsqSwapOffer","getOffer","getMyBsqSwapOffer","getMyOffer","getBsqSwapOffers","getOffers","getMyBsqSwapOffers","getMyOffers","createBsqSwapOffer","createOffer","editOffer","cancelOffer","paymentAccounts","createPaymentAccount","getPaymentAccounts","getPaymentMethods","getPaymentAccountForm","createCryptoCurrencyPaymentAccount","getCryptoCurrencyPaymentMethods","price","getMarketPrice","getAverageBsqTradePrice","shutdownServer","stop","trades","getTrade","getTrades","takeOffer","confirmPaymentStarted","confirmPaymentStartedXmr","confirmPaymentReceived","closeTrade","failTrade","unFailTrade","withdrawFunds","wallets","getNetwork","getDaoStatus","getBalances","getAddressBalance","getUnusedBsqAddress","sendBsq","sendBtc","verifyBsqSentToAddress","getTxFeeRate","setTxFeeRatePreference","unsetTxFeeRatePreference","getTransactions","getTransaction","getFundingAddresses","setWalletPassword","removeWalletPassword","lockWallet","unlockWallet","getVersion","exports","module"],"sources":["../../lib/bisq.mjs"],"sourcesContent":["import * as grpc from '@grpc/grpc-js'\nimport { loadSync } from '@grpc/proto-loader'\nimport path from 'path'\nimport { fileURLToPath } from 'url'\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\nconst PROTO_PATH = path.join(__dirname, '../proto/grpc.proto')\n\nexport default class Bisq {\n  #metadata\n  #ipAddress\n  #clients = {}\n  #bisqProto\n\n  constructor({ ipAddress, password }) {\n    // Load the protobuf package definition and access the 'io.bisq.protobuffer' namespace\n    const packageDefinition = loadSync(PROTO_PATH, {\n      keepCase: true,\n      longs: String,\n      enums: String,\n      defaults: true,\n      oneofs: true,\n    })\n    this.#bisqProto = grpc.loadPackageDefinition(packageDefinition).io.bisq.protobuffer\n\n    // Token-based authentication, the token should be sent as a metadata item with each request\n    this.#metadata = new grpc.Metadata()\n    this.#metadata.add('password', password)\n\n    // Store the IP address\n    this.#ipAddress = ipAddress\n  }\n\n  #validateParameters(service, method, parameters) {\n    // Access the array of field descriptors for the request type\n    const fieldDescriptors = this.#bisqProto[service].service[method].requestType.type.field\n\n    // Extract the 'name' from each field descriptor as these are the expected parameter keys\n    const expectedKeys = fieldDescriptors.map((field) => field.name)\n\n    const extraKeys = Object.keys(parameters).filter(key => !expectedKeys.includes(key))\n    if (extraKeys.length > 0) {\n      const expectedKeysMessage = expectedKeys.length > 0\n        ? `Expected parameters: ${expectedKeys.join(\", \")}`\n        : \"No parameters expected\"\n      throw new Error(`Unexpected parameters for method ${service}.${method}: ${extraKeys.join(\", \")}. ${expectedKeysMessage}`)\n    }\n  }\n\n  #callRPCMethod(service, method, parameters = {}) {\n    this.#validateParameters(service, method, parameters)\n\n    // Create a new gRPC client instance for the given service if it doesn't exist already\n    this.#clients[service] ??= new this.#bisqProto[service](this.#ipAddress, grpc.credentials.createInsecure())\n    return new Promise((resolve, reject) => {\n      // Invoke the specified gRPC method on the client for the given service\n      this.#clients[service][method](parameters, this.#metadata, (err, response) => {\n        if (err) {\n          reject(err)\n        } else {\n          resolve(response)\n        }\n      })\n    })\n  }\n\n  /**\n   * Define the objects to encapsulate the RPC methods for a specific service\n   * For each object define the API methods to invoke the underlying #callRPCMethod with the appropriate service name and RPC method\n   */\n\n  disputeAgents = {\n    registerDisputeAgent: (parameters) => {\n      return this.#callRPCMethod('DisputeAgents', 'RegisterDisputeAgent', parameters)\n    },\n  }\n\n  help = {\n    getMethodHelp: (parameters) => {\n      return this.#callRPCMethod('Help', 'GetMethodHelp', parameters)\n    },\n  }\n\n  offers = {\n    getOfferCategory: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetOfferCategory', parameters)\n    },\n    getBsqSwapOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetBsqSwapOffer', parameters)\n    },\n    getOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetOffer', parameters)\n    },\n    getMyBsqSwapOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetMyBsqSwapOffer', parameters)\n    },\n    getMyOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetMyOffer', parameters)\n    },\n    getBsqSwapOffers: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetBsqSwapOffers', parameters)\n    },\n    getOffers: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetOffers', parameters)\n    },\n    getMyBsqSwapOffers: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetMyBsqSwapOffers', parameters)\n    },\n    getMyOffers: (parameters) => {\n      return this.#callRPCMethod('Offers', 'GetMyOffers', parameters)\n    },\n    createBsqSwapOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'CreateBsqSwapOffer', parameters)\n    },\n    createOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'CreateOffer', parameters)\n    },\n    editOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'EditOffer', parameters)\n    },\n    cancelOffer: (parameters) => {\n      return this.#callRPCMethod('Offers', 'CancelOffer', parameters)\n    },\n  }\n\n  paymentAccounts = {\n    createPaymentAccount: (parameters) => {\n      return this.#callRPCMethod('PaymentAccounts', 'CreatePaymentAccount', parameters)\n    },\n    getPaymentAccounts: (parameters) => {\n      return this.#callRPCMethod('PaymentAccounts', 'GetPaymentAccounts', parameters)\n    },\n    getPaymentMethods: (parameters) => {\n      return this.#callRPCMethod('PaymentAccounts', 'GetPaymentMethods', parameters)\n    },\n    getPaymentAccountForm: (parameters) => {\n      return this.#callRPCMethod('PaymentAccounts', 'GetPaymentAccountForm', parameters)\n    },\n    createCryptoCurrencyPaymentAccount: (parameters) => {\n      return this.#callRPCMethod('PaymentAccounts', 'CreateCryptoCurrencyPaymentAccount', parameters)\n    },\n    getCryptoCurrencyPaymentMethods: (parameters) => {\n      return this.#callRPCMethod('PaymentAccounts', 'GetCryptoCurrencyPaymentMethods', parameters)\n    },\n  }\n\n  price = {\n    getMarketPrice: (parameters) => {\n      return this.#callRPCMethod('Price', 'GetMarketPrice', parameters)\n    },\n    getAverageBsqTradePrice: (parameters) => {\n      return this.#callRPCMethod('Price', 'GetAverageBsqTradePrice', parameters)\n    },\n  }\n\n  shutdownServer = {\n    stop: (parameters) => {\n      return this.#callRPCMethod('ShutdownServer', 'Stop', parameters)\n    },\n  }\n\n  trades = {\n    getTrade: (parameters) => {\n      return this.#callRPCMethod('Trades', 'GetTrade', parameters)\n    },\n    getTrades: (parameters) => {\n      return this.#callRPCMethod('Trades', 'GetTrades', parameters)\n    },\n    takeOffer: (parameters) => {\n      return this.#callRPCMethod('Trades', 'TakeOffer', parameters)\n    },\n    confirmPaymentStarted: (parameters) => {\n      return this.#callRPCMethod('Trades', 'ConfirmPaymentStarted', parameters)\n    },\n    confirmPaymentStartedXmr: (parameters) => {\n      return this.#callRPCMethod('Trades', 'ConfirmPaymentStartedXmr', parameters)\n    },\n    confirmPaymentReceived: (parameters) => {\n      return this.#callRPCMethod('Trades', 'ConfirmPaymentReceived', parameters)\n    },\n    closeTrade: (parameters) => {\n      return this.#callRPCMethod('Trades', 'CloseTrade', parameters)\n    },\n    failTrade: (parameters) => {\n      return this.#callRPCMethod('Trades', 'FailTrade', parameters)\n    },\n    unFailTrade: (parameters) => {\n      return this.#callRPCMethod('Trades', 'UnFailTrade', parameters)\n    },\n    withdrawFunds: (parameters) => {\n      return this.#callRPCMethod('Trades', 'WithdrawFunds', parameters)\n    },\n  }\n\n  wallets = {\n    getNetwork: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetNetwork', parameters)\n    },\n    getDaoStatus: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetDaoStatus', parameters)\n    },\n    getBalances: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetBalances', parameters)\n    },\n    getAddressBalance: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetAddressBalance', parameters)\n    },\n    getUnusedBsqAddress: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetUnusedBsqAddress', parameters)\n    },\n    sendBsq: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'SendBsq', parameters)\n    },\n    sendBtc: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'SendBtc', parameters)\n    },\n    verifyBsqSentToAddress: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'VerifyBsqSentToAddress', parameters)\n    },\n    getTxFeeRate: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetTxFeeRate', parameters)\n    },\n    setTxFeeRatePreference: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'SetTxFeeRatePreference', parameters)\n    },\n    unsetTxFeeRatePreference: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'UnsetTxFeeRatePreference', parameters)\n    },\n    getTransactions: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetTransactions', parameters)\n    },\n    getTransaction: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetTransaction', parameters)\n    },\n    getFundingAddresses: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'GetFundingAddresses', parameters)\n    },\n    setWalletPassword: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'SetWalletPassword', parameters)\n    },\n    removeWalletPassword: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'RemoveWalletPassword', parameters)\n    },\n    lockWallet: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'LockWallet', parameters)\n    },\n    unlockWallet: (parameters) => {\n      return this.#callRPCMethod('Wallets', 'UnlockWallet', parameters)\n    },\n  }\n\n  getVersion = {\n    getVersion: (parameters) => {\n      return this.#callRPCMethod('GetVersion', 'GetVersion', parameters)\n    },\n  }\n}\n"],"mappings":"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"}