From b5fda79452db260afefe637790a00c62489dfde3 Mon Sep 17 00:00:00 2001 From: Shruthi23 Date: Thu, 18 May 2023 20:48:08 -0700 Subject: [PATCH 1/3] Removing unnecessary routes --- .../factories/HealthBlock__factory.ts | 18 +++++ .../factories/PatientProvider__factory.ts | 4 + .../proxyReencryption-routes.js | 81 ------------------- server.js | 2 +- 4 files changed, 23 insertions(+), 82 deletions(-) delete mode 100644 proxy-reencryption/proxyReencryption-routes.js diff --git a/client/src/contracts/factories/HealthBlock__factory.ts b/client/src/contracts/factories/HealthBlock__factory.ts index ab4648c..2b28e9a 100644 --- a/client/src/contracts/factories/HealthBlock__factory.ts +++ b/client/src/contracts/factories/HealthBlock__factory.ts @@ -257,6 +257,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -296,6 +297,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -330,6 +332,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -369,6 +372,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -403,6 +407,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -447,6 +452,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -501,6 +507,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -611,6 +618,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -675,6 +683,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -734,6 +743,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -763,6 +773,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -814,6 +825,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -848,6 +860,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -916,6 +929,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [], @@ -949,6 +963,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -983,6 +998,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -1057,6 +1073,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [ @@ -1152,6 +1169,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, ] as const; diff --git a/client/src/contracts/factories/PatientProvider__factory.ts b/client/src/contracts/factories/PatientProvider__factory.ts index 952c08f..4504410 100644 --- a/client/src/contracts/factories/PatientProvider__factory.ts +++ b/client/src/contracts/factories/PatientProvider__factory.ts @@ -66,6 +66,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [], @@ -79,6 +80,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [], @@ -92,6 +94,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, { inputs: [], @@ -105,6 +108,7 @@ const _abi = [ ], stateMutability: "view", type: "function", + constant: true, }, ] as const; diff --git a/proxy-reencryption/proxyReencryption-routes.js b/proxy-reencryption/proxyReencryption-routes.js deleted file mode 100644 index 776857f..0000000 --- a/proxy-reencryption/proxyReencryption-routes.js +++ /dev/null @@ -1,81 +0,0 @@ -const express = require('express'); -const router = express.Router(); -const axios = require('axios'); - - -router.get('/keys', async (req, res) => { - console.log("/keys api is called") - try { - const response = await axios.get('http://127.0.0.1:5001/keys', { - headers: { - 'Content-Type': 'application/json' - } - }); - res.setHeader('Content-Type', 'application/json'); - const data = response.data; - console.log("successfully got data") - console.log(data) - res.status(200).json(data); - } catch (error) { - console.log("Error from keys api to python") - console.error(error); - res.status(500).send('Internal server error'); - } -}); - -router.post('/encrypt', async (req, res) => { - const { aesKey, private_key, public_key, signing_key } = req.body; - try { - const response = await axios.post('http://127.0.0.1:5001/encrypt', { - aesKey, - private_key, - public_key, - signing_key - }); - - res.send(response.data); - } catch (err) { - res.status(500).send(err); - } -}); - -router.post('/reencrypt', async (req, res) => { - const { capsule, private_key, public_key, signing_key } = req.body; - try { - console.log("public_key:",public_key) - const response = await axios.post('http://127.0.0.1:5001/reencrypt', { - capsule:capsule, - private_key:private_key, - public_key:public_key, - signing_key:signing_key - }); - - res.send(response.data); - } catch (err) { - res.status(500).send(err); - } -}); - -router.post('/decryptReencrypt', async (req, res) => { - const { private_key, public_key, capsule, ciphertext, cfrags } = req.body; - - try { - // const cfrags_verified = cfrags.map(cfrag => VerifiedCapsuleFrag.fromVerifiedBytes(Buffer.from(cfrag, 'base64'))); - const response = await axios.post('http://127.0.0.1:5001/decryptReencrypt', { - private_key: private_key, - public_key: public_key, - capsule: capsule, - ciphertext:ciphertext, - cfrags:cfrags - }); - console.log(response.data) - res.send(response.data); - } catch (err) { - res.status(500).send(err); - } -}); - - - - -module.exports = router; diff --git a/server.js b/server.js index 7e594ef..2b094de 100644 --- a/server.js +++ b/server.js @@ -25,7 +25,7 @@ require("./credentials/credentials-route")(app); require("./routes/providers")(app); require("./routes/patients")(app); require("./manageMedicalRecords/medicalRecords-routes")(app); -app.use('/proxy-reencryption', require("./proxy-reencryption/proxyReencryption-routes")); +//app.use('/proxy-reencryption', require("./proxy-reencryption/proxyReencryption-routes")); app.get("*", (req, res) => res.sendFile(path.resolve("client", "build", "index.html")) ); From abd94b7f475c62e9153c8a98d3cae39b645db45a Mon Sep 17 00:00:00 2001 From: Shruthi23 Date: Thu, 18 May 2023 20:49:35 -0700 Subject: [PATCH 2/3] dleted ts files --- client/src/contracts/HealthBlock.ts | 1702 ----------------- client/src/contracts/PatientProvider.ts | 266 --- client/src/contracts/common.ts | 46 - .../factories/HealthBlock__factory.ts | 1224 ------------ .../factories/PatientProvider__factory.ts | 163 -- client/src/contracts/factories/index.ts | 5 - client/src/contracts/index.ts | 8 - sample-doc1V-HYX23_ihDLTUPtzNudm.dat | 1 - 8 files changed, 3415 deletions(-) delete mode 100644 client/src/contracts/HealthBlock.ts delete mode 100644 client/src/contracts/PatientProvider.ts delete mode 100644 client/src/contracts/common.ts delete mode 100644 client/src/contracts/factories/HealthBlock__factory.ts delete mode 100644 client/src/contracts/factories/PatientProvider__factory.ts delete mode 100644 client/src/contracts/factories/index.ts delete mode 100644 client/src/contracts/index.ts delete mode 100644 sample-doc1V-HYX23_ihDLTUPtzNudm.dat diff --git a/client/src/contracts/HealthBlock.ts b/client/src/contracts/HealthBlock.ts deleted file mode 100644 index 66a77ea..0000000 --- a/client/src/contracts/HealthBlock.ts +++ /dev/null @@ -1,1702 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "./common"; - -export declare namespace HealthBlock { - export type MedicalRecordRequestStruct = { - requestId: PromiseOrValue; - patientAddress: PromiseOrValue; - doctorAddress: PromiseOrValue; - docEmail: PromiseOrValue; - patientName: PromiseOrValue; - patientEmail: PromiseOrValue; - status: PromiseOrValue; - }; - - export type MedicalRecordRequestStructOutput = [ - string, - string, - string, - string, - string, - string, - string - ] & { - requestId: string; - patientAddress: string; - doctorAddress: string; - docEmail: string; - patientName: string; - patientEmail: string; - status: string; - }; - - export type RequestStruct = { - doctor: PromiseOrValue; - doctorName: PromiseOrValue; - fileName: PromiseOrValue; - status: PromiseOrValue; - }; - - export type RequestStructOutput = [string, string, string, string] & { - doctor: string; - doctorName: string; - fileName: string; - status: string; - }; - - export type HcproviderStruct = { - name: PromiseOrValue; - email: PromiseOrValue; - providerAddress: PromiseOrValue; - phone: PromiseOrValue; - id: PromiseOrValue; - }; - - export type HcproviderStructOutput = [ - string, - string, - string, - string, - string - ] & { - name: string; - email: string; - providerAddress: string; - phone: string; - id: string; - }; - - export type DoctorStruct = { - name: PromiseOrValue; - age: PromiseOrValue; - email: PromiseOrValue; - specialization: PromiseOrValue; - id: PromiseOrValue; - }; - - export type DoctorStructOutput = [string, number, string, string, string] & { - name: string; - age: number; - email: string; - specialization: string; - id: string; - }; - - export type DoctorToProviderRequestStruct = { - doctorName: PromiseOrValue; - doctorAddr: PromiseOrValue; - status: PromiseOrValue; - }; - - export type DoctorToProviderRequestStructOutput = [string, string, string] & { - doctorName: string; - doctorAddr: string; - status: string; - }; -} - -export interface HealthBlockInterface extends utils.Interface { - functions: { - "doctors(address)": FunctionFragment; - "hcproviders(address)": FunctionFragment; - "patients(address)": FunctionFragment; - "providerList(uint256)": FunctionFragment; - "providerToDoctorRequests(address,uint256)": FunctionFragment; - "providerToDoctors(address,uint256)": FunctionFragment; - "recordRequests(address,uint256)": FunctionFragment; - "requestMedicalRecord(string,address,string,string)": FunctionFragment; - "approveMedicalRecordsRequest(string)": FunctionFragment; - "rejectMedicalRecordsRequest(string)": FunctionFragment; - "getPatientRequests(address)": FunctionFragment; - "raiseRequest(string,string,address)": FunctionFragment; - "getRequests(address)": FunctionFragment; - "rejectRequest(uint256,address)": FunctionFragment; - "approveRequest(uint256,address)": FunctionFragment; - "getPatientInfo()": FunctionFragment; - "getPatientInfoAll(address)": FunctionFragment; - "registerPatient(string,uint8,string)": FunctionFragment; - "getDoctorInfo()": FunctionFragment; - "getDoctorInfoAll(address)": FunctionFragment; - "registerDoctor(string,uint8,string,string)": FunctionFragment; - "getAllProviders()": FunctionFragment; - "getHCProviderInfo()": FunctionFragment; - "getHCProviderInfoAll(address)": FunctionFragment; - "registerHCProvider(string,string,string,string)": FunctionFragment; - "getAllDoctorsForProvider(address)": FunctionFragment; - "mapDoctorToProvider(address,address)": FunctionFragment; - "declineDoctorToProviderRequest(address,address)": FunctionFragment; - "raiseDoctorToProviderRequest(address,address,string)": FunctionFragment; - "getAllDoctorToProviderRequests(address)": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "doctors" - | "hcproviders" - | "patients" - | "providerList" - | "providerToDoctorRequests" - | "providerToDoctors" - | "recordRequests" - | "requestMedicalRecord" - | "approveMedicalRecordsRequest" - | "rejectMedicalRecordsRequest" - | "getPatientRequests" - | "raiseRequest" - | "getRequests" - | "rejectRequest" - | "approveRequest" - | "getPatientInfo" - | "getPatientInfoAll" - | "registerPatient" - | "getDoctorInfo" - | "getDoctorInfoAll" - | "registerDoctor" - | "getAllProviders" - | "getHCProviderInfo" - | "getHCProviderInfoAll" - | "registerHCProvider" - | "getAllDoctorsForProvider" - | "mapDoctorToProvider" - | "declineDoctorToProviderRequest" - | "raiseDoctorToProviderRequest" - | "getAllDoctorToProviderRequests" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "doctors", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "hcproviders", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "patients", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "providerList", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "providerToDoctorRequests", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "providerToDoctors", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "recordRequests", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "requestMedicalRecord", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "approveMedicalRecordsRequest", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "rejectMedicalRecordsRequest", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "getPatientRequests", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "raiseRequest", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "getRequests", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "rejectRequest", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "approveRequest", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "getPatientInfo", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getPatientInfoAll", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "registerPatient", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "getDoctorInfo", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getDoctorInfoAll", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "registerDoctor", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "getAllProviders", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getHCProviderInfo", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getHCProviderInfoAll", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "registerHCProvider", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "getAllDoctorsForProvider", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "mapDoctorToProvider", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "declineDoctorToProviderRequest", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "raiseDoctorToProviderRequest", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "getAllDoctorToProviderRequests", - values: [PromiseOrValue] - ): string; - - decodeFunctionResult(functionFragment: "doctors", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "hcproviders", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "patients", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "providerList", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "providerToDoctorRequests", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "providerToDoctors", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "recordRequests", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "requestMedicalRecord", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approveMedicalRecordsRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "rejectMedicalRecordsRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getPatientRequests", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "raiseRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRequests", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "rejectRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approveRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getPatientInfo", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getPatientInfoAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "registerPatient", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getDoctorInfo", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getDoctorInfoAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "registerDoctor", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getAllProviders", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getHCProviderInfo", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getHCProviderInfoAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "registerHCProvider", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getAllDoctorsForProvider", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "mapDoctorToProvider", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "declineDoctorToProviderRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "raiseDoctorToProviderRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getAllDoctorToProviderRequests", - data: BytesLike - ): Result; - - events: { - "DoctorRequestRaised(address,string,string)": EventFragment; - "MedicalRecordRequestApproved(address,address,string)": EventFragment; - "MedicalRecordRequestCreated(address,address,string)": EventFragment; - "MedicalRecordRequestRejected(address,address,string)": EventFragment; - "NDoctor(address,string)": EventFragment; - "NHCProvider(address,string)": EventFragment; - "NPatient(address,string)": EventFragment; - "RequestApproved(address,address,uint256)": EventFragment; - "RequestRejected(address,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "DoctorRequestRaised"): EventFragment; - getEvent( - nameOrSignatureOrTopic: "MedicalRecordRequestApproved" - ): EventFragment; - getEvent( - nameOrSignatureOrTopic: "MedicalRecordRequestCreated" - ): EventFragment; - getEvent( - nameOrSignatureOrTopic: "MedicalRecordRequestRejected" - ): EventFragment; - getEvent(nameOrSignatureOrTopic: "NDoctor"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NHCProvider"): EventFragment; - getEvent(nameOrSignatureOrTopic: "NPatient"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RequestApproved"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RequestRejected"): EventFragment; -} - -export interface DoctorRequestRaisedEventObject { - doctor: string; - doctorName: string; - credentialsHash: string; -} -export type DoctorRequestRaisedEvent = TypedEvent< - [string, string, string], - DoctorRequestRaisedEventObject ->; - -export type DoctorRequestRaisedEventFilter = - TypedEventFilter; - -export interface MedicalRecordRequestApprovedEventObject { - doctorAddress: string; - patientAddress: string; - requestId: string; -} -export type MedicalRecordRequestApprovedEvent = TypedEvent< - [string, string, string], - MedicalRecordRequestApprovedEventObject ->; - -export type MedicalRecordRequestApprovedEventFilter = - TypedEventFilter; - -export interface MedicalRecordRequestCreatedEventObject { - doctorAddress: string; - patientAddress: string; - requestId: string; -} -export type MedicalRecordRequestCreatedEvent = TypedEvent< - [string, string, string], - MedicalRecordRequestCreatedEventObject ->; - -export type MedicalRecordRequestCreatedEventFilter = - TypedEventFilter; - -export interface MedicalRecordRequestRejectedEventObject { - doctorAddress: string; - patientAddress: string; - requestId: string; -} -export type MedicalRecordRequestRejectedEvent = TypedEvent< - [string, string, string], - MedicalRecordRequestRejectedEventObject ->; - -export type MedicalRecordRequestRejectedEventFilter = - TypedEventFilter; - -export interface NDoctorEventObject { - _from: string; - _name: string; -} -export type NDoctorEvent = TypedEvent<[string, string], NDoctorEventObject>; - -export type NDoctorEventFilter = TypedEventFilter; - -export interface NHCProviderEventObject { - _from: string; - _name: string; -} -export type NHCProviderEvent = TypedEvent< - [string, string], - NHCProviderEventObject ->; - -export type NHCProviderEventFilter = TypedEventFilter; - -export interface NPatientEventObject { - _from: string; - _name: string; -} -export type NPatientEvent = TypedEvent<[string, string], NPatientEventObject>; - -export type NPatientEventFilter = TypedEventFilter; - -export interface RequestApprovedEventObject { - doctor: string; - provider: string; - requestId: BigNumber; -} -export type RequestApprovedEvent = TypedEvent< - [string, string, BigNumber], - RequestApprovedEventObject ->; - -export type RequestApprovedEventFilter = TypedEventFilter; - -export interface RequestRejectedEventObject { - doctor: string; - provider: string; - requestId: BigNumber; -} -export type RequestRejectedEvent = TypedEvent< - [string, string, BigNumber], - RequestRejectedEventObject ->; - -export type RequestRejectedEventFilter = TypedEventFilter; - -export interface HealthBlock extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: HealthBlockInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - doctors( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string, string] & { - name: string; - age: number; - email: string; - specialization: string; - id: string; - } - >; - - hcproviders( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string] & { - name: string; - email: string; - providerAddress: string; - phone: string; - id: string; - } - >; - - patients( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string] & { - name: string; - age: number; - email: string; - id: string; - } - >; - - providerList( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string] & { - name: string; - email: string; - providerAddress: string; - phone: string; - id: string; - } - >; - - providerToDoctorRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string] & { - doctorName: string; - doctorAddr: string; - status: string; - } - >; - - providerToDoctors( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string, string] & { - name: string; - age: number; - email: string; - specialization: string; - id: string; - } - >; - - recordRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string, string, string] & { - requestId: string; - patientAddress: string; - doctorAddress: string; - docEmail: string; - patientName: string; - patientEmail: string; - status: string; - } - >; - - requestMedicalRecord( - docEmail: PromiseOrValue, - patientAddress: PromiseOrValue, - patientName: PromiseOrValue, - patientEmail: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests( - patientAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[HealthBlock.MedicalRecordRequestStructOutput[]]>; - - raiseRequest( - doctorName: PromiseOrValue, - fileName: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRequests( - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[HealthBlock.RequestStructOutput[]]>; - - rejectRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientInfo( - overrides?: CallOverrides - ): Promise<[string, number, string]>; - - getPatientInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, number, string]>; - - registerPatient( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getDoctorInfo( - overrides?: CallOverrides - ): Promise<[string, number, string, string]>; - - getDoctorInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, number, string, string]>; - - registerDoctor( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - _specialization: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllProviders( - overrides?: CallOverrides - ): Promise<[HealthBlock.HcproviderStructOutput[]]>; - - getHCProviderInfo( - overrides?: CallOverrides - ): Promise<[string, string, string, string, string]>; - - getHCProviderInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, string, string, string]>; - - registerHCProvider( - _name: PromiseOrValue, - _email: PromiseOrValue, - _address: PromiseOrValue, - _phone: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorsForProvider( - providerAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[HealthBlock.DoctorStructOutput[]]>; - - mapDoctorToProvider( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - declineDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - raiseDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - doctorName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorToProviderRequests( - _hcaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[HealthBlock.DoctorToProviderRequestStructOutput[]]>; - }; - - doctors( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string, string] & { - name: string; - age: number; - email: string; - specialization: string; - id: string; - } - >; - - hcproviders( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string] & { - name: string; - email: string; - providerAddress: string; - phone: string; - id: string; - } - >; - - patients( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string] & { - name: string; - age: number; - email: string; - id: string; - } - >; - - providerList( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string] & { - name: string; - email: string; - providerAddress: string; - phone: string; - id: string; - } - >; - - providerToDoctorRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string] & { - doctorName: string; - doctorAddr: string; - status: string; - } - >; - - providerToDoctors( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string, string] & { - name: string; - age: number; - email: string; - specialization: string; - id: string; - } - >; - - recordRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string, string, string] & { - requestId: string; - patientAddress: string; - doctorAddress: string; - docEmail: string; - patientName: string; - patientEmail: string; - status: string; - } - >; - - requestMedicalRecord( - docEmail: PromiseOrValue, - patientAddress: PromiseOrValue, - patientName: PromiseOrValue, - patientEmail: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests( - patientAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - raiseRequest( - doctorName: PromiseOrValue, - fileName: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRequests( - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - rejectRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientInfo(overrides?: CallOverrides): Promise<[string, number, string]>; - - getPatientInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, number, string]>; - - registerPatient( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getDoctorInfo( - overrides?: CallOverrides - ): Promise<[string, number, string, string]>; - - getDoctorInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, number, string, string]>; - - registerDoctor( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - _specialization: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllProviders( - overrides?: CallOverrides - ): Promise; - - getHCProviderInfo( - overrides?: CallOverrides - ): Promise<[string, string, string, string, string]>; - - getHCProviderInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, string, string, string]>; - - registerHCProvider( - _name: PromiseOrValue, - _email: PromiseOrValue, - _address: PromiseOrValue, - _phone: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorsForProvider( - providerAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - mapDoctorToProvider( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - declineDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - raiseDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - doctorName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorToProviderRequests( - _hcaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - callStatic: { - doctors( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string, string] & { - name: string; - age: number; - email: string; - specialization: string; - id: string; - } - >; - - hcproviders( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string] & { - name: string; - email: string; - providerAddress: string; - phone: string; - id: string; - } - >; - - patients( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string] & { - name: string; - age: number; - email: string; - id: string; - } - >; - - providerList( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string] & { - name: string; - email: string; - providerAddress: string; - phone: string; - id: string; - } - >; - - providerToDoctorRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string] & { - doctorName: string; - doctorAddr: string; - status: string; - } - >; - - providerToDoctors( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, number, string, string, string] & { - name: string; - age: number; - email: string; - specialization: string; - id: string; - } - >; - - recordRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [string, string, string, string, string, string, string] & { - requestId: string; - patientAddress: string; - doctorAddress: string; - docEmail: string; - patientName: string; - patientEmail: string; - status: string; - } - >; - - requestMedicalRecord( - docEmail: PromiseOrValue, - patientAddress: PromiseOrValue, - patientName: PromiseOrValue, - patientEmail: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - approveMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - rejectMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getPatientRequests( - patientAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - raiseRequest( - doctorName: PromiseOrValue, - fileName: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getRequests( - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - rejectRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - approveRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getPatientInfo( - overrides?: CallOverrides - ): Promise<[string, number, string]>; - - getPatientInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, number, string]>; - - registerPatient( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getDoctorInfo( - overrides?: CallOverrides - ): Promise<[string, number, string, string]>; - - getDoctorInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, number, string, string]>; - - registerDoctor( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - _specialization: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getAllProviders( - overrides?: CallOverrides - ): Promise; - - getHCProviderInfo( - overrides?: CallOverrides - ): Promise<[string, string, string, string, string]>; - - getHCProviderInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string, string, string, string]>; - - registerHCProvider( - _name: PromiseOrValue, - _email: PromiseOrValue, - _address: PromiseOrValue, - _phone: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getAllDoctorsForProvider( - providerAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - mapDoctorToProvider( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - declineDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - raiseDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - doctorName: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getAllDoctorToProviderRequests( - _hcaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "DoctorRequestRaised(address,string,string)"( - doctor?: PromiseOrValue | null, - doctorName?: PromiseOrValue | null, - credentialsHash?: null - ): DoctorRequestRaisedEventFilter; - DoctorRequestRaised( - doctor?: PromiseOrValue | null, - doctorName?: PromiseOrValue | null, - credentialsHash?: null - ): DoctorRequestRaisedEventFilter; - - "MedicalRecordRequestApproved(address,address,string)"( - doctorAddress?: PromiseOrValue | null, - patientAddress?: PromiseOrValue | null, - requestId?: null - ): MedicalRecordRequestApprovedEventFilter; - MedicalRecordRequestApproved( - doctorAddress?: PromiseOrValue | null, - patientAddress?: PromiseOrValue | null, - requestId?: null - ): MedicalRecordRequestApprovedEventFilter; - - "MedicalRecordRequestCreated(address,address,string)"( - doctorAddress?: PromiseOrValue | null, - patientAddress?: PromiseOrValue | null, - requestId?: null - ): MedicalRecordRequestCreatedEventFilter; - MedicalRecordRequestCreated( - doctorAddress?: PromiseOrValue | null, - patientAddress?: PromiseOrValue | null, - requestId?: null - ): MedicalRecordRequestCreatedEventFilter; - - "MedicalRecordRequestRejected(address,address,string)"( - doctorAddress?: PromiseOrValue | null, - patientAddress?: PromiseOrValue | null, - requestId?: null - ): MedicalRecordRequestRejectedEventFilter; - MedicalRecordRequestRejected( - doctorAddress?: PromiseOrValue | null, - patientAddress?: PromiseOrValue | null, - requestId?: null - ): MedicalRecordRequestRejectedEventFilter; - - "NDoctor(address,string)"( - _from?: PromiseOrValue | null, - _name?: PromiseOrValue | null - ): NDoctorEventFilter; - NDoctor( - _from?: PromiseOrValue | null, - _name?: PromiseOrValue | null - ): NDoctorEventFilter; - - "NHCProvider(address,string)"( - _from?: PromiseOrValue | null, - _name?: PromiseOrValue | null - ): NHCProviderEventFilter; - NHCProvider( - _from?: PromiseOrValue | null, - _name?: PromiseOrValue | null - ): NHCProviderEventFilter; - - "NPatient(address,string)"( - _from?: PromiseOrValue | null, - _name?: PromiseOrValue | null - ): NPatientEventFilter; - NPatient( - _from?: PromiseOrValue | null, - _name?: PromiseOrValue | null - ): NPatientEventFilter; - - "RequestApproved(address,address,uint256)"( - doctor?: PromiseOrValue | null, - provider?: PromiseOrValue | null, - requestId?: PromiseOrValue | null - ): RequestApprovedEventFilter; - RequestApproved( - doctor?: PromiseOrValue | null, - provider?: PromiseOrValue | null, - requestId?: PromiseOrValue | null - ): RequestApprovedEventFilter; - - "RequestRejected(address,address,uint256)"( - doctor?: PromiseOrValue | null, - provider?: PromiseOrValue | null, - requestId?: PromiseOrValue | null - ): RequestRejectedEventFilter; - RequestRejected( - doctor?: PromiseOrValue | null, - provider?: PromiseOrValue | null, - requestId?: PromiseOrValue | null - ): RequestRejectedEventFilter; - }; - - estimateGas: { - doctors( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - hcproviders( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - patients( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - providerList( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - providerToDoctorRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - providerToDoctors( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - recordRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - requestMedicalRecord( - docEmail: PromiseOrValue, - patientAddress: PromiseOrValue, - patientName: PromiseOrValue, - patientEmail: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests( - patientAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - raiseRequest( - doctorName: PromiseOrValue, - fileName: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRequests( - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - rejectRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientInfo(overrides?: CallOverrides): Promise; - - getPatientInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - registerPatient( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getDoctorInfo(overrides?: CallOverrides): Promise; - - getDoctorInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - registerDoctor( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - _specialization: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllProviders(overrides?: CallOverrides): Promise; - - getHCProviderInfo(overrides?: CallOverrides): Promise; - - getHCProviderInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - registerHCProvider( - _name: PromiseOrValue, - _email: PromiseOrValue, - _address: PromiseOrValue, - _phone: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorsForProvider( - providerAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - mapDoctorToProvider( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - declineDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - raiseDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - doctorName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorToProviderRequests( - _hcaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - populateTransaction: { - doctors( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - hcproviders( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - patients( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - providerList( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - providerToDoctorRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - providerToDoctors( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - recordRequests( - arg0: PromiseOrValue, - arg1: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - requestMedicalRecord( - docEmail: PromiseOrValue, - patientAddress: PromiseOrValue, - patientName: PromiseOrValue, - patientEmail: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectMedicalRecordsRequest( - requestId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests( - patientAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - raiseRequest( - doctorName: PromiseOrValue, - fileName: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRequests( - hcpAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - rejectRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approveRequest( - requestId: PromiseOrValue, - hcpAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientInfo(overrides?: CallOverrides): Promise; - - getPatientInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - registerPatient( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getDoctorInfo(overrides?: CallOverrides): Promise; - - getDoctorInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - registerDoctor( - _name: PromiseOrValue, - _age: PromiseOrValue, - _email: PromiseOrValue, - _specialization: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllProviders(overrides?: CallOverrides): Promise; - - getHCProviderInfo(overrides?: CallOverrides): Promise; - - getHCProviderInfoAll( - _address: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - registerHCProvider( - _name: PromiseOrValue, - _email: PromiseOrValue, - _address: PromiseOrValue, - _phone: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorsForProvider( - providerAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - mapDoctorToProvider( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - declineDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - raiseDoctorToProviderRequest( - _providerAddress: PromiseOrValue, - _doctorAddress: PromiseOrValue, - doctorName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getAllDoctorToProviderRequests( - _hcaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; -} diff --git a/client/src/contracts/PatientProvider.ts b/client/src/contracts/PatientProvider.ts deleted file mode 100644 index fe37d4a..0000000 --- a/client/src/contracts/PatientProvider.ts +++ /dev/null @@ -1,266 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "./common"; - -export interface PatientProviderInterface extends utils.Interface { - functions: { - "requestProvider(address)": FunctionFragment; - "approvePatientProviderRequest(address)": FunctionFragment; - "rejectPatientProviderRequest(address)": FunctionFragment; - "getPatientRequests()": FunctionFragment; - "getProviderRequests()": FunctionFragment; - "getPatientProviders()": FunctionFragment; - "getProviderPatients()": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "requestProvider" - | "approvePatientProviderRequest" - | "rejectPatientProviderRequest" - | "getPatientRequests" - | "getProviderRequests" - | "getPatientProviders" - | "getProviderPatients" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "requestProvider", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "approvePatientProviderRequest", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "rejectPatientProviderRequest", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "getPatientRequests", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getProviderRequests", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getPatientProviders", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getProviderPatients", - values?: undefined - ): string; - - decodeFunctionResult( - functionFragment: "requestProvider", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approvePatientProviderRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "rejectPatientProviderRequest", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getPatientRequests", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getProviderRequests", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getPatientProviders", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getProviderPatients", - data: BytesLike - ): Result; - - events: {}; -} - -export interface PatientProvider extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: PatientProviderInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - requestProvider( - _provider: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approvePatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectPatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests(overrides?: CallOverrides): Promise<[string[]]>; - - getProviderRequests(overrides?: CallOverrides): Promise<[string[]]>; - - getPatientProviders(overrides?: CallOverrides): Promise<[string[]]>; - - getProviderPatients(overrides?: CallOverrides): Promise<[string[]]>; - }; - - requestProvider( - _provider: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approvePatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectPatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests(overrides?: CallOverrides): Promise; - - getProviderRequests(overrides?: CallOverrides): Promise; - - getPatientProviders(overrides?: CallOverrides): Promise; - - getProviderPatients(overrides?: CallOverrides): Promise; - - callStatic: { - requestProvider( - _provider: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - approvePatientProviderRequest( - _patient: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - rejectPatientProviderRequest( - _patient: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getPatientRequests(overrides?: CallOverrides): Promise; - - getProviderRequests(overrides?: CallOverrides): Promise; - - getPatientProviders(overrides?: CallOverrides): Promise; - - getProviderPatients(overrides?: CallOverrides): Promise; - }; - - filters: {}; - - estimateGas: { - requestProvider( - _provider: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approvePatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectPatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests(overrides?: CallOverrides): Promise; - - getProviderRequests(overrides?: CallOverrides): Promise; - - getPatientProviders(overrides?: CallOverrides): Promise; - - getProviderPatients(overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - requestProvider( - _provider: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - approvePatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - rejectPatientProviderRequest( - _patient: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getPatientRequests( - overrides?: CallOverrides - ): Promise; - - getProviderRequests( - overrides?: CallOverrides - ): Promise; - - getPatientProviders( - overrides?: CallOverrides - ): Promise; - - getProviderPatients( - overrides?: CallOverrides - ): Promise; - }; -} diff --git a/client/src/contracts/common.ts b/client/src/contracts/common.ts deleted file mode 100644 index 4c90b08..0000000 --- a/client/src/contracts/common.ts +++ /dev/null @@ -1,46 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { Listener } from "@ethersproject/providers"; -import type { Event, EventFilter } from "ethers"; - -export interface TypedEvent< - TArgsArray extends Array = any, - TArgsObject = any -> extends Event { - args: TArgsArray & TArgsObject; -} - -export interface TypedEventFilter<_TEvent extends TypedEvent> - extends EventFilter {} - -export interface TypedListener { - (...listenerArg: [...__TypechainArgsArray, TEvent]): void; -} - -type __TypechainArgsArray = T extends TypedEvent ? U : never; - -export interface OnEvent { - ( - eventFilter: TypedEventFilter, - listener: TypedListener - ): TRes; - (eventName: string, listener: Listener): TRes; -} - -export type MinEthersFactory = { - deploy(...a: ARGS[]): Promise; -}; - -export type GetContractTypeFromFactory = F extends MinEthersFactory< - infer C, - any -> - ? C - : never; - -export type GetARGsTypeFromFactory = F extends MinEthersFactory - ? Parameters - : never; - -export type PromiseOrValue = T | Promise; diff --git a/client/src/contracts/factories/HealthBlock__factory.ts b/client/src/contracts/factories/HealthBlock__factory.ts deleted file mode 100644 index 2b28e9a..0000000 --- a/client/src/contracts/factories/HealthBlock__factory.ts +++ /dev/null @@ -1,1224 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../common"; -import type { HealthBlock, HealthBlockInterface } from "../HealthBlock"; - -const _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "doctor", - type: "address", - }, - { - indexed: true, - internalType: "string", - name: "doctorName", - type: "string", - }, - { - indexed: false, - internalType: "string", - name: "credentialsHash", - type: "string", - }, - ], - name: "DoctorRequestRaised", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "doctorAddress", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "patientAddress", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "requestId", - type: "string", - }, - ], - name: "MedicalRecordRequestApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "doctorAddress", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "patientAddress", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "requestId", - type: "string", - }, - ], - name: "MedicalRecordRequestCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "doctorAddress", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "patientAddress", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "requestId", - type: "string", - }, - ], - name: "MedicalRecordRequestRejected", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_from", - type: "address", - }, - { - indexed: true, - internalType: "string", - name: "_name", - type: "string", - }, - ], - name: "NDoctor", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_from", - type: "address", - }, - { - indexed: true, - internalType: "string", - name: "_name", - type: "string", - }, - ], - name: "NHCProvider", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "_from", - type: "address", - }, - { - indexed: true, - internalType: "string", - name: "_name", - type: "string", - }, - ], - name: "NPatient", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "doctor", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: true, - internalType: "uint256", - name: "requestId", - type: "uint256", - }, - ], - name: "RequestApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "doctor", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "provider", - type: "address", - }, - { - indexed: true, - internalType: "uint256", - name: "requestId", - type: "uint256", - }, - ], - name: "RequestRejected", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - name: "doctors", - outputs: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "uint8", - name: "age", - type: "uint8", - }, - { - internalType: "string", - name: "email", - type: "string", - }, - { - internalType: "string", - name: "specialization", - type: "string", - }, - { - internalType: "address", - name: "id", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - name: "hcproviders", - outputs: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "string", - name: "email", - type: "string", - }, - { - internalType: "string", - name: "providerAddress", - type: "string", - }, - { - internalType: "string", - name: "phone", - type: "string", - }, - { - internalType: "address", - name: "id", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - name: "patients", - outputs: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "uint8", - name: "age", - type: "uint8", - }, - { - internalType: "string", - name: "email", - type: "string", - }, - { - internalType: "address", - name: "id", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "providerList", - outputs: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "string", - name: "email", - type: "string", - }, - { - internalType: "string", - name: "providerAddress", - type: "string", - }, - { - internalType: "string", - name: "phone", - type: "string", - }, - { - internalType: "address", - name: "id", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "providerToDoctorRequests", - outputs: [ - { - internalType: "string", - name: "doctorName", - type: "string", - }, - { - internalType: "address", - name: "doctorAddr", - type: "address", - }, - { - internalType: "string", - name: "status", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "providerToDoctors", - outputs: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "uint8", - name: "age", - type: "uint8", - }, - { - internalType: "string", - name: "email", - type: "string", - }, - { - internalType: "string", - name: "specialization", - type: "string", - }, - { - internalType: "address", - name: "id", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "recordRequests", - outputs: [ - { - internalType: "string", - name: "requestId", - type: "string", - }, - { - internalType: "address", - name: "patientAddress", - type: "address", - }, - { - internalType: "address", - name: "doctorAddress", - type: "address", - }, - { - internalType: "string", - name: "docEmail", - type: "string", - }, - { - internalType: "string", - name: "patientName", - type: "string", - }, - { - internalType: "string", - name: "patientEmail", - type: "string", - }, - { - internalType: "string", - name: "status", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "string", - name: "docEmail", - type: "string", - }, - { - internalType: "address", - name: "patientAddress", - type: "address", - }, - { - internalType: "string", - name: "patientName", - type: "string", - }, - { - internalType: "string", - name: "patientEmail", - type: "string", - }, - ], - name: "requestMedicalRecord", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "requestId", - type: "string", - }, - ], - name: "approveMedicalRecordsRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "requestId", - type: "string", - }, - ], - name: "rejectMedicalRecordsRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "patientAddress", - type: "address", - }, - ], - name: "getPatientRequests", - outputs: [ - { - components: [ - { - internalType: "string", - name: "requestId", - type: "string", - }, - { - internalType: "address", - name: "patientAddress", - type: "address", - }, - { - internalType: "address", - name: "doctorAddress", - type: "address", - }, - { - internalType: "string", - name: "docEmail", - type: "string", - }, - { - internalType: "string", - name: "patientName", - type: "string", - }, - { - internalType: "string", - name: "patientEmail", - type: "string", - }, - { - internalType: "string", - name: "status", - type: "string", - }, - ], - internalType: "struct HealthBlock.MedicalRecordRequest[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "string", - name: "doctorName", - type: "string", - }, - { - internalType: "string", - name: "fileName", - type: "string", - }, - { - internalType: "address", - name: "hcpAddress", - type: "address", - }, - ], - name: "raiseRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "hcpAddress", - type: "address", - }, - ], - name: "getRequests", - outputs: [ - { - components: [ - { - internalType: "address", - name: "doctor", - type: "address", - }, - { - internalType: "string", - name: "doctorName", - type: "string", - }, - { - internalType: "string", - name: "fileName", - type: "string", - }, - { - internalType: "string", - name: "status", - type: "string", - }, - ], - internalType: "struct HealthBlock.Request[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "uint256", - name: "requestId", - type: "uint256", - }, - { - internalType: "address", - name: "hcpAddress", - type: "address", - }, - ], - name: "rejectRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "requestId", - type: "uint256", - }, - { - internalType: "address", - name: "hcpAddress", - type: "address", - }, - ], - name: "approveRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "getPatientInfo", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "uint8", - name: "", - type: "uint8", - }, - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "_address", - type: "address", - }, - ], - name: "getPatientInfoAll", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "uint8", - name: "", - type: "uint8", - }, - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "string", - name: "_name", - type: "string", - }, - { - internalType: "uint8", - name: "_age", - type: "uint8", - }, - { - internalType: "string", - name: "_email", - type: "string", - }, - ], - name: "registerPatient", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "getDoctorInfo", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "uint8", - name: "", - type: "uint8", - }, - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "_address", - type: "address", - }, - ], - name: "getDoctorInfoAll", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "uint8", - name: "", - type: "uint8", - }, - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "string", - name: "_name", - type: "string", - }, - { - internalType: "uint8", - name: "_age", - type: "uint8", - }, - { - internalType: "string", - name: "_email", - type: "string", - }, - { - internalType: "string", - name: "_specialization", - type: "string", - }, - ], - name: "registerDoctor", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "getAllProviders", - outputs: [ - { - components: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "string", - name: "email", - type: "string", - }, - { - internalType: "string", - name: "providerAddress", - type: "string", - }, - { - internalType: "string", - name: "phone", - type: "string", - }, - { - internalType: "address", - name: "id", - type: "address", - }, - ], - internalType: "struct HealthBlock.hcprovider[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [], - name: "getHCProviderInfo", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "_address", - type: "address", - }, - ], - name: "getHCProviderInfoAll", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "string", - name: "_name", - type: "string", - }, - { - internalType: "string", - name: "_email", - type: "string", - }, - { - internalType: "string", - name: "_address", - type: "string", - }, - { - internalType: "string", - name: "_phone", - type: "string", - }, - ], - name: "registerHCProvider", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "providerAddress", - type: "address", - }, - ], - name: "getAllDoctorsForProvider", - outputs: [ - { - components: [ - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "uint8", - name: "age", - type: "uint8", - }, - { - internalType: "string", - name: "email", - type: "string", - }, - { - internalType: "string", - name: "specialization", - type: "string", - }, - { - internalType: "address", - name: "id", - type: "address", - }, - ], - internalType: "struct HealthBlock.doctor[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [ - { - internalType: "address", - name: "_providerAddress", - type: "address", - }, - { - internalType: "address", - name: "_doctorAddress", - type: "address", - }, - ], - name: "mapDoctorToProvider", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_providerAddress", - type: "address", - }, - { - internalType: "address", - name: "_doctorAddress", - type: "address", - }, - ], - name: "declineDoctorToProviderRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_providerAddress", - type: "address", - }, - { - internalType: "address", - name: "_doctorAddress", - type: "address", - }, - { - internalType: "string", - name: "doctorName", - type: "string", - }, - ], - name: "raiseDoctorToProviderRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_hcaddress", - type: "address", - }, - ], - name: "getAllDoctorToProviderRequests", - outputs: [ - { - components: [ - { - internalType: "string", - name: "doctorName", - type: "string", - }, - { - internalType: "address", - name: "doctorAddr", - type: "address", - }, - { - internalType: "string", - name: "status", - type: "string", - }, - ], - internalType: "struct HealthBlock.DoctorToProviderRequest[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, -] as const; - -const _bytecode = - "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055614759806100326000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637decccbf11610104578063a9b467ee116100a2578063bc4fe40211610071578063bc4fe40214610451578063c5b0aab014610464578063cc06370614610487578063e1e36ab9146104a957600080fd5b8063a9b467ee14610400578063b2d258ff14610413578063b380f5c614610426578063bc045df81461043e57600080fd5b8063939686dc116100de578063939686dc146103b4578063959a95f7146103c7578063a89b1c94146103da578063a9583c22146103ed57600080fd5b80637decccbf1461036c578063804e44f31461038c578063916922c4146103ac57600080fd5b8063390bfd3c1161017c5780636d36f7be1161014b5780636d36f7be1461030f57806372e6f1f114610333578063732d501614610346578063774d3df51461035957600080fd5b8063390bfd3c146102b45780633bb4497c146102c757806343e13f85146102dc5780635df122e1146102ef57600080fd5b8063139f0984116101b8578063139f09841461024f5780631c29720514610264578063204d280614610277578063326df6641461029d57600080fd5b80630869cfbc146101df5780630df9f4b81461020b57806310b500cc1461022f575b600080fd5b6101f26101ed366004613920565b6104bc565b6040516102029493929190613992565b60405180910390f35b61021e610219366004613920565b610606565b6040516102029594939291906139db565b61024261023d366004613920565b61085d565b6040516102029190613a44565b61026261025d366004613ade565b610a0d565b005b610262610272366004613bc5565b610de4565b61028a610285366004613c39565b610f65565b6040516102029796959493929190613c63565b6102a561127e565b60405161020293929190613ce9565b61021e6102c2366004613d21565b6113f1565b6102cf611424565b6040516102029190613d3a565b6102626102ea366004613dfc565b6116e1565b6103026102fd366004613920565b611885565b6040516102029190613e95565b61032261031d366004613c39565b611acc565b604051610202959493929190613f4a565b610262610341366004613f78565b611ba9565b610262610354366004613fec565b611cc5565b610262610367366004614029565b611dc0565b61037f61037a366004613920565b611ef0565b604051610202919061404c565b61039f61039a366004613920565b612258565b6040516102029190614145565b61021e612509565b6102626103c23660046141ec565b6127b1565b6102626103d5366004613fec565b61286b565b6102626103e8366004613ade565b612959565b6103226103fb366004613920565b612a6c565b6102a561040e366004613920565b612a87565b610262610421366004614240565b612bde565b61042e612de4565b6040516102029493929190614288565b61026261044c366004614029565b612feb565b61026261045f3660046142d5565b61312b565b610477610472366004613920565b6133b5565b6040516102029493929190614331565b61049a610495366004613c39565b613628565b6040516102029392919061436a565b61042e6104b7366004613920565b61378e565b6005602052600090815260409020805481906104d79061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546105039061439e565b80156105505780601f1061052557610100808354040283529160200191610550565b820191906000526020600020905b81548152906001019060200180831161053357829003601f168201915b5050506001840154600285018054949560ff9092169491935091506105749061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546105a09061439e565b80156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050600390930154919250506001600160a01b031684565b6007602052600090815260409020805481906106219061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461064d9061439e565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b5050505050908060010180546106af9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546106db9061439e565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b50505050509080600201805461073d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546107699061439e565b80156107b65780601f1061078b576101008083540402835291602001916107b6565b820191906000526020600020905b81548152906001019060200180831161079957829003601f168201915b5050505050908060030180546107cb9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546107f79061439e565b80156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b505050600490930154919250506001600160a01b031685565b6001600160a01b0381166000908152600460209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a0257838290600052602060002090600302016040518060600160405290816000820180546108c89061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546108f49061439e565b80156109415780601f1061091657610100808354040283529160200191610941565b820191906000526020600020905b81548152906001019060200180831161092457829003601f168201915b505050918352505060018201546001600160a01b031660208201526002820180546040909201916109719061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461099d9061439e565b80156109ea5780601f106109bf576101008083540402835291602001916109ea565b820191906000526020600020905b8154815290600101906020018083116109cd57829003601f168201915b50505050508152505081526020019060010190610895565b505050509050919050565b6001600160a01b038116600090815260066020526040812090805b6001600160a01b03851660009081526004602052604090205460ff82161015610ab9576001600160a01b03858116600090815260046020526040902080549186169160ff8416908110610a7d57610a7d6143d8565b60009182526020909120600160039092020101546001600160a01b031603610aa757809150610ab9565b80610ab181614404565b915050610a28565b506040518060400160405280600981526020017f636f6e6669726d6564000000000000000000000000000000000000000000000081525060046000866001600160a01b03166001600160a01b031681526020019081526020016000208260ff1681548110610b2957610b296143d8565b90600052602060002090600302016002019081610b469190614472565b5060036000856001600160a01b03166001600160a01b031681526020019081526020016000206040518060a00160405280846000018054610b869061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb29061439e565b8015610bff5780601f10610bd457610100808354040283529160200191610bff565b820191906000526020600020905b815481529060010190602001808311610be257829003601f168201915b5050509183525050600185015460ff166020820152600285018054604090920191610c299061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c559061439e565b8015610ca25780601f10610c7757610100808354040283529160200191610ca2565b820191906000526020600020905b815481529060010190602001808311610c8557829003601f168201915b50505050508152602001846003018054610cbb9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce79061439e565b8015610d345780601f10610d0957610100808354040283529160200191610d34565b820191906000526020600020905b815481529060010190602001808311610d1757829003601f168201915b50505091835250506001600160a01b0386166020918201528254600181018455600093845292208151919260050201908190610d709082614472565b50602082015160018201805460ff191660ff90921691909117905560408201516002820190610d9f9082614472565b5060608201516003820190610db49082614472565b5060809190910151600490910180546001600160a01b0319166001600160a01b0390921691909117905550505050565b6040805160008152602081018083528151902091610e0491869101614532565b6040516020818303038152906040528051906020012003610e2457600080fd5b6040805160008152602081018083528151902091610e4491849101614532565b6040516020818303038152906040528051906020012003610e6457600080fd5b60008260ff16118015610e7a575060648260ff16105b610e8357600080fd5b6040805160808101825284815260ff84166020808301919091528183018490523360608301819052600090815260059091529190912081518190610ec79082614472565b50602082015160018201805460ff191660ff90921691909117905560408201516002820190610ef69082614472565b5060609190910151600390910180546001600160a01b0319166001600160a01b03909216919091179055604051610f2e908490614532565b6040519081900381209033907fe3413e34d7cfab2884866aa8dfc64b0c31d51db035044e04a349a1faf6c7d67690600090a3505050565b60016020528160005260406000208181548110610f8157600080fd5b906000526020600020906007020160009150915050806000018054610fa59061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd19061439e565b801561101e5780601f10610ff35761010080835404028352916020019161101e565b820191906000526020600020905b81548152906001019060200180831161100157829003601f168201915b5050506001840154600285015460038601805495966001600160a01b03938416969290931694509192506110519061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461107d9061439e565b80156110ca5780601f1061109f576101008083540402835291602001916110ca565b820191906000526020600020905b8154815290600101906020018083116110ad57829003601f168201915b5050505050908060040180546110df9061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461110b9061439e565b80156111585780601f1061112d57610100808354040283529160200191611158565b820191906000526020600020905b81548152906001019060200180831161113b57829003601f168201915b50505050509080600501805461116d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546111999061439e565b80156111e65780601f106111bb576101008083540402835291602001916111e6565b820191906000526020600020905b8154815290600101906020018083116111c957829003601f168201915b5050505050908060060180546111fb9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546112279061439e565b80156112745780601f1061124957610100808354040283529160200191611274565b820191906000526020600020905b81548152906001019060200180831161125757829003601f168201915b5050505050905087565b3360008181526005602052604081206003810154606093849290916001600160a01b03166112ab57600080fd5b33600090815260056020526040902060018101548154829160ff1690600283019083906112d79061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546113039061439e565b80156113505780601f1061132557610100808354040283529160200191611350565b820191906000526020600020905b81548152906001019060200180831161133357829003601f168201915b505050505092508080546113639061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461138f9061439e565b80156113dc5780601f106113b1576101008083540402835291602001916113dc565b820191906000526020600020905b8154815290600101906020018083116113bf57829003601f168201915b50505050509050955095509550505050909192565b6008818154811061140157600080fd5b90600052602060002090600502016000915090508060000180546106219061439e565b60606008805480602002602001604051908101604052809291908181526020016000905b828210156116d857838290600052602060002090600502016040518060a001604052908160008201805461147b9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546114a79061439e565b80156114f45780601f106114c9576101008083540402835291602001916114f4565b820191906000526020600020905b8154815290600101906020018083116114d757829003601f168201915b5050505050815260200160018201805461150d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546115399061439e565b80156115865780601f1061155b57610100808354040283529160200191611586565b820191906000526020600020905b81548152906001019060200180831161156957829003601f168201915b5050505050815260200160028201805461159f9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546115cb9061439e565b80156116185780601f106115ed57610100808354040283529160200191611618565b820191906000526020600020905b8154815290600101906020018083116115fb57829003601f168201915b505050505081526020016003820180546116319061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461165d9061439e565b80156116aa5780601f1061167f576101008083540402835291602001916116aa565b820191906000526020600020905b81548152906001019060200180831161168d57829003601f168201915b5050509183525050600491909101546001600160a01b03166020918201529082526001929092019101611448565b50505050905090565b600084826040516020016116f692919061454e565b60408051601f1981840301815260e0830182528083526001600160a01b03871660208481018290523385850152606085018a90526080850188905260a085018790528351808501855260078082527f50454e44494e47000000000000000000000000000000000000000000000000008284015260c087019190915260009283526001808352948320805495860181558352912084519295508493909102019081906117a19082614472565b5060208201516001820180546001600160a01b039283166001600160a01b0319918216179091556040840151600284018054919093169116179055606082015160038201906117f09082614472565b50608082015160048201906118059082614472565b5060a0820151600582019061181a9082614472565b5060c0820151600682019061182f9082614472565b505050846001600160a01b0316336001600160a01b03167f29baeba2fe9320dc844743175d57ad5a8fb66f5b6ff139460d939d36ddce27328460405161187591906145a6565b60405180910390a3505050505050565b6001600160a01b0381166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a0257838290600052602060002090600502016040518060a00160405290816000820180546118f09061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461191c9061439e565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b5050509183525050600182015460ff1660208201526002820180546040909201916119939061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546119bf9061439e565b8015611a0c5780601f106119e157610100808354040283529160200191611a0c565b820191906000526020600020905b8154815290600101906020018083116119ef57829003601f168201915b50505050508152602001600382018054611a259061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054611a519061439e565b8015611a9e5780601f10611a7357610100808354040283529160200191611a9e565b820191906000526020600020905b815481529060010190602001808311611a8157829003601f168201915b5050509183525050600491909101546001600160a01b031660209182015290825260019290920191016118bd565b60036020528160005260406000208181548110611ae857600080fd5b906000526020600020906005020160009150915050806000018054611b0c9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054611b389061439e565b8015611b855780601f10611b5a57610100808354040283529160200191611b85565b820191906000526020600020905b815481529060010190602001808311611b6857829003601f168201915b5050506001840154600285018054949560ff90921694919350915061073d9061439e565b60408051608081018252338152602080820186815282840186905283518085018552600781526670656e64696e6760c81b8184015260608401526001600160a01b0385811660009081526002845294852080546001808201835591875293909520845160049094020180546001600160a01b03191693909116929092178255519192839290820190611c3b9082614472565b5060408201516002820190611c509082614472565b5060608201516003820190611c659082614472565b50505083604051611c769190614532565b6040518091039020336001600160a01b03167f13bea7f2b146e27ade33081397e247a39c6fa801e1c40c9d03fd9d808e3bdfcd85604051611cb791906145a6565b60405180910390a350505050565b33600090815260016020526040812090611cdf838361385c565b90506040518060400160405280600881526020017f415050524f564544000000000000000000000000000000000000000000000000815250828281548110611d2957611d296143d8565b90600052602060002090600702016006019081611d469190614472565b50336001600160a01b0316828281548110611d6357611d636143d8565b60009182526020909120600260079092020101546040516001600160a01b03909116907fda89c4a0a3e7358d86aa0b298bab4954df3697da4fade2f3d7b098f408738c9390611db39087906145a6565b60405180910390a3505050565b336001600160a01b03821614611e435760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79204865616c746820436172652050726f76696465722063616e20636160448201527f6c6c20746869732066756e6374696f6e0000000000000000000000000000000060648201526084015b60405180910390fd5b6001600160a01b0381166000908152600260205260408120805484908110611e6d57611e6d6143d8565b90600052602060002090600402019050604051806040016040528060088152602001671c995a9958dd195960c21b815250816003019081611eae9190614472565b50805460405184916001600160a01b03808616929116907f4d2b09745b50f68da85b0b25854d46c2b85b43dd6f04ba6f3f503ff878bf4ae590600090a4505050565b6001600160a01b0381166000908152600160209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a0257838290600052602060002090600702016040518060e0016040529081600082018054611f5b9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054611f879061439e565b8015611fd45780601f10611fa957610100808354040283529160200191611fd4565b820191906000526020600020905b815481529060010190602001808311611fb757829003601f168201915b505050918352505060018201546001600160a01b03908116602083015260028301541660408201526003820180546060909201916120119061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461203d9061439e565b801561208a5780601f1061205f5761010080835404028352916020019161208a565b820191906000526020600020905b81548152906001019060200180831161206d57829003601f168201915b505050505081526020016004820180546120a39061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf9061439e565b801561211c5780601f106120f15761010080835404028352916020019161211c565b820191906000526020600020905b8154815290600101906020018083116120ff57829003601f168201915b505050505081526020016005820180546121359061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546121619061439e565b80156121ae5780601f10612183576101008083540402835291602001916121ae565b820191906000526020600020905b81548152906001019060200180831161219157829003601f168201915b505050505081526020016006820180546121c79061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546121f39061439e565b80156122405780601f1061221557610100808354040283529160200191612240565b820191906000526020600020905b81548152906001019060200180831161222357829003601f168201915b50505050508152505081526020019060010190611f28565b6060336001600160a01b038316146122d85760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79204865616c746820436172652050726f76696465722063616e20636160448201527f6c6c20746869732066756e6374696f6e000000000000000000000000000000006064820152608401611e3a565b6001600160a01b038216600090815260026020908152604080832080548251818502810185019093528083529193909284015b82821015610a0257600084815260209081902060408051608081019091526004850290910180546001600160a01b0316825260018101805492939192918401916123549061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546123809061439e565b80156123cd5780601f106123a2576101008083540402835291602001916123cd565b820191906000526020600020905b8154815290600101906020018083116123b057829003601f168201915b505050505081526020016002820180546123e69061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546124129061439e565b801561245f5780601f106124345761010080835404028352916020019161245f565b820191906000526020600020905b81548152906001019060200180831161244257829003601f168201915b505050505081526020016003820180546124789061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546124a49061439e565b80156124f15780601f106124c6576101008083540402835291602001916124f1565b820191906000526020600020905b8154815290600101906020018083116124d457829003601f168201915b5050505050815250508152602001906001019061230b565b33600081815260076020526040812060048101546060938493849384939192916001600160a01b031661253b57600080fd5b3360009081526007602052604090206004810154815482916001830191600284019160038501916001600160a01b039091169085906125799061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546125a59061439e565b80156125f25780601f106125c7576101008083540402835291602001916125f2565b820191906000526020600020905b8154815290600101906020018083116125d557829003601f168201915b505050505094508380546126059061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546126319061439e565b801561267e5780601f106126535761010080835404028352916020019161267e565b820191906000526020600020905b81548152906001019060200180831161266157829003601f168201915b505050505093508280546126919061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546126bd9061439e565b801561270a5780601f106126df5761010080835404028352916020019161270a565b820191906000526020600020905b8154815290600101906020018083116126ed57829003601f168201915b5050505050925081805461271d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546127499061439e565b80156127965780601f1061276b57610100808354040283529160200191612796565b820191906000526020600020905b81548152906001019060200180831161277957829003601f168201915b50505050509150975097509750975097505050509091929394565b604080516060810182528281526001600160a01b0380851660208084019190915283518085018552600781526670656e64696e6760c81b81830152838501529086166000908152600482529283208054600181018255908452922081519192839260039091029091019081906128279082614472565b5060208201516001820180546001600160a01b0319166001600160a01b03909216919091179055604082015160028201906128629082614472565b50505050505050565b33600090815260016020526040812090612885838361385c565b90506040518060400160405280600881526020017f52454a45435445440000000000000000000000000000000000000000000000008152508282815481106128cf576128cf6143d8565b906000526020600020906007020160060190816128ec9190614472565b50336001600160a01b0316828281548110612909576129096143d8565b60009182526020909120600260079092020101546040516001600160a01b03909116907ffb3438e64aa3aabd0d30d0b1904979d36722da9c94654366c727910368c9f91a90611db39087906145a6565b6000805b6001600160a01b03841660009081526004602052604090205460ff821610156129ee576001600160a01b03848116600090815260046020526040902080549185169160ff84169081106129b2576129b26143d8565b60009182526020909120600160039092020101546001600160a01b0316036129dc578091506129ee565b806129e681614404565b91505061295d565b50604051806040016040528060088152602001671c995a9958dd195960c21b81525060046000856001600160a01b03166001600160a01b031681526020019081526020016000208260ff1681548110612a4957612a496143d8565b90600052602060002090600302016002019081612a669190614472565b50505050565b600660205260009081526040902080548190611b0c9061439e565b6001600160a01b0381166000908152600560205260408120600181015481546060939284929091829160ff169060028301908390612ac49061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612af09061439e565b8015612b3d5780601f10612b1257610100808354040283529160200191612b3d565b820191906000526020600020905b815481529060010190602001808311612b2057829003601f168201915b50505050509250808054612b509061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612b7c9061439e565b8015612bc95780601f10612b9e57610100808354040283529160200191612bc9565b820191906000526020600020905b815481529060010190602001808311612bac57829003601f168201915b50505050509050935093509350509193909250565b3360009081526006602090815260408083208151938452918301808252835190209192612c0d91889101614532565b6040516020818303038152906040528051906020012003612c2d57600080fd5b6040805160008152602081018083528151902091612c4d91869101614532565b6040516020818303038152906040528051906020012003612c6d57600080fd5b6040805160008152602081018083528151902091612c8d91859101614532565b6040516020818303038152906040528051906020012003612cad57600080fd5b60008460ff16118015612cc3575060648460ff16105b612ccc57600080fd5b60048101546001600160a01b031615612ce457600080fd5b6040805160a08101825286815260ff8616602080830191909152818301869052606082018590523360808301819052600090815260069091529190912081518190612d2f9082614472565b50602082015160018201805460ff191660ff90921691909117905560408201516002820190612d5e9082614472565b5060608201516003820190612d739082614472565b5060809190910151600490910180546001600160a01b0319166001600160a01b03909216919091179055604051612dab908690614532565b6040519081900381209033907fe3413e34d7cfab2884866aa8dfc64b0c31d51db035044e04a349a1faf6c7d67690600090a35050505050565b3360008181526006602052604081206004810154606093849283926001600160a01b0316612e1157600080fd5b33600090815260066020526040902060018101548154829160ff1690600283019060038401908490612e429061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612e6e9061439e565b8015612ebb5780601f10612e9057610100808354040283529160200191612ebb565b820191906000526020600020905b815481529060010190602001808311612e9e57829003601f168201915b50505050509350818054612ece9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612efa9061439e565b8015612f475780601f10612f1c57610100808354040283529160200191612f47565b820191906000526020600020905b815481529060010190602001808311612f2a57829003601f168201915b50505050509150808054612f5a9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612f869061439e565b8015612fd35780601f10612fa857610100808354040283529160200191612fd3565b820191906000526020600020905b815481529060010190602001808311612fb657829003601f168201915b50505050509050965096509650965050505090919293565b336001600160a01b038216146130695760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79204865616c746820436172652050726f7669646572202063616e206360448201527f616c6c20746869732066756e6374696f6e0000000000000000000000000000006064820152608401611e3a565b6001600160a01b0381166000908152600260205260408120805484908110613093576130936143d8565b906000526020600020906004020190506040518060400160405280600881526020017f617070726f7665640000000000000000000000000000000000000000000000008152508160030190816130e99190614472565b50805460405184916001600160a01b03808616929116907fd9a9c1b40a747e79bd4c1aeabd897bfd5b3679e58fcdcd20dd7af4a8274196bc90600090a4505050565b336000908152600760209081526040808320815193845291830180825283519020919261315a91889101614532565b604051602081830303815290604052805190602001200361317a57600080fd5b604080516000815260208101808352815190209161319a91879101614532565b60405160208183030381529060405280519060200120036131ba57600080fd5b60408051600081526020810180835281519020916131da91869101614532565b60405160208183030381529060405280519060200120036131fa57600080fd5b604080516000815260208101808352815190209161321a91859101614532565b604051602081830303815290604052805190602001200361323a57600080fd5b60048101546001600160a01b03161561325257600080fd5b6040805160a08101825286815260208082018790528183018690526060820185905233608083018190526000908152600790915291909120815181906132989082614472565b50602082015160018201906132ad9082614472565b50604082015160028201906132c29082614472565b50606082015160038201906132d79082614472565b5060809190910151600490910180546001600160a01b039092166001600160a01b0319909216919091179055336000908152600760205260408120600880546001810182559252906005027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3018061334f83826145b9565b50600181810190613362908401826145b9565b50600281810190613375908401826145b9565b50600381810190613388908401826145b9565b50600491820154910180546001600160a01b0319166001600160a01b039092169190911790555050505050565b6001600160a01b03811660009081526007602052604090208054606091829182918291819060018201906002830190600384019084906133f49061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546134209061439e565b801561346d5780601f106134425761010080835404028352916020019161346d565b820191906000526020600020905b81548152906001019060200180831161345057829003601f168201915b505050505093508280546134809061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546134ac9061439e565b80156134f95780601f106134ce576101008083540402835291602001916134f9565b820191906000526020600020905b8154815290600101906020018083116134dc57829003601f168201915b5050505050925081805461350c9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546135389061439e565b80156135855780601f1061355a57610100808354040283529160200191613585565b820191906000526020600020905b81548152906001019060200180831161356857829003601f168201915b505050505091508080546135989061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546135c49061439e565b80156136115780601f106135e657610100808354040283529160200191613611565b820191906000526020600020905b8154815290600101906020018083116135f457829003601f168201915b505050505090509450945094509450509193509193565b6004602052816000526040600020818154811061364457600080fd5b9060005260206000209060030201600091509150508060000180546136689061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546136949061439e565b80156136e15780601f106136b6576101008083540402835291602001916136e1565b820191906000526020600020905b8154815290600101906020018083116136c457829003601f168201915b505050600184015460028501805494956001600160a01b0390921694919350915061370b9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546137379061439e565b80156137845780601f1061375957610100808354040283529160200191613784565b820191906000526020600020905b81548152906001019060200180831161376757829003601f168201915b5050505050905083565b6001600160a01b0381166000908152600660205260408120600181015481546060939284928392829160ff16906002830190600384019084906137d09061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546137fc9061439e565b80156138495780601f1061381e57610100808354040283529160200191613849565b820191906000526020600020905b81548152906001019060200180831161382c57829003601f168201915b5050505050935081805461350c9061439e565b6000805b82548110156138f7578360405160200161387a9190614532565b604051602081830303815290604052805190602001208382815481106138a2576138a26143d8565b90600052602060002090600702016000016040516020016138c39190614694565b60405160208183030381529060405280519060200120036138e55790506138fe565b806138ef8161470a565b915050613860565b5060001990505b92915050565b80356001600160a01b038116811461391b57600080fd5b919050565b60006020828403121561393257600080fd5b61393b82613904565b9392505050565b60005b8381101561395d578181015183820152602001613945565b50506000910152565b6000815180845261397e816020860160208601613942565b601f01601f19169290920160200192915050565b6080815260006139a56080830187613966565b60ff8616602084015282810360408401526139c08186613966565b9150506001600160a01b038316606083015295945050505050565b60a0815260006139ee60a0830188613966565b8281036020840152613a008188613966565b90508281036040840152613a148187613966565b90508281036060840152613a288186613966565b9150506001600160a01b03831660808301529695505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160608151818652613a9182870182613966565b9150506001600160a01b0389830151168986015287820151915084810388860152613abc8183613966565b968901969450505090860190600101613a6b565b509098975050505050505050565b60008060408385031215613af157600080fd5b613afa83613904565b9150613b0860208401613904565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112613b3857600080fd5b813567ffffffffffffffff80821115613b5357613b53613b11565b604051601f8301601f19908116603f01168101908282118183101715613b7b57613b7b613b11565b81604052838152866020858801011115613b9457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461391b57600080fd5b600080600060608486031215613bda57600080fd5b833567ffffffffffffffff80821115613bf257600080fd5b613bfe87838801613b27565b9450613c0c60208701613bb4565b93506040860135915080821115613c2257600080fd5b50613c2f86828701613b27565b9150509250925092565b60008060408385031215613c4c57600080fd5b613c5583613904565b946020939093013593505050565b60e081526000613c7660e083018a613966565b6001600160a01b038981166020850152881660408401528281036060840152613c9f8188613966565b90508281036080840152613cb38187613966565b905082810360a0840152613cc78186613966565b905082810360c0840152613cdb8185613966565b9a9950505050505050505050565b606081526000613cfc6060830186613966565b60ff851660208401528281036040840152613d178185613966565b9695505050505050565b600060208284031215613d3357600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160a08151818652613d8782870182613966565b915050888201518582038a870152613d9f8282613966565b9150508782015185820389870152613db78282613966565b91505060608083015186830382880152613dd18382613966565b6080948501516001600160a01b03169790940196909652505094870194925090860190600101613d61565b60008060008060808587031215613e1257600080fd5b843567ffffffffffffffff80821115613e2a57600080fd5b613e3688838901613b27565b9550613e4460208801613904565b94506040870135915080821115613e5a57600080fd5b613e6688838901613b27565b93506060870135915080821115613e7c57600080fd5b50613e8987828801613b27565b91505092959194509250565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160a08151818652613ee282870182613966565b91505060ff8983015116898601528782015185820389870152613f058282613966565b91505060608083015186830382880152613f1f8382613966565b6080948501516001600160a01b03169790940196909652505094870194925090860190600101613ebc565b60a081526000613f5d60a0830188613966565b60ff871660208401528281036040840152613a148187613966565b600080600060608486031215613f8d57600080fd5b833567ffffffffffffffff80821115613fa557600080fd5b613fb187838801613b27565b94506020860135915080821115613fc757600080fd5b50613fd486828701613b27565b925050613fe360408501613904565b90509250925092565b600060208284031215613ffe57600080fd5b813567ffffffffffffffff81111561401557600080fd5b61402184828501613b27565b949350505050565b6000806040838503121561403c57600080fd5b82359150613b0860208401613904565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160e0815181865261409982870182613966565b9150506001600160a01b03898301511689860152878201516140c5898701826001600160a01b03169052565b50606080830151868303828801526140dd8382613966565b92505050608080830151868303828801526140f88382613966565b9250505060a080830151868303828801526141138382613966565b9250505060c080830151925085820381870152506141318183613966565b968901969450505090860190600101614073565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160806001600160a01b03825116855288820151818a8701526141a382870182613966565b91505087820151858203898701526141bb8282613966565b915050606080830151925085820381870152506141d88183613966565b96890196945050509086019060010161416c565b60008060006060848603121561420157600080fd5b61420a84613904565b925061421860208501613904565b9150604084013567ffffffffffffffff81111561423457600080fd5b613c2f86828701613b27565b6000806000806080858703121561425657600080fd5b843567ffffffffffffffff8082111561426e57600080fd5b61427a88838901613b27565b9550613e4460208801613bb4565b60808152600061429b6080830187613966565b60ff8616602084015282810360408401526142b68186613966565b905082810360608401526142ca8185613966565b979650505050505050565b600080600080608085870312156142eb57600080fd5b843567ffffffffffffffff8082111561430357600080fd5b61430f88838901613b27565b9550602087013591508082111561432557600080fd5b613e4488838901613b27565b6080815260006143446080830187613966565b82810360208401526143568187613966565b905082810360408401526142b68186613966565b60608152600061437d6060830186613966565b6001600160a01b03851660208401528281036040840152613d178185613966565b600181811c908216806143b257607f821691505b6020821081036143d257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361441a5761441a6143ee565b60010192915050565b601f82111561446d57600081815260208120601f850160051c8101602086101561444a5750805b601f850160051c820191505b8181101561446957828155600101614456565b5050505b505050565b815167ffffffffffffffff81111561448c5761448c613b11565b6144a08161449a845461439e565b84614423565b602080601f8311600181146144d557600084156144bd5750858301515b600019600386901b1c1916600185901b178555614469565b600085815260208120601f198616915b82811015614504578886015182559484019460019091019084016144e5565b50858210156145225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251614544818460208701613942565b9190910192915050565b60008351614560818460208801613942565b7f5f00000000000000000000000000000000000000000000000000000000000000908301908152835161459a816001840160208801613942565b01600101949350505050565b60208152600061393b6020830184613966565b8181036145c4575050565b6145ce825461439e565b67ffffffffffffffff8111156145e6576145e6613b11565b6145f48161449a845461439e565b6000601f82116001811461462857600083156146105750848201545b600019600385901b1c1916600184901b17845561468d565b600085815260209020601f19841690600086815260209020845b838110156146625782860154825560019586019590910190602001614642565b50858310156146805781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b60008083546146a28161439e565b600182811680156146ba57600181146146cf576146fe565b60ff19841687528215158302870194506146fe565b8760005260208060002060005b858110156146f55781548a8201529084019082016146dc565b50505082870194505b50929695505050505050565b60006001820161471c5761471c6143ee565b506001019056fea2646970667358221220322db9119a5bd153fbdbb33b27bddb8ba2b183c93aabe8570fdd141e1591c1e164736f6c63430008110033"; - -type HealthBlockConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: HealthBlockConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class HealthBlock__factory extends ContractFactory { - constructor(...args: HealthBlockConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): HealthBlock { - return super.attach(address) as HealthBlock; - } - override connect(signer: Signer): HealthBlock__factory { - return super.connect(signer) as HealthBlock__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): HealthBlockInterface { - return new utils.Interface(_abi) as HealthBlockInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): HealthBlock { - return new Contract(address, _abi, signerOrProvider) as HealthBlock; - } -} diff --git a/client/src/contracts/factories/PatientProvider__factory.ts b/client/src/contracts/factories/PatientProvider__factory.ts deleted file mode 100644 index 4504410..0000000 --- a/client/src/contracts/factories/PatientProvider__factory.ts +++ /dev/null @@ -1,163 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../common"; -import type { - PatientProvider, - PatientProviderInterface, -} from "../PatientProvider"; - -const _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - inputs: [ - { - internalType: "address", - name: "_provider", - type: "address", - }, - ], - name: "requestProvider", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_patient", - type: "address", - }, - ], - name: "approvePatientProviderRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_patient", - type: "address", - }, - ], - name: "rejectPatientProviderRequest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "getPatientRequests", - outputs: [ - { - internalType: "address[]", - name: "", - type: "address[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [], - name: "getProviderRequests", - outputs: [ - { - internalType: "address[]", - name: "", - type: "address[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [], - name: "getPatientProviders", - outputs: [ - { - internalType: "address[]", - name: "", - type: "address[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, - { - inputs: [], - name: "getProviderPatients", - outputs: [ - { - internalType: "address[]", - name: "", - type: "address[]", - }, - ], - stateMutability: "view", - type: "function", - constant: true, - }, -] as const; - -const _bytecode = - "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610b3b806100326000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063386a5a7a1161005b578063386a5a7a146100bd578063a31d3cc2146100d0578063bb0c115a146100d8578063e42315e8146100eb57600080fd5b806315c9d3da1461008257806318dbb76f146100a05780632c2715f4146100b5575b600080fd5b61008a6100f3565b6040516100979190610a35565b60405180910390f35b6100b36100ae366004610a82565b6101c6565b005b61008a610313565b6100b36100cb366004610a82565b6103df565b61008a61054a565b6100b36100e6366004610a82565b6106f7565b61008a6108b6565b3360009081526001602052604090205460609060ff1661015a5760405162461bcd60e51b815260206004820152601f60248201527f596f752068617665206e6f74206d61646520616e792072657175657374732e0060448201526064015b60405180910390fd5b33600090815260016020908152604091829020600301805483518184028101840190945280845290918301828280156101bc57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161019e575b5050505050905090565b3360009081526001602081815260408084206001600160a01b0386168552909201905290205460ff16156102625760405162461bcd60e51b815260206004820152602d60248201527f596f7520616c726561647920686176652061207265717565737420666f72207460448201527f6869732070726f76696465722e000000000000000000000000000000000000006064820152608401610151565b336000818152600160208181526040808420805460ff19908116851782556001600160a01b03979097168086528185018452828620805489168617905560029182018054808701825590875284872001805473ffffffffffffffffffffffffffffffffffffffff199081168317909155908652818452828620805489168617815587875280860185529286208054909816851790975580835201805492830181558352909120018054909216179055565b3360009081526002602052604090205460609060ff166103755760405162461bcd60e51b815260206004820152601c60248201527f596f7520646f206e6f74206861766520616e792070617469656e7473000000006044820152606401610151565b33600090815260026020908152604091829020600301805483518184028101840190945280845290918301828280156101bc576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161019e575050505050905090565b3360009081526002602090815260408083206001600160a01b038516845260010190915290205460ff166104705760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b0381166000908152600160208181526040808420338552909201905290205460ff166105005760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b0316600081815260016020818152604080842033855283018252808420805460ff1990811690915560028352818520958552949092019052902080549091169055565b3360009081526002602052604090205460609060ff166105d25760405162461bcd60e51b815260206004820152602260248201527f596f7520617265206e6f74206120726567697374657265642070726f7669646560448201527f722e0000000000000000000000000000000000000000000000000000000000006064820152608401610151565b3360009081526002602081905260408220015467ffffffffffffffff8111156105fd576105fd610ab2565b604051908082528060200260200182016040528015610626578160200160208202803683370190505b50905060005b33600090815260026020819052604090912001548110156106f15733600090815260026020819052604082200180548390811061066b5761066b610ac8565b60009182526020808320909101543383526002825260408084206001600160a01b0390921680855260019290920190925291205490915060ff16156106de57808383815181106106bd576106bd610ac8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b50806106e981610ade565b91505061062c565b50919050565b3360009081526002602090815260408083206001600160a01b038516845260010190915290205460ff166107885760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b0381166000908152600160208181526040808420338552909201905290205460ff166108185760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b03166000818152600160208181526040808420338086528185018452828620805460ff1990811690915560039283018054808801825590885285882001805473ffffffffffffffffffffffffffffffffffffffff1990811684179091559187526002808652848820898952808801875294882080549092169091558452910180549384018155845292200180549091169091179055565b3360009081526001602052604090205460609060ff166109185760405162461bcd60e51b815260206004820152601f60248201527f596f752068617665206e6f74206d61646520616e792072657175657374732e006044820152606401610151565b3360009081526001602052604081206002015467ffffffffffffffff81111561094357610943610ab2565b60405190808252806020026020018201604052801561096c578160200160208202803683370190505b50905060005b336000908152600160205260409020600201548110156106f1573360009081526001602052604081206002018054839081106109b0576109b0610ac8565b6000918252602080832090910154338352600180835260408085206001600160a01b039093168086529290910190925291205490915060ff1615610a225780838381518110610a0157610a01610ac8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5080610a2d81610ade565b915050610972565b6020808252825182820181905260009190848201906040850190845b81811015610a765783516001600160a01b031683529284019291840191600101610a51565b50909695505050505050565b600060208284031215610a9457600080fd5b81356001600160a01b0381168114610aab57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610afe57634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212209a379e932a0422fee0523f77aa6391e9b6e4b4ec8d5d88aec43f957a839ee49064736f6c63430008110033"; - -type PatientProviderConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: PatientProviderConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class PatientProvider__factory extends ContractFactory { - constructor(...args: PatientProviderConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): PatientProvider { - return super.attach(address) as PatientProvider; - } - override connect(signer: Signer): PatientProvider__factory { - return super.connect(signer) as PatientProvider__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): PatientProviderInterface { - return new utils.Interface(_abi) as PatientProviderInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): PatientProvider { - return new Contract(address, _abi, signerOrProvider) as PatientProvider; - } -} diff --git a/client/src/contracts/factories/index.ts b/client/src/contracts/factories/index.ts deleted file mode 100644 index 9b93b44..0000000 --- a/client/src/contracts/factories/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { HealthBlock__factory } from "./HealthBlock__factory"; -export { PatientProvider__factory } from "./PatientProvider__factory"; diff --git a/client/src/contracts/index.ts b/client/src/contracts/index.ts deleted file mode 100644 index 4122da1..0000000 --- a/client/src/contracts/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { HealthBlock } from "./HealthBlock"; -export type { PatientProvider } from "./PatientProvider"; -export * as factories from "./factories"; -export { HealthBlock__factory } from "./factories/HealthBlock__factory"; -export { PatientProvider__factory } from "./factories/PatientProvider__factory"; diff --git a/sample-doc1V-HYX23_ihDLTUPtzNudm.dat b/sample-doc1V-HYX23_ihDLTUPtzNudm.dat deleted file mode 100644 index 6385db7..0000000 --- a/sample-doc1V-HYX23_ihDLTUPtzNudm.dat +++ /dev/null @@ -1 +0,0 @@ -ýJí›$ÀUÔ{N?©bÚa|ÓÛE]K¹O³• \ No newline at end of file From 7747282b862f85fcd36bdc26540e2160ccb00303 Mon Sep 17 00:00:00 2001 From: Shruthi23 Date: Thu, 18 May 2023 20:51:23 -0700 Subject: [PATCH 3/3] regenerated ts files --- client/src/contracts/HealthBlock.ts | 1702 +++++++++++++++++ client/src/contracts/PatientProvider.ts | 266 +++ client/src/contracts/common.ts | 46 + .../factories/HealthBlock__factory.ts | 1206 ++++++++++++ .../factories/PatientProvider__factory.ts | 159 ++ client/src/contracts/factories/index.ts | 5 + client/src/contracts/index.ts | 8 + 7 files changed, 3392 insertions(+) create mode 100644 client/src/contracts/HealthBlock.ts create mode 100644 client/src/contracts/PatientProvider.ts create mode 100644 client/src/contracts/common.ts create mode 100644 client/src/contracts/factories/HealthBlock__factory.ts create mode 100644 client/src/contracts/factories/PatientProvider__factory.ts create mode 100644 client/src/contracts/factories/index.ts create mode 100644 client/src/contracts/index.ts diff --git a/client/src/contracts/HealthBlock.ts b/client/src/contracts/HealthBlock.ts new file mode 100644 index 0000000..66a77ea --- /dev/null +++ b/client/src/contracts/HealthBlock.ts @@ -0,0 +1,1702 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "./common"; + +export declare namespace HealthBlock { + export type MedicalRecordRequestStruct = { + requestId: PromiseOrValue; + patientAddress: PromiseOrValue; + doctorAddress: PromiseOrValue; + docEmail: PromiseOrValue; + patientName: PromiseOrValue; + patientEmail: PromiseOrValue; + status: PromiseOrValue; + }; + + export type MedicalRecordRequestStructOutput = [ + string, + string, + string, + string, + string, + string, + string + ] & { + requestId: string; + patientAddress: string; + doctorAddress: string; + docEmail: string; + patientName: string; + patientEmail: string; + status: string; + }; + + export type RequestStruct = { + doctor: PromiseOrValue; + doctorName: PromiseOrValue; + fileName: PromiseOrValue; + status: PromiseOrValue; + }; + + export type RequestStructOutput = [string, string, string, string] & { + doctor: string; + doctorName: string; + fileName: string; + status: string; + }; + + export type HcproviderStruct = { + name: PromiseOrValue; + email: PromiseOrValue; + providerAddress: PromiseOrValue; + phone: PromiseOrValue; + id: PromiseOrValue; + }; + + export type HcproviderStructOutput = [ + string, + string, + string, + string, + string + ] & { + name: string; + email: string; + providerAddress: string; + phone: string; + id: string; + }; + + export type DoctorStruct = { + name: PromiseOrValue; + age: PromiseOrValue; + email: PromiseOrValue; + specialization: PromiseOrValue; + id: PromiseOrValue; + }; + + export type DoctorStructOutput = [string, number, string, string, string] & { + name: string; + age: number; + email: string; + specialization: string; + id: string; + }; + + export type DoctorToProviderRequestStruct = { + doctorName: PromiseOrValue; + doctorAddr: PromiseOrValue; + status: PromiseOrValue; + }; + + export type DoctorToProviderRequestStructOutput = [string, string, string] & { + doctorName: string; + doctorAddr: string; + status: string; + }; +} + +export interface HealthBlockInterface extends utils.Interface { + functions: { + "doctors(address)": FunctionFragment; + "hcproviders(address)": FunctionFragment; + "patients(address)": FunctionFragment; + "providerList(uint256)": FunctionFragment; + "providerToDoctorRequests(address,uint256)": FunctionFragment; + "providerToDoctors(address,uint256)": FunctionFragment; + "recordRequests(address,uint256)": FunctionFragment; + "requestMedicalRecord(string,address,string,string)": FunctionFragment; + "approveMedicalRecordsRequest(string)": FunctionFragment; + "rejectMedicalRecordsRequest(string)": FunctionFragment; + "getPatientRequests(address)": FunctionFragment; + "raiseRequest(string,string,address)": FunctionFragment; + "getRequests(address)": FunctionFragment; + "rejectRequest(uint256,address)": FunctionFragment; + "approveRequest(uint256,address)": FunctionFragment; + "getPatientInfo()": FunctionFragment; + "getPatientInfoAll(address)": FunctionFragment; + "registerPatient(string,uint8,string)": FunctionFragment; + "getDoctorInfo()": FunctionFragment; + "getDoctorInfoAll(address)": FunctionFragment; + "registerDoctor(string,uint8,string,string)": FunctionFragment; + "getAllProviders()": FunctionFragment; + "getHCProviderInfo()": FunctionFragment; + "getHCProviderInfoAll(address)": FunctionFragment; + "registerHCProvider(string,string,string,string)": FunctionFragment; + "getAllDoctorsForProvider(address)": FunctionFragment; + "mapDoctorToProvider(address,address)": FunctionFragment; + "declineDoctorToProviderRequest(address,address)": FunctionFragment; + "raiseDoctorToProviderRequest(address,address,string)": FunctionFragment; + "getAllDoctorToProviderRequests(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "doctors" + | "hcproviders" + | "patients" + | "providerList" + | "providerToDoctorRequests" + | "providerToDoctors" + | "recordRequests" + | "requestMedicalRecord" + | "approveMedicalRecordsRequest" + | "rejectMedicalRecordsRequest" + | "getPatientRequests" + | "raiseRequest" + | "getRequests" + | "rejectRequest" + | "approveRequest" + | "getPatientInfo" + | "getPatientInfoAll" + | "registerPatient" + | "getDoctorInfo" + | "getDoctorInfoAll" + | "registerDoctor" + | "getAllProviders" + | "getHCProviderInfo" + | "getHCProviderInfoAll" + | "registerHCProvider" + | "getAllDoctorsForProvider" + | "mapDoctorToProvider" + | "declineDoctorToProviderRequest" + | "raiseDoctorToProviderRequest" + | "getAllDoctorToProviderRequests" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "doctors", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hcproviders", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "patients", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "providerList", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "providerToDoctorRequests", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "providerToDoctors", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "recordRequests", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "requestMedicalRecord", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "approveMedicalRecordsRequest", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "rejectMedicalRecordsRequest", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPatientRequests", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "raiseRequest", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getRequests", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "rejectRequest", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approveRequest", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPatientInfo", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPatientInfoAll", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "registerPatient", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getDoctorInfo", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getDoctorInfoAll", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "registerDoctor", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getAllProviders", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getHCProviderInfo", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getHCProviderInfoAll", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "registerHCProvider", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getAllDoctorsForProvider", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mapDoctorToProvider", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "declineDoctorToProviderRequest", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "raiseDoctorToProviderRequest", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getAllDoctorToProviderRequests", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "doctors", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hcproviders", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "patients", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "providerList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "providerToDoctorRequests", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "providerToDoctors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "recordRequests", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "requestMedicalRecord", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "approveMedicalRecordsRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rejectMedicalRecordsRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPatientRequests", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "raiseRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRequests", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rejectRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "approveRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPatientInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPatientInfoAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "registerPatient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDoctorInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDoctorInfoAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "registerDoctor", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAllProviders", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getHCProviderInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getHCProviderInfoAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "registerHCProvider", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAllDoctorsForProvider", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "mapDoctorToProvider", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "declineDoctorToProviderRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "raiseDoctorToProviderRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAllDoctorToProviderRequests", + data: BytesLike + ): Result; + + events: { + "DoctorRequestRaised(address,string,string)": EventFragment; + "MedicalRecordRequestApproved(address,address,string)": EventFragment; + "MedicalRecordRequestCreated(address,address,string)": EventFragment; + "MedicalRecordRequestRejected(address,address,string)": EventFragment; + "NDoctor(address,string)": EventFragment; + "NHCProvider(address,string)": EventFragment; + "NPatient(address,string)": EventFragment; + "RequestApproved(address,address,uint256)": EventFragment; + "RequestRejected(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DoctorRequestRaised"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "MedicalRecordRequestApproved" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "MedicalRecordRequestCreated" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "MedicalRecordRequestRejected" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "NDoctor"): EventFragment; + getEvent(nameOrSignatureOrTopic: "NHCProvider"): EventFragment; + getEvent(nameOrSignatureOrTopic: "NPatient"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RequestApproved"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RequestRejected"): EventFragment; +} + +export interface DoctorRequestRaisedEventObject { + doctor: string; + doctorName: string; + credentialsHash: string; +} +export type DoctorRequestRaisedEvent = TypedEvent< + [string, string, string], + DoctorRequestRaisedEventObject +>; + +export type DoctorRequestRaisedEventFilter = + TypedEventFilter; + +export interface MedicalRecordRequestApprovedEventObject { + doctorAddress: string; + patientAddress: string; + requestId: string; +} +export type MedicalRecordRequestApprovedEvent = TypedEvent< + [string, string, string], + MedicalRecordRequestApprovedEventObject +>; + +export type MedicalRecordRequestApprovedEventFilter = + TypedEventFilter; + +export interface MedicalRecordRequestCreatedEventObject { + doctorAddress: string; + patientAddress: string; + requestId: string; +} +export type MedicalRecordRequestCreatedEvent = TypedEvent< + [string, string, string], + MedicalRecordRequestCreatedEventObject +>; + +export type MedicalRecordRequestCreatedEventFilter = + TypedEventFilter; + +export interface MedicalRecordRequestRejectedEventObject { + doctorAddress: string; + patientAddress: string; + requestId: string; +} +export type MedicalRecordRequestRejectedEvent = TypedEvent< + [string, string, string], + MedicalRecordRequestRejectedEventObject +>; + +export type MedicalRecordRequestRejectedEventFilter = + TypedEventFilter; + +export interface NDoctorEventObject { + _from: string; + _name: string; +} +export type NDoctorEvent = TypedEvent<[string, string], NDoctorEventObject>; + +export type NDoctorEventFilter = TypedEventFilter; + +export interface NHCProviderEventObject { + _from: string; + _name: string; +} +export type NHCProviderEvent = TypedEvent< + [string, string], + NHCProviderEventObject +>; + +export type NHCProviderEventFilter = TypedEventFilter; + +export interface NPatientEventObject { + _from: string; + _name: string; +} +export type NPatientEvent = TypedEvent<[string, string], NPatientEventObject>; + +export type NPatientEventFilter = TypedEventFilter; + +export interface RequestApprovedEventObject { + doctor: string; + provider: string; + requestId: BigNumber; +} +export type RequestApprovedEvent = TypedEvent< + [string, string, BigNumber], + RequestApprovedEventObject +>; + +export type RequestApprovedEventFilter = TypedEventFilter; + +export interface RequestRejectedEventObject { + doctor: string; + provider: string; + requestId: BigNumber; +} +export type RequestRejectedEvent = TypedEvent< + [string, string, BigNumber], + RequestRejectedEventObject +>; + +export type RequestRejectedEventFilter = TypedEventFilter; + +export interface HealthBlock extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: HealthBlockInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + doctors( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string, string] & { + name: string; + age: number; + email: string; + specialization: string; + id: string; + } + >; + + hcproviders( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string] & { + name: string; + email: string; + providerAddress: string; + phone: string; + id: string; + } + >; + + patients( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string] & { + name: string; + age: number; + email: string; + id: string; + } + >; + + providerList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string] & { + name: string; + email: string; + providerAddress: string; + phone: string; + id: string; + } + >; + + providerToDoctorRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string] & { + doctorName: string; + doctorAddr: string; + status: string; + } + >; + + providerToDoctors( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string, string] & { + name: string; + age: number; + email: string; + specialization: string; + id: string; + } + >; + + recordRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string, string, string] & { + requestId: string; + patientAddress: string; + doctorAddress: string; + docEmail: string; + patientName: string; + patientEmail: string; + status: string; + } + >; + + requestMedicalRecord( + docEmail: PromiseOrValue, + patientAddress: PromiseOrValue, + patientName: PromiseOrValue, + patientEmail: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests( + patientAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[HealthBlock.MedicalRecordRequestStructOutput[]]>; + + raiseRequest( + doctorName: PromiseOrValue, + fileName: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getRequests( + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[HealthBlock.RequestStructOutput[]]>; + + rejectRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientInfo( + overrides?: CallOverrides + ): Promise<[string, number, string]>; + + getPatientInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, number, string]>; + + registerPatient( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDoctorInfo( + overrides?: CallOverrides + ): Promise<[string, number, string, string]>; + + getDoctorInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, number, string, string]>; + + registerDoctor( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + _specialization: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllProviders( + overrides?: CallOverrides + ): Promise<[HealthBlock.HcproviderStructOutput[]]>; + + getHCProviderInfo( + overrides?: CallOverrides + ): Promise<[string, string, string, string, string]>; + + getHCProviderInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, string, string, string]>; + + registerHCProvider( + _name: PromiseOrValue, + _email: PromiseOrValue, + _address: PromiseOrValue, + _phone: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorsForProvider( + providerAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[HealthBlock.DoctorStructOutput[]]>; + + mapDoctorToProvider( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + declineDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + raiseDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + doctorName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorToProviderRequests( + _hcaddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[HealthBlock.DoctorToProviderRequestStructOutput[]]>; + }; + + doctors( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string, string] & { + name: string; + age: number; + email: string; + specialization: string; + id: string; + } + >; + + hcproviders( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string] & { + name: string; + email: string; + providerAddress: string; + phone: string; + id: string; + } + >; + + patients( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string] & { + name: string; + age: number; + email: string; + id: string; + } + >; + + providerList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string] & { + name: string; + email: string; + providerAddress: string; + phone: string; + id: string; + } + >; + + providerToDoctorRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string] & { + doctorName: string; + doctorAddr: string; + status: string; + } + >; + + providerToDoctors( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string, string] & { + name: string; + age: number; + email: string; + specialization: string; + id: string; + } + >; + + recordRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string, string, string] & { + requestId: string; + patientAddress: string; + doctorAddress: string; + docEmail: string; + patientName: string; + patientEmail: string; + status: string; + } + >; + + requestMedicalRecord( + docEmail: PromiseOrValue, + patientAddress: PromiseOrValue, + patientName: PromiseOrValue, + patientEmail: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests( + patientAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + raiseRequest( + doctorName: PromiseOrValue, + fileName: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getRequests( + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + rejectRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientInfo(overrides?: CallOverrides): Promise<[string, number, string]>; + + getPatientInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, number, string]>; + + registerPatient( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDoctorInfo( + overrides?: CallOverrides + ): Promise<[string, number, string, string]>; + + getDoctorInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, number, string, string]>; + + registerDoctor( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + _specialization: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllProviders( + overrides?: CallOverrides + ): Promise; + + getHCProviderInfo( + overrides?: CallOverrides + ): Promise<[string, string, string, string, string]>; + + getHCProviderInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, string, string, string]>; + + registerHCProvider( + _name: PromiseOrValue, + _email: PromiseOrValue, + _address: PromiseOrValue, + _phone: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorsForProvider( + providerAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mapDoctorToProvider( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + declineDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + raiseDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + doctorName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorToProviderRequests( + _hcaddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + doctors( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string, string] & { + name: string; + age: number; + email: string; + specialization: string; + id: string; + } + >; + + hcproviders( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string] & { + name: string; + email: string; + providerAddress: string; + phone: string; + id: string; + } + >; + + patients( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string] & { + name: string; + age: number; + email: string; + id: string; + } + >; + + providerList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string] & { + name: string; + email: string; + providerAddress: string; + phone: string; + id: string; + } + >; + + providerToDoctorRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string] & { + doctorName: string; + doctorAddr: string; + status: string; + } + >; + + providerToDoctors( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, number, string, string, string] & { + name: string; + age: number; + email: string; + specialization: string; + id: string; + } + >; + + recordRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [string, string, string, string, string, string, string] & { + requestId: string; + patientAddress: string; + doctorAddress: string; + docEmail: string; + patientName: string; + patientEmail: string; + status: string; + } + >; + + requestMedicalRecord( + docEmail: PromiseOrValue, + patientAddress: PromiseOrValue, + patientName: PromiseOrValue, + patientEmail: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approveMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + rejectMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPatientRequests( + patientAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + raiseRequest( + doctorName: PromiseOrValue, + fileName: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRequests( + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + rejectRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approveRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPatientInfo( + overrides?: CallOverrides + ): Promise<[string, number, string]>; + + getPatientInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, number, string]>; + + registerPatient( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDoctorInfo( + overrides?: CallOverrides + ): Promise<[string, number, string, string]>; + + getDoctorInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, number, string, string]>; + + registerDoctor( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + _specialization: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAllProviders( + overrides?: CallOverrides + ): Promise; + + getHCProviderInfo( + overrides?: CallOverrides + ): Promise<[string, string, string, string, string]>; + + getHCProviderInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string, string, string, string]>; + + registerHCProvider( + _name: PromiseOrValue, + _email: PromiseOrValue, + _address: PromiseOrValue, + _phone: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAllDoctorsForProvider( + providerAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mapDoctorToProvider( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + declineDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + raiseDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + doctorName: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAllDoctorToProviderRequests( + _hcaddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DoctorRequestRaised(address,string,string)"( + doctor?: PromiseOrValue | null, + doctorName?: PromiseOrValue | null, + credentialsHash?: null + ): DoctorRequestRaisedEventFilter; + DoctorRequestRaised( + doctor?: PromiseOrValue | null, + doctorName?: PromiseOrValue | null, + credentialsHash?: null + ): DoctorRequestRaisedEventFilter; + + "MedicalRecordRequestApproved(address,address,string)"( + doctorAddress?: PromiseOrValue | null, + patientAddress?: PromiseOrValue | null, + requestId?: null + ): MedicalRecordRequestApprovedEventFilter; + MedicalRecordRequestApproved( + doctorAddress?: PromiseOrValue | null, + patientAddress?: PromiseOrValue | null, + requestId?: null + ): MedicalRecordRequestApprovedEventFilter; + + "MedicalRecordRequestCreated(address,address,string)"( + doctorAddress?: PromiseOrValue | null, + patientAddress?: PromiseOrValue | null, + requestId?: null + ): MedicalRecordRequestCreatedEventFilter; + MedicalRecordRequestCreated( + doctorAddress?: PromiseOrValue | null, + patientAddress?: PromiseOrValue | null, + requestId?: null + ): MedicalRecordRequestCreatedEventFilter; + + "MedicalRecordRequestRejected(address,address,string)"( + doctorAddress?: PromiseOrValue | null, + patientAddress?: PromiseOrValue | null, + requestId?: null + ): MedicalRecordRequestRejectedEventFilter; + MedicalRecordRequestRejected( + doctorAddress?: PromiseOrValue | null, + patientAddress?: PromiseOrValue | null, + requestId?: null + ): MedicalRecordRequestRejectedEventFilter; + + "NDoctor(address,string)"( + _from?: PromiseOrValue | null, + _name?: PromiseOrValue | null + ): NDoctorEventFilter; + NDoctor( + _from?: PromiseOrValue | null, + _name?: PromiseOrValue | null + ): NDoctorEventFilter; + + "NHCProvider(address,string)"( + _from?: PromiseOrValue | null, + _name?: PromiseOrValue | null + ): NHCProviderEventFilter; + NHCProvider( + _from?: PromiseOrValue | null, + _name?: PromiseOrValue | null + ): NHCProviderEventFilter; + + "NPatient(address,string)"( + _from?: PromiseOrValue | null, + _name?: PromiseOrValue | null + ): NPatientEventFilter; + NPatient( + _from?: PromiseOrValue | null, + _name?: PromiseOrValue | null + ): NPatientEventFilter; + + "RequestApproved(address,address,uint256)"( + doctor?: PromiseOrValue | null, + provider?: PromiseOrValue | null, + requestId?: PromiseOrValue | null + ): RequestApprovedEventFilter; + RequestApproved( + doctor?: PromiseOrValue | null, + provider?: PromiseOrValue | null, + requestId?: PromiseOrValue | null + ): RequestApprovedEventFilter; + + "RequestRejected(address,address,uint256)"( + doctor?: PromiseOrValue | null, + provider?: PromiseOrValue | null, + requestId?: PromiseOrValue | null + ): RequestRejectedEventFilter; + RequestRejected( + doctor?: PromiseOrValue | null, + provider?: PromiseOrValue | null, + requestId?: PromiseOrValue | null + ): RequestRejectedEventFilter; + }; + + estimateGas: { + doctors( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hcproviders( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + patients( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + providerList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + providerToDoctorRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + providerToDoctors( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + recordRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + requestMedicalRecord( + docEmail: PromiseOrValue, + patientAddress: PromiseOrValue, + patientName: PromiseOrValue, + patientEmail: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests( + patientAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + raiseRequest( + doctorName: PromiseOrValue, + fileName: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getRequests( + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + rejectRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientInfo(overrides?: CallOverrides): Promise; + + getPatientInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerPatient( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDoctorInfo(overrides?: CallOverrides): Promise; + + getDoctorInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerDoctor( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + _specialization: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllProviders(overrides?: CallOverrides): Promise; + + getHCProviderInfo(overrides?: CallOverrides): Promise; + + getHCProviderInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerHCProvider( + _name: PromiseOrValue, + _email: PromiseOrValue, + _address: PromiseOrValue, + _phone: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorsForProvider( + providerAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mapDoctorToProvider( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + declineDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + raiseDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + doctorName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorToProviderRequests( + _hcaddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + doctors( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hcproviders( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + patients( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + providerList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + providerToDoctorRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + providerToDoctors( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + recordRequests( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + requestMedicalRecord( + docEmail: PromiseOrValue, + patientAddress: PromiseOrValue, + patientName: PromiseOrValue, + patientEmail: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectMedicalRecordsRequest( + requestId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests( + patientAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + raiseRequest( + doctorName: PromiseOrValue, + fileName: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getRequests( + hcpAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + rejectRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approveRequest( + requestId: PromiseOrValue, + hcpAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientInfo(overrides?: CallOverrides): Promise; + + getPatientInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerPatient( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDoctorInfo(overrides?: CallOverrides): Promise; + + getDoctorInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerDoctor( + _name: PromiseOrValue, + _age: PromiseOrValue, + _email: PromiseOrValue, + _specialization: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllProviders(overrides?: CallOverrides): Promise; + + getHCProviderInfo(overrides?: CallOverrides): Promise; + + getHCProviderInfoAll( + _address: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerHCProvider( + _name: PromiseOrValue, + _email: PromiseOrValue, + _address: PromiseOrValue, + _phone: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorsForProvider( + providerAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mapDoctorToProvider( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + declineDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + raiseDoctorToProviderRequest( + _providerAddress: PromiseOrValue, + _doctorAddress: PromiseOrValue, + doctorName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAllDoctorToProviderRequests( + _hcaddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/client/src/contracts/PatientProvider.ts b/client/src/contracts/PatientProvider.ts new file mode 100644 index 0000000..fe37d4a --- /dev/null +++ b/client/src/contracts/PatientProvider.ts @@ -0,0 +1,266 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "./common"; + +export interface PatientProviderInterface extends utils.Interface { + functions: { + "requestProvider(address)": FunctionFragment; + "approvePatientProviderRequest(address)": FunctionFragment; + "rejectPatientProviderRequest(address)": FunctionFragment; + "getPatientRequests()": FunctionFragment; + "getProviderRequests()": FunctionFragment; + "getPatientProviders()": FunctionFragment; + "getProviderPatients()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "requestProvider" + | "approvePatientProviderRequest" + | "rejectPatientProviderRequest" + | "getPatientRequests" + | "getProviderRequests" + | "getPatientProviders" + | "getProviderPatients" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "requestProvider", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approvePatientProviderRequest", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "rejectPatientProviderRequest", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPatientRequests", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getProviderRequests", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPatientProviders", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getProviderPatients", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "requestProvider", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "approvePatientProviderRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rejectPatientProviderRequest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPatientRequests", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getProviderRequests", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPatientProviders", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getProviderPatients", + data: BytesLike + ): Result; + + events: {}; +} + +export interface PatientProvider extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: PatientProviderInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + requestProvider( + _provider: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approvePatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectPatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests(overrides?: CallOverrides): Promise<[string[]]>; + + getProviderRequests(overrides?: CallOverrides): Promise<[string[]]>; + + getPatientProviders(overrides?: CallOverrides): Promise<[string[]]>; + + getProviderPatients(overrides?: CallOverrides): Promise<[string[]]>; + }; + + requestProvider( + _provider: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approvePatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectPatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests(overrides?: CallOverrides): Promise; + + getProviderRequests(overrides?: CallOverrides): Promise; + + getPatientProviders(overrides?: CallOverrides): Promise; + + getProviderPatients(overrides?: CallOverrides): Promise; + + callStatic: { + requestProvider( + _provider: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approvePatientProviderRequest( + _patient: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + rejectPatientProviderRequest( + _patient: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPatientRequests(overrides?: CallOverrides): Promise; + + getProviderRequests(overrides?: CallOverrides): Promise; + + getPatientProviders(overrides?: CallOverrides): Promise; + + getProviderPatients(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + requestProvider( + _provider: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approvePatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectPatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests(overrides?: CallOverrides): Promise; + + getProviderRequests(overrides?: CallOverrides): Promise; + + getPatientProviders(overrides?: CallOverrides): Promise; + + getProviderPatients(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + requestProvider( + _provider: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + approvePatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rejectPatientProviderRequest( + _patient: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPatientRequests( + overrides?: CallOverrides + ): Promise; + + getProviderRequests( + overrides?: CallOverrides + ): Promise; + + getPatientProviders( + overrides?: CallOverrides + ): Promise; + + getProviderPatients( + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/client/src/contracts/common.ts b/client/src/contracts/common.ts new file mode 100644 index 0000000..4c90b08 --- /dev/null +++ b/client/src/contracts/common.ts @@ -0,0 +1,46 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { Listener } from "@ethersproject/providers"; +import type { Event, EventFilter } from "ethers"; + +export interface TypedEvent< + TArgsArray extends Array = any, + TArgsObject = any +> extends Event { + args: TArgsArray & TArgsObject; +} + +export interface TypedEventFilter<_TEvent extends TypedEvent> + extends EventFilter {} + +export interface TypedListener { + (...listenerArg: [...__TypechainArgsArray, TEvent]): void; +} + +type __TypechainArgsArray = T extends TypedEvent ? U : never; + +export interface OnEvent { + ( + eventFilter: TypedEventFilter, + listener: TypedListener + ): TRes; + (eventName: string, listener: Listener): TRes; +} + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? C + : never; + +export type GetARGsTypeFromFactory = F extends MinEthersFactory + ? Parameters + : never; + +export type PromiseOrValue = T | Promise; diff --git a/client/src/contracts/factories/HealthBlock__factory.ts b/client/src/contracts/factories/HealthBlock__factory.ts new file mode 100644 index 0000000..ab4648c --- /dev/null +++ b/client/src/contracts/factories/HealthBlock__factory.ts @@ -0,0 +1,1206 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../common"; +import type { HealthBlock, HealthBlockInterface } from "../HealthBlock"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "doctor", + type: "address", + }, + { + indexed: true, + internalType: "string", + name: "doctorName", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "credentialsHash", + type: "string", + }, + ], + name: "DoctorRequestRaised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "doctorAddress", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "patientAddress", + type: "address", + }, + { + indexed: false, + internalType: "string", + name: "requestId", + type: "string", + }, + ], + name: "MedicalRecordRequestApproved", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "doctorAddress", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "patientAddress", + type: "address", + }, + { + indexed: false, + internalType: "string", + name: "requestId", + type: "string", + }, + ], + name: "MedicalRecordRequestCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "doctorAddress", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "patientAddress", + type: "address", + }, + { + indexed: false, + internalType: "string", + name: "requestId", + type: "string", + }, + ], + name: "MedicalRecordRequestRejected", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address", + }, + { + indexed: true, + internalType: "string", + name: "_name", + type: "string", + }, + ], + name: "NDoctor", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address", + }, + { + indexed: true, + internalType: "string", + name: "_name", + type: "string", + }, + ], + name: "NHCProvider", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_from", + type: "address", + }, + { + indexed: true, + internalType: "string", + name: "_name", + type: "string", + }, + ], + name: "NPatient", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "doctor", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "provider", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "requestId", + type: "uint256", + }, + ], + name: "RequestApproved", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "doctor", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "provider", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "requestId", + type: "uint256", + }, + ], + name: "RequestRejected", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "doctors", + outputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "uint8", + name: "age", + type: "uint8", + }, + { + internalType: "string", + name: "email", + type: "string", + }, + { + internalType: "string", + name: "specialization", + type: "string", + }, + { + internalType: "address", + name: "id", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "hcproviders", + outputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "email", + type: "string", + }, + { + internalType: "string", + name: "providerAddress", + type: "string", + }, + { + internalType: "string", + name: "phone", + type: "string", + }, + { + internalType: "address", + name: "id", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "patients", + outputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "uint8", + name: "age", + type: "uint8", + }, + { + internalType: "string", + name: "email", + type: "string", + }, + { + internalType: "address", + name: "id", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "providerList", + outputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "email", + type: "string", + }, + { + internalType: "string", + name: "providerAddress", + type: "string", + }, + { + internalType: "string", + name: "phone", + type: "string", + }, + { + internalType: "address", + name: "id", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "providerToDoctorRequests", + outputs: [ + { + internalType: "string", + name: "doctorName", + type: "string", + }, + { + internalType: "address", + name: "doctorAddr", + type: "address", + }, + { + internalType: "string", + name: "status", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "providerToDoctors", + outputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "uint8", + name: "age", + type: "uint8", + }, + { + internalType: "string", + name: "email", + type: "string", + }, + { + internalType: "string", + name: "specialization", + type: "string", + }, + { + internalType: "address", + name: "id", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "recordRequests", + outputs: [ + { + internalType: "string", + name: "requestId", + type: "string", + }, + { + internalType: "address", + name: "patientAddress", + type: "address", + }, + { + internalType: "address", + name: "doctorAddress", + type: "address", + }, + { + internalType: "string", + name: "docEmail", + type: "string", + }, + { + internalType: "string", + name: "patientName", + type: "string", + }, + { + internalType: "string", + name: "patientEmail", + type: "string", + }, + { + internalType: "string", + name: "status", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "docEmail", + type: "string", + }, + { + internalType: "address", + name: "patientAddress", + type: "address", + }, + { + internalType: "string", + name: "patientName", + type: "string", + }, + { + internalType: "string", + name: "patientEmail", + type: "string", + }, + ], + name: "requestMedicalRecord", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "requestId", + type: "string", + }, + ], + name: "approveMedicalRecordsRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "requestId", + type: "string", + }, + ], + name: "rejectMedicalRecordsRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "patientAddress", + type: "address", + }, + ], + name: "getPatientRequests", + outputs: [ + { + components: [ + { + internalType: "string", + name: "requestId", + type: "string", + }, + { + internalType: "address", + name: "patientAddress", + type: "address", + }, + { + internalType: "address", + name: "doctorAddress", + type: "address", + }, + { + internalType: "string", + name: "docEmail", + type: "string", + }, + { + internalType: "string", + name: "patientName", + type: "string", + }, + { + internalType: "string", + name: "patientEmail", + type: "string", + }, + { + internalType: "string", + name: "status", + type: "string", + }, + ], + internalType: "struct HealthBlock.MedicalRecordRequest[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "doctorName", + type: "string", + }, + { + internalType: "string", + name: "fileName", + type: "string", + }, + { + internalType: "address", + name: "hcpAddress", + type: "address", + }, + ], + name: "raiseRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "hcpAddress", + type: "address", + }, + ], + name: "getRequests", + outputs: [ + { + components: [ + { + internalType: "address", + name: "doctor", + type: "address", + }, + { + internalType: "string", + name: "doctorName", + type: "string", + }, + { + internalType: "string", + name: "fileName", + type: "string", + }, + { + internalType: "string", + name: "status", + type: "string", + }, + ], + internalType: "struct HealthBlock.Request[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "requestId", + type: "uint256", + }, + { + internalType: "address", + name: "hcpAddress", + type: "address", + }, + ], + name: "rejectRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "requestId", + type: "uint256", + }, + { + internalType: "address", + name: "hcpAddress", + type: "address", + }, + ], + name: "approveRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getPatientInfo", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "uint8", + name: "", + type: "uint8", + }, + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_address", + type: "address", + }, + ], + name: "getPatientInfoAll", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "uint8", + name: "", + type: "uint8", + }, + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "uint8", + name: "_age", + type: "uint8", + }, + { + internalType: "string", + name: "_email", + type: "string", + }, + ], + name: "registerPatient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getDoctorInfo", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "uint8", + name: "", + type: "uint8", + }, + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_address", + type: "address", + }, + ], + name: "getDoctorInfoAll", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "uint8", + name: "", + type: "uint8", + }, + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "uint8", + name: "_age", + type: "uint8", + }, + { + internalType: "string", + name: "_email", + type: "string", + }, + { + internalType: "string", + name: "_specialization", + type: "string", + }, + ], + name: "registerDoctor", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getAllProviders", + outputs: [ + { + components: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "email", + type: "string", + }, + { + internalType: "string", + name: "providerAddress", + type: "string", + }, + { + internalType: "string", + name: "phone", + type: "string", + }, + { + internalType: "address", + name: "id", + type: "address", + }, + ], + internalType: "struct HealthBlock.hcprovider[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getHCProviderInfo", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_address", + type: "address", + }, + ], + name: "getHCProviderInfoAll", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_email", + type: "string", + }, + { + internalType: "string", + name: "_address", + type: "string", + }, + { + internalType: "string", + name: "_phone", + type: "string", + }, + ], + name: "registerHCProvider", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "providerAddress", + type: "address", + }, + ], + name: "getAllDoctorsForProvider", + outputs: [ + { + components: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "uint8", + name: "age", + type: "uint8", + }, + { + internalType: "string", + name: "email", + type: "string", + }, + { + internalType: "string", + name: "specialization", + type: "string", + }, + { + internalType: "address", + name: "id", + type: "address", + }, + ], + internalType: "struct HealthBlock.doctor[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_providerAddress", + type: "address", + }, + { + internalType: "address", + name: "_doctorAddress", + type: "address", + }, + ], + name: "mapDoctorToProvider", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_providerAddress", + type: "address", + }, + { + internalType: "address", + name: "_doctorAddress", + type: "address", + }, + ], + name: "declineDoctorToProviderRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_providerAddress", + type: "address", + }, + { + internalType: "address", + name: "_doctorAddress", + type: "address", + }, + { + internalType: "string", + name: "doctorName", + type: "string", + }, + ], + name: "raiseDoctorToProviderRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_hcaddress", + type: "address", + }, + ], + name: "getAllDoctorToProviderRequests", + outputs: [ + { + components: [ + { + internalType: "string", + name: "doctorName", + type: "string", + }, + { + internalType: "address", + name: "doctorAddr", + type: "address", + }, + { + internalType: "string", + name: "status", + type: "string", + }, + ], + internalType: "struct HealthBlock.DoctorToProviderRequest[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055614759806100326000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637decccbf11610104578063a9b467ee116100a2578063bc4fe40211610071578063bc4fe40214610451578063c5b0aab014610464578063cc06370614610487578063e1e36ab9146104a957600080fd5b8063a9b467ee14610400578063b2d258ff14610413578063b380f5c614610426578063bc045df81461043e57600080fd5b8063939686dc116100de578063939686dc146103b4578063959a95f7146103c7578063a89b1c94146103da578063a9583c22146103ed57600080fd5b80637decccbf1461036c578063804e44f31461038c578063916922c4146103ac57600080fd5b8063390bfd3c1161017c5780636d36f7be1161014b5780636d36f7be1461030f57806372e6f1f114610333578063732d501614610346578063774d3df51461035957600080fd5b8063390bfd3c146102b45780633bb4497c146102c757806343e13f85146102dc5780635df122e1146102ef57600080fd5b8063139f0984116101b8578063139f09841461024f5780631c29720514610264578063204d280614610277578063326df6641461029d57600080fd5b80630869cfbc146101df5780630df9f4b81461020b57806310b500cc1461022f575b600080fd5b6101f26101ed366004613920565b6104bc565b6040516102029493929190613992565b60405180910390f35b61021e610219366004613920565b610606565b6040516102029594939291906139db565b61024261023d366004613920565b61085d565b6040516102029190613a44565b61026261025d366004613ade565b610a0d565b005b610262610272366004613bc5565b610de4565b61028a610285366004613c39565b610f65565b6040516102029796959493929190613c63565b6102a561127e565b60405161020293929190613ce9565b61021e6102c2366004613d21565b6113f1565b6102cf611424565b6040516102029190613d3a565b6102626102ea366004613dfc565b6116e1565b6103026102fd366004613920565b611885565b6040516102029190613e95565b61032261031d366004613c39565b611acc565b604051610202959493929190613f4a565b610262610341366004613f78565b611ba9565b610262610354366004613fec565b611cc5565b610262610367366004614029565b611dc0565b61037f61037a366004613920565b611ef0565b604051610202919061404c565b61039f61039a366004613920565b612258565b6040516102029190614145565b61021e612509565b6102626103c23660046141ec565b6127b1565b6102626103d5366004613fec565b61286b565b6102626103e8366004613ade565b612959565b6103226103fb366004613920565b612a6c565b6102a561040e366004613920565b612a87565b610262610421366004614240565b612bde565b61042e612de4565b6040516102029493929190614288565b61026261044c366004614029565b612feb565b61026261045f3660046142d5565b61312b565b610477610472366004613920565b6133b5565b6040516102029493929190614331565b61049a610495366004613c39565b613628565b6040516102029392919061436a565b61042e6104b7366004613920565b61378e565b6005602052600090815260409020805481906104d79061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546105039061439e565b80156105505780601f1061052557610100808354040283529160200191610550565b820191906000526020600020905b81548152906001019060200180831161053357829003601f168201915b5050506001840154600285018054949560ff9092169491935091506105749061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546105a09061439e565b80156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050600390930154919250506001600160a01b031684565b6007602052600090815260409020805481906106219061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461064d9061439e565b801561069a5780601f1061066f5761010080835404028352916020019161069a565b820191906000526020600020905b81548152906001019060200180831161067d57829003601f168201915b5050505050908060010180546106af9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546106db9061439e565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b50505050509080600201805461073d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546107699061439e565b80156107b65780601f1061078b576101008083540402835291602001916107b6565b820191906000526020600020905b81548152906001019060200180831161079957829003601f168201915b5050505050908060030180546107cb9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546107f79061439e565b80156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b505050600490930154919250506001600160a01b031685565b6001600160a01b0381166000908152600460209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a0257838290600052602060002090600302016040518060600160405290816000820180546108c89061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546108f49061439e565b80156109415780601f1061091657610100808354040283529160200191610941565b820191906000526020600020905b81548152906001019060200180831161092457829003601f168201915b505050918352505060018201546001600160a01b031660208201526002820180546040909201916109719061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461099d9061439e565b80156109ea5780601f106109bf576101008083540402835291602001916109ea565b820191906000526020600020905b8154815290600101906020018083116109cd57829003601f168201915b50505050508152505081526020019060010190610895565b505050509050919050565b6001600160a01b038116600090815260066020526040812090805b6001600160a01b03851660009081526004602052604090205460ff82161015610ab9576001600160a01b03858116600090815260046020526040902080549186169160ff8416908110610a7d57610a7d6143d8565b60009182526020909120600160039092020101546001600160a01b031603610aa757809150610ab9565b80610ab181614404565b915050610a28565b506040518060400160405280600981526020017f636f6e6669726d6564000000000000000000000000000000000000000000000081525060046000866001600160a01b03166001600160a01b031681526020019081526020016000208260ff1681548110610b2957610b296143d8565b90600052602060002090600302016002019081610b469190614472565b5060036000856001600160a01b03166001600160a01b031681526020019081526020016000206040518060a00160405280846000018054610b869061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb29061439e565b8015610bff5780601f10610bd457610100808354040283529160200191610bff565b820191906000526020600020905b815481529060010190602001808311610be257829003601f168201915b5050509183525050600185015460ff166020820152600285018054604090920191610c299061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c559061439e565b8015610ca25780601f10610c7757610100808354040283529160200191610ca2565b820191906000526020600020905b815481529060010190602001808311610c8557829003601f168201915b50505050508152602001846003018054610cbb9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce79061439e565b8015610d345780601f10610d0957610100808354040283529160200191610d34565b820191906000526020600020905b815481529060010190602001808311610d1757829003601f168201915b50505091835250506001600160a01b0386166020918201528254600181018455600093845292208151919260050201908190610d709082614472565b50602082015160018201805460ff191660ff90921691909117905560408201516002820190610d9f9082614472565b5060608201516003820190610db49082614472565b5060809190910151600490910180546001600160a01b0319166001600160a01b0390921691909117905550505050565b6040805160008152602081018083528151902091610e0491869101614532565b6040516020818303038152906040528051906020012003610e2457600080fd5b6040805160008152602081018083528151902091610e4491849101614532565b6040516020818303038152906040528051906020012003610e6457600080fd5b60008260ff16118015610e7a575060648260ff16105b610e8357600080fd5b6040805160808101825284815260ff84166020808301919091528183018490523360608301819052600090815260059091529190912081518190610ec79082614472565b50602082015160018201805460ff191660ff90921691909117905560408201516002820190610ef69082614472565b5060609190910151600390910180546001600160a01b0319166001600160a01b03909216919091179055604051610f2e908490614532565b6040519081900381209033907fe3413e34d7cfab2884866aa8dfc64b0c31d51db035044e04a349a1faf6c7d67690600090a3505050565b60016020528160005260406000208181548110610f8157600080fd5b906000526020600020906007020160009150915050806000018054610fa59061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd19061439e565b801561101e5780601f10610ff35761010080835404028352916020019161101e565b820191906000526020600020905b81548152906001019060200180831161100157829003601f168201915b5050506001840154600285015460038601805495966001600160a01b03938416969290931694509192506110519061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461107d9061439e565b80156110ca5780601f1061109f576101008083540402835291602001916110ca565b820191906000526020600020905b8154815290600101906020018083116110ad57829003601f168201915b5050505050908060040180546110df9061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461110b9061439e565b80156111585780601f1061112d57610100808354040283529160200191611158565b820191906000526020600020905b81548152906001019060200180831161113b57829003601f168201915b50505050509080600501805461116d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546111999061439e565b80156111e65780601f106111bb576101008083540402835291602001916111e6565b820191906000526020600020905b8154815290600101906020018083116111c957829003601f168201915b5050505050908060060180546111fb9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546112279061439e565b80156112745780601f1061124957610100808354040283529160200191611274565b820191906000526020600020905b81548152906001019060200180831161125757829003601f168201915b5050505050905087565b3360008181526005602052604081206003810154606093849290916001600160a01b03166112ab57600080fd5b33600090815260056020526040902060018101548154829160ff1690600283019083906112d79061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546113039061439e565b80156113505780601f1061132557610100808354040283529160200191611350565b820191906000526020600020905b81548152906001019060200180831161133357829003601f168201915b505050505092508080546113639061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461138f9061439e565b80156113dc5780601f106113b1576101008083540402835291602001916113dc565b820191906000526020600020905b8154815290600101906020018083116113bf57829003601f168201915b50505050509050955095509550505050909192565b6008818154811061140157600080fd5b90600052602060002090600502016000915090508060000180546106219061439e565b60606008805480602002602001604051908101604052809291908181526020016000905b828210156116d857838290600052602060002090600502016040518060a001604052908160008201805461147b9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546114a79061439e565b80156114f45780601f106114c9576101008083540402835291602001916114f4565b820191906000526020600020905b8154815290600101906020018083116114d757829003601f168201915b5050505050815260200160018201805461150d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546115399061439e565b80156115865780601f1061155b57610100808354040283529160200191611586565b820191906000526020600020905b81548152906001019060200180831161156957829003601f168201915b5050505050815260200160028201805461159f9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546115cb9061439e565b80156116185780601f106115ed57610100808354040283529160200191611618565b820191906000526020600020905b8154815290600101906020018083116115fb57829003601f168201915b505050505081526020016003820180546116319061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461165d9061439e565b80156116aa5780601f1061167f576101008083540402835291602001916116aa565b820191906000526020600020905b81548152906001019060200180831161168d57829003601f168201915b5050509183525050600491909101546001600160a01b03166020918201529082526001929092019101611448565b50505050905090565b600084826040516020016116f692919061454e565b60408051601f1981840301815260e0830182528083526001600160a01b03871660208481018290523385850152606085018a90526080850188905260a085018790528351808501855260078082527f50454e44494e47000000000000000000000000000000000000000000000000008284015260c087019190915260009283526001808352948320805495860181558352912084519295508493909102019081906117a19082614472565b5060208201516001820180546001600160a01b039283166001600160a01b0319918216179091556040840151600284018054919093169116179055606082015160038201906117f09082614472565b50608082015160048201906118059082614472565b5060a0820151600582019061181a9082614472565b5060c0820151600682019061182f9082614472565b505050846001600160a01b0316336001600160a01b03167f29baeba2fe9320dc844743175d57ad5a8fb66f5b6ff139460d939d36ddce27328460405161187591906145a6565b60405180910390a3505050505050565b6001600160a01b0381166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a0257838290600052602060002090600502016040518060a00160405290816000820180546118f09061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461191c9061439e565b80156119695780601f1061193e57610100808354040283529160200191611969565b820191906000526020600020905b81548152906001019060200180831161194c57829003601f168201915b5050509183525050600182015460ff1660208201526002820180546040909201916119939061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546119bf9061439e565b8015611a0c5780601f106119e157610100808354040283529160200191611a0c565b820191906000526020600020905b8154815290600101906020018083116119ef57829003601f168201915b50505050508152602001600382018054611a259061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054611a519061439e565b8015611a9e5780601f10611a7357610100808354040283529160200191611a9e565b820191906000526020600020905b815481529060010190602001808311611a8157829003601f168201915b5050509183525050600491909101546001600160a01b031660209182015290825260019290920191016118bd565b60036020528160005260406000208181548110611ae857600080fd5b906000526020600020906005020160009150915050806000018054611b0c9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054611b389061439e565b8015611b855780601f10611b5a57610100808354040283529160200191611b85565b820191906000526020600020905b815481529060010190602001808311611b6857829003601f168201915b5050506001840154600285018054949560ff90921694919350915061073d9061439e565b60408051608081018252338152602080820186815282840186905283518085018552600781526670656e64696e6760c81b8184015260608401526001600160a01b0385811660009081526002845294852080546001808201835591875293909520845160049094020180546001600160a01b03191693909116929092178255519192839290820190611c3b9082614472565b5060408201516002820190611c509082614472565b5060608201516003820190611c659082614472565b50505083604051611c769190614532565b6040518091039020336001600160a01b03167f13bea7f2b146e27ade33081397e247a39c6fa801e1c40c9d03fd9d808e3bdfcd85604051611cb791906145a6565b60405180910390a350505050565b33600090815260016020526040812090611cdf838361385c565b90506040518060400160405280600881526020017f415050524f564544000000000000000000000000000000000000000000000000815250828281548110611d2957611d296143d8565b90600052602060002090600702016006019081611d469190614472565b50336001600160a01b0316828281548110611d6357611d636143d8565b60009182526020909120600260079092020101546040516001600160a01b03909116907fda89c4a0a3e7358d86aa0b298bab4954df3697da4fade2f3d7b098f408738c9390611db39087906145a6565b60405180910390a3505050565b336001600160a01b03821614611e435760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79204865616c746820436172652050726f76696465722063616e20636160448201527f6c6c20746869732066756e6374696f6e0000000000000000000000000000000060648201526084015b60405180910390fd5b6001600160a01b0381166000908152600260205260408120805484908110611e6d57611e6d6143d8565b90600052602060002090600402019050604051806040016040528060088152602001671c995a9958dd195960c21b815250816003019081611eae9190614472565b50805460405184916001600160a01b03808616929116907f4d2b09745b50f68da85b0b25854d46c2b85b43dd6f04ba6f3f503ff878bf4ae590600090a4505050565b6001600160a01b0381166000908152600160209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a0257838290600052602060002090600702016040518060e0016040529081600082018054611f5b9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054611f879061439e565b8015611fd45780601f10611fa957610100808354040283529160200191611fd4565b820191906000526020600020905b815481529060010190602001808311611fb757829003601f168201915b505050918352505060018201546001600160a01b03908116602083015260028301541660408201526003820180546060909201916120119061439e565b80601f016020809104026020016040519081016040528092919081815260200182805461203d9061439e565b801561208a5780601f1061205f5761010080835404028352916020019161208a565b820191906000526020600020905b81548152906001019060200180831161206d57829003601f168201915b505050505081526020016004820180546120a39061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546120cf9061439e565b801561211c5780601f106120f15761010080835404028352916020019161211c565b820191906000526020600020905b8154815290600101906020018083116120ff57829003601f168201915b505050505081526020016005820180546121359061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546121619061439e565b80156121ae5780601f10612183576101008083540402835291602001916121ae565b820191906000526020600020905b81548152906001019060200180831161219157829003601f168201915b505050505081526020016006820180546121c79061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546121f39061439e565b80156122405780601f1061221557610100808354040283529160200191612240565b820191906000526020600020905b81548152906001019060200180831161222357829003601f168201915b50505050508152505081526020019060010190611f28565b6060336001600160a01b038316146122d85760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79204865616c746820436172652050726f76696465722063616e20636160448201527f6c6c20746869732066756e6374696f6e000000000000000000000000000000006064820152608401611e3a565b6001600160a01b038216600090815260026020908152604080832080548251818502810185019093528083529193909284015b82821015610a0257600084815260209081902060408051608081019091526004850290910180546001600160a01b0316825260018101805492939192918401916123549061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546123809061439e565b80156123cd5780601f106123a2576101008083540402835291602001916123cd565b820191906000526020600020905b8154815290600101906020018083116123b057829003601f168201915b505050505081526020016002820180546123e69061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546124129061439e565b801561245f5780601f106124345761010080835404028352916020019161245f565b820191906000526020600020905b81548152906001019060200180831161244257829003601f168201915b505050505081526020016003820180546124789061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546124a49061439e565b80156124f15780601f106124c6576101008083540402835291602001916124f1565b820191906000526020600020905b8154815290600101906020018083116124d457829003601f168201915b5050505050815250508152602001906001019061230b565b33600081815260076020526040812060048101546060938493849384939192916001600160a01b031661253b57600080fd5b3360009081526007602052604090206004810154815482916001830191600284019160038501916001600160a01b039091169085906125799061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546125a59061439e565b80156125f25780601f106125c7576101008083540402835291602001916125f2565b820191906000526020600020905b8154815290600101906020018083116125d557829003601f168201915b505050505094508380546126059061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546126319061439e565b801561267e5780601f106126535761010080835404028352916020019161267e565b820191906000526020600020905b81548152906001019060200180831161266157829003601f168201915b505050505093508280546126919061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546126bd9061439e565b801561270a5780601f106126df5761010080835404028352916020019161270a565b820191906000526020600020905b8154815290600101906020018083116126ed57829003601f168201915b5050505050925081805461271d9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546127499061439e565b80156127965780601f1061276b57610100808354040283529160200191612796565b820191906000526020600020905b81548152906001019060200180831161277957829003601f168201915b50505050509150975097509750975097505050509091929394565b604080516060810182528281526001600160a01b0380851660208084019190915283518085018552600781526670656e64696e6760c81b81830152838501529086166000908152600482529283208054600181018255908452922081519192839260039091029091019081906128279082614472565b5060208201516001820180546001600160a01b0319166001600160a01b03909216919091179055604082015160028201906128629082614472565b50505050505050565b33600090815260016020526040812090612885838361385c565b90506040518060400160405280600881526020017f52454a45435445440000000000000000000000000000000000000000000000008152508282815481106128cf576128cf6143d8565b906000526020600020906007020160060190816128ec9190614472565b50336001600160a01b0316828281548110612909576129096143d8565b60009182526020909120600260079092020101546040516001600160a01b03909116907ffb3438e64aa3aabd0d30d0b1904979d36722da9c94654366c727910368c9f91a90611db39087906145a6565b6000805b6001600160a01b03841660009081526004602052604090205460ff821610156129ee576001600160a01b03848116600090815260046020526040902080549185169160ff84169081106129b2576129b26143d8565b60009182526020909120600160039092020101546001600160a01b0316036129dc578091506129ee565b806129e681614404565b91505061295d565b50604051806040016040528060088152602001671c995a9958dd195960c21b81525060046000856001600160a01b03166001600160a01b031681526020019081526020016000208260ff1681548110612a4957612a496143d8565b90600052602060002090600302016002019081612a669190614472565b50505050565b600660205260009081526040902080548190611b0c9061439e565b6001600160a01b0381166000908152600560205260408120600181015481546060939284929091829160ff169060028301908390612ac49061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612af09061439e565b8015612b3d5780601f10612b1257610100808354040283529160200191612b3d565b820191906000526020600020905b815481529060010190602001808311612b2057829003601f168201915b50505050509250808054612b509061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612b7c9061439e565b8015612bc95780601f10612b9e57610100808354040283529160200191612bc9565b820191906000526020600020905b815481529060010190602001808311612bac57829003601f168201915b50505050509050935093509350509193909250565b3360009081526006602090815260408083208151938452918301808252835190209192612c0d91889101614532565b6040516020818303038152906040528051906020012003612c2d57600080fd5b6040805160008152602081018083528151902091612c4d91869101614532565b6040516020818303038152906040528051906020012003612c6d57600080fd5b6040805160008152602081018083528151902091612c8d91859101614532565b6040516020818303038152906040528051906020012003612cad57600080fd5b60008460ff16118015612cc3575060648460ff16105b612ccc57600080fd5b60048101546001600160a01b031615612ce457600080fd5b6040805160a08101825286815260ff8616602080830191909152818301869052606082018590523360808301819052600090815260069091529190912081518190612d2f9082614472565b50602082015160018201805460ff191660ff90921691909117905560408201516002820190612d5e9082614472565b5060608201516003820190612d739082614472565b5060809190910151600490910180546001600160a01b0319166001600160a01b03909216919091179055604051612dab908690614532565b6040519081900381209033907fe3413e34d7cfab2884866aa8dfc64b0c31d51db035044e04a349a1faf6c7d67690600090a35050505050565b3360008181526006602052604081206004810154606093849283926001600160a01b0316612e1157600080fd5b33600090815260066020526040902060018101548154829160ff1690600283019060038401908490612e429061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612e6e9061439e565b8015612ebb5780601f10612e9057610100808354040283529160200191612ebb565b820191906000526020600020905b815481529060010190602001808311612e9e57829003601f168201915b50505050509350818054612ece9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612efa9061439e565b8015612f475780601f10612f1c57610100808354040283529160200191612f47565b820191906000526020600020905b815481529060010190602001808311612f2a57829003601f168201915b50505050509150808054612f5a9061439e565b80601f0160208091040260200160405190810160405280929190818152602001828054612f869061439e565b8015612fd35780601f10612fa857610100808354040283529160200191612fd3565b820191906000526020600020905b815481529060010190602001808311612fb657829003601f168201915b50505050509050965096509650965050505090919293565b336001600160a01b038216146130695760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79204865616c746820436172652050726f7669646572202063616e206360448201527f616c6c20746869732066756e6374696f6e0000000000000000000000000000006064820152608401611e3a565b6001600160a01b0381166000908152600260205260408120805484908110613093576130936143d8565b906000526020600020906004020190506040518060400160405280600881526020017f617070726f7665640000000000000000000000000000000000000000000000008152508160030190816130e99190614472565b50805460405184916001600160a01b03808616929116907fd9a9c1b40a747e79bd4c1aeabd897bfd5b3679e58fcdcd20dd7af4a8274196bc90600090a4505050565b336000908152600760209081526040808320815193845291830180825283519020919261315a91889101614532565b604051602081830303815290604052805190602001200361317a57600080fd5b604080516000815260208101808352815190209161319a91879101614532565b60405160208183030381529060405280519060200120036131ba57600080fd5b60408051600081526020810180835281519020916131da91869101614532565b60405160208183030381529060405280519060200120036131fa57600080fd5b604080516000815260208101808352815190209161321a91859101614532565b604051602081830303815290604052805190602001200361323a57600080fd5b60048101546001600160a01b03161561325257600080fd5b6040805160a08101825286815260208082018790528183018690526060820185905233608083018190526000908152600790915291909120815181906132989082614472565b50602082015160018201906132ad9082614472565b50604082015160028201906132c29082614472565b50606082015160038201906132d79082614472565b5060809190910151600490910180546001600160a01b039092166001600160a01b0319909216919091179055336000908152600760205260408120600880546001810182559252906005027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3018061334f83826145b9565b50600181810190613362908401826145b9565b50600281810190613375908401826145b9565b50600381810190613388908401826145b9565b50600491820154910180546001600160a01b0319166001600160a01b039092169190911790555050505050565b6001600160a01b03811660009081526007602052604090208054606091829182918291819060018201906002830190600384019084906133f49061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546134209061439e565b801561346d5780601f106134425761010080835404028352916020019161346d565b820191906000526020600020905b81548152906001019060200180831161345057829003601f168201915b505050505093508280546134809061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546134ac9061439e565b80156134f95780601f106134ce576101008083540402835291602001916134f9565b820191906000526020600020905b8154815290600101906020018083116134dc57829003601f168201915b5050505050925081805461350c9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546135389061439e565b80156135855780601f1061355a57610100808354040283529160200191613585565b820191906000526020600020905b81548152906001019060200180831161356857829003601f168201915b505050505091508080546135989061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546135c49061439e565b80156136115780601f106135e657610100808354040283529160200191613611565b820191906000526020600020905b8154815290600101906020018083116135f457829003601f168201915b505050505090509450945094509450509193509193565b6004602052816000526040600020818154811061364457600080fd5b9060005260206000209060030201600091509150508060000180546136689061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546136949061439e565b80156136e15780601f106136b6576101008083540402835291602001916136e1565b820191906000526020600020905b8154815290600101906020018083116136c457829003601f168201915b505050600184015460028501805494956001600160a01b0390921694919350915061370b9061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546137379061439e565b80156137845780601f1061375957610100808354040283529160200191613784565b820191906000526020600020905b81548152906001019060200180831161376757829003601f168201915b5050505050905083565b6001600160a01b0381166000908152600660205260408120600181015481546060939284928392829160ff16906002830190600384019084906137d09061439e565b80601f01602080910402602001604051908101604052809291908181526020018280546137fc9061439e565b80156138495780601f1061381e57610100808354040283529160200191613849565b820191906000526020600020905b81548152906001019060200180831161382c57829003601f168201915b5050505050935081805461350c9061439e565b6000805b82548110156138f7578360405160200161387a9190614532565b604051602081830303815290604052805190602001208382815481106138a2576138a26143d8565b90600052602060002090600702016000016040516020016138c39190614694565b60405160208183030381529060405280519060200120036138e55790506138fe565b806138ef8161470a565b915050613860565b5060001990505b92915050565b80356001600160a01b038116811461391b57600080fd5b919050565b60006020828403121561393257600080fd5b61393b82613904565b9392505050565b60005b8381101561395d578181015183820152602001613945565b50506000910152565b6000815180845261397e816020860160208601613942565b601f01601f19169290920160200192915050565b6080815260006139a56080830187613966565b60ff8616602084015282810360408401526139c08186613966565b9150506001600160a01b038316606083015295945050505050565b60a0815260006139ee60a0830188613966565b8281036020840152613a008188613966565b90508281036040840152613a148187613966565b90508281036060840152613a288186613966565b9150506001600160a01b03831660808301529695505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160608151818652613a9182870182613966565b9150506001600160a01b0389830151168986015287820151915084810388860152613abc8183613966565b968901969450505090860190600101613a6b565b509098975050505050505050565b60008060408385031215613af157600080fd5b613afa83613904565b9150613b0860208401613904565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112613b3857600080fd5b813567ffffffffffffffff80821115613b5357613b53613b11565b604051601f8301601f19908116603f01168101908282118183101715613b7b57613b7b613b11565b81604052838152866020858801011115613b9457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461391b57600080fd5b600080600060608486031215613bda57600080fd5b833567ffffffffffffffff80821115613bf257600080fd5b613bfe87838801613b27565b9450613c0c60208701613bb4565b93506040860135915080821115613c2257600080fd5b50613c2f86828701613b27565b9150509250925092565b60008060408385031215613c4c57600080fd5b613c5583613904565b946020939093013593505050565b60e081526000613c7660e083018a613966565b6001600160a01b038981166020850152881660408401528281036060840152613c9f8188613966565b90508281036080840152613cb38187613966565b905082810360a0840152613cc78186613966565b905082810360c0840152613cdb8185613966565b9a9950505050505050505050565b606081526000613cfc6060830186613966565b60ff851660208401528281036040840152613d178185613966565b9695505050505050565b600060208284031215613d3357600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160a08151818652613d8782870182613966565b915050888201518582038a870152613d9f8282613966565b9150508782015185820389870152613db78282613966565b91505060608083015186830382880152613dd18382613966565b6080948501516001600160a01b03169790940196909652505094870194925090860190600101613d61565b60008060008060808587031215613e1257600080fd5b843567ffffffffffffffff80821115613e2a57600080fd5b613e3688838901613b27565b9550613e4460208801613904565b94506040870135915080821115613e5a57600080fd5b613e6688838901613b27565b93506060870135915080821115613e7c57600080fd5b50613e8987828801613b27565b91505092959194509250565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160a08151818652613ee282870182613966565b91505060ff8983015116898601528782015185820389870152613f058282613966565b91505060608083015186830382880152613f1f8382613966565b6080948501516001600160a01b03169790940196909652505094870194925090860190600101613ebc565b60a081526000613f5d60a0830188613966565b60ff871660208401528281036040840152613a148187613966565b600080600060608486031215613f8d57600080fd5b833567ffffffffffffffff80821115613fa557600080fd5b613fb187838801613b27565b94506020860135915080821115613fc757600080fd5b50613fd486828701613b27565b925050613fe360408501613904565b90509250925092565b600060208284031215613ffe57600080fd5b813567ffffffffffffffff81111561401557600080fd5b61402184828501613b27565b949350505050565b6000806040838503121561403c57600080fd5b82359150613b0860208401613904565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160e0815181865261409982870182613966565b9150506001600160a01b03898301511689860152878201516140c5898701826001600160a01b03169052565b50606080830151868303828801526140dd8382613966565b92505050608080830151868303828801526140f88382613966565b9250505060a080830151868303828801526141138382613966565b9250505060c080830151925085820381870152506141318183613966565b968901969450505090860190600101614073565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613ad057603f19898403018552815160806001600160a01b03825116855288820151818a8701526141a382870182613966565b91505087820151858203898701526141bb8282613966565b915050606080830151925085820381870152506141d88183613966565b96890196945050509086019060010161416c565b60008060006060848603121561420157600080fd5b61420a84613904565b925061421860208501613904565b9150604084013567ffffffffffffffff81111561423457600080fd5b613c2f86828701613b27565b6000806000806080858703121561425657600080fd5b843567ffffffffffffffff8082111561426e57600080fd5b61427a88838901613b27565b9550613e4460208801613bb4565b60808152600061429b6080830187613966565b60ff8616602084015282810360408401526142b68186613966565b905082810360608401526142ca8185613966565b979650505050505050565b600080600080608085870312156142eb57600080fd5b843567ffffffffffffffff8082111561430357600080fd5b61430f88838901613b27565b9550602087013591508082111561432557600080fd5b613e4488838901613b27565b6080815260006143446080830187613966565b82810360208401526143568187613966565b905082810360408401526142b68186613966565b60608152600061437d6060830186613966565b6001600160a01b03851660208401528281036040840152613d178185613966565b600181811c908216806143b257607f821691505b6020821081036143d257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361441a5761441a6143ee565b60010192915050565b601f82111561446d57600081815260208120601f850160051c8101602086101561444a5750805b601f850160051c820191505b8181101561446957828155600101614456565b5050505b505050565b815167ffffffffffffffff81111561448c5761448c613b11565b6144a08161449a845461439e565b84614423565b602080601f8311600181146144d557600084156144bd5750858301515b600019600386901b1c1916600185901b178555614469565b600085815260208120601f198616915b82811015614504578886015182559484019460019091019084016144e5565b50858210156145225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251614544818460208701613942565b9190910192915050565b60008351614560818460208801613942565b7f5f00000000000000000000000000000000000000000000000000000000000000908301908152835161459a816001840160208801613942565b01600101949350505050565b60208152600061393b6020830184613966565b8181036145c4575050565b6145ce825461439e565b67ffffffffffffffff8111156145e6576145e6613b11565b6145f48161449a845461439e565b6000601f82116001811461462857600083156146105750848201545b600019600385901b1c1916600184901b17845561468d565b600085815260209020601f19841690600086815260209020845b838110156146625782860154825560019586019590910190602001614642565b50858310156146805781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b60008083546146a28161439e565b600182811680156146ba57600181146146cf576146fe565b60ff19841687528215158302870194506146fe565b8760005260208060002060005b858110156146f55781548a8201529084019082016146dc565b50505082870194505b50929695505050505050565b60006001820161471c5761471c6143ee565b506001019056fea2646970667358221220322db9119a5bd153fbdbb33b27bddb8ba2b183c93aabe8570fdd141e1591c1e164736f6c63430008110033"; + +type HealthBlockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: HealthBlockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class HealthBlock__factory extends ContractFactory { + constructor(...args: HealthBlockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): HealthBlock { + return super.attach(address) as HealthBlock; + } + override connect(signer: Signer): HealthBlock__factory { + return super.connect(signer) as HealthBlock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): HealthBlockInterface { + return new utils.Interface(_abi) as HealthBlockInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): HealthBlock { + return new Contract(address, _abi, signerOrProvider) as HealthBlock; + } +} diff --git a/client/src/contracts/factories/PatientProvider__factory.ts b/client/src/contracts/factories/PatientProvider__factory.ts new file mode 100644 index 0000000..952c08f --- /dev/null +++ b/client/src/contracts/factories/PatientProvider__factory.ts @@ -0,0 +1,159 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../common"; +import type { + PatientProvider, + PatientProviderInterface, +} from "../PatientProvider"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "address", + name: "_provider", + type: "address", + }, + ], + name: "requestProvider", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_patient", + type: "address", + }, + ], + name: "approvePatientProviderRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_patient", + type: "address", + }, + ], + name: "rejectPatientProviderRequest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getPatientRequests", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getProviderRequests", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getPatientProviders", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getProviderPatients", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610b3b806100326000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063386a5a7a1161005b578063386a5a7a146100bd578063a31d3cc2146100d0578063bb0c115a146100d8578063e42315e8146100eb57600080fd5b806315c9d3da1461008257806318dbb76f146100a05780632c2715f4146100b5575b600080fd5b61008a6100f3565b6040516100979190610a35565b60405180910390f35b6100b36100ae366004610a82565b6101c6565b005b61008a610313565b6100b36100cb366004610a82565b6103df565b61008a61054a565b6100b36100e6366004610a82565b6106f7565b61008a6108b6565b3360009081526001602052604090205460609060ff1661015a5760405162461bcd60e51b815260206004820152601f60248201527f596f752068617665206e6f74206d61646520616e792072657175657374732e0060448201526064015b60405180910390fd5b33600090815260016020908152604091829020600301805483518184028101840190945280845290918301828280156101bc57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161019e575b5050505050905090565b3360009081526001602081815260408084206001600160a01b0386168552909201905290205460ff16156102625760405162461bcd60e51b815260206004820152602d60248201527f596f7520616c726561647920686176652061207265717565737420666f72207460448201527f6869732070726f76696465722e000000000000000000000000000000000000006064820152608401610151565b336000818152600160208181526040808420805460ff19908116851782556001600160a01b03979097168086528185018452828620805489168617905560029182018054808701825590875284872001805473ffffffffffffffffffffffffffffffffffffffff199081168317909155908652818452828620805489168617815587875280860185529286208054909816851790975580835201805492830181558352909120018054909216179055565b3360009081526002602052604090205460609060ff166103755760405162461bcd60e51b815260206004820152601c60248201527f596f7520646f206e6f74206861766520616e792070617469656e7473000000006044820152606401610151565b33600090815260026020908152604091829020600301805483518184028101840190945280845290918301828280156101bc576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161019e575050505050905090565b3360009081526002602090815260408083206001600160a01b038516845260010190915290205460ff166104705760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b0381166000908152600160208181526040808420338552909201905290205460ff166105005760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b0316600081815260016020818152604080842033855283018252808420805460ff1990811690915560028352818520958552949092019052902080549091169055565b3360009081526002602052604090205460609060ff166105d25760405162461bcd60e51b815260206004820152602260248201527f596f7520617265206e6f74206120726567697374657265642070726f7669646560448201527f722e0000000000000000000000000000000000000000000000000000000000006064820152608401610151565b3360009081526002602081905260408220015467ffffffffffffffff8111156105fd576105fd610ab2565b604051908082528060200260200182016040528015610626578160200160208202803683370190505b50905060005b33600090815260026020819052604090912001548110156106f15733600090815260026020819052604082200180548390811061066b5761066b610ac8565b60009182526020808320909101543383526002825260408084206001600160a01b0390921680855260019290920190925291205490915060ff16156106de57808383815181106106bd576106bd610ac8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b50806106e981610ade565b91505061062c565b50919050565b3360009081526002602090815260408083206001600160a01b038516845260010190915290205460ff166107885760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b0381166000908152600160208181526040808420338552909201905290205460ff166108185760405162461bcd60e51b815260206004820152603260248201527f596f752068617665206e6f742072656365697665642061207265717565737420604482015271333937b6903a3434b9903830ba34b2b73a1760711b6064820152608401610151565b6001600160a01b03166000818152600160208181526040808420338086528185018452828620805460ff1990811690915560039283018054808801825590885285882001805473ffffffffffffffffffffffffffffffffffffffff1990811684179091559187526002808652848820898952808801875294882080549092169091558452910180549384018155845292200180549091169091179055565b3360009081526001602052604090205460609060ff166109185760405162461bcd60e51b815260206004820152601f60248201527f596f752068617665206e6f74206d61646520616e792072657175657374732e006044820152606401610151565b3360009081526001602052604081206002015467ffffffffffffffff81111561094357610943610ab2565b60405190808252806020026020018201604052801561096c578160200160208202803683370190505b50905060005b336000908152600160205260409020600201548110156106f1573360009081526001602052604081206002018054839081106109b0576109b0610ac8565b6000918252602080832090910154338352600180835260408085206001600160a01b039093168086529290910190925291205490915060ff1615610a225780838381518110610a0157610a01610ac8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5080610a2d81610ade565b915050610972565b6020808252825182820181905260009190848201906040850190845b81811015610a765783516001600160a01b031683529284019291840191600101610a51565b50909695505050505050565b600060208284031215610a9457600080fd5b81356001600160a01b0381168114610aab57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610afe57634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212209a379e932a0422fee0523f77aa6391e9b6e4b4ec8d5d88aec43f957a839ee49064736f6c63430008110033"; + +type PatientProviderConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: PatientProviderConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class PatientProvider__factory extends ContractFactory { + constructor(...args: PatientProviderConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): PatientProvider { + return super.attach(address) as PatientProvider; + } + override connect(signer: Signer): PatientProvider__factory { + return super.connect(signer) as PatientProvider__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): PatientProviderInterface { + return new utils.Interface(_abi) as PatientProviderInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): PatientProvider { + return new Contract(address, _abi, signerOrProvider) as PatientProvider; + } +} diff --git a/client/src/contracts/factories/index.ts b/client/src/contracts/factories/index.ts new file mode 100644 index 0000000..9b93b44 --- /dev/null +++ b/client/src/contracts/factories/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { HealthBlock__factory } from "./HealthBlock__factory"; +export { PatientProvider__factory } from "./PatientProvider__factory"; diff --git a/client/src/contracts/index.ts b/client/src/contracts/index.ts new file mode 100644 index 0000000..4122da1 --- /dev/null +++ b/client/src/contracts/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { HealthBlock } from "./HealthBlock"; +export type { PatientProvider } from "./PatientProvider"; +export * as factories from "./factories"; +export { HealthBlock__factory } from "./factories/HealthBlock__factory"; +export { PatientProvider__factory } from "./factories/PatientProvider__factory";