UNPKG

@bioneisme/greenfield-cli

Version:
67 lines (66 loc) 2.9 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 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) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.transfer = void 0; const sdk_1 = require("../../utils/sdk"); const config_1 = require("../../utils/config"); const web3_utils_1 = __importDefault(require("web3-utils")); const password_1 = require("../../helpers/password"); function transfer(toAddress, amount) { return __awaiter(this, void 0, void 0, function* () { try { const fromAddress = String(config_1.config.get("publicKey")); // TODO: вынести валидацию в отдельный метод if (!web3_utils_1.default.isAddress(fromAddress)) { console.error(`Public key '${fromAddress}' is not a valid address`); return; } if (!web3_utils_1.default.isAddress(toAddress)) { console.error(`Public key '${toAddress}' is not a valid address`); return; } if (Number(amount) <= 0) { console.error(`Amount '${amount}' is not a valid amount`); return; } const transferTx = yield sdk_1.GreenfieldClient.client.account.transfer({ fromAddress, toAddress, amount: [ { denom: "BNB", amount, }, ], }); const simulateInfo = yield transferTx.simulate({ denom: "BNB", }); const privateKey = yield (0, password_1.getPrivateKey)(); const broadcast = yield transferTx.broadcast({ denom: "BNB", gasLimit: Number(simulateInfo.gasLimit), gasPrice: simulateInfo.gasPrice, payer: fromAddress, granter: "", privateKey: String("0x" + privateKey), }); console.log(broadcast); } catch (e) { console.error(e); } }); } exports.transfer = transfer;