UNPKG

n8n-nodes-wax

Version:

n8n Community Node Package for the WAX Blockchain

79 lines 3.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WaxGetBalance = void 0; const axios_1 = __importDefault(require("axios")); const util_1 = require("../Wax/resources/util"); class WaxGetBalance { constructor() { this.description = { hidden: true, displayName: 'WAX Get Balance', name: 'waxGetBalance', icon: 'file:wax.svg', group: ['transform'], version: 1, description: 'Get token balance for an account', defaults: { name: 'Get Balance', }, inputs: ['main'], outputs: ['main'], properties: [ { displayName: 'Account Name', name: 'account', type: 'string', default: '', required: true, }, { displayName: 'Token Contract', name: 'contract', type: 'string', default: 'eosio.token', required: true, }, { displayName: 'Symbol', name: 'symbol', type: 'string', default: 'WAX', }, { displayName: 'API Endpoint', name: 'endpoint', type: 'string', default: 'https://wax.greymass.com', required: true, } ], }; } async execute() { var _a; const items = this.getInputData(); const returnData = []; for (let i = 0; i < items.length; i++) { const account = (0, util_1.requireAccountName)(this, this.getNodeParameter('account', i), 'Account Name'); const contract = (0, util_1.requireAccountName)(this, this.getNodeParameter('contract', i), 'Token Contract'); const rawSymbol = this.getNodeParameter('symbol', i); const symbol = rawSymbol ? (0, util_1.requireSymbol)(this, rawSymbol, 'Symbol') : ''; const rawEndpoint = this.getNodeParameter('endpoint', i); const endpoint = (0, util_1.validateEndpoint)(this, rawEndpoint); const payload = { account, code: contract }; if (symbol) payload.symbol = symbol; const { data } = await axios_1.default.post((0, util_1.buildUrl)(endpoint, '/v1/chain/get_currency_balance'), payload); const item = (_a = data.find((item) => item.endsWith(` ${symbol}`))) !== null && _a !== void 0 ? _a : `0 ${symbol}`; const [_balance, _symbol] = item.split(' '); const balance = parseFloat(_balance); returnData.push({ json: { account, contract, symbol, balance } }); } return [returnData]; } } exports.WaxGetBalance = WaxGetBalance; //# sourceMappingURL=WaxGetBalance.node.js.map