Subgraphs
Y can find deployed subgraphs by environment in the sub-sections. Below, the main entities are described.
Spoke Entities
The main entities that can be queried in the Spoke Subgraph are:
OriginIntent: tracks status and information related to an intent created on this domain
DestinationIntent: tracks status and information related to an intent settled on this domain
IntentSettleEvent: created when an intent is settled on destination via
_handleSettlementQueue: the intent queue on the domain
IntentStatus
enum IntentStatus {
  NONE
  ADDED # signifies added to the message queue
  DISPATCHED # signifies the batch containing the message has been sent
  SETTLED # signifies settlement has arrived on spoke domain for intent
  SETTLED_AND_MANUALLY_EXECUTED # settlement has arrived & calldata executed
}OriginIntent
type OriginIntent @entity {
  id: Bytes! # intent id
  queueIdx: BigInt!
  message: Message
  settlement: SpokeSettlement
  status: IntentStatus!
  initiator: Bytes!
  receiver: Bytes!
  inputAsset: Bytes!
  outputAsset: Bytes!
  maxFee: BigInt!
  origin: BigInt!
  nonce: BigInt!
  timestamp: BigInt!
  ttl: BigInt!
  amount: BigInt!
  destinations: [BigInt!]
  data: Bytes!
  # Add Intent Transaction
  addEvent: IntentAddEvent!
}DestinationIntent
type DestinationIntent @entity {
  id: Bytes! # intent id
  queueIdx: BigInt!
  message: Message
  status: IntentStatus!
  settlement: SpokeSettlement
  initiator: Bytes!
  receiver: Bytes!
  inputAsset: Bytes!
  outputAsset: Bytes!
  maxFee: BigInt!
  origin: BigInt!
  nonce: BigInt!
  timestamp: BigInt!
  ttl: BigInt!
  amount: BigInt!
  destinations: [BigInt!]
  data: Bytes!
  fillEvent: IntentFillEvent!
  calldataExecutedEvent: ExternalCalldataExecutedEvent
}IntentSettleEvent
type IntentSettleEvent @entity(immutable: true) {
  id: Bytes!
  intentId: Bytes!
  account: Bytes!
  asset: Bytes!
  amount: BigInt!
  # Settle Transaction
  transactionHash: Bytes!
  timestamp: BigInt!
  gasPrice: BigInt!
  gasLimit: BigInt!
  blockNumber: BigInt!
  txOrigin: Bytes!
  txNonce: BigInt!
}Queue
type Queue @entity {
  id: Bytes! # 'INTENT' or 'FILL'
  type: QueueType!
  lastProcessed: BigInt
  size: BigInt!
  first: BigInt!
  last: BigInt!
}Hub Entities
The main entities that can be queried in the Hub Subgraph are:
HubIntent: tracks the status of an intent on the Hub
SettlementQueue: tracks settlements in the queue
SettlementMessage: settlement message being sent to the Spoke
Token: information related to a token including fees, feeRecipients, and related assets
Asset: information related to an asset on a domain
Solver: information related to a Solver's configuration
HubIntentStatus
enum HubIntentStatus {
  NONE
  ADDED
  DEPOSIT_PROCESSED
  FILLED
  ADDED_AND_FILLED
  INVOICED
  SETTLED
  SETTLED_AND_MANUALLY_EXECUTED
  UNSUPPORTED
  UNSUPPORTED_RETURNED
}HubIntent
type HubIntent @entity {
  id: Bytes!
  status: HubIntentStatus!
  pendingRewards: BigInt!
  settlement: HubSettlement
  addEvent: IntentAddEvent
  fillEvent: IntentFillEvent
  message: SettlementMessage
  pendingRewardsAddedEvents: [PendingRewardsAddedEvent!]!
}SettlementQueue
type SettlementQueue @entity {
  id: Bytes! # domain
  domain: BigInt!
  lastProcessed: BigInt
  size: BigInt!
  first: BigInt!
  last: BigInt!
}SettlementMessageType
enum SettlementMessageType {
  SETTLED
  UNSUPPORTED_RETURNED
}SettlementMessage
type SettlementMessage @entity(immutable: true) {
  id: Bytes!
  quote: BigInt!
  domain: BigInt!
  intentIds: [Bytes!]!
  type: SettlementMessageType!
  txOrigin: Bytes!
  transactionHash: Bytes!
  timestamp: BigInt!
  blockNumber: BigInt!
  txNonce: BigInt!
  gasLimit: BigInt!
  gasPrice: BigInt!
}Token
type Token @entity {
  id: Bytes! # Ticker Hash
  feeRecipients: [Bytes!]
  feeAmounts: [BigInt!]
  maxDiscountBps: BigInt!
  assets: [Asset!]! @derivedFrom(field: "token")
}Asset
type Asset @entity(immutable: true) {
  id: Bytes! # Asset hash
  token: Token
  domain: BigInt
  adopted: Bytes!
  approval: Boolean!
}Solver
type Solver @entity {
  id: Bytes! # solver address
  supportedDomains: [BigInt!]
  updateVirtualBalance: Boolean!
}For more information visit the Github repo: Coming soon.
Last updated

