@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
27 lines (24 loc) • 741 B
JavaScript
import { getAddress } from '../../../address/lib.esm/index.js';
import { hexZeroPad } from '../../../bytes/lib.esm/index.js';
import { Coder } from './abstract-coder.js';
class AddressCoder extends Coder {
constructor(localName) {
super("address", "address", localName, false);
}
defaultValue() {
return "0x0000000000000000000000000000000000000000";
}
encode(writer, value) {
try {
value = getAddress(value);
}
catch (error) {
this._throwError(error.message, value);
}
return writer.writeValue(value);
}
decode(reader) {
return getAddress(hexZeroPad(reader.readValue().toHexString(), 20));
}
}
export { AddressCoder };