bytes.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.BytesCoder = exports.DynamicBytesCoder = void 0;
  4. const index_js_1 = require("../../utils/index.js");
  5. const abstract_coder_js_1 = require("./abstract-coder.js");
  6. /**
  7. * @_ignore
  8. */
  9. class DynamicBytesCoder extends abstract_coder_js_1.Coder {
  10. constructor(type, localName) {
  11. super(type, type, localName, true);
  12. }
  13. defaultValue() {
  14. return "0x";
  15. }
  16. encode(writer, value) {
  17. value = (0, index_js_1.getBytesCopy)(value);
  18. let length = writer.writeValue(value.length);
  19. length += writer.writeBytes(value);
  20. return length;
  21. }
  22. decode(reader) {
  23. return reader.readBytes(reader.readIndex(), true);
  24. }
  25. }
  26. exports.DynamicBytesCoder = DynamicBytesCoder;
  27. /**
  28. * @_ignore
  29. */
  30. class BytesCoder extends DynamicBytesCoder {
  31. constructor(localName) {
  32. super("bytes", localName);
  33. }
  34. decode(reader) {
  35. return (0, index_js_1.hexlify)(super.decode(reader));
  36. }
  37. }
  38. exports.BytesCoder = BytesCoder;
  39. //# sourceMappingURL=bytes.js.map