Ethereum Data Oracle
Fetch arbitrary data from other chains.
Requesting Data
telepathyOracle.requestCrossChain(
address(mainnetContractAddress),
abi.encodeWithSelector(IERC721.ownerOf.selector, _tokenId),
address(myCallbackAddress)
);abstract contract OracleCallbackBase is IOracleCallbackReceiver {
error NotFromOracle(address sender);
address private _oracle;
constructor(address oracle) {
_oracle = oracle;
}
function rawHandleOracleResponse(
uint256 nonce,
bytes memory responseData,
bool responseSuccess
) external override {
if (msg.sender != _oracle) {
revert NotFromOracle(msg.sender);
}
handleOracleResponse(nonce, responseData, responseSuccess);
}
function handleOracleResponse(
uint256 nonce,
bytes memory responseData,
bool responseSuccess
) internal virtual;
}Last updated