@walletpack/core
Version:
> TODO: description
183 lines (149 loc) • 5.22 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.POST = exports.GET = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _IdGenerator = _interopRequireDefault(require("../../util/IdGenerator"));
var _eosjsEcc = _interopRequireDefault(require("eosjs-ecc"));
// const baseUrl = `http://localhost:6547/v1/`;
var baseUrl = "https://api.get-scatter.com/v1/";
var PROOF_KEY = 'EOS62b3WxfuRyP7JYaDbF3gr49joLWYpsF3kPmo2HPxPuGRDiRUwj';
var getHeaders = function getHeaders() {
var proof = _IdGenerator["default"].text(64);
return [proof, {
'Accept': 'application/json',
'Content-Type': 'application/json',
proof: proof
}];
}; // All API requests must come back signed with the known
// public key associated with the Scatter API
var validate = function validate(proof, res) {
try {
var signedProof = res.headers.get('proof');
if (!signedProof) throw 'Invalid API Request';
if (_eosjsEcc["default"].recover(signedProof, proof) !== PROOF_KEY) throw 'Invalid API Request';
return res.json();
} catch (e) {
throw "Invalid API Request";
}
};
var GET = function GET(route) {
var _getHeaders = getHeaders(),
_getHeaders2 = (0, _slicedToArray2["default"])(_getHeaders, 2),
proof = _getHeaders2[0],
headers = _getHeaders2[1];
return fetch("".concat(baseUrl).concat(route), {
method: 'GET',
mode: 'cors',
headers: headers
}).then(function (res) {
return validate(proof, res);
});
};
exports.GET = GET;
var POST = function POST(route, data) {
var _getHeaders3 = getHeaders(),
_getHeaders4 = (0, _slicedToArray2["default"])(_getHeaders3, 2),
proof = _getHeaders4[0],
headers = _getHeaders4[1];
return fetch("".concat(baseUrl).concat(route), {
method: 'POST',
mode: 'cors',
headers: headers,
body: JSON.stringify(data)
}).then(function (res) {
return validate(proof, res);
});
};
exports.POST = POST;
var BackendApiService =
/*#__PURE__*/
function () {
function BackendApiService() {
(0, _classCallCheck2["default"])(this, BackendApiService);
}
(0, _createClass2["default"])(BackendApiService, null, [{
key: "apps",
// Add an array of applinks to filter only those results.
value: function () {
var _apps2 = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee() {
var _apps,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_apps = _args.length > 0 && _args[0] !== undefined ? _args[0] : [];
return _context.abrupt("return", POST("apps", {
apps: _apps
}));
case 2:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function apps() {
return _apps2.apply(this, arguments);
}
return apps;
}() // ACCOUNT CREATION
}, {
key: "checkMachineId",
value: function () {
var _checkMachineId = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee2(id) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", GET("machine/".concat(id)));
case 1:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function checkMachineId(_x) {
return _checkMachineId.apply(this, arguments);
}
return checkMachineId;
}()
}, {
key: "createAccount",
value: function () {
var _createAccount = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee3(payload) {
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
return _context3.abrupt("return", POST("create_bridge", payload));
case 1:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
function createAccount(_x2) {
return _createAccount.apply(this, arguments);
}
return createAccount;
}()
}]);
return BackendApiService;
}();
exports["default"] = BackendApiService;