@helium/transactions
Version:
Construct and serialize Helium blockchain transaction primatives
77 lines • 2.69 kB
JavaScript
;
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