diff options
Diffstat (limited to 'src/js/cosmos-util.js')
-rw-r--r-- | src/js/cosmos-util.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/js/cosmos-util.js b/src/js/cosmos-util.js new file mode 100644 index 0000000..a7f4605 --- /dev/null +++ b/src/js/cosmos-util.js | |||
@@ -0,0 +1,13 @@ | |||
1 | function CosmosBufferToPublic(pubBuf) { | ||
2 | const Buffer = libs.buffer.Buffer; | ||
3 | const AminoSecp256k1PubkeyPrefix = Buffer.from("EB5AE987", "hex"); | ||
4 | const AminoSecp256k1PubkeyLength = Buffer.from("21", "hex"); | ||
5 | pubBuf = Buffer.concat([AminoSecp256k1PubkeyPrefix, AminoSecp256k1PubkeyLength, pubBuf]); | ||
6 | return libs.bech32.encode("cosmospub", libs.bech32.toWords(pubBuf)); | ||
7 | } | ||
8 | |||
9 | function CosmosBufferToAddress(pubBuf) { | ||
10 | const sha256_ed = libs.createHash("sha256").update(pubBuf).digest(); | ||
11 | const ripemd160_ed = libs.createHash("rmd160").update(sha256_ed).digest(); | ||
12 | return libs.bech32.encode("cosmos", libs.bech32.toWords(ripemd160_ed)); | ||
13 | } | ||