Oracle
Contains interfaces and contracts related to oracles.
Contracts
IOracleComponent
import "@etherisc/gif-next/contracts/oracle/IOracleComponent.sol";
-
[
request(requestId, requesterNftId, requestData, expiryAt)] -
[
cancel(requestId)] -
[
isVerifying()] -
[
activeRequests()] -
[
getActiveRequest(idx)] -
[
isActiveRequest(requestId)]
-
[
withdrawFees(amount)] -
[
getInstance()]
-
[
getAuthorization()]
-
[
getName()] -
[
getToken()] -
[
getTokenHandler()] -
[
getWallet()] -
[
isNftInterceptor()] -
[
isRegistered()] -
[
getComponentInfo()] -
[
getInitialComponentInfo()]
-
[
nftTransferFrom(from, to, tokenId, operator)]
-
[
isActive()] -
[
getInitialInfo()]
-
[
getRelease()]
-
[
linkToRegisteredNftId()] -
[
getNftId()] -
[
getOwner()]
-
[
getRegistry()]
-
[
supportsInterface(interfaceId)]
-
[
authority()] -
[
setAuthority()] -
[
isConsumingScheduledOp()]
-
[
LogOracleRequestReceived(requestId, requesterId)] -
[
LogOracleRequestCancelled(requestId)]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)]
-
[
AuthorityUpdated(authority)]
request(RequestId requestId, NftId requesterNftId, bytes requestData, Timestamp expiryAt) external
callback method for requesting some data from the oracle
Oracle
import "@etherisc/gif-next/contracts/oracle/Oracle.sol";
-
[
request(requestId, requesterId, requestData, expiryAt)] -
[
cancel(requestId)] -
[
isVerifying()] -
[
withdrawFees()] -
[
activeRequests()] -
[
getActiveRequest(idx)] -
[
isActiveRequest(requestId)] -
[
__Oracle_init(registry, productNftId, authorization, initialOwner, name)] -
[
_respond(requestId, responseData)] -
[
_request(requestId, requesterId, , )] -
[
_cancel(requestId)]
-
[
getInstance()] -
[
getAuthorization()] -
[
_sendRequest(oracleNftId, requestData, expiryAt, callbackMethod)] -
[
_cancelRequest(requestId)] -
[
_resendResponse(requestId)] -
[
__InstanceLinkedComponent_init(registry, parentNftId, name, componentType, authorization, isInterceptor, initialOwner)] -
[
_checkAndGetInstanceNftId(registryAddress, parentNftId, componentType)] -
[
_checkAndGetRegistry(registryAddress, objectNftId, requiredType)] -
[
_setWallet(newWallet)] -
[
_getComponentInfo()] -
[
_getInstanceReader()] -
[
_withdrawFees(amount)]
-
[
__Component_init(authority, registry, parentNftId, name, componentType, isInterceptor, initialOwner, registryData)] -
[
nftTransferFrom(from, to, tokenId, operator)] -
[
getWallet()] -
[
getTokenHandler()] -
[
getToken()] -
[
getName()] -
[
getVersion()] -
[
getComponentInfo()] -
[
getInitialComponentInfo()] -
[
isNftInterceptor()] -
[
isRegistered()] -
[
_approveTokenHandler(token, amount)] -
[
_nftTransferFrom(from, to, tokenId, operator)] -
[
_setLocked(locked)] -
[
_getServiceAddress(domain)]
-
[
__Registerable_init(authority, registry, parentNftId, objectType, isInterceptor, initialOwner, data)] -
[
isActive()] -
[
getRelease()] -
[
getInitialInfo()]
-
[
_checkNftType(nftId, expectedObjectType)] -
[
__NftOwnable_init(registry, initialOwner)] -
[
linkToRegisteredNftId()] -
[
getNftId()] -
[
getOwner()] -
[
_linkToNftOwnable(nftOwnableAddress)]
-
[
__RegistryLinked_init(registry)] -
[
getRegistry()]
-
[
__ERC165_init()] -
[
_initializeERC165()] -
[
_registerInterface(interfaceId)] -
[
_registerInterfaceNotInitializing(interfaceId)] -
[
supportsInterface(interfaceId)]
-
[
__AccessManaged_init(initialAuthority)] -
[
__AccessManaged_init_unchained(initialAuthority)] -
[
authority()] -
[
setAuthority(newAuthority)] -
[
isConsumingScheduledOp()] -
[
_setAuthority(newAuthority)] -
[
_checkCanCall(caller, data)]
-
[
__Context_init()] -
[
__Context_init_unchained()] -
[
_msgSender()] -
[
_msgData()] -
[
_contextSuffixLength()]
-
[
_checkInitializing()] -
[
_disableInitializers()] -
[
_getInitializedVersion()] -
[
_isInitializing()]
-
[
LogOracleRequestReceived(requestId, requesterId)] -
[
LogOracleRequestCancelled(requestId)]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)]
-
[
AuthorityUpdated(authority)]
-
[
Initialized(version)]
__Oracle_init(address registry, NftId productNftId, contract IAuthorization authorization, address initialOwner, string name) internal
_respond(RequestId requestId, bytes responseData) internal
Internal function for handling oracle responses. Default implementation sends response back to oracle service. Use this function in use case specific external/public functions to handle use case specific response handling.
BasicOracle
import "@etherisc/gif-next/contracts/oracle/BasicOracle.sol";
-
[
respond(requestId, responseData)] -
[
_initializeBasicOracle(registry, instanceNftId, authorization, initialOwner, name)]
-
[
request(requestId, requesterId, requestData, expiryAt)] -
[
cancel(requestId)] -
[
isVerifying()] -
[
withdrawFees()] -
[
activeRequests()] -
[
getActiveRequest(idx)] -
[
isActiveRequest(requestId)] -
[
__Oracle_init(registry, productNftId, authorization, initialOwner, name)] -
[
_respond(requestId, responseData)] -
[
_request(requestId, requesterId, , )] -
[
_cancel(requestId)]
-
[
getInstance()] -
[
getAuthorization()] -
[
_sendRequest(oracleNftId, requestData, expiryAt, callbackMethod)] -
[
_cancelRequest(requestId)] -
[
_resendResponse(requestId)] -
[
__InstanceLinkedComponent_init(registry, parentNftId, name, componentType, authorization, isInterceptor, initialOwner)] -
[
_checkAndGetInstanceNftId(registryAddress, parentNftId, componentType)] -
[
_checkAndGetRegistry(registryAddress, objectNftId, requiredType)] -
[
_setWallet(newWallet)] -
[
_getComponentInfo()] -
[
_getInstanceReader()] -
[
_withdrawFees(amount)]
-
[
__Component_init(authority, registry, parentNftId, name, componentType, isInterceptor, initialOwner, registryData)] -
[
nftTransferFrom(from, to, tokenId, operator)] -
[
getWallet()] -
[
getTokenHandler()] -
[
getToken()] -
[
getName()] -
[
getVersion()] -
[
getComponentInfo()] -
[
getInitialComponentInfo()] -
[
isNftInterceptor()] -
[
isRegistered()] -
[
_approveTokenHandler(token, amount)] -
[
_nftTransferFrom(from, to, tokenId, operator)] -
[
_setLocked(locked)] -
[
_getServiceAddress(domain)]
-
[
__Registerable_init(authority, registry, parentNftId, objectType, isInterceptor, initialOwner, data)] -
[
isActive()] -
[
getRelease()] -
[
getInitialInfo()]
-
[
_checkNftType(nftId, expectedObjectType)] -
[
__NftOwnable_init(registry, initialOwner)] -
[
linkToRegisteredNftId()] -
[
getNftId()] -
[
getOwner()] -
[
_linkToNftOwnable(nftOwnableAddress)]
-
[
__RegistryLinked_init(registry)] -
[
getRegistry()]
-
[
__ERC165_init()] -
[
_initializeERC165()] -
[
_registerInterface(interfaceId)] -
[
_registerInterfaceNotInitializing(interfaceId)] -
[
supportsInterface(interfaceId)]
-
[
__AccessManaged_init(initialAuthority)] -
[
__AccessManaged_init_unchained(initialAuthority)] -
[
authority()] -
[
setAuthority(newAuthority)] -
[
isConsumingScheduledOp()] -
[
_setAuthority(newAuthority)] -
[
_checkCanCall(caller, data)]
-
[
__Context_init()] -
[
__Context_init_unchained()] -
[
_msgSender()] -
[
_msgData()] -
[
_contextSuffixLength()]
-
[
_checkInitializing()] -
[
_disableInitializers()] -
[
_getInitializedVersion()] -
[
_isInitializing()]
-
[
LogOracleRequestReceived(requestId, requesterId)] -
[
LogOracleRequestCancelled(requestId)]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)]
-
[
AuthorityUpdated(authority)]
-
[
Initialized(version)]
BasicOracleAuthorization
import "@etherisc/gif-next/contracts/oracle/BasicOracleAuthorization.sol";
-
[
constructor(componentName, commitHash)] -
[
_setupServiceTargets()] -
[
_setupTargetAuthorizations()]
-
[
getTokenHandlerName()] -
[
getTokenHandlerTarget()] -
[
getTarget(targetName)] -
[
getTargets()] -
[
targetExists(target)] -
[
_setupTargets()] -
[
_setupRoles()] -
[
_setupTokenHandlerAuthorizations()] -
[
_addCustomRole(roleId, adminRoleId, maxMemberCount, name)] -
[
_addGifTarget(contractName)] -
[
_addInstanceTarget(contractName)] -
[
_addTarget(name)] -
[
_toTargetRoleId(targetDomain)] -
[
_toTargetRoleName(targetName)]
-
[
getDomain()] -
[
getRelease()] -
[
getCommitHash()] -
[
getMainTargetName()] -
[
getMainTarget()] -
[
getServiceDomains()] -
[
getServiceDomain(idx)] -
[
getServiceTarget(serviceDomain)] -
[
getServiceRole(serviceDomain)] -
[
getServiceAddress(serviceDomain)] -
[
getTargetRole(target)] -
[
roleExists(roleId)] -
[
getRoles()] -
[
getRoleInfo(roleId)] -
[
getRoleName(roleId)] -
[
getAuthorizedRoles(target)] -
[
getAuthorizedFunctions(target, roleId)] -
[
_setupDomains()] -
[
_setupDomainAuthorizations()] -
[
_authorizeServiceDomain(serviceDomain, serviceAddress)] -
[
_addTargetWithRole(targetName, roleId, roleName)] -
[
_addRole(roleId, info)] -
[
_authorizeForService(serviceDomain, authorizedDomain)] -
[
_authorizeForTarget(target, authorizedRoleId)] -
[
_authorize(functions, selector, name)]
-
[
__ERC165_init()] -
[
_initializeERC165()] -
[
_registerInterface(interfaceId)] -
[
_registerInterfaceNotInitializing(interfaceId)] -
[
supportsInterface(interfaceId)]
-
[
_checkInitializing()] -
[
_disableInitializers()] -
[
_getInitializedVersion()] -
[
_isInitializing()]
-
[
Initialized(version)]
OracleService
import "@etherisc/gif-next/contracts/oracle/OracleService.sol";
-
[
_initialize(owner, data)] -
[
request(oracleNftId, requestData, expiryAt, callbackMethodName)] -
[
respond(requestId, responseData)] -
[
resend(requestId)] -
[
cancel(requestId)] -
[
_checkRequestParams(registry, oracleNftId, requesterInfo, expiryAt, callbackMethodName)] -
[
_checkAndGetRequestInfo(instance, requestId, callerNftId, callerIsOracle)] -
[
_getDomain()]
-
[
__Service_init(authority, registry, initialOwner)] -
[
getDomain()] -
[
getVersion()] -
[
getRoleId()] -
[
_getServiceAddress(domain)]
-
[
__ReentrancyGuard_init()] -
[
__ReentrancyGuard_init_unchained()] -
[
_reentrancyGuardEntered()]
-
[
initializeVersionable(activatedBy, data)] -
[
upgradeVersionable(data)] -
[
_upgrade(data)]
-
[
__Registerable_init(authority, registry, parentNftId, objectType, isInterceptor, initialOwner, data)] -
[
isActive()] -
[
getRelease()] -
[
getInitialInfo()]
-
[
_checkNftType(nftId, expectedObjectType)] -
[
__NftOwnable_init(registry, initialOwner)] -
[
linkToRegisteredNftId()] -
[
getNftId()] -
[
getOwner()] -
[
_linkToNftOwnable(nftOwnableAddress)]
-
[
__RegistryLinked_init(registry)] -
[
getRegistry()]
-
[
__ERC165_init()] -
[
_initializeERC165()] -
[
_registerInterface(interfaceId)] -
[
_registerInterfaceNotInitializing(interfaceId)] -
[
supportsInterface(interfaceId)]
-
[
__AccessManaged_init(initialAuthority)] -
[
__AccessManaged_init_unchained(initialAuthority)] -
[
authority()] -
[
setAuthority(newAuthority)] -
[
isConsumingScheduledOp()] -
[
_setAuthority(newAuthority)] -
[
_checkCanCall(caller, data)]
-
[
__Context_init()] -
[
__Context_init_unchained()] -
[
_msgSender()] -
[
_msgData()] -
[
_contextSuffixLength()]
-
[
_checkInitializing()] -
[
_disableInitializers()] -
[
_getInitializedVersion()] -
[
_isInitializing()]
-
[
LogOracleServiceRequestCreated(requestId, requesterNftId, oracleNftId, expiryAt)] -
[
LogOracleServiceResponseProcessed(requestId, requesterNftId, oracleNftId)] -
[
LogOracleServiceDeliveryFailed(requestId, requesterAddress, functionSignature)] -
[
LogOracleServiceResponseResent(requestId, requesterNftId)] -
[
LogOracleServiceRequestCancelled(requestId, requesterNftId)]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)]
-
[
AuthorityUpdated(authority)]
-
[
Initialized(version)]
request(NftId oracleNftId, bytes requestData, Timestamp expiryAt, string callbackMethodName) → RequestId requestId external
send an oracle request to the specified oracle component. the function returns the id of the newly created request. permissioned: only registered components may send requests to oracles.
respond(RequestId requestId, bytes responseData) → bool success external
respond to oracle request by oracle compnent. permissioned: only the oracle component linked to the request id may call this method
resend(RequestId requestId) external
Resend a failed response to the requester. Only requests in state FAILED may be resent. The request state changes to FULFILLED when calling the callback method of the requester is successful. Permissioned: only the receiving oracle may resend a request
cancel(RequestId requestId) external
Notify the oracle component that the specified request has become invalid. Only requests in state ACTIVE may be cancelled. Permissioned: only the requester may cancel a request
_checkRequestParams(contract IRegistry registry, NftId oracleNftId, struct IRegistry.ObjectInfo requesterInfo, Timestamp expiryAt, string callbackMethodName) → NftId requesterNftId, contract IOracleComponent oracle internal
OracleServiceManager
import "@etherisc/gif-next/contracts/oracle/OracleServiceManager.sol";
-
[
constructor(authority, registry, salt)] -
[
getOracleService()]
-
[
initialize(registry, implementation, data, salt)] -
[
deploy(registry, initialImplementation, initializationData)] -
[
deployDetermenistic(registry, initialImplementation, initializationData, salt)] -
[
upgrade(newImplementation)] -
[
upgrade(newImplementation, upgradeData)] -
[
linkToProxy()] -
[
getDeployData(proxyOwner, deployData)] -
[
getUpgradeData(upgradeData)] -
[
getProxy()] -
[
getVersion()] -
[
getVersionCount()] -
[
getVersion(idx)] -
[
getVersionInfo(_version)]
-
[
_checkNftType(nftId, expectedObjectType)] -
[
__NftOwnable_init(registry, initialOwner)] -
[
linkToRegisteredNftId()] -
[
getNftId()] -
[
getOwner()] -
[
_linkToNftOwnable(nftOwnableAddress)]
-
[
__RegistryLinked_init(registry)] -
[
getRegistry()]
-
[
__ERC165_init()] -
[
_initializeERC165()] -
[
_registerInterface(interfaceId)] -
[
_registerInterfaceNotInitializing(interfaceId)] -
[
supportsInterface(interfaceId)]
-
[
_checkInitializing()] -
[
_disableInitializers()] -
[
_getInitializedVersion()] -
[
_isInitializing()]
-
[
LogProxyManagerVersionableDeployed(proxy, initialImplementation)] -
[
LogProxyManagerVersionableUpgraded(proxy, upgradedImplementation)]
-
[
LogNftOwnableNftLinkedToAddress(nftId, owner)]
-
[
Initialized(version)]