const{c:e}=require("hyperschema/runtime");let d=1;const n={preencode(d,n){e.uint.preencode(d,n.version),e.fixed32.preencode(d,n.seed)},encode(d,n){e.uint.encode(d,n.version),e.fixed32.encode(d,n.seed)},decode:d=>({version:e.uint.decode(d),seed:e.fixed32.decode(d)})},c={preencode(d,n){e.fixed32.preencode(d,n.publicKey),d.end++,n.bumped&&e.uint.preencode(d,n.bumped),n.updated&&e.uint.preencode(d,n.updated),n.signature&&e.fixed64.preencode(d,n.signature)},encode(d,n){const c=(n.bumped?1:0)|(n.updated?2:0)|(n.signature?4:0);e.fixed32.encode(d,n.publicKey),e.uint.encode(d,c),n.bumped&&e.uint.encode(d,n.bumped),n.updated&&e.uint.encode(d,n.updated),n.signature&&e.fixed64.encode(d,n.signature)},decode(d){const n=e.fixed32.decode(d),c=e.uint.decode(d);return{publicKey:n,bumped:1&c?e.uint.decode(d):0,updated:2&c?e.uint.decode(d):0,signature:4&c?e.fixed64.decode(d):null}}},o={preencode(d,n){d.end++,n.bump&&e.uint.preencode(d,n.bump)},encode(d,n){const c=n.bump?1:0;e.uint.encode(d,c),n.bump&&e.uint.encode(d,n.bump)},decode:d=>({bump:1&e.uint.decode(d)?e.uint.decode(d):0})},u=e.frame(o),r={preencode(d,n){e.fixed32.preencode(d,n.publicKey),u.preencode(d,n.announce),e.fixed64.preencode(d,n.signature)},encode(d,n){e.fixed32.encode(d,n.publicKey),u.encode(d,n.announce),e.fixed64.encode(d,n.signature)},decode:d=>({publicKey:e.fixed32.decode(d),announce:u.decode(d),signature:e.fixed64.decode(d)})},i={preencode(d,n){e.fixed32.preencode(d,n.publicKey),e.uint.preencode(d,n.since)},encode(d,n){e.fixed32.encode(d,n.publicKey),e.uint.encode(d,n.since)},decode:d=>({publicKey:e.fixed32.decode(d),since:e.uint.decode(d)})},t={preencode(d,n){e.fixed32.preencode(d,n.publicKey)},encode(d,n){e.fixed32.encode(d,n.publicKey)},decode:d=>({publicKey:e.fixed32.decode(d)})},p={preencode(d,n){e.fixed32.preencode(d,n.publicKey),e.uint.preencode(d,n.bumped)},encode(d,n){e.fixed32.encode(d,n.publicKey),e.uint.encode(d,n.bumped)},decode:d=>({publicKey:e.fixed32.decode(d),bumped:e.uint.decode(d)})},s={preencode(d,n){d.end++,n.bumped&&e.uint.preencode(d,n.bumped),n.updated&&e.uint.preencode(d,n.updated),n.signature&&e.fixed64.preencode(d,n.signature)},encode(d,n){const c=(n.bumped?1:0)|(n.updated?2:0)|(n.signature?4:0);e.uint.encode(d,c),n.bumped&&e.uint.encode(d,n.bumped),n.updated&&e.uint.encode(d,n.updated),n.signature&&e.fixed64.encode(d,n.signature)},decode(d){const n=e.uint.decode(d);return{publicKey:null,bumped:1&n?e.uint.decode(d):0,updated:2&n?e.uint.decode(d):0,signature:4&n?e.fixed64.decode(d):null}}};function a(e){switch(e){case"@hyperdiscovery/manifest":return n;case"@hyperdiscovery/swarm":return c;case"@hyperdiscovery/announce":return o;case"@hyperdiscovery/announce-to-swarm":return r;case"@hyperdiscovery/subscribe-to-swarm":return i;case"@hyperdiscovery/unsubscribe-to-swarm":return t;case"@hyperdiscovery/bump-from-swarm":return p;case"@hyperdiscovery/swarm/hyperdb#1":return s;default:throw new Error("Encoder not found "+e)}}function b(e,n=1){const c=a(e);return{preencode(e,o){d=n,c.preencode(e,o)},encode(e,o){d=n,c.encode(e,o)},decode:e=>(d=n,c.decode(e))}}const f=b;module.exports={resolveStruct:f,getStruct:b,getEnum:function(e){throw new Error("Enum not found "+e)},getEncoding:a,encode:function(n,c,o=1){return d=o,e.encode(a(n),c)},decode:function(n,c,o=1){return d=o,e.decode(a(n),c)},setVersion:function(e){d=e},version:d};