#
Class Diagram
This document includes the class diagram of all activity types
classDiagram
Subject -- Base Activity
Activity Direction -- Base Activity
Inclusion State -- Base Activity
Async Data -- Base Activity
Base Activity <|-- Transaction Activity
Base Activity <|-- Nft Activity
Base Activity <|-- Alias Activity
Base Activity <|-- Foundry Activity
Base Activity -- Activity Action
class Base Activity {
<<Interface>>
- id: string
- outputId: string
- transactionId: string
- metadata: string
- tag: string
- time: Date
- inclusionState: InclusionState
- inputs: IUTXOInput[]
- isHidden: boolean
- containsValue: boolean
- isAssetHidden: boolean
- direction: ActivityDirection
- action: ActivityAction
- isInternal: boolean
- storageDeposit: number
- giftedStorageDeposit: number
- subject: Subject
- asyncData: AsyncData
}
class Transaction Activity {
- type: ActivityType.Basic
- rawAmount: number
- assetId: string
- publicNote: string
- isShimmerClaiming: boolean
}
class Nft Activity {
- type: ActivityType.Nft
- nftId: string
}
class Foundry Activity {
- type: ActivityType.Foundry
- rawAmount: number
- assetId: string
}
class Alias Activity {
- type: ActivityType.Alias
- aliasId: string
- governorAddress: string
- stateControllerAddress: string
}
class Subject {
- type: "address" | "account"
- address?: string
- account?: IAccountState
}
class Activity Direction {
<<Enum>>
- Incoming
- Outgoing
- SelfTransaction
}
class Activity Action {
<<Enum>>
- Send
- Mint
}
class Async Data {
- asyncStatus: ActivityAsyncStatus
- timelockDate: Date
- expirationDate: Date
- isRejected: boolean
- isClaiming: boolean
- claimingTransactionId: string
- claimedDate: Date
}
class Inclusion State {
<<Enum>>
- Pending
- Confirmed
- Conflicting
- UnknownPruned
}