status-go/vendor/github.com
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
..
BurntSushi/toml Create a home submodule for Eth node bridges- Rename StatusBackend to GethStatusBackend 2019-11-27 17:02:09 +01:00
allegro/bigcache Verify ens endpoint, only against mainnet (#1657) 2019-11-04 11:08:22 +01:00
aristanetworks/goarista
beevik/ntp
beorn7/perks use prometheus/client_golang for metrics 2019-11-04 13:18:50 +01:00
btcsuite Use status-protocol-go/bridge/geth (#1638) 2019-10-14 09:53:38 +02:00
cenkalti/backoff/v3 Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
cespare/xxhash/v2 Upgrade deps (#1892) 2020-03-09 08:55:58 +01:00
coreos/go-semver
davecgh/go-spew
deckarep/golang-set
edsrzf/mmap-go Verify ens endpoint, only against mainnet (#1657) 2019-11-04 11:08:22 +01:00
elastic/gosigar Add statusUpdate code (#1861) 2020-02-21 15:48:53 +01:00
ethereum/go-ethereum Update go-ethereum to v1.9.5-status.9 (#1898) 2020-03-12 13:05:12 +01:00
fjl/memsize Verify ens endpoint, only against mainnet (#1657) 2019-11-04 11:08:22 +01:00
gballet/go-libpcsclite Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
go-playground Move to protobuf for Message type (#1706) 2019-12-05 17:25:34 +01:00
go-stack/stack
gogo/protobuf Add Commands (#1731) 2020-01-10 19:59:01 +01:00
golang Upgrade deps (#1892) 2020-03-09 08:55:58 +01:00
golang-migrate/migrate/v4 Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
google/uuid
gorilla/websocket Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
hashicorp
huin/goupnp
ipfs Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
jackpal Add statusUpdate code (#1861) 2020-02-21 15:48:53 +01:00
jbenet Add Commands (#1731) 2020-01-10 19:59:01 +01:00
jinzhu/copier
karalabe/usb Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
kilic/bls12-381 Feature/key compression (#1990) 2020-06-23 11:47:17 +01:00
koron/go-ssdp Add Commands (#1731) 2020-01-10 19:59:01 +01:00
leodido/go-urn Move to protobuf for Message type (#1706) 2019-12-05 17:25:34 +01:00
lib/pq Upgrade deps (#1892) 2020-03-09 08:55:58 +01:00
libp2p Add Commands (#1731) 2020-01-10 19:59:01 +01:00
lucasb-eyer/go-colorful Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
mattn Nimbus node support 2020-01-20 13:15:17 +01:00
matttproud/golang_protobuf_extensions use prometheus/client_golang for metrics 2019-11-04 13:18:50 +01:00
minio Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
mr-tron/base58
multiformats Feature/key compression (#1990) 2020-06-23 11:47:17 +01:00
mutecomm/go-sqlcipher
okzk/sdnotify add script for easier setup of mailserver 2019-10-10 11:27:32 +02:00
olekukonko/tablewriter Verify ens endpoint, only against mainnet (#1657) 2019-11-04 11:08:22 +01:00
opentracing/opentracing-go Verify ens endpoint, only against mainnet (#1657) 2019-11-04 11:08:22 +01:00
pborman/uuid Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
pkg/errors Upgrade deps (#1892) 2020-03-09 08:55:58 +01:00
pmezard/go-difflib
prometheus Upgrade deps (#1892) 2020-03-09 08:55:58 +01:00
rjeczalik/notify Verify ens endpoint, only against mainnet (#1657) 2019-11-04 11:08:22 +01:00
rs/cors Add statusUpdate code (#1861) 2020-02-21 15:48:53 +01:00
russolsen/transit
shopspring/decimal
spacemonkeygo/spacelog Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
spaolacci/murmur3
status-im Upgrade extkeys (#1878) 2020-03-04 09:30:31 +01:00
steakknife Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
stretchr/testify Upgrade deps (#1892) 2020-03-09 08:55:58 +01:00
syndtr/goleveldb
tsenart/tb Update Whisper and introduce rate limiting (#1673) 2019-11-18 11:22:23 +01:00
tyler-smith/go-bip39 Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
vacp2p/mvds Upgrade migrate (#1643) 2019-10-14 16:10:48 +02:00
wealdtech Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
whyrusleeping Add Commands (#1731) 2020-01-10 19:59:01 +01:00
wsddn/go-ecdh Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00