const e = require("compact-encoding"),
n = require("sub-encoder"),
i = require("b4a"),
{ PluginRecord: r } = require("../plugins/messages"),
{
InternalOperation: o,
GenesisOperation: t,
UpgradeOperation: a,
AddPluginOperation: s,
} = require("./ops"),
c = i.from([0]),
d = i.from([0]),
g = i.from([1]),
u = i.from([2]),
p = new n(c)
module.exports = class {
static CodeVersionKey = i.from([1])
static ExperimentalModeKey = i.from([2])
static UpgraderEncoding = { keyEncoding: p.sub(d), valueEncoding: e.uint }
static PluginsEncoding = { keyEncoding: p.sub(g, e.uint), valueEncoding: r }
static ConfigEncoding = { keyEncoding: p.sub(u, e.string), valueEncoding: e.buffer }
static Operations = {
InternalOperation: o,
GenesisOperation: t,
UpgradeOperation: a,
AddPluginOperation: s,
}
}