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

Add ContractSpecification implementation to the metadata module #57

Closed
10 of 15 tasks
iramiller opened this issue Feb 10, 2021 · 2 comments · Fixed by #106
Closed
10 of 15 tasks

Add ContractSpecification implementation to the metadata module #57

iramiller opened this issue Feb 10, 2021 · 2 comments · Fixed by #106
Assignees
Labels
metadata Metadata Module
Milestone

Comments

@iramiller
Copy link
Member

iramiller commented Feb 10, 2021

Summary

Implement basic metadata structure for GroupSpecification

Problem Definition

  • Review proto message for appropriate identifiers and structure, update as needed. Change repeated ConsiderationSpec to be a repeated list of RecordSpecification identifiers. (this is a new type for the Address class)
  • Implement ValidateBasic for object
  • Add NewContractSpecification functions for creating an instance of ContractSpecification
  • Create test suite to cover basic validation logic
  • Implement appropriate Stringer interface method, add test case
  • Create associated keeper file for ContractSpecification.
    • Get/Set/Remove methods for ContractSpecifications in state store (include events and instrumentation publishing). Ensure remove method fails if there are any existing references to object. Update any indexes that might be useful for rapidly querying/accessing data for queries. Example: all scopes with a given value_owner
    • Add a special Create method that takes a P8e ContractSpec and parses into ContractSpecification and RecordSpecifications. Split out: Add ability to convert p8e ContractSpec to new ContractSpecification and RecordSpecifications. #113
    • Stateful validation of object (pull existing, verify any updates are allowed, etc)
    • Implement iterator using KVStorePrefixIterator and appropriate prefix
  • Wire up msg_server and query_server endpoints to new keeper methods.

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@iramiller
Copy link
Member Author

See #58 for details on the Record Specification identifier.

@iramiller iramiller added this to the Metadata Module Release milestone Feb 10, 2021
@jdfigure jdfigure added the metadata Metadata Module label Feb 17, 2021
@iramiller iramiller self-assigned this Feb 18, 2021
@iramiller iramiller changed the title Add GroupSpecification implementation to the metadata module Add ContractSpecification implementation to the metadata module Feb 22, 2021
@jdfigure jdfigure modified the milestones: Metadata Module Release, Testnet Beta Feb 22, 2021
@iramiller
Copy link
Member Author

Moving out of assigned/todo as this is blocked pending merge/resolution of #56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
metadata Metadata Module
Projects
Development

Successfully merging a pull request may close this issue.

3 participants