ChainSafe / ChainSafe/open-creator-rails

Creator subscription management dashboard

Open
#99 3 comments 0 reactions 1 assignee Claimed by @dhyaniarun1993 View on GitHub
Dominant language
Solidity
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## What

The SDK and indexer API need to expose creator-side management operations — querying owned assets, subscriber counts, claimable fee balances, and write operations (claim, revoke, update pricing) — so that integrators can build creator-facing tooling without direct contract or indexer coupling.

## Why

Currently, a creator wanting to see their accumulated fees across multiple assets would need to manually call each asset contract. There is no aggregated view, and no SDK convenience for batch operations. Integrators should not have to implement this themselves.

## Required SDK surface

```ts
// Query
getAssetsByOwner(ownerAddress: string): Promise
getSubscriberCount(assetAddress: string): Promise
getActiveSubscribers(assetAddress: string): Promise
getClaimableBalance(assetAddress: string): Promise

// Writes
claimFees(assetAddress: string): Promise
batchClaimFees(assetAddresses: string[]): Promise
revokeSubscription(assetAddress: string, subjectId: string): Promise
setSubscriptionPrice(assetAddress: string, pricePerPeriod: bigint): Promise
```

## Required indexer queries

- Assets by owner address
- Active subscriber list per asset (with expiry dates)
- Historical subscription events per asset

## Acceptance Criteria

- [ ] `getAssetsByOwner` returns all assets deployed by a given wallet
- [ ] `getClaimableBalance` returns accurate unclaimed fee amount per asset
- [ ] `batchClaimFees` loops through assets and submits claim transactions
- [ ] `getActiveSubscribers` returns current subscribers with expiry via indexer
- [ ] All methods documented with usage examples

## Dependencies

- WP2 — indexer must expose asset-by-owner and subscriber list queries
- #97 — price update method

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.