var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
  function adopt(value) {
    return value instanceof P ? value : new P(function (resolve) {
      resolve(value);
    });
  }

  return new (P || (P = Promise))(function (resolve, reject) {
    function fulfilled(value) {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    }

    function rejected(value) {
      try {
        step(generator["throw"](value));
      } catch (e) {
        reject(e);
      }
    }

    function step(result) {
      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
    }

    step((generator = generator.apply(thisArg, _arguments || [])).next());
  });
};

import { http } from "../../utils/http.js";
const balancesEndpoint = 'balances';
const consumedEndpoint = 'consumed';
/**
 * Get the balances with all known peers including prepaid services
 *
 * @param ky Ky debug instance
 */

export function getAllBalances(ky) {
  return __awaiter(this, void 0, void 0, function* () {
    const response = yield http(ky, {
      path: balancesEndpoint,
      responseType: 'json'
    });
    return response.data;
  });
}
/**
 * Get the balances with a specific peer including prepaid services
 *
 * @param ky Ky debug instance
 * @param address Swarm address of peer
 */

export function getPeerBalance(ky, address) {
  return __awaiter(this, void 0, void 0, function* () {
    const response = yield http(ky, {
      path: `${balancesEndpoint}/${address}`,
      responseType: 'json'
    });
    return response.data;
  });
}
/**
 * Get the past due consumption balances with all known peers
 *
 * @param ky Ky debug instance
 */

export function getPastDueConsumptionBalances(ky) {
  return __awaiter(this, void 0, void 0, function* () {
    const response = yield http(ky, {
      path: consumedEndpoint,
      responseType: 'json'
    });
    return response.data;
  });
}
/**
 * Get the past due consumption balance with a specific peer
 *
 * @param ky Ky debug instance
 * @param address Swarm address of peer
 */

export function getPastDueConsumptionPeerBalance(ky, address) {
  return __awaiter(this, void 0, void 0, function* () {
    const response = yield http(ky, {
      path: `${consumedEndpoint}/${address}`,
      responseType: 'json'
    });
    return response.data;
  });
}