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 }