- Fix handling of proposal details between spec versions 2003 and 2004
- Bump @joystream/types to Petra version
- Bump deps @polkadot/api v10.7.1
- Bump polkadot-js/api version bump, use newer hydra-typegen version
- Fixes in mappings, when checking runtime version to pick correct event type
- Add support for Nara release - CRTs, freeze pallet proposal, new chain metadata spec
- Add
isShort
field toVideo
entity. and updated mappings to process/set this filed
- Fix validator profile verification - #5061
- Add support for validator profile verification - #4976
- Refactor of mappings for more better handling of error cases. #4856
- Bug fix #4855
- Add support for UpdateGlobalNftLimit proposal.
- Store membership handles both as utf-8 string and raw bytes - #4950
- Add add linked-in to membership external resource #4927
- Schema updated, processor needs to be re-synced.
- Adds
StorageBag.objectsSize
field toStorageBag
entity schema. This enables to query the total size of all objects in a storage bag. #4818 - Add Validator profile #4849,#4868
- Schema updated, processor needs to be resynced.
- Fix external resources mapping of membership metadata to ignore unrecognized type. #4838
- Integrates OpenTelemetry API/SDK with Query Node's Graphql Server for exporting improved tracing logs & metrics to Elasticsearch. Adds
./start-elasticsearch-stack.sh
script to bootstrap elasticsearch services (Elasticsearch + Kibana + APM Server) with all the required configurations.
- Bumped Hydra dependencies to
5.0.0-alpha.4
to include processor syncing bug fix: Joystream/hydra#519
- Added support for Channel Payouts mappings, specifically implemented
ChannelPayoutsUpdated
,ChannelRewardUpdated
,ChannelRewardClaimedAndWithdrawn
&ChannelFundsWithdrawn
events. - Added support for processing updated
MemberRemarked
event, decorated with an optional payment parameter (Option<AccountId, Balance>
). This is used to support Direct Channel Payment functionality. - Adds support to the Query Node for successfully processing the events across Runtime upgrades.
- Previously the event type signature generated by
@joystream/hydra-typegen
,e.g., for a MemberRemarked event, looked asMembers.MemberRemarkedEvent
, now the generated event type would look asMembers_MemberRemarkedEvent_V1001
where suffix(V1001
) represents the runtime spec version. - The metadata of each spec version - for which the event type should be generated - needs to be part of single directory with spec version as file name (e.g. 1001.json, 2001.json etc). The directory path then should be provided as typegen source in
manifest.yml
file.
- Previously the event type signature generated by
- Added support for Apps functionality with accordance to a specification from: #4307:
- New entity:
App
- Updated
@joystream/metadata-protobuf
dependency to2.7.0
(includesApp
related protobuf messages) - Support for creating and updating
App
s throughMemberRemark
- Support for connecting
Video
andChannel
entities toApp
via a newentryApp
relationship Membership
entity now includes newtotalChannelsCreated
andtotalVideosCreated
fields
- New entity:
- FIX:
deserializeMetadata
now used instead ofMemberRemarked.decode
inMemberRemark
event handler. deserializeMetadata
: added a new, optionalskipWarning
property
- Added missing
WorkingGroupBudgetFunded
event mapping
- First major version bump (
1.0.0
) due to mainnet release - Hydra dependencies updated from
4.0.0-alpha.9
to4.0.0-alpha.11
Most of the events processed by the query node are now mapped to corresponding {event_name}Event
entities, which implement the Event
interface.
Events of different types can be queried together, for example, take a look at the query below:
{
events(
where: {
type_in: [
AppliedOnOpeningEvent
ApplicationWithdrawnEvent
BudgetSpendingEvent
StakeDecreasedEvent
StakeIncreasedEvent
OpeningAddedEvent
OpeningCanceledEvent
OpeningFilledEvent
WorkerExitedEvent
StatusTextChangedEvent
BudgetSetEvent
StakeSlashedEvent
TerminatedLeaderEvent
TerminatedWorkerEvent
]
}
limit: 25
orderBy: [createdAt_DESC]
) {
... on AppliedOnOpeningEvent {
...AppliedOnOpeningEventFields
}
... on ApplicationWithdrawnEvent {
...ApplicationWithdrawnEventFields
}
... on BudgetSpendingEvent {
...BudgetSpendingActivityEventFields
}
... on StakeDecreasedEvent {
...StakeDecreasedEventFields
}
... on StakeIncreasedEvent {
...StakeIncreasedEventFields
}
... on OpeningAddedEvent {
...OpeningAddedEventFields
}
... on OpeningCanceledEvent {
...OpeningCanceledEventFields
}
... on OpeningFilledEvent {
...OpeningFilledEventFields
}
... on WorkerExitedEvent {
...WorkerExitedEventFields
}
... on StatusTextChangedEvent {
...StatusTextChangedEventFields
}
... on BudgetSetEvent {
...BudgetSetEventFields
}
... on StakeSlashedEvent {
...StakeSlashedEventFields
}
... on TerminatedWorkerEvent {
...TerminatedWorkerEventFields
}
... on TerminatedLeaderEvent {
...TerminatedLeaderEventFields
}
}
}
There is a separate file with the event input schemas for each module that has some events mapped to entities:
membershipEvents.graphql
councilEvents.graphql
forumEvents.graphql
proposalsEvents.graphql
proposalDiscussionEvents.graphql
workingGroupsEvents.graphql
Runtime modules for which the mappings have been introduced in Olympia (there were no mappings in Giza):
avatarUri
andabout
fields have been removed fromMembership
entity. They are now part ofMemberMetadata
, along with the newname
field. Additionally,avatarUri
is now ofAvatar
union type withAvatarUri
andAvatarObject
variants. Currently onlyAvatarUri
variant is actually being used.MembershipEntryMethod
(Membership.entry
) is now anunion
(previously anenum
) with 3 variants:MembershipEntryPaid
,MembershipEntryInvited
andMembershipEntryGenesis
. The first two include a reference to the event which caused the membership to be created (MembershipBoughtEvent
/MemberInvitedEvent
)createdInBlock
field has been removed from theMembership
entity. Use.entry.{membershipBoughtEvent|memberInvitedEvent}.inBlock
instead.subscription
field has been removed.- A lot of new fields have been added to
Membership
because of the introduction of the member invitations feature, referrals and mappings for other modules, which have bidirectional relations toMembership
. For reference, see the fullMembership
schema. - A new
MembershipSystemSnapshot
entity has been introduced, which describes a snapshot of the membership system configuration parameters that can be changed through proposals. Those include default invitations count for new members, membership price, referral cut and initial balance of an invited member.
- All working groups are now supported by the query node (previously only
Apps
andStorage
groups were supported) Worker.id
now has a{workingGroupModuleName}-{workerId}
format, for example:storageWorkingGroup-1
.Worker.isActive
field has been removed in favor ofWorker.status
union (Note thatisActive
may be re-introduced after #2657)Worker.type
enum has been replaced byWorker.group
, which is a reference to the newWorkingGroup
entity (each supported group has a correspondingWorkingGroup
record).Worker.workerId
(String
) is nowWorker.runtimeId
(Int
)Worker.metadata
is nowWorker.storage
- The mappings have been significantly enriched. For reference, see the full schema.