ChainSafe / ChainSafe/open-creator-rails
Creator subscription management dashboard
- 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
Assessment
This issue has not been assessed yet.