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 _handleSettlement
Queue : the intent queue on the domain
IntentStatus
Copy 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
Copy 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
Copy 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
Copy 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
Copy 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
Copy enum HubIntentStatus {
NONE
ADDED
DEPOSIT_PROCESSED
FILLED
ADDED_AND_FILLED
INVOICED
SETTLED
SETTLED_AND_MANUALLY_EXECUTED
UNSUPPORTED
UNSUPPORTED_RETURNED
}
HubIntent
Copy type HubIntent @entity {
id: Bytes!
status: HubIntentStatus!
pendingRewards: BigInt!
settlement: HubSettlement
addEvent: IntentAddEvent
fillEvent: IntentFillEvent
message: SettlementMessage
pendingRewardsAddedEvents: [PendingRewardsAddedEvent!]!
}
SettlementQueue
Copy type SettlementQueue @entity {
id: Bytes! # domain
domain: BigInt!
lastProcessed: BigInt
size: BigInt!
first: BigInt!
last: BigInt!
}
SettlementMessageType
Copy enum SettlementMessageType {
SETTLED
UNSUPPORTED_RETURNED
}
SettlementMessage
Copy 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
Copy type Token @entity {
id: Bytes! # Ticker Hash
feeRecipients: [Bytes!]
feeAmounts: [BigInt!]
maxDiscountBps: BigInt!
assets: [Asset!]! @derivedFrom(field: "token")
}
Asset
Copy type Asset @entity(immutable: true) {
id: Bytes! # Asset hash
token: Token
domain: BigInt
adopted: Bytes!
approval: Boolean!
}
Solver
Copy type Solver @entity {
id: Bytes! # solver address
supportedDomains: [BigInt!]
updateVirtualBalance: Boolean!
}
For more information visit the Github repo: Coming soon.
Last updated 7 months ago