UNPKG

@dojima-wallet/connection

Version:

Initialise and connection for layer 1&2 blockchain

109 lines (80 loc) 990 kB
/* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./lib/arweave/client.ts": /*!*******************************!*\ !*** ./lib/arweave/client.ts ***! \*******************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArweaveClient = void 0;\nvar client_1 = __webpack_require__(/*! ../client */ \"./lib/client/index.ts\");\nvar crypto_1 = __webpack_require__(/*! ../crypto */ \"./lib/crypto/index.ts\");\nvar arweave_1 = __importDefault(__webpack_require__(/*! arweave */ \"arweave\"));\nvar arweave_mnemonic_keys_1 = __webpack_require__(/*! arweave-mnemonic-keys */ \"arweave-mnemonic-keys\");\nvar transaction_1 = __webpack_require__(/*! arweave/node/lib/transaction */ \"arweave/node/lib/transaction\");\nvar tx_client_1 = __importDefault(__webpack_require__(/*! ./tx-client */ \"./lib/arweave/tx-client.ts\"));\nvar utils_1 = __webpack_require__(/*! ./utils */ \"./lib/arweave/utils/index.ts\");\nvar swap_utils_1 = __webpack_require__(/*! ../swap_utils */ \"./lib/swap_utils/index.ts\");\nvar ArweaveClient = /** @class */ (function (_super) {\n __extends(ArweaveClient, _super);\n function ArweaveClient(_a) {\n var phrase = _a.phrase, _b = _a.network, network = _b === void 0 ? client_1.Network.Mainnet : _b, config = _a.config;\n var _this = _super.call(this) || this;\n _this.phrase = \"\";\n if (phrase) {\n if (!(0, crypto_1.validatePhrase)(phrase)) {\n throw new Error(\"Invalid phrase\");\n }\n _this.phrase = phrase;\n }\n _this.network = network;\n _this.apiConfig = config;\n // if (this.network === Network.Testnet || this.network === Network.Stagenet) {\n // this.apiConfig = defaultArTestnetConfig;\n // }\n // if (\n // this.network === Network.Testnet &&\n // this.apiConfig === defaultArMainnetConfig\n // ) {\n // throw Error(`'config' params can't be empty for 'testnet'`);\n // }\n _this.arweave = arweave_1.default.init(_this.apiConfig);\n return _this;\n }\n ArweaveClient.prototype.getAddress = function () {\n return __awaiter(this, void 0, void 0, function () {\n var keyPair, address;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, arweave_mnemonic_keys_1.getKeyFromMnemonic)(this.phrase)];\n case 1:\n keyPair = _a.sent();\n return [4 /*yield*/, this.arweave.wallets.jwkToAddress(keyPair)];\n case 2:\n address = _a.sent();\n return [2 /*return*/, address];\n }\n });\n });\n };\n /** testnet tokens in winston */\n ArweaveClient.prototype.mintArTokens = function (address) {\n return __awaiter(this, void 0, void 0, function () {\n var test_ar_amount;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n test_ar_amount = 2000000000000;\n // Mint balance in Arlocal for testing\n return [4 /*yield*/, this.arweave.api.get(\"/mint/\".concat(address, \"/\").concat(test_ar_amount))];\n case 1:\n // Mint balance in Arlocal for testing\n _a.sent();\n return [4 /*yield*/, this.arweave.api.get(\"/mine\")];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n ArweaveClient.prototype.getBalance = function (address) {\n return __awaiter(this, void 0, void 0, function () {\n var wnstBalance, arBalance;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.arweave.wallets.getBalance(address)];\n case 1:\n wnstBalance = _a.sent();\n arBalance = this.arweave.ar.winstonToAr(wnstBalance);\n return [2 /*return*/, Number(arBalance)];\n }\n });\n });\n };\n /** Calculate gasFee required for transaction */\n ArweaveClient.prototype.getFees = function (rawTx) {\n /** Gas fee generated by default during 'createTransaction' */\n var arw_gasFee = Number(rawTx.reward);\n return {\n slow: arw_gasFee,\n average: arw_gasFee,\n fast: arw_gasFee,\n };\n };\n /** Create transaction based on user inputs */\n ArweaveClient.prototype.createTransaction = function (recipient, amount, tag) {\n return __awaiter(this, void 0, void 0, function () {\n var pvtKey, rawTx;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, arweave_mnemonic_keys_1.getKeyFromMnemonic)(this.phrase)];\n case 1:\n pvtKey = _a.sent();\n return [4 /*yield*/, this.arweave.createTransaction({\n target: recipient,\n quantity: this.arweave.ar.arToWinston(amount.toString()),\n tags: tag ? [tag] : [],\n }, pvtKey)];\n case 2:\n rawTx = _a.sent();\n return [2 /*return*/, rawTx];\n }\n });\n });\n };\n /** Sign and Send the transaction */\n ArweaveClient.prototype.signAndSend = function (rawTx) {\n return __awaiter(this, void 0, void 0, function () {\n var pvtKey, status;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, arweave_mnemonic_keys_1.getKeyFromMnemonic)(this.phrase)];\n case 1:\n pvtKey = _a.sent();\n // const pubAddress = await this._arweave.wallets.jwkToAddress(pvtKey);\n /** Sign transaction and retrieve status */\n return [4 /*yield*/, this.arweave.transactions.sign(rawTx, pvtKey)];\n case 2:\n // const pubAddress = await this._arweave.wallets.jwkToAddress(pvtKey);\n /** Sign transaction and retrieve status */\n _a.sent();\n return [4 /*yield*/, this.arweave.transactions.post(rawTx)];\n case 3:\n status = _a.sent();\n return [4 /*yield*/, this.arweave.api.get(\"/mine\")];\n case 4:\n _a.sent();\n if (status.status !== 200)\n throw Error(\"Transaction error or invalid\");\n return [2 /*return*/, rawTx.id];\n }\n });\n });\n };\n ArweaveClient.prototype.transfer = function (_a) {\n var recipient = _a.recipient, amount = _a.amount;\n return __awaiter(this, void 0, void 0, function () {\n var rawTx, txHash;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.createTransaction(recipient, amount)];\n case 1:\n rawTx = _b.sent();\n return [4 /*yield*/, this.signAndSend(rawTx)];\n case 2:\n txHash = _b.sent();\n return [2 /*return*/, txHash];\n }\n });\n });\n };\n /** Get status data using transaction hash / id */\n ArweaveClient.prototype.getTxStatus = function (txHash) {\n return __awaiter(this, void 0, void 0, function () {\n var statusData;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.arweave.transactions.getStatus(txHash)];\n case 1:\n statusData = _a.sent();\n return [2 /*return*/, statusData];\n }\n });\n });\n };\n ArweaveClient.prototype.dummyTx = function (recipient, amount) {\n return __awaiter(this, void 0, void 0, function () {\n var tag, rawTx, txHash;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n tag = new transaction_1.Tag(this.arweave.utils.stringToB64Url(\"memo\"), this.arweave.utils.stringToB64Url(\"NOOP:NOVAULT\"));\n return [4 /*yield*/, this.createTransaction(recipient, amount, tag)];\n case 1:\n rawTx = _a.sent();\n return [4 /*yield*/, this.signAndSend(rawTx)];\n case 2:\n txHash = _a.sent();\n return [2 /*return*/, txHash];\n }\n });\n });\n };\n ArweaveClient.prototype.getTransactionData = function (txHash) {\n return __awaiter(this, void 0, void 0, function () {\n var txData;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getTxData(this.arweave, txHash)];\n case 1:\n txData = _a.sent();\n return [2 /*return*/, txData];\n }\n });\n });\n };\n ArweaveClient.prototype.getTransactionsHistory = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n var txs, txsResult;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getTxsHistory(this.arweave, params.address, params.limit ? params.limit : 100)];\n case 1:\n txs = _a.sent();\n txsResult = {\n total: txs.inner.length,\n txs: txs,\n };\n return [2 /*return*/, txsResult];\n }\n });\n });\n };\n ArweaveClient.prototype.getSwapOutput = function (inputAmount, pool, toDoj) {\n var input = inputAmount * Math.pow(10, utils_1.AR_DECIMAL);\n return (0, swap_utils_1.calcSwapOutput)(input, pool, toDoj);\n };\n ArweaveClient.prototype.getDoubleSwapOutput = function (inputAmount, pool1, pool2) {\n var input = inputAmount * Math.pow(10, utils_1.AR_DECIMAL);\n return (0, swap_utils_1.calcDoubleSwapOutput)(input, pool1, pool2);\n };\n ArweaveClient.prototype.getSwapSlip = function (inputAmount, pool, toDoj) {\n var input = inputAmount * Math.pow(10, utils_1.AR_DECIMAL);\n return (0, swap_utils_1.calcSwapSlip)(input, pool, toDoj);\n };\n ArweaveClient.prototype.getDoubleSwapSlip = function (inputAmount, pool1, pool2) {\n var input = inputAmount * Math.pow(10, utils_1.AR_DECIMAL);\n return (0, swap_utils_1.calcDoubleSwapSlip)(input, pool1, pool2);\n };\n ArweaveClient.prototype.getSwapFeesData = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/];\n });\n });\n };\n ArweaveClient.prototype.getArweaveInboundAddress = function (hermesApiUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, inboundObj, inboundObj;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.network;\n switch (_a) {\n case client_1.Network.Testnet: return [3 /*break*/, 1];\n case client_1.Network.Stagenet: return [3 /*break*/, 3];\n case client_1.Network.Mainnet: return [3 /*break*/, 5];\n }\n return [3 /*break*/, 6];\n case 1: return [4 /*yield*/, (0, swap_utils_1.getTestnetInboundObject)(hermesApiUrl, \"AR\")];\n case 2:\n inboundObj = _b.sent();\n return [2 /*return*/, inboundObj.address];\n case 3: return [4 /*yield*/, (0, swap_utils_1.getStagenetInboundObject)(hermesApiUrl, \"AR\")];\n case 4:\n inboundObj = _b.sent();\n return [2 /*return*/, inboundObj.address];\n case 5:\n {\n return [2 /*return*/, \"\"];\n }\n _b.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n ArweaveClient.prototype.getDefaultLiquidityPoolGasFee = function (hermesApiUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, inboundObj, arGasFee, inboundObj, arGasFee;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.network;\n switch (_a) {\n case client_1.Network.Testnet: return [3 /*break*/, 1];\n case client_1.Network.Stagenet: return [3 /*break*/, 3];\n case client_1.Network.Mainnet: return [3 /*break*/, 5];\n }\n return [3 /*break*/, 6];\n case 1: return [4 /*yield*/, (0, swap_utils_1.getTestnetInboundObject)(hermesApiUrl, \"AR\")];\n case 2:\n inboundObj = _b.sent();\n arGasFee = this.arweave.ar.winstonToAr(inboundObj.gas_rate);\n return [2 /*return*/, Number(arGasFee)];\n case 3: return [4 /*yield*/, (0, swap_utils_1.getStagenetInboundObject)(hermesApiUrl, \"AR\")];\n case 4:\n inboundObj = _b.sent();\n arGasFee = this.arweave.ar.winstonToAr(inboundObj.gas_rate);\n return [2 /*return*/, Number(arGasFee)];\n case 5:\n {\n return [2 /*return*/, 0];\n }\n _b.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n ArweaveClient.prototype.addLiquidityPool = function (amount, inboundAddress, hermesAddress) {\n return __awaiter(this, void 0, void 0, function () {\n var tag, rawTx, txHash;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n tag = hermesAddress\n ? new transaction_1.Tag(this.arweave.utils.stringToB64Url(\"memo\"), this.arweave.utils.stringToB64Url(\"ADD:AR.AR:\".concat(hermesAddress)))\n : new transaction_1.Tag(this.arweave.utils.stringToB64Url(\"memo\"), this.arweave.utils.stringToB64Url(\"ADD:AR.AR\"));\n return [4 /*yield*/, this.createTransaction(inboundAddress, amount, tag)];\n case 1:\n rawTx = _a.sent();\n return [4 /*yield*/, this.signAndSend(rawTx)];\n case 2:\n txHash = _a.sent();\n return [2 /*return*/, txHash];\n }\n });\n });\n };\n ArweaveClient.prototype.swap = function (amount, token, inboundAddress, recipient) {\n return __awaiter(this, void 0, void 0, function () {\n var tag, rawTx, txHash;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n tag = new transaction_1.Tag(this.arweave.utils.stringToB64Url(\"memo\"), this.arweave.utils.stringToB64Url(\"SWAP:\".concat(token, \":\").concat(recipient)));\n return [4 /*yield*/, this.createTransaction(inboundAddress, amount, tag)];\n case 1:\n rawTx = _a.sent();\n return [4 /*yield*/, this.signAndSend(rawTx)];\n case 2:\n txHash = _a.sent();\n return [2 /*return*/, txHash];\n }\n });\n });\n };\n return ArweaveClient;\n}(tx_client_1.default));\nexports.ArweaveClient = ArweaveClient;\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/client.ts?"); /***/ }), /***/ "./lib/arweave/index.ts": /*!******************************!*\ !*** ./lib/arweave/index.ts ***! \******************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./client */ \"./lib/arweave/client.ts\"), exports);\n__exportStar(__webpack_require__(/*! ./tx-client */ \"./lib/arweave/tx-client.ts\"), exports);\n__exportStar(__webpack_require__(/*! ./types */ \"./lib/arweave/types.ts\"), exports);\n__exportStar(__webpack_require__(/*! ./utils */ \"./lib/arweave/utils/index.ts\"), exports);\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/index.ts?"); /***/ }), /***/ "./lib/arweave/tx-client.ts": /*!**********************************!*\ !*** ./lib/arweave/tx-client.ts ***! \**********************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar lodash_1 = __importDefault(__webpack_require__(/*! lodash */ \"lodash\"));\nvar utils_1 = __webpack_require__(/*! ./utils */ \"./lib/arweave/utils/index.ts\");\nvar ArweaveTxClient = /** @class */ (function () {\n function ArweaveTxClient() {\n this.ownerHasNextPage = undefined;\n this.recipientHasNextPage = undefined;\n this.ownerCursor = \"\";\n this.recipientCursor = \"\";\n }\n ArweaveTxClient.prototype.getTxData = function (arweave, hash) {\n return __awaiter(this, void 0, void 0, function () {\n var tx, fromAddress, resultData;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, arweave.transactions.get(hash)];\n case 1:\n tx = _a.sent();\n if (!tx)\n throw Error(\"Failed to get transaction data (tx-hash: \".concat(hash, \")\"));\n return [4 /*yield*/, arweave.wallets.ownerToAddress(tx.owner)];\n case 2:\n fromAddress = _a.sent();\n resultData = {\n transaction_hash: tx.id,\n from: fromAddress,\n to: tx.target,\n value: Number(tx.quantity) / Math.pow(10, utils_1.AR_DECIMAL),\n gas_price: (Number(tx.reward) / Math.pow(10, utils_1.AR_DECIMAL)).toFixed(utils_1.AR_DECIMAL),\n signature: tx.signature,\n };\n return [2 /*return*/, resultData];\n }\n });\n });\n };\n ArweaveTxClient.prototype.getTxsHistory = function (arweave, owner, limit) {\n return __awaiter(this, void 0, void 0, function () {\n var ownerVariables, recipientVariables, txs, outerTxsData, innerTxsData, txsDataFinal, outerLodash, innerLodash;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.ownerCursor !== \"\") {\n ownerVariables = {\n ownersFilter: [owner],\n first: limit ? limit : 100,\n after: this.ownerCursor,\n };\n }\n else {\n ownerVariables = {\n ownersFilter: [owner],\n first: limit ? limit : 100,\n };\n }\n if (this.recipientCursor !== \"\") {\n recipientVariables = {\n ownersFilter: [owner],\n first: limit ? limit : 100,\n after: this.recipientCursor,\n };\n }\n else {\n recipientVariables = {\n ownersFilter: [owner],\n first: limit ? limit : 100,\n };\n }\n outerTxsData = [];\n innerTxsData = [];\n txsDataFinal = {\n outer: outerTxsData,\n inner: innerTxsData,\n };\n if (!(this.ownerHasNextPage === true || this.ownerHasNextPage === undefined)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.getOwnersTxsQueryResult(arweave, ownerVariables)];\n case 1:\n txs = _a.sent();\n this.ownerHasNextPage = txs.pageInfo.hasNextPage;\n if (txs.edges.length > 0) {\n this.ownerCursor = txs.edges[txs.edges.length - 1].cursor;\n txs.edges.map(function (res) {\n var outerResult = {\n timestamp: res.node.block ? \"\".concat(res.node.block.timestamp) : \"-\",\n transaction_hash: res.node.id,\n block: res.node.block ? \"\".concat(res.node.block.height) : \"-\",\n from: res.node.owner.address,\n to: res.node.recipient,\n value: res.node.quantity.ar,\n gas_price: res.node.fee.ar,\n date: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToDateFormat)(res.node.block.timestamp)\n : \"-\",\n time: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToTimeFormat)(res.node.block.timestamp)\n : \"-\",\n };\n outerTxsData.push(outerResult);\n var innerResult = {\n timestamp: res.node.block ? \"\".concat(res.node.block.timestamp) : \"-\",\n transaction_hash: res.node.id,\n block: res.node.block ? \"\".concat(res.node.block.height) : \"-\",\n from: res.node.owner.address,\n to: res.node.recipient,\n value: res.node.quantity.ar,\n gas_price: res.node.fee.ar,\n date: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToDateFormat)(res.node.block.timestamp)\n : \"-\",\n time: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToTimeFormat)(res.node.block.timestamp)\n : \"-\",\n signature: res.node.signature,\n block_hash: res.node.block ? res.node.block.id : \"-\",\n };\n innerTxsData.push(innerResult);\n });\n }\n _a.label = 2;\n case 2:\n if (!(this.recipientHasNextPage === true ||\n this.recipientHasNextPage === undefined)) return [3 /*break*/, 4];\n return [4 /*yield*/, this.getRecipientsTxsQueryResult(arweave, recipientVariables)];\n case 3:\n txs = _a.sent();\n this.recipientHasNextPage = txs.pageInfo.hasNextPage;\n if (txs.edges.length > 0) {\n this.recipientCursor = txs.edges[txs.edges.length - 1].cursor;\n txs.edges.map(function (res) {\n var outerResult = {\n timestamp: res.node.block ? \"\".concat(res.node.block.timestamp) : \"-\",\n transaction_hash: res.node.id,\n block: res.node.block ? \"\".concat(res.node.block.height) : \"-\",\n from: res.node.owner.address,\n to: res.node.recipient,\n value: res.node.quantity.ar,\n gas_price: res.node.fee.ar,\n date: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToDateFormat)(res.node.block.timestamp)\n : \"-\",\n time: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToTimeFormat)(res.node.block.timestamp)\n : \"-\",\n };\n outerTxsData.push(outerResult);\n var innerResult = {\n timestamp: res.node.block ? \"\".concat(res.node.block.timestamp) : \"-\",\n transaction_hash: res.node.id,\n block: res.node.block ? \"\".concat(res.node.block.height) : \"-\",\n from: res.node.owner.address,\n to: res.node.recipient,\n value: res.node.quantity.ar,\n gas_price: res.node.fee.ar,\n date: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToDateFormat)(res.node.block.timestamp)\n : \"-\",\n time: res.node.block && res.node.block.timestamp !== undefined\n ? (0, utils_1.convertTimestampToTimeFormat)(res.node.block.timestamp)\n : \"-\",\n signature: res.node.signature,\n block_hash: res.node.block ? res.node.block.id : \"-\",\n };\n innerTxsData.push(innerResult);\n });\n }\n _a.label = 4;\n case 4:\n if (outerTxsData.length !== 0) {\n outerLodash = lodash_1.default.orderBy(outerTxsData, \"timestamp\", \"desc\");\n txsDataFinal.outer = outerLodash;\n }\n if (innerTxsData.length !== 0) {\n innerLodash = lodash_1.default.orderBy(innerTxsData, \"timestamp\", \"desc\");\n txsDataFinal.inner = innerLodash;\n }\n return [2 /*return*/, txsDataFinal];\n }\n });\n });\n };\n ArweaveTxClient.prototype.getOwnersTxsQueryResult = function (arweave, variables) {\n return __awaiter(this, void 0, void 0, function () {\n var query, response, data, txs;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n query = \"query Transactions($ownersFilter: [String!], $first: Int!, $after: String) {\\n transactions(owners: $ownersFilter, first: $first, sort: HEIGHT_ASC, after: $after) {\\n pageInfo {\\n hasNextPage\\n }\\n edges {\\n node {\\n id\\n owner { address }\\n recipient\\n block {\\n height\\n id\\n timestamp\\n }\\n fee {\\n ar\\n winston\\n }\\n quantity {\\n ar\\n winston\\n }\\n parent { id }\\n signature\\n }\\n cursor\\n }\\n }\\n }\";\n return [4 /*yield*/, arweave.api.post(\"graphql\", {\n query: query,\n variables: variables,\n })];\n case 1:\n response = _a.sent();\n if (response.status !== 200) {\n throw new Error(\"Unable to retrieve transactions. Arweave gateway responded with status \".concat(response.status, \".\"));\n }\n data = response.data;\n txs = data.data.transactions;\n return [2 /*return*/, txs];\n }\n });\n });\n };\n ArweaveTxClient.prototype.getRecipientsTxsQueryResult = function (arweave, variables) {\n return __awaiter(this, void 0, void 0, function () {\n var query, response, data, txs;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n query = \"query Transactions($ownersFilter: [String!], $first: Int!, $after: String) {\\n transactions(recipients: $ownersFilter, first: $first, sort: HEIGHT_ASC, after: $after) {\\n pageInfo {\\n hasNextPage\\n }\\n edges {\\n node {\\n id\\n owner { address }\\n recipient\\n tags {\\n name\\n value\\n }\\n block {\\n height\\n id\\n timestamp\\n }\\n fee {\\n ar\\n winston\\n }\\n quantity {\\n ar\\n winston\\n }\\n parent { id }\\n signature\\n }\\n cursor\\n }\\n }\\n }\";\n return [4 /*yield*/, arweave.api.post(\"graphql\", {\n query: query,\n variables: variables,\n })];\n case 1:\n response = _a.sent();\n if (response.status !== 200) {\n throw new Error(\"Unable to retrieve transactions. Arweave gateway responded with status \".concat(response.status, \".\"));\n }\n data = response.data;\n txs = data.data.transactions;\n return [2 /*return*/, txs];\n }\n });\n });\n };\n return ArweaveTxClient;\n}());\nexports[\"default\"] = ArweaveTxClient;\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/tx-client.ts?"); /***/ }), /***/ "./lib/arweave/types.ts": /*!******************************!*\ !*** ./lib/arweave/types.ts ***! \******************************/ /***/ ((__unused_webpack_module, exports) => { eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/types.ts?"); /***/ }), /***/ "./lib/arweave/utils/const.ts": /*!************************************!*\ !*** ./lib/arweave/utils/const.ts ***! \************************************/ /***/ ((__unused_webpack_module, exports) => { eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AR_DECIMAL = exports.defaultArMainnetConfig = void 0;\nexports.defaultArMainnetConfig = {\n host: \"arweave.net\",\n protocol: \"https\",\n timeout: 100000,\n};\n// export const defaultArTestnetConfig = {\n// host: \"localhost\",\n// port: \"1984\",\n// protocol: \"http\",\n// timeout: 100000,\n// };\nexports.AR_DECIMAL = 12;\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/utils/const.ts?"); /***/ }), /***/ "./lib/arweave/utils/gqlResult.ts": /*!****************************************!*\ !*** ./lib/arweave/utils/gqlResult.ts ***! \****************************************/ /***/ ((__unused_webpack_module, exports) => { eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/utils/gqlResult.ts?"); /***/ }), /***/ "./lib/arweave/utils/index.ts": /*!************************************!*\ !*** ./lib/arweave/utils/index.ts ***! \************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./gqlResult */ \"./lib/arweave/utils/gqlResult.ts\"), exports);\n__exportStar(__webpack_require__(/*! ./util */ \"./lib/arweave/utils/util.ts\"), exports);\n__exportStar(__webpack_require__(/*! ./const */ \"./lib/arweave/utils/const.ts\"), exports);\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/utils/index.ts?"); /***/ }), /***/ "./lib/arweave/utils/util.ts": /*!***********************************!*\ !*** ./lib/arweave/utils/util.ts ***! \***********************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.convertTimestampToTimeFormat = exports.convertTimestampToDateFormat = exports.convertDateToTimestamp = exports.convertISOtoUTC = exports.convertTimestampToDate = void 0;\nvar moment_1 = __importDefault(__webpack_require__(/*! moment */ \"moment\"));\nvar convertTimestampToDate = function (timestamp) {\n var date = (0, moment_1.default)(timestamp).toDate().toUTCString();\n return date;\n};\nexports.convertTimestampToDate = convertTimestampToDate;\nvar convertISOtoUTC = function (date) {\n var utcDate = new Date(date).toUTCString();\n return utcDate;\n};\nexports.convertISOtoUTC = convertISOtoUTC;\nvar convertDateToTimestamp = function (date) {\n var timestamp = (0, moment_1.default)(date).format(\"X\"); // lowercase 'x' for timestamp in milliseconds\n return Number(timestamp);\n};\nexports.convertDateToTimestamp = convertDateToTimestamp;\nvar convertTimestampToDateFormat = function (timestamp) {\n var date = (0, moment_1.default)((0, exports.convertISOtoUTC)((0, exports.convertTimestampToDate)(timestamp * 1000))).format(\"DD/MM/YYYY\");\n return date;\n};\nexports.convertTimestampToDateFormat = convertTimestampToDateFormat;\nvar convertTimestampToTimeFormat = function (timestamp) {\n var date = (0, moment_1.default)((0, exports.convertISOtoUTC)((0, exports.convertTimestampToDate)(timestamp * 1000))).format(\"HH:mm:ss\");\n return date;\n};\nexports.convertTimestampToTimeFormat = convertTimestampToTimeFormat;\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweave/utils/util.ts?"); /***/ }), /***/ "./lib/arweaveInit.ts": /*!****************************!*\ !*** ./lib/arweaveInit.ts ***! \****************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar arweave_1 = __webpack_require__(/*! ./arweave */ \"./lib/arweave/index.ts\");\nvar types_1 = __webpack_require__(/*! @dojima-wallet/types */ \"@dojima-wallet/types\");\nvar ArweaveInit = /** @class */ (function () {\n function ArweaveInit(mnemonic, network) {\n if (network === types_1.Network.Testnet) {\n this.arConnect = new arweave_1.ArweaveClient({\n phrase: mnemonic,\n network: network,\n config: {\n host: \"ar-test-h4s.dojima.network\",\n protocol: \"https\",\n timeout: 100000,\n },\n // config: {\n // host: \"localhost\",\n // port: \"1984\",\n // protocol: \"http\",\n // timeout: 100000,\n // },\n });\n // } else if (network === Network.Stagenet) {\n // this.arConnect = new ArweaveClient({\n // phrase: mnemonic,\n // network: network,\n // config: {\n // host: \"ar.h4s.dojima.network\",\n // protocol: \"https\",\n // timeout: 100000,\n // },\n // });\n }\n else {\n this.arConnect = new arweave_1.ArweaveClient({\n phrase: mnemonic,\n network: network,\n config: {\n host: \"arweave.net\",\n protocol: \"https\",\n timeout: 100000,\n },\n });\n }\n }\n return ArweaveInit;\n}());\nexports[\"default\"] = ArweaveInit;\n\n\n//# sourceURL=webpack://@dojima-wallet/connection/./lib/arweaveInit.ts?"); /***/ }), /***/ "./lib/client/BaseChainClient.ts": /*!***************************************!*\ !*** ./lib/client/BaseChainClient.ts ***! \***************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: