const e = require("compact-encoding"),
n = {
preencode(n, t) {
let d = 0
;(t.type && (d |= 1),
t.signature && (d |= 2),
e.uint.preencode(n, d),
e.fixed32.preencode(n, t.key),
t.type && e.uint.preencode(n, t.type),
t.signature && e.buffer.preencode(n, t.signature))
},
encode(n, t) {
let d = 0
;(t.type && (d |= 1),
t.signature && (d |= 2),
e.uint.encode(n, d),
e.fixed32.encode(n, t.key),
t.type && e.uint.encode(n, t.type),
t.signature && e.buffer.encode(n, t.signature))
},
decode(n) {
const t = e.uint.decode(n)
return {
key: e.fixed32.decode(n),
type: 1 & t ? e.uint.decode(n) : 0,
signature: 2 & t ? e.buffer.decode(n) : null,
}
},
}
module.exports = { MirrorRecord: n }