UNPKG

@helium/transactions

Version:

Construct and serialize Helium blockchain transaction primatives

77 lines 2.69 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.toTicker = exports.toTokenType = exports.toNumber = exports.toString = exports.toAddressable = exports.EMPTY_SIGNATURE = exports.toUint8Array = void 0; const address_1 = __importDefault(require("@helium/address")); const long_1 = __importDefault(require("long")); const types_1 = require("./types"); const toUint8Array = (str) => { if (!str) return new Uint8Array(); if (Buffer.isBuffer(str)) return new Uint8Array(str); if (str instanceof Uint8Array) return str; if (typeof str === 'object' && str.type === 'Buffer' && Array.isArray(str.data)) { return new Uint8Array(str.data); } return Uint8Array.from(Buffer.from(str)); }; exports.toUint8Array = toUint8Array; exports.EMPTY_SIGNATURE = Uint8Array.from(Array(64).fill(0)); const toAddressable = (bin) => { if (bin === undefined || bin === null) return undefined; const buf = Buffer.from(bin); return address_1.default.fromBin(buf); }; exports.toAddressable = toAddressable; const toString = (long) => { if (long === undefined || long === null) return undefined; const jsLong = typeof long === 'number' ? long_1.default.fromNumber(long, true) : long; if (jsLong.isZero()) return undefined; const buff = Buffer.from(jsLong.toBytesLE()); return buff.toString('base64'); }; exports.toString = toString; const toNumber = (long) => { if (long === undefined || long === null) return undefined; if (typeof long === 'number') return long; return long.toNumber(); }; exports.toNumber = toNumber; const toTokenType = ({ ticker, defaultToUndefined, }) => { switch (ticker === null || ticker === void 0 ? void 0 : ticker.toLowerCase()) { case 'hnt': default: return defaultToUndefined ? undefined : types_1.TokenType.hnt; case 'hst': return types_1.TokenType.hst; case 'mobile': return types_1.TokenType.mobile; case 'iot': return types_1.TokenType.iot; } }; exports.toTokenType = toTokenType; const toTicker = (tokenType) => { switch (tokenType) { default: case types_1.TokenType.hnt: return 'hnt'; case types_1.TokenType.hst: return 'hst'; case types_1.TokenType.mobile: return 'mobile'; case types_1.TokenType.iot: return 'iot'; } }; exports.toTicker = toTicker; //# sourceMappingURL=utils.js.map