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

RPC shell sub-router #569

Merged
merged 17 commits into from
Oct 31, 2022
Merged

RPC shell sub-router #569

merged 17 commits into from
Oct 31, 2022

Conversation

tzemanovic
Copy link
Member

@tzemanovic tzemanovic commented Oct 7, 2022

based on #553

This PR moves the current RPC paths into a "shell" sub-router. This is a breaking change for all the current RPC paths which are all prefixed with "/shell" now :

  • "/shell/dry_run_tx"
  • "/shell/epoch"
  • "/shell/value"
  • "/shell/prefix"
  • "/shell/has_key"

This is to take advantage of tree-based pattern matching, organize code with the handlers and to add other sub-routers. Concretely, I'll be adding "/vp" sub-router with "/pos" inside it for PoS specific queries next.

relevant commits:

  • 3835cd5 - moves current patterns under "shell" sub-router
  • 276845c - simplified handlers to be able to specify (with_options $handler) for handlers that want to use the request/response, otherwise it's not expected in the handler's signature

@tzemanovic tzemanovic mentioned this pull request Oct 7, 2022
@tzemanovic tzemanovic force-pushed the tomas/rpc-sub-shell branch 2 times, most recently from 2c42384 to 276845c Compare October 24, 2022 09:56
@tzemanovic
Copy link
Member Author

pls update wasm

@tzemanovic tzemanovic marked this pull request as ready for review October 24, 2022 13:49
tzemanovic added a commit that referenced this pull request Oct 24, 2022
* tomas/rpc-sub-shell:
  [ci] wasm checksums update
  router: add `with_options` for handlers that use request/response
  move the current RPC patterns under "shell" sub-router
@tzemanovic tzemanovic mentioned this pull request Oct 24, 2022
9 tasks
@tzemanovic tzemanovic mentioned this pull request Oct 28, 2022
@juped juped force-pushed the tomas/rpc-sub-shell branch 3 times, most recently from a46e2d2 to 89fd030 Compare October 31, 2022 15:56
juped added a commit that referenced this pull request Oct 31, 2022
@juped juped merged commit 3a8700b into main Oct 31, 2022
@juped juped deleted the tomas/rpc-sub-shell branch October 31, 2022 18:04
juped added a commit that referenced this pull request Nov 1, 2022
Namada 0.9.0

* tag 'v0.9.0':
  Namada 0.9.0
  release.sh: list prerequisites in a comment
  changelog: add #569
  queries: fix unused import in wasm build
  Fixes pgf council vote format
  Rwnames `type`, adds examples
  Custom proposal and vote memos in governance spec
  RPC: fix storage_value to return data as read w/o re-encoding in Option
  [ci] wasm checksums update
  router: add `with_options` for handlers that use request/response
  move the current RPC patterns under "shell" sub-router
  make fmt
  Log at INFO by default for namadan
  Add changelog
  ledger/queries: comment out `println`s for router path matching dbg
  ledger/queries: fix require_no_proof doc-string
  ci: fix workflow name
  ci: fix mold usage
  Update README.md
  some doc comment edits
  fix: namadan should log at info by default
  ci: use mold linker
  changelog: add #632
  feat: change native token to nam
  [ci] wasm checksums update
  changelog: add #671
  add back consensus timeout commit config for abciplus
  switch to tendermint-rs with consensus timeout
  wasm: update checksums
  changelog: add #553
  apps: replace RPC module and its handlers with new queries mod
  shared: add new queries router macro to replicate handwritten RPC paths
  add deps for router macro and update `Cargo.lock`s
  protocol: update imports and add missing rustdoc
  move ledger's protocol module into shared crate
  ci: invalide cf cache
  fix broken link
  split back out the core VPs
  Modify specs
  test/e2e/helpers: add a helper to query and parse block height
  changelog: add #658
  client: add a block query to print hash, height and time of a block
  wasm: update checksums.json
  [fix]: Fixed the borsh schema for libsecp256k signatures
  [feat]: Added the recovery id to secp256k signatures
  [ci] wasm checksums update
  feat: remove nft
juped added a commit that referenced this pull request Nov 1, 2022
Namada 0.9.0

* tag 'v0.9.0':
  Namada 0.9.0
  release.sh: list prerequisites in a comment
  changelog: add #569
  queries: fix unused import in wasm build
  Fixes pgf council vote format
  Rwnames `type`, adds examples
  Custom proposal and vote memos in governance spec
  RPC: fix storage_value to return data as read w/o re-encoding in Option
  [ci] wasm checksums update
  router: add `with_options` for handlers that use request/response
  move the current RPC patterns under "shell" sub-router
  make fmt
  Log at INFO by default for namadan
  Add changelog
  ledger/queries: comment out `println`s for router path matching dbg
  ledger/queries: fix require_no_proof doc-string
  ci: fix workflow name
  ci: fix mold usage
  Update README.md
  some doc comment edits
  fix: namadan should log at info by default
  ci: use mold linker
  changelog: add #632
  feat: change native token to nam
  [ci] wasm checksums update
  changelog: add #671
  add back consensus timeout commit config for abciplus
  switch to tendermint-rs with consensus timeout
  wasm: update checksums
  changelog: add #553
  apps: replace RPC module and its handlers with new queries mod
  shared: add new queries router macro to replicate handwritten RPC paths
  add deps for router macro and update `Cargo.lock`s
  protocol: update imports and add missing rustdoc
  move ledger's protocol module into shared crate
  ci: invalide cf cache
  fix broken link
  split back out the core VPs
  Modify specs
  test/e2e/helpers: add a helper to query and parse block height
  changelog: add #658
  client: add a block query to print hash, height and time of a block
  wasm: update checksums.json
  [fix]: Fixed the borsh schema for libsecp256k signatures
  [feat]: Added the recovery id to secp256k signatures
  [ci] wasm checksums update
  feat: remove nft
juped added a commit that referenced this pull request Nov 2, 2022
Namada 0.9.0

* tag 'v0.9.0':
  Namada 0.9.0
  release.sh: list prerequisites in a comment
  changelog: add #569
  queries: fix unused import in wasm build
  Fixes pgf council vote format
  Rwnames `type`, adds examples
  Custom proposal and vote memos in governance spec
  RPC: fix storage_value to return data as read w/o re-encoding in Option
  [ci] wasm checksums update
  router: add `with_options` for handlers that use request/response
  move the current RPC patterns under "shell" sub-router
  make fmt
  Log at INFO by default for namadan
  Add changelog
  ledger/queries: comment out `println`s for router path matching dbg
  ledger/queries: fix require_no_proof doc-string
  ci: fix workflow name
  ci: fix mold usage
  Update README.md
  some doc comment edits
  fix: namadan should log at info by default
  ci: use mold linker
  changelog: add #632
  feat: change native token to nam
  [ci] wasm checksums update
  changelog: add #671
  add back consensus timeout commit config for abciplus
  switch to tendermint-rs with consensus timeout
  wasm: update checksums
  changelog: add #553
  apps: replace RPC module and its handlers with new queries mod
  shared: add new queries router macro to replicate handwritten RPC paths
  add deps for router macro and update `Cargo.lock`s
  protocol: update imports and add missing rustdoc
  move ledger's protocol module into shared crate
  ci: invalide cf cache
  fix broken link
  split back out the core VPs
  Modify specs
  test/e2e/helpers: add a helper to query and parse block height
  changelog: add #658
  client: add a block query to print hash, height and time of a block
  wasm: update checksums.json
  [fix]: Fixed the borsh schema for libsecp256k signatures
  [feat]: Added the recovery id to secp256k signatures
  [ci] wasm checksums update
  feat: remove nft
juped added a commit that referenced this pull request Nov 2, 2022
Namada 0.9.0

* tag 'v0.9.0':
  Namada 0.9.0
  release.sh: list prerequisites in a comment
  changelog: add #569
  queries: fix unused import in wasm build
  Fixes pgf council vote format
  Rwnames `type`, adds examples
  Custom proposal and vote memos in governance spec
  RPC: fix storage_value to return data as read w/o re-encoding in Option
  [ci] wasm checksums update
  router: add `with_options` for handlers that use request/response
  move the current RPC patterns under "shell" sub-router
  make fmt
  Log at INFO by default for namadan
  Add changelog
  ledger/queries: comment out `println`s for router path matching dbg
  ledger/queries: fix require_no_proof doc-string
  ci: fix workflow name
  ci: fix mold usage
  Update README.md
  some doc comment edits
  fix: namadan should log at info by default
  ci: use mold linker
  changelog: add #632
  feat: change native token to nam
  [ci] wasm checksums update
  changelog: add #671
  add back consensus timeout commit config for abciplus
  switch to tendermint-rs with consensus timeout
  wasm: update checksums
  changelog: add #553
  apps: replace RPC module and its handlers with new queries mod
  shared: add new queries router macro to replicate handwritten RPC paths
  add deps for router macro and update `Cargo.lock`s
  protocol: update imports and add missing rustdoc
  move ledger's protocol module into shared crate
  ci: invalide cf cache
  fix broken link
  split back out the core VPs
  Modify specs
  test/e2e/helpers: add a helper to query and parse block height
  changelog: add #658
  client: add a block query to print hash, height and time of a block
  wasm: update checksums.json
  [fix]: Fixed the borsh schema for libsecp256k signatures
  [feat]: Added the recovery id to secp256k signatures
  [ci] wasm checksums update
  feat: remove nft
tzemanovic added a commit that referenced this pull request Nov 2, 2022
- changed to type of the proof in query Response for more convenient type

Namada 0.9.0

* tag 'v0.9.0':
  Namada 0.9.0
  release.sh: list prerequisites in a comment
  changelog: add #569
  queries: fix unused import in wasm build
  Fixes pgf council vote format
  Rwnames `type`, adds examples
  Custom proposal and vote memos in governance spec
  RPC: fix storage_value to return data as read w/o re-encoding in Option
  [ci] wasm checksums update
  router: add `with_options` for handlers that use request/response
  move the current RPC patterns under "shell" sub-router
  make fmt
  Log at INFO by default for namadan
  Add changelog
  ledger/queries: comment out `println`s for router path matching dbg
  ledger/queries: fix require_no_proof doc-string
  ci: fix workflow name
  ci: fix mold usage
  Update README.md
  some doc comment edits
  fix: namadan should log at info by default
  ci: use mold linker
  changelog: add #632
  feat: change native token to nam
  [ci] wasm checksums update
  changelog: add #671
  add back consensus timeout commit config for abciplus
  switch to tendermint-rs with consensus timeout
  wasm: update checksums
  changelog: add #553
  apps: replace RPC module and its handlers with new queries mod
  shared: add new queries router macro to replicate handwritten RPC paths
  add deps for router macro and update `Cargo.lock`s
  protocol: update imports and add missing rustdoc
  move ledger's protocol module into shared crate
  ci: invalide cf cache
  fix broken link
  split back out the core VPs
  Modify specs
  test/e2e/helpers: add a helper to query and parse block height
  changelog: add #658
  client: add a block query to print hash, height and time of a block
  wasm: update checksums.json
  [fix]: Fixed the borsh schema for libsecp256k signatures
  [feat]: Added the recovery id to secp256k signatures
  [ci] wasm checksums update
  feat: remove nft
tzemanovic added a commit that referenced this pull request Nov 2, 2022
…wards

* origin/main: (632 commits)
  ci: use commit hash instead of pr number
  ci: fix binaries sha
  changelog: add #720
  fix: rename correctly in debug wasm build
  Namada 0.9.0
  release.sh: list prerequisites in a comment
  changelog: add #569
  queries: fix unused import in wasm build
  Fixes pgf council vote format
  Rwnames `type`, adds examples
  Custom proposal and vote memos in governance spec
  RPC: fix storage_value to return data as read w/o re-encoding in Option
  [ci] wasm checksums update
  router: add `with_options` for handlers that use request/response
  move the current RPC patterns under "shell" sub-router
  make fmt
  Log at INFO by default for namadan
  Add changelog
  ledger/queries: comment out `println`s for router path matching dbg
  ledger/queries: fix require_no_proof doc-string
  ci: fix workflow name
  ci: fix mold usage
  Update README.md
  some doc comment edits
  fix: namadan should log at info by default
  ci: use mold linker
  changelog: add #632
  feat: change native token to nam
  [ci] wasm checksums update
  changelog: add #671
  add back consensus timeout commit config for abciplus
  switch to tendermint-rs with consensus timeout
  wasm: update checksums
  changelog: add #553
  apps: replace RPC module and its handlers with new queries mod
  shared: add new queries router macro to replicate handwritten RPC paths
  add deps for router macro and update `Cargo.lock`s
  protocol: update imports and add missing rustdoc
  move ledger's protocol module into shared crate
  ci: invalide cf cache
  fix broken link
  split back out the core VPs
  Modify specs
  test/e2e/helpers: add a helper to query and parse block height
  changelog: add #658
  client: add a block query to print hash, height and time of a block
  Namada 0.8.1
  changelog: add #510
  [feat]: Make process proposal stateless
  test/e2e: fix node_connectivity test
  test/e2e: update expected string for non-validator node
  [fix]: Removed unnecessary patches in wasm
  [feat]: Patched tendermint-rs and ibc-rs to compatible versions
  app: set "namada" set default bin for `cargo run`
  wasm: update checksums.json
  [fix]: Fixed the borsh schema for libsecp256k signatures
  [feat]: Added the recovery id to secp256k signatures
  [ci] wasm checksums update
  feat: remove nft
  fix: rename anoma to namada, remove author print
  CI: add workaround for release build missing git tag
  Namada 0.8.0
  changelog: add #547
  wasm: update checksums
  [chore]: Lints and formatting
  [fix]: Fixed proof specs for non-existence proofs
  [fix]: Update the main tree when deleting a key
  [fix]: Fixed last ibc unit test
  [fix]: Fixed some tests.
  [feat]: Refactored the merkle tree into a more maintainable multi-store
  build: pin abciplus library revisions
  wasm: update checksums.json
  ci: standardize on one tendermint hash
  formatting changes
  change `L_{NAM}` -> `L_{PoS}` for clarity and consistency
  change inflation `I` to have units of tokens per epoch
  fix term ordering in error calculation
  Remove other `:=` in favor of `=`
  distinguish new and old inflation rates with a prime
  fix md rendering
  correct the shielded pool error calculation
  change storing of error to storing of token ratios (same procedure)
  fix: `I` is percent per annum
  distinguish between `K` in storage and `K` as intermediate value in inflation calculation
  Use `I` for inflation rates, as `R` reserved for locked ratios
  specify some default values, other small edits
  release: add scripts/release.sh
  release: add release.toml to wasm workspace and wasm_for_tests
  release: don't tag from cargo release
  release: update release.toml for cargo-release 0.21.4
  wasm: remove tx_from_intent build
  wasm: repair wasm checksums
  Add changelog
  Add changelog
  Fix TransactionGasExceededed typo
  changelog: add #594
  shared/storage: fix the height recorded for a new epoch
  Apply suggestions from code review
  changelog: add #590
  wasm/tx_bond: fix delegation detection to compare source and validator
  ...
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.

None yet

3 participants