bytes.js 839 B

12345678910111213141516171819202122232425262728293031323334
  1. import { getBytesCopy, hexlify } from "../../utils/index.js";
  2. import { Coder } from "./abstract-coder.js";
  3. /**
  4. * @_ignore
  5. */
  6. export class DynamicBytesCoder extends Coder {
  7. constructor(type, localName) {
  8. super(type, type, localName, true);
  9. }
  10. defaultValue() {
  11. return "0x";
  12. }
  13. encode(writer, value) {
  14. value = getBytesCopy(value);
  15. let length = writer.writeValue(value.length);
  16. length += writer.writeBytes(value);
  17. return length;
  18. }
  19. decode(reader) {
  20. return reader.readBytes(reader.readIndex(), true);
  21. }
  22. }
  23. /**
  24. * @_ignore
  25. */
  26. export class BytesCoder extends DynamicBytesCoder {
  27. constructor(localName) {
  28. super("bytes", localName);
  29. }
  30. decode(reader) {
  31. return hexlify(super.decode(reader));
  32. }
  33. }
  34. //# sourceMappingURL=bytes.js.map