@iexec/iexec-oracle-factory-wrapper
Version:
A wrapper for creating API based oracles for ethereum on the top of iExec
105 lines (87 loc) • 2.46 kB
text/typescript
import {
DatasetorderTemplate,
SignedDatasetorder,
} from 'iexec/IExecOrderModule';
import { Address, AddressOrENS, ParamSet } from './common.js';
/**
* Options for creating an oracle.
*/
export type CreateOracleOptions = {
oracleAppWhitelist?: AddressOrENS;
ipfsGateway?: string;
ipfsNode?: string;
};
export type ApiKeyEncryptionKeyCreatedMessage = {
message: 'ENCRYPTION_KEY_CREATED';
key: string;
};
export type ApiKeyEncryptedMessage = {
message: 'FILE_ENCRYPTED';
encryptedFile: Buffer;
checksum: string;
};
export type ApiKeyUploadedMessage = {
message: 'ENCRYPTED_FILE_UPLOADED';
cid: string;
multiaddr: string;
};
export type ApiKeyDatasetDeployRequestMessage = {
message: 'DATASET_DEPLOYMENT_SIGN_TX_REQUEST';
};
export type ApiKeyDatasetDeploySuccessMessage = {
message: 'DATASET_DEPLOYMENT_SUCCESS';
address: Address;
txHash: string;
};
export type ApiKeyPushSecretRequestMessage = {
message: 'PUSH_SECRET_TO_SMS_SIGN_REQUEST';
};
export type ApiKeyPushSecretSuccessMessage = {
message: 'PUSH_SECRET_TO_SMS_SUCCESS';
};
export type ApiKeySignOrderRequestMessage = {
message: 'DATASET_ORDER_SIGNATURE_SIGN_REQUEST';
order: DatasetorderTemplate;
};
export type ApiKeySignOrderSuccessMessage = {
message: 'DATASET_ORDER_SIGNATURE_SUCCESS';
order: SignedDatasetorder;
};
export type ApiKeyPublishOrderRequestMessage = {
message: 'DATASET_ORDER_PUBLISH_SIGN_REQUEST';
order: SignedDatasetorder;
};
export type ApiKeyPublishOrderSuccessMessage = {
message: 'DATASET_ORDER_PUBLISH_SUCCESS';
orderHash: string;
};
export type CreateApiKeyDatasetMessage =
| ApiKeyEncryptionKeyCreatedMessage
| ApiKeyEncryptedMessage
| ApiKeyUploadedMessage
| ApiKeyDatasetDeployRequestMessage
| ApiKeyDatasetDeploySuccessMessage
| ApiKeyPushSecretRequestMessage
| ApiKeyPushSecretSuccessMessage
| ApiKeySignOrderRequestMessage
| ApiKeySignOrderSuccessMessage
| ApiKeyPublishOrderRequestMessage
| ApiKeyPublishOrderSuccessMessage;
export type ParamSetCreatedMessage = {
message: 'PARAM_SET_CREATED';
paramSet: ParamSet;
};
export type OracleIDComputedMessage = {
message: 'ORACLE_ID_COMPUTED';
oracleId: string;
};
export type ParamSetUploadedMessage = {
message: 'PARAM_SET_UPLOADED';
cid: string;
multiaddr: string;
};
export type CreateOracleMessage =
| CreateApiKeyDatasetMessage
| ParamSetCreatedMessage
| OracleIDComputedMessage
| ParamSetUploadedMessage;