lib/soroban/jsonrpc.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.postObject = postObject;
var _axios = _interopRequireDefault(require("./axios"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** Sends the jsonrpc 'params' as a single 'param' object (no array support). */
async function postObject(url, method, param = null) {
  const response = await _axios.default.post(url, {
    jsonrpc: "2.0",
    // TODO: Generate a unique request id
    id: 1,
    method,
    params: param
  });
  if (hasOwnProperty(response.data, "error")) {
    throw response.data.error;
  } else {
    return response.data?.result;
  }
}

// Check if the given object X has a field Y, and make that available to
// typescript typing.
function hasOwnProperty(obj, prop) {
  return obj.hasOwnProperty(prop);
}