Debridge Oracles

The Chainlink Nodes serve as the trustworthy decentralized data provider for the cross-chain asset transfers.

Oracles System

To clarify the definitions, the oracle is the node run by the oracle admin and selected by the deBridge governance. Each oracle can execute the jobs - the sequential tasks that the node must perform to produce a final result - that are triggered by the initiators. Each CL node run its own external initiator.

Debridge requires two jobs for the transparent transfers with the followed specifications:

mint-job.json
{
"initiators": [
{
"type": "external",
"params": {
"name": "debridge",
"body": {}
}
}
],
"tasks": [
{
"type": "ethtx",
"params": {
"address": "AGGREGATOR_ADDRESS",
"functionSelector": "0x0b29b943"
}
}
]
}
burn-job.json
{
"initiators": [
{
"type": "external",
"params": {
"name": "debridge",
"body": {}
}
}
],
"tasks": [
{
"type": "ethtx",
"params": {
"address": "AGGREGATOR_ADDRESS",
"functionSelector": "0xc4b56cd0"
}
}
]
}
‚Äč

In both jobs the debridge initiator runs the tasks. It monitors the networks, notices the transfer requests, and calls the job with the submission id as the parameter on the chain where the transfer is targeted.

In both cases, the CL job has the only task to send the transaction to the aggregator contract but with a different function selector. In the case of a mint job, the wrapped asset will be sent to the receiver on the target chain and in the case of the burn, the original token will be unlocked and transferred to the user.