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

refactor storage borsh encoded read/write #334

Merged
merged 32 commits into from
Oct 13, 2022
Merged

Conversation

tzemanovic
Copy link
Member

@tzemanovic tzemanovic commented Aug 15, 2022

depends on #331

  • 9021d7e - refactored read/write methods for re-use and added proper handling of encoding errors

@tzemanovic tzemanovic force-pushed the tomas/refactor-read-write branch from 830be45 to e05fb25 Compare August 15, 2022 13:56
@tzemanovic tzemanovic marked this pull request as ready for review August 15, 2022 13:58
@tzemanovic tzemanovic marked this pull request as draft August 15, 2022 13:59
@tzemanovic
Copy link
Member Author

pls update wasm

@tzemanovic tzemanovic marked this pull request as ready for review August 16, 2022 15:54
@arafey
Copy link
Contributor

arafey commented Aug 19, 2022

Partially unblocks #168

@tzemanovic tzemanovic force-pushed the tomas/refactor-read-write branch from 766285d to 419b767 Compare August 21, 2022 09:19
@tzemanovic tzemanovic force-pushed the tomas/refactor-read-write branch from 419b767 to e12af6d Compare August 21, 2022 10:06
@tzemanovic tzemanovic force-pushed the tomas/refactor-read-write branch from e12af6d to 6f0be8f Compare August 22, 2022 11:23
tzemanovic added a commit that referenced this pull request Sep 14, 2022
* tomas/vp-tx-env-concrete-error:
  changelog: add #465
  [ci skip] wasm checksums update
  ledger: use storage_api::Error in VpEnv and TxEnv instead of generic
  update wasm checksums
  changelog: add #380
  shared: Add pre/post to VpEnv and use them to provide default impls
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
tzemanovic added a commit that referenced this pull request Sep 14, 2022
* tomas/refactor-read-write:
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
@tzemanovic tzemanovic mentioned this pull request Sep 14, 2022
tzemanovic added a commit that referenced this pull request Sep 23, 2022
* tomas/refactor-read-write:
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
tzemanovic added a commit that referenced this pull request Sep 23, 2022
* tomas/refactor-read-write:
  changelog: add #334
  wasm checksums update
  storage_api: add default borsh encoded read/write impl and handle errors
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
  ...
@juped juped merged commit d339f19 into main Oct 13, 2022
@juped juped deleted the tomas/refactor-read-write branch October 13, 2022 06:51
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.

3 participants