const e = require("compact-encoding"),
{ MemberId: n } = require("../members/messages"),
{ MessageId: d } = require("../chat/messages"),
i = {
preencode(d, i) {
;(n.preencode(d, i.key), e.uint.preencode(d, i.seq))
},
encode(d, i) {
;(n.encode(d, i.key), e.uint.encode(d, i.seq))
},
decode: (d) => ({ key: n.decode(d), seq: e.uint.decode(d) }),
},
o = {
preencode(n, d) {
let i = 0
;(d.link && (i |= 1),
e.uint.preencode(n, i),
e.uint.preencode(n, d.timestamp),
d.link && e.buffer.preencode(n, d.link))
},
encode(n, d) {
let i = 0
;(d.link && (i |= 1),
e.uint.encode(n, i),
e.uint.encode(n, d.timestamp),
d.link && e.buffer.encode(n, d.link))
},
decode(n) {
const d = e.uint.decode(n)
return { timestamp: e.uint.decode(n), link: 1 & d ? e.buffer.decode(n) : null }
},
},
t = {
preencode(n, i) {
let o = 0
;(i.data && (o |= 1),
i.id && (o |= 2),
e.uint.preencode(n, o),
i.data && e.buffer.preencode(n, i.data),
i.id && d.preencode(n, i.id))
},
encode(n, i) {
let o = 0
;(i.data && (o |= 1),
i.id && (o |= 2),
e.uint.encode(n, o),
i.data && e.buffer.encode(n, i.data),
i.id && d.encode(n, i.id))
},
decode(n) {
const i = e.uint.decode(n)
return { data: 1 & i ? e.buffer.decode(n) : null, id: 2 & i ? d.decode(n) : null }
},
},
c = {
preencode(n, d) {
let i = 0
;(d.message && (i |= 1),
d.invitation && (i |= 2),
e.uint.preencode(n, i),
e.uint.preencode(n, d.type),
e.uint.preencode(n, d.timestamp),
e.buffer.preencode(n, d.senderKey),
d.message && e.string.preencode(n, d.message),
d.invitation && e.string.preencode(n, d.invitation))
},
encode(n, d) {
let i = 0
;(d.message && (i |= 1),
d.invitation && (i |= 2),
e.uint.encode(n, i),
e.uint.encode(n, d.type),
e.uint.encode(n, d.timestamp),
e.buffer.encode(n, d.senderKey),
d.message && e.string.encode(n, d.message),
d.invitation && e.string.encode(n, d.invitation))
},
decode(n) {
const d = e.uint.decode(n)
return {
type: e.uint.decode(n),
timestamp: e.uint.decode(n),
senderKey: e.buffer.decode(n),
message: 1 & d ? e.string.decode(n) : null,
invitation: 2 & d ? e.string.decode(n) : null,
}
},
},
r = {
preencode(n, d) {
let i = 0
;(d.blindingKey && (i |= 1),
e.uint.preencode(n, i),
d.blindingKey && e.fixed32.preencode(n, d.blindingKey))
},
encode(n, d) {
let i = 0
;(d.blindingKey && (i |= 1),
e.uint.encode(n, i),
d.blindingKey && e.fixed32.encode(n, d.blindingKey))
},
decode: (n) => ({ blindingKey: 1 & e.uint.decode(n) ? e.fixed32.decode(n) : null }),
}
module.exports = {
MailboxRecordId: i,
MailboxRecord: o,
MailboxRecordV2: t,
MailboxRecordData: c,
OpenMailboxRecord: r,
}