UNPKG

eosplayer

Version:

eosplayer is the glue layer of eosjs, which is packaged based on eosjs and provides better usability for the application layer. It can be used on browsers already installed scatter or in Dapp wallets.

161 lines 7.31 kB
'use strict'; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var transcalPayload_1 = require("../model/transcalPayload"); var khRes_1 = require("./khRes"); /** * kh helper, supported kh contract operations * @author kinghand@foxmail.com */ var KhHelper = /** @class */ (function () { /** * initiate with the chain helper * @param {ChainHelper} _chain */ function KhHelper(_chain) { this._chain = _chain; } /** * call kh contract with transfer (match eoskit) * @param {IIdentity} account - {name, authority} * @param {string} target - eos account, can be user or contract * @param {string} quantity - eos asset format, e.p. "1.0000 EOS" * @param {string} func - function name * @param {string} tokenAccount - name of token account * @param {Array} args - arguments of the transcal * @param {Function} cbError - memo * @return {Promise<*>} transactionData */ KhHelper.prototype.transcal = function (account, target, quantity, func, args, cbError, tokenAccount) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this._chain.transfer(account, target, quantity, "@[" + func + ":" + args.join(',') + "]", cbError, tokenAccount)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** * transcal with "0.0001 EOS" token * @param {IIdentity} account - {name, authority} * @param {string} target - eos account, can be user or contract * @param {string} symbolStr * @param {string} func * @param {Array} args - arguments of the transcal * @param {Function} cbError - memo * @return {Promise<*>} */ KhHelper.prototype.transend = function (account, target, symbolStr, func, args, cbError) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.transcal(account, target, "0.0001 " + symbolStr, func, args, cbError)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** * get res helper of (code, sym) * @example kh.res('thecontract', 'WOD') * @param code - the contract's account * @param symStr - symbol of resource */ KhHelper.prototype.res = function (code, symStr) { return new khRes_1.default(this._chain, code, symStr); }; /** * check res of an user * @deprecated - using res(code, symStr).checkBalance(userAccount) instead * @param code - contract name * @param account_name - account of the user * @param symbolStr - symbol string like "EOS" * @return {Promise<Asset>} - returns null if it's not exist. */ KhHelper.prototype.checkResOf = function (code, account_name, symbolStr) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.res(code, symbolStr).checkAsset(account_name)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** * check res of an user * @deprecated - using res(code, symStr).checkInfo() instead * @param code - contract name * @param symbolStr - symbol string like "EOS" * @return {Promise<Asset>} - returns null if it's not exist. */ KhHelper.prototype.checkResInfo = function (code, symbolStr) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.res(code, symbolStr).checkInfo()]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }; /** * parse transcal payload to data structure * @param memo * @return {TranscalPayload} */ KhHelper.prototype.parseTranscalPayload = function (memo) { return transcalPayload_1.TranscalPayload.parse(memo); }; /** * assemble transcal data structure to payload * @param func * @param args * @return {string} */ KhHelper.prototype.assembleTranscalPayload = function (func) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return (new (transcalPayload_1.TranscalPayload.bind.apply(transcalPayload_1.TranscalPayload, [void 0, func].concat(args)))()).memo(); }; return KhHelper; }()); exports.default = KhHelper; //# sourceMappingURL=kh.js.map