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

[Supplier] Basic validation logic for CreateClaim #148

Merged
merged 30 commits into from
Nov 8, 2023

Conversation

Olshansk
Copy link
Member

@Olshansk Olshansk commented Nov 6, 2023

Summary

Human Summary

Just implementing ValidateBasic for CreateClaim

AI Summary

Summary generated by Reviewpad on 08 Nov 23 20:24 UTC

This pull request contains the following changes:

  1. A new file called prog.go was added to the pkg/client/gomock_reflect_3526400147 directory.
  2. The x/supplier/types/errors.go file was modified to add two new error variables.
  3. The x/supplier/types/message_create_claim.go file was modified to add additional validation checks.
  4. The x/supplier/types/message_create_claim_test.go file was modified to add unit tests for message validation.

Please review these changes.

Issue

Type of change

Select one or more:

  • New feature, functionality or library
  • Bug fix
  • Code health or cleanup
  • Documentation
  • Other (specify)

Testing

  • Run all unit tests: make go_develop_and_test
  • Verify Localnet manually: See the instructions [here](TODO: add link to instructions)

Sanity Checklist

  • I have tested my changes using the available tooling
  • I have performed a self-review of my own code
  • I have commented my code, updated documentation and left TODOs throughout the codebase

@Olshansk Olshansk added the supplier Changes related to the Supplier actor label Nov 6, 2023
@Olshansk Olshansk self-assigned this Nov 6, 2023
@Olshansk Olshansk added this to the Shannon TestNet milestone Nov 6, 2023
@Olshansk Olshansk changed the base branch from issues/140/create_claim to issues/140/rename_serviceid_to_service November 7, 2023 00:15
Copy link
Contributor

@bryanchriswhite bryanchriswhite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had some questions/suggestions but nothing worth blocking this for.

Olshansk and others added 16 commits November 7, 2023 11:24
* fix: flakey block cliekt test

* chore: simplify & react to review feedback

* chore: add godoc comment

* chore: simplify
* wip - need info from GitHub CI

* build image as a part of main ci

* troublshoot w/o test

* should be a cp here

* wip

* more label control

* install directly from github

* use wget

* rerun ci

* troubleshoot

* more information

* it was git context

* kill previous run if a new commit is pushed

* this should work

* remove buildlog

* resolve conflicts

* perform the tests as well

* we will be allright withoug keeping the bin dir

* bring back ignite version

* also build on mai

* refine label actions

* Update .github/workflows/go.yml

Co-authored-by: Daniel Olshansky <[email protected]>

* add requested changes

* pocketd has been replaced with poktrolld

* only change the binary name for now, take care of other pocketd instances later

* Update .github/label-actions.yml

Co-authored-by: Daniel Olshansky <[email protected]>

* rename pocketd with poktrolld where necessary

* typofix

* also use poktrolld for e2e tests

---------

Co-authored-by: Daniel Olshansky <[email protected]>
* chore: add `TxClient` interface

* chore: add option support to `ReplayObservable`

* feat: add `txClient` implementation

* test: `txClient`

* test: tx client integration

* chore: s/tx/transaction/g

* chore: update pkg README.md template

* wip: client pkg README

* docs: fix client pkg godoc comment

* fix: flakey test

* chore: dial back godoc comments 😅

* chore: revise (and move to godoc.go) `testblock` & `testeventsquery` pkg godoc comment

* chore: update go.mod

* chore: refactor & condense godoc comments

* chore: fix import paths post-update

* chore: review feedback improvements

* docs: update client README.md

* docs: add `tx query` usage association between `txContext` & `Blockchain`

* docs: add TOC

* chore: review feedback improvements

Co-authored-by: Daniel Olshansky <[email protected]>

* docs: improve godoc comments & client README.md

---------

Co-authored-by: Daniel Olshansky <[email protected]>
* chore: add `TxClient` interface

* chore: add option support to `ReplayObservable`

* feat: add `txClient` implementation

* test: `txClient`

* test: tx client integration

* chore: s/tx/transaction/g

* chore: update pkg README.md template

* wip: client pkg README

* docs: fix client pkg godoc comment

* refactor: consolidate keyring errors & helpers

* refactor: keyring test helpers

* fix: flakey test

* chore: dial back godoc comments 😅

* chore: revise (and move to godoc.go) `testblock` & `testeventsquery` pkg godoc comment

* chore: update go.mod

* chore: refactor & condense godoc comments

* chore: fix import paths post-update
* chore: add `TxClient` interface

* chore: add option support to `ReplayObservable`

* feat: add `txClient` implementation

* test: `txClient`

* test: tx client integration

* chore: s/tx/transaction/g

* chore: update pkg README.md template

* wip: client pkg README

* docs: fix client pkg godoc comment

* refactor: consolidate keyring errors & helpers

* refactor: keyring test helpers

* fix: flakey test

* chore: dial back godoc comments 😅

* chore: add `SupplierClient` interface

* feat: add supplier client implementation

* test:  supplier test helpers

* test: supplier client tests

* test: supplier client integration test

* chore: update go.mod

* trigger CI

* chore: revise (and move to godoc.go) `testblock` & `testeventsquery` pkg godoc comment

* chore: update go.mod

* chore: refactor & condense godoc comments

* chore: fix import paths post-update

* chore: add godoc comment
@Olshansk Olshansk force-pushed the issues/140/validate_create_claim branch from 692c4f1 to f4b3e7e Compare November 7, 2023 20:07
@Olshansk Olshansk changed the base branch from issues/140/rename_serviceid_to_service to main November 8, 2023 19:59
Olshansk and others added 10 commits November 8, 2023 12:10
…ocs (#153)

* refactor: move /internal pkgs to /testutil

* chore: cleanup
* add more debug output

* Empty commit

* symlink to pocketd for now

* rename pocketd

* --wip-- [skip ci]

* removing pocketd completely

* also remove comment

* --wip-- [skip ci]

* add files

* change git rules
* Implement MsgStakeSupplier

* Unit tests pass

* Rename some test vars

* Fix typo

* Unstake - WIP

* Update makefile

* Finished implementing unstake

* Self review

* [WIP] Session Hydrator

* snapshot commit

* Working on the tests

* One HydrateSessionTest ready

* Self review - before finishing tests

* Prepared templates for all of the unit tests

* feat: add the map channel observable operator

(cherry picked from commit 22371aa550eb0060b528f4573ba6908bbdfa0c1c)

* Implemented TestSession_HydrateSession_Metadata

* feat: add replay observable

(cherry picked from commit ab21790164ab544ae5f1508d3237a3faab33e71e)

* Implemented TestSession_HydrateSession_SessionId

* chore: add query client interface

* chore: add query client errors

* Implemented TestSession_HydrateSession_Success_BaseCase

* Implemented TestSession_HydrateSession_Application

* Option attempt for tests

* Implemented TestSession_HydrateSession_Suppliers

* test: fix false positive, prevent regression, & add comments

* chore: add godoc comment

* feat: add query client implementation

* chore: add connection & dialer wrapper implementations

* test: query client & add testquery helper pkg

* chore: add go_test_integration make target

* chore: add internal mocks pkg

* test: query client integration test

* docs: add event query client docs

* chore: update go.mod

* chore: re-order `eventsQueryClient` methods to improve readability

* chore: add godoc comments to testclient helpers

* fix: comment formatting

* chore: improve comment & naming in evt query client test

* test: tune events query client parameters

* chore: improve godoc comments

* chore: review improvements

* refactor: `replayObservable` as its own interface type

* refactor: `replayObservable#Next() V`  to `ReplayObservable#Last(ctx, n) []V`

* chore: add constructor func for `ReplayObservable`

* test: reorder to improve readibility

* refactor: rename and add godoc comments

* chore: improve naming & comments

* chore: add warning log and improve comments

* test: improve and add tests

* fix: interface assertion

* fix: comment typo

* chore: review improvements

* fix: race

* chore: add block client interface

* chore: add `MapReplay` operator

* feat: add block client

* test: block client integration

* test: block client

* docs: fix install instructions

* fix: race on eventsBytesAndConns map

* fix: interface assertions

Co-authored-by: Redouane Lakrache <[email protected]>

* fix: race

* Apply suggestions from code review

Co-authored-by: Bryan White <[email protected]>
Co-authored-by: Redouane Lakrache <[email protected]>

* [RelayerProxy] feat: implement relayerProxy struct (#82)

* feat: add notifiable observable

Co-authored-by: red-0ne <[email protected]>

* fixup: observable

(cherry picked from commit bcf700405b5e4bd71bf9bb650c988526fa16c728)

* refactor/fix: notifiable observable improvements

* chore: more review improvements

* refactor: renaming

- `notifiable` pkg to `channel`
- `notifiableObservable` struct to `channelObservable`
- `observer` struct to `channelObserver`
- `notifier` vars to `producer`
- `notifee` vars to `observable` (or similar)

* chore: update comments

* refactor: simplify drainCh test helper

* test: fix timeout

* test: rename observable test functions

* test: add test TODOs

* chore: update comments

* refactor: simplify observable & observer

* test: fix & add observable tests

* test: cleanup & comment observable tests

* fixup: observable

(cherry picked from commit 33f3196535b7dae154e01f93aab36f70cda8fc4f)

* fixup: observable test

(cherry picked from commit 9c206da115dc35843d588313c2215a0e649c6df6)

* refactor: simplify & cleanup

* chore: cleanup logs & comments

* chore: improve comments

* refactor: DrainChannel test helper

* shore: cleanup & simplify

* test: comment out flaky test cases

* fixup: drain channel helper

* chore: improve var name

* fixup: drain channel helper

* test: shorten timeout

* chore: cleanup

* chore: cleanup, simplification, review improvements

(cherry picked from commit 92a547da29ec526d415f6967ccfa5988c3f5ca1d)

* chore: improve comments

Co-authored-by: Daniel Olshansky <[email protected]>

* chore: improve comments

Co-authored-by: Daniel Olshansky <[email protected]>

* refactor: rename `Observable#Close()` to `#UnsubscribeAll()`

* chore: improve comments

* chore: misc. review feedback improvements

* chore: improve comment

* chore: review improvements

* chore: last minute improvements

* feat: add RelayerProxy interface

* Fix grammar in comments

Co-authored-by: Daniel Olshansky <[email protected]>

* chore: rename package to relayerproxy

* feat: implement relayerProxy struct and its constructor args

* fix: change directory structure

* fix: change directory structure

* chore: address change requests

* chore: comment unavailable interface and its usage

---------

Co-authored-by: Bryan White <[email protected]>
Co-authored-by: Daniel Olshansky <[email protected]>

* fix: RelayerProxy interface mismatch (#91)

* [Observable] chore: observable touchup (#83)

* chore: add `Observer#IsClosed()` to prevent  redundant unsubscription

(cherry picked from commit 78a9946b3f14353e79b123919416903d4622da4d)

* chore: simplify channel observable

(cherry picked from commit a2629c8bc3decfb5a787e453af67aa78fc8ca1ea)

* test: add case for publisher w/ large buffer size, comment, & cleanup

(cherry picked from commit e97b691e39af8fa1654b8d697a3b34095b32ed82)

* docs: update observable pkg README.md

(cherry picked from commit d5442c7062630d847e048850fa71806086f84172)

* doc: fix pkg README template

* chore: add `Observable#Next()`

(cherry picked from commit cb4142f673fee37ead8520394e314f1fcb9d0dc9)

* chore: update godoc comments

* feat: seperate tests from go_develop (#89)

* [E2E] Add Regression Testing for Send E2E Feature Test (#84)

* chore: enforce go standard interface implementation registration (#87)

* [Miner] feat: add the map channel observable operator (#92)

* feat: add the map channel observable operator

(cherry picked from commit 22371aa550eb0060b528f4573ba6908bbdfa0c1c)

* test: fix false positive, prevent regression, & add comments

* chore: add godoc comment

* chore: review improvements

* Reply to Red0ne's comments

* Update small comment

* Small self review

* Updated TestSession_GetSession

* Fixed last failing test

* feat: add the interfaces for the RelayerSessions and SessionTree

* chore: address change requests

* chore: move-up comment

* feat: add ExpiringSessions to RelaySessions interface

* fix: use appropriate function name in comment

Co-authored-by: Daniel Olshansky <[email protected]>

* feat: implement relayerSessions and sessionTree

* chore: improve comments

* chore: address change requests

* chore: remove alias types for sessionId and block height

* chore: remove previous merge changes

* chore: remove added gitkeep

* chore: go mod tidy

* fix: use conventional module paths

* chore: address change request from PRs 104 & 105

* chore: wrap long comments

* chore: address change requests

---------

Co-authored-by: Daniel Olshansky <[email protected]>
Co-authored-by: Bryan White <[email protected]>
Co-authored-by: harry <[email protected]>
Renamed the `ServiceId` proto to `Service` so `ServiceId.Id` is more semantic and less confusing.
---

Co-authored-by: Bryan White <[email protected]>
Co-authored-by: Daniel Olshansky <[email protected]>
Co-authored-by: Dima Kniazev <[email protected]>
@Olshansk Olshansk merged commit 97796bd into main Nov 8, 2023
7 checks passed
@Olshansk Olshansk deleted the issues/140/validate_create_claim branch November 8, 2023 20:45
@Olshansk Olshansk changed the title [Supper] Basic validation logic for CreateClaim [Supplier] Basic validation logic for CreateClaim Nov 17, 2023
@bryanchriswhite bryanchriswhite linked an issue Dec 5, 2023 that may be closed by this pull request
8 tasks
okdas pushed a commit that referenced this pull request Nov 14, 2024
Just implementing ValidateBasic for CreateClaim
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
supplier Changes related to the Supplier actor
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

[Protocol] MVP implementation off the on-chain CreateClaim message handling
4 participants