-
Notifications
You must be signed in to change notification settings - Fork 13
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
[Session,Service] Ensure SessionHeader and Service basic validation. #782
Conversation
return ErrSharedInvalidService.Wrapf("invalid service name: %s", s.Name) | ||
} | ||
|
||
return nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please ensure the other fields (e.g. owner, CUPR, etc...) aren't empty and/or valid as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might require adding unit tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Service
evolved. Good catch!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding these fields to the validation breaks a lot of code and tests because we're creating services with Id
only in a lot of places, Instead, I propose to replace these Service
s with Id
s in a follow-up PR as stated in service.proto
// TODO_MAINNET: Avoid embedding the full Service because we just need the ID.
I estimate it could be done in 1 day. WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about this:
- Add
TODO_BETA/TODO_BLOCKER(@red-0ne): ...
in the validation function explaining this situation - Update the PR and merge it in
- Iterate on the ServiceId thing next week
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice one! 🚀
The CI will now also run the e2e tests on devnet, which increases the time it takes to complete all CI checks. You may need to run GCP workloads (requires changing the namespace to 782) |
…-basic-validation
…ke-transfer * pokt/main: [Tooling, Code Health] refactor: split Makefile into multiple files (#816) [Tooling] fix and add makefile targets (#814) [Docs] Add a debugging tip: using transaction hashes (#786) [Refactor] Replace embedded Service with ServiceId (#802) [Session,Service] Ensure SessionHeader and Service basic validation. (#782) [Tokenomics] Preparation for Global Mint Reimbursement Request (#755) [Quick PR][LocalNet] Turn off minimum-gas-prices (#805) [GATEWAY POC] A couple helpers to help deploy a PATH gateway (#801) [Documentation] Cosmovisor (#768) [CI] Add cosmovisor to container images (#796) Use a descriptive error if service ID is not found (#787) [SessionManager] Implement off-chain proof params usage (#765) [SDK] Update shannon sdk dependency (#800) [E2E Test] Remove redundant logging (#798)
…actor/transfer-msg_period-param * issues/657/feat/app-stake-transfer: [Tooling, Code Health] refactor: split Makefile into multiple files (#816) [Tooling] fix and add makefile targets (#814) [Docs] Add a debugging tip: using transaction hashes (#786) [Refactor] Replace embedded Service with ServiceId (#802) [Session,Service] Ensure SessionHeader and Service basic validation. (#782) [Tokenomics] Preparation for Global Mint Reimbursement Request (#755) [Quick PR][LocalNet] Turn off minimum-gas-prices (#805) [GATEWAY POC] A couple helpers to help deploy a PATH gateway (#801) [Documentation] Cosmovisor (#768) [CI] Add cosmovisor to container images (#796) Use a descriptive error if service ID is not found (#787) [SessionManager] Implement off-chain proof params usage (#765) [SDK] Update shannon sdk dependency (#800) [E2E Test] Remove redundant logging (#798)
…ues/657/chore/app-transfer-period * issues/657/refactor/transfer-msg_period-param: [Tooling, Code Health] refactor: split Makefile into multiple files (#816) [Tooling] fix and add makefile targets (#814) [Docs] Add a debugging tip: using transaction hashes (#786) [Refactor] Replace embedded Service with ServiceId (#802) [Session,Service] Ensure SessionHeader and Service basic validation. (#782) [Tokenomics] Preparation for Global Mint Reimbursement Request (#755) [Quick PR][LocalNet] Turn off minimum-gas-prices (#805) [GATEWAY POC] A couple helpers to help deploy a PATH gateway (#801) [Documentation] Cosmovisor (#768) [CI] Add cosmovisor to container images (#796) Use a descriptive error if service ID is not found (#787) [SessionManager] Implement off-chain proof params usage (#765) [SDK] Update shannon sdk dependency (#800) [E2E Test] Remove redundant logging (#798)
…782) ## Summary This PR addresses the following `TODO_BETA`s: > `TODO_BETA: Call `msg.GetSessionHeader().ValidateBasic()` once its implemented` > `TODO_BETA: Ensure this is used everywhere a SessionHeader is validated.` > `TODO_TECHDEBT(BETA): Refactor to a `Service#ValidateBasic` method.` * It ensures that `SessionHeader#ValidateBasic()` is covering all usage of `SessionHeader` both on-chain and off-chain. * Implements `Service#ValidateBasic` which is a sub-check of `SessionHeader#ValidateBasic` * Refactors some tests to align with the new shape of the errors returned. ## Type of change Select one or more: - [ ] New feature, functionality or library - [ ] Bug fix - [x] Code health or cleanup - [ ] Documentation - [ ] Other (specify) ## Testing - [ ] **Documentation**: `make docusaurus_start`; only needed if you make doc changes - [x] **Unit Tests**: `make go_develop_and_test` - [x] **LocalNet E2E Tests**: `make test_e2e` - [ ] **DevNet E2E Tests**: Add the `devnet-test-e2e` label to the PR. ## Sanity Checklist - [x] I have tested my changes using the available tooling - [x] I have commented my code - [x] I have performed a self-review of my own code; both comments & source code - [ ] I create and reference any new tickets, if applicable - [ ] I have left TODOs throughout the codebase, if applicable --------- Co-authored-by: Daniel Olshansky <[email protected]>
Summary
This PR addresses the following
TODO_BETA
s:SessionHeader#ValidateBasic()
is covering all usage ofSessionHeader
both on-chain and off-chain.Service#ValidateBasic
which is a sub-check ofSessionHeader#ValidateBasic
Type of change
Select one or more:
Testing
make docusaurus_start
; only needed if you make doc changesmake go_develop_and_test
make test_e2e
devnet-test-e2e
label to the PR.Sanity Checklist