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

[Protocol] MVP implementation off the on-chain CreateClaim message handling #140

Closed
5 of 8 tasks
Olshansk opened this issue Nov 3, 2023 · 4 comments · Fixed by #236, #148, #151, #265 or #273
Closed
5 of 8 tasks

[Protocol] MVP implementation off the on-chain CreateClaim message handling #140

Olshansk opened this issue Nov 3, 2023 · 4 comments · Fixed by #236, #148, #151, #265 or #273
Assignees
Labels
application Changes related to the Application actor protocol General core protocol related changes supplier Changes related to the Supplier actor

Comments

@Olshansk
Copy link
Member

Olshansk commented Nov 3, 2023

Objective

MVP Implementation of CreateClaim to enable Shannon TestNet.

Origin Document

Goals

  • Enable E2E validation of the entire protocol
  • Unblock iterative development of the claim & proof lifecycle
  • Unblock iterative development of on-chain tokenomics

Deliverables

  • A single PR that introduces the business logic for the on-chain CreateClaim message (verification, etc...)
  • A single PR that updates the CLI to submit CreateClaim messages
  • Introduce make targets to enable development (visibility, triggering, debugging , etc...) of on-chain claims
  • Add extensive unit tests (moved to [Testing] Ensure unit test coverage of supplier module #362)

Non-goals / Non-deliverables

  • Account Management (i.e. Burn & Mint) business logic related to the Claim & Proof lifecycle (leave TODOs)
  • Governance Params necessary for the Claim & Proof lifecycle (leave TODOs)

General deliverables

  • Comments: Add/update TODOs and comments alongside the source code so it is easier to follow.
  • Testing: Add new tests (unit and/or E2E) to the test suite.
  • Makefile: Add new targets to the Makefile to make the new functionality easier to use.
  • Documentation: Update architectural or development READMEs; use mermaid diagrams where appropriate.

Creator: @Olshansk
Co-Owners: @bryanchriswhite

@Olshansk Olshansk added application Changes related to the Application actor supplier Changes related to the Supplier actor protocol General core protocol related changes labels Nov 3, 2023
@Olshansk Olshansk added this to Shannon Nov 3, 2023
@Olshansk Olshansk moved this to 📋 Backlog in Shannon Nov 3, 2023
@Olshansk Olshansk moved this from 📋 Backlog to 🔖 Ready in Shannon Nov 6, 2023
@Olshansk Olshansk changed the title [Protocol] MVP implementation off the on-chain CreateClaim message handling [Protocol] MVP implementation off the on-chain CreateClaim message handling Nov 6, 2023
@Olshansk Olshansk added this to the Shannon TestNet milestone Nov 6, 2023
@Olshansk Olshansk moved this from 🔖 Ready to 🏗 In progress in Shannon Nov 6, 2023
@Olshansk
Copy link
Member Author

Olshansk commented Nov 6, 2023

@bryanchriswhite Picking this up

@Olshansk
Copy link
Member Author

@bryanchriswhite I'm unassigning myself from this in the meantime and will let you pick it up.

I think the comments you left (copy-pastedbelow) in func (k msgServer) CreateClaim(goCtx context.Context, msg *types.MsgCreateClaim) is a great starting point!

	/*
		TODO_INCOMPLETE: Handling the message

		## Validation

		### Session validation
		1. [ ] claimed session ID matches on-chain session ID
		2. [ ] this supplier is in the session's suppliers list

		### Msg distribution validation (depends on session validation)
		1. [ ] governance-based earliest block offset
		2. [ ] pseudo-randomize earliest block offset

		### Claim validation
		1. [ ] session validation
		2. [ ] msg distribution validation

		## Persistence
		1. [ ] create claim message
			- supplier address
			- session header
			- claim
		2. [ ] last block height commitment; derives:
			- last block committed hash, must match proof path
			- session ID (?)

@bryanchriswhite bryanchriswhite linked a pull request Dec 5, 2023 that will close this issue
10 tasks
@bryanchriswhite bryanchriswhite moved this from 🏗 In progress to 👀 In review in Shannon Dec 5, 2023
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Shannon Dec 7, 2023
@bryanchriswhite bryanchriswhite moved this from ✅ Done to 🏗 In progress in Shannon Dec 7, 2023
@bryanchriswhite bryanchriswhite linked a pull request Dec 13, 2023 that will close this issue
11 tasks
@bryanchriswhite bryanchriswhite linked a pull request Dec 14, 2023 that will close this issue
11 tasks
@bryanchriswhite bryanchriswhite moved this from 🏗 In progress to 👀 In review in Shannon Jan 9, 2024
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Shannon Jan 10, 2024
@bryanchriswhite bryanchriswhite moved this from ✅ Done to 👀 In review in Shannon Jan 18, 2024
@Olshansk
Copy link
Member Author

Olshansk commented Feb 2, 2024

@bryanchriswhite I'm closing this out and we'll create new tickets to capture any missing work.

@Olshansk Olshansk closed this as completed Feb 2, 2024
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Shannon Feb 2, 2024
@bryanchriswhite
Copy link
Contributor

@Olshansk I had the same thought and opened #362. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment