in serde-generate/runtime/typescript/bcs/bcsDeserializer.ts [11:28]
public deserializeUleb128AsU32(): number {
let value = 0;
for (let shift = 0; shift < 32; shift += 7) {
const x = this.deserializeU8();
const digit = x & 0x7f;
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");
}