status-go/vendor/github.com/multiformats
Samuel Hawksby-Robinson c8f9dad554
Feature/key compression (#1990)
## What has changed?

I've introduced to the public binding functionality that will compress and decompress public keys of a variety of encoding and key types. This functionality supports all major byte encoding formats and the following EC public key types:

- `secp256k1` pks
- `bls12-381 g1` pks
- `bls12-381 g2` pks

## Why make the change?

We want shorter public (chat) keys and we want to be future proof and encoding agnostic. See the issue here https://github.com/status-im/status-go/issues/1937

---

* Added basic signature for compresspk and uncompresspk

* Added basic encoding information

* make vendor

* formatted imports for the linter

* Reformatted imports hoping linter likes it

* This linter is capricious

* Added check that the secp256k1 key is valid

* Added test for valid key

* Added multiformat/go-varint dep

* Added public key type handling

* Added key decompression with key type handling

* Added handling for '0x' type indentifying

* Added more robust testing

* Less lint for the linting gods

* make vendor for bls12_381

* Added bls12-381 compression tests

* Added decompress key expected results

* Refactor of typed and untyped keys in tests

* Lint god appeasment

* Refactor of sample public keys

* Implemented bls12-381 decompression

* gofmt

* Renamed decode/encode funcs to be more descriptive

* Added binary bindings for key de/compression

* Refactor of func parameters

gomobile is a bit tempermental using raw bytes as a parameter, so I've decided to use string only inputs and outputs

* gofmt

* Added function documentation

* Moved multiformat de/compression into api/multiformat ns

* Moved multiformat de/compression into api/multiformat ns

* Changed compress to serialize on API
2020-06-23 11:47:17 +01:00
..
go-base32 migrate to go 1.12 and go modules 2019-06-12 13:12:00 +02:00
go-multiaddr Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
go-multiaddr-dns Add Commands (#1731) 2020-01-10 19:59:01 +01:00
go-multiaddr-fmt Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
go-multiaddr-net Add Commands (#1731) 2020-01-10 19:59:01 +01:00
go-multibase migrate to go 1.12 and go modules 2019-06-12 13:12:00 +02:00
go-multihash Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
go-multistream migrate to go 1.12 and go modules 2019-06-12 13:12:00 +02:00
go-varint Feature/key compression (#1990) 2020-06-23 11:47:17 +01:00