OverviewFilesCommitsIssuesDocsReleasesPeers

keet-cli / keet-core-4.14.4-pretty / lib / core / contract / members / legacy.js

68 lines · javascript ref:
const e = require("compact-encoding"),
  i = {
    preencode(i, d) {
      ;(e.fixed32.preencode(i, d.deviceKey),
        e.fixed32.preencode(i, d.noisePublicKey),
        d.attestation
          ? e.buffer.preencode(i, d.attestation)
          : (d.deviceName || d.identityDevicePublicKey) && e.buffer.preencode(i, null))
      let c = 0
      ;(d.deviceName && (c |= 1),
        d.identityDevicePublicKey && (c |= 2),
        e.uint.preencode(i, c),
        d.deviceName && e.string.preencode(i, d.deviceName),
        d.identityDevicePublicKey && e.fixed32.preencode(i, d.identityDevicePublicKey))
    },
    encode(i, d) {
      ;(e.fixed32.encode(i, d.deviceKey),
        e.fixed32.encode(i, d.noisePublicKey),
        d.attestation
          ? e.buffer.encode(i, d.attestation)
          : (d.deviceName || d.identityDevicePublicKey) && e.buffer.encode(i, null))
      let c = 0
      ;(d.deviceName && (c |= 1),
        d.identityDevicePublicKey && (c |= 2),
        e.uint.encode(i, c),
        d.deviceName && e.string.encode(i, d.deviceName),
        d.identityDevicePublicKey && e.fixed32.encode(i, d.identityDevicePublicKey))
    },
    decode(i) {
      const d = {
        deviceKey: e.fixed32.decode(i),
        noisePublicKey: e.fixed32.decode(i),
        attestation: i.start < i.end ? e.buffer.decode(i) : null,
        deviceName: null,
        identityDevicePublicKey: null,
      }
      if (i.start < i.end) {
        const c = e.uint.decode(i)
        ;((d.deviceName = 1 & c ? e.string.decode(i) : null),
          (d.identityDevicePublicKey = 2 & c ? e.fixed32.decode(i) : null))
      }
      return d
    },
  },
  d = {
    preencode(i, d) {
      if ((e.fixed32.preencode(i, d.fastForwardTo), d.deviceProof)) {
        const c = 1
        ;(e.uint.preencode(i, c), e.buffer.preencode(i, d.deviceProof))
      }
    },
    encode(i, d) {
      if ((e.fixed32.encode(i, d.fastForwardTo), d.deviceProof)) {
        const c = 1
        ;(e.uint.encode(i, c), e.buffer.encode(i, d.deviceProof))
      }
    },
    decode(i) {
      const d = { fastForwardTo: null, deviceProof: null }
      return (
        (d.fastForwardTo = e.fixed32.decode(i)),
        i.start < i.end && 1 & e.uint.decode(i) && (d.deviceProof = e.buffer.decode(i)),
        d
      )
    },
  }
module.exports = { InvitationAdditionalData: d, InvitationUserData: i }