Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for secp256k1 keys #278

Merged
merged 0 commits into from
Aug 21, 2022
Merged

Conversation

tzemanovic
Copy link
Member

@tzemanovic tzemanovic commented Aug 4, 2022

moved from anoma/anoma#1163

based on #277

Closes #162, currently based off of v0.6.0. This issue was also addressed in anoma/anoma#914, but that PR is based off an older version of the code and seems to have stalled.

@tzemanovic
Copy link
Member Author

tzemanovic commented Aug 4, 2022

I think we want to rebase this on #277 (once that's rebased on #250) to add zeroize for secp256k1 too

@brentstone
Copy link
Collaborator

pls update wasm

@brentstone brentstone marked this pull request as ready for review August 10, 2022 17:54
tzemanovic added a commit that referenced this pull request Aug 19, 2022
* brent/162/secp256k1-support:
  test: allow to sign and verify secp256k1
  update wasm checksums
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  update wasm checksums
  [ci skip] wasm checksums update
  fmt && clippy
  use brentstone/libsecp256k1 crate fork as dependency for now
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  changes from Clippy suggestions
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  make libsecp256k1 objects public when wrapped within our own Key and Sig objects
  remove clippy::bind_instead_of_map now that we will use wildcard
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
@tzemanovic tzemanovic mentioned this pull request Aug 19, 2022
35 tasks
tzemanovic added a commit that referenced this pull request Aug 19, 2022
juped pushed a commit that referenced this pull request Aug 20, 2022
@juped juped force-pushed the brent/162/secp256k1-support branch from ea00176 to 41ebcd9 Compare August 20, 2022 12:31
juped pushed a commit that referenced this pull request Aug 20, 2022
juped pushed a commit that referenced this pull request Aug 20, 2022
* secp256k1:
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  make libsecp256k1 objects public when wrapped within our own Key and Sig objects
  remove clippy::bind_instead_of_map now that we will use wildcard
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
@tzemanovic tzemanovic merged commit c1c9a3d into main Aug 21, 2022
juped added a commit that referenced this pull request Sep 20, 2022
* main: (118 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  make libsecp256k1 objects public when wrapped within our own Key and Sig objects
  remove clippy::bind_instead_of_map now that we will use wildcard
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  changelog: add #277
  move zeroize test out of macro (also in advance of incorporating secp256k1)
  wrap SigningKey in a Box pointer when placing into SecretKey struct, test that memory is actually zeroized after dropping SecretKey
  changes to Cargo.toml and Cargo.lock from adding latest version of zeroize crate
  docs: update book's config branch, edit-url and repo links
  docs: add notes about the books
  doc/docs: s/anoma/namada
  re-add `dev` docs section
  update outer readme
  Replace anoma with namada in quickstart
  Update config files
  update links to user guide docs
  update relative paths in dev docs
  changelog: add #322
  docs: move and link to openAPI spec from Ledger RPC
  Apply suggestions from code review
  Storage key regexes should permit any UTF-8 string
  Add invalid storage key error response example
  Add example for getting an account's public key
  A key can contain any ASCII, not just alphabetical characters
  Add specs/openapi.yml
  Add changelog
  .gitignore: make some patterns relative to repo root
  Add changelog
  .gitignore: make some patterns relative to repo root
  change string to valid path
  Initial info on Secp256k1 keys and zeroizing secret keys
  crypto.md: add context for signatures
  crypto.md: remove outdated encoding descriptions
  crypto.md: remove references to closed issue
  Updates changelog
  Removes mention to clap version
  Fixes typos. Updates comment on `clap`
  ...
tzemanovic added a commit that referenced this pull request Sep 23, 2022
* tomas/fix-rustdoc: (116 commits)
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  make libsecp256k1 objects public when wrapped within our own Key and Sig objects
  remove clippy::bind_instead_of_map now that we will use wildcard
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  changelog: add #277
  move zeroize test out of macro (also in advance of incorporating secp256k1)
  wrap SigningKey in a Box pointer when placing into SecretKey struct, test that memory is actually zeroized after dropping SecretKey
  changes to Cargo.toml and Cargo.lock from adding latest version of zeroize crate
  docs: update book's config branch, edit-url and repo links
  docs: add notes about the books
  doc/docs: s/anoma/namada
  re-add `dev` docs section
  update outer readme
  Replace anoma with namada in quickstart
  Update config files
  update links to user guide docs
  update relative paths in dev docs
  changelog: add #322
  docs: move and link to openAPI spec from Ledger RPC
  Apply suggestions from code review
  Storage key regexes should permit any UTF-8 string
  Add invalid storage key error response example
  Add example for getting an account's public key
  A key can contain any ASCII, not just alphabetical characters
  Add specs/openapi.yml
  Add changelog
  .gitignore: make some patterns relative to repo root
  Add changelog
  .gitignore: make some patterns relative to repo root
  change string to valid path
  Initial info on Secp256k1 keys and zeroizing secret keys
  crypto.md: add context for signatures
  crypto.md: remove outdated encoding descriptions
  crypto.md: remove references to closed issue
  Updates changelog
  Removes mention to clap version
  Fixes typos. Updates comment on `clap`
  docs/dev: remove PoS spec and link to spec page instead
  changelog: add #1070
  ...
juped added a commit that referenced this pull request Sep 29, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 4, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 4, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 4, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 6, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 6, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 6, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 6, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 6, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 7, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 7, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 7, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
juped added a commit that referenced this pull request Oct 10, 2022
* draft: (394 commits)
  Revert "Update getting-started.md"
  Update getting-started.md
  changelog: add #442
  rustdoc: fix outdated links
  make build-doc: only build rustdoc in this command
  [ci] remove drone
  ci: double the build-and-test timeout
  [ci] download masp paramters
  [ci] improve automation tool, add pls spawn devnet command
  [ci] added dev documentation build, added rust doc build
  I removed the limitation.
  I removed the limitation.
  encoding_spec: rm ":" from fragment links in e.g. `ed25519::PublicKey`
  docs/dev: update encoding spec generation
  update wasm checksums
  changelog: add #380
  changelog: add #384
  shared/storage: fix the height recorded for a new epoch
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #1249
  test/ledger: update last_epoch assertion
  ledger: fix last_epoch to only change when committing block
  changelog: add #337
  Specify --target-dir when building wasms
  changelog: add #335
  wasm checksums update
  test/vm_host_env: refactor prefix iter tests with new `iter_prefix` fn
  storage_api: build a nicer `iter_prefix` function on top of StorageRead
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
  update wasm checksums
  pos: update validator raw hash validation
  changelog: add #326
  changelog: add #331
  changelog: add #324
  changelog: add #318
  update wasm checksums
  fix missing StorageWrite for Storage merkle tree update
  storage: remove unnecessary clone
  add more comments for StorageRead lifetime with an example usage
  add <'iter> lifetime to StorageRead trait to get around lack of GATs
  ledger: impl StorageWrite for Storage
  ledger: factor out TxEnv write methods into a new StorageWrite trait
  [fix] use fetch-depth: 0 on tag pipeline
  Namada 0.7.1
  fix spelling of 'features' in Cargo.toml
  realign cargo/wasm integrity
  changelog: add #278
  test: allow to sign and verify secp256k1
  client: add check on validator consensus key
  shared: optional secp256k1 signing and verification to avoid wasm bloat
  pick scheme for generating validator keys
  must use ed25519 for validator consensus key and node ID
  update rustdoc on PKH
  make fmt
  deps: enable secp256k1 in tendermint-rs
  handle secp256k1 in key_to_tendermint()
  fmt && clippy
  use heliaxdev/libsecp256k1 crate fork as dependency for now
  release: update release.toml for namada repo
  new test for zeroizing secp256k1 keys
  wrap libsecp256k1::SecretKey in a Box within SecretKey struct
  add a test to zeroize secp256k1
  fix bug in supplying args to test_genesis_validators()
  make validator_key_to_json() compatible with ed25519 and secp256k1 keys
  fix bug to prevent generating keys with common SchemeType
  fix bug where we were generating a key with common scheme
  make fmt
  fix unit test test_toml_roundtrip to supply good validator keys
  e2e test_genesis_validators(): make each validator have different key scheme
  fix some comments
  fix bug in supplying keypair to Tendermint
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  update wasm checksums
  remove Result layering for id_from_pk
  drop 'Consensus' from SchemeType enum variants
  incorporate options into key generation functions
  command line options for specifying key scheme
  initial commit for supporting secp256k1 keys
  clean and simplify code in id_from_pk()
  allow CL specification of a specific key scheme for the TxInitValidator
  improve write_tendermint_node_key() to produce the proper json given the underlying key scheme
  convert from common to underlying key type in id_from_pk() when constructing the TendermintNodeId
  ledger/pos: implement PosReadOnly using StorageRead trait
  ledger/tx: inherit StorageRead in TxEnv
  ledger/storage: impl StorageRead for Storage
  ledger/vp: impl StorageRead for WASM VPs pre and post state
  ledger/native_vp: implement StorageRead for pre and post state
  ledger: add StorageRead trait with extensible error type
  change variable names in fns try_to_sk() and try_to_sig() to reduce confusion
  pos: fix bond zero amount error msg
  pos/validation: refactor accumulation of changes
  clean up code implementing Serialize/Deserialize, comment on certain implementations
  remove Result layering for id_from_pk
  ...
@brentstone brentstone deleted the brent/162/secp256k1-support branch December 5, 2022 01:20
phy-chain pushed a commit to phy-chain/namada that referenced this pull request Mar 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add secp256k1 support
2 participants