Skip to content

Implement extrinsics and RPCs for Intents and Intent Groups #2564

@JoeCap08055

Description

@JoeCap08055

Description

The following modifications to existing extrinsics are proposed:

  • propose_to_create_schema_v2, create_schema_via_governance_v2, create_schema_v3, propose_to_create_schema_name, and create_schema_name_via_governance (deprecated)
    • Deprecated extrinsics will simply reject until fully removed in a future release
  • All extrinsics related to Delegations that reference SchemaId will be changed to reference IntentId. Since the
    data type is u16 for both, the binary API will not change.

The following new extrinsics are proposed:

Extrinsic Parameters Description
propose_to_create_intent
create_intent
protocol_name: ProtocolName
intent_name: NameDescriptor
payload_location: PayloadLocation
settings: IntentSettings
Propose to create an Intent
Create an Intent
create_intent_via_governance creator_key: AccountId
protocol_name: ProtocolName
intent_name: NameDescriptor
payload_location: PayloadLocation
settings: IntentSettings
Create an Intent via Governance
propose_to_create_intent_group
create_intent_group
protocol_name: ProtocolName
group_name: NameDescriptor
intent_ids: BoundedVec<IntentId, MAX_INTENTS_PER_GROUP>
Propose to create a IntentGroup
Create an IntentGroup
create_intent_group_via_governance creator_key: AccountId
protocol_name: ProtocolName
group_name: NameDescriptor
intent_ids: BoundedVec<IntentId, MAX_INTENTS_PER_GROUP>
Create an IntentGroup via Governance
propose_to_update_intent_group
update_intent_group
group_id: IntentGroupid
intent_ids: BoundedVec<IntentId, MAX_INTENTS_PER_GROUP>
Propose to update an IntentGroup
Update an IntentGroup
update_intent_group_via_governance creator_key: AccountId
group_id: IntentGroupid
intent_ids: BoundedVec<IntentId, MAX_INTENTS_PER_GROUP>
Update an IntentGroup via Governance

12. Runtime Calls

The following new Custom Runtime functions are proposed:

Custom Runtime Function Parameters Description
get_registered_entities_by_name protocol_name: ProtocolName
descriptor_name: Option<DescriptorName>
Resolve a name to a registered ID or list of IDs

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions