Added google migration support (BETA) v.1.2.0 #8

Merged
Lisoveliy merged 7 commits from dev into main 2025-03-17 13:32:50 +01:00
5 changed files with 10 additions and 37 deletions
Showing only changes of commit fb6ece773c - Show all commits

View File

@ -1,27 +0,0 @@
import JSBI from "jsbi";
export function interpretAsSignedType(n) {
// see https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/wire_format_lite.h#L857-L876
// however, this is a simpler equivalent formula
const isEven = JSBI.equal(JSBI.bitwiseAnd(n, JSBI.BigInt(1)), JSBI.BigInt(0));
if (isEven) {
return JSBI.divide(n, JSBI.BigInt(2));
} else {
return JSBI.multiply(
JSBI.BigInt(-1),
JSBI.divide(JSBI.add(n, JSBI.BigInt(1)), JSBI.BigInt(2))
);
}
}
export function interpretAsTwosComplement(n, bits) {
const isTwosComplement = JSBI.equal(
JSBI.signedRightShift(n, JSBI.BigInt(bits - 1)),
JSBI.BigInt(1)
);
if (isTwosComplement) {
return JSBI.subtract(n, JSBI.leftShift(JSBI.BigInt(1), JSBI.BigInt(bits)));
} else {
return n;
}
}

View File

@ -72,7 +72,6 @@ export const TYPES = {
export function decodeProto(buffer) {
const reader = new BufferReader(buffer);
const parts = [];
reader.trySkipGrpcHeader();
try {
@ -108,6 +107,7 @@ export function decodeProto(buffer) {
}
} catch (err) {
reader.resetToCheckpoint();
console.log(err);
}
return {

View File

@ -1,6 +1,5 @@
"use bigint"
export function decodeVarint(buffer, offset) {
let res = BigInt(0);
let res = this.BigInt(0);
let shift = 0;
let byte = 0;
@ -10,11 +9,12 @@ export function decodeVarint(buffer, offset) {
}
byte = buffer[offset++];
console.log(this)
const multiplier = exponentiate(BigInt(2), BigInt(shift));
const thisByteValue = multiply(BigInt(byte & 0x7f), multiplier);
const multiplier = this.BigInt(2) ** this.BigInt(shift);
const thisByteValue = this.BigInt(byte & 0x7f) * multiplier;
shift += 7;
res = add(res, thisByteValue);
res = res + thisByteValue;
} while (byte >= 0x80);
return {

View File

@ -5,7 +5,6 @@ let _props = null;
AppSettingsPage({
build(props) {
_props = props;
const storage = JSON.parse(
props.settingsStorage.getItem("TOTPs") ?? "[]"
);

View File

@ -62,11 +62,12 @@ function getByOtpauthScheme(link){
}
function getByGoogleMigrationScheme(link){
console.log("Hello")
let data = link.split("data=")[1]; //Returns secret
let data = link.split("data=")[1]; //Returns base64 encoded data
data = decodeURIComponent(data);
console.log(data)
let decode = base64decode(data);
console.log(decode)
console.log(decodeProto(decode));
let proto = decodeProto(decode);
console.log(proto);
}