Repository navigation
feat: index corporate actions, checkpoints, ballots and relayer subsidies; merge external-agent entities and retire TransferManager #356
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
Changes from all commits
5ffcbb6
4232bba
61e3a00
2ffef0e
f4a91eb
51d2271
ed61738
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -117,10 +117,10 @@ const filters: Record<string, Record<string, string[]>> = { | |
| Removed: ['handleDistributionRemoved'], | ||
| }, | ||
| checkpoint: { | ||
| CheckpointCreated: [], | ||
| MaximumSchedulesComplexityChanged: [], | ||
| ScheduleCreated: [], | ||
| ScheduleRemoved: [], | ||
| CheckpointCreated: ['handleCheckpointCreated'], | ||
| MaximumSchedulesComplexityChanged: [], // chain config, no entity | ||
| ScheduleCreated: ['handleScheduleCreated'], | ||
| ScheduleRemoved: ['handleScheduleRemoved'], | ||
| }, | ||
| complianceManager: { | ||
| AssetCompliancePaused: ['handleAssetCompliancePaused'], | ||
|
|
@@ -137,22 +137,24 @@ const filters: Record<string, Record<string, string[]>> = { | |
| // never deployed to a production chain. Events are only indexed into the generic events table | ||
| confidentialAsset: {}, | ||
| corporateAction: { | ||
| CAInitiated: [], | ||
| CALinkedToDoc: [], | ||
| CARemoved: [], | ||
| DefaultTargetIdentitiesChanged: [], | ||
| DefaultWithholdingTaxChanged: [], | ||
| DidWithholdingTaxChanged: [], | ||
| MaxDetailsLengthChanged: [], | ||
| RecordDateChanged: [], | ||
| CAInitiated: ['handleCaInitiated'], | ||
| CALinkedToDoc: ['handleCaLinkedToDoc'], | ||
| CARemoved: ['handleCaRemoved'], | ||
| DefaultTargetIdentitiesChanged: ['handleDefaultTargetIdentitiesChanged'], | ||
| DefaultWithholdingTaxChanged: ['handleDefaultWithholdingTaxChanged'], | ||
| DidWithholdingTaxChanged: ['handleDidWithholdingTaxChanged'], | ||
| MaxDetailsLengthChanged: [], // chain config, no entity | ||
| RecordDateChanged: ['handleRecordDateChanged'], | ||
| // pre-6.0 CAA transfers — superseded by external agents, not indexed | ||
| // CAATransferred: [], | ||
| }, | ||
| corporateBallot: { | ||
| Created: [], | ||
| MetaChanged: [], | ||
| RangeChanged: [], | ||
| RCVChanged: [], | ||
| Removed: [], | ||
| VoteCast: [], | ||
| Created: ['handleBallotCreated'], | ||
| MetaChanged: ['handleBallotMetaChanged'], | ||
| RangeChanged: ['handleBallotRangeChanged'], | ||
| RCVChanged: ['handleBallotRcvChanged'], | ||
| Removed: ['handleBallotRemoved'], | ||
| VoteCast: ['handleBallotVoteCast'], | ||
| }, | ||
| externalAgents: { | ||
| AgentAdded: ['handleExternalAgentAdded', 'handleAgentAdded'], | ||
|
|
@@ -255,6 +257,18 @@ const filters: Record<string, Record<string, string[]>> = { | |
| protocolFee: { | ||
| FeeCharged: ['handleTransactionFeeCharged'], | ||
| }, | ||
| relayer: { | ||
| // deprecated from 8.0.0 chain version — superseded by the Subsidy events below | ||
| AuthorizedPayingKey: ['handleSubsidyApproved'], | ||
| AcceptedPayingKey: ['handleSubsidyAccepted'], | ||
| RemovedPayingKey: ['handleSubsidyRemoved'], | ||
| UpdatedPolyxLimit: ['handlePolyxLimitUpdated'], | ||
| ApprovedSubsidy: ['handleSubsidyApproved'], | ||
| AcceptedSubsidy: ['handleSubsidyAccepted'], | ||
| RemovedPendingSubsidy: ['handleSubsidyRemoved'], | ||
| RemovedSubsidy: ['handleSubsidyRemoved'], | ||
| SubsidyDebited: ['handleSubsidyDebited'], | ||
| }, | ||
| settlement: { | ||
| AffirmationWithdrawn: ['handleAffirmationWithdrawn'], | ||
| FailedToExecuteInstruction: ['handleFailedToExecuteInstruction'], | ||
|
|
@@ -326,10 +340,12 @@ const filters: Record<string, Record<string, string[]>> = { | |
| SetAssetTransferCompliance: ['handleSetTransferCompliance'], | ||
| StatTypesAdded: ['handleStatTypeAdded'], | ||
| StatTypesRemoved: ['handleStatTypeRemoved'], | ||
| TransferManagerAdded: ['handleTransferManagerAdded', 'handleStatisticTransferManagerAdded'], | ||
| TransferManagerRemoved: ['handleTransferManagerRemoved'], | ||
| ExemptionsAdded: ['handleExemptionsAdded', 'handleTransferManagerExemptionsAdded'], | ||
| ExemptionsRemoved: ['handleExemptionsRemoved', 'handleTransferManagerExemptionsRemoved'], | ||
| // TransferManager (deprecated, retired) is gone; these still feed StatType / | ||
| // TransferComplianceExemption for the pre-v5 percentage/count restriction model | ||
| TransferManagerAdded: ['handleStatisticTransferManagerAdded'], | ||
| TransferManagerRemoved: [], | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The transfer-manager concept no longer exists on chain, so these should be dropped entirely rather than half-kept. As it stands the PR is in the middle: It also diverges from plan 08, which says pre-v5 events should map into Suggest removing the whole path:
Plan 08:124 already verified [V] that neither consumer queries these entities — the SDK reads transfer restrictions from chain — so nothing downstream loses a data source. Deleting also removes a latent bug rather than preserving it: the pre-v5 exemption path writes The one thing worth confirming before deleting: the [V] covers today's SDK and portal. If anyone is building an analytics view over historical restrictions, pre-v5 becomes permanently unavailable without a resync. |
||
| ExemptionsAdded: ['handleTransferManagerExemptionsAdded'], | ||
| ExemptionsRemoved: ['handleTransferManagerExemptionsRemoved'], | ||
| TransferConditionExemptionsAdded: ['handleStatisticExemptionsAdded'], | ||
| TransferConditionExemptionsRemoved: ['handleStatisticExemptionsRemoved'], | ||
| }, | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
relayer.RelayedTx(caller, target, result)is the one event in this pallet with no handler. It's inEventIdEnumalready (deduplicated into the## utility ##section), so it's known, just unregistered.Is that deliberate scope, or an oversight? The PR models
SubsidyDebited, which is the fee side of relayed activity, so recording who relayed for whom seems like the natural pair. If it's out of scope, worth a[]entry with a comment like the twochain config, no entityones above, so the gap reads as a decision rather than a miss.