UNPKG

@waku/rln

Version:

RLN (Rate Limiting Nullifier) implementation for Waku

27 lines (24 loc) 741 B
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 };