Skip to main content
Glama
binary.js12 kB
"use strict"; //@ts-nocheck /** * This file and any referenced files were automatically generated by @cosmology/telescope@1.5.4 * DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain * and run the transpile command or yarn proto command to regenerate this bundle. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.BinaryWriter = exports.BinaryReader = exports.WireType = void 0; // Copyright (c) 2016, Daniel Wirtz All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // * Neither the name of its author, nor the names of its contributors // may be used to endorse or promote products derived from this software // without specific prior written permission. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // --- // Code generated by the command line utilities is owned by the owner // of the input file used when generating it. This code is not // standalone and requires a support library to be linked with it. This // support library is itself covered by the above license. const utf8_1 = require("./utf8"); const varint_1 = require("./varint"); var WireType; (function (WireType) { WireType[WireType["Varint"] = 0] = "Varint"; WireType[WireType["Fixed64"] = 1] = "Fixed64"; WireType[WireType["Bytes"] = 2] = "Bytes"; WireType[WireType["Fixed32"] = 5] = "Fixed32"; })(WireType || (exports.WireType = WireType = {})); class BinaryReader { buf; pos; type; len; assertBounds() { if (this.pos > this.len) throw new RangeError("premature EOF"); } constructor(buf) { this.buf = buf ? new Uint8Array(buf) : new Uint8Array(0); this.pos = 0; this.type = 0; this.len = this.buf.length; } tag() { const tag = this.uint32(), fieldNo = tag >>> 3, wireType = tag & 7; if (fieldNo <= 0 || wireType < 0 || wireType > 5) throw new Error("illegal tag: field no " + fieldNo + " wire type " + wireType); return [fieldNo, wireType, tag]; } skip(length) { if (typeof length === "number") { if (this.pos + length > this.len) throw indexOutOfRange(this, length); this.pos += length; } else { do { if (this.pos >= this.len) throw indexOutOfRange(this); } while (this.buf[this.pos++] & 128); } return this; } skipType(wireType) { switch (wireType) { case WireType.Varint: this.skip(); break; case WireType.Fixed64: this.skip(8); break; case WireType.Bytes: this.skip(this.uint32()); break; case 3: while ((wireType = this.uint32() & 7) !== 4) { this.skipType(wireType); } break; case WireType.Fixed32: this.skip(4); break; /* istanbul ignore next */ default: throw Error("invalid wire type " + wireType + " at offset " + this.pos); } return this; } uint32() { return varint_1.varint32read.bind(this)(); } int32() { return this.uint32() | 0; } sint32() { const num = this.uint32(); return num % 2 === 1 ? (num + 1) / -2 : num / 2; // zigzag encoding } fixed32() { const val = (0, varint_1.readUInt32)(this.buf, this.pos); this.pos += 4; return val; } sfixed32() { const val = (0, varint_1.readInt32)(this.buf, this.pos); this.pos += 4; return val; } int64() { const [lo, hi] = varint_1.varint64read.bind(this)(); return BigInt((0, varint_1.int64ToString)(lo, hi)); } uint64() { const [lo, hi] = varint_1.varint64read.bind(this)(); return BigInt((0, varint_1.uInt64ToString)(lo, hi)); } sint64() { let [lo, hi] = varint_1.varint64read.bind(this)(); // zig zag [lo, hi] = (0, varint_1.zzDecode)(lo, hi); return BigInt((0, varint_1.int64ToString)(lo, hi)); } fixed64() { const lo = this.sfixed32(); const hi = this.sfixed32(); return BigInt((0, varint_1.uInt64ToString)(lo, hi)); } sfixed64() { const lo = this.sfixed32(); const hi = this.sfixed32(); return BigInt((0, varint_1.int64ToString)(lo, hi)); } float() { throw new Error("float not supported"); } double() { throw new Error("double not supported"); } bool() { const [lo, hi] = varint_1.varint64read.bind(this)(); return lo !== 0 || hi !== 0; } bytes() { const len = this.uint32(), start = this.pos; this.pos += len; this.assertBounds(); return this.buf.subarray(start, start + len); } string() { const bytes = this.bytes(); return (0, utf8_1.utf8Read)(bytes, 0, bytes.length); } } exports.BinaryReader = BinaryReader; class Op { fn; len; val; next; constructor(fn, len, val) { this.fn = fn; this.len = len; this.val = val; } proceed(buf, pos) { if (this.fn) { this.fn(this.val, buf, pos); } } } class State { head; tail; len; next; constructor(writer) { this.head = writer.head; this.tail = writer.tail; this.len = writer.len; this.next = writer.states; } } class BinaryWriter { len = 0; head; tail; states; constructor() { this.head = new Op(null, 0, 0); this.tail = this.head; this.states = null; } static create() { return new BinaryWriter(); } static alloc(size) { if (typeof Uint8Array !== "undefined") { return pool((size) => new Uint8Array(size), Uint8Array.prototype.subarray)(size); } else { return new Array(size); } } _push(fn, len, val) { this.tail = this.tail.next = new Op(fn, len, val); this.len += len; return this; } finish() { let head = this.head.next, pos = 0; const buf = BinaryWriter.alloc(this.len); while (head) { head.proceed(buf, pos); pos += head.len; head = head.next; } return buf; } fork() { this.states = new State(this); this.head = this.tail = new Op(null, 0, 0); this.len = 0; return this; } reset() { if (this.states) { this.head = this.states.head; this.tail = this.states.tail; this.len = this.states.len; this.states = this.states.next; } else { this.head = this.tail = new Op(null, 0, 0); this.len = 0; } return this; } ldelim() { const head = this.head, tail = this.tail, len = this.len; this.reset().uint32(len); if (len) { this.tail.next = head.next; // skip noop this.tail = tail; this.len += len; } return this; } tag(fieldNo, type) { return this.uint32(((fieldNo << 3) | type) >>> 0); } uint32(value) { this.len += (this.tail = this.tail.next = new Op(varint_1.writeVarint32, (value = value >>> 0) < 128 ? 1 : value < 16384 ? 2 : value < 2097152 ? 3 : value < 268435456 ? 4 : 5, value)).len; return this; } int32(value) { return value < 0 ? this._push(varint_1.writeVarint64, 10, (0, varint_1.int64FromString)(value.toString())) // 10 bytes per spec : this.uint32(value); } sint32(value) { return this.uint32(((value << 1) ^ (value >> 31)) >>> 0); } int64(value) { const { lo, hi } = (0, varint_1.int64FromString)(value.toString()); return this._push(varint_1.writeVarint64, (0, varint_1.int64Length)(lo, hi), { lo, hi }); } // uint64 is the same with int64 uint64 = BinaryWriter.prototype.int64; sint64(value) { let { lo, hi } = (0, varint_1.int64FromString)(value.toString()); // zig zag [lo, hi] = (0, varint_1.zzEncode)(lo, hi); return this._push(varint_1.writeVarint64, (0, varint_1.int64Length)(lo, hi), { lo, hi }); } fixed64(value) { const { lo, hi } = (0, varint_1.int64FromString)(value.toString()); return this._push(varint_1.writeFixed32, 4, lo)._push(varint_1.writeFixed32, 4, hi); } // sfixed64 is the same with fixed64 sfixed64 = BinaryWriter.prototype.fixed64; bool(value) { return this._push(varint_1.writeByte, 1, value ? 1 : 0); } fixed32(value) { return this._push(varint_1.writeFixed32, 4, value >>> 0); } // sfixed32 is the same with fixed32 sfixed32 = BinaryWriter.prototype.fixed32; float(value) { throw new Error("float not supported" + value); } double(value) { throw new Error("double not supported" + value); } bytes(value) { const len = value.length >>> 0; if (!len) return this._push(varint_1.writeByte, 1, 0); return this.uint32(len)._push(writeBytes, len, value); } string(value) { const len = (0, utf8_1.utf8Length)(value); return len ? this.uint32(len)._push(utf8_1.utf8Write, len, value) : this._push(varint_1.writeByte, 1, 0); } } exports.BinaryWriter = BinaryWriter; function writeBytes(val, buf, pos) { if (typeof Uint8Array !== "undefined") { buf.set(val, pos); } else { for (let i = 0; i < val.length; ++i) buf[pos + i] = val[i]; } } function pool(alloc, slice, size) { const SIZE = size || 8192; const MAX = SIZE >>> 1; let slab = null; let offset = SIZE; return function pool_alloc(size) { if (size < 1 || size > MAX) return alloc(size); if (offset + size > SIZE) { slab = alloc(SIZE); offset = 0; } const buf = slice.call(slab, offset, (offset += size)); if (offset & 7) // align to 32 bit offset = (offset | 7) + 1; return buf; }; } function indexOutOfRange(reader, writeLength) { return RangeError("index out of range: " + reader.pos + " + " + (writeLength || 1) + " > " + reader.len); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MyronKoch-dev/osmosis-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server