@yubing744/rooch-sdk
Version:
37 lines (36 loc) • 1.12 kB
JavaScript
import { BinaryDeserializer } from "../serde/binaryDeserializer";
const _BcsDeserializer = class extends BinaryDeserializer {
deserializeUleb128AsU32() {
let value = 0;
for (let shift = 0; shift < 32; shift += 7) {
const x = this.deserializeU8();
const digit = x & 127;
value = value | digit << shift;
if (value < 0 || value > _BcsDeserializer.MAX_UINT_32) {
throw new Error("Overflow while parsing uleb128-encoded uint32 value");
}
if (digit == x) {
if (shift > 0 && digit == 0) {
throw new Error("Invalid uleb128 number (unexpected zero digit)");
}
return value;
}
}
throw new Error("Overflow while parsing uleb128-encoded uint32 value");
}
deserializeLen() {
return this.deserializeUleb128AsU32();
}
deserializeVariantIndex() {
return this.deserializeUleb128AsU32();
}
checkThatKeySlicesAreIncreasing(_key1, _key2) {
return;
}
};
let BcsDeserializer = _BcsDeserializer;
BcsDeserializer.MAX_UINT_32 = 2 ** 32 - 1;
export {
BcsDeserializer
};
//# sourceMappingURL=bcsDeserializer.js.map