n8n-nodes-wax
Version:
n8n Community Node Package for the WAX Blockchain
79 lines • 3.2 kB
JavaScript
;
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