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 2 months ago