26 lines
977 B
JavaScript
26 lines
977 B
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.makeTopicFromString = exports.makeTopic = void 0;
|
||
|
const hash_1 = require("../utils/hash");
|
||
|
const bytes_1 = require("../utils/bytes");
|
||
|
const hex_1 = require("../utils/hex");
|
||
|
const types_1 = require("../types");
|
||
|
function makeTopic(topic) {
|
||
|
if (typeof topic === 'string') {
|
||
|
return (0, hex_1.makeHexString)(topic, types_1.TOPIC_HEX_LENGTH);
|
||
|
}
|
||
|
else if (topic instanceof Uint8Array) {
|
||
|
(0, bytes_1.assertBytes)(topic, types_1.TOPIC_BYTES_LENGTH);
|
||
|
return (0, hex_1.bytesToHex)(topic, types_1.TOPIC_HEX_LENGTH);
|
||
|
}
|
||
|
throw new TypeError('invalid topic');
|
||
|
}
|
||
|
exports.makeTopic = makeTopic;
|
||
|
function makeTopicFromString(s) {
|
||
|
if (typeof s !== 'string') {
|
||
|
throw new TypeError('topic has to be string!');
|
||
|
}
|
||
|
return (0, hex_1.bytesToHex)((0, hash_1.keccak256Hash)(s), types_1.TOPIC_HEX_LENGTH);
|
||
|
}
|
||
|
exports.makeTopicFromString = makeTopicFromString;
|