]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - src/js/fio-util.js
Adding FIO -Foundation for Interwallet Operability
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / js / fio-util.js
diff --git a/src/js/fio-util.js b/src/js/fio-util.js
new file mode 100644 (file)
index 0000000..35cb1ba
--- /dev/null
@@ -0,0 +1,19 @@
+function FIObufferToPublic(pubBuf) {
+  const Buffer = libs.buffer.Buffer;
+  const FIO_PUBLIC_PREFIX = "FIO";
+
+  let checksum = libs.createHash("rmd160").update(pubBuf).digest("hex").slice(0, 8);
+  pubBuf = Buffer.concat([pubBuf, Buffer.from(checksum, "hex")]);
+  return FIO_PUBLIC_PREFIX.concat(libs.bs58.encode(pubBuf));
+}
+
+function FIObufferToPrivate(privBuf) {
+  const Buffer = libs.buffer.Buffer;
+  const FIO_PRIVATE_PREFIX = "80";
+
+  privBuf = Buffer.concat([Buffer.from(FIO_PRIVATE_PREFIX, "hex"), privBuf]);
+  let tmp = libs.createHash("sha256").update(privBuf).digest();
+  let checksum = libs.createHash("sha256").update(tmp).digest("hex").slice(0, 8);
+  privBuf = Buffer.concat([privBuf, Buffer.from(checksum, "hex")]);
+  return libs.bs58.encode(privBuf);
+}
\ No newline at end of file