From 01e032dc99a24a51adca6c2e735d233ade02c480 Mon Sep 17 00:00:00 2001 From: Marko Date: Tue, 12 May 2020 20:43:35 +0200 Subject: [PATCH] libs: remove bech32 ## Description bech32 is only used in the sdk. I moved Bech32 to the sdk and we can remove it here. Don't think this needs to go into a minor release Closes: #XXX --- CHANGELOG_PENDING.md | 1 + libs/bech32/bech32.go | 30 ------------------------------ libs/bech32/bech32_test.go | 31 ------------------------------- 3 files changed, 1 insertion(+), 61 deletions(-) delete mode 100644 libs/bech32/bech32.go delete mode 100644 libs/bech32/bech32_test.go diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index cc149f3c8..b11ced733 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -25,6 +25,7 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi - [privval] [\#4744](https://github.com/tendermint/tendermint/pull/4744) Remove deprecated `OldFilePV` (@melekes) - [mempool] [\#4759](https://github.com/tendermint/tendermint/pull/4759) Modify `Mempool#InitWAL` to return an error (@melekes) - [types] \#4798 Simplify `VerifyCommitTrusting` func + remove extra validation (@melekes) + - [libs] \#4831 Remove `Bech32` pkg from Tendermint. This pkg now lives in the [cosmos-sdk](https://github.com/cosmos/cosmos-sdk/tree/4173ea5ebad906dd9b45325bed69b9c655504867/types/bech32) - Blockchain Protocol diff --git a/libs/bech32/bech32.go b/libs/bech32/bech32.go deleted file mode 100644 index d4729344c..000000000 --- a/libs/bech32/bech32.go +++ /dev/null @@ -1,30 +0,0 @@ -package bech32 - -import ( - "fmt" - - "github.com/btcsuite/btcutil/bech32" -) - -//ConvertAndEncode converts from a base64 encoded byte string to base32 encoded byte string and then to bech32 -func ConvertAndEncode(hrp string, data []byte) (string, error) { - converted, err := bech32.ConvertBits(data, 8, 5, true) - if err != nil { - return "", fmt.Errorf("encoding bech32 failed: %w", err) - } - return bech32.Encode(hrp, converted) - -} - -//DecodeAndConvert decodes a bech32 encoded string and converts to base64 encoded bytes -func DecodeAndConvert(bech string) (string, []byte, error) { - hrp, data, err := bech32.Decode(bech) - if err != nil { - return "", nil, fmt.Errorf("decoding bech32 failed: %w", err) - } - converted, err := bech32.ConvertBits(data, 5, 8, false) - if err != nil { - return "", nil, fmt.Errorf("decoding bech32 failed: %w", err) - } - return hrp, converted, nil -} diff --git a/libs/bech32/bech32_test.go b/libs/bech32/bech32_test.go deleted file mode 100644 index 830942061..000000000 --- a/libs/bech32/bech32_test.go +++ /dev/null @@ -1,31 +0,0 @@ -package bech32_test - -import ( - "bytes" - "crypto/sha256" - "testing" - - "github.com/tendermint/tendermint/libs/bech32" -) - -func TestEncodeAndDecode(t *testing.T) { - - sum := sha256.Sum256([]byte("hello world\n")) - - bech, err := bech32.ConvertAndEncode("shasum", sum[:]) - - if err != nil { - t.Error(err) - } - hrp, data, err := bech32.DecodeAndConvert(bech) - - if err != nil { - t.Error(err) - } - if hrp != "shasum" { - t.Error("Invalid hrp") - } - if !bytes.Equal(data, sum[:]) { - t.Error("Invalid decode") - } -}