123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519 |
- "use strict";
- var _Object$keys2 = require("@babel/runtime-corejs3/core-js-stable/object/keys");
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
- var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
- var _forEachInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
- var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
- _Object$defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
- var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
- var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
- var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
- var _stringify = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/json/stringify"));
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
- function ownKeys(object, enumerableOnly) {
- var keys = _Object$keys2(object);
- if (_Object$getOwnPropertySymbols) {
- var symbols = _Object$getOwnPropertySymbols(object);
- enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) {
- return _Object$getOwnPropertyDescriptor(object, sym).enumerable;
- })), keys.push.apply(keys, symbols);
- }
- return keys;
- }
- function _objectSpread(target) {
- for (var i = 1; i < arguments.length; i++) {
- var _context10, _context11;
- var source = null != arguments[i] ? arguments[i] : {};
- i % 2 ? _forEachInstanceProperty2(_context10 = ownKeys(Object(source), !0)).call(_context10, function (key) {
- (0, _defineProperty2.default)(target, key, source[key]);
- }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty2(_context11 = ownKeys(Object(source))).call(_context11, function (key) {
- _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key));
- });
- }
- return target;
- }
- /**
- * Automatically generated code, via genSolanaAPI.js
- * Do not modify manually
- */
- var axios = require('axios');
- var SolanaApi = /*#__PURE__*/function () {
- function SolanaApi() {
- (0, _classCallCheck2.default)(this, SolanaApi);
- }
- (0, _createClass2.default)(SolanaApi, null, [{
- key: "initialize",
- value: // URL will be changed when api is deployed
- function (_ref) {
- var apiKey = _ref.apiKey,
- serverUrl = _ref.serverUrl,
- _ref$Moralis = _ref.Moralis,
- Moralis = _ref$Moralis === void 0 ? null : _ref$Moralis;
- if (!serverUrl && !apiKey) {
- throw new Error('SolanaApi.initialize failed: initialize with apiKey or serverUrl');
- }
- if (apiKey) this.apiKey = apiKey;
- if (serverUrl) this.serverUrl = serverUrl;
- this.Moralis = Moralis;
- }
- }, {
- key: "getBody",
- value: function (params, bodyParams) {
- var _this = this;
- if (!params || !bodyParams || !bodyParams.length) {
- return undefined;
- }
- var body = {};
- (0, _forEach.default)(bodyParams).call(bodyParams, function (_ref2) {
- var key = _ref2.key,
- type = _ref2.type,
- required = _ref2.required;
- if (params[key] === undefined) {
- if (required) throw new Error("param ".concat(key, " is required!"));
- } else if (type === _this.BodyParamTypes.setBody) {
- body = params[key];
- } else {
- body[key] = params[key];
- } // remove the param so it doesn't also get added as a query param
- delete params[key];
- });
- return body;
- }
- }, {
- key: "getParameterizedUrl",
- value: function (url, params) {
- var _context;
- if (!(0, _keys.default)(params).length) return url; // find url params, they start with :
- var requiredParams = (0, _filter.default)(_context = url.split('/')).call(_context, function (s) {
- return s && (0, _includes.default)(s).call(s, ':');
- });
- if (!requiredParams.length) return url;
- var parameterizedUrl = url;
- (0, _forEach.default)(requiredParams).call(requiredParams, function (p) {
- // strip the : and replace with param value
- var key = p.substr(1);
- var value = params[key];
- if (!value) {
- throw new Error("required param ".concat(key, " not provided"));
- }
- parameterizedUrl = parameterizedUrl.replace(p, value); // remove required param from param list
- // so it doesn't become part of the query params
- delete params[key];
- });
- return parameterizedUrl;
- }
- }, {
- key: "getApiRateLimitInfo",
- value: function (headers) {
- return {
- 'x-rate-limit-limit': headers['x-rate-limit-limit'],
- 'x-rate-limit-remaining-ttl': headers['x-rate-limit-remaining-ttl'],
- 'x-rate-limit-used': headers['x-rate-limit-used'],
- 'x-rate-limit-remaining-ip-ttl': headers['x-rate-limit-remaining-ip-ttl'],
- 'x-rate-limit-ip-used': headers['x-rate-limit-ip-used']
- };
- }
- }, {
- key: "getErrorMessage",
- value: function (error, url) {
- var _error$response, _error$response$data;
- return (error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.message) || (error === null || error === void 0 ? void 0 : error.message) || (error === null || error === void 0 ? void 0 : error.toString()) || "Solana API error while calling ".concat(url);
- }
- }, {
- key: "fetch",
- value: function () {
- var _fetch = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref3) {
- var endpoint, providedParams, params, User, user;
- return _regenerator.default.wrap(function (_context2) {
- while (1) {
- switch (_context2.prev = _context2.next) {
- case 0:
- endpoint = _ref3.endpoint, providedParams = _ref3.params; // Make a shallow copy to prevent modification of original params
- params = _objectSpread({}, providedParams);
- if (this.Moralis) {
- User = this.Moralis.User;
- user = User.current();
- if (!params.address) {
- if (user) {
- params.address = user.get('solAddress');
- }
- }
- }
- if (!params.network) params.network = 'mainnet';
- if (!params.responseType) params.responseType = 'native';
- if (this.apiKey) {
- _context2.next = 7;
- break;
- }
- return _context2.abrupt("return", this.fetchFromServer(endpoint.name, params));
- case 7:
- return _context2.abrupt("return", this.fetchFromApi(endpoint, params));
- case 8:
- case "end":
- return _context2.stop();
- }
- }
- }, _callee, this);
- }));
- return function () {
- return _fetch.apply(this, arguments);
- };
- }()
- }, {
- key: "fetchFromApi",
- value: function () {
- var _fetchFromApi = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(endpoint, params) {
- var _endpoint$method, method, url, bodyParams, parameterizedUrl, body, response, _error$response2, status, headers, data, msg;
- return _regenerator.default.wrap(function (_context3) {
- while (1) {
- switch (_context3.prev = _context3.next) {
- case 0:
- _endpoint$method = endpoint.method, method = _endpoint$method === void 0 ? 'GET' : _endpoint$method, url = endpoint.url, bodyParams = endpoint.bodyParams;
- _context3.prev = 1;
- parameterizedUrl = this.getParameterizedUrl(url, params);
- body = this.getBody(params, bodyParams);
- _context3.next = 6;
- return axios(this.baseURL + parameterizedUrl, {
- params: params,
- method: method,
- body: body,
- headers: {
- Accept: 'application/json',
- 'Content-Type': 'application/json',
- 'x-api-key': this.apiKey
- }
- });
- case 6:
- response = _context3.sent;
- return _context3.abrupt("return", response.data);
- case 10:
- _context3.prev = 10;
- _context3.t0 = _context3["catch"](1);
- _error$response2 = _context3.t0.response, status = _error$response2.status, headers = _error$response2.headers, data = _error$response2.data;
- if (status === 429) {
- msg = "This Moralis Server is rate-limited because of the plan restrictions. See the details about the current rate and throttle limits: ".concat((0, _stringify.default)(this.getApiRateLimitInfo(headers)));
- } else {
- msg = this.getApiErrorMessage(_context3.t0, url);
- }
- throw new Error(msg);
- case 15:
- case "end":
- return _context3.stop();
- }
- }
- }, _callee2, this, [[1, 10]]);
- }));
- return function () {
- return _fetchFromApi.apply(this, arguments);
- };
- }()
- }, {
- key: "fetchFromServer",
- value: function () {
- var _fetchFromServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(name, options) {
- var http, user, response, _error$response3, _error$response3$data;
- return _regenerator.default.wrap(function (_context4) {
- while (1) {
- switch (_context4.prev = _context4.next) {
- case 0:
- if (this.serverUrl) {
- _context4.next = 2;
- break;
- }
- throw new Error('SolanaAPI not initialized, run Moralis.start() first');
- case 2:
- _context4.prev = 2;
- http = axios.create({
- baseURL: this.serverUrl
- });
- user = this.Moralis.User.current();
- if (user) {
- options._SessionToken = user.attributes.sessionToken;
- options._ApplicationId = this.Moralis.applicationId;
- }
- _context4.next = 8;
- return http.post("/functions/sol-".concat(name), options, {
- headers: {
- Accept: 'application/json',
- 'Content-Type': 'application/json'
- }
- });
- case 8:
- response = _context4.sent;
- return _context4.abrupt("return", response.data.result);
- case 12:
- _context4.prev = 12;
- _context4.t0 = _context4["catch"](2);
- if (!((_error$response3 = _context4.t0.response) !== null && _error$response3 !== void 0 && (_error$response3$data = _error$response3.data) !== null && _error$response3$data !== void 0 && _error$response3$data.error)) {
- _context4.next = 16;
- break;
- }
- throw new Error(_context4.t0.response.data.error);
- case 16:
- throw _context4.t0;
- case 17:
- case "end":
- return _context4.stop();
- }
- }
- }, _callee3, this, [[2, 12]]);
- }));
- return function () {
- return _fetchFromServer.apply(this, arguments);
- };
- }()
- }]);
- return SolanaApi;
- }();
- (0, _defineProperty2.default)(SolanaApi, "baseURL", 'https://solana-gateway.moralis.io');
- (0, _defineProperty2.default)(SolanaApi, "BodyParamTypes", {
- setBody: 'set body',
- property: 'property'
- });
- (0, _defineProperty2.default)(SolanaApi, "account", {
- balance: function () {
- var _balance = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
- var options,
- _args4 = arguments;
- return _regenerator.default.wrap(function (_context5) {
- while (1) {
- switch (_context5.prev = _context5.next) {
- case 0:
- options = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {};
- return _context5.abrupt("return", SolanaApi.fetch({
- endpoint: {
- "method": "GET",
- "group": "account",
- "name": "balance",
- "url": "/account/:network/:address/balance"
- },
- params: options
- }));
- case 2:
- case "end":
- return _context5.stop();
- }
- }
- }, _callee4);
- }));
- return function () {
- return _balance.apply(this, arguments);
- };
- }(),
- getSPL: function () {
- var _getSPL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
- var options,
- _args5 = arguments;
- return _regenerator.default.wrap(function (_context6) {
- while (1) {
- switch (_context6.prev = _context6.next) {
- case 0:
- options = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
- return _context6.abrupt("return", SolanaApi.fetch({
- endpoint: {
- "method": "GET",
- "group": "account",
- "name": "getSPL",
- "url": "/account/:network/:address/tokens"
- },
- params: options
- }));
- case 2:
- case "end":
- return _context6.stop();
- }
- }
- }, _callee5);
- }));
- return function () {
- return _getSPL.apply(this, arguments);
- };
- }(),
- getNFTs: function () {
- var _getNFTs = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
- var options,
- _args6 = arguments;
- return _regenerator.default.wrap(function (_context7) {
- while (1) {
- switch (_context7.prev = _context7.next) {
- case 0:
- options = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {};
- return _context7.abrupt("return", SolanaApi.fetch({
- endpoint: {
- "method": "GET",
- "group": "account",
- "name": "getNFTs",
- "url": "/account/:network/:address/nft"
- },
- params: options
- }));
- case 2:
- case "end":
- return _context7.stop();
- }
- }
- }, _callee6);
- }));
- return function () {
- return _getNFTs.apply(this, arguments);
- };
- }(),
- getPortfolio: function () {
- var _getPortfolio = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
- var options,
- _args7 = arguments;
- return _regenerator.default.wrap(function (_context8) {
- while (1) {
- switch (_context8.prev = _context8.next) {
- case 0:
- options = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : {};
- return _context8.abrupt("return", SolanaApi.fetch({
- endpoint: {
- "method": "GET",
- "group": "account",
- "name": "getPortfolio",
- "url": "/account/:network/:address/portfolio"
- },
- params: options
- }));
- case 2:
- case "end":
- return _context8.stop();
- }
- }
- }, _callee7);
- }));
- return function () {
- return _getPortfolio.apply(this, arguments);
- };
- }()
- });
- (0, _defineProperty2.default)(SolanaApi, "nft", {
- getNFTMetadata: function () {
- var _getNFTMetadata = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
- var options,
- _args8 = arguments;
- return _regenerator.default.wrap(function (_context9) {
- while (1) {
- switch (_context9.prev = _context9.next) {
- case 0:
- options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {};
- return _context9.abrupt("return", SolanaApi.fetch({
- endpoint: {
- "method": "GET",
- "group": "nft",
- "name": "getNFTMetadata",
- "url": "/nft/:network/:address/metadata"
- },
- params: options
- }));
- case 2:
- case "end":
- return _context9.stop();
- }
- }
- }, _callee8);
- }));
- return function () {
- return _getNFTMetadata.apply(this, arguments);
- };
- }()
- });
- var _default = SolanaApi;
- exports.default = _default;
|